#include <intrins.h>
#include <reg52.h>
sbit led=P1;
sbit led1=P1^0;
sbit led2=P1^1;
unsigned int i=0; //i的定义不能在void main()必须设成全局变量
void timer_int0()
{
TMOD=0x01;
EA=1;
ET0=1;
TR0=1;
}
void main()
{
P1=0xf0;
timer_int0();
while(1)
{
if(i==10)
{
P1=~P1;
i=0;
}
}
}
void timm () interrupt 1
{
TH0=0x4c; //定时时间=振荡周期*12*(65535-初值)
TL0=0x00;
i++;
}
注意点:
1.i应作为全局变量来使用,全局定义;
2.振荡周期=1/晶振频率 本次使用的是11.0592MHZ频率的晶振
3.TH0,TL0定时器的初值计算公式:定时时间=振荡周期*12*(65535-初值),计算的初值转化成16进制即可。