单片机控制抢答器如何解决同时按键问题
答案:3 悬赏:0 手机版
解决时间 2021-03-30 21:49
- 提问者网友:记得曾经
- 2021-03-30 09:14
单片机控制抢答器如何解决同时按键问题
最佳答案
- 五星知识达人网友:鱼芗
- 2020-01-17 05:29
绝对同时是不可能的,看你的要求有多严格了
中断的话,单片机大概可以识别微秒级别的时间差;如果利用锁存器,可达到纳秒级别
利用中断最适宜的做法是中断响应后立即保存相应8位端口(可实现一条指令捕捉8个I/O的状态)数据,然后判断该次取样是否有效
所谓的有效,当然就是仅有一个I/O被触发,输出相应指示就可以了
一个以上I/O被触发有三种处理方法:1,诚实点,声明该次抢答无效;2,宣布同时触发的人中奖了,这概率的确不高;3,龌龊的,随机抽取一个被触发的端口,报告为最先触发。
(作为抢答器还有第四个选择,就是列出所有选项由使用者决定同时触发的处理办法)
推荐高速CMOS锁存器方案,成本不高,运作可靠(同样要考虑同时触发的可能,虽然可能性更低,但不是0,作为产品设计一定要严谨防患于未然,如果国人能学学日本人的敬业精神,made in China也就不至于满世界的丢人现眼了)
中断的话,单片机大概可以识别微秒级别的时间差;如果利用锁存器,可达到纳秒级别
利用中断最适宜的做法是中断响应后立即保存相应8位端口(可实现一条指令捕捉8个I/O的状态)数据,然后判断该次取样是否有效
所谓的有效,当然就是仅有一个I/O被触发,输出相应指示就可以了
一个以上I/O被触发有三种处理方法:1,诚实点,声明该次抢答无效;2,宣布同时触发的人中奖了,这概率的确不高;3,龌龊的,随机抽取一个被触发的端口,报告为最先触发。
(作为抢答器还有第四个选择,就是列出所有选项由使用者决定同时触发的处理办法)
推荐高速CMOS锁存器方案,成本不高,运作可靠(同样要考虑同时触发的可能,虽然可能性更低,但不是0,作为产品设计一定要严谨防患于未然,如果国人能学学日本人的敬业精神,made in China也就不至于满世界的丢人现眼了)
全部回答
- 1楼网友:迟山
- 2020-06-04 23:30
主要就是对选手按键的时间先后,鉴别力不够。
单片机速度太低,通常要隔十几个微秒,才检测一次按键,此期间,虽然有选手_先_后_按_键_,但是单片机却是同时读取,然后按照内定的程序报出一个选手的号码。明显有失公平。
如果使用电子电路构成抢答电路,可以将鉴别时间控制在纳秒的级别。
- 2楼网友:夜风逐马
- 2020-12-05 05:21
用中断解决,两个按键总会有时间差,人感觉不出来,单片机是能判断出来的。中断一旦响应,立刻屏蔽掉其它按键
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