📄 顺序脉冲波.asm
字号:
ORG 0000H
AJMP MAIN
ORG 000BH
AJMP DIN1
ORG 001BH
AJMP DIN0
MAIN:
CLR P1.0 ;产生一个低电平,实际上是从p1.0口产生频率
MOV TMOD, #00010001B ;定时器1工作于方式0
MOV TH0, #0F6H
MOV TL0, #3BH ;频率产生的时间,详细请见频率公式:65535-F63B=2500,一个周期1us
SETB EA ;开总中断
SETB TR0 ;开定时器1运行
SETB ET0 ;开定时器1中断允许
SSK: MOV R1, #02H ;加的1
LOOP: AJMP LOOP ;无限循环
DIN1: CPL P1.0 ;产生一个高电平,下次来就是低电平(因为取反),一个高平形成周期
MOV TH0, #0F6H
MOV TL0, #3BH ;重置频率产生时间
MOV A, R1 ;加的2
DEC R1 ;加的3
JZ MAIN1 ;加的4
RETI ;返回
MAIN1: CPL TR0 ;加的5
MOV TH1, #0FBH ;加的5
MOV TL1, #08H ;加的5
SETB EA ;加的5
SETB TR1 ;加的5
SETB ET1 ;加的5
SSK1: MOV R2, #02H ;加的5
LOOP1: AJMP LOOP1 ;加的5
DIN0: CPL P1.0 ;加的6
MOV TH1, #0FBH ;加的7
MOV TL1, #08H ;加的8
MOV A, R2 ;加的5
DEC R2 ;加的5
JZ MAIN ;加的5
RETI ;加的9
END
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -