资源描述
此文档仅供收集于网络,如有侵权请联系网站删除
微机原理与接口技术第八章作业
课本P292 第7、8题
7. 试设计一个CPU和两片DAC0832的接口电路,并编制程序,使之分别输出锯齿波和反锯齿波。
答:电路图如下:
设8255A的端口地址分别为3F0H,3F1H,3F2H,3F3H。程序如下:
DATA SEGMENT
DB 100 DUP(?)
DATA ENDS
CODE SEGMENT
ASSUME CS:CODE
START:MOV AX,DATA
MOV DS,AX
MOV DX,3F3H ;8255A控制口地址
MOV AL,80H ;设置8255方式字,PA、PB、
OUT DX,AL ;PC均为方式0输出
MOV DX,3F2H ;8255A的C口地址
MOV AL,10H ;置DAC0832为直通工作方式
OUT DX,AL
A1:MOV DX,3F0H ;8255A口地址
MOV AL,00H ;输出数据初值
LOP1:OUT DX,AL ;锯齿波输出
INC AL ;修改数据
NOP
NOP
JMP LOP1 ;锯齿波循环
MOV DX,3F1H ;8255B口地址
MOV AL,0FFH ;输出数据初值
LOP2:OUT DX,AL ;反锯齿波输出
DEC AL ;修改数据
NOP
NOP
JMP LOP2 ;反锯齿波循环
JMP A1
8.试设计一个采用查询法并用数据线选择通道的CPU和ADC0809的接口电路,并编制程序,使之把所采集的8个通道的数据送入给定的内存区。
答:电路图如下:
若译码器输出地址分别为100H,110H,120H,8个通道各采样50个点,程序如下:
DATA SEGMENT
WP DB 100 DUP(?)
DATA ENDS
STACK SEGMENT STACK
DB 100 DUP(?)
STACK ENDS
CODE SEGMENT
ASSUME CS:CODE,DS:DATA,SS:STACK
START:MOV AX,DATA
MOV DS,AX
MOV BX,OFFSET WP ;设定内存区起始地址
MOV CL,50 ;写入采样计数初值50
NA:MOV DX,100H
P8:OUT DX,AL
PUSH DX
NOP
MOV DX,110H
WT:IN AL,DX
TEST AL,01H
JZ WT
MOV DX,120H
IN AL,DX
MOV [BX],AL
INC BX
POP DX
INC DX
CMP DX,108H
JNZ P8
DEC CL
JNZ NA
CODE ENDS
END START
只供学习与交流
展开阅读全文