djohn 发表于 2013-12-26 09:00:21

stm8s003 通过pwm控制8个led的亮度

请教stm8s003 怎样通过pwm控制8个led的亮度,芯片的硬件pwm好像是7路,需要用软件模拟PWM吗?该怎么写,谢谢!

看起来很黑 发表于 2013-12-26 09:16:07

回复:stm8s003 通过pwm控制8个led的亮度

 软件模拟直接控制输出时间占空比就可以了

djohn 发表于 2013-12-26 09:21:26

回复:stm8s003 通过pwm控制8个led的亮度

回复第 2 楼 于2013-12-26 09:16:07发表:
 软件模拟直接控制输出时间占空比就可以了
 

用一个定时器吗?像51那样?
硬件能否输出8路pwm,如果我通过选项字节开启PC5的Tim2_ch1,那PD4的Tim2_ch1是不是就没有了

fengye5340 发表于 2013-12-26 09:26:17

回复:stm8s003 通过pwm控制8个led的亮度

关键是你控制LED的要求是怎样的?在确定无其它需要PWM的地方,可以用一个IO模拟一路PWM实现,需要一个定时器做辅助。
如果是特定需要,可以借助芯片来硬件扩展,减少IO资源的利用。

djohn 发表于 2013-12-26 11:26:43

回复:stm8s003 通过pwm控制8个led的亮度

回复第 4 楼 于2013-12-26 09:26:17发表:
关键是你控制LED的要求是怎样的?在确定无其它需要PWM的地方,可以用一个IO模拟一路PWM实现,需要一个定时器做辅助。
如果是特定需要,可以借助芯片来硬件扩展,减少IO资源的利用。
 

我需要用pwm来控制流水灯的亮度,pwm和8个流水灯都用stm8s003实现

有缘于你 发表于 2013-12-26 12:03:04

RE:stm8s003 通过pwm控制8个led的亮度

用一个定时器加一个IO 来模拟一路PWM 就行

djohn 发表于 2013-12-26 12:33:30

回复:stm8s003 通过pwm控制8个led的亮度

回复第 6 楼 于2013-12-26 12:03:04发表:
用一个定时器加一个IO 来模拟一路PWM 就行 

请问能不能给个例程,我模拟出来的占空比总是不行,占空比我用按键调节

dzc2001 发表于 2013-12-26 15:56:42

回复:stm8s003 通过pwm控制8个led的亮度

回复第 7 楼 于2013-12-26 12:33:30发表:
回复第 6 楼 于2013-12-26 12:03:04发表:
用一个定时器加一个IO 来模拟一路PWM 就行 

请问能不能给个例程,我模拟出来的占空比总是不行,占空比我用按键调节
 
 
跑一个简单rtos能好控制些
 

Hiker天下 发表于 2013-12-28 21:10:46

RE:stm8s003 通过pwm控制8个led的亮度

只是一个流水灯,PWM完全用不上。一个时基定时器,加个判断时间的函数就搞定~

djohn 发表于 2013-12-29 08:40:58

RE:stm8s003 通过pwm控制8个led的亮度

谢谢大家,搞定了,我用了两个定时器,一个pwm,一个控制流水灯位移,
如果想实现流星的效果要怎么处理呢?就是带渐暗的尾巴那效果

sssdd 发表于 2016-12-20 16:56:08

其实你可以化亮度为时间片。。用时间片来代替PWM。才8级。
分片就能妥妥满足。包括你那彗星的小尾巴。
一个定时器。完全不使用PWM。
页: [1]
查看完整版本: stm8s003 通过pwm控制8个led的亮度