定时器部分,一般个人习惯,我喜欢用定时器做任务周期
/*********************************************************** 定时器0初始化,系统时钟24M ************************************************************/ void Timer0Init(void) { AUXR |= 0x80; //定时器0为1T模式 TMOD &= 0xF8; //定时器0设置为定时方式,工作模式为16位自动重装模式 TMOD &= 0xF7; //定时器0门控位GATE设置为0 TL0 = 0x40; //1T模式下初始装载值 TH0 = 0xa2; //1T模式下初始装载值 , TF0 = 0; //清除T0中断溢出标志位 ET0 = 1; //使能定时器0的溢出中断允许位 TR0 = 1; //定时器0开始计时 } /*********************************************************** 定时器0中断服务程序 ************************************************************/ void timer0_Interrupt (void) interrupt 1 { count_10ms++; count_500ms++; count_100ms++; Zero_Sample_move(); TF0 = 0; //清除T0中断溢出标志位 }
有问题部分,请大家指正
标签:count,定时器,1T,++,void,timer,中断,STC32G12K128 From: https://www.cnblogs.com/taotaonihao/p/16847413.html