×
嵌入式 > 技术百科 > 详情

合泰单片机PWM输出程序

发布时间:2020-06-08 发布时间:
|
;内容:PWM输出控制LED从亮逐渐变暗直到熄灭

;完整源码下载:http://www.51hei.com/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] ;将占空比的数存到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

 

『本文转载自网络,版权归原作者所有,如有侵权请联系删除』

热门文章 更多
示波器使用时要注意的19个问题