1789621448@qq.com 2017-11-25 10:50 采纳率: 100%
浏览 707
已采纳

代码问题,粘贴如下,为什么灯没有反应呢?程序没错吧

#include

sbit led1=P1^0;

sbit led2=P1^1;

sbit led3=P1^2;

sbit led4=P1^3;

sbit led5=P1^4;

sbit led6=P1^5;

sbit led7=P1^6;

sbit led8=P1^7;

sbit jianpan=P0;

int temp,key;

void Init()

{

led1=0;

led2=0;

led3=0;

led4=0;

led5=0;

led6=0;

led7=0;

led8=0;

jianpan=0XFF;

}

void delay()

{

int i,j;

for (i=0;i<100;i++)

for (j=0;j<100;j++)

;

}

void main()

{ Init();

while (1)

{ P0=0xfe;// µÍËÄλÖиßλ À­µÍ

temp=P0;

temp=temp&0xf0; //¼ì²â¸ßËÄλ ÊÇ·ñ Óб»À­µÍµÄ ÓÐÀ­µÍµÄ ȷʵij¸ö°´¼ü°´ÏÂ

if(temp!=0xf0) //temp ÓëÍêºó ¸ßλ ÞôÏ ¸ßλ ¿Ï¶¨²»ÊÇ f ¸ßλ¿Ï¶¨Î»Áã ²»µÈ ÓÐÞôϵÄ

{

delay(); //Ïû¶¶

temp=P0;

temp=temp&0xf0;

if(temp!=0xf0)

{

switch(temp)

{

case 0xee : key=10; break;

case 0xfe : key=11; break;

case 0xbe : key=12; break;

case 0x7e : key=13; break; //  

}

}

}

//************************************************************************************************

P0=0xfd;//

temp=P0;

temp=temp&0xf0; //¼ì²â¸ßËÄλ ÊÇ·ñ Óб»À­µÍµÄ ÓÐÀ­µÍµÄ ȷʵij¸ö°´¼ü°´ÏÂ

if(temp!=0xf0) //temp ÓëÍêºó ¸ßλ ÞôÏ ¸ßλ ¿Ï¶¨²»ÊÇ f ¸ßλ¿Ï¶¨Î»Áã ²»µÈ ÓÐÞôϵÄ

{

delay(); //Ïû¶¶

temp=P0;

temp=temp&0xf0;

if(temp!=0xf0)

{

switch(temp)

{

case 0xed : key=3; break;

case 0xfd : key=6; break;

case 0xbd : key=9; break;

case 0x7d : key=15; break; //# 

}

}

}

//************************************************************************************************

P0=0xfb;// µÚµÍËÄλ Öиßλ À­µÍ

temp=P0;

temp=temp&0xf0; //¼ì²â¸ßËÄλ ÊÇ·ñ Óб»À­µÍµÄ ÓÐÀ­µÍµÄ ȷʵij¸ö°´¼ü°´ÏÂ

if(temp!=0xf0) //temp ÓëÍêºó ¸ßλ ÞôÏ ¸ßλ ¿Ï¶¨²»ÊÇ f ¸ßλ¿Ï¶¨Î»Áã ²»µÈ ÓÐÞôϵÄ

{

delay(); //Ïû¶¶

temp=P0;

temp=temp&0xf0;

if(temp!=0xf0)

{

switch(temp)

{

case 0xeb : key=2; break;

case 0xfb : key=5; break;

case 0xbb : key=8; break;

case 0x7b : key=0; break; //  

}

}

}

//************************************************************************************************

P0=0xf7;// µÚµÍËÄλ Öиßλ À­µÍ

temp=P0;

temp=temp&0xf0; //¼ì²â¸ßËÄλ ÊÇ·ñ Óб»À­µÍµÄ ÓÐÀ­µÍµÄ ȷʵij¸ö°´¼ü°´ÏÂ

if(temp!=0xf0) //temp ÓëÍêºó ¸ßλ ÞôÏ ¸ßλ ¿Ï¶¨²»ÊÇ f ¸ßλ¿Ï¶¨Î»Áã ²»µÈ ÓÐÞôϵÄ

{

delay(); //Ïû¶¶

temp=P0;

temp=temp&0xf0;

if(temp!=0xf0)

{

switch(temp)

{

case 0xe7 : key=1; break;

case 0xf7 : key=4; break;

case 0xb7 : key=7; break;

case 0x77 : key=14; break; //* 

}

}

}

//************************************************************************************************

switch(key)

{case 1:

led1=1;

led2=0;

led3=0;

led4=0;

led5=0;

led6=0;

led7=0;

led8=0;

break;

case 2:

led1=1;

led2=1;

led3=0;

led4=0;

led5=0;

led6=0;

led7=0;

led8=0;

break;

case 3:

led1=1;

led2=1;

led3=1;

led4=0;

led5=0;

led6=0;

led7=0;

led8=0;

break;

case 4:

led1=1;

led2=1;

led3=1;

led4=1;

led5=0;

led6=0;

led7=0;

led8=0;

break;

case 5:

led1=1;

led2=1;

led3=1;

led4=1;

led5=1;

led6=0;

led7=0;

led8=0;

break;

case 6:

led1=1;

led2=1;

led3=1;

led4=1;

led5=1;

led6=0;

led7=0;

led8=0;

break;

case 7:

led1=1;

led2=1;

led3=1;

led4=1;

led5=1;

led6=0;

led7=0;

led8=0;

break;

case 8:

led1=1;

led2=1;

led3=1;

led4=1;

led5=1;

led6=0;

led7=0;

led8=0;

break;

}

}

  • 写回答

2条回答 默认 最新

  • MynameisLZY 2017-11-25 11:01
    关注

    兄弟,51单片机不存在因为编译器优化而导致你的程序不正常的现象,多半是硬件问题。注意:线路、灯是高电平亮还是低电平,IO口驱动能力是否够等等

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

悬赏问题

  • ¥15 素材场景中光线烘焙后灯光失效
  • ¥15 请教一下各位,为什么我这个没有实现模拟点击
  • ¥15 执行 virtuoso 命令后,界面没有,cadence 启动不起来
  • ¥50 comfyui下连接animatediff节点生成视频质量非常差的原因
  • ¥20 有关区间dp的问题求解
  • ¥15 多电路系统共用电源的串扰问题
  • ¥15 slam rangenet++配置
  • ¥15 有没有研究水声通信方面的帮我改俩matlab代码
  • ¥15 ubuntu子系统密码忘记
  • ¥15 保护模式-系统加载-段寄存器