1 / 23

8051F120 實做 PWM

8051F120 實做 PWM. outline. PWM 相關簡介 Timer 實做 示波器操作 PCA 元件實做 (optional). outline. PWM 相關簡介 Timer 實做 示波器操作 PCA 元件實做 (optional). PWM 訊號. Pulse Width Modulation ,脈波寬度調 變 目的:周邊 控制 實 做 delay Timer PCA 元件. Dutycycle. 在脈波週期內 的 high edge 部份 佔一個脈波週期的比率即為所謂 的 dutycycle 先決定週期

catori
Download Presentation

8051F120 實做 PWM

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. 8051F120 實做 PWM

  2. outline • PWM相關簡介 • Timer 實做 • 示波器操作 • PCA元件實做(optional)

  3. outline • PWM相關簡介 • Timer 實做 • 示波器操作 • PCA元件實做(optional)

  4. PWM訊號 • Pulse Width Modulation,脈波寬度調變 • 目的:周邊控制 • 實做 • delay • Timer • PCA元件

  5. Dutycycle • 在脈波週期內的 high edge 部份佔一個脈波週期的比率即為所謂的 dutycycle • 先決定週期 • 再決定 high 跟 low 的比例

  6. 周邊控制 • 馬達 • 固定 20ms 週期 => tp= 20 ms • 依照不同的 dutycycle 有不同的轉動角度 • Vcc.接地.訊號線 • 蜂鳴器 • 不同的週期長短發出不同的高低音 • 頻率(物理) => tp 不同而有不同高低音 • 與dutycycle無關

  7. outline • PWM相關簡介 • Timer 實做 • 示波器操作 • PCA元件實做(optional)

  8. 概念 • 上次每 5ms 就 interrupt 一次的閃燈的作業 => 週期 10ms dutycycle 為 50% 的 PWM 訊號 • 改變週期為 20ms • 改變高電位及低電位比例

  9. 實做設定 • 使用外部石英震盪器做 system clock(22118400HZ) • Timer mode:16 bit timer • Prescaled Clock Inputs:System clock / 48 • timer 數一次的時間 48/22118400 = 2.17 * 10-3 (ms) • Timer需數的次數 20 (ms) / 2.17 * 10-3 (ms) ~= 9216 • 9216 次為 20ms 週期

  10. 實做設定(補充) • System clock • 外部石英震盪器 22118400 Hz • WatchdogTimer (WDT) • Crossbar • Port Input/Output • Interrupt • IE • All intterupt • timer0

  11. Crossbar Diagram

  12. Dutycycle實做概念 • tp => 數9216次會delay 20ms 的週期 • th => 高電位數 n 次 • tl => 低電位數 m 次 • n+m = 9216 • n,m比例調整就可有不同dutycycle

  13. Interrupt 程式 void Timer_ISR(void) interrupt 1 { if(LED == 0) { TH0 = (65536-1843)/256; //9216 20ms, dutycycle = 20% TL0 = (65536-1843)%256; } else { TH0 = (65536-7373)/256; TL0 = (65536-7373)%256; } LED = ~LED; }

  14. outline • PWM相關簡介 • Timer 實做 • 示波器操作 • PCA元件實做(optional)

  15. 操作重點 • 打開示波器 • 正極接訊號端,負極接地 • Auto Set • 選週期及頻率

  16. outline • PWM相關簡介 • Timer 實做 • 示波器操作 • PCA元件實做(optional)

  17. PCA概念 • PCA(Programmable Counter Array)加強計時計數器的應用功能,能夠使硬體資源更靈活有彈性的使用。 • 組成 • 一個16-bit的counter/timer • 六個capture/compare module • PCA可設定不同 function mode 而實現多種「以計時計數器為基礎所衍生的周邊控制行為」,如比較、捕捉、脈寬調變等

  18. 8051 PCA元件

  19. 8051 PCA元件(1) • PCA counter/timer • 8-bit SFRs: PCA0L and PCA0H • 訊號的頻率(週期)依照 PCA0 counter/timer 設定的 timebase 輸出 • Timebase(PCA0MD) • System clock divided by 12 • System clock divided by 4 • Timer 0 overflow • High-to-low transitions on ECI (max rate = system clock divided by 4) • System clock • External oscillator source divided by 8*

  20. 8051 PCA元件(2) • Capture/Compare Modules(PCA0CPMx) • Edge-triggered Capture Mode • Software Timer (Compare) Mode • High Speed Output Mode • Frequency Output Mode • 8-Bit Pulse Width Modulator Mode • 16-Bit Pulse Width Modulator Mode • Enable/disablePAC • PCA0CN • 設定dutycycle • PCA0CPLn capture/compare register • 硬體function概念 • If(PCA0L == PCA0CPLn)CEXn=1 • If(PCA0L overflow) CEXn = 0 • CEXn pin 為輸出訊號 (搭配crossbar) => P0.0

  21. PCA 8-Bit PWM Mode Diagram

  22. 簡單PCA實做-計算 • 8-Bit Pulse Width Modulator Mode • Timebase:Timer0 overflow • PCA0記數一次需:20 (ms) /256 = 0.078125 (ms) • 表示Timer0 overflow 一次要 0.078125 (ms) • 設定Timer0 為 8 bit Conter/Timer Auto-Reload • Timer0 的 Prescaled Clock Inputs:System clock / 48 => 48/22118400 = 2.17 * 10-3 (ms) • 78.125 * 10-3 / 2.17 * 10-3 ~= 36 => TL0 = (256-36) , TH0 = (256-36)

  23. 簡單PCA實做-設定 • system clock • 22118400HZ • Timer0 • 8 bit Conter/Timer Auto-Reload • TL0 = (256-36) • TH0 = (256-36) • PCA • 8-Bit Pulse Width Modulator Mode • Timebase:Timer0 overflow • Dutycycle • Enable • CEXnpin 連接示波器觀查結果 • 週期 • dutycycle

More Related