可编程外围接口芯片8255A及其应用PPT课件2.ppt

可编程外围接口芯片8255A及其应用PPT课件2.ppt

MAIN: MOV AL,0A0H OUT 03H,AL ;设置8255A的控制字 MOV AL,01H ;使选通无效 OUT 03H,AL XOR AX,AX MOV DS,AX MOV AX,OFFSET ROUTINTR MOV WORD PTR [002CH],AX MOV AX,SEG ROUTINTR MOV WORD PTR [002EH],AX ;送中断向量 MOV AL,0DH OUT 03H,AL ;使8255A A口输出允许中断 MOV DI,OFFSET BUFF ;设置地址指针 * * MOV CX,99 ;设置计数器初值 MOV AL,[DI] OUT 00H,AL ;输出一个字符 INC DI MOV AL,00H OUT 03H,AL ;产生选通 INC AL OUT 03H,AL ;撤消选通 STI ;开中断 NEXT: HLT ;等待中断 LOOP NEXT ;修改计数器的值,指向下一个要输出的字符 HLT * * 中断服务子程序如下: ROUTINTR:MOV AL,[DI] OUT 00H,AL :从A口输出一个字符 MOV AL,00H OUT 03H,AL :产生选通 INC AL MOV 03H,AL ;撤消选通 INC DI :修改地址指针 IRET :中断返回 * * 【思考】 是否可以采用A口的OBF作为打印机的选通信号?如可以的话,软件该如何修改?是否可用打印机的BUSY作为8255的A口ACK ? 【习题与思考】 1.试分析8255A方式0、方式1和方式2的主要区别,并分别说明它们适合于什么应用场合。 2.当8255A的A口工作在方式2时,其端口B适合于什么样的功能?写出此时各种不同组合情况的控制字。 * * 3.若8255A的端口A定义为方式0,输入;端口B定义为方式1,输出;端口C的上半部定义为方式0,输出。试编写初始化程序。(口地址为80H-83H) 4.假设一片8255A的使用情况如下:A口为方式0输入,B口为方式0输出。此时连接的CPU为8086,地址线的A1、A2分别接至8255A的A0、A1,而芯片的CS来自A3A4A5A6A7=00101,试完成8255A的端口地址和初始化程序。 * * 二、 微机与键盘的接口 矩阵式键盘的结构 在微型机系统中,键盘是一种最常用的外设,它由多个开关组合而成。可以用来制造键盘的按键开关有好多种,最常用的有机械式、薄膜式、电容式和霍尔效应式等4种。机械式开关较便宜,但压键时会产生触点抖动,即在触点可靠地接通前会通断多次,而且长期使用后可靠性会降低。薄膜式开关可做成很薄的密封单元,不易受外界潮气或环境污染,常用于微波炉、医疗仪器或电子秤等设备的按键。电容式开关没有抖动问题,但需要特制电路来测电容的变化。霍尔效应按键是另一种无机械触点的开关,具有很好的密封性,平均寿命高达1亿次甚至更高,但开关机制复杂,价格很贵。计算机上用的键盘一般都用机械式开关。 * * 对于大多数的键盘,按键被排成行和列的矩阵。下面以机械式开关构成的16个键的键盘为例,来讨论键盘接口的工作原理,这种原理对采用其它类型的开关的键盘也是适用的。 设16个键分别为16进制数字0~9和A~F,键盘排列、连线及接口电路如下图所示。16个键排成4行×4列的矩阵,接到微型机的一对端口上。端口由8255A构成,其中端口A作输出,端口B作输入。矩阵的4条行线接到输出端口A的PA3~PA0,用程序能改变这4条行线上的电平。4条列线连到输人端口B的PB3~PB0,4条行线还同时接到输人端口B的PB7~PB4上。这样,用输入指令读取B口状态时

文档评论(0)

1亿VIP精品文档

相关文档