如果晶振是11.0592MHz,就是11059200Hz,12分频是921600Hz
16位定时器每次只能装65536,11059200/65536=168.75次,将a赋值169后,如果灯珠闪亮的大概是一秒一次,就说明单片机运行的状态是1T.
然后11059200/12=921600,921600/65536=14.0625次,将a赋值14后,如果灯珠闪亮的大概是一秒一次,就说明单片机运行的状态是12T.
代码如下:
#include<reg52.h>
sbit LED=P1^3;//定义LED灯珠端口
unsigned int a;
void Init_Timer0(void)
{
TMOD |=0X01;
TH0=0X00;
TL0=0X00;
EA=1;
ET0=1;
TR0=1;
}
void main()
{
a=0;
Init_Timer0();
while(1);
}
void Timer0_isr(void) interrupt 1 using 1
{
TH0=0X00;
TL0=0X00;
a++;
if(a>=14){a=0;LED=~LED;}
}
|