专栏中心

EEPW首页 > 专栏 > 51单片机PWM 编程实例

51单片机PWM 编程实例

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

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

关键词:

相关推荐

莱迪思加入英伟达(NVIDIA) Halos生态系统,通过Holoscan传感器桥接技术提升物理人工智能安全性

嵌入式Linux性能监控和调优 下

视频 2009-10-26

PowerPCB 入门之多媒体教程

赋能AI,智造未来:爱发科电子半导体技术研讨会暨SEMICON China 2026出展圆满举行

FPGA在视频处理领域的应用 下

视频 2009-10-26

Power-Logic 应用培训教程

PowerPCB 软件培训教程

引领VPU IP新标杆,安谋科技Arm China发布新一代“玲珑”核芯

嵌入式Linux性能监控和调优 上

视频 2009-10-26

FPGA在视频处理领域的应用 上

视频 2009-10-26

Powerlogic and Powerpcb 初学中文教材

英飞凌推出业界首款高度集成的单端口USB Type-C PD微控制器,内置55V升降压控制器

芯科科技闪耀 2026 嵌入式世界展 以 Connected Intelligence 赋能,构建边缘智能网联新生态

嵌入式系统 2026-03-27

奥芯明推出最新款引线键合机AERO PRO 推动先进封装互联能力升级

2026-03-27

POWER PCB 工作层配置文件

嵌入式Linux图形界面开发 下

视频 2009-10-26

Arm以AGI CPU搅动AI处理器竞争格局

智能计算 2026-03-27

Cincoze 德承发表高性能紧凑型工控机 DX-1300:打造空间受限场域的关键边缘运算核心

SMPT推出ALSI LASER1206激光切割与开槽设备 助力先进封装与车用功率器件制造

医疗IVD国产化新突破, 研华实现RK3588与银河麒麟平台级适配

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

技术专区