本帖最后由 叫路人甲的太多 于 2015-8-11 16:26 编辑
芯片用的是stc12c5a60s2,用uln2003驱动两个1Wled。想要实现的是led1闪烁,led2常亮。但是led1正常闪烁,而led2在开关按下一瞬间亮一下又黑了。程序如下
#include<reg51.h>
#define uchar unsigned char
sbit LED1=P0^7;
sbit LED2=P2^0;
main()
{
int i=0;
LED1 =1;
LED2 =0;
TMOD = 0X10;
TR1 = 1;
TL1 = 0x8D; //设置定时初值
TH1 = 0xFF; //设置定时初值
while(1)
{
LED2 = 0;
if(TF1 == 1)
{
TF1 = 0;
TR1 = 1;
TL1 = 0x8D; //设置定时初值
TH1 = 0xFF; //设置定时初值
i++;
}
if(i == 125)
{
i = 0;
LED1 = ~LED1;
}
}
}
求大神看看是哪的问题,硬件应该没问题,感觉是代码出了问题 |