打印

怎么使用STC12C5A60S2,发射出125KHZ的PWN方波

[复制链接]
6203|9
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
沙发
hyhmh| | 2012-1-15 11:56 | 只看该作者
注意 正确配置 PWM 相关的 特殊功能寄存器(SFR)

1.JPG (37.21 KB )

1.JPG

使用特权

评论回复
板凳
CarpeDiem523|  楼主 | 2012-1-15 21:55 | 只看该作者
2# hyhmh
时钟频率为12MHZ, PWN的计数器为8位,
所以PWN输出125KHZ的话: 公式:PWM输出频率= 时钟源频率/256
125KHZ=X/256, X求得,时钟频率需要32MHZ啊

这样的话, 12MHZ的单片机根本吃不消, 但是有一种方法,手册中讲可以让定时器0工作在1T模式下, 让定时器0的溢出产生频率。这个没有示例代码,也没有经验,感觉无从下手。
有没有解?

使用特权

评论回复
地板
CarpeDiem523|  楼主 | 2012-1-15 22:19 | 只看该作者
如果我把定时器0作为PWM的时钟源,那么我需要打开TR0吗?
定时器0里面做操作,会影响到PWM吗?

使用特权

评论回复
5
jiebin689| | 2012-1-16 08:27 | 只看该作者
用定时器可以吧,
不过周期太小,精度可能会不好控制。

使用特权

评论回复
6
airwill| | 2012-1-16 09:13 | 只看该作者
如果我把定时器0作为PWM的时钟源,那么我需要打开TR0吗?
定时器0里面做操作,会影响到PWM吗?
CarpeDiem523 发表于 2012-1-15 22:19


要打开TR0
定时器0里面做操作,不明白什么意思!
如果是定时中断里做什么操作, 只要不影响 T0 计数的寄存器, 就不会影响到 PWM 的频率

使用特权

评论回复
7
xuling425300| | 2012-1-19 01:01 | 只看该作者
直接用时钟输出不就行了么不是可以128分频   12m晶体96分频就得到125k信号了。

使用特权

评论回复
8
xuling425300| | 2012-1-19 01:01 | 只看该作者
这款单片机有可以编程时钟输出。

使用特权

评论回复
9
12864| | 2012-1-19 01:06 | 只看该作者
晶体12M,如果用Fosc/2的时钟提供给pca,则计算得到12/4/0.125=24,这个初值是有点小,如果系统不忙的话,可能还行,如果有更高级中断的话,怕是125K信号输出不会稳定。

如果用T0提供时钟,T0工作在1T,并初值0xffff,则相当于时钟频率直接提供给了pca,初值48,貌似这个还行啊,只要其他高级中断能早早结束,应该对输出频率的精度影响较小了。

为了保险起见,可以考虑加大时钟频率。

使用特权

评论回复
10
wq3553| | 2018-4-4 12:30 | 只看该作者
有程序借鉴下吗?小白请上

使用特权

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

本版积分规则

3

主题

21

帖子

0

粉丝