EDA实验报告:实验六 用状态机实现ADC0809的采样电路设计(1)
8位数模转换器ADC0809实验报告

8位数模转换器ADC0809实验报告实验目的:本实验旨在通过使用8位数模转换器ADC0809来将模拟信号转换为数字信号,并输出至LED灯中,以达到理解数字信号的目的。
实验原理:ADC0809是典型的8位数模转换器,它是一种具有8个模拟输入通道的典型ADC。
ADC0809是一种串行转换器,它可以实现单端和差分两种模式的转换。
ADC0809的转换精度为8比特,转换速率为100厘秒。
ADC0809通过8个输入通道将模拟信号转换为数字信号,并通过8个数据引脚输出数字信号。
实验器材:电脑、ADC0809、LED灯、电阻、电容、按键开关、电源、实验板。
实验步骤:1.将ADC0809插入实验板上。
2.将电阻连接至ADC0809的引脚,以使引脚与电阻的连接具有正确的阻值。
3.将电容插入ADC0809的引脚,并连接至电源。
4.将按键开关插入ADC0809的引脚,并连接至电源。
5.将LED灯连接至ADC0809的引脚,并连接至电源。
6.将实验板接入电源,启动电路。
7.按下按键开关,开始信号转换。
8.数字信号转换完成后,将数字信号输出至LED灯中。
实验结果:本实验成功地将模拟信号转换为数字信号,并将数字信号输出至LED灯中,达到了理解数字信号的目的。
结论:通过本实验,我们可以了解数字信号的基本原理和用途。
通过使用ADC0809将模拟信号转换为数字信号,并输出至LED灯中,我们可以更好地理解数字信号的应用和意义。
同时,该实验也为我们打下了更深入学习数字电路和信号处理技术的基础。
ADC8090数据采集与显示实验

MOV A,#00H
MOVX @DPTR,A
MOV DPTR,#0A000H
MOVX A,@DPTR
ANL A,#0FH
ORL A,#0F0H
CPL A
RET DELAY: MOV X2,#24
;延时子程序
D1: MOV X1,#250
D2: DJNZ X1,D2
DJNZ X2,D1
RET
END
INC R1
MOV @R1,#09H ;"9" INC R1
MOV @R1,#11H
INC R1
MOV @R1,#0C1H
INC R1 MOV @R1,#63H
INC R1
MOV @R1,#85H
INC R1
MOV @R1,#61H INC R1
MOV @R1,#71H INC R1 MOV @R1,#0FFH KEY1: LCALL KS1 JNZ LK1 AJMP KEY1 LK1: LCALL DELAY LCALL KS1 JNZ LK2 AJMP KEY1 LK2: MOV A,#0FEH LK3: MOV X3,A MOV DPTR,#6000H MOVX @DPTR,A MOV DPTR,#0A000H MOVX A,@DPTR ORL A,#0F0H CPL A JNZ L0 MOV A,X3 CJNE A,#0F7H,L5 K5: LCALL DELAY LCALL KS1 JNZ K5 LJMP KEY1 L5: RL A LJMP LK3 L0: CJNE A,#01H,L1 MOV X4,#00H L1: CJNE A,#02H,L2 MOV X4,#01H L2: CJNE A,#04H,L3 MOV X4,#02H L3: CJNE A,#08H,L4 MOV X4,#03H L4: MOV A,X3 CPL A CJNE A,#01H,K1 MOV R5,#00H K1: CJNE A,#02H,K2 MOV R5,#04H K2: CJNE A,#04H,K3 MOV R5,#08H K3: CJNE A,#08H,K4MOV R5,#0来自HK4: MOV A,R5
ADC0809的采样控制电路的实现

