#include "reg51.h"
sbit led=P0^1;
sta
tic unsigned int counts;
bit s=0; //变量声明//
void INT_timer0 (void) interrupt 1
{
led=s;
counts=counts+1;
if (counts==20)
{s=~s;
led=s;
counts=0;}
return;
}//计时1S //
void main()
{
counts=0;
TMOD=0x01;
TH0=0;
TL0=0;
EA=1;
ET0=1;
TR0=1;
return;
}
这是我用中断写的一个P0.1口每隔1秒闪烁一次的闪烁灯,可是我下载到
开发板上运行时却什么灯都不能亮。我试过把led=s放到主程序里面运行结果灯能亮一盏可是还是没有闪烁的效果。我怀疑是中断程序没法运行,可是为什么没法运行我却找不出原因来,这个问题已经困扰了我一整天,怎么调试都没调试出来,所以想请
论坛里面的高手指正一下,小弟万分感激。
是while(1)的话,程序不就在此一直循环了吗?
一般在while()里还有要执行的程序,而该例程没有,故只能是while(1).
这个是因为书上的例程都是这么写的
一周热门 更多>