×
单片机 > 单片机程序设计 > 详情

51定时器配置PWM的技巧

发布时间:2020-09-02 发布时间:
|

定时器计数频率 * 周期时长(需要产生频率的分之一) = 计数值,看下面这段关键程序!


void ConfigPWM(u16 fr, u8 dc)//具体用的时候最好再估算一下是否真的可以产生!

{

    u32 tmp, high, low;


    tmp = 11059200/12/fr;

    high = (tmp * dc)/100;

    low = tmp - high;

    high = 65536 - high;

    low = 65536 - low;

    HighRH = (u8)(high>>8);

    HighRL = (u8)high;

    LowRH = (u8)(low>>8);

    LowRL = (u8)low;

    TMOD &= 0xF0;

    TMOD |= 0x01;

    TH0 = HighRH;

    TL0 = HighRL;

    ET0 = 1;

    TR0 = 1;

    PWMOUT = 1;

}


占空比可调也是可以的,再开一个定时器里面设置一个数组放一些占空比值,然后定时切换。切换无非就是重新赋值HighRH,HighRL, LowRH, LowRL。


『本文转载自网络,版权归原作者所有,如有侵权请联系删除』

热门文章 更多
STM32单片机的复用端口初始化的步骤及方法