- 1、本文档共9页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
9.8 键盘接口
§9.8 键盘接口 ;程序清单:START:MOV? A,#0FFH?
MOV? P1,A?;?
???????????? MOV ??A,P1?;???????????? ?????????????JNB??? ACC.0,K0;?
JNB??? ACC.1,K1;???
????????????? ???????? .............................?????????????JNB??? ACC.7,K7;; 行线与列线之间接入按键?? 以4*4为例(共16键)1)? 键结构;二.单片机对非编码键盘的扫描;程序流程图:;键盘输入子程序
清单:??KEY:MOV? P1,#0FH;????????列全为0???????????? MOV? A ,P1;????? ???????读行???????????? ANL?? A,#0FH;??????? 保留行值???????????? CJNZ? A,#0FH,KEY1;? 判断有键闭否,有则转。???????????? LCALL? DIR;?????????? 无则调显示???????????? RET? KEY1:LCALL? DIR;????????????有调显示?????????????LCALL? DIR;???????????重复调用延时作用,以便消抖?????????????MOV? A,#0EFH;?????? 列扫描初值P1.4=0?????????????MOV? R2,A;??????????? 把列值存入R2?????????????MOV? R4,#00H;??????? 置该列首键号;? LONE:JB? ACC.1,LTW0;???? 查1行????????????? MOV? A,#01H;????? 闭合键行号送ACC????????????? AJMP? LKP??LTWO:JB? ACC.2? LTHR?????????????MOV? A,#02H??????????? AJMP? LKP??LTHR:JB? ACC.3,NEXT;?????????????MOV? A,#03H?? LKP:?ADD? A,R4????? ?????; 计算闭合键号?????????????PUSH? A? KEY2:MOV A,P1???????? ; 查按键是否释放???????????? ANL? A,#0FH???????????? CJNZ? A,#0FH,KEY2???????????? LCALL? DIR???????????;已释放,消键抖???????????? LCALL? DIR???????????? POP A??????????????;出栈???????????? LCALL? OPEAT???????;调用键操作子程序???????????? RET;? NEXT:?????INC? R4???????????? INC? R4???????????? INC? R4???????????? INC? R4?????????????? ;指向下一列首键号???????????? MOV? A,R2????????????;列值送ACC???????????? JNB? ACC.7,KND?;?????是否扫描一遍????????? ???RL?? A???????????????;未扫完,ACC左移继续扫???????????? MOV? R2 ,A???????????? AJMP? LK???KND:???AJMP? KEY;实际键盘接口利用8155扩展后的A或B口来构造矩阵键盘
文档评论(0)