实验电路图
实验代码
;=========================================================
; 文件名: AD0809.ASM
; 功能说明: 进行AD采样,将结果显示。 片选为IOY0
;=========================================================
IOY0 EQU 0600H
AD0809 EQU IOY0+00H*2 ;AD0809的端口地址
SSTACK SEGMENT STACK
DW 64 DUP(?)
SSTACK ENDS
PUBLIC VALUE ;设置全局变量以便变量监视
DATA SEGMENT
VALUE DB ? ;AD转换结果
DATA ENDS
CODE SEGMENT
ASSUME CS:CODE, DS:DATA
START: MOV AX, DATA
MOV DS, AX
MOV DX, AD0809 ;启动AD采样
OUT DX, AL
CALL DALLY
IN AL, DX ;读AD采样结果
MOV VALUE, AL ;将结果送变量
JMP START ;在此处设置断点, 观察变量窗口中的VALUE值
DALLY: PUSH CX ;延时程序
PUSH AX
MOV CX, 100H
A5: MOV AX, 0800H
A6: DEC AX
JNZ A6
LOOP A5
POP AX
POP CX
RET
CODE ENDS
END START
变式:将电压值显示在屏幕上
;=========================================================
; 文件名: AD0809.ASM
; 功能说明: 进行AD采样,将结果显示。 片选为IOY0
;=========================================================
IOY0 EQU 0600H
AD0809 EQU IOY0+00H*2 ;AD0809的端口地址
SSTACK SEGMENT STACK
DW 64 DUP(?)
SSTACK ENDS
PUBLIC VALUE ;设置全局变量以便变量监视
DATA SEGMENT
VALUE DB ? ;AD转换结果
DATA ENDS
CODE SEGMENT
ASSUME CS:CODE, DS:DATA
START: MOV AX, DATA
MOV DS, AX
MOV DX, AD0809 ;启动AD采样
OUT DX, AL
CALL DALLY
IN AL, DX ;读AD采样结果
MOV VALUE, AL ;将结果送变量
MOV BX,0
MOV BL,AL
MOV CL,4
PUSH BX
AND BX,0F0H
ROR BX,CL
CMP BX,0AH
JB SHUZI
ADD BX,37H
JMP SHOW
SHUZI:
ADD BX,30H
SHOW:
MOV DL,BL
MOV AH, 02H
INT 21H
POP BX
AND BX,0FH
CMP BX,0AH
JB SHUZIX
ADD BL,37H
JMP SHOWX
SHUZIX:
ADD BL,30H
SHOWX:
MOV DL,BL
MOV AH, 02H
INT 21H
MOV DL,0AH
MOV AH, 02H
INT 21H
MOV DL,0DH
MOV AH, 02H
INT 21H
JMP START ;在此处设置断点, 观察变量窗口中的VALUE值
DALLY: PUSH CX ;延时程序
PUSH AX
MOV CX, 100H
A5: MOV AX, 0800H
A6: DEC AX
JNZ A6
LOOP A5
POP AX
POP CX
RET
CODE ENDS
END START