《键盘子程序》word版

《键盘子程序》word版

ID:29898164

大小:121.00 KB

页数:4页

时间:2018-12-24

《键盘子程序》word版_第1页
《键盘子程序》word版_第2页
《键盘子程序》word版_第3页
《键盘子程序》word版_第4页
资源描述:

《《键盘子程序》word版》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库

1、键盘扫描图a4*4键盘图b4*3键盘扫描步骤:1.P2.3=0行扫描初值;2.P2左移检测列;3.P2右移扫描行;4.计数指针到表中取码(读入键盘值由表中的数据一一对应)。;**********************键盘扫描子程序SCANKEY**********;4*4键盘扫描子程序;行接P2.0-P2.3,列接P2.4-P2.7;调用该子程序扫描一遍键盘;键盘如有按键,则标志位FLAG_KEY=1;输入键盘码放入键盘存储器KEYBUFF;面板上键盘为123C;456D789E;A0BF;***************

2、************************SCANKEY:MOVR3,#0F7H;扫描初值(P2.3=0)MOVR2,#00H;R2为取键盘码指针L2:MOVA,R3;开始扫描MOVP2,A;扫描值输出至P2口MOVA,P2;读入P2值,判断是否有键按下MOVR4,A;存入P2值,以判断是否放开按键SETBC;后用带循环移位MOVR5,#04H;先扫描4列(如为4*3键盘此处MOVR5,#03H)L3:RLCA;先从P2.3相接这一行P2.4-P2.7哪个键按下了JNCKEYIN;C=0则有键按下,跳至KEYININ

3、CR2;C=1表明没有键按下,取码指针加1DJNZR5,L3;3列扫描完毕?MOVA,R3;扫描值载入SETBCRRCA;扫描下一行MOVR3,A;存回扫描寄存器JCL2;4行扫完?没有则回L2继续扫描RET;一遍扫描完返回;-------------------------------------------------KEYIN:MOVR7,#60;30MS消抖动(晶振12MHZ)D2:MOVR6,#248DJNZR6,$DJNZR7,D2D3:MOVA,P2;读入P2值,判断换键是否松开XRLA,R4;与上次值XX比

4、较JZD3;ACC=0表示未放MOVA,R2;按钮已松开,取码指针载入MOVDPTR,#KEYSCAN_TABMOVCA,@A+DPTRSETBFLAG_KEY;键盘扫描一次有输入标志位置位MOVKEYBUFF,A;键盘码放入键盘存储器KEYBUFFRET;===========================================;键盘扫描码KEYSCAN_TAB:DB01H,02H,03H,0CHDB04H,05H,06H,0DHDB07H,08H,09H,0DHDB0AH,00H,0BH,0FH;-----

5、------------------------------;***************键盘扫描结束****************************;**********************键盘扫描子程序SCANKEY**********;4*3键盘扫描子程序;行接P2.0-P2.3,列接P2.4-P2.6;调用该子程序扫描一遍键盘;键盘如有按键,则标志位FLAG_KEY=1;输入键盘码放入键盘存储器KEYBUFF;面板上键盘为1234;5678;90AB;*************************

6、**************SCANKEY:MOVR3,#0F7H;扫描初值(P2.3=0)MOVR2,#00H;R2为取键盘码指针L2:MOVA,R3;开始扫描MOVP2,A;扫描值输出至P2口MOVA,P2;读入P2值,判断是否有键按下MOVR4,A;存入P2值,以判断是否放开按键SETBCMOVR5,#03H;先扫描3列RLCA;由于P2.7没有接,故先左移一位,让P2.6位进入CyL3:RLCA;先从P2.3相接这一行P2.4-P2.6哪个键按下了JNCKEYIN;C=0则有键按下,跳至KEYININCR2;C=1

7、表明没有键按下,取码指针加1DJNZR5,L3;3列扫描完毕?MOVA,R3;扫描值载入SETBCRRCA;扫描下一行MOVR3,A;存回扫描寄存器JCL2;4行扫完?没有则回L2继续扫描RET;一遍扫描完返回;-------------------------------------------------KEYIN:MOVR7,#60;30MS消抖动(晶振12MHZ)D2:MOVR6,#248DJNZR6,$DJNZR7,D2D3:MOVA,P2;读入P2值,判断换键是否松开XRLA,R4;与上次值XX比较JZD3;A

8、CC=0表示未放MOVA,R2;按钮已松开,取码指针载入MOVDPTR,#KEYSCAN_TABMOVCA,@A+DPTRSETBFLAG_KEY;键盘扫描一次有输入标志位置位MOVKEYBUFF,A;键盘码放入键盘存储器KEYBUFFRET;==============================

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

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

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