日本黄色一级经典视频|伊人久久精品视频|亚洲黄色色周成人视频九九九|av免费网址黄色小短片|黄色Av无码亚洲成年人|亚洲1区2区3区无码|真人黄片免费观看|无码一级小说欧美日免费三级|日韩中文字幕91在线看|精品久久久无码中文字幕边打电话

當(dāng)前位置:首頁(yè) > 單片機(jī) > 單片機(jī)
[導(dǎo)讀] pwm的基本功能:以一定的周期頻率,輸出不同占空比可調(diào)的方波。 Lpc1788中的pwm的時(shí)鐘(頻率)來(lái)源于APB總線的時(shí)鐘(頻率),首先要進(jìn)行分頻,或者說(shuō)預(yù)分頻,不然直接由APB頻率也太大了,肯定是需要通

pwm的基本功能:以一定的周期頻率,輸出不同占空比可調(diào)的方波。

Lpc1788中的pwm的時(shí)鐘(頻率)來(lái)源于APB總線的時(shí)鐘(頻率),首先要進(jìn)行分頻,或者說(shuō)預(yù)分頻,不然直接由APB頻率也太大了,肯定是需要通過(guò)分頻才能達(dá)到我們需求的pwm周期頻率。
寄存器PWMPR 和PWMPC兩個(gè)寄存器提供了APB頻率分頻到PWM中的頻率,手冊(cè)上講的預(yù)分頻,也是有道理的,因?yàn)榈搅藀wm之后還要進(jìn)行一次分頻,第二次分頻才是真正pwm的周期頻率。我們把第一次分頻得到頻率暫且命名為prepwmclk。
第二次分頻是通過(guò)PWMMR0進(jìn)行的,通過(guò)對(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è)不同的輸出管腳,以此類(lèi)推。


給個(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模式使能


本站聲明: 本文章由作者或相關(guān)機(jī)構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點(diǎn),本站亦不保證或承諾內(nèi)容真實(shí)性等。需要轉(zhuǎn)載請(qǐng)聯(lián)系該專(zhuān)欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請(qǐng)及時(shí)聯(lián)系本站刪除( 郵箱:macysun@21ic.com )。
換一批
延伸閱讀
關(guān)閉