简述单片机数字键盘键盘扫描工作过程

 下载
 收藏
该文档贡献者很忙,什么也没留下。
 下载此文档
正在努力加载中...
单片机按键模块设计
下载积分:
内容提示:单元5
按键模块设计
1,数码管显示原理?
2,静态数码管工作原理?
3,动态数码管工作原理?
4,at89c51有几个定时器?各是多少位的?请简述定时器实现定时原理?
5,8051单片机定时/计数器工作方式有多少种?
6,如何设置8051单片机工作在定时/计数模式下?
7,如何启动定时器工作?
8,请简述ds1302读取时间的编程过程?
本单元任务
独立式键盘设计
键盘中断设计
矩阵式键盘设计
多个外部中断设计
独立式键盘设计
独立式键盘工作原理及应用
独立式键盘的组成是由若干个按键与单片机的i/o口一一的对应连接,然后通过读取单片机i/o的电平状态来确认哪个对应的按键被按下,一般一个独立式按键对应一个功能,可以通过按键的组合来实现多个功能。
抖动:当用手按下一个键时,往往出现按键在闭合和断开位置之间来回跳动多次才能到闭合稳定状态的现象;在 释放一个键时,也会出现类似的情况,这种情况就是抖动。按下一个键时产生前沿抖动,释放一个键时产生后沿抖动。抖动的持续时间随键盘簧片的材料和操作员而异,通常在5~10ms。而5~10ms已经对程序进行多次循环扫描执行,显而易见,抖动问题不解决,就会引起对闭合键的多次识别。 。
应用举例:例5-1
#include'at89x51.h'
void main()
文档格式:PPT|
浏览次数:2|
上传日期: 08:25:35|
文档星级:
该用户还上传了这些文档
官方公共微信
下载文档:单片机按键模块设计.PPT简述单片机键盘扫描工作过程_百度知道
简述单片机键盘扫描工作过程
提问者采纳
不是设置,而是需要你写一个键盘扫描程序就可以了! 设置键盘程序?是设计吧?要根据键盘电路,来设计。电路不同,程序就不同。 用C的话;就是
其他类似问题
单片机的相关知识
其他2条回答
这个思路还是比较简单的,实现起来方法很多,首先判断有没按键按下,再过一个按键抖动时间再次检测,如果还是按了,就查键值。你讲的是扫描过程,这个实现起来方法也很多,行列式的可行处列入,也可列出行入,还要看你是在按键按下时处理还是在按键弹起是处理。
答:比如行扫描法,就是通过行线发出低电平信号,如果该行线所连接的键没有按下的话,则列线所连接的输出端口得到的是全“1”信号;如果有键按下的话,则得到的是非全“1”信号。首先,为了提高效率,一般先快速检查整个键盘中是否有键按下;然后,再确定按下的是哪一个键。其次,再用逐行扫描的方法来确定闭合键的具体位置。方法是:先扫描第0行,即输出1110(第0行为“0”,其余3行为“1”),然后读入列信号,判断是否为全“1”。
等待您来回答
下载知道APP
随时随地咨询
出门在外也不愁key 单片机键盘扫描程序_百度文库
两大类热门资源免费畅读
续费一年阅读会员,立省24元!
文档贡献者贡献于
评价文档:
11页4下载券20页免费7页免费4页免费3页免费 4页免费2页免费2页免费4页1下载券4页免费
喜欢此文档的还喜欢15页免费8页免费
key 单片机键盘扫描程序|单​片​机​键​盘​扫​描​及​数​码​管​显​示​程​序​。​详​细​注​释​版​。
把文档贴到Blog、BBS或个人站等:
普通尺寸(450*500pix)
较大尺寸(630*500pix)
大小:4.84KB
登录百度文库,专享文档复制特权,财富值每天免费拿!
你可能喜欢键盘扫描原理及应用键盘是由按键构成,是单片机系统里最常用的输入设备。我们可以通过键 - 下载频道 - CSDN.NET
&&&&键盘扫描原理及应用键盘是由按键构成,是单片机系统里最常用的输入设备。我们可以通过键
&键盘扫描原理及应用键盘是由按键构成,是单片机系统里最常用的输入设备。我们可以通过键
想学单片机扫描的看这里.键盘是由按键构成,是单片机系统里最常用的输入设备。我们可以通过键
盘输入数据或命令来实现简单的人-机通信。
若举报审核通过,可奖励20下载分
被举报人:
tomzhang100
举报的资源分:
请选择类型
资源无法下载
资源无法使用
标题与实际内容不符
含有危害国家安全内容
含有反动色情等内容
含广告内容
版权问题,侵犯个人或公司的版权
*详细原因:
您可能还需要
Q.为什么我点的下载下不了,但积分却被扣了
A. 由于下载人数众多,下载服务器做了并发的限制。若发现下载不了,请稍后再试,多次下载是不会重复扣分的。
Q.我的积分不多了,如何获取积分?
A. 传优质资源可以获取积分,详细见。选择完成有奖的任务,可以获取积分。选择购买VIP会员服务,无需积分下载资源。评价资源返积分:第一次绑定手机,将获50下载积分及100论坛可用分。论坛可用分兑换下载积分。
下载资源意味着您已经同意遵守以下协议
资源的所有权益归上传用户所有
未经权益所有人同意,不得将资源中的内容挪作商业或盈利用途
CSDN下载频道仅提供交流平台,并不能对任何下载资源负责
下载资源中如有侵权或不适当内容,
本站不保证本站提供的资源的准确性,安全性和完整性,同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
开发技术下载排行
你下载资源过于频繁,请输入验证码
如何快速获得积分?
你已经下载过该资源,再次下载不需要扣除积分
键盘扫描原理及应用键盘是由按键构成,是单片机系统里最常用的输入设备。我们可以通过键
所需积分:7
剩余积分:
VIP会员,免积分下载
会员到期时间:日
剩余下载次数:1000五一电子阅读:《学单片机》—《最简单的矩阵键盘扫描程序 》
注意:访问本站需要Cookie和JavaScript支持!请设置您的浏览器!
打开购物车
搜索上次看见的商品或文章:
选择分类:当前分类——学单片机
相关联或者相类似的文章:
<font color=#FF)<font color=#FF)<font color=#FF)<font color=#FF)<font color=#FF)<font color=#FF)<font color=#FF)<font color=#FF)<font color=#FF)<font color=#FF)<font color=#FF)<font color=#FF)<font color=#FF)<font color=#FF)<font color=#FF)<font color=#FF)<font color=#FF)<font color=#FF)<font color=#FF)<font color=#FF)现有 198 篇,分 10 页,第 1 页首页 前页
   本站推荐:
