合泰单片机PWM输出程序
;完整源码下载: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
合泰单片机PWM输 相关文章:
- Windows CE 进程、线程和内存管理(11-09)
- RedHatLinux新手入门教程(5)(11-12)
- uClinux介绍(11-09)
- openwebmailV1.60安装教学(11-12)
- Linux嵌入式系统开发平台选型探讨(11-09)
- Windows CE 进程、线程和内存管理(二)(11-09)