杭电微机原理AD转换DA转换实验实验报告

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

微型计算机原理与接口技术实验报告
班级:
学号:
姓名:
指导老师:朱亚萍
实验名称: A/D转换实验
D/A转换实验(一)
D/A转换实验(二)
实验一A/D转换实验
一、实验目的
了解模/数转换基本原理,掌握ADC0809的使用方法。

二、实验内容
利用实验系统上电位器提供的可调电压作为0809模拟信号的输入,编制程序,将模拟量转换为数字量,通过数码管显示出来。

三、实验接线图
图 1-1
四、编程指南
1. ADC0809的START端为A/D转换启动信号,ALE端为通道选择地址
的锁存信号,实验电路中将其相连,以便同时锁存通道地址并开始A/D
采样转换,其输入控制信号为CS和WR,故启动A/D转换只须如下两
条指令:
MOV DX, ADPORT OUT DX, AL ;ADC0809端口地址
;发CS和WR信号并送通道地址
2.用延时方式等待A/D转换结果,使用下述指令读取A/D转换结果:
MOV DX, ADPORT
IN AL, DX
;ADC0809端口地址
五、实验程序框图
图 1-2
六、实验步骤
1.断电连接导线, 将0809 CS4插孔连到译码输出FF80H插孔,将通道0模
拟量输入端IN0连电位器W1的中心插头AOUT1(0-5V)插孔,
8MHZ→T;
2. 在PC机和实验系统联机状态下,新建实验程序,编辑完成后进行保存
(保存后缀为.asm文件);
3. 编译下载;
4. 全速运行,运行程序;
5. 按RST键退出。

七、实验程序
DATA SEGMENT
BUF DB 6 DUP(0)
DATA1: DB
0c0h,0f9h,0a4h,0b0h,99h,
DB 92h,82h,0f8h,80h,90h,
DB
88h,83h,0c6h,0a1h,86h,
DB
8eh,0ffh,0ch,89h,0deh,
DB
0c7h,8ch,0f3h,0bfh,8fh
DATA ENDS
CODE SEGMENT
ASSUME CS: CODE,DS: DATA
ADC EQU 0FF80H
; ADC0809端口地址
PA EQU 0FF20H
PB EQU 0FF21H
PC EQU 0FF22H MAIN PROC FAR START: MOV AX, DATA MOV DS, AX
MOV ES, AX ADC_S:MOV AX, 00H
MOV DX, ADC
OUT DX, AL
MOV CX, 0500H DELAY:LOOP DELAY
MOV DX, ADPORT IN AL, DX
CALL CONVERS CALL DISP
JMP ADC_S MAIN ENDP
CONVERS PROC NEAR
MOV AH, AL
3.循环不断采样A/D转换的结果,边采样边显示A/D转换后的数字量。

AND AL, 0FH
MOV BX, OFFSET BUF MOV [BX+5], AL
MOV AL, AH
AND AL, 0F0H
MOV CL, 04H
SHR AL, CL
MOV [BX+4], AL
RET
CONVERS ENDP
DISP PROC NEAR
MOV AL, 0FFH
MOV DX, PA
OUT DX, AL
MOV CL, 0DFH
MOV BX, OFFSET BUF DIS1: MOV AL, [BX]
MOV AH, 00H
PUSH BX
MOV BX, OFFSET DATA1 ADD BX, AX
MOV AL, [BX]
;字位口
;字形口
;键入口
;启动转换
;延时等待转换完成
;读取转换结果
;调用数据处理子函数
;调用显示子函数;循环
;截取低四位
;放入BUF
截取高四位
;将高四位值右移至低四位;放入BUF
;显示子程序
POP BX
MOV DX, PB
OUT DX, AL
MOV AL, CL
MOV DX, PA
OUT DX, AL
PUSH CX
DIS2: MOV CX, 00A0H LOOP $
POP CX
CMP CL, 0FEH JZ LX1
INC BX
ROR CL, 1
JMP DIS1
LX1: MOV AL, 0FFH MOV DX, PB
OUT DX, AL
RET
DISP ENDP
CODE ENDS
END MAIN
八、实验结果
调节电位器,ADC0809能够实时测量电位器电压并在数码管上显示。

