#include
sbit led=P2^0;
unsigned int t;
void main()
{
void Timer0_Init() ;
while(1)
{
if(t==1000)
{
led=!led;
t=0;
}
}
}
void Timer0_Init() //1毫秒@12.000MHz
{
TMOD &= 0xF0; //设置定时器模式
TMOD |= 0x01; //设置定时器模式
TL0 = 0x18; //设置定时初始值
TH0 = 0xFC; //设置定时初始值
TR0 = 1; //定时器0开始计时
ET0 = 1; //使能定时器0中断
}
void Timer0_Isr() interrupt 1
{
TL0 = 0x18; //设置定时初始值
TH0 = 0xFC; //设置定时初始值
t++;
}
兄弟,定时器中断没有开,定时器函数需要这样改
void Timer0_Init() //1毫秒@12.000MHz
{
TMOD &= 0xF0; //设置定时器模式
TMOD |= 0x01; //设置定时器模式
TL0 = 0x18; //设置定时初始值
TH0 = 0xFC; //设置定时初始值
TR0 = 1; //定时器0开始计时
ET0 = 1; //使能定时器0中断
EA = 1;
ET1 = 1;
}
EA等于1表示允许中断,也就是中断的总开关;ET1是一个分开关,等于1也表示允许中断;二者关系相当于学校大门与学校的教学楼大门,要进入教学楼,你要先进学校大门,在经过教学楼大门,如果学校或者是教学楼大门没开,你怎么也进不去,只有同时打开才能进入。