单片机音响技术网
首页 | 热销产品 | 单片机入门 | 下载中心 | 技术文章 | Protel专区 | 电子制作 | 购物指南 | 发货查询 | 本站淘宝
动画01 当前位置:本站首页技术文章
文章搜索
pix
本站推荐产品
  • 单片机音响软件专业开发板
  • 详细介绍
  • TOPAV-2008单片机开发板 598元
pix
pix
pix
单片机技术文章精选
pix

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

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的值。


摘录:半键纵横;   责任编辑:mcu51av 2007-11-10

上一篇:单片机系统软件抗干扰方法
下一篇:89C51单片机I/O模拟串行通信

pix

关于我们 | 联系我们 | 友情链接 | 网站地图 | 点击给我留言
Copyright © 2007 - 2008 单片机音响技术网 All rights reserved. 站长统计