资源预览内容
第1页 / 共6页
第2页 / 共6页
第3页 / 共6页
第4页 / 共6页
第5页 / 共6页
第6页 / 共6页
亲,该文档总共6页全部预览完了,如果喜欢就下载吧!
资源描述
微机实验 08012425 东南大学微机实验及课程设计实验报告实验八 数模与模数转换姓 名: 学 号 专 业: 自动化 实 验 室: 实验时间: 2012年05月20日 报告时间: 2012年06月02日评定成绩: 审阅教师: 一. 实验目的1、了解数/模转换器的基本原理,掌握DAC0832芯片的使用方法。2、了解模/数转换器的基本原理,掌握DAC0809芯片的使用方法。二. 实验内容必做:8-1、(数模转换)DAC0832采用单缓冲方式,具有双极性输入端。分别编程产生锯齿波(参考程序1)和正弦波(参考程序2)波形,从Ub输出,用示波器观察。8-2、(模数转换)通过实验台左下角电位器RW输出05V直流电压送入ADC0809通道IN0。编程采集IN0输入的电压,在屏幕上用16进制数显示转换后的数据(参考程序3)。选做:8-3、(模数-数模转换) 在实验2的基础上,将转换后的16进制数据重新进行数模转换(增加相应的接线),从Ub输出转换后的模拟信号,用示波器比较输入IN0和输出Ub的波形。三.实验原理与接线(1)DAC 实验电路原理如图3.9-1,DAC0832 采用单缓冲方式,具有单双极性输入端(图中的Ua、Ub)。进入DEBUG 调试,输出命令(O 290 数据)输出数据给DAC0832,用万用表测量单极性输出端a 及双极性输出端b 的电压,验证数字与电压之间的线性关系。(2)分别编程产生锯齿波、正弦波电压波形(从Ub 输出,用示波器观察)。(3) ADC 实验电路原理图如图3.9-2,通过实验台左下角电位器RW1 输出05直流电压送入ADC0809通道0(IN0),利用debug 的输出命令启动/转换器,输入命令读取转换结果,检查硬件是否正常,验证输入电压与转换后数字的关系。启动IN0 开始转换: O 0C818 0;读取转换结果: I 0C818。(4) 编程采集IN0 输入的电压,在屏幕上显示出转换后的数据(用16 进制数)。(5) 将JP3 的1、2 短接,使IN1 处于双极性工作方式,并给IN1 输入一个低频交流信号(幅度为),编程采集这个信号数据并在屏幕上显示波形。接线图:DAC0832CS接290297H用示波器观察Ub脚输出DAC0809CS接29829FHRW1接IN0四.实验源程序(主要部分)和流程图源程序:8-1、(数模转换)DAC0832采用单缓冲方式,具有双极性输入端。分别编程产生锯齿波(参考程序1)和正弦波(参考程序2)波形,从Ub输出,用示波器观察。ioportequ 0b800h-0280hio0809aequ ioport+298hstacks segment stack db 100 dup (?)stacks endscode segment assume cs:code,ss:stacksmain proc farstart:mov ax,stacksmov ss,axmov dx,io0809a ;启动A/D转换器out dx,almov cx,0ffh ;延时delay:loop delayin al,dx ;从A/D转换器输入数据mov bl,al ;将AL保存到BLmov cl,4shr al,cl ;将AL右移四位call disp ;调显示子程序显示其高四位mov al,bland al,0fhcall disp ;调显示子程序显示其低四位mov ah,02mov dl,20h ;加回车符int 21hmov dl,20hint 21hpush dxmov ah,06h ;判断是否有键按下mov dl,0ffhint 21hpop dxje start ;若没有转STARTmov ah,4ch ;退出int 21hmain endpdisp proc near ;显示子程序mov dl,alcmp dl,9 ;比较DL是否9jle ddd ;若不大于则为0-9,加30h为其ASCII码add dl,7 ;否则为A-F,再加7ddd: add dl,30h ;显示mov ah,02int 21hretdisp endpcode endsend start8-2、(模数转换)通过实验台左下角电位器RW输出05V直流电压送入ADC0809通道IN0。编程采集IN0输入的电压,在屏幕上用16进制数显示转换后的数据(参考程序3)。ioportequ 0b800h-0280hio0832aequ ioport+290hstacks segment stack db 100 dup (?)stacks endscode segment assume cs:code,ss:stacksmain proc farstart:mov ax,stacksmov ss,ax mov cl,0 mov dx,io0832alll: mov al,clout dx,alinc cl ;cl加1inc clinc clinc clinc clinc clinc clpush dxmov ah,06h ;判断是否有键按下mov dl,0ffhint 21hpop dxjz lll ;若无则转LLLmov ah,4ch ;返回DOSint 21hmain endpcode endsend start选做:8-3、(模数-数模转换) 在实验2的基础上,将转换后的16进制数据重新进行数模转换(增加相应的接线),从Ub输出转换后的模拟信号,用示波器比较输入IN0和输出Ub的波形。data segmentioportequ 0b800h-0280hio0832aequ ioport+290hsindb 80h,96h,0aeh,0c5h,0d8h,0e9h,0f5h,0fdhdb 0ffh,0fdh,0f5h,0e9h,0d8h,0c5h,0aeh,96hdb 80h,66h,4eh,38h,25h,15h,09h,04hdb 00h,04h,09h,15h,25h,38h,4eh,66h ;正弦波数据data endsstacks segment stack db 100 dup (?)stacks endscode segment assume cs:code,ds:data,ss:stacksstart:mov ax,stacksmov ss,axmov ax,datamov ds,axll:mov si,offset sin ;置正弦波数据的偏移地址为SImov bh,32 ;一组输出32个数据lll:mov al,si ;将数据输出到D/A转换器mov dx,io0832aout dx,almov ah,06hmov dl,0ffhint 21hjne exitmov cx,1delay:loop delay ;延时inc si ;取下一个数据dec bhjnz lll ;若未取完32个数据则转llljmp llexit:mov ah,4ch ;退出int 21hcode endsend start流程图: 五. 实验结果以及遇到的问题和解决办法串行通信时,构成一个字符或数据的各位按时间先后,从低位到高位一位一位地传送,占用较少的通信线,使成本降低,而且适合较远距离的传输。串行通信常作为计算机与低速外设或计算机之间传输信息用。当传输距离较远时,可采用通信线路(如电话线、无线电台等)。在使用时,发送及接收端必须具备并行-串行转换电路。串行通信包括异步通信和同步通信两种通信方式。数模和模数转换器可以通过一定方式在给定数据和输出电压和电源电压间作转换。实验中使用了DAC0832和ADC0809转换器,0832的实验中通过给定的数据和相应的算法,以一定的顺序输出特定电压形成所需波形,0809的实验中通过相关算法在屏幕上用图形方式输出信息。这次实验连线较为简单,示波器可以正常使用,总体操作比较顺利,获得我所预期的结果,收获很多。5
收藏 下载该资源
网站客服QQ:2055934822
金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号