STC32G12K128-timer

定时器部分,一般个人习惯,我喜欢用定时器做任务周期

/***********************************************************
定时器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中断溢出标志位
}

有问题部分,请大家指正

posted @ 2022-11-08 12:58  涛哥nihao  阅读(456)  评论(0)    收藏  举报