我按下Key_M1,释放后,为什么led不亮,程序问题
时间:10-02
整理:3721RD
点击:
#include<REG52.h>
sbit led=P1^0;
sbit Key_M1=P3^4;
sbit Key_M2=P3^5;
sbit Key_M3=P3^6;
sbit Key_M4=P3^7;
/*sbit Key_M5=P1^4;
sbit Key_M6=P1^5;
sbit Key_Clock=P1^6;
sbit Key_Counterclock=P1^7;
*/
void Delay(unsigned char p);
void main()
{
while(1)
{
if(!Key_M1)
{
Delay(20);
if(!Key_M1)
{
while(Key_M1)
{
//P0=0;
//P2=0x05;
led=0;
}
}
}
}
}
void Delay(unsigned char p) //延时程序
{
unsigned char m,n;
for(m=p;m>0;m--)
for(n=125;n>0;n--);
问题:我按下Key_M1,释放后,为什么led不亮,大神帮忙看下,小弟不胜感激
sbit led=P1^0;
sbit Key_M1=P3^4;
sbit Key_M2=P3^5;
sbit Key_M3=P3^6;
sbit Key_M4=P3^7;
/*sbit Key_M5=P1^4;
sbit Key_M6=P1^5;
sbit Key_Clock=P1^6;
sbit Key_Counterclock=P1^7;
*/
void Delay(unsigned char p);
void main()
{
while(1)
{
if(!Key_M1)
{
Delay(20);
if(!Key_M1)
{
while(Key_M1)
{
//P0=0;
//P2=0x05;
led=0;
}
}
}
}
}
void Delay(unsigned char p) //延时程序
{
unsigned char m,n;
for(m=p;m>0;m--)
for(n=125;n>0;n--);
问题:我按下Key_M1,释放后,为什么led不亮,大神帮忙看下,小弟不胜感激
你程序有点问题,led无论按键按不按都一直为0.你led是高电平点亮还是低电平点亮?程序要实现什么功能?
LED是低电平点亮,我一开始写了一段测试电机程序,电平一直不对,就写了上面这段LED的程序,也点不亮,以为单片机坏了,现在问题已经解决,感谢您的回复,
不得不说你这个程序逻辑有很大问题
while(Key_M1)应该为while(!Key_M1)这样按下按键后将点亮灯泡。但松键不会自动灭