顺序脉冲波.asm
来自「这个程序真的很有用,它可以告诉你怎样来运用单片机,不仅仅是写一个程序而已,相信你」· 汇编 代码 · 共 40 行
ASM
40 行
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 + =
减小字号Ctrl + -
显示快捷键?