九、实验中遇到的问题及解决方式
问题:编程完成后,数码管显示乱码。

解决:暂未解决,但是更换实验平台后,重新用另一台电脑编译下载能够成功显示。

实验二D/A转换实验(一)
一、实验目的
了解数/模转换的基本原理,掌握DAC0832芯片的使用方法。

二、实验内容
利用0832通过D/A转换交替产生方波和锯齿波。

三、实验接线图
图 2-1
指南
四、编程
1.首先须由CS片选信号确定量DAC寄存器
的端口地址,然后锁存一
个数
据通过0832输出,典型程序如下:
MOV
DX,DAPORT
MOV
AL,DATA
OUT DX,AL
;0832
口地址
;输出数据到0832
2. 产生波形信号的周期由延时常数确定。

五、实验程序框图
六、实验步骤
1.断电连接导线, 0832片选信号CS5插孔和译码输出FF80H插孔相连。

2. 在PC机和实验系统联机状态下,新建实验程序,编辑完成后进行保存
(保存后缀为.asm文件);
3. 编译下载;
4. 全速运行,运行程序。

图 2-2
七、实验程序
CODE SEGMENT
ASSUME CS:CODE
MAIN PROC FAR
START: MOV CX, 4
FANG: PUSH CX
MOV DX, 0FF80H
MOV AL, 00H
OUT DX, AL
CALL DELAY
MOV DX, 0FF80H
NOT AL
OUT DX, AL
CALL DELAY
POP CX
;循环显示4次方波
;压入堆栈,保护循环次数
; 0832口地址
;首先输出方波低电平部分
;延时
;取反输出方波高电平部分
;延时
;弹出方波次数
LOOP FANG
MOV CX, 03FCH
MOV DX, 0FF80H
MOV AL, 00H
JUCHI: OUT DX, AL
INC AL
LOOP JUCHI
JMP START
MAIN ENDP
DELAY PROC NEAR
MOV CX, 0100H
DELAY1:LOOP DELAY1
RET
DELAY ENDP
CODE ENDS
END MAIN
;循环
;锯齿波循环显示4次
; 0832口地址
;锯齿波初值
;加1
;循环
;显示完成,重新开始
;延时函数
八、实验结果
图 2-3
九、实验中遇到的问题及解决方式
问题:程序运行时,发现显示四个方波但是只显示3个锯齿波。

解决:忘记了在结束方波输出循环后将AX=00H,导致少输出一个锯齿波。

实验三D/A转换实验(二)
一、实验目的
进一步掌握数/模转换的基本原理。

二、实验内容
通过0832D/A转换输出一个从0V开始逐渐升至5V,再从5V降至0V的
可变电压输出。

三、实验接线图
图 3-1
指南
四、编程
1.首先须由CS片选信号确定量DAC寄存器
的端口地址,然后锁存一
个数
据通过0832输出,典型程序如下:
MOV
DX,DAPORT
MOV
AL,DATA
OUT DX,AL
;0832
口地址
;输出数据到0832
2. 产生波形信号的周期由延时常数确定。

五、实验程序框图
六、实验步骤
1.断电连接导线, 0832片选信号CS5插孔和译码输出FF80H插孔相连。

2. 在PC机和实验系统联机状态下,新建实验程序,编辑完成后进行保存
(保存后缀为.asm文件);
3. 编译下载;
4. 全速运行,运行程序。

图 2-2
七、实验程序
CODE SEGMENT
ASSUME CS:CODE
MAIN PROC FAR
START: MOV DX, 0FF80H
MOV AL, 00H
UP: OUT DX, AL
INC AL
CMP AL, 0FFH
JNZ UP
DOWN: OUT DX, AL
DEC AL
CMP AL, 00H
JNZ DOWN
; 0832口地址;三角波初值
;输出到0832
;数据加1
;是否到上限
;判断
;输出到0832
;数据减1
;是否到下限
;判断
JMP UP CODE ENDS
END MAIN
;开始执行下一周期
八、实验结果
图 2-3。

相关文档
最新文档