找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 2400|回复: 6
收起左侧

单片机如何实现抢答器锁定第一位抢答?

[复制链接]
ID:350902 发表于 2020-3-15 16:54 来自手机 | 显示全部楼层 |阅读模式
有没有哪位大神说下用51单片机做抢答器是怎么实现锁定第一位抢答,其他人无法再抢答的。
回复

使用道具 举报

ID:235200 发表于 2020-3-15 19:04 | 显示全部楼层
硬件电路所有按键共一个外部中断,一旦有中断,读出当前中断状态,然后禁止中断,直至人工解除才可再次中断
回复

使用道具 举报

ID:452950 发表于 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);};
...
}
回复

使用道具 举报

ID:462827 发表于 2020-3-16 00:49 | 显示全部楼层
立个标志就行了
回复

使用道具 举报

ID:350902 发表于 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;
回复

使用道具 举报

ID:332444 发表于 2020-3-16 09:01 | 显示全部楼层
回复

使用道具 举报

ID:709787 发表于 2020-3-17 09:55 来自手机 | 显示全部楼层
当检测到某一个按键被按下,对应指示灯亮起,然后进入死循环……这不就可以了??
回复

使用道具 举报

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

本版积分规则

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

Powered by 单片机教程网

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