timer.asm

来自「本文件包包括8051彻底研究书籍各章的实例源代码」· 汇编 代码 · 共 47 行

ASM
47
字号
DisplayBuffer EQU 30H
ScanCounter   EQU 38h
        ORG     0H
        JMP     RESET
        ORG     0BH
        JMP     TimerInt
RESET:
        MOV     SP,#70H
        MOV     R0,#37H
        MOV     A,#8
LOOP1:
        MOV     @R0,A
        DEC     A
        JZ      FILLOK
        DJNZ    R0,LOOP1
FILLOK:
        MOV     ScanCounter,#0
        MOV     TMOD,#00000010B
        MOV     TL0,#6
        MOV     TH0,#6
        MOV     IE,#10000010B
        SETB    TR0
        SJMP    $
TimerInt:
        clr     tr0
        PUSH    ACC
        ACALL   SCANDISPLAY
        POP     ACC
        setb    tr0
        RETI
SCANDISPLAY:
        MOV     R0,#ScanCounter
        INC     @R0
        CJNE    @R0,#8,NOTOVER
        MOV     @R0,#0
NOTOVER:
        MOV     A,@R0
        ADD     A,#DisplayBuffer
        MOV     R1,A
        MOV     A,@R0
        SWAP    A
        ORL     A,@R1
        MOV     P1,A
        RET
        END

⌨️ 快捷键说明

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