找回密碼
 立即注冊(cè)

QQ登錄

只需一步,快速開始

搜索
查看: 9470|回復(fù): 0
打印 上一主題 下一主題
收起左側(cè)

LPC1788單沿pwm原理和配置

[復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
ID:76127 發(fā)表于 2015-4-5 02:31 | 只看該作者 回帖獎(jiǎng)勵(lì) |倒序?yàn)g覽 |閱讀模式
      pwm的基本功能:以一定的周期頻率,輸出不同占空比可調(diào)的方波。

        Lpc1788中的pwm的時(shí)鐘(頻率)來源于APB總線的時(shí)鐘(頻率),首先要進(jìn)行分頻,或者說預(yù)分頻,不然直接由APB頻率也太大了,肯定是需要通過分頻才能達(dá)到我們需求的pwm周期頻率。
        寄存器PWMPR 和PWMPC兩個(gè)寄存器提供了APB頻率分頻到PWM中的頻率,手冊(cè)上講的預(yù)分頻,也是有道理的,因?yàn)榈搅藀wm之后還要進(jìn)行一次分頻,第二次分頻才是真正pwm的周期頻率。我們把第一次分頻得到頻率暫且命名為prepwmclk。
        第二次分頻是通過PWMMR0進(jìn)行的,通過對(duì)prepwmclk的分頻,這樣得到了我們要的pwm的周期。
        還要去配置占空比,這個(gè)又是怎么做到的?
        Lpc1788出現(xiàn)了PWMMR1- PWMMR6,依照第二次分頻的原理。
       比如PWMMR0配置為100,得到周期,那PWMMR1設(shè)置為50,得到1/2的占空比。當(dāng)然

       PWMMR1- PWMMR6對(duì)應(yīng)的是6個(gè)不同的輸出管腳,以此類推。
給個(gè)簡(jiǎn)單的例子:

PINSEL_ConfigPin (1, 18, 2);     //p1[18] as pwm1_1

    rPCONP |= 0x1<<6;     //使能PWM1外設(shè)  

    rPWM1IR = 0x73F;    //初始化PWM相關(guān)控制寄存器

    rPWM1TCR = 0;

    rPWM1CTCR = 0;

    rPWM1MCR = 0;

    rPWM1CCR = 0;

    rPWM1PCR = 0;

    rPWM1LER = 0;



   // CLKPWR_GetCLK(CLKPWR_CLKTYPE_PER) / ((uint32_t)38000);

   /*實(shí)際頻率計(jì)算方法:

       rPWM1PR = CLKPWR_GetCLK(CLKPWR_CLKTYPE_PER) / ((uint32_t)38*1000*rPWM1MR0)

    */

rPWM1PR = CLKPWR_GetCLK(CLKPWR_CLKTYPE_PER) / ((uint32_t)3800000);

  //每CLKPWR_GetCLK(CLKPWR_CLKTYPE_PER) / ((uint32_t)38000);個(gè)PLCK上升沿,TC遞增



rPWM1MR0 = 100;    //頻率即100個(gè)rPWM1PR配置得到的頻率為一周期所以如果需要38Khz的頻率

rPWM1PR = CLKPWR_GetCLK(CLKPWR_CLKTYPE_PER) / ((uint32_t)38*1000*rPWM1MR0)

    rPWM1LER |= 0x1;



    rPWM1MR1 = 50;    //占空比即50個(gè)rPWM1PR配置得到的頻率為一周期中的高電平

    rPWM1LER |= 0x1<<1;

    rPWM1MCR = 0;  

    rPWM1TCR |= 0x1<<1;   //復(fù)位TC和PC  

    rPWM1TCR &= ~(0x1<<1);

    rPWM1TCR |= 0x1;    //PC和TC計(jì)數(shù)使能

    rPWM1PCR |= 0x1<<9; //PWM1-1使能輸出

    rPWM1TCR |= 0x1<<3; //PWM模式使能
分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享淘帖 頂 踩
回復(fù)

使用道具 舉報(bào)

本版積分規(guī)則

手機(jī)版|小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術(shù)交流QQ群281945664

Powered by 單片機(jī)教程網(wǎng)

快速回復(fù) 返回頂部 返回列表