⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 jhpwm.asm

📁 MCS96的源程序。用来给96单片机使用
💻 ASM
字号:
AL EQU 20H
AH EQU 21H
AX EQU 20H
CL EQU 24H
CH EQU 25H
DL EQU 26H
DH EQU 27H

FLAG      EQU   30H
HSO0_HIGH EQU   32H
HSO0_LOW  EQU   34H
HSO1_HIGH EQU   36H
HSO1_LOW  EQU   38H
PI        EQU   0E800H			;低8位开关地址
        ORG   2006H             ;HSO中断向量地址
        DW    HSO_INT
        ORG     2080H
        LD      SP,#60H
        DI                      ;关中断
        CLRB    INTPEN          ;清中断挂号寄存器
        ORB     INTMAS,#08H     ;允许HSO中断
        LDB     IOC0,#05H
        LDB     HSOCOM,#30H     ;允许HSO0触发负电平
                                ;中断方式
        ADD     HSOTIM,TIMER1,#0030H
        NOP
        NOP
        LDB     HSOCOM,#31H     ;允许HSO1触发负电平
                                ;中断方式
        ADD     HSOTIM,TIMER1,#0100H
        NOP
        NOP
        LDB     FLAG,IOS0
        EI                      ;开中断
        LDB     DL,#4H
        SJMP    INIT
READKEY:LDB     DL,PI
        ANDB    DL,#07H
        XORB    DH,DL
        JE      READKEY
INIT:   LDB     DH,DL
        LDB     AL,DL
        CLRB    AH
        PUSH    AX
        MUL     AX,#100H
        LD      HSO0_HIGH,AX
        POP     AX
        MUL     AX,#50H
        LD      HSO1_HIGH,AX
        LDB     AL,DL
        XORB    AL,#07H
        CLRB    AH
        PUSH    AX
        MUL     AX,#100H
        LD      HSO0_LOW,AX
        POP     AX
        MUL     AX,#50H
        LD      HSO1_LOW,AX
        SJMP    READKEY
HSO_INT:PUSHF                   ;HSO中断子程序
        LDB     CL,IOS0         ;读当前HSO状态
        LDB     CH,CL
        XORB    CL,FLAG         ;与原状态比较
        LDB     FLAG,CH
        JBC     CL,0,HSO1       ;HSO0无跳变转HSO1
        JBS     FLAG,0,LOW0
        LDB     HSOCOM,#30H     ;允许HSO0触发正电平
                                ;中断方式
        ADD     HSOTIM,TIMER1,HSO0_HIGH
        NOP
        NOP
        SJMP    HSO1
LOW0:
        LDB     HSOCOM,#10H     ;允许HSO0触发负电平
                                ;中断方式
        ADD     HSOTIM,TIMER1,HSO0_LOW
        NOP
        NOP
HSO1:   JBC     CL,1,EXIT       ;HSO1无跳变转EXIT
        JBS     FLAG,1,LOW1
        LDB     HSOCOM,#31H     ;允许HSO1触发正电平
                                ;中断方式
        ADD     HSOTIM,TIMER1,HSO1_HIGH
        NOP
        NOP
        SJMP    EXIT
LOW1:
        LDB     HSOCOM,#11H     ;允许HSO1触发负电平
                                ;中断方式
        ADD     HSOTIM,TIMER1,HSO1_LOW
        NOP
        NOP
EXIT:   POPF
        RET
        END

⌨️ 快捷键说明

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