找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 4299|回复: 6
打印 上一主题 下一主题
收起左侧

单片机不用中断,如何做到按键及时响应?

[复制链接]
跳转到指定楼层
楼主
ID:709761 发表于 2021-7-10 08:04 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
如题
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖 顶 踩
回复

使用道具 举报

沙发
ID:328014 发表于 2021-7-10 14:53 | 只看该作者
循环扫描按键即可,不过有一定的局限性
回复

使用道具 举报

板凳
ID:641314 发表于 2021-7-10 15:29 | 只看该作者
可以试试用定时器中断去扫描按键的IO口 这样不受主循环时间的影响
回复

使用道具 举报

地板
ID:123289 发表于 2021-7-10 16:00 | 只看该作者
本帖最后由 yzwzfyz 于 2021-7-12 09:14 编辑

不停地扫键!
做不到完全及时,响应时间最坏的情况下,接近一个扫键周期。
回复

使用道具 举报

5#
ID:451718 发表于 2021-7-10 16:40 | 只看该作者
1.把按键扫描放在主循环程序中第一步。
2.尽量不要在主程序中用delay()函数,包括按键防抖处理。
3.如果有并口的屏显处理,尽量做动态刷新,不变的字符不需要每个循环都刷新。

做到以上几点,你的按键扫描肯定快过你生理神经反应速度
回复

使用道具 举报

6#
ID:483991 发表于 2021-7-10 21:44 | 只看该作者
用break语句,在执行的语句中加进去,神奇坛子里早有案例了!祝你好运!
回复

使用道具 举报

7#
ID:887202 发表于 2021-7-11 09:48 来自手机 | 只看该作者
定义一个全局变量,在主循环里不断去检测按键io口的电平,检测到为低全局变量加一,当这个全局变量加到某一个数的时候就认为按键已经按下,然后就可以全局变量赋值为0
回复

使用道具 举报

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

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表