为啥led灯不会亮灭的 如果改成led=~led的话就会亮灭亮灭 求解
时间:10-02
整理:3721RD
点击:
#include <REGX51.H>
#define uchar unsigned char
#define led P1
void main()
{
TMOD = 0x01;
TH0 = 0x4c;
TL0 = 0x00;
TR0 = 1;
while(1)
{
uchar n;
if(TF0==1)
{
TF0=0;
TH0 = 0x4c;
TL0 = 0x00;
n++;
}
if(n==20)
{
n=0;
led=0xaa;
}
}
}
为啥led灯不会亮灭的 如果改成led=~led的话就会亮灭亮灭 求解
#define uchar unsigned char
#define led P1
void main()
{
TMOD = 0x01;
TH0 = 0x4c;
TL0 = 0x00;
TR0 = 1;
while(1)
{
uchar n;
if(TF0==1)
{
TF0=0;
TH0 = 0x4c;
TL0 = 0x00;
n++;
}
if(n==20)
{
n=0;
led=0xaa;
}
}
}
为啥led灯不会亮灭的 如果改成led=~led的话就会亮灭亮灭 求解
程序中led的值不就是在if(n==20)中赋值的吗?之后这个值有没有改变,所以肯定不会亮灭的。
当改成led=~led时,led的值当满足n==20的时候就会自动改变的。(0x00 0xff 0x00 0xff……)
你的LED一直等于AAH,没用改变他的状态,要亮灭,就得让0变1一变0
LED只等于0XAA 没看到其他赋值
你把n定义放在while里面?把它放到while上面就可以了
小编,这个是使用定时器延时,为什么LED 不会亮灭,主要是在if {}中,P1 赋的是固定的值,而不是变化的值。LED=~LED 这个就是赋值是变化的! 所以才会有亮灭!
朋友,请问下万能板上的地线是如何布置的 ,我不知道地线在万能板上如何设计!
朋友,请问下万能板上的地线是如何布置的 ,我不知道地线在万能板上如何设计!
非常感谢各位 谢谢
你用示波器测测那个引脚输出的波形,一看就知道为什么