资源描述
微型计算机原理与接口技术实验报告
班 级 :
学 号 :
姓 名 :
指导老师 : 朱亚萍
实验名称 : A/D转换实验
D/A转换实验(一)
D/A转换实验(二)
2015年12月30日
A/D转换实验
实验一 A/D转换实验
一、实验目的
了解模/数转换基本原理,掌握ADC0809的使用方法。
二、实验内容
利用实验系统上电位器提供的可调电压作为0809模拟信号的输入,编制程
序,将模拟量转换为数字量,通过数码管显示出来。
三、实验接线图
图 1-1
四、编程指南
1. ADC0809的START端为A/D转换启动信号,ALE端为通道选择地址
的锁存信号,实验电路中将其相连,以便同时锁存通道地址并开始A/D
采样转换,其输入控制信号为CS和WR,故启动A/D转换只须如下两
条指令:
10
MOV DX, ADPORT
OUT DX, AL
;ADC0809端口地址
;发CS和WR信号并送通道地址
2. 用延时方式等待A/D转换结果,使用下述指令读取A/D转换结果:
MOV DX, ADPORT
3. 循环不断采样A/D转换的结果,边采样边显示A/D转换后的数字量。
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
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转换实验(一)
实验二 D/A转换实验(一)
一、实验目的
了解数/模转换的基本原理,掌握DAC0832芯片的使用方法。
二、实验内容
利用0832通过D/A转换交替产生方波和锯齿波。
三、实验接线图
图 2-1
四、编程指南
1.首先须由CS片选信号确定量DAC寄存器的端口地址,然后锁存一个数
据通过0832输出,典型程序如下:
MOV DX,DAPORT
MOV AL,DATA
OUT DX,AL
;0832口地址
;输出数据到0832
2. 产生波形信号的周期由延时常数确定。
五、实验程序框图
图 2-2
六、实验步骤
1.断电连接导线, 0832片选信号CS5插孔和译码输出FF80H插孔相连。
2. 在PC机和实验系统联机状态下,新建实验程序,编辑完成后进行保存
(保存后缀为.asm文件);
3. 编译下载;
4. 全速运行,运行程序。
七、实验程序
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转换实验(二)
实验三 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. 产生波形信号的周期由延时常数确定。
五、实验程序框图
图 2-2
六、实验步骤
1.断电连接导线, 0832片选信号CS5插孔和译码输出FF80H插孔相连。
2. 在PC机和实验系统联机状态下,新建实验程序,编辑完成后进行保存
(保存后缀为.asm文件);
3. 编译下载;
4. 全速运行,运行程序。
七、实验程序
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
D/A转换实验(二)
展开阅读全文