51系列单片机输出PWM的两种方法

2019-03-10 18:52

51系列单片机输出PWM的两种方法

大小[2658] 时间[2006-7-1] 阅读[3637] 推荐[10] 积分[3] 查看和发表评论

2003年,第5期,类别:智能电子

MCS-51系列单片机无PWM输出功能,可以采用定时器配合软件的方法实现,对精度要求不高的场合是非常实用的。电路图见图1,采用高速光隔6N137输出,并将PWM的信号倒相。 一、 工作原理(原理图如图1所示) 二、PWM输出

1. 固定脉宽PWM输出

用T0定时器完成PWM输出,脉宽固定为65536μs。T0定时器设置成16位定时器,PWM波形如图2所示。

程序清单:(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的值。 2. 可变脉宽PWM输出

用T0定时器控制PWM的占空比,T1定时器控制脉宽(最大65536μs。) T0、T1定时器设置成16位定时器。PWM输出波形如图3所示。 程序清单:(12MHz)

PwmData0 ;T0定时t1的初值(字) PwmData1 ;T1定时T的初值(字)

??;***************************???????????? setb tro ;启动T0 setb tr1 ……

T0Int:Clr tr0 ;T0中断服务程序 setb p1.0 ;PWM输出脚 reti

T1Int:Clr p1.0 ;T1中断服务程序 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的值。

?湖南 李杰


51系列单片机输出PWM的两种方法.doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:极值点偏移问题专题(五)——对数平均不等式(本质回归)

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: