数模模数转换实验报告
- 格式:doc
- 大小:400.38 KB
- 文档页数:9
实验内容:模数、数模实验1. 采用查表法,用DAC0832产生100Hz 正弦输出模拟信号,用示波器检查波形。
(8253 T0产生定时脉冲,8259 INT0向CPU 中断)。
D/A 转换是把数字量转换成模拟量的变换,实验台上D/A 电路输出的是模拟电压信号。
要实现实验要求,比较简单的方法是产生正弦波形的表格,然后通过查表来实现波形显示。
D/A 转换取值范围为一个周期,采样点越多,精度越高些。
8位D/A 转换器的输入数据与输出电压的关系为U(0∽-5V)=Uref/256×N ; U(-5V ∽+5V)=2·Uref/256×N-5V 实验程序框图如下:初始化8253控制字计数,等待中断计算中断向量号调用8259A 初始化子程序给定8253计数值主程序开始结束现场保护启动数模转换器结束进入中断服务是否转换完一个周期结束中断将指针复位程序代码:ICW1 equ 00010011b ; 写8259A 控制字(单片8259, 上升沿中断, 要写ICW4) ICW2 equ 00100000b ; 中断号为20HICW4 equ 00000001b ; 工作在8086/88 方式OCW1 equ 11111110b ; 只响应INT0 中断CS8259A equ 09000h ; 8259地址CS8259B equ 09001hCONTROL equ 08003h ;8253控制字COUNT0 equ 08000hCS0832 equ 0a000Hdata segmentaa db 128,88,53,24,6,0,6,24,53,88,128,168,203,231,250,255,250,231,203,168, data endscode segmentassume cs:code, ds: dataIEnter proc nearpush axpush dxstimov al, 0mov dx, CS0832out dx, almov al,[di]out dx, alinc dicmp di,20jz k1mov dx, CS8259Amov al, 20h ; 中断服务程序结束指令out dx, alnoppop dxpop axiretk1:mov di,offset aajmp k2IEnter endpIInit procmov dx, CS8259Amov al, ICW1out dx, almov dx, CS8259Bmov al, ICW2out dx, almov al, ICW4out dx, almov al, OCW1out dx, alretIInit endpstart proc nearmov al, 34h ; 通道0,方式2mov dx, CONTROLout dx, al ;写入程序控制字mov al, 0out dx, al ; 高八位mov al, 00000000B ; 锁存计数器值mov dx, CONTROLout dx, almov dx,COUNT0 ;写入0通道方式字mov ax,2000out dx,almov al,ahout dx,almov ax, 0mov ds, axmov bx, 4*ICW2 ; 中断号mov ax, codeshl ax, 4 ; x 16add ax, offset IEnter ; 中断入口地址(段地址为0)mov [bx], axmov ax, 0inc bxinc bxmov [bx], ax ; 代码段地址为0call IInitmov ax, datamov ds, axmov di,offset aastiLP: ; 等待中断,并计数。
东南大学《微机实验及课程设计》实验报告实验八数模与模数转换姓名:学号:专业:实验室:计算机硬件技术实验时间:2010年06月1日报告时间:2010年06月2日评定成绩:审阅教师:一. 实验目的与内容1)了解数/模转换器的基本原理,掌握DAC0832 芯片的使用方法;2)了解模/数转换器的基本原理,掌握ADC0809 芯片的使用方法。
二. 基本实验原理(1)D/A 转换① 8 位D/A 转换器DAC0832 的口位置为290H,输入数据与输出电压的关系为:(UREF 表示参考电压,N 表示数数据),这里的参考电压为PC 机的+5V 电源。
②产生锯齿波只须将输出到DAC0832 的数据由0 循环递增,产生正弦波可根据正弦函数建一个下弦数字量表,取值范围为一个周期,表中数据个数在16 个以上。
电路连接如下图所示:图1产生锯齿波和正弦波的程序流程图如下所示:(2)A/D 转换① ADC0809 的IN0 口位置为298H,IN1 口位置为299H。
② IN0 单极性输入电压与转换后数字的关系为:其中Ui 为输入电压,UREF 为参考电压,这里的参考电压为PC 机的+5V 电源。
③一次A/D 转换的程序可以为:MOV DX,口位置OUT DX,AL ;启动转换;延时IN AL,DX ;读取转换结果放在AL 中电路连接如下图所示:图2 程序流程图(含子程序流程图)如下所示:(3)A/D转换曲线绘制流程图如下所示:三. 方案实现与测试(一)、获取TPC 扩展卡 I/O 和存储基位置直接在windows 下利用控制面板查看占用的存储和中断资源,可知:TPC设备内存范围: FDDFF000—FDDFF0FF接口芯片输入输出范围: BC00—BCFFTPC设备输入输出范围: B800—B87F接口芯片内存范围: FDC00000—FDCFFFFF(二)、DAC 实验电路原理如图1所示,DAC0832 采用单缓冲方式,具有单双极性输入端(图中的Ua、Ub)。
DSP实验报告之 CODEC(模数数模转换)DSP技术及应用实验报告学院:班级:姓名:学号:指导老师:完成日期:CODEC(模数/数模转换)一、实验目的1. 熟悉DSK板的结构和设置(DSK板注意事项在第2页);2. 掌握利用CODEC进行AD/DA转换;3. 熟悉McBSP, DMA的使用;4. 掌握C和汇编混合编程封装具体实现。
二、实验设备1.集成开发环境CCS 2.5402DSK实验板 3. 实验代码:a). 混合编程:codec_c.h(.h、.h54均由程序自动加载,可不加,后同),dsp_cnst.h54, codec.s54, codec_c.c, rts.lib和codec_c.cmd,c5402_dsk.gel(同上用来做gel初始设置, c5402_dsk.gel与 c5402.gel稍有区别,注意比较其中的异同)。
b). 汇编(时间多的同学做):codec_cnst.h54, dsp_cnst.h54, macro.h54,codec_init.s54, dsp_init.s54, main.s54和codec.cmd,c5402_dsk.gel(说明同前)。
三、实验内容及步骤1. 阅读理解McBSP, CODEC和DMA的相关文档2. 阅读和理解相关实验代码3. 本实验由于用到DSK板,环境设置与前不同,要特别注意。
打开CCS前,用并口电缆将TMS320VC5402DSK与PC机相连,出现发现硬件提示,安装驱动(驱动程序在D:\\DSP\\driver5000。
一般会要求装3次,2次装USB,driver5000\\USBDevice目录,如无则可跳过;1次装driver,即 driver5000中setup.exe,注意driver驱动的安装路径要求与CCS的安装路径一致,故要先找出CCS的安装目录)。
4. 接通DSK板电源,配置工作环境: 双击打开Code Composer (Studio)配置程序,如图:点击“Clear”按钮,清除原有配置。
东南大学《微机实验及课程设计》实验报告实验八数模与模数转换姓名:学号:专业:实验室:计算机硬件技术实验时间:2010年06月1日报告时间:2010年06月2日评定成绩:审阅教师:一. 实验目的与内容1)了解数/模转换器的基本原理,掌握DAC0832 芯片的使用方法;2)了解模/数转换器的基本原理,掌握ADC0809 芯片的使用方法。
二. 基本实验原理(1)D/A 转换① 8 位D/A 转换器DAC0832 的口地址为290H,输入数据与输出电压的关系为:(UREF 表示参考电压,N 表示数数据),这里的参考电压为PC 机的+5V 电源。
②产生锯齿波只须将输出到DAC0832 的数据由0 循环递增,产生正弦波可根据正弦函数建一个下弦数字量表,取值范围为一个周期,表中数据个数在16 个以上。
电路连接如下图所示:图1产生锯齿波和正弦波的程序流程图如下所示:(2)A/D 转换① ADC0809 的IN0 口地址为298H,IN1 口地址为299H。
② IN0 单极性输入电压与转换后数字的关系为:其中Ui 为输入电压,UREF 为参考电压,这里的参考电压为PC 机的+5V 电源。
③一次A/D 转换的程序可以为:MOV DX,口地址OUT DX,AL ;启动转换;延时IN AL,DX ;读取转换结果放在AL 中电路连接如下图所示:图2 程序流程图(含子程序流程图)如下所示:(3)A/D转换曲线绘制流程图如下所示:三. 方案实现与测试(一)、获取TPC 扩展卡 I/O 和存储基地址直接在windows 下利用控制面板查看占用的存储和中断资源,可知:TPC设备内存范围: FDDFF000—FDDFF0FF接口芯片输入输出范围: BC00—BCFFTPC设备输入输出范围: B800—B87F接口芯片内存范围: FDC00000—FDCFFFFF(二)、DAC 实验电路原理如图1所示,DAC0832 采用单缓冲方式,具有单双极性输入端(图中的Ua、Ub)。
串行模数/数模转换实验报告一.实验目的:1、掌握 TLC549同步串行接口的ADC模块的特性、编程原理,了解TLC5620的4种时序图以及产生波形幅度的计算方法。
2、能实现TLC549、TLC5620与MCS-51单片机的连接,分别进行数据采集和波形观测。
3、能采用Proteus ISIS软件进行串行模数转换的电路设计。
4、能运用MCS-51单片机汇编语言进行串行模数/数模转换实验的软件设计。
二.实验要求:1、将TLC549 与MCS-51单片机进行连接,利用汇编语言编写出数据采集程序,将转换的模拟电压以二进制的形式通过单片机的P0口输出显示。
1)将单片机的P0口与LED1~LED8连接起来,作为输出显示。
由于LED采用灌电流方式驱动,所以要将数据取反后再输出显示,以获得“正逻辑”效果2)利用P1口与TLC549的控制信号进行连接,TLC549的基准电压REF+端与基准电压+5V相连,将电位器的上端连接VCC、下端连接GND,抽头与TLC549的模拟输入ANIN连接。
在运行程序时,不断地调节电位器,使其抽头电压连续变化,通过LED1~LED8的状态观察ADC转换的结果。
3)运用Proteus ISIS软件完成串行模数转换实验的硬件电路设计。
4)实现KeilC与Proteus软件的联调。
2、设计软件程序,用单片机的I/O口控制TLC5620实现D/A转换,使其通道1产生一个三角波,而通道2产生一个和通道1周期、幅度均相同的方波。
1)短接B7区的电源供给跳线JP16,调节B7区的电位器W3,使其输出接线柱Verf的电压为2.6V。
2)将A2区P16、P17、T0、T1分别连接到B9区的CLK、DAT、LDAC、LOAD,将B7区Verf连接到B9区REF接线柱,短接B9区电源跳线JP13。
3)运行光盘中的相应程序,用双踪示波器的两个探头观察DACA、DACB输出的波形。
三.流水灯硬件电路图四.软件程序1. 串行模数实验程序流程图2.程序清单 1) 串行模数:SDO BIT P1.0 ;数据输出CS BIT P1.1 ;片选SCLK BIT P1.2 ;时钟ORG 8000HAJMP MAINORG 8100HMAIN: MOV SP,#60HLOOP: ACALL TLC549_ADCCPL A ;累加器A取反MOV P0,A ;数据给P0口ACALL DELAYSJMP MAINTLC549_ADC: PUSH 07HCLR A ;清零CLR SCLKMOV R6,#08H ;计数器赋初值CLR CS ;选中TLC549LOOP1:SETB SCLK ;SCLK置位,数据输出NOPNOPMOV C,SDORLC A ;累加器A循环左移CLR SCLK ;SDO=0,为读出下一位数据作准备 NOPDJNZ R6,LOOP1 ;R6-1→R6,判断R6=0SETB CS ;禁止TLC549,再次启动AD转换 SETB SCLKPOP 07HRETDELAY: PUSH 00HMOV R0,#00HDJNZ R0,$POP 00HRETEND2)串行数模:SCLA BIT P1.6SDAA BIT P1.7LOAD BIT P3.5LDAC BIT P3.4VOUTA DATA 30HVOUTB DATA 31HORG 8000HAJMP MAINORG 8100HMAIN:MOV SP,#60HNOPCLR SCLACLR SDAASETB LOADSETB LDACMOV R3,#0A2HMOV R4,#00HMOV VOUTA,#00HMOV R5,#0A2HMOV R6,#00HMOV VOUTB,#00HDACHANG:MOV R1,#01HMOV R2,VOUTALCALL DAC5620DJNZ R3,CONTINUEAMOV R3,#0A2HMOV A,R4CPL AMOV R4,ACONTINUEA:CJNE R4,#OFFH,CONTINUEB DEC R2SJMP CONTINUEC CONTINUEB:INC R2CONTINUEC:MOV VOUTA,R2MOV R1,#03HMOV R2,VOUTBLCALL DAC5620DJNC R5,CONTINUEDMOV R5,#042HMOV A,R6CPL AMOV R6,A CONTINUED:CJNE R6,#0FFH,CONTINUEE MOV R2,#OA2HSJMP CONTINUEF CONTINUEE:MOV R2,#00H CONTINUEF:MOV VOUTB,R2LJMP DACHANG DAC5620:MOV A,R1CLR SCLAMOV R7,#08HLCALL SENDBYTEMOV A,R2CLR SCLAMOV R7,#08HLCALL SENDBYTECLR LOADSETB LOADCLR LDACSETB LDACRETSENDBYTE:SETB SCLARLC AMOV SDAA,CCLR SCLADJNZ R7,SENDBYTE RETEND五.实验结果观察实验结果,可知道通过调节电位器,数字量在对应的发生改变。
实验一模/数、数/模转换试验一、实验目的1、加深理解模/数、数/模转换的工作原理,熟练使用和掌握ADC0809和DAC0832。
2、了解掌握A/D、D/A转换流程以及计算机分时控制模/数、数/模转换器的情况。
[试验1.1](试验线路图见图1.1-1)8088CPU的OPCLK信号与ADC0809单元电路的CLOCK相连作为ADC0809的时钟信号。
ADC0809芯片输入选通地址码A、B、C为“1”状态,选通输给A/D转换器输入-5V~+5V的模拟电压。
8253入通道IN7。
通过电位器W141的2#口用于5ms定时输出OUT2信号启动A/D转换器。
由8255口A为输入方式,A/D转换器的数据通过A口采入计算机,送到显示器上显示,并由数据总线送到D/A转换器0832的输入端。
选用8088CPU的地址输入信号IOY0为片选信号(CS), XIOW信号为写入信号(WR),D/A转换器的口地址为00H。
调节W即可改变输入电压,可从显示器上看A/D转换器对应输出的数141码,同时这个数码也是D/A转换器的输入数码。
图1.1-1A/D、D/A转换程序流程(见图1.1-2)对应下面的流程,程序已编好放在8088的监控中,可用U(反汇编)命令查看。
图1.1-2[试验1.2](试验线路图见图1.2-1)设置8253为定时方式,OUT2信号为采样脉冲,采样周期为5ms。
8255的A口为输入方式,用于采入数据。
8255的B口为输出方式,用于选择控制双路输入输出通道。
A/D转换单元可对多路模拟量进行转换,这里用6、7两路分别接入图1.2-2所示信号。
计算机控制A/D变换器分时对这两路模拟信号进行A/D转换。
将转换的数字量送至D/A变换器还原成模拟量,并送至两个采样保持器。
由8255B 口分别控制两个采样保持器的采样开关,以保证采样保持器单元电路中的OUT1输出信号与A/D变换单元U12的IN6输入信号一致;采样保持器单元电路的OUT2输出信号与A/D变换单元U12的IN7输入信号一致。
南昌大学实验报告学生姓名:学号:专业班级:实验类型:■验证□综合□设计□创新实验日期:实验成绩:实验一数/模转换实验一.实验要求掌握DAC0832芯片的性能、使用方法及对应的硬件电路。
编写程序控制D/A输出的波形,使其输出周期性的三角波。
二.实验说明电路实现见主板模块B1,具体说明请见用户手册。
DAC0832的片选CS0832接00H,观察输出端OUTl(B1部分)产生三角波由数字量的增减来控制,同时要注意三角波要分两段来产生。
三.实验步骤1、接线:此处无需接线。
2、示例程序:见Cpl源文件,程序流程如下图所示。
3、运行虚拟示波器方法:打开LCAACT软件中“设置”一>“实验机”,将其中的程序段地址设为8100,偏移地址0000。
然后选择“设置”一>“环境参数”一>“普通示波”,选择“工具”一>“加载目标文件”,本实验加载C:\AEDK\LCAACT\试验软件\CPI.EXE,然后选择在“工具”栏中“软件示波器”中“普通示波”,点击开始示波器即程序运行。
以后每个实验中的虚拟示波器运行方法同上。
只是加载的程序要根据实验的不同而不同。
如果以后用到该方法,不再赘述。
4、现象:程序执行,用虚拟示波器(CHl)观察输出点OUT(B1开始设置初始电平为0VD/A输出并增<=0FFH?YN数模转换中),可以测量到连续的周期性三角波。
通过实验结果的图片,我们可以知道得出来的三角波的幅值为U=(3.01V+1.95V)=4.96V。
T=1.3s模拟输出来的幅值和我们输入的5V有一定的偏差。
相对误差为(5-4.96)/5=0.8%,因为0832是8为的,所以分辨率为1/256即0.004。
相比较一下本次实验的误差只有0.8%,相当于掉了两个单位的分辨率。
在允许的误差范围之内。
所以本次实验的结果还算是比较成功的。
四、实验小结通过本次实验,我对数模转换的知识理解得更加透彻,以及如何使用DAC0832进行数模转换把数字量转换为模拟量并以三角波形式输出。
实验一 D/A数模转换实验一、实验目的1、掌握数模转换的基本原理。
2、熟悉12位D/A转换的方法。
二、实验内容通过A/D&D/A卡完成12位D/A转换的实验,转换公式如下:U o =Vref(211K12+210K11+ (20))/212Vref=5.0V例如:数字量=0100,0000,0000K 11=0,K10=1,K9=0,K8=0,K7=0,K6=0,K5=0,K4=0 K3=0, K2=0, K1=0, K=0模拟量Uo =Vref(4096-211K7+210K6+ (20))/212=2.5三、实验方法(1)硬件连接:将数据采样卡上标有AD1 IN 的插孔与DA1 OUT 的插孔相连。
(2)实验硬件原理示意图:数字量 D/A 转换 A/D采集计算机显示结果四、软件使用1、打开软件,在实验课题菜单中选中D/A数模转换实验;或者在左栏快捷区选中D/A数模转换实验项目条,双击即可。
2、在相应弹出的对话框中填写参数,在数字量对应区填写目标数字量。
注意:数字量的范围从0--40963、点击变换按钮,转换出对应的模拟量,如果点击运行,则执行采样数据,等待数据传输完成后,在测量图形中观测对应的数据;点击取消,则取消当前实验。
4、实验完成后起用测量标尺,观测图形并测量数据;在主窗口中单击Measure键,使用弹出标尺,进行单值测量;选择Single项,进行单测量;Double项,进行双测量,测量标尺可以拖动使用5、退出实验,在实验课题菜单中选择退出即可。
五.实验报告1.画出数字量与模拟量的对应曲线。
2.计算出理论值,将其与实验结果比较,分析产生误差的原因。
实验二 A/D模数转换实验一、实验目的1.掌握模数转换的基本原理。
2.熟悉12位A/D转换的方法。
二、实验内容通过A/D&D/A卡完成12位A/D转换的实验,转换公式如下:数字量=模拟量/Vref x2N 其中N是A/D的位数,Vref是基准电压。
微机与接口技术实验51.采用查表法,用DAC0809产生100Hz正弦输出模拟信号,用示波器检查波形。
(8253 T0产生定时脉冲,8259 INT0向CPU中断)。
分析:定时器对4Mhz信号4000分频,产生1000hz的中断,在中断服务程序里查表法进行数模转换(表中预先存有10个数),输出的模拟值符合正弦规律,且频率正好100hz。
源程序:ICW1 equ 00010011b ; 单片8259, 上升沿中断, 要写ICW4ICW2 equ 00100000b ; 中断号为20HICW4 equ 00000001b ; 工作在8086/88 方式OCW1 equ 11111110b ; 只响应INT0 中断CS8259A equ 09000h ; 8259地址CS8259B equ 09001hCONTROL equ 08003hCOUNT0 equ 08000hdac0832 equ 0a000hdata segmentnum db 6,52,128, 203, 249, 249, 203, 128, 52, 6;十个点进行正弦逼近data endscode segmentassume cs:code,ds:datainit8259 proc near ;8259的初始化子程序mov dx, CS8259Amov al, ICW1out dx, almov dx, CS8259Bmov al, ICW2out dx, almov al, ICW4out dx, almov al, OCW1out dx, alretinit8259 endpinit8253 proc near ;8253的初始化子程序mov al, 34h ; 通道0,方式2mov dx, CONTROLout dx, almov ax,4000 ;4000分频mov dx, COUNT0out dx, almov al,ahout dx, alretinit8253 endpint0 proc near ;0号中断的服务程序push axpush dxcmp si, 10 ;如果指针过了一个周期的数,就要返回到第一个重新来jnz goonmov si,offset numgoon:mov al,[si]inc almov dx,dac0832 ;将数字输入数模转换,成为模拟量输出out dx,alinc simov dx, CS8259Amov al, 20h ; 中断服务程序结束指令out dx, alpop dxpop axiretint0 endpstart: clicall init8259call init8253;将中断服务程序的入口地址写入mov ax, 0mov ds, axmov bx, 4*ICW2 ; 中断号mov ax, codeshl ax, 4 ; x 16add ax, offset Int0 ; 中断入口地址(段地址为0)mov [bx], axmov ax, 0inc bxinc bxmov [bx], ax ; 代码段地址为0mov ax,datamov ds,axmov si,offset numstiwait:jmp wait ;等待中断code endsend start2.设计ADC0832模数采样程序,对电位器输出电压采样,并用发光二极管显示采样值。
数模转换器和模数转换器实验报告材料一、实验目的1.学习和掌握数模转换器和模数转换器的原理和工作方式;2.了解数模转换器和模数转换器在各种应用领域的具体应用;3.掌握数模转换器和模数转换器的实际测量方法和数据处理。
二、实验器材和原理1.数模转换器(DAC):将数字信号转换为模拟信号。
它可以将二进制数字信号转换为连续的模拟信号,并且可以根据控制信号的不同而输出不同的电压或电流;2.模数转换器(ADC):将模拟信号转换为数字信号。
它能够实时取样模拟信号,并将其转换为对应的数字信号;3.示波器:用于观测和显示信号波形;4.信号发生器:用于产生输入信号。
三、实验过程1.数模转换器实验:(1)将示波器的X轴连接到数模转换器的数字输入端,Y轴连接到模拟输出端;(2)通过示波器上的控制按钮,调整示波器显示的方式,使其能够显示数模转换器输出的模拟信号波形;(3)使用信号发生器产生不同频率的正弦信号,并通过数模转换器将其转换为模拟信号;(4)观察和记录示波器上显示的模拟信号波形,并进行分析和比较。
2.模数转换器实验:(1)将信号发生器的输出连接到模数转换器的模拟输入端;(2)调整信号发生器的频率和幅度,产生不同的模拟信号;(3)将模拟信号输入到模数转换器中,并观察和记录模数转换器输出的数字信号;(4)使用示波器观测和记录模数转换器输出的数字信号波形,并进行分析和比较。
四、实验结果和数据处理1.数模转换器实验结果:根据示波器显示的模拟信号波形,可以观察到数模转换器能够将输入的数字信号转换为连续的模拟信号,并且输出的模拟信号的波形与输入信号的波形一致。
2.模数转换器实验结果:根据示波器显示的数字信号波形,可以观察到模数转换器能够将输入的模拟信号实时取样并转换为对应的数字信号。
对于不同频率和幅度的输入信号,模数转换器能够正确地输出对应的数字信号。
五、实验结论数模转换器和模数转换器是将数字信号和模拟信号相互转换的重要器件。
实验九 数/模(D/A )和模/数(A/D )转换应用一、实验目的1、通过实验了解A/D 和D/A 转换特性。
2、了解A/D 和D/A 转换器互相连接的工作情况。
二、实验原理数/模转换器是有一个输出端﹑几个输入端的器件,其输出为模拟电压,它正比于加在 n 个输入端的n 位二进制数。
如8位的D/A 转换器,它有8个输入端,每个输入端是8位二进制数的一位,并有一个模拟输出端,输入可有82=256个不同的二进制组态,输出为256个电压之一。
所以输出并非真正的模拟量,即输出电压不是整个电压范围内的任意值,而只能是256个可能值。
图9-1是由R —2R 梯形电阻网络构成的4位D/A 转换器。
其中B3﹑B2﹑B1﹑B0为四个数据输入端,各端均可通过开关接地或接电源Vcc 。
某输入端若接地,则该位为0,若接Vcc 则该位为1。
若输入二进制码为B 3B 2B 1B 0=1000 ,由戴维南定理可推导出输出模拟电压V o=Vcc/2,同理可推导出输入为0100时,V o=Vcc/4等等。
图9-1 4位R-2R 梯形网络D/A 转换原理实验用的D/A 转换器为DAC0801集成8位D/A 转换器,它的二进制各位开关是由双极型晶体管构成的电子开关。
D/A 转换器产生的输出电流为Io ,它正比于输入的二进制数。
n 位模/数转换器输出n 位二进制数值,它正比于加在输入端的模拟电压。
这里只介绍ADC0804A/D 转换器原理,它是用逐次逼近原理构成的。
其主要组成部分有D/A 转换器﹑逐次逼近寄存器﹑移位寄存器﹑比较器﹑时钟发生器和控制电路。
它的工作过程是:转换开始时由时钟节拍控制动作,第一个时钟来时移位寄存器状态为10000000,并送给逐次逼近寄存器(SAR ),由SAR 将10000000传给D/A 转换器输入端,使D/A 转换器产生输出模拟电压V ST ,V ST 与A/D 转换器输入的模拟量V I 进行比较。
若V ST ﹤V I ,则比较器输出V C 为高电平1,若V ST ﹥V I ,则比较器输出V 为低电平0。
数模模数转换实验报告一、实验目的1、了解数模和模数转换电路的接口方法及相应程序设计方法。
2、了解数模和模数转换电路芯片的性能和工作时序。
二、实验条件1、DOS操作系统平台2、数模转换芯片DAC0832和模数转换器ADC0809芯片。
三、实验原理1、数模转换:(1)微机处理的数据都是数字信号,而实际的执行电路很多都是模拟的。
因此微机的处理结果又常常需要转换为模拟信号去驱动相应的执行单元,实现对被控对象的控制。
这种把数字量转换为模拟量的设备称为数模转换器(DAC),简称D/A。
(2)实验中所用的数模转换芯片是DAC0832,它是由输入寄存器、DAC 寄存器和D/A 转换器组成的CMOS 器件。
其特点是片内包含两个独立的8 位寄存器,因而具有二次缓冲功能,可以将被转换的数据预先存在DAC 寄存器中,同时又采集下一组数据,这就可以根据需要快速修改DAC0832 的输出。
2、模数转换:(1)在工程实时控制中,经常要把检测到的连续变化的模拟信号,如温度、压力、速度等转换为离散的数字量,才能输入计算机进行处理。
实现模拟量到数字量转换的设备就是模数转换器(ADC),简称A/D。
(2)模数转换芯片的工作过程大体分为三个阶段:首先要启动模数转换过程。
其次,由于转换过程需要时间,不能立即得到结果,所以需要等待一段时间。
一般模数转换芯片会有一条专门的信号线表示转换是否结束。
微机可以将这条信号线作为中断请求信号,用中断的方式得到转换结束的消息,也可以对这条信号线进行查询,还可以采用固定延时进行等待(因为这类芯片转换时间是固定的,事先可以知道)。
最后,当判断转换已经结束的时候,微机就可以从模数转换芯片中读出转换结果。
(3)实验采用的是8 路8 位模数转换器ADC0809 芯片。
ADC0809 采用逐次比较的方式进行A/D 转换,其主要原理为:将一待转换的模拟信号与一个推测信号进行比较,根据推测信号是大于还是小于输入信号来决定增大还是减少该推测信号,以便向模拟输入逼近。
【实验三】数/模、模/数转换实验一、实验目的:了解数/模、模/数转换的基本原理,掌握ADC0809和DAC0832芯片的使用方法。
二、实验任务:在实验箱上设计并连接ADC0809 芯片的接线,按中断方式(利用EOC 发中断申请)对单通道模拟量进行A/D 转换。
A/D 转换结果送入PC 机后,再由PC 机送至DAC0832 进行D/A 转换,结果送至双踪示波器,与原信号进行对比观察。
模拟信号源:由电位器中心抽头可以得到一个可调节的直流电压。
电位器一端接地,另一端接+5V。
三、实验电路:四、程序清单:;ADC.ASMDA TA SEGMENTMESG3 DB 'START! HE HE !'DB 0DH,0AH,'$'OLD0A DD ?DA TA ENDSSSEG SEGMENT PARA STACK 'STACK'DB 256 DUP(?)SSEG ENDSCODE SEGMENTASSUME CS:CODE,DS:DATA,SS:SSEGBEGIN PROC FARPUSH DSMOV AX,0PUSH AXMOV AX,DATAMOV DS,AXCLICALL I8259 ;8259初始化CALL RD0A ;读旧向量CALL WR0A ;写新向量MOV DX,OFFSET MESG3MOV AH,09HINT 21HSTI ;开中断MOV DX,230HMOV AL,0 ;送初值OUT DX,AL ;激活AD WAIT_IN:MOV AH,1H ;有键输入INT 16HJZ W AIT_INEXIT_DOS: ;退出CALL RESETRETBEGIN ENDP;------------------------------------------------------- ;以下是中断服务程序,执行AD DA转换功能SERVICE PROC FARPUSH DSPUSH AX ;保护现场MOV DX,230H ;从230端口读IN AL,DX ;模拟量MOV DX,228H ;将转换结果送OUT DX,AL ;228 229端口MOV DX,229HOUT DX,ALMOV DX,230H ;重新送新值给MOV AL,0 ;230端口,等待OUT DX,AL ;下一次的输入QUIT:MOV AL,20H ;送EOC中断OUT 20H,AL ;结束命令POP AXPOP DSIRETSERVICE ENDP;------------------------------------------------------- I8259 PROCIN AL,21HAND AL,11111011BOUT 21H,ALIN AL,0A1HAND AL,11111101BOUT 0A1H,ALRETI8259 ENDP;------------------------------------------------------- RD0A PROCMOV AX,350AHINT 21HMOV WORD PTR OLD0A,BXMOV WORD PTR OLD0A+2,ESRETRD0A ENDP;------------------------------------------------------ WR0A PROCPUSH DSMOV DX,OFFSET SERVICEMOV AX,SEG SERVICEMOV DS,AXMOV AX,250AHINT 21HPOP DSRETWR0A ENDP;------------------------------------------------------- RESET PROCPUSH DSMOV DX,WORD PTR OLD0AMOV DS,WORD PTR OLD0A+2MOV AX,250AHINT 21HIN AL,0A1HOR AL,00000010B OUT 0A1H,AL POP DSRETRESET ENDP;------------------------------------------------------CODE ENDSEND BEGIN五.实验分析:我决的本次实验特别简单,好象比前两次的简单多了。
DSP模数转换实验报告姓名:XX专业:电子与通信工程学号:XXXXXX导师:XXDSP模数、数模转换实验报告摘要:本次试验完成了F2812A片内的模数、数模转换的控制,对控制程序进行编译,并观察转换后产生的波形。
关键词:模数、数模、DSP一.引言DSP是Digital Signal Processing的缩写,表示数字信号处理器,信息化的基础是数字化,数字化的核心技术之一是数字信号处理,数字信号处理的任务在很大程度上需要由DSP器件来完成,DSP技术已成为人们日益关注的并得到迅速发展的前沿技术。
数字信号处理是利用计算机或专用处理设备,以数字形式对信号进行采集、变换、滤波、估值、增强、压缩、识别等处理,以得到符合人们需要的信号形式。
二.实验原理1.TMS320F2812A芯片自带模数转换模块特性- 12位模数转换模块ADC,快速转换时间运行在25mhz,ADC时钟或12.5MSPS。
-16个模拟输入通道(AIN0—AIN15)。
-内置双采样-保持器-采样幅度:0-3v,切记输入ad的信号不要超过这个范围,否则会烧坏2812芯片的。
2.模数模块介绍ADC模块有16个通道,可配置为两个独立的8通道模块以方便为事件管理器A和B服务。
两个独立的8通道模块可以级连组成16通道模块。
虽然有多个输入通道和两个序列器,但在ADC内部只有一个转换器,同一时刻只有1路ad进行转换数据。
3.模数转换的程序控制模数转换相对于计算机来说是一个较为缓慢的过程。
一般采用中断方式启动转换或保存结果,这样在CPU忙于其他工作时可以少占用处理时间。
设计转换程序应首先考虑处理过程如何与模数转换的时间相匹配,根据实际需要选择适当的触发转换的手段,也要能及时地保存结果。
硬件框图如下所示三.软件流程图开始初始化CPU时钟,AD采样时钟启动AD0和AD1通道采集中断中对AD0和AD1通道采集数据依次存入缓冲区Voltage1 Voltage1四.实验步骤1.连接实验设备。
实验报告实验项目名称: D/A、A/D转换实验同组人:实验时间:实验室:指导教师:一、实验目的:(l)学习外部接口的应用。
ADC0809、DAC0832的工作方式,输入/输出方式的应用。
(2)熟悉Proteus软件电路设计和Keil软件程序调试方法。
重点:ADC0809、DAC0832的工作方式二、实验顶备知识:(l)AT89S51与ADC、DAC接口的连接,ADC0809、DAC0832的基本原理.(2)Proteus软件应用,Keil软件程序调试应用.三、实验内容㈠利用DAC0832转换器输出锯齿波、三角波、方波和正弦波.1、设计要求:以DAC0832转换器和AT89C52单片机设计仿真电路,该电路能在虚拟示波器上显示出锯齿波、三角波、方波和正弦波,并能用虚拟电压表显示输出电压值,要求电压范围为0~15V且周期约为510ms。
2、仿真电路原理图元器件选取:①AT89C52:单片机;②RES、RX8:电阻、8排阻;③CRYSTAL:晶振;④CAP、CAP-ELEC:电容、电解电容;⑤DAC0832:D/A转换器;⑥LM358N:运算放大器。
}void TransformData4(uchar c0832data4){*((uchar xdata*)DAC0832Addr4)=c0832data4;}void Uart_Init( void ){SCON=0x52;TMOD=0x21;TCON=0x69;TH1=0xf3;}void Delay(){uint i;for (i=0;i〈250;i++) ;}㈡ ADC0809电压模/数转换1、设计要求:以AT89C52单片机为核心设计ADC0809模数转换仿真电路,模拟电压输入由可变电位器提供。
输入电压范围0~4.99V,经ADC0809转换成对应的0~255通过数码管显示。
2、仿真电路原理图元器件选取:① AT89C52:单片机;②RES:电阻;③CRYSTAL:12MHz晶振;④CAP、CAP—ELEC:电容、电解电容;⑤7SEG—MPX4—CC:4位七段共阴极数码管;⑥74LS02、74LS04、74LS74、74LS373︰或非门、反相位、D触发器、地址锁存器;⑦POT-LIN:变阻器;⑧ADC0809:8位A/D转换器。
实验6 数模转换(DAC)实验一、实验目的1.掌握数模转换芯片TLC7528的原理及使用方法;2.掌握ICETEK-DM6437-A板扩展的DAC模块的原理和具体实现方式;3.掌握数模转换的程序设计。
二、实验设备1.PC 兼容机;2.WIN7 操作系统;3.Code Composer Studio v5;4.ICETEK-DM6437-A实验箱(如选择脱离实验箱测试,则配备ICETEK-XDS100v2+仿真器和ICETEK-DM6437-A,+5V电源);5.标准USB A口转Mini口电缆一条;6.示波器一台(20M或以上)。
三、实验原理1. 数模(D/A)转换数模(D/A)转换:将数字信号转换为相应的模拟信号。
实现数模转换的电子器件称为数模转换器件(DAC)。
数模转换用途:数模转换可以帮助计算机更好地与受控对象进行接口,按照受控对象的特点来控制它们。
可以应用于电脑控制电子乐曲(实现各种音高音色)、照明(均匀缓慢变化)、温度调节(逐渐升温和降温)、电机控制等。
举例来说:通过我们前面实验的学习,我们了解了DM6437控制发光二极管,可以实现其点亮或者熄灭,对于发光二极管这种设备来说,点亮/熄灭正好对应计算机的数字量输出,因此可以不需要DAC器件辅助,也能完成。
当我们需要调节发光二极管的亮度时,就会遇到一些困难,发光二极管无法实现半开半闭的中间状态,于是我们让计算机以很快的频率输出开和关,实现类似于中间状态的半明半暗的效果,由于LED这种器件可以适合于高速的开关操作,所以这种效果还是可以接受的,人眼分辨不了非常高速的闪烁,但仍然会造成一定困扰,比如发光二极管台灯闪烁的速率相对较低时会使眼睛在不知不觉中出现视疲劳,因此市场上还出现了提供更高频率的“护眼”台灯。
如果使用DAC器件,能控制流过发光二极管的电流稳定(而不是时开时断),这样产生的照明效果将也是稳定的,不会闪烁。
2. AD转换芯片-TLC7528TLC7528可以将收到的8位数字信号转换成相应的模拟输出,每次转换最高速率是0.1微秒,可以支持两路模拟量输出。
数模模数转换实验报告
一、实验目的
1、了解数模和模数转换电路的接口方法及相应程序设计方法。
2、了解数模和模数转换电路芯片的性能和工作时序。
二、实验条件
1、DOS操作系统平台
2、数模转换芯片DAC0832和模数转换器ADC0809芯片。
三、实验原理
1、数模转换:
(1)微机处理的数据都是数字信号,而实际的执行电路很多都是模拟的。
因此微机的处理结果又常常需要转换为模拟信号去驱动相应的执行单元,实现对被控对象的控制。
这种把数字量转换为模拟量的设备称为数模转换器(DAC),简称D/A。
(2)实验中所用的数模转换芯片是DAC0832,它是由输入寄存器、DAC 寄存器和D/A 转换器组成的CMOS 器件。
其特点是片内包含两个独立的8 位寄存器,因而具有二次缓冲功能,可以将被转换的数据预先存在DAC 寄存器中,同时又采集下一组数据,这就可以根据需要快速修改DAC0832 的输出。
2、模数转换:
(1)在工程实时控制中,经常要把检测到的连续变化的模拟信号,如温度、压力、速度等转换为离散的数字量,才能输入计算机进行处理。
实现模拟量到数字量转换的设备就是模数转换器(ADC),简称A/D。
(2)模数转换芯片的工作过程大体分为三个阶段:首先要启动模数转换过程。
其次,由于转换过程需要时间,不能立即得到结果,所以需要等待一段时间。
一般模数转换芯片会有一条专门的信号线表示转换是否结束。
微机可以将这条信号线作为中断请求信号,用中断的方式得到转换结束的消息,也可以对这条信号线进行查询,还可以采用固定延时进行等待(因为这类芯片转换时间是固定的,事先可以知道)。
最后,当判断转换已经结束的时候,微机就可以从模数转换芯片中读出转换结果。
(3)实验采用的是8 路8 位模数转换器ADC0809 芯片。
ADC0809 采用逐次比较的方式进行A/D 转换,其主要原理为:将一待转换的模拟信号与一个推测信号进行比较,根据推测信号是大于还是小于输入信号来决定增大还是减少该推测信号,以便向模拟输入逼近。
推测信号由D/A 转换器的输出获得,当推测信号与模拟信号相等时,向D/A 转换器输入的数字就是对应模拟信号的数字量。
ADC0809 的转换时间为64 个时钟周期(时钟频率500K 时为128S)。
分辨率为
8 位,转换精度为±LSB/2,单电源+5V 供电时输入模拟电压范围为04.98V。
四、实验内容
1、把DAC0832 的片选接偏移为10H 的地址,使用debug 命令来测试
DAC0832 的输出,通过设置不同的输出值,使用万用表测量Ua 和Ub 的模拟电压,检验DAC0832 的功能。
选取典型(最低、最高和半量程等)的二进制值进行检验,记录测得的结果。
实验结果记录如下:
2、ADC0809 功能检测:将实验箱的直流信号输出接到ADC0809 的IN-0 端
口,编程不断将模数转换的结果输出到屏幕上,设置一定的延时让数据每秒钟更新一次,以免屏幕更新太快无法读取数据。
实验代码如下:
STACK SEGMENT PARA STACK
DW 128H DUP(0)
STACK ENDS
CODE SEGMENT
ASSUME CS: CODE, SS:STACK
START:
MOV AX,CS
MOV DS,AX
RE:
MOV DX,0E498H
OUT DX,AL
CALL DELAY
PUSH AX
PUSH CX
IN AL,DX
MOV CL,4
SHR AL,CL
CALL DISP
POP CX
POP AX
IN AL,DX
CALL DISP
MOV DL,0DH
INT 21H
MOV DL,0AH
INT 21H
MOV AH,1
INT 16H
JNZ EXIT
JMP RE
EXIT:
MOV AH,4CH INT 21H
DELAY PROC NEAR
PUSH AX
PUSH CX
PUSH DX
MOV AH,86H
MOV CX,0FH
MOV DX,4240H
INT 15H
POP DX
POP CX
POP AX
RET
DELAY ENDP
DISP PROC NEAR
PUSH DX
AND AL,0FH
MOV DL,AL
CMP DL,9
JLE NUM
ADD DL,7 NUM:
ADD DL,30H
MOV AH,02H
INT 21H
POP DX
RET
DISP ENDP
CODE ENDS
END START
3、编写一个简单的电子琴程序,通过键盘输入17,控制扬声器的输出为C 调的do 到si。
按其它键程序退出。
实验代码如下:
STACK SEGMENT PARA STACK
DW 128H DUP(0)
STACK ENDS
DATA SEGMENT
SIN DB 080H,096H,0AEH,0C5H,0D8H,0E9H,0F5H,0FDH
DB 0FFH,0FDH,0F5H,0E9H,0D8H,0C5H,0AEH,096H
DB 080H,066H,04EH,038H,025H,015H,009H,004H
DB 000H,004H,009H,015H,025H,038H,04EH,066H
TIME DB 077H,06AH,05FH,059H,050H,047H,03FH
NUM DB (?)
DATA ENDS
CODE SEGMENT
ASSUME CS: CODE, DS: DATA, SS:STACK START:
MOV AX,DATA
MOV DS,AX
RE:
MOV AH,07H
INT 21H
SUB AL,31H
CMP AL,0
JL EXIT
CMP AL,6
JG EXIT
MOV NUM,AL
MOV CX, 60
LP:
MOV SI,0
LP1:
MOV AL,SIN[SI]
MOV DX,0E490H
OUT DX,AL
CALL DELAY
INC SI
CMP SI,20H
JL LP1
LOOP LP
JMP RE
EXIT:
MOV AH,4CH
INT 21H
DELAY PROC NEAR
PUSH AX
PUSH DX
PUSH DI
MOV AL,10H
MOV DX,0E483H
OUT DX,AL
MOV BL,NUM
AND BX,00FFH
MOV DI,BX
MOV AL,TIME[DI]
MOV DX,0E480H
OUT DX,AL RSRT:
MOV DX,0E488H
IN AL,DX
AND AL,01H
CMP AL,0
JZ RSRT
POP DI
POP DX
POP AX
RET
DELAY ENDP
CODE ENDS
END START
五、实验体会
1、掌握了数模和模数转换电路芯片的使用方法
掌握了数模和模数转换电路的接口方法及相应的程序设计方法
2、。