微机原理8255a并行接口按键数码管显示讨论报告

上传人:第*** 文档编号:34088903 上传时间:2018-02-20 格式:DOC 页数:9 大小:99.31KB
返回 下载 相关 举报
微机原理8255a并行接口按键数码管显示讨论报告_第1页
第1页 / 共9页
微机原理8255a并行接口按键数码管显示讨论报告_第2页
第2页 / 共9页
微机原理8255a并行接口按键数码管显示讨论报告_第3页
第3页 / 共9页
微机原理8255a并行接口按键数码管显示讨论报告_第4页
第4页 / 共9页
微机原理8255a并行接口按键数码管显示讨论报告_第5页
第5页 / 共9页
点击查看更多>>
资源描述

《微机原理8255a并行接口按键数码管显示讨论报告》由会员分享,可在线阅读,更多相关《微机原理8255a并行接口按键数码管显示讨论报告(9页珍藏版)》请在金锄头文库上搜索。

1、讨论课报告学校:上海电机学院 班级:电子13XX 学号:XXXXXXXX 姓名:WX一、题目:通过8255A并行接口,8086CPU连接LED数码管、4X4矩阵键盘。按下任意键,数码管显示对应键号。二、硬件设计讨论问题:(1 ) CPU8086 与 8255A 的连接问题: 复用引脚上的数据信号与地址信号如何分离?画出电路连接示意图,解释实现的方法。答:DENDT/R 8086AB/TBALEM/IO WR RD 将 8086 上的 20 位复用数据地址引脚分别接数据缓存器和地址锁存器在 8086 总线周期的 T1 期间作为存储器/IO 地址总线将地址锁存在地址锁存器中,另外期间作为数据总线将

2、 8 位数据缓存在数据缓存器中。缓存器与 8255A 数据引脚相连,地址锁存后经过译码与地址线相连。 假设 8255A 的芯片地址范围为 80H86H(偶地址) ,利用 74LS138 译码器实现 8255A 芯数据缓存地址锁存 地址译码D7D0A0A18255ACSWRRDA15A3A1A2片的片选控制,画出电路连接示意图,解释译码电路的设计原理。D7D0RDWRRESETM/IO8086 A7A6A5A4A3A0A2A18086 系统有 16 根数据线,而 8255A 只有 8 根数据线,将 8255A 的 8 条数据线与低 8位数据线相连。此时 8255A 的 4 个端口地址必须为偶地址

3、,即 8086 寻址 8255A 时 A0 脚必须为低,将 8255A 的 A0、A1 分别接 8086 的 A1、A2 脚。由图可见,8255A 的数据线 D7D0 与 8086 的低 8 位数据总线 D7D0 相连,A0 必须总等于 0,用地址线的 A2、A1 来选择片内 4 个端口。图中地址线 A7 接译码器的 G1,M/IO与 G2a 相连,A6、A5 接或门输入端,或门输出与 G2b 相连。当 A7A6A5=100,A4A3A0=000时,Y0=0,选中 8255A,4 个端口地址分别为 80H、82H、 84H 和 86H,对应于 8255A 的 A口、B 口、C 口和控制寄存器。

4、(2 ) LED 数码管与 8255A 的连接问题: 数码管采用共阴极连接,需要驱动电路,请画出与 8255APA 口的连接示意图,简要说明。D7D0RDWRRESETCS8255AA1A0G2a Y0Y1G1 Y2G2b Y374LS138 Y4 C Y5B Y6A Y71 PC0PC1PC2PC38255APC4PC5PC6PC7PA6PA5.PA0由图可见,8255A 的 A 口作输入口,PA6PA0 分别接显示器 LED7LED0.二极管共阴极连接后接地电平,当 PA 口输出高电平时 LED 被电亮。 共阴极 LED 七段数码管如要显示字符 09,AF,如何编制段码?举例说明。共阴极

5、LED 七段数码管连接如上图所示,显示字符 0 时,a、b、 c、d、e、f、g 、h 分别为11111100 对应 PA 口输出二进制编码为 1111110B 即 3FH。同理其余编码如下表所示:0 1 2 3 4 5 6 7 8 9 A b c d E F3FH06H5BH4FH66H6DH7DH07H7FH6FH77H7CH39H5EH79H31HLED+5Vaf g b e cdpd (3 ) 4*4 矩阵键盘与 8255A 的连接问题: PC0PC3 接行线、PC4PC7 接列线,请画出与 8255APC 口的连接示意图,简要说明。PC0PC3 接行线、PC4PC7 接列线,列线接高

6、电平 5v。接线示意图如上图接线图所示:其中当输入口检测到低电平说明有键按下。 键值识别方法有扫描法与反转法,它们的识别原理是什么?键值如何计算?扫描法原理:依次从第一至最末行线上发出低电平信号, 如果该行线所连接的键没有按下的话, 则列线所接的端口得到的是全“1”信号, 如果有键按下的话 , 则得到非全“1 ”信号。反转法:原理是先将行线作为输出线, 列线作为输入线, 行线输出全“0” 信号, 读入列线的值, 那么在闭合键所在的列线上的值必为 0;然后从列线输出全“0”信号,再读取行线的输入值,闭合键所在的行线值必为 0。这样, 当一个键被按下时, 必定可读到一对唯一的行列值。再由这一对行列

