第二帖,请教stc PWM输出频率问题。谢谢
大家好。请问一下。有谁用过stc608AD的?我想请教下,使用定时器0+模式2溢出脉冲作为PCA时钟输入情况下,pwm输出最低频率是多少?16Mhz晶振。。。。我算出来是16000 000 /256/256 = 244hz,但示波器显示为8.47hPWM为8位
PWM输出频率 =PCA输入源频率 /256 , 得出,当输入频率最小时,PWM输出频率也最小
因为PCA输入源频率取决于TH0和TL0,所以,当TH0 = TL0 = 0x00时,输入源频率最小。。。。这是我的理解,请问哪里有什么问题吗?如果有,还望不吝赐教。 本帖最后由 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位自动重装模式 使用定时器0工作于8位自动重装模式,12T模式,则PWM最低频率为16000000/12/256/256=20.345Hz. 本帖最后由 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吗? chen915 发表于 2020-9-28 11:49
谢谢。
8位重装模式已经了解了,示波器结果和计算结果一致。
不可能8位模式正确,16位模式不正确吧,仔细看STC的手册,看看操作还有什么需要注意的。 chen915 发表于 2020-9-28 11:49
谢谢。
8位重装模式已经了解了,示波器结果和计算结果一致。
你如果允许了中断,则这么快的中断是没法按时执行的。你可以让定时器直接取反输出方波,不要允许定时器中断,则可以输出达到10MHz的方波。 xyz549040622 发表于 2020-9-28 15:20
不可能8位模式正确,16位模式不正确吧,仔细看STC的手册,看看操作还有什么需要注意的。 ...
数据手册一条公式,怎么设置定时器分频都没说 coody 发表于 2020-9-28 17:08
你如果允许了中断,则这么快的中断是没法按时执行的。你可以让定时器直接取反输出方波,不要允许定时器中 ...
开中断影响忽略不计,最高最低都是62.5k和244Hz
页:
[1]