基于FPGA的AD转换

基于FPGA的AD转换
基于FPGA的AD转换

FPGA论坛https://www.360docs.net/doc/3212231505.html,

数据采集和控制系统是对生产过程或科学实验中各种物理量进行实时采集、测试和反馈控制的闭环系统。它在工业控制、军事电子设备、医学监护等许多领域发挥着重要作用。

数据采集和控制系统多种多样,但其基本工作过程相似:汇集被测控对象各种被测模拟量,把它们转换为数字信号,经过加工处理后,再转换成相应的模拟量,实现所需的控制。上述过程由数据采集控制器统一管理和调度。

.本设计要求用一片CPLD/FPGA、模数转换器ADC和数模转换器DAC 构成一个数据采集系统,并用CPLD/FPGA实现数据采集中对A/D转换、数据运算、D/A转换以及有关数据显示的控制。系统的组成框图如图所示,其功能如下:

(1)系统按一定速率采集输入电压UI∶经ADC0809转换为8位数字量DATA。

(2)输入数据与通过预置按键输入数据采集控制器内的标准数据相减,求得带极性位的差值±ΔU(数字量);差值之绝对值送至DAC0832转换为ΔU,它和特定的极性判别电路共同输出±ΔU。

(3)数据采集和处理均在数据采集系统控制器的管理下有序进行。工作速率由时钟信号CLK的速率决定。

如图数据采集系统组成框图

FPGA论坛https://www.360docs.net/doc/3212231505.html,

数模模数转换实验报告

数模模数转换实验报告 一、实验目的 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 的功能。选取典型(最低、最高和半量程等)的二进制值进行检验,记录测得的结果。实验结果记录如下:

实验一 D、A数模转换实验

实验一D/A数模转换实验 一、实验目的 1.掌握数模转换的基本原理。 2.熟悉12位D/A转换的方法。 二、实验仪器 1.EL-A T-II型计算机控制系统实验箱一台 2.PC计算机一台 三、实验内容 通过A/D&D/A卡完成12位D/A转换实验,在这里用双极性模拟量输出,数字量输入范围为:0~4096,模拟量输出范围为:-5V~+5V。转换公式如下:U0=Vref-2Vref(211K11+210K10+…20K0)/212 Vref=5.0V 例如:数字量=000110011001 则 K11=0,K10=0,K9=0,K8=1,K7=1,K6=0,K5=0,K4=1,K3=1,K2=0,K1=0,K0=1 模拟量U0=Vref-2Vref(211K11+210K10+…20K0)/212=4V 四、实验步骤 1.连接A/D、D/A卡的DA输出通道和AD采集通道。A/D、D/A卡的DA1的输出接A/D、D/A卡的AD1输入。检查无误后接通电源。 2.启动计算机,在桌面上双击图表[Computerctrl]或在计算机程序组中运行[Computerctrl]软件。 3.测试计算机与实验箱的通信是否正常,通信正常继续。如通信不正常查找原因使通信正常后才可以继续进行实验。 4.在实验课题下拉菜单中选择实验一[D/A模数转换实验],鼠标单击该选项弹出实验课题参数窗口。 5.在弹出的参数窗口中填入想要变换的数字量,点击变换,在下面的文字框内将算出变换后的模拟量。 6.点击运行,在显示窗口观测采集到的模拟量。并将测量结果填入下表:

五、实验报告 1.画出数字量与模拟量的对应曲线 2.计算出理论值,将其与实验结果比较,分析产生误差的原因。

单片机AD模数转换实验报告

一、实验目的和要求 1、掌握单片机与ADC0809的接口设计方法。 2、掌握Proteus软件与Keil软件的使用方法。 二、设计要求。 1、用Proteus软件画出电路原理图,在单片机的外部扩展片外三总线,并通过片外三总线与0809接口。 2、在0809的某一模拟量输入通道上接外部模拟量。 3、在单片机的外部扩展数码管显示器。 4、分别采用延时和查询的方法编写A/D转换程序。 5、启动A/D转换,将输入模拟量的转换结果在显示器上显示。 三、电路原理图。 图1、电路仿真图

四、实验程序流程框图和程序清单。 1、 查询法: ORG 0000H START: LJMP MAIN ORG 0100H MAIN: MOV SP, #2FH NT: MOV DPTR, #0FF78H MOVX @DPTR, A LOOP: JB P3.3, LOOP MOVX A, @DPTR MOV B, #51 DIV AB MOV R0, A MOV A, B MOV B, #5 DIV AB MOV R1, A MOV R2, B LCALL DIR SJMP NT DIR: MOV R7, #0 SJMP LOOP1 BH: MOV A, R1 MOV R2, A LOOP1: MOV DPTR, #WK MOV A, R7 MOVC A, @A+DPTR MOV P2, A MOV DPTR, #DK MOV A, R2 MOVC A, @A+DPTR MOV P1, A LCALL DELAY INC R7 CJNE R7, #2, BH MOV DPTR, #WK MOV A, R7 MOVC A, @A+DPTR MOV P2, A MOV DPTR, #DK MOV A, R0 MOVC A, @A+DPTR ANL A, #7FH MOV P1, A LCALL DELAY RET DELAY: MOV R5, #01H DL1: MOV R4, #8EH DL0: MOV R3, #02H DJNZ R3, $ DJNZ R4, DL0 DJNZ R5, DL1 RET WK: DB 10H DB 20H DB 40H DK: DB 0C0H,0F9H,0A4H,0B0H,99H,92H,82H,0F8H,80H,90H display 送百分位字符代码送位选信号延时1ms 送十分位字符代码送位选信号延时1ms 送个位及小数点字符代码 送位选信号延时1ms 熄灭第四位数码管 延时1ms 返回

