完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
[C] 纯文本查看 复制代码
/********************************按独立按键使数码管加1********************************/ #include |
|
相关推荐
6个回答
|
|
我觉得你得想个办法不用定时器才好!又不需要精确延时,没必要浪费个定时器。。有时候51的资源很紧张的(实际应用的时候)……个人观点!
|
|
|
|
输入接口相对于输出接口,输入接口需要做去斗,而按键对应输入接口不仅去斗很关键还得判断按键的属性,即按下执行,长按执行,释放执行,连续执行等。
可以了解前后台系统,定时器做为一个系统节拍,可以把一些按键输入,IO输入,蜂鸣器输出,指示灯输出,延时计数放到定时中断处理,中断处理任务有一个特性就是快速不等待,有事件改变时标记处理。截图是我蜂鸣器处理模块处理,按键可以根据思路编写。 蜂鸣器.h文件 #ifndef _BEEP_H #define _BEEP_H GLOBAL void ProF_10mS_Beeper(void); //提供定时中断10mS调用一次 GLOBAL void SetBeep(u8 num,u8 time_on,u8 time_off); //用户API 参数1:蜂鸣器响的次数 参数2:蜂鸣器响的时长 参数3:蜂鸣器间隔时长。 #endif |
|
|
|
你这个思路是正确的,我也是用这样的方法扫面按键的,这样大大的节省了CPU的时间
|
|
|
|
如果,4X4这个就要费力了。
|
|
|
|
消抖思路正确,就是用定时器,如果改为软件定时器就会大大节省硬件资源。同时驱动和按键个数无关,楼主可自行测试。
|
|
|
|
思想确实可以借鉴,学到了
|
|
|
|
只有小组成员才能发言,加入小组>>
3309 浏览 9 评论
2988 浏览 16 评论
3490 浏览 1 评论
9050 浏览 16 评论
4085 浏览 18 评论
1169浏览 3评论
602浏览 2评论
const uint16_t Tab[10]={0}; const uint16_t *p; p = Tab;//报错是怎么回事?
594浏览 2评论
用NUC131单片机UART3作为打印口,但printf没有输出东西是什么原因?
2331浏览 2评论
NUC980DK61YC启动随机性出现Err-DDR是为什么?
1894浏览 2评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-12-19 22:36 , Processed in 1.213579 second(s), Total 90, Slave 70 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号