可编程并行接口芯片8255A有哪几种工作方式
更新时间:2023-10-05 18:47:01 阅读量: 综合文库 文档下载
可编程并行接口芯片8255A有哪几种工作方式?每种工作方式有何特点? 【解答】
方式0:没有固定的用于应答式传送的联络信号线,CPU可以采用无条件传送方式与8255A交换数据。 方式1:有专用的中断请求和联络信号线,因此,方式1通常用于查询传送或中断传送方式。 方式2:PA口为双向选通输入/输出或叫双向应答式输入/输出。
9.2 8255A的方式选择控制字和C口按位控制字的端口地址是否一样?8255A怎样区分这两种控制字?写出端口A作为基本输入,端口B作为基本输出的初始化程序。
【解答】8255A的方式选择控制字和C口按位控制字的端口地址是一样的,通过控制字的最高位D7进行区分:D7=1时,为方式选择控制字;D7=0时,为C口按位控制字。 初始化程序段如下:
MOV DX,PORT ;PORT为端口地址 MOV AL,10010000B OUT DX,AL
9.3 某8255A的端口地址范围为03F8H~03FBH,A组和B组均工作在方式0,A口作为数据输出端口,C口低4位作为状态信号输入口,其它端口未用。试画出该片8255A与系统的连接图,并编写初始化程序。 【解答】 连接图如下:
图9-1 8255A与系统的连接图 程序如下: MOV AL,81H MOV DX,03FBH OUT DX,AL
9.4 试按以下要求对8255A进行初始化编程:
(1)设端口A、端口B和端口C均为基本输入/输出方式,且不允许中断。请分别考虑输入/输出。
(2)设端口A为选通输出方式,端口B为基本输入方式,端口C剩余位为输出方式,允许端口A中断。
(3)设端口A为双向方式,端口B为选通输出方式,且不允许中断。 【解答】(1)端口A、端口B和端口C均为基本输入/输出方式,则为方式0,任何一个口都可用于输入或输出,可出现16种组合,这里只举出2种组合。
若端口A、B为数据输入口;C口的低4位为控制信号输出口,高4位为状态信号输入口,程序段如下:
MOV AL,10011010B
MOV DX,PORT ;PORT为端口地址 OUT DX,AL
MOV AL,00001100B ;设PC6为中断信号控制引脚,PC6=0,禁止中断 OUT DX,AL
若端口A、B为数据输出口;C口的高4位为控制信号输出口,低4位为状态信号输入口,程序段如下:
MOV AL,10000000B
MOV DX,PORT ;PORT为端口地址 OUT DX,AL
MOV AL,00001100B ;设PC6为中断信号控制引脚,PC6=0,禁止中断 OUT DX,AL
(2)端口A为选通输出方式,方式1;端口B为基本输入方式,程序段如下: MOV AL,10100010B
MOV DX,PORT ;PORT为端口地址 OUT DX,AL
MOV AL,00001101B ;设PC6为中断信号控制引脚,PC6=1,允许中断 OUT DX,AL
(3)端口A为双向方式,方式2;端口B为选通输出方式,程序段如下: MOV AL,11000100B
MOV DX,PORT ;PORT为端口地址 OUT DX,AL
MOV AL,00001100B ;设PC6为中断信号控制引脚,PC6=0,禁止中断 OUT DX,AL
9.5 采用8255A作为两台计算机并行通信的接口电路,请画出查询式输入/输出方式工作的接口电路,并写出查询式输入/输出方式的程序。
【解答】甲机的8255A是方式1发送,端口PA为输出,发送数据,而PC7和PC6引脚分别固定作联络线和。乙机的8255A是方式0接收数据,故把端口PA定义为输入,另外,选用引脚PC7和PC3作为联络线。接口电路如图9-2: 图9-2 查询方式的双机通信
查询式输入/输出方式的程序如下: ;甲机发送的程序段
MOV DX,303H ; 8255A命令端口
MOV AL,l010000B ; 初始化工作方式字 OUT DX,AL
MOV AL,0DH ;置发送允许INTEA=1 OUT DX,AL
MOV SI,OFFSET BUFS ; 设置发送数据区的指针 OUT CX,3FFH ; 发送字节数
MOV DX,300H ; 向端口A写第1个数,产生第1个信号 MOV AL,[SI] ; 送给乙机,以便获取乙机的信号 OUT DX,AL
INC SI ; 内存地址加1 DEC CX ; 传送字节数减1
LOP:MOV DX,302H ; 8255A状态端口(端口C) IN AL,DX ; 查发送中断请求INTRSA=1 AND AL,08H ; 是否PC3=l
JZ LOP ; 若无中断请求则等待;若有向端口A写数 MOV DX,300H ; 8255A端口PA地址 MOV AL,[SI] ; 从内存取数
OUT DX,AL ; 通过端口A向乙机发送第2个数据
INC SI ; 内存地址加1 DEC CX ; 字节数减1
JNZ LOP ; 字节未完,继续 MOV AH,4CH ; 己完,退出 INT 21H ;返回DOS
BUFS DB ? ; 定义1024个数据 ;乙机接收的程序段
MOV DX,303H ; 8255A命令端口
MOV AL,l0011000B ; 初始化工作方式字 OUT DX,AL
MOV AL,00000111B ; 置=1(PC3=1) OUT DX,AL
MOV DI,OFFSET BUFR ; 设置接收数据区的指针 MOV CX,3FFH ; 接收字节数
L1: MOV DX,302H ; 8255A端口PC
IN AL,DX ; 查甲机的 =0?(乙机的PC7=0) AND AL,80H ; 查甲机是否有数据发来
JNZ L1 ; 若无数据发来,则等待;若有数据,则从端口A读数 MOV DX,300H ; 8255A端口PA地址 IN AL,DX ; 从端口A读入数据 MOV [DI],AL ; 存入内存
MOV DX,303H ; 产生信号,并发回给甲机 MOV DX,00000110B ; PC3置“0” OUT DX,AL
INC DI ; 内存地址加1 DEC CX ; 字节数减1
JNZ L1 ; 字节未完,则继续 MOV AX,4C00H ; 己完,退出 INT 21H ; 返回DOS
BUFR DB l024 DUP(?) ; 接收数据缓冲区
10.7 以图10-10所示的连接形式为例,设系统工作过程中以查询方式发送数据,而以中断方式接收数据,数据位8位,偶校验,2位停止位,波特率为4800HZ,请编写程序段对8250的初始化,并编写相应的中断服务子程序。
【解答】时钟频率为1.8432MHz,波特率为4800bps,故除数波特率因子为0018H,8250的初始化如下: ;设置波特率
MOV AL,10000000B ;DLAB=1
MOV DX,3FBH ;通信控制寄存器地址 OUT DX,AL ;写入通信控制寄存器
MOV AL,18H ;置4800波特率除数低位 MOV DX,3F8H
OUT DX,AL ;写入除数锁存器低位 MOV AL,00 ;置4800波特率除数高位 MOV DX,3F9H
OUT DX,AL ;写入除数锁存器的高位 ;设置字符数据格式
MOV AL,00011111B ;设置数据格式 MOV DX,3F8H
OUT DX,AL ;写入通信控制寄存器 MOV DX, 3FCH MOV AL,0BH
OUT DX,AL ;初始化MODEM寄存器 MOV DX,3F9H ;初始化中断允许寄存器
MOV AL,01H ;允许接收数据寄存器满产生中断 OUT DX,AL STI
中断服务子程序如下: RECEIVE:PUSH AX PUSH BX PUSH DX PUSH DS MOV DX,3FDH IN AL,DX TEST AL,DX TEST AL,IEH JNZ ERROR
MOV DX,3F8H IN AL,DX AND AL,7FH
MOV BX,OFFSET REVBUF MOV [BX],AL MOV DX,INTRR
MOV AL,20H ;发中断结束命令EOI给8259 OUT 0A0H,AL OUT 20H,AL JMP QUIT
ERROR:?? QUIT: POP DS POP DX POP BX POP AX STI IRET
【解答】目前计算机中使用的键盘分为编码键盘和非编码键盘。 PC系列键盘具有两个基本特点:第一是按键均为无触点的电容开关第二是PC系列键盘属于非编码键盘。
11.3 说明键盘接口电路的种类和基本工作原理,试设计一个键盘中断调用程序,从键盘输入10个连续的字符。
【解答】目前PC机上常用的键盘接口有3种,一种是老式的直径13mm的PC键盘接口;第二种是最常用的直径8mm的PS/2键盘接口;第三种是USB接口的键盘。
PC系列键盘不是由硬件电路向CPU输出按键所对应的ASCII码值,而是由单片机扫描程序识别按键的当前位置,然后向键盘接口输出该键的扫描码。按键的识别、键值的确定以及键代码存入缓冲区等工作全部由软件完成。
设输入的字符存入620H内存单元,键盘中断调用程序如下: MOV CX,10 MOV SI,620H NEXT:MOV AH,0 INT 16H MOV [SI],AL INC SI
LOOP NEXT
11.4 与PC键盘发生关联的是哪两类键盘中断程序?它们各自的特点是什么? 【解答】计算机系统与键盘发生联系通过硬件中断09H或软件中断16H。 特点:硬件中断09H是由按键动作引发的中断。在此中断中对所有键盘进行了扫描码定义。软件中断16H是BIOS中断调用的一个功能。
正在阅读:
生成AWR报告09-04
重庆市垫江第九中学校2012-2013学年八年级上学期期中考试思想品05-22
大庆铁人精神手抄报03-10
学生成绩报告单家长评语大全【最新9篇】03-24
钢筋工程施工方案(修改)6.1207-03
小学生成长手册评语(完美版)06-30
C++课程设计 学生学籍管理系统05-15
中国联通公司提升服务质量的对策研究05-10
- 多层物业服务方案
- (审判实务)习惯法与少数民族地区民间纠纷解决问题(孙 潋)
- 人教版新课标六年级下册语文全册教案
- 词语打卡
- photoshop实习报告
- 钢结构设计原理综合测试2
- 2014年期末练习题
- 高中数学中的逆向思维解题方法探讨
- 名师原创 全国通用2014-2015学年高二寒假作业 政治(一)Word版
- 北航《建筑结构检测鉴定与加固》在线作业三
- XX县卫生监督所工程建设项目可行性研究报告
- 小学四年级观察作文经典评语
- 浅谈110KV变电站电气一次设计-程泉焱(1)
- 安全员考试题库
- 国家电网公司变电运维管理规定(试行)
- 义务教育课程标准稿征求意见提纲
- 教学秘书面试技巧
- 钢结构工程施工组织设计
- 水利工程概论论文
- 09届九年级数学第四次模拟试卷
- 可编程
- 并行
- 芯片
- 接口
- 方式
- 工作
- 8255A
- 2015年三支一扶考试申论备考:深加工让对策精妙可行
- 梦游天姥吟留别导学案 - 图文
- 二年级奥数金牌举一反三
- 2015全国大学生电子设计竞赛设计报告B题 风力摆控制系统
- 大连港新港十万立油罐施工方案(两台)
- 广西河池市示范性高中课改联盟体2018-2019学年高三上学期第二次联合考试文数试题 Word版含解析
- 电厂水化验员中级工理论部分
- 医疗行业侵权责任法试题及答案
- 星座集锦
- 仪器分析实验9-12
- 数电习题作业
- 幼儿园编外人员选聘实施方案
- 《面向对象程序设计》答案
- C15072 个股期权的四个基本交易策略 100分答案
- 武汉市武昌区2014-2015学年八年级下学期期末数学试题含答案
- 超外差式收音机课程设计报告
- 2018-2019学年高考英语人教版讲义:选修7 Unit 1 Living well知识点汇总及练习 Word版含答案
- 八字组合取象与流年断法(实用篇)
- 上海交大电机学实验+三相异步电动机参数及工作特性
- 江西晶昊盐化纯碱项目环境报告书