打印
[STC单片机]

第二帖,请教stc PWM输出频率问题。谢谢

[复制链接]
784|7
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
chen915|  楼主 | 2020-9-26 16:23 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
大家好。请问一下。有谁用过stc608AD的?我想请教下,使用定时器0+模式2溢出脉冲作为PCA时钟输入情况下,pwm输出最低频率是多少?16Mhz晶振。。。。我算出来是16000 000 /256/256 = 244hz,但示波器显示为8.47h

PWM为8位

PWM输出频率 =PCA输入源频率 /256 , 得出,当输入频率最小时,PWM输出频率也最小

因为PCA输入源频率取决于TH0和TL0,所以,当TH0 = TL0 = 0x00  时,输入源频率最小。。。。这是我的理解,请问哪里有什么问题吗?如果有,还望不吝赐教。

使用特权

评论回复

相关帖子

沙发
chen915|  楼主 | 2020-9-27 09:18 | 只看该作者
本帖最后由 chen915 于 2020-9-28 11:43 编辑

已经得到解决,应首先选择定时器为1T或是12T

1T时,则正常,若TH0= TL0 = 0xff,最大可输出62.5k,
                         若TH0= TL0 = 0x00最小为244(但某次示波器抓出来才226)

12T时,若TH0= TL0 = 0xff ,则输出最大为5.21k,
           若TH0= TL0 = 0x00 ,则为最小为20

以上结果基于使用模式2时,即8位自动重装模式

使用特权

评论回复
板凳
coody| | 2020-9-27 16:03 | 只看该作者
使用定时器0工作于8位自动重装模式,12T模式,则PWM最低频率为16000000/12/256/256=20.345Hz.

使用特权

评论回复
地板
chen915|  楼主 | 2020-9-28 11:49 | 只看该作者
本帖最后由 chen915 于 2020-9-28 11:54 编辑
coody 发表于 2020-9-27 16:03
使用定时器0工作于8位自动重装模式,12T模式,则PWM最低频率为16000000/12/256/256=20.345Hz. ...

谢谢。

8位重装模式已经了解了,示波器结果和计算结果一致。

但是,计算方式1时,即16位定时计数模式。

1T:
    TH0 = 0xff , TL0 = 0xff , 即为最高频率,怎么示波器抓才2.0几K,
    TH0 = 0 , TL0 = 0 ,即为最低频率,示波器抓出来好像是8Hz,

按计算最高不应该是同样为62.5K,最低0.95Hz吗?

使用特权

评论回复
5
xyz549040622| | 2020-9-28 15:20 | 只看该作者
chen915 发表于 2020-9-28 11:49
谢谢。

8位重装模式已经了解了,示波器结果和计算结果一致。

不可能8位模式正确,16位模式不正确吧,仔细看STC的手册,看看操作还有什么需要注意的。

使用特权

评论回复
6
coody| | 2020-9-28 17:08 | 只看该作者
chen915 发表于 2020-9-28 11:49
谢谢。

8位重装模式已经了解了,示波器结果和计算结果一致。

你如果允许了中断,则这么快的中断是没法按时执行的。你可以让定时器直接取反输出方波,不要允许定时器中断,则可以输出达到10MHz的方波。

使用特权

评论回复
7
chen915|  楼主 | 2020-9-28 17:52 | 只看该作者
xyz549040622 发表于 2020-9-28 15:20
不可能8位模式正确,16位模式不正确吧,仔细看STC的手册,看看操作还有什么需要注意的。 ...

数据手册一条公式,怎么设置定时器分频都没说

使用特权

评论回复
8
chen915|  楼主 | 2020-9-28 17:53 | 只看该作者
coody 发表于 2020-9-28 17:08
你如果允许了中断,则这么快的中断是没法按时执行的。你可以让定时器直接取反输出方波,不要允许定时器中 ...

开中断影响忽略不计,最高最低都是62.5k和244Hz

使用特权

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

本版积分规则

3

主题

50

帖子

0

粉丝