小键盘按键识别数码管移位显示_第1页
小键盘按键识别数码管移位显示_第2页
小键盘按键识别数码管移位显示_第3页
小键盘按键识别数码管移位显示_第4页
小键盘按键识别数码管移位显示_第5页
已阅读5页,还剩6页未读 继续免费阅读

下载本文档

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

文档简介

1、小键盘按键识别数码管移位显示(一) 实验目的掌握“行扫描”按键识别的原理,并掌握行扫描按键识别的编程技术(二) 实验内容按硬件接好图接好线路,同行扫描技术识别小键盘,将小键盘键如的任意长度的有09组成的数字串,采用左移位显示的方法显示在数码管上(仿照移动电话显示屏的显示效果)当小键盘按下F键时程序结束.(三) 相关知识 Intel8255A-5是一个为8080.8082和8088微型计算机系统设计的通用I/O接口芯片通过它可以将CPU的总线直接接向外设。(CPU总是通过接口电路才能与外设连接) 并行接口芯片具有以下功能:(1) 两个或两个以上的具有锁存器或缓冲器的数据端口;(2) 每个数据端口

2、都有与CPU用应答方式交换信号所必需的控制和状态信息,也有与外设交换信息所必需的控制和状态信息;(3) 通常每个数据端口还具有能用中断方式与CPU交换信息所必需的电路;(4) 选片和控制电路;(5) 通常这类接口芯片可用程序选择数据端口,选择端口的传送方向,选择与CPU交换信息的方法等,故片中要有能实现这些选择的控制字的寄存器,它可由CPU用输出指令来写入。注:8255A的端口A的地址为218H端口A的地址为219H控制口的地址为21BH(四) 实验原理a) 可以把PB2与小键盘的列线断开,不识别S YDENG 8个功能键。b) 在数据段设置两张表,一张是09的键值表,一张是09的字形编码表,

3、对应关系表如下表所示:字型0123456789ABCDEF编码 (16进制)3F065B4F666D7D077F6F777C395E7971(3)在数据段设置一个显示缓冲区,即BUF+6单元,其中,BUFBUF+5单元的初值为数码管熄灭的字形码。程序应将当前的闭合键字形码存入BUF+6单元,随后将BUF+1BUF+6单元的内容移到BUFBUF+5单元,再扫描显示BUFBUF+5单元的内容,从而使数码管显示左移一位。(3)按键的识别方法如下:键盘一般都是矩阵排列,行和列分别接微机的输出、输入端口,每个键都跨接在某行和某列上,当键按下时,该行和该列短路。输入的端口线一般都通过电阻上拉至高电平。识别

4、键盘上的闭合键的常用方法有行扫描和行反转法。行扫描法是使键盘的某一行输出为低电平,其余行为高电平,然后读取列值,如果列值中有某位为低电平,则表明行列交点处的键被按下;若为全高则再扫描下一行,直至扫完全部的行线为止。这样便可以知道是否有键被按下,若有键按下,还可以知道是哪一行哪一列交点的键按下。(4)LED显示电路:LED显示电路的核心是6个共阴极数码管,6个数码管的同名阳极段已经复接。6位数码LED的结构图参见如下图:该电路有两个端口:位选口为奇地址,片选信号CS取自“I/O地址译码电路”的任一输出端,如果将口地址译码输出的“200-207”连接到数码管电路的CS,则片选地址为200H-207

5、H,此时有以下两种情况:A 针对奇地址端口执行OUT指令,CS=0,IOW=0,A0=1,数据线D0-D7上的字形编码存入段选锁存器,其输出端通过8位同相驱动器分别驱动6个数码管的a-h阳极段。B 对偶地址端口执行OUT指令,CS=0,IOW=0,AO=0,数据线D0-D7上的位选代码码存入位选锁存器,其输出端通过6位反相驱动器分别驱动第1至第6位数码管的共阴极。DO-D7依次对应6个数码管的a-h段,1-6位数码管的共阴极依次和数据线D0-D5位一一对应,因此1-6位数码管的位选代码依次为01H,02H,04H,08H,10H及20H。很显然,若要6个数码管显示不同的字形,必须采用“扫描显示