数模转换原理及应用

数模(D/A)转换器及模数(A/D)转换器 一、实验目的 1.熟悉D / A转换器的基本工作原理。 2.掌握D / A转换集成芯片DAC0832的性能及其使用方法。 3.熟悉A / D转换器的工作原理。 4.掌握A / D转换集成芯片ADC0809的性能及其使用方法。 二、实验原理 1.数模(D / A)转换 所谓数模(D / A)转换,就是把数字量信号转换成模拟量信号,且输出电压与输入的数字量成一定的比例关系。图47为D / A 转换器的原理图,它是由恒流源(或恒压源)、模拟开关、以及数字量代码所控制的电阻网络、运放等组成的四位D/ A转换器。 四个开关S0 ~ S3由各位代码控制,若―S‖代码为1,则意味着接VREF ,代码―S‖= 0,则意味着接地。 由于运放的输出值为V0= -I∑?Rf ,而I∑为I0、I1、I2、I3的和,而I0 ~ I3的值分别为(―S‖代码全为1): I0 =,I1 =,I2 =,I3 = 若选 R0 =,R1 =,R2 =,R3 = 则I0 ==?20 ,I1 =?21 ,I2 =?22 ,I3 =?23 若开关S0 ~ S3不全合上,则―S‖代码有些为0,有些为1(设4位―S‖代码为D3D2DlD0),则I∑ =D3I3 + D2I2 + DlIl + D0I0 =(D3?23 + D2?22 + D1?21 + D0?20)= B? 所以,V0 = -Rf ? B,B为二进制数,即模拟电压输出正比于输入数字量B ,从而实现了数字量的转换。 随着集成技术的发展,中大规模的D / A转换集成块相继出现,它们将转换的电阻网络和受数码控制的电子开关都集成在同一芯片上,所以用起来很方便。目前,常用的芯片型号很多,有8位的、12位的转换器等,这里我们选用8位的D / A转换器DAC0832进行实验研究。 DAC0832是CMOS工艺,共20管引脚,其管脚排列如图48所示。

数模转换器和模数转换器实验报告

实验报告 课程名称微机原理与接口技术 实验项目实验五 数/模转换器和模/数转换器实验实验仪器 TPC-USB通用微机接口实验系统 系别计算机系 专业网络工程 班级/学号 学生 _ 实验日期 成绩_______________________ 指导教师王欣

实验五数/模转换器和模/数转换器实验 一、实验目的 1. 了解数/模转换器的基本原理,掌握DAC0832芯片的使用方法。 2. 了解模/数转换器的基本原理,掌握ADC0809的使用方法。 二.实验设备 1.PC微机系统一套 2.TPC-USB通用微机接口实验系统一套 三.实验要求 1.实验前要作好充分准备,包括程序框图、源程序清单、调试步骤、测试方法、对运行结果的分析等。 2.熟悉与实验有关的系统软件(如编辑程序、汇编程序、连接程序和调试程序等)使用方法。在程序调试过程中,有意识地了解并掌握TPC-USB通用微机接口实验系统的软硬件环境及使用,掌握程序的调试及运行的方法技巧。 3.实验前仔细阅读理解教材相关章节的相关容,实验时必须携带教材及实验讲义。 四.实验容及步骤 (一)数/模转换器实验 1.实验电路原理如图1,DAC0832采用单缓冲方式,具有单双极性输入端(图中的Ua、Ub),编程产生以下锯齿波(从Ua和Ub输出,用示波器观察) 图1 实验连接参考电路图之一 编程提示: 1. 8位D/A转换器DAC0832的口地址为290H,输入数据与输出电压的关系为:

(UREF表示参考电压,N表示数数据),这里的参考电压为PC机的+5V电源。 2. 产生锯齿波只须将输出到DAC0832的数据由0循环递增。 3. 参考流程图(见图2): 图2 实验参考流程图之一 (二)模/数转换器 1. 实验电路原理图如图3。将实验(一)的DAC的输出Ua,送入ADC0809通道1(IN1)。 图3 实验连接参考电路图之二 2. 编程采集IN1输入的电压,在屏幕上显示出转换后的数据(用16进制数)。编程提示: 1. ADC0809的IN0口地址为298H,IN1口地址为299H。 2. IN0单极性输入电压与转换后数字的关系为:

