2[1].阵列式按键

2[1].阵列式按键

ID:40742250

大小:66.00 KB

页数:5页

时间:2019-08-07

2[1].阵列式按键_第1页
2[1].阵列式按键_第2页
2[1].阵列式按键_第3页
2[1].阵列式按键_第4页
2[1].阵列式按键_第5页
资源描述:

《2[1].阵列式按键》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、实验11阵列式键盘实验一、实验目的1.掌握键盘和显示器的接口方法和编程方法2.掌握阵列式键盘的硬件组成和软件编程方法二、实验说明本实验提供了一个4X4小建盘,向P0口的低四位逐个输出低电平,如果有键盘按下,则相应输出为低,如果没有键按下,则输出为高。通过输出的列码和读取的行码来判断按下什么键。有键按下后,要有一定的延时,防止由于键盘抖动而引起误操作。三、实验步骤及内容1.用一根8位数据线连接阵列式键盘实验模块与LED与单片机接口模块。无键按下或有键按下,发光二极管全亮。若将A1-A4接地,则发光二极管显示0000XXXX;B1线上有键按下,则发光二极管显示0000XXX,B2线上有键按

2、下,则发光二极管现世0000X0XX,B1和B2均有键按下,则发光二极管显示000000XX……同样可将B1与B4接地,按键与发光二极管显示情况,用户可以自行判断,自由操作。2.用一根8位数据线连接阵列式键盘实验模块与扫描显示实验模块。无键按下或有键按下,八段LED全亮。用户参照1,观察键盘与八段LED亮熄的关系。3.使用静态串行显示模块显示键值。单片机最小应用系统1的P1口接阵列式键盘的A1~B4口,P3.6接静态数码显示DIN,P3.7接CLK。4.用串行数据通信线连接计算机与仿真器,把仿真器插到模块的锁紧插座中,请注意仿真器的方向:缺口朝上。5.打开KeiluVision2仿真软

3、件,首先建立本实验的项目文件,接着添加阵列KEY.ASM源程序,进行编译,直到编译无误。6.进行软件设置,选择硬件仿真,选择串行口,设置波特率为38400。在键盘上按下某个键,观察数显是否与按键值一致。16位建盘的键值从左至右、从上至下依次为0~F(16进制数)。四、流程图及源程序1.流程图是否初始化地址参数输出列扫描信号列扫描信号移位读入行信号返回按照行列计算键值查表得键码等待按键释放返回开始该列有键输入?四列扫描完?开始显示缓冲区初始化LED显示读取键值键值转换为显示数据有键输入?N主程序框图2.源程序DBUFEQU30HTEMPEQU40HDINBITP3.6CLKBITP3.7

4、ORG0000HLJMPSTARTORG0030HSTART:MOVA,#16MAIN:ACALLDISPMOV30H,AACALLKEY1AJMPMAINKEY1:MOVP1,#0FH;A1-A4输出,B1-B4输入,输;入者对应锁存先写“1”MOVA,P1;读取键盘状况CJNEA,#0FH,K11;有键按下K10:AJMPKEY1;无键按下K11:ACALLDELAY;去抖动MOVP1,#0FHMOVA,P1;再读键盘状况CJNEA,#0FH,K12;确有键盘按下SJMPK10;误动作K12:MOVB,A;存列值MOVP1,#0EFH;按键在Ai行MOVA,P1CJNEA,#0EF

5、H,K13;键在A4MOVP1,#0DFHMOVA,P1CJNEA,#0DFH,K13;键在A3行MOVP1,#0BFHMOVA,P1CJNEA,#0BFH,K13;键在A2行MOVP1,#7FHMOVA,P1CJNEA,#7FH,K13;键在A1行AJMPK10;多键同时按下K13:ANLA,#0F0H;的行值ORLA,B;的按下键的行列值MOVB,A;暂存键值MOVR1,#16;16个键MOVR2,#0;键码初值MOVDPTR,#K1TAB;键码表首址K14:MOVA,R2MOVCA,@A+DPTR;从键值表中取键值CJNEA,B,K16;与按下键,键值比较MOVP1,#0FH;相

6、等,则完成以下步骤K15:MOVA,P1CJNEA,#0FH,K15;等释放ACALLDELAY;去抖动MOVA,R2;得键码RETK16:INCR2;不相等,则继续访问键值表DJNZR1,K14AJMPK10;多键同时按下处理K1TAB:DB0EEH,0DEH,0BEH,07EH;键值表DB0EDH,0DDH,0BDH,07DHDB0EBH,0DBH,0BBH,07BHDB0E7H,0D7H,0B7H,077HDISP:MOVDBUF,AMOVDBUF+1,#16MOVDBUF+2,#16MOVDBUF+3,#16MOVDBUF+4,#16MOVR0,#DBUFMOVR1,#TEMP

7、MOVR2,#5DP10:MOVDPTR,#SEGTABMOVA,@R0MOVCA,@A+DPTRMOV@R1,AINCR0INCR1DJNZR2,DP10MOVR0,#TEMPMOVR1,#5DP12:MOVR2,#8MOVA,@R0DP13:RLCAMOV0B0H,CCLR0B1HSETB0B1HDJNZR2,DP13INCR0DJNZR1,DP12RETSEGTAB:;段码表DB3FH,06H,5BH,4FH,66H,6DH;“0,1,2

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。