t V
2.5V
40 8.答:
L1:MOV CX, 256 ;256 个数字量 MOV AL, 0 ;初值
MOV DX, 24C0H ;24C0H 为0832 的端口地址 L2: OUT DX, AL ;三角波形上升段 CALL DELAY ;调用延时子程序 INC AL LOOP L2 MOV CX, 256
MOV AL, 255 ;初值 MOV DX, 400H
L3: OUT DX, AL ;三角波形下降段 CALL DELAY DEC AL LOOP L3 JMP L1
t V
5V -5V
9.答:
DATA SEGMENT
BUF DB 20 DUP(?) ;预留20 字节空间,存放采样后结果DATA ENDS CODE SEGMENT
ASSUME CS:CODE,DS:DATA START: MOV AX,DATA MOV DS,AX
MOV AL,10010001B ;8255A 初始化 MOV DX,206H OUT DX,AL MOV AL,00H MOV DX,204H
OUT DX,AL ;START?ALE=0 41
MOV BX,OFFSET BUF ;BUF是数据区首地址
41
MOV CX,20 ;CX中是采样次数 MOV AL,05H MOV DX,202H
OUT DX,AL ;通过PB2~PB0选中采样通道IN5 AGAIN: MOV AL,0FH MOV DX,206H
OUT DX,AL ;通过PC7使ALE=1 MOV AL,0DH MOV DX,206H
OUT DX,AL ;通过PC6使START=1 MOV AL,00H
MOV DX,204H ;START?ALE=0
WAIT0: IN AL,DX ;循环检测PC口的PC0(即EOC信号) AND AL,01H
JNZ WAIT0 ;若EOC为低,则开始转换
WAIT1: IN AL,DX ;继续循环检测PC口的PC0(即EOC信号) AND AL,01H
JZ WAIT1 ;若EOC为高,则转换结束,可以读数据 MOV DX,200H
IN AL,DX ;从PA口输入数据 MOV [BX],AL ;存入内存 INC BX
LOOP AGAIN ;循环20次采样 RET
CODE ENDS END START
第12章 习题答案
略。
42