采样程序为: CYSUBR PROC
OUT 50H,AL NOP NOP
WAIT1: IN AL,51H TEST AL,01 JZ WAIT1 IN AL,50H MOV DL,AL RET CYSUBR ENDP
11.4 某8086系统中,由ADC0809构成A / D转换器,通过8255与CPU接口,如题11.4图所示。试编写程序,以查询的方式巡回采样8个模拟量输入通道,每个通道16次。采样数据存放在内存中。
题11.4图 程序段为:
MOV AL,10000001B(81H) MOV DX,0FFDBH OUT DX,AL
LOP0: MOV DI,OFFSET BUF MOV BL,0 LOP1: MOV CX,16 MOV AL,BL MOV DX,0FFD8 OUT DX,AL CONT: MOV DX,0FFCAH MOV AL,0C0H
LPO2:
OUT DX,AL NOP NOP
IN AL,DX TEST AL,01 JZ LOP2 DEC DX
IN AL,DX MOV [DI] ,AL INC DI LOOP CONT INC BL CMP BL,8 JNZ LOP1 ┇
JMP LOP0