杭电微机原理转换DA转换实验实验报告.docx
《杭电微机原理转换DA转换实验实验报告.docx》由会员分享,可在线阅读,更多相关《杭电微机原理转换DA转换实验实验报告.docx(14页珍藏版)》请在冰豆网上搜索。
杭电微机原理转换DA转换实验实验报告
IMBstandardizationoffice【IMB5AB-IMBK08-IMB2C】
杭电微机原理转换DA转换实验实验报告
微型计算机原理与接口技术实验报告
班级:
学号:
姓名:
指导老师:
朱亚萍
实验名称:
A/D转换实验
D/A转换实验
(一)
D/A转换实验
(二)
实验一A/D转换实验
一、实验目的
了解模/数转换基本原理,掌握ADC0809的使用方法。
二、实验内容
利用实验系统上电位器提供的可调电压作为0809模拟信号的输入,编制程
序,将模拟量转换为数字量,通过数码管显示出来。
三、实验接线图
图1-1
四、编程指南
1.ADC0809的START端为A/D转换启动信号,ALE端为通道选择地址
的锁存信号,实验电路中将其相连,以便同时锁存通道地址并开始A/D
采样转换,其输入控制信号为CS和WR,故启动A/D转换只须如下两
条指令:
MOVDX,ADPORT
OUTDX,AL
;ADC0809端口地址
;发CS和WR信号并送通道地址
2.用延时方式等待A/D转换结果,使用下述指令读取A/D转换结果:
MOVDX,ADPORT
3.循环不断采样A/D转换的结果,边采样边显示A/D转换后的数字量。
INAL,DX
;ADC0809端口地址
五、实验程序框图
图1-2
六、实验步骤
1.断电连接导线,将0809CS4插孔连到译码输出FF80H插孔,将通道0模拟量输入端IN0连电位器W1的中心插头AOUT1(0-5V)插孔,
8MHZ→T;
2.在PC机和实验系统联机状态下,新建实验程序,编辑完成后进行保存
(保存后缀为.asm文件);
3.编译下载;
4.全速运行,运行程序;
5.按RST键退出。
七、实验程序
DATASEGMENT
BUFDB6DUP(0)
DATA1:
DB0c0h,0f9h,0a4h,0b0h,99h,
DB92h,82h,0f8h,80h,90h,
DB88h,83h,0c6h,0a1h,86h,
DB8eh,0ffh,0ch,89h,0deh,
DB0c7h,8ch,0f3h,0bfh,8fh
DATAENDS
CODESEGMENT
ASSUMECS:
CODE,DS:
DATA
ADCEQU0FF80H
;ADC0809端口地址
PAEQU0FF20H
PBEQU0FF21H
PCEQU0FF22H
MAINPROCFAR
START:
MOVAX,DATA
MOVDS,AX
MOVES,AX
ADC_S:
MOVAX,00H
MOVDX,ADC
OUTDX,AL
MOVCX,0500H
DELAY:
LOOPDELAY
MOVDX,ADPORT
INAL,DX
CALLCONVERS
CALLDISP
JMPADC_S
MAINENDP
CONVERSPROCNEAR
MOVAH,AL
ANDAL,0FH
MOVBX,OFFSETBUF
MOV[BX+5],AL
MOVAL,AH
ANDAL,0F0H
MOVCL,04H
SHRAL,CL
MOV[BX+4],AL
RET
CONVERSENDP
DISPPROCNEAR
MOVAL,0FFH
MOVDX,PA
OUTDX,AL
MOVCL,0DFH
MOVBX,OFFSETBUF
DIS1:
MOVAL,[BX]
MOVAH,00H
PUSHBX
MOVBX,OFFSETDATA1
ADDBX,AX
MOVAL,[BX]
;字位口
;字形口
;键入口
;启动转换
;延时等待转换完成
;读取转换结果
;调用数据处理子函数
;调用显示子函数
;循环
;截取低四位
;放入BUF
截取高四位
;将高四位值右移至低四位
;放入BUF
;显示子程序
POPBX
MOVDX,PB
OUTDX,AL
MOVAL,CL
MOVDX,PA
OUTDX,AL
PUSHCX
DIS2:
MOVCX,00A0H
LOOP$
POPCX
CMPCL,0FEH
JZLX1
INCBX
RORCL,1
JMPDIS1
LX1:
MOVAL,0FFH
MOVDX,PB
OUTDX,AL
RET
DISPENDP
CODEENDS
ENDMAIN
八、实验结果
调节电位器,ADC0809能够实时测量电位器电压并在数码管上显示。
九、实验中遇到的问题及解决方式
问题:
编程完成后,数码管显示乱码。
解决:
暂未解决,但是更换实验平台后,重新用另一台电脑编译下载能够
成功显示。
实验二 D/A转换实验
(一)
一、实验目的
了解数/模转换的基本原理,掌握DAC0832芯片的使用方法。
二、实验内容
利用0832通过D/A转换交替产生方波和锯齿波。
三、实验接线图
图2-1
四、编程指南
1.首先须由CS片选信号确定量DAC寄存器的端口地址,然后锁存一个数
据通过0832输出,典型程序如下:
MOVDX,DAPORT
MOVAL,DATA
OUTDX,AL
;0832口地址
;输出数据到0832
2.产生波形信号的周期由延时常数确定。
五、实验程序框图
图2-2
六、实验步骤
1.断电连接导线,0832片选信号CS5插孔和译码输出FF80H插孔相连。
2.在PC机和实验系统联机状态下,新建实验程序,编辑完成后进行保存
(保存后缀为.asm文件);
3.编译下载;
4.全速运行,运行程序。
七、实验程序
CODESEGMENT
ASSUMECS:
CODE
MAINPROCFAR
START:
MOVCX,4
FANG:
PUSHCX
MOVDX,0FF80H
MOVAL,00H
OUTDX,AL
CALLDELAY
MOVDX,0FF80H
NOTAL
OUTDX,AL
CALLDELAY
POPCX
;循环显示4次方波
;压入堆栈,保护循环次数
;0832口地址
;首先输出方波低电平部分
;延时
;取反输出方波高电平部分
;延时
;弹出方波次数
LOOPFANG
MOVCX,03FCH
MOVDX,0FF80H
MOVAL,00H
JUCHI:
OUTDX,AL
INCAL
LOOPJUCHI
JMPSTART
MAINENDP
DELAYPROCNEAR
MOVCX,0100H
DELAY1:
LOOPDELAY1
RET
DELAYENDP
CODEENDS
ENDMAIN
;循环
;锯齿波循环显示4次
;0832口地址
;锯齿波初值
;加1
;循环
;显示完成,重新开始
;延时函数
八、实验结果
图2-3
九、实验中遇到的问题及解决方式
问题:
程序运行时,发现显示四个方波但是只显示3个锯齿波。
解决:
忘记了在结束方波输出循环后将AX=00H,导致少输出一个锯齿波。
实验三 D/A转换实验
(二)
一、实验目的
进一步掌握数/模转换的基本原理。
二、实验内容
通过0832D/A转换输出一个从0V开始逐渐升至5V,再从5V降至0V的
可变电压输出。
三、实验接线图
图3-1
四、编程指南
1.首先须由CS片选信号确定量DAC寄存器的端口地址,然后锁存一个数
据通过0832输出,典型程序如下:
MOVDX,DAPORT
MOVAL,DATA
OUTDX,AL
;0832口地址
;输出数据到0832
2.产生波形信号的周期由延时常数确定。
五、实验程序框图
图2-2
六、实验步骤
1.断电连接导线,0832片选信号CS5插孔和译码输出FF80H插孔相连。
2.在PC机和实验系统联机状态下,新建实验程序,编辑完成后进行保存
(保存后缀为.asm文件);
3.编译下载;
4.全速运行,运行程序。
七、实验程序
CODESEGMENT
ASSUMECS:
CODE
MAINPROCFAR
START:
MOVDX,0FF80H
MOVAL,00H
UP:
OUTDX,AL
INCAL
CMPAL,0FFH
JNZUP
DOWN:
OUTDX,AL
DECAL
CMPAL,00H
JNZDOWN
;0832口地址
;三角波初值
;输出到0832
;数据加1
;是否到上限
;判断
;输出到0832
;数据减1
;是否到下限
;判断
JMPUP
CODEENDS
ENDMAIN
;开始执行下一周期
八、实验结果
图2-3