中易网

如何用51单片机产生pwm 并利用pwm控制led灯的功率?

答案:1  悬赏:60  
解决时间 2021-01-25 02:50
如何用51单片机产生pwm 并利用pwm控制led灯的功率?
最佳答案
51系列单片机无PWM输出功能,可以采用定时器配合软件的方法输出。对精度要求不高的场合,非常实用。电路图见图一,采用了高速光隔(6N137)输出,并将PWM的信号倒相。一、原理图

图一二、固定脉宽PWM输出
用T0定时器完成PWM输出,脉宽固定:65536微妙。T0定时器设置成:16位定时器
PWM:

程序清单:(12MHz)
PwmData0 ;T0定时t1所需的定时初值(字)
PwmData1 ;T0定时t2所需的定时初值(字)
PwmF ;PWM输出标志
;*********************************************************
setb tro ;启动T0
。。。。。。
T0Int:;T0中断服务程序
JB PwmF ,PwmOutH ;PWM输出未完成返回
Mov TH0,High(PwmData0)
Mov TL0,Low(PwmData0)
Setb tr0
Setb PwmF
Clr p1.0 ;PWM输出脚
reti
PwmOutH:
Setb p1.0
Clr tr0
Mov TH0,High(PwmData1)
Mov TL0,Low(PwmData1)
Setb tr0
Clr PwmF
reti
说明:在主程序中计算PwmData0、PwmData1的值。 可变脉宽PWM输出
用T0定时器控制PWM的占空比,T1定时器控制脉宽(最大:65536微妙)。
T0、T1定时器设置成:16位定时器。

程序清单:(12MHz)
PwmData0 ;T0定时t1所需的定时初值(字)
PwmData1 ;T1定时T所需的定时初值(字)
;*********************************************************
setb tro ;启动T0
setb tr1
。。。。。。
T0Int:;T0中断服务程序
Clr tr0
setb p1.0 ;PWM输出脚
reti
T1Int:;T1中断服务程序
Clr p1.0
Clr tr0
Clr tr1
Mov TH0,High(PwmData0)
Mov TL0,Low(PwmData0)
Mov TH1,High(PwmData1)
Mov TL1,Low(PwmData1)
Setb tr1
Setb tr0
reti
说明:在主程序中计算PwmData0、PwmData1的值。
我要举报
如以上问答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
求现代电子技术实践课程指导,电工电子技能实
新解:卖房个人所得税计算方法 知道每一分去
微波疗法的附:处方举例
参加婚礼的礼金什么时候给,给谁
怎样做好主管
巅峰教育好不好 买书靠谱不
房间装的是那种装饰灯,一起三个灯泡,现在坏
外墙真石漆施工合同
求杭州的电子元件供应商。。。
怎样防止宝宝窒息,好方法是什么
手机信号那里显示GPRS是怎么回事?
北京煤气表IC卡插入后显示EFF怎么办,使用的
重金属检测单位mg/kg-cli和mg/kg-cem
卖出去的家具出现售后问题这样才能处理好
房产中介需要做些什么事
推荐资讯
批发袜子一般的多少一双 卖价多少
新中文印社地址在什么地方,我要处理点事
怎么用photoshop特警蓝?
帮我判断下是不是休止期脱发
比利时离西班牙距离
想要加盟教育培训机构需要做好哪些准备
四月份用电120度,5月份是上月的75%多30度五月
怎么样学做土建消防资料?
泾源可口香农家乐怎么去啊,我要去那办事
22wled灯和40w日光灯哪个更省电
为什么我的号之前显示11月1号凌晨4点可以申请
打架双方皮外伤单保出来需多少钱
手机登qq时,显示手机磁盘不足,清理后重新登
刺客的套装怎么选啊?