OpenEdv-开源电子网

 找回密码
 立即注册
正点原子全套STM32/Linux/FPGA开发资料,上千讲STM32视频教程免费下载...
查看: 7505|回复: 6

STC12C5A60S2,PWM输出频率的问题

[复制链接]

32

主题

72

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
227
金钱
227
注册时间
2013-10-16
在线时间
1 小时
发表于 2014-1-9 16:31:10 | 显示全部楼层 |阅读模式
研究了这么长时间PWM,关于频率的问题始终没闹明白,按照手册上所写,可以改变T0的溢出率来实现PWM的调频,但是问题出来了,这个PWM频率的精度并不是很高。比如我想得到3K的脉冲,按照手册的公式PWM的频率=T0的溢出率/256。这样得到T0的溢出率应该为768000,按照手册T0的溢出率公式:T0溢出率=FOSC/(256-TH0),那么TH0=(256-FOSC/768000)。TH0=242。如果将TH0=242再反带入公式的话,得到PWM的频率为3085Hz。这样误差太大了有没有什么办法将误差缩小。在不改变晶振的情况下   
正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

120

主题

7877

帖子

13

精华

资深版主

Rank: 8Rank: 8

积分
12010
金钱
12010
注册时间
2013-9-10
在线时间
427 小时
发表于 2014-1-9 16:37:34 | 显示全部楼层
回复【楼主位】higerd_han:
---------------------------------
晶振是多少的

这样的计算过程都是整数运算,小数就四舍五入了,所以有时候反过来算的话就不对劲了
现在,程序把烂铜烂铁变得智能化了,人呢,一旦离开了这烂铜烂铁就不知道干啥了
回复 支持 反对

使用道具 举报

32

主题

72

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
227
金钱
227
注册时间
2013-10-16
在线时间
1 小时
 楼主| 发表于 2014-1-9 16:38:42 | 显示全部楼层
所以啊我想用软件来弥补一下这个问题
回复 支持 反对

使用道具 举报

32

主题

72

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
227
金钱
227
注册时间
2013-10-16
在线时间
1 小时
 楼主| 发表于 2014-1-9 16:39:03 | 显示全部楼层
晶振11.0592M
回复 支持 反对

使用道具 举报

120

主题

7877

帖子

13

精华

资深版主

Rank: 8Rank: 8

积分
12010
金钱
12010
注册时间
2013-9-10
在线时间
427 小时
发表于 2014-1-10 08:54:49 | 显示全部楼层
回复【4楼】higerd_han:
---------------------------------
用12M的来算下看些结果
现在,程序把烂铜烂铁变得智能化了,人呢,一旦离开了这烂铜烂铁就不知道干啥了
回复 支持 反对

使用道具 举报

32

主题

72

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
227
金钱
227
注册时间
2013-10-16
在线时间
1 小时
 楼主| 发表于 2014-1-10 14:40:51 | 显示全部楼层
12M的存在同样的问题
回复 支持 反对

使用道具 举报

17

主题

587

帖子

0

精华

论坛元老

Rank: 8Rank: 8

积分
4467
金钱
4467
注册时间
2013-6-27
在线时间
565 小时
发表于 2014-1-10 21:53:43 | 显示全部楼层
晶振能被输出频率整出那就可以构建出来的,DDS分频是个很巧妙的东西,不仅仅分出2^n方的频率而是1~256分频。
12MHz晶振应该定时器80分频得到150KHz输入PCA模块 150/3 所以PCA装入50计数值,25个进行翻转,就出来3K的方波,精度完全决定于晶振。
让我们的思维驾驭在电的速度之上!
回复 支持 反对

使用道具 举报

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

本版积分规则



关闭

原子哥极力推荐上一条 /2 下一条

正点原子公众号

QQ|手机版|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2024-11-26 05:18

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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