久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费

專注電子技術學習與研究
當前位置:單片機教程網 >> MCU設計實例 >> 瀏覽文章

軟件實現多路PWM的輸出

作者:佚名   來源:本站原創   點擊數:  更新時間:2010年05月24日   【字體:

     單片機應用于舞臺燈光、民用照明的調光、電機轉速、溫度控制等眾多領域時需要用到PWM占空比進行調節。市場上,集成了硬件PWM模塊的單片機型號如PIC16F628A、STC12C2052等。使用硬件PWM時僅需進行一些特殊功能寄存器的設置,使用方便。但硬件PWM輸出路數往往較少,如果要增PWM的輸出路數則會使產品成本上升,較難適應于價格敏感的產品上。如:PIC16F628A、STC12C2052僅具有兩路PWM輸出。舞臺光通常要到用三路PWM信號調光(三路分別控制紅、綠、藍三基色進行組合搭配出不同色彩)。因此軟件實現PWM是較為合理的選擇。

  在舞臺燈光廠做了這么久,雖然明白軟件PWM的原理,但就是弄不清它們的關系,一直寫不出比較好的軟件PWM程序。近日,一偶然的機會得到啟發,寫下這個程序和單片機愛好者分享。

程序如下:

AUXR EQU 8EH
PWM1DATA EQU 60H
PWM2DATA EQU 61H
PWM3DATA EQU 62H
PWM1DATA1 EQU 63H
PWM2DATA1 EQU 64H
PWM3DATA1 EQU 65H
PWM1 EQU P0.5
PWM2 EQU P0.6
PWM3 EQU P0.7
ORG 0000H
AJMP MAIN
ORG 000BH
AJMP TIMER0
ORG 0030H
MAIN:
CLR PWM1
MOV P0,#11H
MOV SP,#30H
MOV AUXR,#01H
CLR RS1
CLR RS0
MOV TMOD,#02H
MOV TH0,#00H

MOV TL0,#00H
MOV R2,#0FFH;R2用作PWM周期寄存器
MOV PWM1DATA,#0
MOV PWM2DATA,#85
MOV PWM3DATA,#170
MOV PWM1DATA1,PWM1DATA
MOV PWM2DATA1,PWM2DATA
MOV PWM3DATA1,PWM3DATA
SETB EA ;開中斷總控制
SETB ET0;開TO中斷控制
SETB TR0 ;開始 計數

MAIN1:
ACALL DEL
INC PWM1DATA
INC PWM2DATA
INC PWM3DATA
AJMP MAIN1
DEL:
MOV R4,#05H
D1:
MOV R5,#0FFH
D2:
MOV R6,#0FFH
DJNZ R6,$
DJNZ R5,D2
DJNZ R4,D1
RET

TIMER0: ;定時器中斷
PUSH  ACC
TIMER001:
MOV A,PWM1DATA1
JZ TIMER0011
SETB PWM1
DEC PWM1DATA1
AJMP TIMER002
TIMER0011:
CLR PWM1
TIMER002:
MOV A,PWM2DATA1
JZ TIMER0021
SETB PWM2
DEC PWM2DATA1
AJMP TIMER003
TIMER0021:
CLR PWM2
TIMER003:
MOV A,PWM3DATA1
JZ TIMER0031
SETB PWM3
DEC PWM3DATA1
AJMP TIMER004
TIMER0031:
CLR PWM3
TIMER004:
DJNZ R2,TIMER005
MOV R2,#0FFH
MOV PWM1DATA1,PWM1DATA
MOV PWM2DATA1,PWM2DATA
MOV PWM3DATA1,PWM3DATA
TIMER005:
POP ACC
RETI
END

 

   這個程序是基于STC89C52實現的。因為PWM的頻率較低,所以當PWM控制的是LED時會有較大的閃動。如果要解決這個問題,則可以提高時鐘頻率。或使用工作速度更快的單片機,如STC12C2052可以設置為1時鐘1機器周期,工作頻率最高可達420MHZ。盡量不要改變定時器T0的初值(初值越小越好,最好為00H),因為如果單片機此時還要執行其它的任務(如串行通訊)時,T0的中斷頻率過高對軟件PWM是致命的。
 

關閉窗口

相關文章

主站蜘蛛池模板: 国产sm主人调教女m视频 | 国产成人午夜高潮毛片 | www.狠狠干 | 欧美一区二区三区一在线观看 | 欧美性一区二区三区 | 亚洲国产精品激情在线观看 | 国产免费播放视频 | 国产伦一区二区三区久久 | 久久精品在线 | 国产免费高清 | 天天天天操 | 亚洲国产成人精品久久 | 久久99视频 | 国产美女福利在线观看 | 国产精品久久久久久久久久久久午夜片 | 国产欧美日韩久久久 | 欧美精品一区二区蜜桃 | 亚洲一级毛片 | av毛片| 一区二区三区av | 久热伊人 | 久久久久久国产精品三区 | 欧美a区 | 国产乱码一二三区精品 | av电影一区二区 | 亚洲视频免费观看 | 午夜视频一区二区三区 | 亚洲欧美精品 | 国产做a爱片久久毛片 | 91av视频在线观看 | 成人毛片一区二区三区 | 欧美aⅴ在线观看 | 九九久久精品视频 | 午夜私人影院在线观看 | 亚洲精品久久久久久久久久久久久 | 精品一区二区三区在线观看国产 | 一区二区三区欧美 | 欧美一级欧美一级在线播放 | 91中文在线观看 | 欧美一级视频免费看 | 国产一区二区三区视频在线观看 |