技术分享

当前位置:首页>文章中心>技术分享
全部 354 技术分享 334 单片机入门 20

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

作者:佚名   来源:网上搜集   时间:2008-06-23   访问量:1051

    51系列单片机无PWM输出功能,可以采用定时器配合软件的方法输出。对精度要求不高的场合,非常实用。电路图见图一,采用了高速光隔(6N137)输出,并将PWM的信号倒相。

一、原理原理图
07121819575284.jpg
图一


二、固定脉宽PWM输出用T0定时器完成PWM输出,脉宽固定:65536微妙。T0定时器设置成:16位定时器
PWM:
07121819590291.gif
程序清单:(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 tr0Clr PwmF
        reti
说明:在主程序中计算PwmData0、PwmData1的值。        

三、可变脉宽PWM输出用T0定时器控制PWM的占空比,T1定时器控制脉宽(最大:65536微妙)。T0、T1定时器设置成:16位定时器
07121819594025.gif
程序清单:(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 tr1Mov TH0,High(PwmData0)
      Mov TL0,Low(PwmData0)
      Mov TH1,High(PwmData1)
      Mov TL1,Low(PwmData1)
      Setb tr1
      Setb tr0
      reti
说明:在主程序中计算PwmData0、PwmData1的值。

上一篇:电子元器件基本常识——晶振部分

下一篇:步进电机原理及使用说明

发表评论:

评论记录:

未查询到任何数据!

在线咨询

点击这里给我发消息 咨询专员

在线咨询

咨询电话

18906103328

电话咨询

微信扫一扫

微信联系
返回顶部