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

📄 t0809.asm

📁 MCS96的源程序。用来给96单片机使用
💻 ASM
字号:
;---------------------------------------------------------
AL      EQU     20H
AH      EQU     21H
AX      EQU     20H
CX      EQU     22H
DX      EQU     24H
FLAG    EQU     30H
DBUF    EQU     8000H           ;A/D数据缓冲区
A_DPORT EQU     0D800H          ;A/D口地址
TIM_CTL    EQU     0C806H  		;8253 状态/命令口地址
TIMER_1    EQU     0C802H  
TIMER_2    EQU     0C804H  
MODE13     EQU     01110110B
MODE22     EQU     10110100B
;---------------------------------------------------------
        ORG     2008H           ;HSI中断向量地址
        DW      HSI_INT
        ORG     2080H
        LD      SP,#60H
        LD      DX,#TIM_CTL     ;定时器1工作在方式3
        LDB     AL,#MODE13
        STB     AL,[DX]
        LD      DX,#TIMER_1
        LDB     AL,#80H
        STB     AL,[DX]
        LDB     AL,#02H
        STB     AL,[DX]         ;计数初值为0280H,640分频
        LD      DX,#TIM_CTL     ;定时器2工作在方式2
        LDB     AL,#MODE22
        STB     AL,[DX]
        LD      DX,#TIMER_2
        LDB     AL,#080H
        STB     AL,[DX]
        LDB     AL,#00H
        STB     AL,[DX]         ;计数初值为0080H,128分频
        DI                      ;关中断
        CLRB    INTPEN          ;清中断挂号寄存器
        ORB     INTMAS,#10H     ;允许HSI中断
        LDB     FLAG,#00H
        EI                      ;开中断
ADST:
        CMPB    FLAG,#0FFH
        JNE     ADST            ;无HSI.0中断则等待
        LD      DX,#DBUF
        LDB     CX,#16          ;采集16次
LOOP1:
        LDB     AL,#06H         ;通道IN3
        SCALL   A_D             ;A/D转换
        STB     AL,[DX]+
        DJNZ    CX,LOOP1
        SJMP    $               ;等待,可在此处设断点
;输入:  AL:     A/D通道名
;输出:  AL:     A/D值
A_D:    PUSH    CX
        OR      AX,#A_DPORT
        STB     AL,[AX]         ;启动A/D
        LD      CX,#800H
        DJNZ    CX,$            ;延时>100uS
        LDB     AL,[AX]         ;读A/D值
        POP     CX
        RET
HSI_INT:                        ;HSI中断子程序
        LDB     FLAG,#0FFH      ;置标志
        DI
        RET
        END

⌨️ 快捷键说明

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