数模及模数转换器习题解答

数模及模数转换器习题 解答 Document number:NOCG-YUNOO-BUYTT-UU986-1986UT

自我检测题 1.就实质而言,D/A 转换器类似于译码器,A/D 转换器类似于编码器。 2.电压比较器相当于1位A/D 转换器。 3.A/D 转换的过程可分为 采样 、保持、量化、编码4个步骤。 4.就逐次逼近型和双积分型两种A/D 转换器而言, 双积分型 的抗干扰能力强, 逐次逼近型 的转换速度快。 5.A/D 6.8位D/A 1时,输出电压为,若输入数字量只有最高位为1时,则输出电压为 V 。 A . B .2.56 C . D .都不是 7.D/A 转换器的主要参数有 、转换精度和转换速度。 A .分辨率 B .输入电阻 C .输出电阻 D .参考电压 8.图所示R-2R 网络型D/A 转换器的转换公式为 。 V REF v O 图 A .∑=?- =3 3 REF o 2 2 i i i D V v B .∑=?- =3 4 REF o 2 232i i i D V v D .∑=?= 3 4 REF o 2 2i i i D V v 9.D/A 转换器可能存在哪几种转换误差试分析误差的特点及其产生误差的原因。 解:D/A 转换器的转换误差是一个综合性的静态性能指标,通常以偏移误差、增益误差、非线性误差等内容来描述转换误差。 偏移误差是指D/A 转换器输出模拟量的实际起始数值与理想起始数值之差。 增益误差是指实际转换特性曲线的斜率与理想特性曲线的斜率的偏差。 D/A 转换器实际的包络线与两端点间的直线比较仍可能存在误差,这种误差称为非线性误差。

单片机AD模数转换实验报告

单片机AD模数转换实验报告

一、实验目的和要求 1、掌握单片机与ADC0809的接口设计方法。 2、掌握Proteus软件与Keil软件的使用方法。 二、设计要求。 1、用Proteus软件画出电路原理图,在单片机的外部扩展片外三总线,并通过片外三总线与0809接口。 2、在0809的某一模拟量输入通道上接外部模拟量。 3、在单片机的外部扩展数码管显示器。 4、分别采用延时和查询的方法编写A/D 转换程序。 5、启动A/D转换,将输入模拟量的转换

结果在显示器上显示。 三、电路原理图。 图1、电路仿真图 四、实验程序流程框图和程序清单。 1、查询法: ORG 0000H START: LJMP MAIN ORG 0100H

MAIN: MOV SP, #2FH NT: MOV DPTR, #0FF78H MOVX @DPTR, A LOOP: JB P3.3, LOOP MOVX A, @DPTR MOV B, #51 DIV AB MOV R0, A MOV A, B MOV B, #5 DIV AB MOV R1, A MOV R2, B LCALL DIR SJMP NT DIR: MOV R7, #0 SJMP LOOP1 BH: MOV A, R1 MOV R2, A LOOP1: MOV DPTR, #WK MOV A, R7 MOVC A, @A+DPTR MOV P2, A MOV DPTR, #DK MOV A, R2 MOVC A, @A+DPTR MOV P1, A LCALL DELAY INC R7 CJNE R7, #2, BH MOV DPTR, #WK MOV A, R7 MOVC A, @A+DPTR MOV P2, A MOV DPTR, #DK MOV A, R0 MOVC A, @A+DPTR ANL A, #7FH MOV P1, A LCALL DELAY RET DELAY: M OV R5, #01H DL1: MOV R4, #8EH DL0: MOV R3, #02H DJNZ R3, $ DJNZ R4, DL0 DJNZ R5, DL1 RET WK: DB 10H DB 20H DB 40H DK: DB 0C0H,0F9H,0A4H,0B0H,99H,92H,82H,0F8H,80H,90H END display 送百分位字符代码送位选信号延时1ms 送十分位字符代码送位选信号延时1ms 送个位及小数点字符代码送位选信号延时1ms 熄灭第四位数码管延时1ms 返回

基于51单片机的模数转换(AD)实验设计

HEFEI UNIVERSITY 单片机课程综述报告 主题基于51单片机的模数转换(A/D)实验设计姓名郭丽丽 专业通信工程 学号 1105021006 班级 11级通信(1)班 指导老师汪济洲 2014 年 6 月 2 日

目录 1.实验目的与要求 (1) 1.1实验目的 (1) 1.2实验要求 (1) 2.实验原理 (1) 2.1电路原理图 (1) 2.2 Proteus7.4 软件简介 (2) 3、实验步骤 (6) 4、源程序代码 (6) 5. 实验结果分析 (10) 6.总结 (10)

