海底的仙人掌1 发表于 2016-1-20 23:02:51

如何实现调整电位器更改LED的PWM输出

如何实现调整电位器更改LED的PWM输出,如图所示,c51单片机的P1.2脚输出高电平,P1.1脚读高低电平,调整电位器阻值,编程控制P1.3脚输出PWM波形来调整LED的亮与暗。电位器阻值高时LED暗,电位器阻值低时,LED亮一些。分256级亮度。请问程序应该要怎么写?请高手指教~~

dzrs0620 发表于 2016-1-21 01:13:58

呵呵 ,年轻真好!

i7gly 发表于 2016-1-21 01:26:04

P13如果没有硬件PWM就只能用软件PWM实现了.
P12输出低电平,P11区电压值,直接取8位ADC值就可以了,然后将ADC值丢给PWM处理.

海底的仙人掌1 发表于 2016-1-21 09:07:44

i7gly 发表于 2016-1-21 01:26
P13如果没有硬件PWM就只能用软件PWM实现了.
P12输出低电平,P11区电压值,直接取8位ADC值就可以了,然后将ADC ...

有些单片机没有ADC怎么办呢?

海底的仙人掌1 发表于 2016-1-21 09:16:53

我用的是非AD端口,请问需要怎么编程?

iwinstone 发表于 2016-1-21 09:22:22

比较器总有吧

a136498491 发表于 2016-1-21 09:26:57

三角波加比较总行吧。。。。。

海底的仙人掌1 发表于 2016-1-21 09:36:50

a136498491 发表于 2016-1-21 09:26
三角波加比较总行吧。。。。。

没有比较器,应该是看三角波

xiaotaodzgzs 发表于 2016-1-21 10:00:06

海底的仙人掌1 发表于 2016-1-21 09:36
没有比较器,应该是看三角波

你这用单片机已经体现不出单片机的价值了 又没ADC 又要读电位器 又要PWM输出 还不如直接NE555之类的简单、方便、低成本又能实现你需要的功能。

centrineer 发表于 2016-1-21 10:05:19

毕业设计?年轻真好。P1.1做输出,P1.2检测,电位器阻值越大电容充电时间越长,P1.2检测到高电平的时间越滞后。不过阻容值不对{:lol:}。
页: [1]
查看完整版本: 如何实现调整电位器更改LED的PWM输出