菜鸟求救:如何在MSP430f149单片机上实现led每隔一秒亮一次呢?
我自己写了个程序,但间隔不是一秒,是用延迟写的。如下所示:voiddelay(){unsignedinti;for(i=0;i<50000;i++);}用中断时,灯又只亮...
我自己写了个程序,但间隔不是一秒,是用延迟写的。如下所示:
void delay()
{ unsigned int i;
for(i=0;i<50000;i++);
}
用中断时,灯又只亮了一次,然后就一直处于灭的状态。不知为什么。 展开
void delay()
{ unsigned int i;
for(i=0;i<50000;i++);
}
用中断时,灯又只亮了一次,然后就一直处于灭的状态。不知为什么。 展开
2个回答
展开全部
可能你没有把你的程序写在一个死循环里面吧,在单片机编程中,经常要把程序写在一个死循环中,使得程序只要在断电或复位的时候,才重新执行。
死循环的结构是:
while(1)
{
你可以在这里面写程序。
}
例如:
#include<reg52.h>
sbit p1_1=P1^0
unsigned int a
void main()
{
while(1)
{
a=51000;
p1_1=0;
while(a--);
a=51000;
while(a--);
p1_1=1;
a=51000;
while(a--);
a=51000;
while(a--);
}
}
死循环的结构是:
while(1)
{
你可以在这里面写程序。
}
例如:
#include<reg52.h>
sbit p1_1=P1^0
unsigned int a
void main()
{
while(1)
{
a=51000;
p1_1=0;
while(a--);
a=51000;
while(a--);
p1_1=1;
a=51000;
while(a--);
a=51000;
while(a--);
}
}
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询