1.实验目的与要求 1.1实验目的 1.掌握A/D转换与单片机的接口方法 2.了解A/D芯片ADC0809转换性能及编程方法 3.通过实验了解单片机如何进行数据采集 1.2实验要求 1.采用查询法或中断法编程进行A/D采集; 2.采集0~5V范围的电压信号(以电位器模拟被测信号),使用4位串行数码管显示0~5V数值,小数点保留三位,实现简易电压表功能。 2.实验原理 2.1电路原理图 熟悉8051的输入输出端口的使用方法, 本实验的电路连接如图1所示。 图1 连接电路

2.2 Proteus7.4 软件简介 Proteus是英国Labcenter公司开发的电路分析与实物仿真软件。它运行于Windows操作系统上,可以仿真、分析(SPICE)各种模拟器件和集成电路,该软件的特点是: ①实现了单片机仿真和SPICE电路仿真相结合。具有模拟电路仿真、数字电路仿真、单片机及其外围电路组成的系统的仿真、RS232动态仿真、I2C调试器、SPI调试器、键盘和LCD系统仿真的功能;有各种虚拟仪器,如示波器、逻辑分析仪、信号发生器等。 ②支持主流单片机系统的仿真。目前支持的单片机类型有:ARM7(LPC21xx)、8051/52系列、AVR系列、PIC10/12/16/18系列、HC11系列以及多种外围芯片。 ③提供软件调试功能。在硬件仿真系统中具有全速、单步、设置断点等调试功能,同时可以观察各个变量、寄存器等的当前状态,因此在该软件仿真系统中,也必须具有这些功能;同时支持第三方的软件编译和调试环境,如Keil C51 uVision2、MPLAB等软件。 ④具有强大的原理图绘制功能。总之,该软件是一款集单片机和SPICE分析于一身的仿真软件,功能极其强大。 其操作界面如下图所示: 图2 Proteus操作页面

实验十——数模转换器

武汉大学物理科学与技术学院 物理实验报告 物理科学与技术学院 物理学基地2班专业 2013年12月12日 实验名称:实验十——数/模转换器 姓名:吕品磊 年级:2011 学号:2011301020033 成绩: 一、 实验目的: 1、了解数/模转换器的基本原理; 2、掌握DAC0832芯片的使用方法。 二、 实验内容 1、实验电路原理如图10.1,DAC0832采用单缓冲方式,具有单双极性输入 端(图中的Ua、Ub),利用debug输出命令(Out 290 数据)输出数据给DAC0832,用万用表测量单极性输出端Ua及双极性输出端Ub的电压,验证数字与电压之间的线性关系。 2、编程产生以下波形(从Ub输出,用示波器观察) (1)锯齿波 (2)正弦波 图 10.1

三、 流程图 四、 原程序 DATA S EGMENT DATA E NDS CODE S EGMENT ASSUME C S: C ODE, D S: D ATA START: MOV A X, D ATA MOV D S, A X AGAIN: MOV C L, 0 ;初始化锯齿波 MOV B L,0 ;初始化锯齿波数量 INC B L A1: MOV A L, C L MOV D X, 0C810H ;DAC0832控制端口 OUT D X, A L ;输出控制端口

INC C L ;波形上升 CMP B L, 0FH ;确定锯齿波数量(此处的OFH) JZ E NND CMP C L, 200 ;确定锯齿波高度(此处的200,可以更改) JZ A GAIN ENND: MOV A H, 1 ;输入回显 INT 16H JZ A1 MOV A H, 4CH ;返回DOS INT 21H CODE E NDS END S TART 五、 实验分析: 1、此次实验程序较为简单,在通过debug进行调试的时候,发现随着CL 的增加波形会不断上升,通过到达一个特定值,重置CL,做到实现锯 齿波的原理。 2、同样的道理,在实验二中要求做出一个正弦波只要根据正弦函数建一 个下弦数字量表,按照特定的取值就可以画出相应的波形。其他的函 数波形也可以采用同样的方式进行处理。

模 数(A D)转换器(微机实验报告)

模/数(A/D)转换器 一、实验目的 1、掌握ADC0809模数转换芯片与计算机的连接方法; 2、了解ADC0809芯片的功能及编程方法; 3、了解计算机如何进行数据采集。 二、实验设备 1、PC机一台 2、TPC-H微机接口实验系统实验箱一台 3、连接导线若干 三、实验内容 1、实验电路原理图如图1。 ADC0809是8位A/ D转换器,每采集一次一般需100 s。由于ADC0809 A/ D转换器转换结束后会自动产生EOC信号(高电平有效)。通过实验台左下角电位器RW1输出0~5V直流电压送入ADC0809通道0(IN0),利用debug的输出命令启动A/D转换器,输入命令读取转换结果,验证输入电压与转换后数字的关系。启动IN0开始转换: O 298, 0 读取转换结果: I 298 图1 模数转换电路 2、编程采集IN0输入的电压,在屏幕上显示出转换后的数据(用16进制数)。 3、将JP3的1、2短接,使IN1处于双极性工作方式,并给IN1输入一个低频交流信号(幅度为±5V),编程采集这个信号数据并在屏幕上显示波形。 四、编程提示

