fsled.asm

来自「早期开发的MS8051与PC的RS232通讯-1程序源码」· 汇编 代码 · 共 35 行

ASM
35
字号
        AJMP  LA30  
        ORG   30H
LA30  : MOV   SCON, #80           ;01010000,8位数据
        MOV   TMOD, #32           ;00100000,定时器1模式2,8位自动重装
        MOV   TL1, #0F1H
        MOV   TH1, #0F1H          ;波特1200      
        MOV   TCON, #1            ;边缘触发, 外部中断0
        MOV   IP, #0              ;中断优先0
        MOV   IE, #1              ;开外部中断0
        CLR   TI                  ;清中断
        CLR   RI                  ;清中断标志
LA49  : JNB   IE0, $              ;等待中断0
        CPL   P1.2                ;关灯2
        MOV   R6, #8              ;设八位
        MOV   R1, #48             ;发送数据首地址 30H
        MOV   R7, #127            ;延时7F
LA54  : DJNZ  R7, $
        SETB  TR1                 ;启动定时器1
        NOP
LA59  : MOV   A, @R1              ;间接寻址单元进A
        MOV   SBUF, A             ;发送
LA5C  : JNB   TI, $               ;等发送完 一帧
        CLR   TI                  ;清标志
        INC   R1                  ;移到下一单元
        DJNZ  R6, LA59            ;发完8个数据了吗?
        CLR   TR1                 ;清定时器
        MOV   IE, #152            ;
        MOV   R7, #15             ;短延时0FH
LA6B  : DJNZ  R7, $
        CLR   IE0                 ;清中断
        CPL   P1.1
        SETB  P1.2
        AJMP  LA49                ;返回等待下一帧中断标志
	END

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?