8051f120 pwm
Download
Skip this Video
Download Presentation
8051F120 實做 PWM

Loading in 2 Seconds...

play fullscreen
1 / 23

8051F120 實做 PWM - PowerPoint PPT Presentation


  • 144 Views
  • Uploaded on

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

loader
I am the owner, or an agent authorized to act on behalf of the owner, of the copyrighted work described.
capcha
Download Presentation

PowerPoint Slideshow about ' 8051F120 實做 PWM' - catori


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.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.


- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -
Presentation Transcript
outline
outline
  • PWM相關簡介
  • Timer 實做
  • 示波器操作
  • PCA元件實做(optional)
outline1
outline
  • PWM相關簡介
  • Timer 實做
  • 示波器操作
  • PCA元件實做(optional)
slide4
PWM訊號
  • Pulse Width Modulation,脈波寬度調變
  • 目的:周邊控制
  • 實做
    • delay
    • Timer
    • PCA元件
dutycycle
Dutycycle
  • 在脈波週期內的 high edge 部份佔一個脈波週期的比率即為所謂的 dutycycle
  • 先決定週期
  • 再決定 high 跟 low 的比例
slide6
周邊控制
  • 馬達
    • 固定 20ms 週期 => tp= 20 ms
    • 依照不同的 dutycycle 有不同的轉動角度
    • Vcc.接地.訊號線
  • 蜂鳴器
    • 不同的週期長短發出不同的高低音
    • 頻率(物理) => tp 不同而有不同高低音
    • 與dutycycle無關
outline2
outline
  • PWM相關簡介
  • Timer 實做
  • 示波器操作
  • PCA元件實做(optional)
slide8
概念
  • 上次每 5ms 就 interrupt 一次的閃燈的作業

=> 週期 10ms dutycycle 為 50% 的 PWM 訊號

  • 改變週期為 20ms
  • 改變高電位及低電位比例
slide9
實做設定
  • 使用外部石英震盪器做

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 週期
slide10
實做設定(補充)
  • System clock
    • 外部石英震盪器 22118400 Hz
  • WatchdogTimer (WDT)
  • Crossbar
  • Port Input/Output
  • Interrupt
    • IE
    • All intterupt
    • timer0
dutycycle1
Dutycycle實做概念
  • tp => 數9216次會delay 20ms 的週期
  • th => 高電位數 n 次
  • tl => 低電位數 m 次
  • n+m = 9216
  • n,m比例調整就可有不同dutycycle
interrupt
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;

}

outline3
outline
  • PWM相關簡介
  • Timer 實做
  • 示波器操作
  • PCA元件實做(optional)
slide15
操作重點
  • 打開示波器
  • 正極接訊號端,負極接地
  • Auto Set
  • 選週期及頻率
outline4
outline
  • PWM相關簡介
  • Timer 實做
  • 示波器操作
  • PCA元件實做(optional)
slide17
PCA概念
  • PCA(Programmable Counter Array)加強計時計數器的應用功能,能夠使硬體資源更靈活有彈性的使用。
  • 組成
    • 一個16-bit的counter/timer
    • 六個capture/compare module
  • PCA可設定不同 function mode 而實現多種「以計時計數器為基礎所衍生的周邊控制行為」,如比較、捕捉、脈寬調變等
8051 pca 1
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*
8051 pca 2
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
slide22
簡單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)

slide23
簡單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
ad