打印

定时器的初值算出来是个小数怎么办?

[复制链接]
1640|11
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
设单片机时钟 fosc =11.0592 MHz ,利用定时器T1在P1.1产生频率25 kHz ,占空比 80%的矩形波。但定时器的初值算出来是个小数怎么办?

使用特权

评论回复
评论
tyw 2022-5-7 17:32 回复TA
换12M晶振省事 
沙发
资深技术| | 2022-5-7 17:31 | 只看该作者
取频率大于25k的数值,在定时器里加延时修正误差

使用特权

评论回复
板凳
xch| | 2022-5-7 23:17 | 只看该作者
改数学教材。

使用特权

评论回复
地板
R2D2| | 2022-5-7 23:26 | 只看该作者
不用办。没有误差是不可能的,就算你算出来整数一样有误差。

使用特权

评论回复
5
lyjian| | 2022-5-8 09:29 | 只看该作者
这点误差,直接忽略

使用特权

评论回复
6
tyw| | 2022-5-8 09:54 | 只看该作者



使用特权

评论回复
7
cjseng| | 2022-5-8 12:03 | 只看该作者
小数问题不大,问题是进中断、堆栈处理、定时器重新赋值等等,都需要时间,这些时间加起来,远超过小数的那点误差了。

使用特权

评论回复
8
aple0807| | 2022-5-8 14:19 | 只看该作者
要看允许误差范围的,计算0误差也没用,晶振本身还有误差。

使用特权

评论回复
9
天意无罪| | 2022-5-9 09:36 | 只看该作者

定时器的初值算出来是个小数怎么办?

定时器计数是不是整数和你的频率有关,不一定都是整数的,有小数也没有问题,直接取整数,关键是看误差是否在允许范围内。

使用特权

评论回复
10
chunyang| | 2022-5-9 14:41 | 只看该作者
换晶体,频率应为整数的,比如12M、16M之类,然后计算验证是否满足。

使用特权

评论回复
11
艾伦183| | 2022-5-30 17:27 | 只看该作者

定时器的初值算出来是个小数怎么办?

有小数很正常,就好比串口的波特率有时候也会出现小数,但是能够正常运行(正常发送接收数据),这就说明在误差范围内就可以满足要求,不影响使用。所以根据自己的需求来定,实在不行就根据定时器的分频和周期反推来配置一个接近你所需要频率的值。

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

1

主题

1

帖子

0

粉丝