tst1.asm

来自「MCS96的源程序。用来给96单片机使用」· 汇编 代码 · 共 37 行

ASM
37
字号
BL EQU 22H
BH EQU 23H
CX EQU 24H
C8255    EQU     0C006H         ;8255命令口地址
P8255B   EQU     0C002H         ;8255 PB口地址
        ORG     200AH           ;软件定时器中断向量地址
        DW      ST_INT
        ORG     2080H
        LD      SP,#60H
        LD      CX,#C8255       ;置8255状态,方式0,PB口输出
        LDB     BL,#80H
        STB     BL,[CX]
        LDB     BL,#0FFH        ;LED初始状态
        DI                      ;关中断
        CLRB    INTPEN          ;清中断挂号寄存器
        ORB     INTMAS,#20H     ;允许软件定时器中断
        LDB     HSOCOM,#38H     ;允许软件定时器0中断
        ADD     HSOTIM,TIMER1,#5A00H
        LDB     HSOCOM,#3AH     ;允许软件定时器2中断
        ADD     HSOTIM,TIMER1,#0E100H
        EI                      ;开中断
        SJMP    $               ;等待
ST_INT: PUSHF                   ;软件定时器中断子程序
        LDB     BH,IOS1
        JBC     BH,0,T2         ;T0未发生中断转T2
        LDB     HSOCOM,#38H     ;允许软件定时器中断
        ADD     HSOTIM,TIMER1,#5A00H   ;50mS定时常数
        XORB    BL,#01H
T2:     JBC     BH,2,EXIT       ;T2未发生中断转EXIT
        LDB     HSOCOM,#3AH     ;允许软件定时器中断
        ADD     HSOTIM,TIMER1,#0E100H   ;125mS定时常数
        XORB    BL,#04H
EXIT:   STB     BL,P8255B           ;点亮LED
        POPF
        RET
        END

⌨️ 快捷键说明

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