1、ADC0809的IN0口地址为298H,IN1口地址为299H。 2、IN0单极性输入电压与转换后数字的关系为: 其中Ui为输入电压,UREF为参考电压,这里的参考电压为PC机的+5V电源。 3、一次A/D转换的程序可以为 MOV DX,口地址 OUT DX,AL ;启动转换 ;延时 IN AL,DX ;读取转换结果放在AL 五、参考流程图 图2 流程图1

图3 流程图2 六、实验源程序 code segment assume cs:code start: mov dx,298h ;启动A/D转换器 out dx,al mov cx,0ffh ;延迟 delay: loop delay in al,dx ;从A/D转换器输入数据 mov bl,al ;将Al保存到BL mov cl,4 shr al,cl ;将AL右移四位 call disp ;将显示子程序显示其高四位 mov al,bl

模数转换实验报告

单片机控制ADC0809的模数转换与显示 一、实验内容和要求 本题目对单片机控制ADC0809(Proteus的元件库中没有ADC0809,用ADC0808来代替)的通道3的电压模拟量进行模数转换,转换为数字量后,显示在3位数码管上。调节图中的电位器,可观察到数码管显示的电压值在变化。 二、实验主要仪器设备和材料 计算机一台 三、实验方法、步骤及结果测试 所有操作都在ISIS中进行,步骤如下。 (一)、Proteus电路设计 1.从Proteus库中选取元器件 (1)AT89C51:单片机; (2)RES:电阻; (3)7SEG-MAPX4-CC-BLUE (4)CAP、CAP-ELEC:电容、电解电容 (5)CRYSTAL:晶振; (6)BUTTON:开关 (7)BUTTON (8)ADC0808 (9)POT-HG (10)LED-YELLOW (11)MAX7219 (12)RESONATOR 2.放置元器件、放置电源和地、连线、元器件属性设置、电气检测 所有操作都在ISIS中进行 完成的电路图设计如图

(二)、源程序设计 1、流程图 2、通过Keil u Vision4建立工程,再建立源程序文件

源程序如下 主机程序: LED_0 EQU 30H LED_1 EQU 31H LED_2 EQU 32H ADC EQU 35H CLOCK BIT P2.4 ST BIT P2.5 EOC BIT P2.6 OE BIT P2.7 ORG 00H SJMP START ORG 0BH LJMP INT_T0 START: MOV LED_0, #00H MOV P2,#0FFH MOV LED_1,#00H MOV LED_2,#00H MOV DPTR,#TABLE MOV TMOD,#02H ;设置定时器工作方式2 MOV TH0,#245 MOV TL0,#00H MOV IE,#82H ;开总中断和定时器0中断 SETB TR0 ;启动定时器0 WAIT: CLR ST SETB ST CLR ST JNB EOC,$ ;判断A/D转换结束否 SETB OE ;允许数据量输出 MOV ADC,P3 CLR OE MOV A,ADC MOV B,#51 DIV AB MOV LED_2, A MOV A,B MOV B,#5 DIV AB MOV LED_1, A MOV LED_0, B LCALL DISP ;跳至显示子程序 SJMP WAIT

实验十ADC0832数模转换的显示

实验报告十 实验名称:ADC0832数模转换的显示 目的:ADC0832是8脚双列直插式双通道A/D转换器,能分别对两路模拟信号实现模—数转换,可以用在单端输入方式和差分方式下工作。ADC0832采用串行通信方式,通过DI 数据输入端进行通道选择、数据采集及数据传送。8位的分辨率(最高分辨可达256级),可以适应一般的模拟量转换要求。其内部电源输入与参考电压的复用,使得芯片的模拟电压输入在0~5V之间。具有双数据输出可作为数据校验,以减少数据误差,转换速度快且稳定性能强。独立的芯片使能输入,使多器件挂接和处理器控制变的更加方便。 ADC0832的工作原理: 正常情况下ADC0832 与单片机的接口应为4条数据线,分别是CS、CLK、DO、DI。但由于DO端与DI端在通信时并未同时使用并与单片机的接口是双向的,所以在I/O口资源紧张时可以将DO和DI并联在一根数据线上使用。当ADC0832未工作时其CS输入端应为高电平,此时芯片禁用,CLK 和DO/DI 的电平可任意。当要进行A/D转换时,须先将CS使能端置于低电平并且保持低电平直到转换完全结束。此时芯片开始转换工作,同时由处理器向芯片时钟(CLK)输入端输入时钟脉冲,DO/DI端则使用DI端输入通道功能选择的数据信号。在第一个时钟脉冲的下沉之前DI端必须是高电平,表示启始信号。在第二、三个脉冲下沉之前DI端应输入两位数据用于选择通道功能。 通道地址通道 工作方式说明 SGL/DIF ODD/SIGN 0 1 0 0 + - 差分方式 0 1 - + 1 0 + 单端输入方式 1 1 + 表1:通道地址设置表 如表1所示,当此两位数据为“1”、“0”时,只对CH0 进行单通道转换。当2位数据为“1”、“1”时,只对CH1进行单通道转换。当两位数据为“0”、“0”时,将CH0作为正输入端IN+,CH1作为负输入端IN-进行输入。当两位数据为“0”、“1”时,将CH0作为负输入端IN-,CH1 作为正输入端IN+进行输入。到第三个脉冲的下降之后DI端的输入电平就失去输入作用,此后DO/DI端则开始利用数据输出DO进行转换数据的读取。从第4个脉冲下降沿开始由DO端输出转换数据最高位Data7,随后每一个脉冲的下降沿DO端输出下一位数据。直到第11个脉冲时发出最低位数据Data0,一个字节的数据输出完成。也正是从此位开始输出下一个相反字节的数据,即从第11个字节的下降沿输出Data0。随后输出8位数据,到第19 个脉冲时数据输出完成,也标志着一次A/D 转换的结束。最后将CS置高电平禁用芯片,直接将转换后的数据进行处理就可以了。时序说明请参照图4。

