首页 小键盘按键识别数码管移位显示

小键盘按键识别数码管移位显示

举报
开通vip

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

小键盘按键识别数码管移位显示
小键盘按键识别数码管移位显示 (一) 实验目的 掌握“行扫描”按键识别的原理,并掌握行扫描 按键识别的编程技术 (二) 实验 内容 财务内部控制制度的内容财务内部控制制度的内容人员招聘与配置的内容项目成本控制的内容消防安全演练内容 按硬件接好图接好线路,同行扫描技术识别小 键盘,将小键盘键如的任意长度的有0—9组成的数 字串,采用左移位显示的方法显示在数码管上(仿 照移动电话显示屏的显示效果)当小键盘按下F键 时程序结束. (三) 相关知识 Intel8255A-5是一个为8080.8082和8088微型计算机系 统 设计 领导形象设计圆作业设计ao工艺污水处理厂设计附属工程施工组织设计清扫机器人结构设计 的通用I/O接口芯片通过它可以将CPU的总线直接 接向外设。(CPU总是通过接口电路才能与外设连接) 并行接口芯片具有以下功能: (1) 两个或两个以上的具有锁存器或缓冲器的数据端口; (2) 每个数据端口都有与CPU用应答方式交换信号所必需 的控制和状态信息,也有与外设交换信息所必需的控制 和状态信息; (3) 通常每个数据端口还具有能用中断方式与CPU交换信 息所必需的电路; (4) 选片和控制电路; (5) 通常这类接口芯片可用程序选择数据端口,选择端口的 传送方向,选择与CPU交换信息的方法等,故片中要有 能实现这些选择的控制字的寄存器,它可由CPU用输出 指令来写入。 注:8255A的端口A的地址为—218H 端口A的地址为—219H 控制口的地址为—21BH (四) 实验原理 a) 可以把PB2与小键盘的列线断开,不识别S YDENG 8个功能键。 b) 在数据段设置两张表,一张是0~9的键值表,一张是 0~9的字形编码表,对应关系表如下表所示: 字0 1 2 3 4 5 6 7 8 9 A B C D E F 型 编码 3F 06 5B 4F 66 6D 7D 07 7F 6F 77 7C 39 5E 79 71 (16 进 制) (3)在数据段设置一个显示缓冲区,即~BUF+6单元, 其中,BUF~BUF+5单元的初值为数码管熄灭的字形 码。程序应将当前的闭合键字形码存入BUF+6单元, 随后将BUF+1~BUF+6单元的内容移到BUF~BUF+5 单元,再扫描显示BUF~BUF+5单元的内容,从而使 数码管显示左移一位。 (3)按键的识别方法如下: 键盘一般都是矩阵排列,行和列分别接微机的输出、输入端口,每个键都跨接在某行和某列上,当键按下时,该行和该列短路。输入的端口线一般都通过电阻上拉至高电平。识别键盘上的闭合键的常用方法有行扫描和行反转法。 行扫描法是使键盘的某一行输出为低电平,其余行为高电平,然后读取列值,如果列值中有某位为低电平,则表明行列交点处的键被按下;若为全高则再扫描下一行,直至扫完全部的行线为止。这样便可以知道是否有键被按下,若有键按下,还可以知道是哪一行哪一列交点的键按下。 (4)LED显示电路: LED显示电路的核心是6个共阴极数码管,6个数码管的同名阳极段已经复接。6位数码LED的结构图参见如下图: 该电路有两个端口:位选口为奇地址,片选信号CS取自“I/O地址译码电路”的任一输出端,如果将口地址译码输出的“200-207”连接到数码管电路的CS,则片选地址为200H-207H,此时有以下两种情况: 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个数码管显示不同的字形,必须采用“扫描显示”的方法。扫描显示的方法是:从第1位到第6位(后者从第6位到第1位),每位显示一个数字后,延时1ms。 电路连接如图所示: (五) 原理分析 要用8255做小键盘的处理电路,首先要将8255按要求初 始化。具体要求是:A口方式0输出,B口方式0输入。 采用“行扫描”技术识别闭合键 参考程序流程图: 开始 8255A初始化:A口为 方式0输出,B口为方 式0输入 扫描并显示 BUF?BUF+5中的6 为位数 行值为0?AH,读B口 行列?AL Y AL=3? N N 延时 逐行扫描,键值?AX Y AX=“F”键 N 值“ N 查键值表 取闭合键字形码 ?BUF+6 单元 返回 BUF+1-BUF+6单元的 内容上移到 BUF-BUF+5单元 (六)程序 DELAY MACRO N1,N2 ; 延时 MOV AH,86H MOV CX,N1 MOV DX,N2 INT 15H ENDM DATA SEGMENT MESG DB 'READY...',0DH,0AH,'$' TAB1 DW 17FH,1BFH,1DFH,1EFH,1FEH ;0~4键值 DW 1FDH,1FBH,1F7H,27FH,2BFH ;5~9键值 TAB2 DB 3FH,06H,5BH,4FH,66H ;0~4字形码 DB 6DH,7DH,07H,7FH,6FH ;5~9字形码 ORIGIN DB 1 BUF DB 0,0,0,0,0,0,? ;显示缓冲区 LINE DB 11111110B ;行扫描初值 A_8255 EQU 220H ;8255A口地址 B_8255 EQU 221H ;8255B口地址 CON_8255 EQU 223H ;8255控制口地址 LED_S EQU 201H ;数码管段选口地址 LED_B EQU 200H ;数码管位选口地址 DATA ENDS CODE SEGMENT ASSUME CS:CODE,DS:DATA,ES:DATA BEG: 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,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 ;有键闭合,延时80ms LAST1: 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 ;形成下一个行扫描值 JC LAST1 JMP DISP ;非法键入,转显示 OK1: MOV AH,2 ;列值2---->AH JMP NEXT OK2: MOV AH,1 ;列值1---->AH NEXT: MOV AL,LINE ;行值---->AL CMP AX,2F7H ;AX=F键的键值, JE EXIT ;是F键闭合,转退出 MOV SI,OFFSET TAB1 MOV DI,OFFSET TAB2 MOV CX,10 AGAIN: CMP AX,[SI] ;查键值表 JE OK ADD SI,2 INC DI LOOP AGAIN JMP DISP ;非法键入,转显示 OK: MOV AL,[DI] ;取字形码 MOV 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 DISP EXIT: MOV AH,4CH INT 21H DISPLAY PROC ;扫描显示6位数 MOV BX,OFFSET BUF LAST2: 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 SAL ORIGIN,1 TEST ORIGIN,40H JZ LAST2 MOV ORIGIN,1 RET DISPLAY ENDP I8255 PROC MOV DX,CON_8255 ;预置 MOV AL,10000010B ;A口方式0输出 OUT DX,AL ;B口方式0输入 RET I8255 ENDP CODE ENDS END BEG (七)心得体会 通过这次课程设计,我对芯片,CPU,输入输出设备,接口电路等有了更深一层的认识,从课堂上到自我实践,从 似懂非懂到进一步的了解,这需要一个操作的过程。 理论应用的实践,是我们学习的目的,计算机正是这样一个全面要求理论与时间的学科。这次课程设计后,同学之间的了解更深了,团队意识更强了。我们这一组的同学相互协作,共同学习,很快我们就完成了我们的课程。“团结就是力量”这句话的分量真的很强。 在课程设计中,我遇到了不少难 快递公司问题件快递公司问题件货款处理关于圆的周长面积重点题型关于解方程组的题及答案关于南海问题 ,我对专业知识掌握的还不够,动手能力也还很差。在今后的学习和生活中,多读点专业方面 的书籍,注重培养自己的动手能力。在这次设计中,我要感谢老师和同学们的帮助。 (八)参考文献 微型计算机系统原理及应用(清华大学出版社 周明德 2005年版)
本文档为【小键盘按键识别数码管移位显示】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
该文档来自用户分享,如有侵权行为请发邮件ishare@vip.sina.com联系网站客服,我们会及时删除。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。
本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。
网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
下载需要: 免费 已有0 人下载
最新资料
资料动态
专题动态
is_637320
暂无简介~
格式:doc
大小:47KB
软件:Word
页数:10
分类:
上传时间:2018-03-01
浏览量:71