STC32G12K128内置五个定时器/计数器
直接使用STC-ISP自带的定时器计算器
//35MHZ 定时器0 1T模式 16位自动重载 1毫秒void Timer0Init(void){AUXR |= 0x80;//定时器时钟1T模式TMOD &= 0xF0;//设置定时器模式TL0 = 0x48; //设置定时初始值TH0 = 0x77; //设置定时初始值TF0 = 0; //清除TF0标志TR0 = 1; //定时器0开始计时ET0 = 1; //不要忘记打开中断允许EA = 1;//还有总中断}void TM0_Isr() interrupt 1//定时器0中断{...}//35MHZ 定时器1 1T模式 16位自动重载 1毫秒void Timer1Init(void){AUXR |= 0x40;//定时器时钟1T模式TMOD &= 0x0F;//设置定时器模式TL1 = 0x48; //设置定时初始值TH1 = 0x77; //设置定时初始值TF1 = 0; //清除TF1标志TR1 = 1; //定时器1开始计时ET1 = 1; //不要忘记打开中断允许EA = 1;//还有总中断}void TM1_Isr() interrupt 3//定时器1中断{...}//35MHZ 定时器2 1T模式 16位自动重载 1毫秒void Timer2Init(void){AUXR |= 0x04;//定时器时钟1T模式T2L = 0x48; //设置定时初始值T2H = 0x77; //设置定时初始值AUXR |= 0x10;//定时器2开始计时ET2 = 1; //不要忘记打开中断允许EA = 1;//还有总中断}void TM2_Isr() interrupt 12//定时器2中断{...}//35MHZ 定时器3 1T模式 16位自动重载 1毫秒void Timer3Init(void){T4T3M |= 0x02;//定时器时钟1T模式T3L = 0x48; //设置定时初始值T3H = 0x77; //设置定时初始值T4T3M |= 0x08;//定时器3开始计时ET3 = 1; //不要忘记打开中断允许EA = 1;//还有总中断}void TM3_Isr() interrupt 19 //定时器3中断{...}//35MHZ 定时器4 1T模式 16位自动重载 1毫秒void Timer4Init(void){T4T3M |= 0x20;//定时器时钟1T模式T4L = 0x48; //设置定时初始值T4H = 0x77; //设置定时初始值T4T3M |= 0x80;//定时器4开始计时ET4 = 1; //不要忘记打开中断允许EA = 1;//还有总中断}void TM4_Isr() interrupt 20//定时器4中断{...}
如果觉得《STC32G12K128-Beta 定时器》对你有帮助,请点赞、收藏,并留下你的观点哦!