對使用數位元件來說,PWM(Pulse Width Modulation) 訊號調製是個重要的方法。類比方式能直接改變電壓的大小,來改變輸出的功率;但對只能輸出0/1的數位元件來說,只能藉由在一短週期內改變0與1出現的比率,來達到改變輸出的功率。

下圖為以8051調製PWM訊號的電路圖,在此以一LED的亮暗來表示輸出功率的改變。

功能說明:

剛上電時,initialize()設定為:輸出功率0.1%。

按下SW1:輸出功率0.1%。

按下SW2:輸出功率20%。

按下SW3:輸出功率40%。

按下SW4:輸出功率60%。

按下SW5:輸出功率80%。

按下SW6:輸出功率99.9%。

 

 PWM_8051  

 

以下為對應的8051程式碼,其採用的是計時器中斷法。LED閃爍的頻率設定為100Hz,由於Crystal的振盪頻率為12MHz,故8051最小的計時單位為1usec;在此將計時器0模式設定為Mode 1,TMOD=0x01,計時器0將為16位元計時器,每當計時器0由0xFF-->0x00時,皆會啟動計時中斷,暫停主程式的執行,而直接跳入並執行中斷副程式 timer0_int(void)。

code_1    

code_2         

code_3  

code_4                

 

除了以MCU產生PWM訊號外,實務上常見的是以IC 555作為PWM的產生器,只要選好電阻R及電容C,即可產生特定週期的PWM訊號,如果你用一可變電阻,還可控制週期的大小,便宜又方便,就可以達到改變PWM訊號的目的。

  

  

 

 

 

arrow
arrow
    全站熱搜

    Yan ~ 生活日記 發表在 痞客邦 留言(1) 人氣()