hui2051.asm
来自「汇编语言的ASM文件源码」· 汇编 代码 · 共 34 行
ASM
34 行
ORG 0000H
AJMP START
ORG 000BH
AJMP TIMER0
ORG 001BH
AJMP TIMER1
ORG 0030H
START:
MOV TMOD,#12H ;设定T0的工作方式为2,T1的工作方式为1
MOV TH0,#9CH ;T0每计算100产生一个中断(一个PWM波周期是100uS)
MOV TL0,#9CH
SETB EA ;开中断
SETB ET0
SETB ET1
SETB TR0 ;T0开始计数
LOOP:
MOV A,#P1 ;把89S51输出的占空比数值,存进30H
MOV 30H,A
AJMP LOOP
TIMER0: ;T0中断程序
MOV A,#0FFH ;给T1赋初值
CLR C ;初值为65535-30H(高电平信号为30H中的占空比数)
SUBB A,30H
MOV TL1,A
MOV TH1,#0FFH
SETB P3.7 ;P3.7为PWM波形输出端口
SETB TR1 ;开定时器T1
RETI
TIMER1: ;T1中断程序
CLR P3.7 ;P3.7置0,(PWM波低电平信号为100-占空比数)
CLR TR1 ;关T1
RETI
END
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?