4447|6

16

帖子

0

TA的资源

一粒金砂(中级)

楼主
 

各种各样的矩阵键盘扫描程序集 [复制链接]

各种各样的矩阵键盘扫描程序集

最简单矩阵键盘扫描程序
key:mov p0,#00001111b;上四位和下四位分别为行和列,所以送出高

低电压检查有没有按键按下
jmp k10;跳到K10处开始扫描,这里可以改成其它条件转移指令来决

定本次扫描是否要继续,例如减1为0转移或者位为1或0才转移,这主

要用来增加功能,确认上一按键功能是否完成?是否相当于经过了延

时?是否要封锁键盘?
goend:jmp kend;如果上面判断本次不执行键盘扫描程序,则立即转

到程序尾部,不要浪费CPU的时间
k10:jb p0.0,k20;扫描正式开始,先检查列1四个键是否有键按下,

如果没有,则跳到K20检查列2
k11:mov p0,#11101111b;列1有键按下时,P0.0变低,到底是那一个键

按下?现在分别输出各行低电平
jb p0.0,k12;该行的键不按下时,p0.0为高电平,跳到到K12,检查其

它的行
mov r1,#1;如果正好是这行的键按下,将寄存器R0写下1,表示1号键

按下了
k12:mov p0,#11011111b
jb p0.0,k13
mov r1,#2;如果正好是这行的键按下,将寄存器R0写下2,表示2号键

按下了
k13:mov p0,#10111111b
jb p0.0,k14
mov r1,#3;如果正好是这行的键按下,将寄存器R0写下3,表示3号键

按下了
k14:mov p0,#01111111b
jb p0.0,kend;如果现在四个键都没有按下,可能按键松开或干扰,

退出扫描(以后相同)
mov r1,#4如果正好是这行的键按下,将寄存器R0写下4,表示4号键

按下了
jmp kend;已经找到按下的键,跳到结尾吧

k20:jb p0.1,k30;列2检查为高电平再检查列3、4
k21:mov p0,#11101111b;列2有健按下时,P0.0会变低,到底是那一

行的键按下呢?分别输出行的低电平
jb p0.1,k22;该行的键不按下时p0.0为高电平,跳到到K22,检查另

外三行
mov r1,#5;如果正好是这行的键按下,将寄存器R0写下5,表示5号键

按下了(以后相同,不再重复了)
k22:mov p0,#11011111b
jb p0.1,k23
mov r1,#6
k23:mov p0,#10111111b
jb p0.1,k24
mov r1,#7
k24:mov p0,#01111111b
jb p0.1,kend
mov r1,#8
jmp kend;已经找到按下的键,跳到结尾吧(以后相同,不要重复了



k30:jb p0.2,k40
k31:mov p0,#11101111b
jb p0.2,k32
mov r1,#9
k32:mov p0,#11011111b
jb p0.2,k33
mov r1,#10
k33:mov p0,#10111111b
jb p0.2,k34
mov r1,#11
k34:mov p0,#01111111b
jb p0.2,kend
mov r1,#12
jmp kend

k40:jb p0.3,kend
k41:mov p0,#11101111b
jb p0.3,k42
mov r1,#13
k42:mov p0,#11011111b
jb p0.3,k43
mov r1,#14
k43:mov p0,#10111111b
jb p0.3,k44
mov r1,#15
k44:mov p0,#01111111b
jb p0.3,kend
mov r1,#16
kend: ret
由于程序太多,需要更多的例程的朋友加我QQ
105924486!
此帖出自单片机论坛

最新回复

非常翔实的资料,谢谢版主  详情 回复 发表于 2009-8-23 18:49
点赞 关注
 

回复
举报

16

帖子

0

TA的资源

一粒金砂(中级)

沙发
 
大家不顶,自已狂顶!!
此帖出自单片机论坛
 
 

回复

324

帖子

0

TA的资源

五彩晶圆(高级)

板凳
 
顶啦,下次有什么好东西传上来哪!
此帖出自单片机论坛
 
 
 

回复

73

帖子

0

TA的资源

纯净的硅(高级)

4
 
顶~~~~~~~~~~~~~~~~~~~~~~~~~
此帖出自单片机论坛
 
 
 

回复

272

帖子

0

TA的资源

一粒金砂(初级)

5
 
顶啦,下次有什么好东西传上来哪
此帖出自单片机论坛
 
 
 

回复

38

帖子

0

TA的资源

一粒金砂(高级)

6
 
顶啦,下次有什么好东西传上来哪
此帖出自单片机论坛
 
 
 

回复

273

帖子

0

TA的资源

五彩晶圆(中级)

7
 
非常翔实的资料,谢谢版主
此帖出自单片机论坛
 
 
 

回复
您需要登录后才可以回帖 登录 | 注册

随便看看
查找数据手册?

EEWorld Datasheet 技术支持

相关文章 更多>>
关闭
站长推荐上一条 1/10 下一条

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

站点相关: 国产芯 安防电子 汽车电子 手机便携 工业控制 家用电子 医疗电子 测试测量 网络通信 物联网

北京市海淀区中关村大街18号B座15层1530室 电话:(010)82350740 邮编:100190

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2025 EEWORLD.com.cn, Inc. All rights reserved
快速回复 返回顶部 返回列表