微机原理8255A并行接口按键数码管显示讨论报告_第1页
微机原理8255A并行接口按键数码管显示讨论报告_第2页
微机原理8255A并行接口按键数码管显示讨论报告_第3页
微机原理8255A并行接口按键数码管显示讨论报告_第4页
微机原理8255A并行接口按键数码管显示讨论报告_第5页
已阅读5页,还剩2页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、-. z.讨论课报告学校:*电机学院 班级:电子13* *:* *:W*一、题目:通过8255A并行接口,8086CPU连接LED数码管、4*4矩阵键盘。按下任意键,数码管显示对应键号。二、硬件设计讨论问题:CPU8086与8255A的连接问题: 复用引脚上的数据信号与地址信号如何别离画出电路连接示意图,解释实现的方法。答:D7D0A0A1D7D0A0A18255ACSWRRD 数据缓存A2A1A15A3地址译码地址锁存 DEN DT/R 8086 AB/TBA2A1A15A3地址译码地址锁存 DEN DT/R 8086 AB/TB ALE M/IO WR RD 将8086上的20位复用数据地

2、址引脚分别接数据缓存器和地址锁存器在8086总线周期的T1期间作为存储器/IO地址总线将地址锁存在地址锁存器中,另外期间作为数据总线将8位数据缓存在数据缓存器中。缓存器与8255A数据引脚相连,地址锁存后经过译码与地址线相连。假设8255A的芯片地址*围为80H86H偶地址,利用74LS138译码器实现8255A芯片的片选控制,画出电路连接示意图,解释译码电路的设计原理。D7D0D7D0RDWRRESETCS 8255AA1A01G2a Y0 Y1G1 Y2G2b Y3 74LS138 Y4 C Y5B Y6A Y7 D7D0 RD 1G2a Y0 Y1G1 Y2G2b Y3 74LS138

3、Y4 C Y5B Y6A Y7 D7D0 RD WR RESET M/IO 8086 A7 A6 A5 A4 A3 A0 A2 A1 8086系统有16根数据线,而8255A只有8根数据线,将8255A的8条数据线与低8位数据线相连。此时8255A的4个端口地址必须为偶地址,即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

4、相连。当A7A6A5=100,A4A3A0=000时,Y0=0,选中8255A,4个端口地址分别为80H、82H、84H和86H,对应于8255A的A口、B口、C口和控制存放器。2LED数码管与8255A的连接问题: 数码管采用共阴极连接,需要驱动电路,请画出与8255APA口的连接示意图,简要说明。+5V+5VLED PC0 PC1 PC2 PC38255A PC4 PC5 PC6 PC7 PA6 PA5 . PA0 LED PC0 PC1 PC2 PC38255A PC4 PC5 PC6 PC7 PA6 PA5 . PA0 由图可见,8255A的A口作输入口,PA6PA0分别接显示器LED

5、7LED0.二极管共阴极连接后接地电平,当PA口输出高电平时LED被电亮。 共阴极LED七段数码管如要显示字符09,AF,如何编制段码?举例说明。共阴极LED七段数码管连接如上图所示, a a f g b e c dp d 对应PA口输出二进制编码为1111110B即3FH。 同理其余编码如下表所示:0123456789AbcdEF3FH06H5BH4FH66H6DH7DH07H7FH6FH77H7CH39H5EH79H31H34*4矩阵键盘与8255A的连接问题: PC0PC3接行线、PC4PC7接列线,请画出与8255APC口的连接示意图,简要说明。PC0PC3接行线、PC4PC7接列线,

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

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

8、放局部变量和函数返回地址。代码段程序实现的主要内容都在里面,实现按键显示对应的数字。流程图开场开场取数据缓存首地址取数据缓存首地址 8255A初始化 8255A初始化扫描法识别键值扫描法识别键值有按键按 下?有按键按 下?NNYY 延时去抖动 延时去抖动 键值计算 键值计算将数变成显示代码将数变成显示代码显示数字或字母显示数字或字母 完毕 完毕 8255A的芯片初始化程序设计。MOV A*,DATASMOV DS,A*MOV AL,10000001BMOV D*,CT_PORT OUT D*,ALMOV D*,C_PORT按键去抖动程序设计。MOV AL,0 OUT D*,ALNO_KEY:M

9、OV D*,C_PORT IN AL,D*AND AL,0FHCMP AL,0FH JZ NO_KEY CALL DELAY10MS IN AL,D*AND AL,0FHCMP AL,0FH JZ NO_KEY 采用扫描法实现键值识别程序设计。MOV BL,0LOOP1:MOV CH,0EFHMOV AL,CHMOV D*,C_PORT OUT D*,AL IN AL,D*PUSH B*MOV BH,0MOV C*,4LOOP3:SHR AL,1 JNC LOP2INC BH LOOP LOOP3 ROL CH,1CMP CH,0FEH JNZ LOOP1 JMP NO_KEY键值计算的程序设

10、计。 LOOP2:MOV AH,BHPOP B*MOV BH,AH;BH中是行号,BL是列号SHL BH,1SHL BH,1;BH*4ADD BH,BL;键值=行号*4+列号LEA B*,TAB1*LAT;键值换码后得到显示码存AL中MOV D*,A_PORT OUT D*,AL;显示码送到端口A,数码管显示相应值 CALL DELAY10MSMOV AH,4CH INT 21HLED数码管显示程序设计。 LOOP2:MOV AH,BHPOP B*MOV BH,AH;BH中是行号,BL是列号SHL BH,1SHL BH,1;BH*4ADD BH,BL;键值=行号*4+列号LEA B*,TAB1

11、*LAT;键值换码后得到显示码存AL中MOV D*,A_PORT OUT D*,AL;显示码送到端口A,数码管显示相应值 CALL DELAY10MSMOV AH,4CH INT 21H讨论小结通过本次讨论了解了可编程接口芯片8255A的功能、工作方式、硬件连接、编程构造。通过对电路及程序的设计熟悉了可编程接口芯片的编程应用。对可编程接口芯片8255A的编程应用能力有所提升。进一步熟悉了微机系统的原理及汇编语言对具体电路的控制。附件DATAS SEGMENT TAB1 DB 3FH,06H,5BH,4FH,66H,6DH,7DH,07HDB 7FH,6FH,77H,7CH,39H,5EH,79

12、H,71H ;此处输入数据段代码 DATAS ENDSCODES SEGMENTASSUME CS:CODES,DS:DATAS,SS:STACKSSTART:MOV A*,DATASMOV DS,A*MOV AL,10000001BMOV D*,CT_PORT OUT D*,ALMOV D*,C_PORT;此处输入代码段代码MOV AL,0 OUT D*,ALNO_KEY:MOV D*,C_PORT IN AL,D*AND AL,0FHCMP AL,0FH JZ NO_KEY CALL DELAY10MS IN AL,D*AND AL,0FHCMP AL,0FH JZ NO_KEY MOV

13、BL,0LOOP1:MOV CH,0EFHMOV AL,CHMOV D*,C_PORT OUT D*,AL IN AL,D*PUSH B*MOV BH,0MOV C*,4LOOP3:SHR AL,1 JNC LOP2INC BH LOOP LOOP3 ROL CH,1CMP CH,0FEH JNZ LOOP1 JMP NO_KEY LOOP2:MOV AH,BHPOP B*MOV BH,AH;BH中是行号,BL是列号SHL BH,1SHL BH,1;BH*4ADD BH,BL;键值=行号*4+列号LEA B*,TAB1*LAT;键值换码后得到显示码存AL中MOV D*,A_PORT OUT D*,AL;显

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论