




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、AVR使用范例-定時(shí)器實(shí)現(xiàn)PWM功能本頁關(guān)鍵詞: 什么是pwm pwm原理 pwm控制 pwm芯片 pwm 單片機(jī) 單片機(jī)pwm控制應(yīng)用 pwm電路 pwm輸出 pwm調(diào)制 脈寬調(diào)制PWM是開關(guān)型穩(wěn)壓電源中的術(shù)語。這是按穩(wěn)壓的控制方式分類的,除了PWM型,還有PFM型和PWM、PFM混合型。脈寬寬度調(diào)制式(PWM)開關(guān)型穩(wěn)壓電路是在控制電路輸出頻率不變的情況下,通過電壓反饋調(diào)整其占空比,從而達(dá)到穩(wěn)定輸出電壓的目的。通俗的說PWM就是波形,波形的波峰以波谷的比例關(guān)系成為占空比,我們可以通過PWM控制電機(jī),音量控制,模擬控制等。AVR單片機(jī)的定時(shí)器可以輕松實(shí)現(xiàn)PWM功能。mega16和mega32
2、的timer0是和timer2都具有PWM功能,timer0和timer2都為8位定時(shí)器。timer2為異步操作定時(shí)器,在操作過程中要等待寄存器狀態(tài)更改完成。詳情參看數(shù)據(jù)手冊(cè):8位有pwm操作的異步操作定時(shí)器timer2。下圖設(shè)定使用timer0來實(shí)現(xiàn)PWM功能。PWM電機(jī)控制:。OC0 output mode 設(shè)定了pwm輸出控制選擇:正常的端口操作,不與OC0 相連接, 比較匹配發(fā)生時(shí)OC0 取反, 比較匹配發(fā)生時(shí)OC0 清零, 比較匹配發(fā)生時(shí)OC0 置位。Waveform mode設(shè)定了波形產(chǎn)生模式:比較匹配輸出模式,快速PWM 模式,相位修正PWM 模式。更詳細(xì)的內(nèi)容請(qǐng)參看數(shù)據(jù)手冊(cè)???/p>
3、看程序代碼: /ICC-AVR application builder : 2006-11-25 0:15:12/ Target : M16/ Crystal: 7.3728Mhz#include #include void port_init(void) PORTA = 0x00; DDRA = 0x00; DDRB = 0x08; /PB3為PWM輸出,非常重要,否則無法輸出波形 DDRB = 0x00; PORTC = 0x00; /m103 output only DDRC = 0x00; PORTD = 0x00; DDRD = 0x00;/TIMER0 initialize - p
4、rescale:64/ WGM: Normal/ desired value: 1KHz/ actual value: 1.002KHz (0.2%)void timer0_init(void) TCCR0 = 0x00; /stop TCNT0 = 0x8D; /set count /*TCNT0*/ OCR0 = 0x73; /set compare /*OCR0*/ TCCR0 = 0x23; /start timer /*TCCR0*/#pragma interrupt_handler timer0_comp_isr:20void timer0_comp_isr(void) /comp
5、are occured TCNT0=OCR0#pragma interrupt_handler timer0_ovf_isr:10void timer0_ovf_isr(void) TCNT0 = 0x8D; /reload counter value/call this routine to initialize all peripheralsvoid init_devices(void) /stop errant interrupts until set up CLI(); /disable all interrupts port_init(); timer0_init(); MCUCR
6、= 0x00; GICR = 0x00; TIMSK = 0x03; /timer interrupt sources /*TIMSK*/ SEI(); /re-enable interrupts /all peripherals are now initializedvoid main(void) /*加上這些,程序就可以運(yùn)行了。*/ init_devices(); while(1) ;程序運(yùn)行效果:波形從PB3輸出:看看幾個(gè)關(guān)鍵的寄存器的意義:1. TCNT0:定時(shí)器計(jì)數(shù)值,定時(shí)過程中不斷增大,溢出后重新置數(shù),開始下一輪。 2. OCR0:定時(shí)器比較的值,當(dāng)TCNT0 OCR0時(shí),會(huì)產(chǎn)生t
7、imer0_comp_isr中斷。 3. TCCR0:控制timer0的寄存器,這里0x23代表的是: 波形產(chǎn)生模式為普通模式,比較匹配發(fā)生時(shí)OC0 清零,clkI/O/64 ( 來自預(yù)分頻器),詳細(xì)內(nèi)容請(qǐng)查看數(shù)據(jù)手冊(cè)。4. TIMSK:定時(shí)器中斷選項(xiàng),這里允許timer0比較中斷,溢出中斷。 5. 預(yù)分頻器:預(yù)分頻器是獨(dú)立運(yùn)行的。也就是說,其操作獨(dú)立于T/C 的時(shí)鐘選擇邏輯,且它由T/C1 與 T/C0 共享。由于預(yù)分頻器不受T/C 時(shí)鐘選擇的影響,預(yù)分頻器的狀態(tài)需要包含預(yù)分頻時(shí)鐘 被用到何處這樣的信息。一個(gè)典型的例子發(fā)生在定時(shí)器使能并由預(yù)分頻器驅(qū)動(dòng)(6 > CSn2:0 > 1)的時(shí)候:從計(jì)時(shí)器使能到第一次開始計(jì)數(shù)可能花費(fèi) 1 到N+1個(gè)系統(tǒng)時(shí)鐘周期, 其中N 等于預(yù)分頻因子(8、64、256 或1024)。 PWM的工作流程:1. 初始化,定時(shí)器開始工作,TCNT0逐漸增大,在預(yù)分頻這么多個(gè)時(shí)鐘周期里變化一次。 2. 輸出比較寄存器包含一個(gè)8 位的數(shù)據(jù),不間斷地與計(jì)數(shù)器數(shù)值TCNT0 進(jìn)行比較。匹配事件可以用來產(chǎn)生輸出比較中斷,或者用來在OC0 引腳上產(chǎn)生波形。 3. TCNT0溢出,溢出中斷用于在OC0上產(chǎn)生波形,置位或者清零。 4. TCNT0
溫馨提示
- 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. 人人文庫(kù)網(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 商務(wù)考察活動(dòng)方案
- 團(tuán)建追人活動(dòng)方案
- 商務(wù)部網(wǎng)絡(luò)促銷活動(dòng)方案
- 品鑒會(huì)活動(dòng)方案
- 商場(chǎng)年中活動(dòng)方案
- 品牌全年活動(dòng)方案
- 團(tuán)建操場(chǎng)活動(dòng)方案
- 國(guó)風(fēng)活動(dòng)游戲策劃方案
- 商場(chǎng)商業(yè)活動(dòng)策劃方案
- 國(guó)慶回公司活動(dòng)方案
- 2024年西藏公安機(jī)關(guān)招聘警務(wù)輔助人員筆試真題
- 2025-2030中國(guó)顯示驅(qū)動(dòng)芯片行業(yè)競(jìng)爭(zhēng)風(fēng)險(xiǎn)及前景發(fā)展創(chuàng)新研判報(bào)告
- 2024年昆明市公安局招聘勤務(wù)輔警真題
- 客房部?jī)?nèi)部管理制度
- 小學(xué)生數(shù)學(xué)學(xué)習(xí)習(xí)慣的培養(yǎng)講座
- DeepSeek+AI大模型賦能制造業(yè)智能化供應(yīng)鏈解決方案
- 2025河南省豫地科技集團(tuán)有限公司社會(huì)招聘169人筆試參考題庫(kù)附帶答案詳解析集合
- T/CCOA 45-2023氣膜鋼筋混凝土球形倉(cāng)儲(chǔ)糧技術(shù)規(guī)程
- GB/T 27772-2025病媒生物密度控制水平蠅類
- 《船舶行業(yè)重大生產(chǎn)安全事故隱患判定標(biāo)準(zhǔn)》解讀與培訓(xùn)
- 2025年中考生物模擬考試卷(附答案)
評(píng)論
0/150
提交評(píng)論