;內(nèi)容:PWM輸出控制LED從亮逐漸變暗直到熄滅
;完整源碼下載:http://www.zg4o1577.cn/f/htpwm.rar
#INCLUDE HT66F50.INC
ORG 00H
MOV A,08H
MOV CP0C,A ;設置管腳不為比較器腳
MOV CP1C,A ;設置管腳不為比較器腳
CLR ACERL ;設置管家部位AD腳
MOV A,00010000B
MOV TMPC0,A ;T1BCP1置1使能TP1B_0
CLR TM1C0 ;fINT=fSYS/4
MOV A,10101001B ;設置為PWM模式PWM輸出高有效同相T1CCLR=1
MOV TM1C1,A ;CCRA控制TP1B PWM 周期,CCRB 控制TP1B PWM 占空比
MOV A,10101000B ;置為PWM模式PWM輸出高有效同相邊沿對齊
MOV TM1C2,A ;
MOV A,LOW 1024-1
MOV TM1AL,A ;設置TP1B PWM 周期 CCRA=1024uS
MOV A,HIGH 1024-1
MOV TM1AH,A ;設置PC.0為輸出
CLR PCC.0
CLR PC.0 ;pc.0輸出低電平
MOV A,5
SET T1ON ;PWM開始工作
MOV A,0FFH ;設置占空比初始值
MOV [80H],A
MOV A,3 ;
MOV [81H],A
a2:
CALL M001 ;延時
SZ [80H] ;判斷占空比低位是否為0
JMP $+2
JMP A3
DEC [80H] ;否低位減1
JMP A5
A3:
SZ [81H] ;是則判斷高位是否為0
JMP A4
MOV A,0FFH ;是低位存0FFH
MOV [80H],A ;
MOV A,3 ;高位存3
MOV [81H],A ;不能大于周期
JMP A2
A4:
DEC [81H] ;否則高位減1
MOV A,0FFH ;
MOV [80H],A ;低位存0FFH
A5:
mov a,[80H] ;將占空比的數(shù)存到CCRB中
mov TM1BL,A ;
MOV A,[81H] ;
MOV TM1BH,A ;
jmp A2
M001: MOV A,2
MOV [85H],A
M002: MOV A,20
MOV [86H],A
M003: MOV A,250
MOV [87H],A
M004: SDZ [87H]
JMP M004
SDZ [86H]
JMP M003
SDZ [85H]
JMP M002
RET
end