找回密码
 立即注册
查看: 364|回复: 3

STC8H4K64是不是没有TM2PS寄存器

[复制链接]

2

主题

2

回帖

38

积分

新手上路

积分
38
发表于 2024-6-19 12:30:57 | 显示全部楼层 |阅读模式
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,各位大神帮我分析一下。

回复

使用道具 举报 送花

  • 打卡等级:以坛为家II
  • 打卡总天数:415
  • 最近打卡:2025-04-30 09:58:34
已绑定手机

39

主题

2006

回帖

6841

积分

论坛元老

积分
6841
发表于 2024-6-19 13:26:47 | 显示全部楼层
用附件的例子试试,修改 TM2PS 寄存器看看有没有效果
截图202406191326121999.jpg
截图202406191326374688.jpg

定时器2中断-分频器设置.zip

11.12 KB, 下载次数: 47

回复 支持 反对

使用道具 举报 送花

  • 打卡等级:以坛为家II
  • 打卡总天数:422
  • 最近打卡:2025-05-01 09:54:52
已绑定手机

19

主题

3190

回帖

4866

积分

论坛元老

积分
4866
发表于 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开始计时
}
回复 支持 反对

使用道具 举报 送花

2

主题

2

回帖

38

积分

新手上路

积分
38
发表于 2024-7-1 10:56:09 | 显示全部楼层
谢谢,弄好了。是51.H里寄存器定义错了
回复 支持 反对

使用道具 举报 送花

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|手机版|小黑屋|深圳国芯人工智能有限公司 ( 粤ICP备2022108929号-2 )

GMT+8, 2025-5-2 02:34 , Processed in 0.117698 second(s), 66 queries .

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

快速回复 返回顶部 返回列表