18969791920 发表于 2024-6-19 12:30:57

STC8H4K64是不是没有TM2PS寄存器

void Timer2_Init(void)                //65毫秒@24.000MHz
{       
    P_SW2 |= 0x80;   
        TM2PS = 0x01;                        //没效果
        AUXR &= 0xFB;                        //定时器时钟12T模式
        TL2 = 0;                                //设置定时初始值
        TH2 = 0;                                //设置定时初始值
        IE2|=ET2;          //允许中断
        AUXR |= 0x10;                        //定时器2开始计时
}
设置后,TM2PS不起作用,输出还是32MS,各位大神帮我分析一下。

乘风飞扬 发表于 2024-6-19 13:26:47

用附件的例子试试,修改 TM2PS 寄存器看看有没有效果

soma 发表于 2024-6-19 13:48:52

生成是这样的你的初值估计不对吧
void Timer2_Init(void)                //65毫秒@24.000MHz
{
        TM2PS = 0x01;                        //设置定时器时钟预分频 ( 注意:并非所有系列都有此寄存器,详情请查看数据手册 )
        AUXR &= 0xFB;                        //定时器时钟12T模式
        T2L = 0x18;                                //设置定时初始值
        T2H = 0x02;                                //设置定时初始值
        AUXR |= 0x10;                        //定时器2开始计时
}

18969791920 发表于 2024-7-1 10:56:09

谢谢,弄好了。是51.H里寄存器定义错了
页: [1]
查看完整版本: STC8H4K64是不是没有TM2PS寄存器