ADC0809的采样控制电路的实现采样控制电路的实现主要包括时钟发生器、模拟多路选通器、时序控制逻辑、参考电压电路以及数据存储器等模块。
首先,时钟发生器是采样控制电路的基础。
它可以产生稳定的时钟信号,用于控制ADC0809的工作时序。
时钟发生器一般采用晶体振荡器或基于RC网络的振荡电路来产生时钟信号。
其次,模拟多路选通器用于选择待采样的信号源。
ADC0809拥有8个模拟输入通道,因此需要一个模拟多路选通器来选择信号源。
多路选通器可以实现将多个信号源连接到ADC的输入端,根据控制信号来切换输入信号。
然后,时序控制逻辑用于控制ADC0809的工作时序。
ADC0809的工作需要依照一定的时序来执行采样、转换和输出等操作。
时序控制逻辑可以根据采样控制信号来控制ADC0809的各个工作阶段,确保工作按照预期的时序进行。
接着,参考电压电路提供参考电压给ADC0809、ADC0809需要一个稳定的参考电压作为模拟输入信号的基准。
参考电压可以通过使用稳压二极管、电压调节器或者外部提供的稳定电压源来实现。
最后,数据存储器用于存储ADC0809转换后的数字输出结果。
ADC0809转换后的数字输出需要被及时读取和储存。
数据存储器一般采用寄存器、存储芯片或者存储器件来实现,以便后续对采样数据的处理和分析。
综上所述,ADC0809的采样控制电路可以通过时钟发生器、模拟多路选通器、时序控制逻辑、参考电压电路和数据存储器等模块实现。
这些模块的协同工作可以确保ADC0809按照预期的时序进行采样和转换,并将转换结果及时储存,以供后续处理和分析。
这样的采样控制电路可以广泛应用于各种需要模数转换的电路和系统中。
实验六 ADC0809AD转换实验

实验六 ADC0809AD转换实验一、实验目的1、掌握ADC0809AD芯片的工作原理和使用方法。
2、掌握如何使用51单片机配合ADC0809AD芯片实现模拟量转换。
二、实验原理ADC0809AD是一种8位分辨率、并行输出、单通道,3MHz 工作速率的A/D转换器。
ADC 有两个输入电压端子,IN+和IN-,它们之间加入了一个内部参考电压源(RE),所以在输入模拟信号时常在IN+端连接信号输入,而IN-端接地。
当选用RE = +2.5 V时,IN+的输入范围约为0-VREF,在本实验中选用的是RE = +5 V,所以IN+的输入范围约为0-5V。
当外部触发信号TRIGGER开启后,ADC执行转换操作。
在转换时,电压采样保持时间通常为 100 ns,最长转换时间为 200 us,当转换结束时,ADC将数字输出置在低电平并发出一个中断请求(INTR)信号。
转换结果可以通过 8个输出线路(DB0-DB7)获得。
三、实验器材2、*1 9针座(1x9 Pin Socket)。
3、*1 51单片机学习板。
4、*1 电阻10KΩ。
5、*1 电压源。
6、*1 面包板。
7、*5 条杜邦线。
四、实验步骤1、根据下表将ADC0809AD芯片插入到面包板中。
ADC0809AD引脚码ADC0809AD引脚名称功能1 A0- A/D输入(低、多路)引脚17 AGND 模拟地18 VREF/2 参考电压输出19 VCC 数字电源2、将9脚座插入面包板的横向边缘上。
3、使用杜邦线将ADC0809AD转换器连接到学习板上,并根据原理部分对芯片引脚进行接线。
4、将一个10KΩ的电阻连接到ADC0809AD芯片的IN+引脚和GND之间。
6、使用杜邦线将ADC0809AD芯片的DB0-DB7引脚连接到学习板的P0.0-P0.7引脚上。
7、将学习板的P0.0-P0.7引脚转为输出模式。
五、实验代码#include <reg52.h>// SFR位定义sfr ADC_CONTR = 0xBC; // ADC控制寄存器sfr ADC_RES = 0xBD; // ADC结果寄存器sfr ADC_RESL = 0xBE; // ADC结果低字节寄存器sfr P0 = 0x80; // P0口// 公用函数void delay(int time) // 延时函数{int i, j;for (i = 0; i < time; i++) {for (j = 0; j < 125; j++);}}while (1) {ADC_CONTR |= 0x08; // 开始转换while (!(ADC_CONTR & 0x10)); // 等待转换结束P0 = ADC_RES; // 将结果输出到P0口delay(1000); // 延时1000ms}}根据程序分析,程序采用了循环语句控制ADC的转换、输出,程序中实现的是ADC的一次转换。
实验六 ADC0809转换实验

