这个程序,没有灯亮,大神请赐教

2019-07-15 09:08发布

#include<reg51.h>

#define uchar unsigned char

sbit D1=P0^7;
sbit D2=P0^6;
sbit k1=P1^0;

uchar num;

void delay(uchar);

void main()
{
        P0=0x00;
        while(1)
        {
                if(k1==0);
                {
                        delay(10);
                        D1=0;
                }
                if(k1!=0);
                {
                        delay(10);
                        D2=0;
                }
        }
}

void delay(uchar z)
{
        uchar x,y;
        for(x=z;x>0;x--)
                for(y=100;y>0;y--);
}

友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
8条回答
人中狼
2019-07-15 19:56
查看电路吧,看程序你的灯是阳极接正,单片机引脚置0则灯亮,那么开关只有0和1两个状态,所以总会有一个灯是亮的,P0口需要接上拉电阻,灯需要加一个限流电阻,另外程序里没有关灯的操作,也就是D1,D2置1的操作,所以假设电路正确,程序正确的话,你的灯在进行过一次按键操作后,灯就会常亮不灭了

一周热门 更多>