标题: 51单片机 用按键按1次亮1个灯 不能通过Keil输出生成代码劳烦各位看看那里出问题 [打印本页]

作者: ll13536121668    时间: 2019-2-27 11:16
标题: 51单片机 用按键按1次亮1个灯 不能通过Keil输出生成代码劳烦各位看看那里出问题
本帖最后由 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;
  }

}
}


作者: zhanghyg    时间: 2019-2-27 11:52
就这里的问题。
作者: 13539657315    时间: 2019-2-27 12:15
软件设置有没有设置正确呢?

作者: wulin    时间: 2019-2-27 12:30
错误:sbit led1  3^6;     // LED1接P1.7脚
正确:sbit led1 = P3^6;     // LED1接P3.6脚
作者: zhanghoub    时间: 2019-2-27 12:32
#在sbit led1  3^6;     // LED1接P1.7脚  应该是P3^6
作者: yaoji123    时间: 2019-2-27 14:27
#include<reg52.h>   
sbit led1 =P3^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==1);
          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=1;
led2=1;
led3=1;
led4=1;
    break;
   default:
    break;
  }

}
}

作者: ghy0212    时间: 2019-2-28 09:40
错误:sbit led1  3^6;     // LED1接P1.7脚




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