关于官方版STC-ISP生成的计时器代码
这个软件生成的计时器代码是不可以直接用的
void Timer0Init(void) //50毫秒@11.0592MHz
{
TMOD &= 0xF0; //设置定时器模式
TMOD |= 0x01; //设置定时器模式
TL0 = 0x00; //设置定时初值
TH0 = 0x4C; //设置定时初值
TF0 = 0; //清除TF0标志
EA=1; //总中断
ET0=1; //定时器0中断
TR0 = 1; //定时器0开始计时
}
需要打开总中断和定时器0中断,并且在使用STC89C52RC时,reg52头文件中AUXR寄存器是没有定义的,需要重新定义,经常会因为这个中断没开原因导致程序出现BUG,STC89C52RC单片机是工作在12T模式下(晶振12周期执行一条指令),STC12C5A60S2单片机是工作在1T模式下(可以通过AUXR寄存器更改)