![AVR產(chǎn)生PWM波實(shí)例程序_第1頁](http://file4.renrendoc.com/view/0fe79187ee2cd0051a3698bb058eccec/0fe79187ee2cd0051a3698bb058eccec1.gif)
![AVR產(chǎn)生PWM波實(shí)例程序_第2頁](http://file4.renrendoc.com/view/0fe79187ee2cd0051a3698bb058eccec/0fe79187ee2cd0051a3698bb058eccec2.gif)
![AVR產(chǎn)生PWM波實(shí)例程序_第3頁](http://file4.renrendoc.com/view/0fe79187ee2cd0051a3698bb058eccec/0fe79187ee2cd0051a3698bb058eccec3.gif)
![AVR產(chǎn)生PWM波實(shí)例程序_第4頁](http://file4.renrendoc.com/view/0fe79187ee2cd0051a3698bb058eccec/0fe79187ee2cd0051a3698bb058eccec4.gif)
![AVR產(chǎn)生PWM波實(shí)例程序_第5頁](http://file4.renrendoc.com/view/0fe79187ee2cd0051a3698bb058eccec/0fe79187ee2cd0051a3698bb058eccec5.gif)
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、AVR的PWM波(1)一個(gè)實(shí)例例:這個(gè)程序是用IICC的向?qū)?dǎo)生成的,很很簡(jiǎn)單。 T0是作為普通通8位定時(shí)器器,頻率1000KHz,每每次中斷將PPB0(piin1)狀態(tài)態(tài)反轉(zhuǎn),產(chǎn)生生的是2000KHz占空空比50的的方波。 T1是作為工作作模式9:相相頻可調(diào)PWWM波發(fā)生器器,頻率初始始化16KHHz,占空比比50。請(qǐng)請(qǐng)注意: TCNT1是TT0的定時(shí)器器計(jì)數(shù)值,就就是每個(gè)定時(shí)時(shí)器時(shí)鐘加11,和普通定定時(shí)器的計(jì)數(shù)數(shù)值寄存器作作用一樣。 OCR1A作為為比較的TOOP值。 OOCR1B作作為匹配輸出出值。 當(dāng)TCNT1的的值增加到OOCR1B相相等時(shí),OCC1B(piin18)清清零,就是對(duì)對(duì)
2、應(yīng)低電平; 然后TCNT11繼續(xù)增加到到OCR1AA(就是TOOP)的值,然然后TCNTT1開始減少少,這個(gè)中間間,OC1BB(Pin118)狀態(tài)不不變;當(dāng)TCCNT1減少少到OCR11B相等時(shí),OOC1B(ppin18)置置1,就是對(duì)對(duì)應(yīng)高電平。 然后TCNNT1繼續(xù)減減少到0 x000(就是BBOTTOMM),然后TTCNT1又又開始增加,這這個(gè)中間,OOC1B(ppin18)狀狀態(tài)不變。 OCR1B的值值與OCR11A的比值就就是PWM的的占空比! 所以這個(gè)值值必須比OCCR1A小。當(dāng)OOCR1B為為0時(shí),PWWM波就一直直為低電平(相相當(dāng)于占空比比為0);當(dāng)當(dāng)OCR1BB為OCR11A
3、時(shí),PWWM波就一直直為高電平(相相當(dāng)于占空比比為100);當(dāng)OCR11B為OCRR1A的一半時(shí)時(shí),PWM波波就是占空比比為50。 你可可以修改OCCR1B的值值,然后重新新下載程序運(yùn)運(yùn)行,看看占占空比的改變變;也可以修修改OCR11A的值,然然后重新下載載程序運(yùn)行,看看看頻率的改改變,不過要要注意修改OOCR1A時(shí),同時(shí)時(shí)注意OCRR1B的值不不要比OCRR1A大。 模式式9算是PWWM生成中最最復(fù)雜的一種種,只要你理理解了這個(gè),對(duì)對(duì)別的幾種PPWM都好理理解。TCNT0 = 0 xB00; /sset coountOCR0 = 0 x50; 即使工作在noormal模模式下,這個(gè)個(gè)OCR0
4、仍仍然在和TCCNT0進(jìn)行行比較,一旦旦匹配后,就就會(huì)產(chǎn)生中斷斷或者改變OOC0腳上的的電平(產(chǎn)生生PWM)。改改變這個(gè)值,就就會(huì)改變中斷斷發(fā)生的時(shí)間間,或者改變變OC0腳上上的方波的頻頻率了。 T1定時(shí)器1的的模式9,相相頻修正模式式,可以用來來產(chǎn)生波形非非常完整的PPWM波。TTCNT1設(shè)設(shè)置初值,增增加到0 xFFFFF的時(shí)時(shí)間,然后從從0開始計(jì)數(shù)數(shù),這個(gè)理解解是正確的??煽梢援嬕粋€(gè)波波形圖對(duì)應(yīng)理理解一下:畫畫一個(gè)占空比比50的方方波,高電平平上平分為11、2兩段,低低電平上平分分為3、4兩兩段。 1就是TCCNNT1從初值值加,-0 xFFFFF階段,這這個(gè)階段OCCR1B為高高電平;
5、 2就是TCCNNT1從0 xx00加-OCR11B階段,這這個(gè)階段為高高電平;匹配配后,變?yōu)榈偷碗娖?3就是TCCNNT1從OCCR1B加-OCRR1A階段,這這個(gè)階段為低低電平; 4就是TCCNNT1從OCCR1A減-OCR1BB階段,這個(gè)個(gè)階段為低電電平;匹配后后,變?yōu)楦唠婋娖?TCCNT1的的初值,就是是保證第一段段高電平的時(shí)時(shí)間,這樣才才能形成一個(gè)個(gè)完整周期的的方波。而且且,這個(gè)初值值應(yīng)該根據(jù)OOCR1B的的值而設(shè),就就是TCCNNT1 = 0 xfffff-OCRR1B+1;這樣才能保保證時(shí)間的匹匹配。 如果是模式9,那那么每次變化化后,算出占占空比,算出出OCR1BB的值并賦值值
6、,會(huì)自動(dòng)在在下一個(gè)周期期改變占空比比為新值。eeasy。重重點(diǎn)是:每次次給OCR11B賦值,會(huì)會(huì)在 下一個(gè)個(gè) 周期改變變占空比。 /實(shí)例:利用用pwm控制制led光暗暗及峰鳴器音音量大小/ICC-AAVR appplicaation buildder : 2005-4-18 12:466:03/ Targget : M16/ Crysstal: 4.00000Mhz#includde #includde #definee uchaar unssignedd charr #definee uintt unsiigned int void poort_innit(vooid); void tiim
7、er0_init(void); void innit_deevicess(voidd); void deelay_sshort(uint t); uchar sscan_kkey(vooid); void poort_innit(vooid)PORTA = 0 x000;DDRA = 0 xx00;PORTB = BIT(PB3);DDRB = BIIT(PB33);PORTC = 0 x000; /mm103 ooutputt onlyyDDRC = 0 xx00;PORTD = 0 x000;DDRD = 0 xx00;/ WGM: PWM Phasee corrrect / desiir
8、ed vvalue: 1KHzz / actuual vaalue: 0.980KHHz (-22.0%) void tiimer0_init(void)TCCR0 = 0 x000; /sstopTCNT0 = 0 x011; /sset coountOCR0 = 0 xxFF; /sset coompareeTCCR0 = 0 x622; /sstart timerr ; 相位位修正, 88分頻 /call this routiine too inittializze alll periipheraalsvoid innit_deevicess(voidd)/stop errannt in
9、tterruppts unntil sset uppCLI(); /dissable all iinterrruptsport_innit();timer0_init();MCUCR = 0 x000;GICR = 0 xx00;TIMSK = 0 x000; /ttimer interrrupt sourccesSEI(); /re-enablle intterruppts/all pperiphheralss are now iinitiaalizedd void deelay_sshort(uint t) / 短延時(shí) uinnt i; forr (i=00;i 0) if (kkey=1
10、1) / 減少佔(zhàn)空比比 OCR00_V -= 10; OCR00 = OCCR0_V; ; if (kkey=22) / 增加佔(zhàn)空比比 OCR00_V += 10; OCR00 = OCCR0_V; ; if (kkey=33) / 全黑,佔(zhàn)空空比為1000% OCR00_V = 0 xff; OCR00 = OCCR0_V; ; ;實(shí)驗(yàn)板接線: PB3 - JJA.1 及及 JM PD0 - KK1 PD1 - KK2 PD2 - KK3 (2)相關(guān)詳細(xì)細(xì)理論說明:符號(hào)定義: BOTTOM 計(jì)數(shù)器計(jì)到到0 x00000 時(shí)即達(dá)達(dá)到BOTTTOMMAX 計(jì)數(shù)器器計(jì)到0 xFFFFF ( 十進(jìn)制
11、的的655355) 時(shí)即達(dá)達(dá)到MAXTOP 計(jì)數(shù)器器計(jì)到計(jì)數(shù)序序列的最大值值時(shí)即達(dá)到TTOP。 TOPP 值可以為為固定值0 xx00FF、00 x01FFF或 0 x003FF,或或是存儲(chǔ)于寄寄存器 OCCR1A或ICRR1里的數(shù)值值,具體有賴賴于工作模式式 分5種工工作類型 1 普通模模式 WGMM1=0 跟跟51的普通通模式差不多多,有TOVV1溢出中斷斷標(biāo)志,發(fā)生生于MAX(0 xFFFFF)時(shí) 11 采用內(nèi)部部計(jì)數(shù)時(shí)鐘 用于 IICP捕捉輸輸入場(chǎng)合-測(cè)量脈寬寬/紅外解碼碼 (捕捕捉輸入功能能可以工作在在多種模式下下,而不單單單只是普通模模式) 22 采用外部部計(jì)數(shù)脈沖輸輸入 用于 計(jì)
12、數(shù)數(shù),測(cè)頻 其其他的應(yīng)用,采采用其他模式式更為方便,不不需要像511般費(fèi)神 2 CCTC模式 比較匹配配時(shí)清零定時(shí)時(shí)器模式 WGM1=4,12 跟51的自自動(dòng)重載模式式差不多 1 用于輸輸出50%占占空比的方波波信號(hào) 2 用于產(chǎn)產(chǎn)生準(zhǔn)確的連連續(xù)定時(shí)信號(hào)號(hào) WGM1=4時(shí), 最最大值由OCCR1A設(shè)定,TTOP時(shí)產(chǎn)生生OCF1AA比較匹配中中斷標(biāo)志 WGM1=12時(shí),最最大值由ICCF1設(shè)定, TOP時(shí)產(chǎn)產(chǎn)生ICF11輸入捕捉中中斷標(biāo)志 -如果TTOP=MAAX,TOPP時(shí)也會(huì)產(chǎn)生生TOV1溢溢出中斷標(biāo)志志 注:WGMM=15時(shí),也也能實(shí)現(xiàn)從OOC1A輸出方波波,而且具備備雙緩沖功能能 計(jì)算公式
13、: fOCnn=fcllk_IOO/(2*NN*(1+TTOP) 變變量N 代表表預(yù)分頻因子子(1、8、664、2566、10244),T2多多了(32、1128)兩級(jí)級(jí)。 3 快快速PWM模模式 WGMM1=5,66,7,144,15 單單斜波計(jì)數(shù),用用于輸出高頻頻率的PWMM信號(hào)(比雙雙斜波的高一一倍頻率) 都都有TOV11溢出中斷,發(fā)發(fā)生于TOPP時(shí)不是MMAX,跟普普通模式,CCTC模式不不一樣 比比較匹配后可可以產(chǎn)生OCCF1x比較較匹配中斷. WGM11=5時(shí), 最大值為00 x00FFF, 8位分分辨率 WGM11=6時(shí), 最大值為00 x01FFF, 9位分分辨率 WGM11=
14、7時(shí), 最大值為00 x03FFF,10位分分辨率 WGM1=14時(shí),最最大值由ICCF1設(shè)定, TOP時(shí)產(chǎn)產(chǎn)生ICF11輸入捕捉中中斷 (單緩緩沖) WGM1=15時(shí),最最大值由OCCR1A設(shè)定,TTOP時(shí)產(chǎn)生生OCF1AA比較匹配中中斷(雙緩沖沖,但OC11A將沒有PPWM能力,最最多只能輸出出方波) 改變TOPP值時(shí)必須保保證新的TOOP值不小于于所有比較寄寄存器的數(shù)值值 注注意,即使OOCR1A/B設(shè)為為0 x00000,也會(huì)輸輸出一個(gè)定時(shí)時(shí)器時(shí)鐘周期期的窄脈沖,而而不是一直為為低電平 計(jì)計(jì)算公式:ffPWM=ffclk_IIO/(N*(1+TOOP) 4 相相位修正PWWM模式 WW
15、GM1=11,2,3,10,111 雙雙斜波計(jì)數(shù),用用于輸出高精精度的,相位位準(zhǔn)確的,對(duì)對(duì)稱的PWMM信號(hào) 都都有TOV11溢出中斷,但但發(fā)生在BOOOTOM時(shí)時(shí) 比比較匹配后可可以產(chǎn)生OCCF1x比較較匹配中斷. WGM11=1時(shí), 最大值為00 x00FFF, 8位分分辨率 WGM11=2時(shí), 最大值為00 x01FFF, 9位分分辨率 WGM11=3時(shí), 最大值為00 x03FFF,10位分分辨率 WGM1=10時(shí),最最大值由ICCF1設(shè)定, TOP時(shí)產(chǎn)產(chǎn)生ICF11輸入捕捉中中斷 (單緩緩沖) WGM1=11時(shí),最最大值由OCCR1A設(shè)定,TTOP時(shí)產(chǎn)生生OCF1AA比較匹配中中斷(雙
16、緩沖沖,但OC11A將沒有PPWM能力,最最多只能輸出出方波) 改改變TOP值值時(shí)必須保證證新的TOPP值不小于所所有比較寄存存器的數(shù)值 可可以輸出0%100%占空比的PPWM信號(hào) 若若要在T/CC 運(yùn)行時(shí)改改變TOP 值,最好用用相位與頻率率修正模式代代替相位修正正模式。若TTOP保持不不變,那么這這兩種工作模模式實(shí)際沒有有區(qū)別 計(jì)計(jì)算公式:ffPWM=ffclk_IIO/(2*N*TOPP) 5 相相位與頻率修修正PWM模模式 WGMM1=8,99 雙雙斜波計(jì)數(shù),用用于輸出高精精度的、相位位與頻率都準(zhǔn)準(zhǔn)確的PWMM波形 都都有TOV11溢出中斷,但但發(fā)生在BOOOTOM時(shí)時(shí) 比比較匹配后可可以產(chǎn)生OCCF1x比較較匹配中斷. WGM1=8時(shí),最大大值由ICFF1設(shè)定, TOP時(shí)產(chǎn)產(chǎn)生ICF11輸入捕捉中中斷 (單緩緩沖) WGM1=9時(shí),最大大值由OCRR1A設(shè)定,TTOP時(shí)產(chǎn)生生OCF1AA比較匹配中中斷(雙緩沖沖,但OC11A將沒有PPWM能力,最最多只能輸出出方波) 相相頻修正修
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 跨文化背景下的家庭教育情感溝通
- 家屬中情感困擾的解決策略與方法
- 科技賦能小學(xué)科學(xué)教育評(píng)價(jià)體系構(gòu)建
- 2025年中衛(wèi)怎么考貨運(yùn)從業(yè)資格證
- 綠色辦公學(xué)校環(huán)境教育的實(shí)踐與思考
- 二零二五年度國際貨物運(yùn)輸代理合同爭(zhēng)議起訴書模板
- 2025年度市場(chǎng)推廣人員聘用合同解除書
- 2025年度車險(xiǎn)理賠人傷糾紛調(diào)解合同
- 2025年度臨時(shí)性項(xiàng)目非全日制勞動(dòng)合同書
- 2025年度藥店店員崗位服務(wù)責(zé)任合同
- 2025-2030年中國納米氧化鋁行業(yè)發(fā)展前景與投資戰(zhàn)略研究報(bào)告新版
- 2025年度正規(guī)離婚協(xié)議書電子版下載服務(wù)
- 2025年貴州蔬菜集團(tuán)有限公司招聘筆試參考題庫含答案解析
- 煤礦安全生產(chǎn)方針及法律法規(guī)課件
- 2025年教科室工作計(jì)劃樣本(四篇)
- 【7歷期末】安徽省宣城市2023-2024學(xué)年七年級(jí)上學(xué)期期末考試歷史試題
- 春節(jié)后安全生產(chǎn)開工第一課
- 2025光伏組件清洗合同
- 口腔粘膜常見疾病
- 酒店春節(jié)營(yíng)銷方案
- 高中物理選擇性必修2教材習(xí)題答案
評(píng)論
0/150
提交評(píng)論