6、”的方法。扫描显示的方法是:从第1位到第6位(后者从第6位到第1位),每位显示一个数字后,延时1ms。电路连接如图所示:(五) 原理分析 要用8255做小键盘的处理电路,首先要将8255按要求初始化。具体要求是:A口方式0输出,B口方式0输入。 采用“行扫描”技术识别闭合键 参考程序流程图:开始8255A初始化:A口为方式0输出,B口为方式0输入扫描并显示BUFBUF+5中的6为位数行值为0AH,读B口行列ALAL=3?Y N延时逐行扫描,键值AX查键值表BUF+1-BUF+6单元的内容上移到BUF-BUF+5单元NAX=“F”键值“ Y N返回N取闭合键字形码BUF+6单元(六)程序DELA

7、Y MACRO N1,N2 ; 延时 MOV AH,86H MOV CX,N1 MOV DX,N2 INT 15H ENDMDATA SEGMENTMESG DB READY.,0DH,0AH,$TAB1 DW 17FH,1BFH,1DFH,1EFH,1FEH ;04键值 DW 1FDH,1FBH,1F7H,27FH,2BFH ;59键值TAB2 DB 3FH,06H,5BH,4FH,66H ;04字形码 DB 6DH,7DH,07H,7FH,6FH ;59字形码ORIGIN DB 1BUF DB 0,0,0,0,0,0,? ;显示缓冲区LINE DB 11111110B ;行扫描初值A_82

8、55 EQU 220H ;8255A口地址B_8255 EQU 221H ;8255B口地址CON_8255 EQU 223H ;8255控制口地址LED_S EQU 201H ;数码管段选口地址LED_B EQU 200H ;数码管位选口地址DATA ENDSCODE SEGMENT ASSUME CS:CODE,DS:DATA,ES:DATABEG: MOV AX,DATA MOV DS,AX MOV ES,AX MOV AH,9 MOV DX,OFFSET MESG INT 21H CALL I8255 ;8255初始化DISP: CALL DISPLAY ;扫描显示6位数 MOV DX

9、,A_8255 MOV AL,0 OUT DX,AL ;0-A口 MOV DX,B_8255 IN AL,DX ;读B口 AND AL,03H ;列值-AL CMP AL,03H JE DISP ;无键闭合,转 DELAY 1,3880H ;有键闭合,延时80msLAST1: MOV DX,A_8255 ;以下逐行扫描MOV AL,,LINE OUT DX,,AL ;行扫描值-A口 MOV DX,B_8255 IN AL,DX ;读B口,列值-AL SHR AL,1 JNC O,1 ;PB0列线为0,转OK1 SHR AL,1 JNC OK,2 ;PB1列线为0,转OK2 ROL LINE,1

10、 ;形成下一个行扫描值 JC LAST1 JMP DISP ;非法键入,转显示OK1: MOV AH,2 ;列值2-AH JMP NEXTOK2: MOV AH,1 ;列值1-AHNEXT: MOV AL,LINE ;行值-AL CMP AX,2F7H ;AX=F键的键值? JE EXIT ;是F键闭合,转退出 MOV SI,OFFSET TAB1 MOV DI,OFFSET TAB2 MOV CX,10AGAIN: CMP AX,SI ;查键值表 JE OK ADD SI,2 INC DI LOOP AGAIN JMP DISP ;非法键入,转显示OK: MOV AL,DI ;取字形码 MO

11、V BUF+6,AL ;送BUF+6单元 MOV SI,OFFSET BUF+1 MOV DI,OFFSET BUF MOV CX,6 ;BUF+1 BUF+6单元 CLD ;6位字形码 REP MOVS B ;上移1个单元 JMP DISPEXIT: MOV AH,4CH INT 21HDISPLAY PROC ;扫描显示6位数 MOV BX,OFFSET BUFLAST2: MOV AL,BX MOV DX,LED_S OUT DX,AL ;输出字形码 MOV AL,ORIGIN MOV DX,LED_B OUT DX,AL ;定位显示 DELAY 0,1000 ;延时1ms INC BX

12、 SAL ORIGIN,1 TEST ORIGIN,40H JZ LAST2 MOV ORIGIN,1 RETDISPLAY ENDPI8255 PROC MOV DX,CON_8255 ;预置 MOV AL,10000010B ;A口方式0输出 OUT DX,AL ;B口方式0输入 RETI8255 ENDPCODE ENDS END BEG(七)心得体会通过这次课程设计,我对芯片,CPU,输入输出设备,接口电路等有了更深一层的认识,从课堂上到自我实践,从似懂非懂到进一步的了解,这需要一个操作的过程。理论应用的实践,是我们学习的目的,计算机正是这样一个全面要求理论与时间的学科。这次课程设计后,同学之间的了解更深了,团队

温馨提示

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

评论

0/150

提交评论