1、 微机原理与接口技术第八章作业课本 P292 第 7、8 题 7.试设计一个 CPU 和两片 DAC0832 的接口电路,并编制程序,使之分别输出锯齿波和反锯齿波。答:电路图如下:设 8255A 的端口地址分别为 3F0H,3F1H,3F2H,3F3H。程序如下:DATA SEGMENTDB 100 DUP(?)DATA ENDSCODE SEGMENTASSUME CS:CODESTART:MOV AX,DATAMOV DS,AXMOV DX,3F3H ;8255A 控制口地址MOV AL,80H ;设置 8255 方式字,PA 、PB 、OUT DX,AL ;PC 均为方式 0 输出MOV
2、 DX,3F2H ;8255A 的 C 口地址MOV AL,10H ;置 DAC0832 为直通工作方式OUT DX,ALA1:MOV DX,3F0H ;8255A 口地址MOV AL,00H ;输出数据初值LOP1:OUT DX,AL ;锯齿波输出INC AL ;修改数据NOPNOPJMP LOP1 ;锯齿波循环 MOV DX,3F1H ;8255B 口地址MOV AL,0FFH ;输出数据初值LOP2:OUT DX,AL ;反锯齿波输出DEC AL ;修改数据NOPNOPJMP LOP2 ;反锯齿波循环 JMP A18.试设计一个采用查询法并用数据线选择通道的 CPU 和 ADC0809
3、的接口电路,并编制程序,使之把所采集的 8 个通道的数据送入给定的内存区。答:电路图如下:A D C0 8 0 9D 7 04 . 7 5 5 . 2 5 VG NDR E F ( + )R E F ( - )VC C模拟输入A D D AA D D BA D D C地址锁存A D 0 1 5地址译码器E O CO ES T A R TA L ED 0A 0A 1A 2A L EI O W1 1 0 H1 2 0 H1 0 0 H 1 0 7 HI N 0 78 0 8 6C P UC L K6 4 0 K H zI O R若译码器输出地址分别为 100H,110H,120H,8 个通道各采样
4、 50 个点,程序如下:DATA SEGMENTWP DB 100 DUP(?)DATA ENDSSTACK SEGMENT STACKDB 100 DUP(?)STACK ENDSCODE SEGMENTASSUME CS:CODE,DS:DATA,SS:STACKSTART:MOV AX,DATAMOV DS,AXMOV BX,OFFSET WP ;设定内存区起始地址MOV CL,50 ;写入采样计数初值 50NA:MOV DX,100HP8:OUT DX,ALPUSH DXNOPMOV DX,110HWT:IN AL,DXTEST AL,01HJZ WTMOV DX,120HIN AL,DXMOV BX,ALINC BXPOP DXINC DXCMP DX,108HJNZ P8DEC CLJNZ NACODE ENDSEND START