资源描述:
《阵列式键盘实验》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、实验十二阵列式键盘实验一、实验目的1.掌握键盘和显示器的接口方法和编程方法2.掌握阵列式键盘的硬件组成和软件编程方法二、实验说明本实验提供了一个4X4小建盘,向P1口的高四位逐个输出低电平,如果有键盘按下,则相应输出为低,如果没有键按下,则输出为高。通过输出的列码和读取的行码来判断按下什么键。在有键按下后,要有一定的延时,防止由于键盘抖动而引起误操作。三、实验电路图本实验需要用到80C51MCU模块(C区),阵列式键盘模块(G5区),静态数码显示模块(A6区)。80C51MCU模块电路原理参考附录三,静态数码显示电路参考实验十图10.1,阵列式键盘电路原理参考图12.
2、1。四、实验步骤1.用8P数据线连接80C51MCU模块的JD1C(P1口)到阵列式键盘模块的JD1G5;用二号导线分别连接80C51MCU模块的RXD(P3.0)、TXD(P3.1)到静态数码显示模块的DIN、CLK。2.用串行数据通信线连接计算机与仿真器,将仿真器插到80C51MCU模块的40P锁紧插座中,请注意仿真器的方向:缺口朝上。3.将80C51MCU模块的电源扭子开关S1C拨到上端,将静态数码显示模块的电源短路帽J1A6打在上端。将直流稳压电源模块的直流控制开关S1G1打到ON,本实验所用到的相关模块的电源指示灯VCC亮。4.打开KeiluVision2仿
3、真软件,首先建立本实验的项目文件,接着添加“TH12_阵列式键盘.ASM”源程序,进行编译,编译无误后,全速运行程序。KEY2G52KEY6G56KEYAG5AKEYEG5EKEY3G53KEY7G57KEYBG5BKEYFG5F12345678JD1G5KEYSEGA0SEGB0SEGC0SEGH0SEGA0SEGB0SEGD0SEGC0SEGE0SEGF0SEGG0SEGH0KEY0G50KEY4G54KEY8G58KEYCG5CKEY1G51KEY5G55KEY9G59KEYDG5DSEGD0SEGE0SEGF0SEGG0R1G510KR2G510KR3G510
4、KR4G510KVCCTHDPJ-1/2型单片机开发综合实验箱天煌科技34天煌教仪5.实验现象:静态数码显示模块显示“C51X”,在键盘上按下某个键,观察“X”的值是否与按键值一致。6.也可以把源程序编译成可执行文件,把可执行文件用ISP烧录器烧录到89S52芯片中运行(注意:芯片缺口朝上)。(ISP烧录器的使用查看附录二)五、实验源程序ORG0000HLJMPSTARTORG00100HDBUFEQU30HTEMPEQU40HDINBITP3.0CLKBITP3.1START:MOVA,#16HMAIN:ACALLDISPMOV30H,AACALLKEY1AJMPM
5、AINKEY1:MOVP1,#0F0H;对输入应锁存写1MOVA,P1CJNEA,#0F0H,K11;有键按下K10:AJMPKEY1;无键按下K11:ACALLDELAY;延时去抖动MOVP1,#0F0HMOVA,P1;再读取键盘状况CJNEA,#0F0H,K12;确有键按下SJMPK10;误动作K12:MOVB,A;存列值MOVP1,#0FEH;检测第一列MOVA,P1CJNEA,#0FEH,K13MOVP1,#0FDH;检测第二列MOVA,P1CJNEA,#0FDH,K13MOVP1,#0FBH;检测第三列MOVA,P1CJNEA,#0FBH,K13MOVP1,
6、#0F7H;检测第四列THDPJ-1/2型单片机开发综合实验箱天煌科技35天煌教仪MOVA,P1CJNEA,#0F7H,K13AJMPK10;多键同时按下K13:ANLA,#0FH;得行值ORLA,B;得按下的行列值MOVB,A;暂存键值MOVR1,#16;16个键MOVR2,#0;键码初值MOVDPTR,#K1TAB;键码表首址K14:MOVA,R2MOVCA,@A+DPTR;从键值表取键值CJNEA,B,K16;与按下键的键比较MOVP1,#0F0HK15:MOVA,P1CJNEA,#0F0H,K15ACALLDELAY;延时去抖动MOVA,R2;得键码RETK1
7、6:INCR2DJNZR1,K14AJMPK10K1TAB:DB0EEH,0EDH,0EBH,0E7HDB0DEH,0DDH,0DBH,0D7HDB0BEH,0BDH,0BBH,0B7HDB07EH,07DH,07BH,077HDISP:MOVDBUF,#0CHMOVDBUF+1,#5MOVDBUF+2,#1MOVDBUF+3,#16MOVDBUF+4,AMOVR0,#DBUFMOVR1,#TEMPMOVR2,#8DP10:MOVDPTR,#SEGTABMOVA,@R0MOVCA,@A+DPTRMOV@R1,ATHDPJ-1/2型单片机开发综合实验箱