微波EDA网,见证研发工程师的成长!
首页 > 硬件设计 > 嵌入式设计 > 合泰单片机PWM输出程序

合泰单片机PWM输出程序

时间:12-01 来源:互联网 点击:
;内容:PWM输出控制LED从亮逐渐变暗直到熄灭

;完整源码下载:http://www.51hei.com/f/htpwm.rar
#INCLUDEHT66F50.INC

ORG00H
MOVA,08H
MOVCP0C,A;设置管脚不为比较器
MOVCP1C,A;设置管脚不为比较器脚
CLRACERL;设置管家部位AD脚
MOVA,00010000B
MOVTMPC0,A;T1BCP1置1使能TP1B_0
CLRTM1C0;fINT=fSYS/4
MOVA,10101001B;设置为PWM模式PWM输出高有效同相T1CCLR=1
MOVTM1C1,A;CCRA控制TP1B PWM 周期,CCRB 控制TP1B PWM 占空比
MOVA,10101000B;置为PWM模式PWM输出高有效同相边沿对齐
MOVTM1C2,A;
MOVA,LOW 1024-1
MOVTM1AL,A;设置TP1B PWM 周期 CCRA=1024uS
MOVA,HIGH 1024-1
MOVTM1AH,A;设置PC.0为输出
CLRPCC.0
CLRPC.0;pc.0输出低电平
MOVA,5
SETT1ON;PWM开始工作
MOVA,0FFH;设置占空比初始值
MOV[80H],A
MOVA,3;
MOV[81H],A

a2:
CALLM001;延时
SZ[80H];判断占空比低位是否为0
JMP$+2
JMPA3
DEC[80H];否低位减1
JMPA5
A3:
SZ[81H];是则判断高位是否为0
JMPA4
MOVA,0FFH;是低位存0FFH
MOV[80H],A;
MOVA,3;高位存3
MOV[81H],A;不能大于周期
JMPA2
A4:
DEC[81H];否则高位减1
MOVA,0FFH;
MOV[80H],A;低位存0FFH
A5:
mova,[80H];将占空比的数存到CCRB中
movTM1BL,A;
MOVA,[81H];
MOVTM1BH,A;
jmpA2

M001:MOVA,2
MOV[85H],A
M002:MOVA,20
MOV[86H],A
M003:MOVA,250
MOV[87H],A
M004:SDZ[87H]
JMPM004
SDZ[86H]
JMPM003
SDZ[85H]
JMPM002
RET
end

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top