单片机DA数模转换实验报告

一、实验目的和要求 1、掌握单片机与DAC0832的接口设计方法。 2、掌握Proteus软件与Keil软件的使用方法。 二、设计要求。 1、用Proteus软件画出电路原理图,在单片机的外部扩展片外三总线,并通过片外三总线与0832接口。 2、在单片机的外部扩展一个4个按键的键盘。 3、按下K0,产生连续方波信号。 4、按下K1,产生连续锯齿波信号。 5、按下K2,产生连续三角波信号。 6、按下K3,产生连续正弦波信号。 7、通过外接示波器观察波形。 三、电路原理图。 图1、电路仿真图

四、实验程序流程框图和程序清单。 ORG 0000H START: LJMP MAIN ORG 0100H MAIN: MOV SP, #60H LOOP: LCALL KEY JB 20H.0, JUCHIBO JB 20H.1, JUXINGBO JB 20H.2, SANJIAOBO JB 20H.3, ZHENGXIAN JB 20H.4, TIXINGBO LJMP LOOP JUCHIBO: MOV R2, #00H LOOP1: MOV DPTR, #0000H MOV A , R2 MOVX @DPTR, A LCALL KEY JB 20H.0, JUCHIBO JB 20H.1, JUXINGBO JB 20H.2, SANJIAOBO JB 20H.3, ZHENGXIAN JB 20H.4, TIXINGBO INC R2 LJMP LOOP1 JUXINGBO: MOV DPTR , #0000H LOOP2: MOV R3, #0FFH MOV A, R3 MOVX @DPTR, A LCALL DELAY1ms LCALL KEY JB 20H.0, JUCHIBO JB 20H.1, JUXINGBO JB 20H.2, SANJIAOBO JB 20H.3, ZHENGXIAN JB 20H.4, TIXINGBO MOV R3, #00H MOV A, R3 MOVX @DPTR, A LCALL DELAY1ms LCALL KEY JB 20H.0, JUCHIBO JB 20H.1, JUXINGBO JB 20H.2, SANJIAOBO JB 20H.3, ZHENGXIAN JB 20H.4, TIXINGBO LJMP LOOP2 SANJIAOBO:MOV R2, #00H MOV DPTR, #0000H LOOP3: MOV A, R2 NOP NOP MOVX @DPTR, A INC R2 LCALL KEY JB 20H.0, JUCHIBO JB 20H.1, JUXINGBO JB 20H.2, SANJIAOBO

单片机AD模数转换实验报告

、实验目的和要求 1掌握单片机与 ADC0809的接口设计方法 2、掌握Proteus 软件与Keil 软件的使用方法 二、设计要求。 1、 用Proteus 软件画出电路原理图, 在单片机的外部扩展片外三总线, 总线 与0809接口。 2、 在0809的某一模拟量输入通道上接外部模拟量。 3、 在单片机的外部扩展数码管显示器。 4、 分别采用延时和查询的方法编写 A/D 转换程序。 5、 启动A/D 转换,将输入模拟量的转换结果在显示器上显示。 三、电路原理图。 图1、电路仿真图 并通过片外三 n Frr inn LB LL ir~ 才 TT 2ira : 2.1边 存 10 丄 Wil 乙*TH zan.13 2.irxis Z5TS.13 2.1rt19 ricrra 1 2 1c 1 c 儿IE" jjm 3 ATI 「u rip. XTAGl; PEL. ■ .L^c

