资源描述:
《微机实验报告.doc》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、《微机实验及课程设计》实验报告学号08009407东南大学《微机实验及课程设计》实验报告实验八 数模与模数转换姓名:李晓琴学号:08009407专业:自动化实验室:计算机硬件技术实验时间:2010年05月17日报告时间:2010年05月20日评定成绩:审阅教师:0《微机实验及课程设计》实验报告学号08009407一.实验目的与内容1.实验目的1)了解数/模转换器的基本原理,掌握DAC0832芯片的使用方法;2)了解模/数转换器的基本原理,掌握ADC0809芯片的使用方法。2.基本实验内容和要求(1)DAC实验电路原理如图1,DAC0832采用单缓冲方式,具有单双极性输入端(图中的Ua、
2、Ub)。进入DEBUG调试,输出命令(O290数据)输出数据给DAC0832,用万用表测量单极性输出端Ua及双极性输出端Ub的电压,验证数字与电压之间的线性关系。(2)分别编程产生锯齿波、正弦波电压波形(从Ub输出,用示波器观察)。(3)ADC实验电路原理图如图2,通过实验台左下角电位器RW1输出0~5V直流电压送入ADC0809通道0(IN0),利用debug的输出命令启动A/D转换器,输入命令读取转换结果,检查硬件是否正常,验证输入电压与转换后数字的关系。启动IN0开始转换:O0C8180;读取转换结果:I0C818。(4)编程采集IN0输入的电压,在屏幕上显示出转换后的数据(用1
3、6进制数)。(5)将JP3的1、2短接,使IN1处于双极性工作方式,并给IN1输入一个低频交流信号(幅度为±5V),编程采集这个信号数据并在屏幕上显示波形。二.基本实验原理1.实验原理:(1)D/A转换①8位D/A转换器DAC0832的口地址为290H,输入数据与输出电压的关系为:(UREF表示参考电压,N表示数数据),这里的参考电压为PC机的+5V电源。②产生锯齿波只须将输出到DAC0832的数据由0循环递增,产生正弦波可根据正弦函数建一个下弦数字量表,取值范围为一个周期,表中数据个数在16个以上。(2)A/D转换①图2中ADC0809的IN0口地址为298H,IN1口地址为299H
4、。②IN0单极性输入电压与转换后数字的关系为其中Ui为输入电压,UREF为参考电压,这里的参考电压为PC机的+5V电源。③一次A/D转换的程序可以为:MOVDX,口地址OUTDX,AL;启动转换;延时0《微机实验及课程设计》实验报告学号08009407INAL,DX;读取转换结果放在AL中1.关键电路原理图:图一DAC0832基本实验电路图二ADC0809基本实验电路2.主要程序框图:图3锯齿波发生程序流程图图4正弦波发生程序流程图0《微机实验及课程设计》实验报告学号08009407图五ADC0809数据转换和数据显示程序图六A/D转换曲线绘制流程图三.方案实现与测试1.实验步骤:(1
5、)按电路图1接线,DAC0832采用单缓冲方式,具有单双极性输入端(图中的Ua、Ub)。(2)进入DEBUG调试,输出命令(O290数据)输出数据给DAC0832,用万用表测量单极性输出端Ua及双极性输出端Ub的电压,验证数字与电压之间的线性关系。(3)分别编程产生锯齿波、正弦波电压波形(从Ub输出,用示波器观察)。(4)按ADC实验电路图(图2),通过实验台左下角电位器RW1输出0~5V直流电压送入ADC0809通道0(IN0)(5)利用debug的输出命令启动A/D转换器,输入命令读取转换结果,检查硬件是否正常,验证输入电压与转换后数字的关系。(6)启动IN0开始转换:O0C818
6、0;读取转换结果:I0C818。编程采集IN0输入的电压,在屏幕上显示出转换后的数据(用16进制数)。(5)将JP3的1、2短接,使IN1处于双极性工作方式,并给IN1输入一个低频交流信号(幅度为±5V),编程采集这个信号数据并在屏幕上显示波形。2.关键程序片段:(1)DA实验--正弦波发生程序:0《微机实验及课程设计》实验报告学号08009407datasegmentioportequ0e000h-0280hio0832aequioport+290hsindb80h,96h,0aeh,0c5h,0d8h,0e9h,0f5h,0fdhdb0ffh,0fdh,0f5h,0e9h,0d8h
7、,0c5h,0aeh,96hdb80h,66h,4eh,38h,25h,15h,09h,04hdb00h,04h,09h,15h,25h,38h,4eh,66h;正弦波数据dataendsstackssegmentstackdb100dup(?)stacksends0《微机实验及课程设计》实验报告学号08009407codesegmentassumecs:code,ds:data,ss:stacksstart:movax,stacksmovss