打印
[技术问答]

如何利用M051实现PWM输出的频率可调

[复制链接]
2354|5
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
jmworkspace|  楼主 | 2014-7-8 08:58 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
我想用M051实现PWM输出的频率0.1Hz-20Hz间的低频调频。但是该PWM我是用P2.0引脚配置CNR、CMR来实现频率的可调,而CNR则由始终分频而来的。
通过数据整理发现,当设置16分频时候,CNR = 375时 为20Hz,CNR = 750时 为10Hz,CNR = 1500时 为5Hz。CNR = 3000时 为2.5Hz,CNR = 6000时 为0.75Hz,CNR = 12000时 为0.375Hz,CNR = 24000时 为0.1875Hz,CNR = 96000时 为0.09375Hz,才约等于0.1Hz,若我要实现0.1-20Hz的频率变化,而每按1次按键 频率增加0.5Hz。这该怎么设计算法? 因为以上数据得出该变化是375-96000成2的X次方增加。而随之的是20Hz随2的X次方减少。所以想问问有没其他方法配置频率?更为简单。
沙发
haolaishi| | 2014-7-8 15:45 | 只看该作者
最快的办法,查表,按键一次查表,然后重新写入CNR的值

使用特权

评论回复
板凳
jmworkspace|  楼主 | 2014-7-8 17:38 | 只看该作者
haolaishi 发表于 2014-7-8 15:45
最快的办法,查表,按键一次查表,然后重新写入CNR的值

这个糟糕了:L 那人家的信号发生器是什么原理搞的

使用特权

评论回复
地板
haolaishi| | 2014-7-8 17:45 | 只看该作者
jmworkspace 发表于 2014-7-8 17:38
这个糟糕了 那人家的信号发生器是什么原理搞的

比如正弦波,一个正弦波函数,数学是怎么计算的,c语言也就怎么写

使用特权

评论回复
5
dwtqqa123| | 2019-4-29 09:19 | 只看该作者
jmworkspace 发表于 2014-7-8 17:38
这个糟糕了:L 那人家的信号发生器是什么原理搞的

信号发生器是通过信号发生器芯片来做的. 哈哈

使用特权

评论回复
6
wanduzi| | 2019-4-29 11:31 | 只看该作者
大神啊。

使用特权

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

本版积分规则

12

主题

45

帖子

0

粉丝