单片机定时器生成频率占空比可调的PWM.docx

单片机定时器生成频率占空比可调的PWM.docx

ID:59221770

大小:63.87 KB

页数:2页

时间:2020-09-09

单片机定时器生成频率占空比可调的PWM.docx_第1页
单片机定时器生成频率占空比可调的PWM.docx_第2页
资源描述:

《单片机定时器生成频率占空比可调的PWM.docx》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、关于51系列单片机利用定时器生成频率占空比可调的PWM 利用51单片机(无PWM模块)的软件模拟生成PWM,其频率和占空比都是可调的,在去年电子竞赛的时候一直没有自己尝试过,现在到了13的五月,要准备电子竞赛了,想把一些比较基础的东西自己亲手调一调。 在刘海波老师的单片机课,听过老师的方法生成PWM,当时就是一惊!自己从来没有这么做过。原理比较简单,下面分别阐述: 自己的想法,要用到两个定时器,一个用于控制占空比,一个用于控制周期,即频率  例如:t0控制高电平(或者)维持的时间,t1控制低电平(

2、或者高电平)维持的时间,两者的时间的之和就是该PWM的周期,考虑到单片机上电引脚的电平的问题,此时生成的PWm的最好是先高后低。往往第一个周期是不对的。以下下就详细说明: 单片机上电为高电平,开始t0定时器和相关中断设置,等到t0定时时间T0到了,进入中断程序,变为低电平,同时关掉t0和开启t1,即是TR0=0,TR1=1;同理t1定时时间T1到了,进入中断程序,变为低电平,同时关掉t1和开启t0,即是TR0=1,TR1=0;即是即是采用定时器t0、t1轮流定时,一个定时器控制一种电平的时间,t0

3、为高电平定时的时间,t1为低电平定时的时间。   注意:这个方法在系统的初始化的时候,必须将t0的定时器开启,否则,全部无法进行 还有一种方法是开始t0定时器、t1定时器同时开启,其中t0定时的时间T0是高电平的时间,t1定时的时间T1是整个PWM的周期。开始t0定时器、t1定时器同时开启,当然,T0的时间肯定要比T1的大,当t0定时的时间T0到了,进入t0中断程序,引脚又高电平变到低电平,同时将t0定时器关掉;当t1定时的时间T1到了,进入t1中断程序,引脚又低电平变到高电平,同时将t0定时器开

4、启。  以上两种方法都是利用两个定时器分别控制不同电平的时间,占用了51的几乎全部定时器,并且计算起来比较麻烦,要计算两个定时器的值,占空比的计算也相对困难。 老师的方法是利用一个定时来模拟生成其频率和占空比都是可调的PWM,主要思想为: 例如模拟生成频率1KHZ和占空比是50%的PWM,首先将它分成的100分(也可以是更高的精度),控制这单独的每一份,来组成整个周期的PWM,1KHZ的T是1MS,分成100份,每一份的时间是0.01ms (10us),采用t0的16位工作方式,我们可以知道10u

5、s的数值C是10(12M晶振),初始值TH0=(65536-(C=10))/256,TL0=(65536-(C=10))%256,在此时,我们设置一个变量i,来表示份数.50%占空比,我们就让前面的50份为高,即是i<=50,后50份为低。50100时,为0.      上面的就完成的频率1KHZ和占空比是50%的PWM,我们可以总结为定时器的C确定PWM的周期,q为占空比。

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。