本帖最后由 ll13536121668 于 2019-2-27 11:18 编辑
按1次亮1个灯.rar
(581 Bytes, 下载次数: 11)
51单片机 用按键按1次亮1个灯 不能通过Keil输出生成代码劳烦各位那里出问题
#include<reg52.h>
sbit led1 3^6; // LED1接P1.7脚
sbit led2 = P3^5; // LED2接P1.6脚
sbit led3 = P3^4; // LED3接P1.5脚
sbit led4 = P3^3; // LED4接P1.4脚
sbit button = P1^3; // 按钮接P1.0脚
void delay(unsigned char ms)// 延时函数
{
unsigned char i,j;
for(i=ms;i>0;i--)
for(j=110;j>0;j--);
}
void main(void)
{
unsigned char key=0; //按钮状态判断变量
//led1=led2=led3=led4=1; //led初始均为关闭
button=1; //按钮初始化为按下
while(1){
if(button==0)
{
delay(30);
if(button==0)
{
key+=1;
while(button==0);
if(key==6)
key=0;
}
}
switch(key){ //根据key值开关相应引脚的led灯
case 1:
led1=0;
break;
case 2:
led2=0;
break;
case 3:
led3=0;
break;
case 4:
led4=0;
break;
case 5:
led1=led2=led3=led4=1;
break;
default:
break;
}
}
}
|