[MCU] 单片机定时器问题

[复制链接]
1443|7
 楼主| yml1104 发表于 2020-4-13 13:43 | 显示全部楼层 |阅读模式
16M高速振荡器 分频比1:1  定时器设置2倍频  16位 定时1MS 有没有人帮忙算一下初值 最好能贴个过程
ayb_ice 发表于 2020-4-13 14:20 | 显示全部楼层
定时器设置2倍频?

是什么意思。
 楼主| yml1104 发表于 2020-4-13 14:34 | 显示全部楼层
ayb_ice 发表于 2020-4-13 14:20
定时器设置2倍频?

是什么意思。

就是变成32MHZ吧?芯片手册上写的HIRC的2倍频 HIRC是16MHZ的
ayb_ice 发表于 2020-4-13 14:42 | 显示全部楼层
yml1104 发表于 2020-4-13 14:34
就是变成32MHZ吧?芯片手册上写的HIRC的2倍频 HIRC是16MHZ的

也就是说定时器是32M的频率

如果是51的话
计时值就是
1000*32,,初值就是65536-1000*32 = 0x8300
人中狼 发表于 2020-4-13 14:45 | 显示全部楼层
不同的单片机可能不同的算法,先根据频率,分频系数等算出定时器的频率,通过这个频率可以得出定时器每加一的时间,通过这个时间可以算出定时器是否能满足定时要求等数据
 楼主| yml1104 发表于 2020-4-13 14:51 | 显示全部楼层
ayb_ice 发表于 2020-4-13 14:42
也就是说定时器是32M的频率

如果是51的话

能解答一下为什么是32*1000吗   12MHZ为什么是直接1000?是因为有分频还是什么原因
ayb_ice 发表于 2020-4-13 15:03 | 显示全部楼层
yml1104 发表于 2020-4-13 14:51
能解答一下为什么是32*1000吗   12MHZ为什么是直接1000?是因为有分频还是什么原因 ...

标准的51,时钟是12M,定时器时钟其实是12M/12=1M,这是硬件设计的原因,所以计时1MS就是1000VS,就是1000

你现在这个芯片定时器的时钟如果是32M,那当然就是32*1000,当然这是个假设,我并不知道你说的与芯片事实是否相符,对于51来说一般不会设计成这么高的定时器时钟
 楼主| yml1104 发表于 2020-4-13 15:30 | 显示全部楼层
ayb_ice 发表于 2020-4-13 15:03
标准的51,时钟是12M,定时器时钟其实是12M/12=1M,这是硬件设计的原因,所以计时1MS就是1000VS,就是100 ...

懂了 谢谢
您需要登录后才可以回帖 登录 | 注册

本版积分规则

14

主题

66

帖子

0

粉丝
快速回复 在线客服 返回列表 返回顶部