A/D转换实验
2020-12-09
实验电路图
实验代码
;========================================================= ; 文件名: 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