专栏中心

EEPW首页 > 专栏 > 用51单片机实现输出pwm的两种方法

用51单片机实现输出pwm的两种方法

发布人:songzhige 时间:2012-07-04 来源:工程师 发布文章
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 WM输出脚
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 WM输出脚
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的值。

专栏文章内容及配图由作者撰写发布,仅供工程师学习之用,如有侵权或者其他违规问题,请联系本站处理。 联系我们

关键词:

相关推荐

Synopsys Inc

gg-yy 2005-04-21

据报道,瑞萨公司在高崎工厂的未来以及国内劳动力不确定性方面面临困境

机器人安全用例与实施:护航未来安全

机器人 2025-08-11

直击WRC 2025:具身智能“三驾马车”让AI x Robotics深度融合

8年,3亿颗芯片:英迪芯微如何成为中国汽车芯片巨头

脉宽调制技术

我的2005

gg-yy 2005-04-21

半导体出口面临不确定性

EDA/PCB 2025-08-11

模拟电路资料(Practical Analog Design Techniques)

2010英特尔杯大学生电子设计竞赛(3)

视频 2010-07-30

Lyten 将在破产中收购 NorthVolt 资产

明纬电源选型指南

2010英特尔杯大学生电子设计竞赛(6)

视频 2010-07-30

2010英特尔杯大学生电子设计竞赛(5)

视频 2010-07-30

IC China 2025有望成为 EDA技术突破与产业协同的广阔舞台

2025-08-11

Vishay高可靠单/双向1500 W PAR TVS方案通过AEC-Q101认证

模拟技术 2025-08-11

2010英特尔杯大学生电子设计竞赛(7)

视频 2010-07-30

2010英特尔杯大学生电子设计竞赛(4)

视频 2010-07-30

明纬开关电源使用手册

模拟电子电路的一点学习方法

陈立武风波中给英特尔员工的内部信

EDA/PCB 2025-08-11

Proximus Global 在《Gartner通信平台即服务(CPaaS)魔力象限报告》中荣获“远见者”称号

更多 培训课堂
更多 焦点
更多 视频

技术专区