最简单的矩阵键盘扫描程序文章长度[<font color=#FF] 加入时间[<font color=#FF-1] 更新时间[<font color=#FF-25 11:10:50] 级别[3] [] [收藏]  这是站长初学单片机时写的最简单、最详细、效率最高的矩阵键盘扫描程序,只用了四条常用命令(MOV/送数、JB/高电平转移、JMP/直接转移、RET/子程序返回),保证初学者一看就懂!之所以称为最简单,是因为加上子程序返回指令(RET)一共只用了四条最常用的指令!本程序已经在本站电子实验板上验证通过,占用CPU时间少,效率高,被选作单片机的测试程序!(本站198元的单片机套件中还有一例子中采用了更新更简短的代码写成了另一个矩阵键盘扫描程序。)  矩阵按键扫描程序是一种节省IO口的方法,按键数目越多节省IO口就越可观,本程序的思路跟书上一样:先判断某一列(行)是否有按键按下,再判断该行(列)是那一只键按下。但是,在程序的写法上,站长采用了最简单的方法,使得程序效率最高。  本程序中,如果检测到某键按下了,就不再检测其它的按键,这完全能满足绝大多数需要,又能节省大量的CPU时间。另外,本人认为键盘用延时程序来消除抖动,完全是浪费时间。试想,如果不用中断执行(用中断执行需要更多的硬件资源)的方法来扫描键盘,每秒钟扫描20-100次,每次都要延时10-20MS的话,我们的单片机还有多少时间做正事呢?所以,很多人学会了单片机,最终确做不出产品(除非产品跟例子一样)。  其实,延时的这段时间,CPU可以做其它的事呀。所以,本键盘扫描程序的前面后面都可以加入少少代码,既可以达到完美的消抖动效果,又可以扩展其它的功能(例如按键封锁、按键长按等按键功能复用!)。注意:以上都是当时的看法,不过,现在还是很有用。  本键盘扫描子程序名叫key,每次要扫描时用call key调用即可。以下子程序内容:key:mov p0,#b;上四位和下四位分别为行和列,所以送出高低电压检查有没有按键按下jmp k10;跳到K10处开始扫描,这里可以改成其它条件转移指令来决定本次扫描是否要继续,例如减1为0转移或者位为1或0才转移,这主要用来增加功能,确认上一按键功能是否完成?是否相当于经过了延时?是否要封锁键盘?goend:如果上面判断本次不执行键盘扫描程序,则立即转到程序尾部,不要浪费CPU的时间k10:jb p0.0,k20;扫描正式开始,先检查列1四个键是否有键按下,如果没有,则跳到K20检查列2k11:mov p0,#b;列1有键按下时,P0.0变低,到底是那一个键按下?现在分别输出各行低电平jb p0.0,k12;该行的键不按下时,p0.0为高电平,跳到到K12,检查其它的行mov r1,#1;如果正好是这行的键按下,将寄存器R0写下1,表示1号键按下了k12:mov p0,#bjb p0.0,k13mov r1,#2;如果正好是这行的键按下,将寄存器R0写下2,表示2号键按下了k13:mov p0,#bjb p0.0,k14mov r1,#3;如果正好是这行的键按下,将寄存器R0写下3,表示3号键按下了k14:mov p0,#bjb p0.0,如果现在四个键都没有按下,可能按键松开或干扰,退出扫描(以后相同)mov r1,#4如果正好是这行的键按下,将寄存器R0写下4,表示4号键按下了已经找到按下的键,跳到结尾吧k20:jb p0.1,k30;列2检查为高电平再检查列3、4 k21:mov p0,#b;列2有健按下时,P0.0会变低,到底是那一行的键按下呢?分别输出行的低电平jb p0.1,k22;该行的键不按下时p0.0为高电平,跳到到K22,检查另外三行mov r1,#5;如果正好是这行的键按下,将寄存器R0写下5,表示5号键按下了(以后相同,不再重复了)k22:mov p0,#bjb p0.1,k23mov r1,#6k23:mov p0,#bjb p0.1,k24mov r1,#7k24:mov p0,#bjb p0.1,kendmov r1,#8已经找到按下的键,跳到结尾吧(以后相同,不要重复了)k30:jb p0.2,k40k31:mov p0,#bjb p0.2,k32mov r1,#9k32:mov p0,#bjb p0.2,k33mov r1,#10k33:mov p0,#bjb p0.2,k34mov r1,#11k34:mov p0,#bjb p0.2,kendmov r1,#12jmp kendk40:jb p0.3,kendk41:mov p0,#bjb p0.3,k42mov r1,#13k42:mov p0,#bjb p0.3,k43mov r1,#14k43:mov p0,#bjb p0.3,k44mov r1,#15k44:mov p0,#bjb p0.3,kendmov r1,#16kend: ret  键盘扫描结束了,寄存器R1的值就直接表示了是那个键按下的,根据不同的键值去执行不同的程序,从而实现了十六个矩阵键盘扫描,同样原理,最多可以识别255个按键的矩阵扫描。  我们可以每次键盘扫描开始时检查R0的值是否为0,只有在为0才扫描键盘,不为0就证明刚刚扫描过键值,相应的按键工作还没有完成。但是必须记得,每个按键命令执行完成后,要给R0写上0,表示可以扫描键盘。  本键盘扫描程序的优点在于:不用专门的按键延时程序,提高了CPU效率,也不用中断来扫描键盘,节省了硬件资源。另外,本键盘扫描程序,每次扫描占用CPU时最短,不论有键按下或者无键按下都可以在很短的时间完成一次扫描。(2007年更新:其实占用CPU多少时间无关紧要,最要紧的就是能将CPU的时间合理的分配给每一个任务,当时是因为当时程序任务中采用了多字节数据的乘除运算,对CPU时间特别紧张才有这样的看法。)  还有,本程序只使用几条最常用的汇编命令,MOV/JB/JMP/RET,而这几条命令是最常用、最易懂、最好学的命令!有的键盘扫描程序还用与呀、或呀、移位呀、查表呀,我都还没有看懂。  当然,以上只是站长初学单片机的一点个人见解,欢迎广大单片机爱好者指正,希望大家将自己最认可的键盘扫描程序公布出来,让大家一起分享!最后,五一电子祝愿大家学习进步!工作顺利!  说明:本站数显FM无线发射板中虽然不是用矩阵扫描,但是按键消抖动原理和上面相同,按键功能复用原理也和上面相同,用起来感觉很好!在键盘的10MS延时过程中,CPU刚好可以去做几件事并在10MS左右做完。所以,产品中凡是要用到按键扫描的,都可以让CPU去做别的事情,键盘延时消抖动唯一的好处就是,程序写起来会方便一点。 [] 1、 本站不保证以上观点正确,就算是本站原创作品,本站也不保证内容正确。 2、如果您拥有本文版权,并且不想在本站转载,请书面通知本站立即删除并且向您公开道歉!
以上可能是本站收集或者转载的文章,本站可能没有文章中的元件或产品,如果您需要类似的商品请
深圳市宝安区西乡五壹电子商行——;地址:深圳西乡河西四坊189号;邮编:518102
E-mail:($改为@);Tel:(28 ;Fax:(75工作时间:9:30-12:00和13:30-17:30和18:30-20:30,无人接听时可以再打手机}

我要回帖

更多关于 单片机数字键盘 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信