习题10-并接口8255

上传人:第*** 文档编号:34083158 上传时间:2018-02-20 格式:DOC 页数:4 大小:76KB
返回 下载 相关 举报
习题10-并接口8255_第1页
第1页 / 共4页
习题10-并接口8255_第2页
第2页 / 共4页
习题10-并接口8255_第3页
第3页 / 共4页
习题10-并接口8255_第4页
第4页 / 共4页
亲,该文档总共4页,全部预览完了,如果喜欢就下载吧!
资源描述

《习题10-并接口8255》由会员分享,可在线阅读,更多相关《习题10-并接口8255(4页珍藏版)》请在金锄头文库上搜索。

1、习题十 并行接口主要内容:8255 的外部特性、内部结构,初始化编程,应用。10.1 8255A的 3个端口在使用时有什么差别?【答】 () 端口对应个位数据输入锁存器和个位数据输出锁存器缓冲器。所以,用端口作为输入或输出时,数据均受到锁存(与工作方式有关)。() 端口对应个位数据输入缓冲器和个位数据输出锁存器缓冲器。() 端口对应个位数据输入缓冲器和个位数据输出锁存器缓冲器。这样,当端口作为输入端口时,对数据不做锁存,而作为输出端口是,对数据进行锁存。在使用中,端口和端口常常作为独立的输入端口或输出端口,端口则配合端口和端口的工作。具体的讲,端口常常通过控制命令被分成个位端口,每个位端口包含

2、个位的输入缓冲器和个位的输出锁存器缓冲器,它们分别用来为端口和端口提供控制信号和状态信号。10.2 8255A 的方式 0 一般使用在什么场合?在方式 0 时,如要使用应答信号进行联络,应该怎么办?【答】方式 0的使用场合有两种,一种是同步传送,另一种是查询式传送。在方式 0情况下,没有规定固定的应答信号,所以,这时,将端口 A端口 B作为数据端口,把端口 C的 4个数位(高 4位或者是低 4位均可)规定为输出口,用来输出一些控制信号,而把端口 C的另外 4个数位规定为输入口,用来读入外设的状态。就是这样,利用端口 C来配合端口 A和端口 B的输入/输出操作。10.3当数据从 8255A的端口

3、 C往数据总线上读出时,8255A 的几个控制信号CS、A 1、A 0、RD、WR 分别是什么?【答】 CS=0、A1=1、A0=0、RD=1 、WR=0。10.4 8255A 的方式选择控制字和置 1/置 0 控制字都是写入控制端口的,那么,它们是由什么来区分的?【答】当 8255A 接收到写入控制口的控制字时,就会对最高位即标志位进行测试。如为 1,则将此字节作为方式选择控制字写入控制寄存器;如为 0,则此字节作为对端口 C 的置 1/置 0 控制来处理。10.5 对 8255A 设置工作方式,8255A 的控制口地址为 00C6H。要求端口 A 工作在方式 1,输入;端口 B 工作在方式

4、 0,输出;端口 C 的高 4 位配合端口 A 工作;低 4 位为输入。(口地址为 80H83H)【答】 控制字:10110001B1HMOV AL ,B1HOUT 83H ,AL10.6 设 8255A 的 4 个端口地址为 00C0H,00C2H,00C4H,00C6H,要求用置 0/置 1 方式对PC6 置 1,对 PC4 置 0。【答】 MOV AL,00001101H ;对 PC6 置 1 的控制字MOV DX,00C6H ;控制地址 DXOUT DX,AL ;对 PC6 置 1 操作 MOV AL,00001000H ;对 PC4 置 0 的控制字 OUT DX,AL10.7 编一

5、初始化程序,使 8255A的 PC5端输出一个负跳变。如果要求 PC5端输出一个负脉冲则初始化程序又是什么情况?【答】 初始化程序:MOV AL,0000 1011 H ;PC 5置“1”控制字ALMOV DX,046H ;控制口地址DLOUT DX,AL ;置“1”控制字控制寄存器MOV AL,00001010B ;PC 5置“0”控制字ALOUT DX , AL ;置“0”控制字控制寄存器 如果要求 PC5输入一个负脉冲则再加两条指令:MOV A L ,00001011OUT DX,AL10.8 8255A与打印机的接口如图,8255 为工作方式 0,试编写初始化程序。若要将 DL 中的字

