求单片机c51的C语言编程:设当开关为1时,控制2个led交替闪烁,闪烁时间为5秒

闪烁时间由定时器实现,求大神们帮我想想c语言怎么写!!谢谢谢谢

第1个回答  2016-06-22
#include#defineucharunsignedcharuchartimes,led;sbitkey1=P1^0;sbitkey2=P1^1;voidt0isr()interrupt1{TH0=(65536-50000)/256;TL0=(65536-50000)%256;times++;}voidrolled(){P0=led;led=(led>>1)|0x80;if(led==0xff)l
第2个回答  2016-06-22
uchar a=0;
void main()
{
TMOD=0X01;
TL0=(65536-50000)%256;//定时50ms
TH0=(65536-50000)/256;
ET0=1;
EA=1;
TR0=1;
while(key==1)
{
if(a<100)//50*100=5000ms 即5S
{
led1=0;
led2=1;
}
else//5-10秒,灯变换状态
{
led1=1;
led2=0;
}
}
}
void timer0() interrupt 1
{
TL0=(65536-50000)%256;
TH0=(65536-50000)/256;
a++;
if(a==200) a=0;
}追问

我运行了一下,只有led1会亮啊,不会交替的亮,可以加我的丘丘教我吗?我私信你了

不行哇。。。可以私聊吗

追答

LED1会灭吗?LED1灭 LED2亮,不是交替吗,程序应该没什么问题

本回答被提问者和网友采纳
相似回答