顺序脉冲波.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 + -
显示快捷键?