6、符送到打印机打印,编写打印程序。口地址为 60H63H,选通信号 STB为负脉冲,忙信号为高电平。【答】工作过程:当主机要往打印机输出字符时,先查询打印机忙信号,如果打印机正在处理一个字符或在打印一行字符,则忙信号为 1,否则为 0。PP: MOV AL,81H ;8255 工作方式字OUT 63H, AL ;A 口方式 0,输出,C47 输出,C03 输入MOV AL,00001111B ;PC7 置 1,禁止 STBOUT 63H,ALLPST: IN AL,62H ;读 C 口AND AL,01H ;查 PC0=0?JNZ LPST ;忙,等待;不忙,送数MOV AL,DL ;CL 中字

7、符送端口 AOUT 60H,AL ;送数到 A 口MOV AL,00001110B ;将 PC7 置 0(使 STB 有效)OUT 63H,AL ;AL= 0000 1100 BNOP ; 延时MOV AL, 0000 1111 ;AL0000 1111 BOUT 63H,AL ;再使 STB(PC7)为 110.9设一工业控制系统,有四个控制点,分别由四个对应的输入端控制,现用 8255A 的 C 口实现该系统的控制,如图 10-2。开关 K0K 3打开则对应发光二极管 L0L 3亮,表示系统该控制点运行正常;开关闭合则对应发光二极管不亮,说明该控制点出现故障。编写 8255A的初始化程序和

8、这段控制程序。【答】参考程序如下:MOV AL, 10000001BOUT 63H, AL ;8255 方式设置,C 口低半部分为输入,C 口高半部分为输出L1: IN AL, 62H ;查询开关状态MOV CL, 4ROL AL, CL ;AL 中高 4 位与低 4 位交换OUT 62H, AL JMP L1 ;循环查询开关状态10.10 8255 芯片的 A 口和 B 口分别与 8 个 LED 灯和 8 个开关连接好,通过开关控制 LED等的开和闭。8255 的端口地址为 40, 42, 44 和 46H。画出译码电路图,编写初始化程序和控制程序。【答】参考程序如下:MOV AL,1000

9、0010BOUT 46H,AL ;8255 方式设置L1: IN AL,42H ;读 B 口开关状态OUT 40H,AL ;写 A 口控制 LEDJMP L110.11 如图 10-3 为用一片 8255A 控制八个 8 段共阴极 LED 数码管的电路。现要求按下某个开关,其代表的数字( K1为 1,K 2为 2,K 8为 8)在数码管从左到右循环显示(已有一个延时子程序 DELAY 可以调用),直到按下另一个开关。假定 8255A 的口 A、B、C及控制口的地址依次为 FFF0HFFF3H 。编写完成上述功能的程序,应包括 8255A 的初始化、控制程序和数码管的显示代码表。【答】参考程序:

10、TAB DB 06H,5BH,4FH,66H,6DH,7DH,07H,7FH ;LED 数码管 18 的显示段码PB DB 1 ;位选定义PC DB 0 ;开关状态暂存MOV BX,0MOV DS,BXMOV BX,OFFSET TAB ;段码表指针MOV AL,10001001BMOV DX,0FFF3HOUT DX,AL ;8255 方式设置L1: MOV DX,0FFF1HMOV AL,PBOUT DX,AL ;位选通CALL DELAYROL PB,1 ;位选转换MOV DX,0FFF2HIN AL,DX ;读开关状态MOV PC,AL ;开关状态暂存MOV CX,8 ;移位 8 次查

11、询开关状态,同时按下最高位优先L2: RCR PC,1JC L3MOV AL,8SUB AL,CL ;获得开关位XALT ;查表获得显示段码MOV DX,0FFF0HOUT DX,AL ;显示开关位L3: LOOP L2JMP L110.12 8255 工作在方式 1,输入和输出时中断服务程序各完成什么功能? 【答】输入:中断服务程序从8255输入数据寄存器读数据。输出:中断服务程序向8255输出数据寄存器写数据。10.13 有个 1 m s 的脉冲信号源送 8253 的计数器 1 利用软件方式扩大定时 1 秒,每秒钟从8255 的 PA 口读入一组开关数并送 PB 口的 LED 管显示,设

12、8253,8255 的端口地址分别为 40H43H 和 60H63H,且只用 10 条地址线(A0A9)用于端口译码。请完成: 硬件连接。 编写对 8253 计数器 1 初始化程序段(仅 50ms)。 编写对 8255 的初始化程序以及 1 秒到后从 PA 口读入一个字节开关数并送 PB 口显示的程序段。【答】8253计数器1输入为1ms脉冲,输出中断请求。MOV AL,01100101BOUT 43H,AL ;8253计数器1方式设置MOV AL,10HOUT 41H,AL ;计数值为1000,并启动计数器1计数MOV AL,10010000BOUT 63H,AL ;8255方式设置JMP $INTP: STI ;1秒中断IN AL,60H ;读A口OUT 61H,AL ;送B口显示IRET

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 办公文档 > 解决方案

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号