7、值可以求出闭合键所在的位置。计算键值:先判断键盘中有无键按下:将全部行线置低电平,然后检测列线的状态。只要有一列的电平为低,则表示键盘中有键被按下,而且闭合的键位于低电平线与 4 根行线相交叉的 4 个按键之中。若所有列线均为高电平,则键盘中无键按下。再找键位置:依次将行线置为低电平,即在置某根行线为低电平时,其它线为高电平。在确定某根行线位置为低电平后,再逐行检测各列线的电平状态。若某列为低,则该列线与置为低电平的行线交叉处的按键就是闭合的按键。3、 软件设计(1 )程序结构问题: 程序设计有几个段?各个段的主要内容是什么?答:有 3 个段。分别为数据段、代码段和堆栈段。数据段中存放数字 0

8、-9、A-F 的 LED 显示代码。堆栈段存放局部变量和函数返回地址。代码段程序实现的主要内容都在里面,实现按键显示对应的数字。流程图8255A 的芯片初始化程序设计。MOV AX,DATASMOV DS,AXMOV AL,10000001B开始取数据缓存首地址8255A 初始化扫描法识别键值延时去抖动键值计算将数变成显示代码显示数字(或字母)结束 有按键按 下?NY MOV DX,CT_PORTOUT DX,ALMOV DX,C_PORT按键去抖动程序设计。MOV AL,0OUT DX,ALNO_KEY:MOV DX,C_PORTIN AL,DXAND AL,0FHCMP AL,0FHJZ

9、NO_KEYCALL DELAY10MSIN AL,DXAND AL,0FHCMP AL,0FHJZ NO_KEY 采用扫描法实现键值识别程序设计。MOV BL,0LOOP1:MOV CH,0EFHMOV AL,CHMOV DX,C_PORTOUT DX,ALIN AL,USH BXMOV BH,0MOV CX,4LOOP3:SHR AL,1JNC LOP2INC BHLOOP LOOP3ROL CH,1CMP CH,0FEHJNZ LOOP1JMP NO_KEY键值计算的程序设计。LOOP2:MOV AH,BHPOP BXMOV BH,AH;BH 中是行号,BL 是列号SHL BH,1SHL

10、 BH,1;BH*4 ADD BH,BL;键值= 行号*4+列号LEA BX,TAB1XLAT;键值换码后得到显示码(存 AL 中)MOV DX,A_PORTOUT DX,AL;显示码送到端口 A,数码管显示相应值CALL DELAY10MSMOV AH,4CHINT 21HLED 数码管显示程序设计。LOOP2:MOV AH,BHPOP BXMOV BH,AH;BH 中是行号,BL 是列号SHL BH,1SHL BH,1;BH*4ADD BH,BL;键值= 行号*4+列号LEA BX,TAB1XLAT;键值换码后得到显示码(存 AL 中)MOV DX,A_PORTOUT DX,AL;显示码送

11、到端口 A,数码管显示相应值CALL DELAY10MSMOV AH,4CHINT 21H1、 讨论小结通过本次讨论了解了可编程接口芯片 8255A 的功能、工作方式、硬件连接、编程结构。通过对电路及程序的设计熟悉了可编程接口芯片的编程应用。对可编程接口芯片 8255A 的编程应用能力有所提升。进一步熟悉了微机系统的原理及汇编语言对具体电路的控制。2、 附件DATAS SEGMENTTAB1 DB 3FH,06H,5BH,4FH,66H,6DH,7DH,07HDB 7FH,6FH,77H,7CH,39H,5EH,79H,71H ;此处输入数据段代码 DATAS ENDSCODES SEGMEN

12、TASSUME CS:CODES,DS:DATAS,SS:STACKSSTART:MOV AX,DATASMOV DS,AXMOV AL,10000001BMOV DX,CT_PORT OUT DX,ALMOV DX,C_PORT;此处输入代码段代码MOV AL,0OUT DX,ALNO_KEY:MOV DX,C_PORTIN AL,DXAND AL,0FHCMP AL,0FHJZ NO_KEYCALL DELAY10MSIN AL,DXAND AL,0FHCMP AL,0FHJZ NO_KEY MOV BL,0LOOP1:MOV CH,0EFHMOV AL,CHMOV DX,C_PORTOU

13、T DX,ALIN AL,USH BXMOV BH,0MOV CX,4LOOP3:SHR AL,1JNC LOP2INC BHLOOP LOOP3ROL CH,1CMP CH,0FEHJNZ LOOP1JMP NO_KEYLOOP2:MOV AH,BHPOP BXMOV BH,AH;BH 中是行号,BL 是列号 SHL BH,1SHL BH,1;BH*4ADD BH,BL;键值= 行号*4+列号LEA BX,TAB1XLAT;键值换码后得到显示码(存 AL 中)MOV DX,A_PORTOUT DX,AL;显示码送到端口 A,数码管显示相应值CALL DELAY10MSMOV AH,4CHINT 21HDELAY10MS PROC;延时程序PUSH BX;现场保护PUSH CXWAITO:MOV CX,2801;内循环次数WAIT1:LOOP WAIT1;延时 10msDEC BXJNZWAITOPOP CX;现场恢复POP BXRETDELAY10MS ENDPCODES ENDSEND START

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


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

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