跪求大神给我用c语言编程,用51单片机控制3个按键和3个发光二极管,设置一个3人抢答器,要求当有某

跪求大神给我用c语言编程,用51单片机控制3个按键和3个发光二极管,设置一个3人抢答器,要求当有某一参赛者首先按下抢答开关时,相应的LED灯亮,此时抢答器不再接收其他输入信号,需按复位键才能重新开始抢答,求大神帮我编一下程

最容易理解的写法:
设置b1、b2、b3、reset四个按钮(按下为0)和对应的LED1、LED2、LED3三个灯(点亮为0)
int reset, b1,b2,b3,LED1,LED2,LED3;
while(1)
{
(读取reset)
    if(reset==0)
    {
        LED1=LED2=LED3=1;
        read=1;
    }
    if(read==1)
    {
        (读取b1, b2, b3);
        if(b1==0)
        {
            LED1=0;
            read=0;
        }
        elseif(b2==0)
        {
            LED2=0;
            read=0;
        }
        elseif(b3==0)
        {
            LED3=0;
            read=0
        }
        else LED1=LED2=LED3=1;
    }
}

追问

我试一试

追答

不一定对哈……我没玩过单片机……

追问

开头怎么写的

衔接这个

追答

那个我就真不知道了……应该是设置引脚之类的吧……并没有玩过……

追问

这样可以么

追答

你在电脑上看……就是定义几个变量而已……不是别的。而且我觉得你可能需要设置引脚什么的。

追问

那怎么玩

追答

这个……你可能要查一下单片机开头怎么编……貌似是有一些说法的。而且我好像忘记输出了……

追问

试了,不得行。。。

追答

怎么呢?我看看程序。

追问

老师说设置引脚是这样的,你再看看

追答

应该是这样的,你写输出了吗?

追问

没有
怎么写

追答

……

你等一会儿

sbit b1=P3^4;
sbit b2=P3^5;
sbit b3=P3^6;
sbit rst=P3^7;

sbit l1=P3^4;
sbit l2=P3^5;
sbit l3=P3^6;

l1=l2=l3=1;

int main()
{
    unsigned char read;
    while(1)
    {
        if(rst==0)
        {
            l1=l2=l3=1;
            read=1;
        }
        if(read==1)
        {
            if(b1==0)
            {
                l1=0;
                read=0;
            }
            if(b2==0)
            {
                l2=0;
                read=0;
            }
            if(b3==0)
            {
                l3=0;
                read=0
            }
    }
return 0;
}

改一下6~8行,那是led的口,写错了

温馨提示:答案为网友推荐,仅供参考
相似回答