衰不堪言 发表于 2015-5-18 16:48:32

STC输出可变占空比PWM能否不用中断?

之前看到STC15系列的PCA,输出可变PWM,官方的例程是用到中断来更新占空比,后来出了带硬件PWM的单片机后,满心欢喜下载手册一看,仍然要在中断里更新。
有没有什么办法不在中断里更新,类似于c8051f系列的

Excellence 发表于 2015-5-18 16:50:09

M3的可以。
难道51不行?

衰不堪言 发表于 2015-5-18 16:54:13

Excellence 发表于 2015-5-18 16:50
M3的可以。
难道51不行?

也许可以,恕我看手册没看清,不过也是来来回回看了好几遍了

Excellence 发表于 2015-5-18 16:56:06

衰不堪言 发表于 2015-5-18 16:54
也许可以,恕我看手册没看清,不过也是来来回回看了好几遍了

我也用51,不过用的定时器。
没用PWM。
临时用几天。

衰不堪言 发表于 2015-5-18 21:27:43

看了好多网友的代码都是可以的,但是STC官方代码就是带中断的

小李非刀 发表于 2015-5-18 22:24:19

硬件PWM,在中断中更新占空比不是必须的,你在主程序中更新也是一样的。用中断来更新,一般是为了同步,或用某种速度去更新,比如播放语音,8K采样,就必须使用定时器8K中断来更新,你用主程序更新的话,那语音就可能没法听。

小李非刀 发表于 2015-5-18 22:27:25

STC带硬件PWM的MCU,最早是2005年出来的STC12C5410AD系列,4路8位硬件PWM,也是不需要中断更新占空比的,不知道楼主怎么认为一定要在中断更新。更新仅仅是写一个寄存器,在哪写都一样。

衰不堪言 发表于 2015-5-18 22:59:04

小李非刀 发表于 2015-5-18 22:27
STC带硬件PWM的MCU,最早是2005年出来的STC12C5410AD系列,4路8位硬件PWM,也是不需要中断更新占空比的,不 ...

多谢斑竹每次都能答我所疑
只是在STC15系列的手册上,我看到关于PWM的例程里,不论是PCA模式还是硬件PWM模式,固定占空比的PWM输出都是没有用到中断,而每个需要改变占空比的例程都是用到中断的

大米饭 发表于 2015-5-20 10:17:07

就控制一个寄存器而已,随便那里写都行,不一定非要中断里

小李非刀 发表于 2015-5-20 10:32:28

衰不堪言 发表于 2015-5-18 22:59
多谢斑竹每次都能答我所疑
只是在STC15系列的手册上,我看到关于PWM的例程里,不论是PCA模式还是硬件PWM ...

这个是用PCA做超过8位的PWM,需要软件介入,所以必须要在中断里装载高低电平时间。本身的8位硬件PWM是不需要中断的。

mkliop 发表于 2015-5-20 10:38:07

我以前做过呼吸灯就是在主程序更新的

yk28981 发表于 2015-5-20 11:01:43

只玩过STC56系列可以不用中断,但只有8位硬件PWM,想要更高位数的就得靠软件和中断了。
页: [1]
查看完整版本: STC输出可变占空比PWM能否不用中断?