找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 2018|回复: 5
收起左侧

求助大神,第4个LED点不亮

[复制链接]
ID:192773 发表于 2017-4-23 17:58 | 显示全部楼层 |阅读模式
1黑币
仿真和开发板 都是第4个LED点不亮,,前面3个和预计一样。。第4个不知道怎么回事。。删除 前面3个LED的代码,第4个LED就可以正常工作。
1.jpg



#include <reg52.h>
        sbit k1=P3^4;
        sbit k2=P3^5;
        sbit k3=P3^6;
        sbit k4=P3^7;
           sbit led0=P1^0;
        sbit led1=P1^1;
        sbit led2=P1^2;
        sbit led3=P1^3;




void delay(void);




  
int main()


{


         while(1)
        {
          if (k1==0)      // k1
           {
                    delay();
                  if(k1==0)
                 {
                 led0=~led0;
                 while(!k1);       
                 }
           }




          if (k2==0)          //k2
           {
                    delay();
                  if(k2==0)
                 {
                 led1=~led1;       
                 }
                 while(!k2);
           }


          if (k3==0)           //k3
           {
                    delay();
                  if(k3==0)
                 {
                 led2=~led2;
                 while(!k3);       
                 }
           }
        }




                     if (k4==0)           //k4
           {
                    delay();
                  if(k4==0)
                 {
                 led3=~led3;
                 while(!k4);       
                 }
           }
       




}






void delay()                //@11.0592MHz
{
        unsigned char i, j;


        i = 18;
        j = 235;
    while (--j);
    while (--i);
}

最佳答案

查看完整内容

你while循环范围打错了,没有吧第四个按键的程序给包含进去,程序执行不到第四个按键那,你怎么可能点亮灯。
回复

使用道具 举报

ID:191913 发表于 2017-4-23 17:58 | 显示全部楼层
你while循环范围打错了,没有吧第四个按键的程序给包含进去,程序执行不到第四个按键那,你怎么可能点亮灯。
回复

使用道具 举报

ID:192773 发表于 2017-4-23 18:49 | 显示全部楼层
这......
回复

使用道具 举报

ID:192773 发表于 2017-4-23 19:11 | 显示全部楼层
求助 ...
回复

使用道具 举报

ID:191913 发表于 2017-4-24 09:11 | 显示全部楼层

你while循环范围打错了,没有吧第四个按键的代码给包含进去
回复

使用道具 举报

ID:53832 发表于 2017-4-25 17:05 | 显示全部楼层
if (k3==0)           //k3
           {
                    delay();
                  if(k3==0)
                 {
                 led2=~led2;
                 while(!k3);        
                 }
           }
        }
最后一个 “}”多余的
回复

使用道具 举报

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

本版积分规则

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

Powered by 单片机教程网

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