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

[复制链接]
7101|9
 楼主| CarpeDiem523 发表于 2012-1-14 17:20 | 显示全部楼层 |阅读模式
看了STC12C5A60S2的PWN高速脉冲输出,还有一些东西不能理解。我的单片机晶振使用的是12MHZ, 想发射出125KHZ的PWN方形。
hyhmh 发表于 2012-1-15 11:56 | 显示全部楼层
注意 正确配置 PWM 相关的 特殊功能寄存器(SFR)

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册

×
 楼主| 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吗?
jiebin689 发表于 2012-1-16 08:27 | 显示全部楼层
用定时器可以吧,
不过周期太小,精度可能会不好控制。
airwill 发表于 2012-1-16 09:13 | 显示全部楼层
如果我把定时器0作为PWM的时钟源,那么我需要打开TR0吗?
定时器0里面做操作,会影响到PWM吗?
CarpeDiem523 发表于 2012-1-15 22:19


要打开TR0
定时器0里面做操作,不明白什么意思!
如果是定时中断里做什么操作, 只要不影响 T0 计数的寄存器, 就不会影响到 PWM 的频率
xuling425300 发表于 2012-1-19 01:01 | 显示全部楼层
直接用时钟输出不就行了么不是可以128分频   12m晶体96分频就得到125k信号了。
xuling425300 发表于 2012-1-19 01:01 | 显示全部楼层
这款单片机有可以编程时钟输出。
12864 发表于 2012-1-19 01:06 | 显示全部楼层
晶体12M,如果用Fosc/2的时钟提供给pca,则计算得到12/4/0.125=24,这个初值是有点小,如果系统不忙的话,可能还行,如果有更高级中断的话,怕是125K信号输出不会稳定。

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

为了保险起见,可以考虑加大时钟频率。
wq3553 发表于 2018-4-4 12:30 | 显示全部楼层
有程序借鉴下吗?小白请上
您需要登录后才可以回帖 登录 | 注册

本版积分规则

3

主题

21

帖子

0

粉丝
快速回复 在线客服 返回列表 返回顶部