8位A/D转换实验1.实验目的了解A/D转换器ADC0809的基本性能;掌握A D C0809转换芯片的使用及与C P U接口方法。
学习A/D转换程序设计方法。
通过实训了解单片机的数据采集过程。
2.实验原理及内容用一片ADC0809和必要的外围器件与A T89C51进行接口连接,设计一个简易数字电压表,要求能对IN0所输入的模拟电压进行识别,将其转换成相应的二进制数并以发光二极管的形式显示;用万用表测量IN0输入的模拟电压值,并与转换结果进行对比,计算测量误差。
八路8位A/D实验电路由一片A D C0809,一片74L S02,一片74L S373组成。
A D C0809转换器引脚排布如图1所示。
图1A D C0809转换器引脚A D C0809转换芯片内部结构如图2所示。
图2A D C0809转换芯片内部结构A D C0809是一种能将8路模拟信号转换成8位数字量的A/D转换器,它采用逐次逼近法进行转换。
8路模拟开关由3位地址码经译码进行选通。
3位地址码在0809内部可锁存。
其输出的8位数字也可锁存。
控制信号及引脚功能:I N0~I N7:8个模拟输入量0~5V。
S T R A T:启动A/D转换信号,高电平有效,启动0809开始转换。
E O C:转换结束信号,A/D转换结束,发一正脉冲,此信号可用作A/D转换结束的检测信号或中断请求信号。
O E: 输出允许信号,此信号被选中时(当O E为高电平时),允许从A/D锁存器中读取数字量,高电平有效,一般由C P U发来的(C S)和读信号(R D)联合产生O E信号。
当O E为低电平时,D0~D7对外呈高阻抗。
C L K: 转换时钟,A/D转换需要时钟信号。
A L E:地址锁存允许信号,这个信号是外部加到0809上的信号,高电平有效,它的作用是把外部加来的选择模拟开关的地址码锁存到0809的地址锁存器内,A L E与外加地址码决定选哪个模拟输入通道。
ADC0809的采样控制电路的实现

