标题: 单片机如何实现抢答器锁定第一位抢答? [打印本页]

作者: 夜空。    时间: 2020-3-15 16:54
标题: 单片机如何实现抢答器锁定第一位抢答?
有没有哪位大神说下用51单片机做抢答器是怎么实现锁定第一位抢答,其他人无法再抢答的。
作者: csmyldl    时间: 2020-3-15 19:04
硬件电路所有按键共一个外部中断,一旦有中断,读出当前中断状态,然后禁止中断,直至人工解除才可再次中断
作者: xxpp2011    时间: 2020-3-15 20:49
本帖最后由 xxpp2011 于 2020-3-16 09:07 编辑

while(1)
{
unsigned char i;
i=0;
if(p1.0==1){i=1;输出i抢答成功;while(P2.0==0);};//P2.0为复位键,P1.0-P1.7为8路抢答键
if(p1.1==1){i=2;输出i抢答成功;while(P2.0==0);};
...
}
作者: hantu    时间: 2020-3-16 00:49
立个标志就行了
作者: 夜空。    时间: 2020-3-16 08:55
csmyldl 发表于 2020-3-15 19:04
硬件电路所有按键共一个外部中断,一旦有中断,读出当前中断状态,然后禁止中断,直至人工解除才可再次中断

        请问下程序里面有哪句是起到禁止中断作用的吗
switch(P1)//检测哪位选手按下抢答按钮
        {
                case 0xfe://1号
                beep = 1;        //蜂鸣器响
                delay50ms(20);
                beep = 0;
                        qd_num = 1;//回答选手号为1
                        qd_time = 30;
                        timeout_num=0;
                        InitTimer0();
                        break;
作者: xianfajushi    时间: 2020-3-16 09:01
https://blog.csdn.net/xianfajush ... ch_result.none-task
作者: 天地一微尘    时间: 2020-3-17 09:55
当检测到某一个按键被按下,对应指示灯亮起,然后进入死循环……这不就可以了??




欢迎光临 (http://www.51hei.com/bbs/) Powered by Discuz! X3.1