打印

请教4x4矩阵键盘

[复制链接]
3018|16
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
zxser09|  楼主 | 2010-1-25 18:55 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
我现在想写这样一段程序,实现如下功能:我按下第一个键显示0,当我接着按第一个键时数字往上递增,一直到F,到F后归0继续这样循环。按第二个按键显示1,继续按第二个键数字也往上递增。接下来的14个按键 都要有相应功能。请问如何实现,用C的 。

相关帖子

沙发
zxser09|  楼主 | 2010-1-25 22:24 | 只看该作者
:'(

使用特权

评论回复
板凳
HWM| | 2010-1-25 23:33 | 只看该作者
4X4键盘扫描接口相关设计是非常经典的内容,找本微机原理和接口技术的书好好看看。至于那些功能,(估计)只是为了测试你的接口技术假设的而已,非常简单。

使用特权

评论回复
地板
bbsidking| | 2010-1-25 23:47 | 只看该作者
您是要程序?

使用特权

评论回复
5
zxser09|  楼主 | 2010-1-25 23:53 | 只看该作者
关键偶现在写不出来~这是我自己想的~·我买了板子在玩···不知道怎么写了

使用特权

评论回复
6
maychang| | 2010-1-26 10:03 | 只看该作者
很基本的功能。估计楼主以前没有写过多少程序。
检测到有键按下,再检测是否释放,若未释放开始计时,每零点几秒加一,若释放返回。
单片机里面当然需要若干字节记录计数值。根据计数值显示。
需要用到定时中断。
这倒是锻炼新手的一个好习题。

使用特权

评论回复
7
zxser09|  楼主 | 2010-1-26 18:05 | 只看该作者
哦 p3口用来做按键控制了。这时候再用开定时 和中断,对按键有没影响啊?比如EA=1 啊什么的

使用特权

评论回复
8
maychang| | 2010-1-26 18:30 | 只看该作者
7楼:
照3楼说的话办。

使用特权

评论回复
9
zxser09|  楼主 | 2010-1-26 19:16 | 只看该作者
哦,手上没这书```   thanks。16个按键能扫描检测出来,但是用定时中断来怎么实现:当我再次按下第一个按键它能从原来的0变为1,依次这样下去。

使用特权

评论回复
10
zxser09|  楼主 | 2010-1-28 20:01 | 只看该作者
这么多天 还是不会,高手指点下

使用特权

评论回复
11
maychang| | 2010-1-28 20:29 | 只看该作者
5楼说买了开发板,基本的几个实验如走马灯,显示单个按键,等等,做了吗?

使用特权

评论回复
12
zxser09|  楼主 | 2010-1-28 20:37 | 只看该作者
做了··· 基本上都会了···就做到这按键就卡主了··· 独立按键会的!!因为可以设置变量按一下num++ ,但是16个按键对应显示出我按得是哪个键,并且接着按同一个按键往上递增  就不知道怎么实现啊!!!大虾 指点下

使用特权

评论回复
13
maychang| | 2010-1-28 20:41 | 只看该作者
那么独立按键是如何实现的?是轮流查询各线,还是在定时中断例程里面检查按键?

使用特权

评论回复
14
zxser09|  楼主 | 2010-1-28 20:47 | 只看该作者
独立按键我就查询那个IO口是否变为低了,要是变低了 我就认为它按下了(稍微延时的),没用到什么定时 和中断!

使用特权

评论回复
15
maychang| | 2010-1-28 21:03 | 只看该作者
那是低等级的程序。
试写使用定时中断的读键程序。定时中断时间可以设置成10ms,那么就是每10ms检查一次按键,每次检查按键是将键码读入,存到一RAM中,再检查是否与上次读入的键码相同,如相同,可认为已经经过延时,确认此键码(执行操作)并建一个已执行标志(下次若遇已执行标志则不重复执行)。若不同,则将本次键码送入上次键码存储RAM,不能确认(不执行)。
这是比较高级一点的程序。
走马灯也可以利用定时中断。
此帖宜发单片机版面。

使用特权

评论回复
16
maychang| | 2010-1-28 21:04 | 只看该作者
上面的在定时中断例程中读键完成,再说你那个长按键加一操作。

使用特权

评论回复
17
elenment| | 2010-1-28 21:34 | 只看该作者
啊 用中断做键盘扫描响应??

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

81

主题

208

帖子

0

粉丝