附表1:广州大学学生实验报告开课学院及实验室:物理与电子工程学院-电子楼317室2016年 5 月10 日学院物电年级、专业、班姓名Jason.P 学号实验课程名称EDA技术实验成绩实验项目名称ADC0809的采样控制电路的实现指导教师一、实验目的:学习用状态机对A/D转换器ADC0809的采样控制电路的实现。
二、实验内容:1、实验原理:ADC0809是CMOS的8位A/D转换器,片内有8路模拟开关,可控制8个模拟量中的一个进入转换器中。
ADC0809的精度为8位,转换时间约100μs,含锁存控制的8路多路开关,输出有三态缓冲器控制,单5V电源供电。
图7-1 ADC0809工作时序主要控制信号说明:如图7-1所示,START是转换启动信号,高电平有效;ALE是3位通道选择地址(ADDC,ADDB,ADDA)信号的锁存信号。
当模拟量送到某一输入端(如IN1或IN2等),由3位地址信号选择,而地址信号由ALE锁存。
EOC是转换情况状态信号(类似于AD574的STATUS),当启动转换约100us后,EOC产生一个负脉冲,以示转换结束;在EOC的上升沿后,若输出使能信号OE为高电平,则控制打开三态缓冲器,把转换好的8位数据结果输至数据总线。
至此ADC0809的一次转换结束。
2、实验步骤:(1)利用QuartusII对课本例8-2进行文本编辑输入和仿真测试;给出仿真波形。
最后进行引脚锁定并进行测试,硬件验证例8-2电路对ADC0809的控制功能。
图7-2 采样状态机结构框图引脚锁定情况:先用14芯线将附图1中“17”和“8”相连,具体管脚锁定情况见“17”和“8”处两边已标出。
程序设计中ADDA、 ADDB 均需赋0。
实验板上的ENABLE即程序中的EOC。
两个数码管显示Q输出,选择模式5的数码管1、2或数码管8、7,不要选择中间的,因中间数码管的部分引脚已被ADC0809使用。
(新实验板没有从ADC0809 D[7:0]连接的数码管。
EDA实验报告4_ADC采样控制电路
1.利用QuartusⅡ,在书本例7-2(P244)的基础上参考《KHF-4型实验指导书》实验十一进行修改,为其建立工程文件,进行文本编辑输入和仿真测试,给出仿真波形,并进行硬件测试
实验步骤
1.用VHDL文本输入方法完成ADCINT.vhdl的有限状态机的设计,创建project,编译、仿真,给出时序波形图。
2.ADC0809各引脚及其功能示意图如下所示
转换流程:
<1>CLK为转换时钟输入端口(500KHz)
<2>8路通道地址选择ADD-C/B/A控制模拟通道IN[7..0]地址,ALE锁存
<3>START上升沿启动转换
<4>EOC为低电平则转换继续,高电平时转换结束
<5>此时OE置为高电平,转换好的数据由LOCK锁存并通过D[7..0]输出
2.引脚锁定,编程下载,进行硬件测试
实验结果及分析
1.Vhdl文本输入所得仿真波形
2.原理图输入法设计及其仿真波形
1.由仿真波形可以看出,有限状态机的设计符合预期
2.调节电位器,通过改变模拟输入量,可在数码管SEG1和SEG2上看到转换的结果,输出范围从00~FF,同时OUTA(13~7)、OUTA (6~0)所对应的各LED灯按二进制取值不同亮灭情况不同。
实验过程中所遇到的问题及相应的解决方法
1.时序仿真的时候由于EOC的周期取值过小,导致得不到预期的结果,有限状态机的状态总是停留在cs:s2,或者在OE的高电平期间,ALE、START、LOCK1会有多个短暂的脉冲,时序已不正确。经调整EOC的周期,问题得以解决。
2.在进行FPGA硬件测试时,刚开始编程下载后数码管只显示FF,调节电位器,显示的值并没有改变。重新编程下载,数码管显示的是另一个值,经仔细检查仍不得其因。最后只得将课本例7-2的ADC0809状态机的设计代码整合进ADCINT.vhdl,也就是改变状态机的设计。再次编程下载,调节电位器,数码管和LED灯可以正常工作,随输入的改变而改变输出值。
ADC0809芯片的简单采集系统-1
一、设计目的:训练学生综合运用己学课程的基本知识,独立进行单片机应用技术开发工作,掌握单片机程序设计、调试,应用电路设计、分析及调试检测。
二、设计要求:1.应用MCS-51单片机设计基于ADC0809芯片的数据采集显示系统:2.输入模拟量0-5V,被测点为4个,每2S测一次,数码管显示各点采集值;3.硬件设计根据设计的任务选定合适的单片机,根据控制对象设计接口电路。
设计的单元电路必须有工作原理,器件的作用,分析和计算过程;4.软件设计根据电路工作过程,画出软件流程图,根据流程图编写相应的程序,进行调试并打印程序清单;5.原理图设计根据所确定的设计电路,利用Protel等有关工具软件绘制电路原理图、PCB 板图、提供元器件清单。
三、参考资料:[1]单片微型计算机与接口技术,李群芳、黄建编著,电子工业出版社;[2]单片机原理及应用,张毅刚编著,高等教育出版社;[3]51系列单片机及C51程序设计,王建校,杨建国等编著,科学出版社;[4]单片机原理及接口技术,李朝青编著,北京航空航天大学出版社;完成期限2011.3.14—2011.3.18指导教师专业负责人2011年3月13日第一章概述在日常实验中,经常使用单片机系统实现数据采集功能,即实现实验数据连续精确的数模转换。
ADC0809是该类单片机数据采集系统中使用最为频繁的数模转换芯片之一。
但是,在许多介绍ADC0809芯片的文献中,该数模转换芯片使用时往往还需要较多的辅助芯片,硬件电路和软件编写都比较复杂,相应成本偏高。
本文给出一种方法,只需2片ADC0809数模转换芯片、1片74ls74触发器芯片,就能实现简洁、快捷、精确的16通道实时数据采集。
1.1ADC0809介绍ADC0809是带有8位A/D转换器、8路多路开关以及微处理机兼容的控制逻辑的CMOS组件。
它是逐次逼近式A/D转换器,可以和单片机直接接口。
ADC0809的内部结构框图见图二。
由图二可知,ADC0809由一个8路模拟开关、一个地址锁存与译码器、一个A/D转换器和一个三态输出锁存器组成。
EDA 用状态机实现ADC0809采样电路设计
实验用状态机实现ADC0809采样电路设计【实验目的】(1)熟悉QuartusⅡ7.0的使用方法。
(2)学习ADC0809采样电路设计的verilog程序编写,编译,仿真,管脚验证及下载。
【实验要求】用ADC0809采样电压实现采样。
【实验内容及步骤】1)QuartusⅡ7.0的破解1.用Quartus_II_7.0_dll破解器.exe破解C:\altera\70\quartus\bin下的sys_cpt.dll文件(运行Quartus_II_7.0_dll破解器.exe后,首先要点击“浏览”选中sys_cpt.dll,安装默认的sys_cpt.dll路径是在C:\altera\70\quartus\bin下,选中sys_cpt.dll后再点击“应用”。
2.把文件夹“包括Quartus 7.0和DSP_builde7.0的注册号”中的licenseV70.dat文件,拷到altera的按装目录中,然后在Quartus 7.0中点击"tools"->"license setups..."指定license 所在的目录。
至此就完成Quartus 7.0的破解了。
(2)输入源代码module adc0809 (D,CLK,EOC,RST,ALE,START,OE,ADDA,Q,LOCK_T); input [7:0] D;input CLK,RST;output EOC;output ALE;output START,OE;output ADDA,LOCK_T;output [7:0] Q;reg ALE,START,OE,EOC;parameter s0=0,s1=1,s2=2,s3=3,s4=4;reg [4:0] cs,next_state;reg [7:0] REGL;reg LOCK;reg [3:0] acc;always @(cs or EOC) begincase (cs)s0:begin ALE=0;START=0;OE=0;LOCK=0;next_state=s1;ends1:begin ALE=1;START=1;OE=0;LOCK=0;next_state=s2;ends2:begin ALE=0;START=0;OE=0;LOCK=0;if(EOC==1'B1) next_state=s3;else next_state=s2;ends3:begin ALE=0;START=0;OE=1;LOCK=0;next_state=s4;ends4:begin ALE=0;START=0;OE=1;LOCK=1;next_state=s0;endendcase endalways @(posedge CLK or posedge RST) begin if(RST) cs=s0;else cs=next_state; endalways @ (posedge LOCK)if(LOCK) REGL=D;always @(posedge CLK or posedge START) beginif(START) beginEOC=0;acc=0;endelse begin if(!EOC) beginif(acc==4) EOC=1;else acc=acc+1;endendendassign ADDA=0;assign Q=REGL;assign LOCK_T=LOCK;endmodule3)保存编译设置DeviceTools工具栏→netlist viewer s→RTL viewers波形仿真【实验心得与体会】通过这次实验我熟悉了QuartusⅡ7.0的破解方法及使用;学会了Adc0809采样电路的verilog程序的编写,编译,仿真,下载,管脚的验证。
adc0809实验报告
adc0809实验报告adc0809实验报告引言:在现代科技发展的今天,模拟信号与数字信号的转换已经成为了一个非常重要的领域。
而ADC(Analog-to-Digital Converter)芯片的应用则是实现这种转换的重要手段之一。
本实验旨在通过使用ADC0809芯片,对模拟信号进行采样和转换,进而实现模拟信号的数字化处理。
一、实验目的本实验的主要目的是通过使用ADC0809芯片,掌握模拟信号的数字化转换原理和方法,并能够进行模拟信号的采样和转换。
二、实验器材1. ADC0809芯片2. 电压源3. 示波器4. 电阻、电容等元器件5. 电路板等实验设备三、实验原理ADC0809芯片是一种8位的逐次逼近型模数转换器。
它通过对模拟信号进行采样,再经过一系列的比较和逼近,最终将模拟信号转换为相应的8位数字信号。
四、实验步骤1. 搭建实验电路:根据实验要求,将ADC0809芯片与其他元器件连接起来,形成完整的电路。
2. 设置电压源:根据实验需要,设置适当的电压源,以提供模拟信号的输入。
3. 连接示波器:将示波器与ADC0809芯片的输出端连接,以便观察数字信号的波形。
4. 运行实验:通过控制电路中的时钟信号,使ADC0809芯片开始对模拟信号进行采样和转换。
5. 观察结果:通过示波器观察数字信号的波形,并记录下相应的数据。
五、实验结果与分析通过实验观察和记录,我们可以得到一系列的数字信号数据。
通过对这些数据的分析和处理,我们可以得到模拟信号的数字化表示。
同时,我们还可以通过对数字信号的波形进行分析,了解模拟信号在转换过程中可能出现的误差和失真情况。
六、实验总结通过本次实验,我们深入了解了ADC0809芯片的工作原理和应用方法。
通过实际操作和观察,我们掌握了模拟信号的数字化转换技术。
同时,通过对实验结果的分析和总结,我们对模拟信号的数字化处理有了更为深入的理解。
七、实验心得本次实验对于我们来说是一次非常有意义的实践活动。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
班级:学号:姓名:
实验六用状态机实现ADC0809的采样电路设计(1)
【实验目的】
1.设计实现ADC0809采样的状态机电路;
2.掌握状态机的Verilog设计方法;
3.学习设计仿真工具的使用方法;
【实验内容】
1.设计实现ADC0809采样电路,启动信号START高电平开始AD转换,此时转换结束标志变为0,当EOC 由低变为高,表示转会结束,此时可以置OE为1,ADC输出转换结果。
ADC0809控制时序如下:
【实验原理】
状态图和波形仿真
班级:学号:姓名:
【程序源代码】(加注释)
module ADC0809C(CLK,RST,EOC,D,Start,ALE,OE,Lock,ADDA,Q);
input CLK,RST,EOC;input[7:0]D; //来自0809转换好的8位数据
output Start,ALE,OE,Lock,ADDA; //转换启动信号、8个模拟信号通道地址锁存信号、数据输出三态控制信号、锁存测试信号和信号通道控制信号。
output[7:0]Q;
reg Start,ALE,OE,Lock;
reg[7:0]Q;
parameter s0=0,s1=1,s2=2,s3=3,s4=4; //定义各状态子类型
reg[2:0] c_s,n_s; //
always@(posedge CLK or posedge RST) //时序过程
if(RST)
c_s<=s0;
else c_s<=n_s; //有现态变量c_s将当前状态值带出过程
always@(c_s or EOC) //组合过程,规定各状态装换方式
case(c_s)
s0:begin Start <=0; //0809初始化
OE <=0;
ALE <=0;
Lock <=0;
n_s <=s1;
end
s1:begin Start <=1; //启动采样信号Start
OE <=0;
ALE <=1;
Lock <=0;
n_s <=s2;
end
班级:学号:姓名:s2:begin Start <=0;
ALE <=0;
OE<=0;
Lock <=0;
if(EOC) n_s <=s3; //Eoc表明转换结束
else n_s <=s2; //转换未结束,继续等待
end
s3:begin Start <=0; //开启OE,打开AD数据口
ALE <=0;
OE <=1;
Lock <=0;
n_s <=s4; //下一状态无条件转向s4
end
s4:begin Start <=0; //开启数据锁存信号
ALE <=0;
OE <=1;
Lock <=1;
n_s <=s0;
end
default: begin//
ALE <=0;Start <=0;OE <=0;
Lock <=0; n_s <=s0;
end
endcase
always@(Lock) //寄存器过程
if(Lock) //此过程中,在Lock的上升沿将转换好的数据锁入
Q <=D;
assign ADDA=0;
班级:学号:姓名:endmodule
【元件符号与总框图】
1:元件符号
2:总框图
班级:学号:姓名:
【实验心得和体会】
这次是状态机实验,主要应用是电路控制,这次实验的主要内容是状态图输出和波形仿真。
我在这次实验出现的问题是波形中OE和LOCK有延迟,经过反复检查时时钟信号设置的问题,在这里谢谢段老师的指导。