ORG 0000H START: LJMP MAIN ORG 0100H MAIN: MOV SP, #2FH NT: MOV DPTR, #0FF78H MOVX @DPTR, A LOOP: JB P3.3, LOOP MOVX A, @DPTR MOV B, #51 DIV AB MOV R0, A MOV A, B MOV B, #5 DIV AB MOV R1, A MOV R2, B LCALL DIR SJMP NT DIR: MOV R7, #0 SJMP LOOP1 BH: MOV A, R1 MOV R2, A LOOP1: MOV DPTR, #WK MOV A, R7 MOVC A, @A+DPTR MOV P2, A MOV DPTR, #DK MOV A, R2 MOVC A, @A+DPTR MOV P1, A LCALL DELAY INC R7 CJNE R7, #2, MOV DPTR, #WK MOV A, R7 MOVC A, @A+DPTR MOV P2, A MOV DPTR, #DK MOV A, R0 MOVC A, @A+DPTR ANL A, #7FH MOV P1, A LCALL RET DELAY DELAY: MOV R5, #01H DL1: MOV R4, #8EH DL0: MOV R3, #02H DJNZ R3, $ DJNZ R4, DL0 DJNZ RET R5, DL1 WK: DB 10H DB 20H DB 40H DK: DB 0C0H,0F9 H,0A4H,0B0 1、 BH 四、实验程序流程框图和程序清单。 查询法: 屈刎D 判断P :L 3 4 从ND 中取数抑 数据处理 调显示了函数 display 丁 送百分位字符代码 送位选信号 延时1ms 送十分位字符代码 送位选信号 延时1ms 送个位及小数点字符代码 送位选信号 延时1ms 熄灭第四位数码管 延时1ms 返回

DAC0832数模转换技术实验

实验三DAC0832数/模转换技术实验 一实验目的 ①掌握DAC0832与MSC-51单片机的接口方法。 ②掌握D/A转换程序的设计方法。 二实验器材 1.实验仪一台;2. 编程器一台;3.小镊子一把; 4.示波器一台; 5.电脑一台 三实验原理 D/A转换器的功能主要是将输入的数字量信号转换成模拟量,在语音合成等方面得到了广泛的应用。本实验中采用的D/A转换器为DAC0832,该芯片为电流输出型8位D/A转换器,输入有两级缓冲锁存器,因此,可以同时输出多路模拟量。本实验中采用单级缓冲连接方式,用DAC0832来产锯齿波,具体线路如图20所示。(图中省去了复位电路、时钟电路、地址锁存器等电路) 四跳线设置 如程序存放在AT89S51中,AT89S51的/EA(引脚31)必须接高电平,实验时需短路J13的1和2引脚,否则;必须短路J13的2和3引脚;

五实验内容与要求 编制程序使图中运放LM741输出幅度为3V的方或矩形波。 六实验源程序 CS0832 EQU 0FF9FH ORG 0000H MAIN: MOV DPTR,#CS0832 MOV A,#10 LP: MOVX @DPTR,A ACALL DLY MOV A,#163 MOVX @DPTR,A ACALL DLY MOV A,#10 SJMP LP DLY: MOV R7,#125 DLY1:DJNZ R7,DLY1 RET END 七实验总结 这个DACO823数/模转换技术实验相对之前的两个实验难度大多了。我肯定我是学得不怎么好的,再加上这样的难度,对我们组来说真的挺大的挑战,跟同学讨论这个就肯定要的了。编制程序使图中运放LM741输出幅度为3V的方或矩形波。这个实验的过程经过了很多次的失败,原本认为是成功的了,叫老师来检查之后才知道还是错误的。

数模及模数转换器习题解答

. . . . 自我检测题 1.就实质而言,D/A转换器类似于译码器,A/D转换器类似于编码器。 2.电压比较器相当于1位A/D转换器。 3.A/D转换的过程可分为采样、保持、量化、编码4个步骤。 4.就逐次逼近型和双积分型两种A/D转换器而言,双积分型的抗干扰能力强,逐次逼近型的转换速度快。 5.A/D 6.8位D/A1时,输出电压为0.02V,若输入数字量只有最高位为1时,则输出电压为V。 A.0.039 B.2.56 C.1.27 D.都不是 7.D/A转换器的主要参数有、转换精度和转换速度。 A.分辨率B.输入电阻C.输出电阻D.参考电压 8.图T7.8所示R-2R网络型D/A转换器的转换公式为。 V REF v O 图T7.8 A.∑ = ? - = 3 3 REF o 2 2i i i D V v B.∑ = ? - = 3 4 REF o 2 2 3 2 i i i D V v D.∑ = ? = 3 4 REF o 2 2i i i D V v 9.D/A转换器可能存在哪几种转换误差?试分析误差的特点及其产生误差的原因。 解:D/A转换器的转换误差是一个综合性的静态性能指标,通常以偏移误差、增益误差、非线性误差等内容来描述转换误差。 偏移误差是指D/A转换器输出模拟量的实际起始数值与理想起始数值之差。 增益误差是指实际转换特性曲线的斜率与理想特性曲线的斜率的偏差。 D/A转换器实际的包络线与两端点间的直线比较仍可能存在误差,这种误差称为非线性误差。 10.比较权电阻型、R-2R网络型、权电流型等D/A转换器的特点,结合制造工艺、转换的精度和转换的速度等方面比较。

