资源描述:
《单片机按键扫描实验报告》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、键盘扫描一.实验目的(1)掌握矩阵键盘接口电路和键盘扫描编程方法。(2)掌握按键值处理与显示电路设计。二.实验任务(1)设计4*4键盘,编写各个键的特征码和对应的键值(0~F);(2)编程扫描按键,将按键对应的数字值使用数码管显示出来。三.实验电路及连线方法1.采用动态显示连线方法:电路由2片74LS573,1个六字一体的共阴数码管组成。由U15输出段选码,U16做位选码,与单片机的采用I/O口连接方式,短路片J22连接P2.0,J23连接P2.3,做输出信号锁存。(实际电路连接是d7-d6-d5-d4-d
2、3-d2-d1-d0àh-c-d-e-g-b-a-f)。PW12是电源端。2.键盘电路连线方法:电路由16个按键组成,用P1口扩展4×4行列式键盘。J20是键盘连接端,连接到P1口。J21是行列键盘、独立键盘选择端,当J21的短路片连接2-3脚时,构成4×4行列式键盘;当J21的短路片连接2-1脚时,可形成3×4行列式键盘,4个独立式按键S4、S8、S12、S16,这4个独立按键分别连接P1.4~P1.7;其他12个键3×4行列式键盘。PW15是电源端。四.编程思路1.采用反转法识别按键的闭合。2.采用动态
3、显示将键值显示出来。五.算法流程图六.资源分配1.用P1口进行查找按键2.用R3做键值指针3.用R1做动态显示为选码指针。4.R5为延时指针。七.程序设计ORG0000HKPIN:MOVP1,#0F0HMOVA,P1ANLA,#0F0HMOVB,AMOVP1,#0FHMOVA,P1ANLA,#0FHORLA,BCJNEA,#0FFH,KPIN1AJMPEXITKPIN1:MOVB,AMOVDPTR,#TABKPMOVR3,#0KPIN2:MOVA,R3MOVCA,@A+DPTRCJNEA,B,KPIN3MO
4、VA,R3LOOP:MOVR1,#0FEH;键盘动态显示LOOP1:MOVA,R3ANLA,#0FHMOVDPTR,#TABMOVCA,@A+DPTRCLRP2.0CLRP2.1MOVP0,ASETBP2.0NOPCLRP2.0LOOP2:MOVA,R1;位选码MOVP0,ASETBP2.1MOVR5,#250LOOP3:DJNZR5,LOOP3CLRP2.1SJMPLOOPKPIN3:INCR3CJNEA,#0FFH,KPIN2EXIT:RETTABKP:DB0EEH,0DEH,0BEH,7EH,0EDH
5、,0DDH,0BDH,7DH,0EBHDB0DBH,0BBH,7BH,0E7H,0D7H,0B7H,77H,67H,0FFHTAB:DB77H,44H,3EH,6EH,4DH,6BH,7BH,46H,7FH,6FH,5FHDB79H,33H,7CH,3BH,1BHEND八.调试出现的问题及解决问题1:程序正常运行,但按键显示出现乱码解决:动态显示笔形码错误,并改正。问题2:发现有些按键按下时不出现键值解决:发现按键坏了,换机器再实验,并且成功。总结:与硬件想结合的实验要有足够的耐心,并且不仅要懂得如何编程,
6、还要有足够多的电路知识,这样才能够保证实验成功。