微型计算机AD转换实验报告

实验一 A/D与D/A 转换 一.实验目的 1.通过实验,熟悉并掌握实验系统原理与使用方法。 2.通过实验掌握模拟量通道中模数转换与数模转换的实现方法。 二.实验内容 1.利用实验系统完成测试信号的产生 2.测取模数转换的量化特性,并对其量化精度进行分析。 3.设计并完成两通道模数转换与数模转换实验。 三.实验步骤 1.了解并熟悉实验设备,掌握以C8051F060为核心的数据处理系统的模拟量通道设计方法,熟悉上位机的用户界面,学习其使用方法; 2.利用实验设备产生0~5V的斜坡信号,输入到一路模拟量输入通道,在上位机软件的界面上测取该模拟量输入通道当A/D转换数为4位时的模数转换量化特性; 3.利用实验箱设计并连接产生两路互为倒相的周期斜坡信号的电路,分别输入两路模拟量输入通道,在上位机界面的界面上测取它们的模数转换结果,然后将该转换结果的数字量,通过数模转换变为模拟量和输入信号作比较; 4.编写程序实现各种典型测试信号的产生,熟悉并掌握程序设计方法; 5.对实验结果进行分析,并完成实验报告。 四.附录 1.C8051F060概述 C8051F060是一个高性能数据采集芯片。芯片内集成了: (1)与8051兼容的内核:额定工作频率25MHz,流水线指令结构,70%的指令的执行时间为一个或两个系统时钟周期。5个通用16位定时器∕计数器,59条可编程的I/O线,22个中断源(2个优先级)。 (2)模拟I/O:C8051F060的ADC子系统包括两个1Msps、16 位分辨率的逐次逼近寄存器型ADC,ADC 中集成了跟踪保持电路、可编程窗口检测器和DMA 接口;两个12位电压输出DAC转换器,用于产生无抖动的波形。内部电压基准,精确的VDD监视器和欠压监测器。 (3)存贮器:64KB片内闪速/电擦除程序存贮器(EEPROM),4KB片内数据存贮器(SRAM)。 (4)片内其它外围:2个UART串行I/O,SPI串行I/O,专用的看门狗定时器,电源监视器,温度传感器,内部可编程振荡器3~24.5MHz或外接震荡器。 (5)供电电压:2.7V – 3.6V,多中节电和停机方式。 2.实验设备中的模拟量输入通道 (1)主要功能:允许-10V~+10V信号输入,而至C8051F060引脚ADC的信号则被

南昌大学计算机控制实验报告数/模转换实验汇编

南昌大学实验报告 学生姓名:学号:专业班级: 实验类型:■验证□综合□设计□创新实验日期:实验成绩: 实验一数/模转换实验 一.实验要求 掌握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

数模转换中),可 以测量到连续的 周期性三角波。 通过实验结果的图片,我们可以知道得出来的三角波的幅值为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进行数模转换把数字量转换为模拟量并以三角波形式输出。还知道实践和理论是有一定差距的

数模转换ADC0832实验

微机原理与接口 实验报告 实验名称:数模转换ADC0832实验 班级: 学号: 姓名: 指导老师: 实验报告要求 一.实验目的 1.掌握DAC0832接口电路与微机的硬件电路连接方法。 2.掌握DAC0832接口电路的程序设计和调试方法。 二.实验仪器 1.微型计算机一台。 2.DVCC-5286JH型微机原理与接口实验系统,排线、导线若干。 3.示波器

三.实验原理 1、实验要求 本实验要求在OUT端输出方波信号,方波信号的周期由延时时间常数确定。根据Vout = -〔VREF×(输入数字量的十进制数)〕/256,当数字量的十进制数为256(FFH)时,由于VREF =-5V,Vout = +5V。当数字量的十进制数为0(00H) 时,由于VREF = - 5V,Vout = 0V。因此,只要你将上述数字量写入DAC0832端口地址时,模拟电压就从OUT 端输出。 2、实验电路原理及连接 VCC 0832 3、实验程序流程图

三.实验源程序 CODE SEGMENT ASSUME CS:CODE DAPORT E QU 0020H ORG 10a0h START: MOV AL,0FFH DACON1: MOV DX,DAPORT OUT DX,AL MOV CX,0400H

DACO2: LOOP DACO2 NOT AL JMP DACON1 CODE ENDS END START CODE SEGMENT ASSUME CS:CODE DAPORT E QU 0020H ORG 10b0H START: JMP DACONTORL DACONTORL:MOV DX,DAPORT MOV AL,00H DACON1: OUT DX,AL INC AL MOV CX,08H DACON2: LOOP DACON2 JMP DACON1 CODE ENDS END START 四.实验结果分析

相关文档
最新文档