单片机:模数转换

单片机:模数转换
单片机:模数转换

模数转换

一.单片机对ADC0809的控制过程

先选择一个模拟输入通道,本连接选择IN4。当执行MOVX @DPTR,A是,单片机WR有效,产生脉冲。脉冲给ADC0809的START,开始对模拟信号进行转换。当转换结束后EOC为高电平。一次转换结束。

二.单片机与ADC0809的连接

1.单片机P0.0-P0.7数据线接ADC0809的OUTI-OUT8.

2.单片机的地址线低8位接锁存器输出接ADC0809的三根地址线A,B,C.选通IN0-IN7通道。

3.START 为启动信号输入端,OE为输出允许端。由于ADC0809没有片选端,用P2.7与单片机的WR,RD进行控制。WR与P2.7接或非门控制START。RD 与P2.7接或非控制OE。

因为START与ALE连在一起,所以ADC0809A在锁存通道地址的同时,启动并进行转换。

4.单片机的CLK输出是被6分频之后的1MHZ,接一个触发器之后降频到500K 后与ADC0809连接使其正常运行。

三.单片机在读取ADC转换结果时有查询和中断两种方式

1.查询方式

程序如下

ORG 0000H

SJMP MAIN

EOC EQU P3.0

MAIN: MOV SP,#60H SP初值赋60H

MOV DPTR,#7FFCH IN4的地址7FFCH给DPTR

LL: MOV A,#0

MOVX @DPTR,A A值给7FFCH.启动转换器,开始转换

LCALL DL 延时程序,跳过EOC的延时

JNB P3.0,$ EOC变低电平。当EOC变高电平是转换完成。

MOVX A,@DPTR RD为低电平,OE为高电平,允许输出。

MOV P1,A 输出到P1口

SJMP LL

DL: MOV R7,#10

DJNZ R7,$

RET

END

2.中断方式

程序如下

ORG 0000H

SJMP MAIN

ORG 0003H

LJMP BB

MAIN: SETB EX0 打开外部中断子开关

SETB IT0 选择边沿触发方式

SETB EA 打开中断总开关

MOV DPTR,#7FFCH IN4地址给DPTR

MOV A,#0

MOVX @DPTR,A A值给7FFCH.启动转换器

SJMP $

中断程序

BB: MOVX A,@DPTR RD为低电平,OE为高电平,允许输出MOV P1,A

MOV A,#0

MOVX @DPTR,A A值给7FFCH.启动转换器

RETI 返回程序

END

四.示波器波形

模数与数模转换

3. 模数转换器 (1) 模/数(A/D )转换器 A/D 转换器是模拟信号源与计算机或其它数字系统之间联系的桥梁,它的任务是将连续变化的模拟信号转换为数字信号,以便计算机或数字系统进行处理、存储、控制和显示。在工业控制和数据采集及其它领域中,A/D 转换器是不可缺少的重要组成部分。 1) 逐次逼近型A/D 转换器 逐次逼近型A/D 转换器又称逐次渐近型A/D 转换器,是一种反馈比较型A/D 转换器。逐次逼近型A/D 转换器进行转换的过程类似于天平称物体重量的过程。天平的一端放着被称的物体,另一端加砝码,各砝码的重量按二进制关系设置,一个比一个重量减半。称重时,把砝码从大到小依次放在天平上,与被称物体比较,如砝码不如物体重,则该砝码予以保留,反之去掉该砝码,多次试探,经天平比较加以取舍,直到天平基本平衡称出物体的重量为止。这样就以一系列二进制码的重量之和表示了被称物体的重量。例如设物体重11克,砝码的重量分别为1克、2克、4克和8克。称重时,物体天平的一端,在另一端先将8克的砝码放上,它比物体轻,该砝码予以保留(记为1),我们将被保留的砝码记为1,不被保留的砝码记为0。然后再将4克的砝码放上,现在砝码总和比物体重了,该砝码不予保留(记为0),依次类推,我们得到的物体重量用二进制数表示为1011。用下表7.1表示整个称重过程。 表7.1 逐次逼近法称重物体过程表 图7.7 逐次逼近型A/D 转换器方框图 利用上述天平称物体重量的原理可构成逐次逼近型A/D 转换器。 逐次逼近型A/D 转换器的结构框图如图7.7所示,包括四个部分:电压比较器、D/A 转换器、逐次逼近寄存器和顺序脉冲发生器及相应的控制逻辑。 逐次逼近型A/D 转换器是将大小不同的参考电压与输入模拟电压逐步进行比较,比较结果以相应的二进制代码表示。转换开始前先将寄存器清零,即送给D /A 转换器的数字量为0,三个输出门G 7、G 8、G 9被封锁,没有输出。转换控制信号有效后(为高电平)开始转换,在时钟脉冲作用下,顺序脉冲发生器发出一系列节拍脉冲,寄存器受顺序脉冲发生器及控制电路的控制,逐位改变其中的数码。首先控制逻辑将寄存器的最高位置为1,使其输出为100……00。这个数码被D/A 转换器转换成相应的模拟电压U o ,送到比较器与待转换的输入模拟电压U i 进行比较。若U o >U i ,说明寄存器输出数码过大,故将最高位的1变成0,同时将次高位置1;若U o ≤U i ,说明寄存器输出数码还不够大,则应将这一位的1 保留。数码的取舍通过电压比较器的输出经控制器来完成的。依次类推按上述方法将下一位置1进行比较确定该位的1是否保留,直到最低位为止。此时寄存器里保留下来的数码即为所求的输出数字量。 2) 并联比较型A/D 转换器 并联比较型A/D 转换器是一种高速A/D 转换器。图8-9所示是3位并联型A/D 转换器,

数模模数转换实验报告

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

∑-△模数转换器的原理及应用

∑-△模数转换器的原理及应用 张中平 (东南大学微电子机械系统教育部重点实验室,南京210096) 摘要:∑-△模数转换器由于造价低、精度高、性能稳定及使用方便等特点,越来越广泛地使用在一些高精度仪器仪表和测量设备中,介绍该转换器的基本原理,并重点举例介绍AD7708芯片的应用,该芯片是16 bit模数转换器,与24 bit AD7718引脚相同,可直接升级。 关键词:模数转换器;寄存器;串行口 我们通常使用的模数转换器(ADC)大多为积分型和逐次逼近型,积分型转换效果不够好,转换过程中带来的误差比较大;逐次逼近型转换效果较好但制作成本较高,尤其是高位数转换,转换位数越多,精度越高,制作成本就越高。而∑-△ADC可以以相对逐次逼近型简单的电路结构,而得到低成本,高位数及高精度的转换效果∑-△ADC大多设计为16或24 bit转换精度。近几年来,在相关的高精度仪器制作领域该转换器得到了越来越广泛的应用[1]。 1 ∑-△ADC的基本工作原理简介 ∑-△模数转换器的工作原理简单的讲,就是将模数转换过后的数字量再做一次窄带低通滤波处理。当模拟量进入转换器后,先在调制器中做求积处理,并将模拟量转为数字量,在这个过程中会产生一定的量化噪声,这种噪声将影响到输出结果,因此,采用将转换过的数字量以较低的频率一位一位地传送到输出端,同时在这之间加一级低通滤波器的方法,就可将量化噪声过滤掉,从而得到一组精确的数字量[1,2]。 2 AD7708/AD7718,∑-△ADC的应用 AD7708/AD7718是美国ADI公司若干种∑ΔADC中的一种。其中AD7708为16 bit转换精度,AD7718为24 bit转换精度,同为28条引脚,而且相同引脚功能相同,可以互换。为方便起见,下面只介绍其中一种,也是我们工作中用过的AD7708。 2.1AD7708的工作原理 同其它智能化器件一样,AD7708也可以用软件来调节其所具有的功能,即通过微控制器MCU编程向AD7708的相应寄存器填写适当的参数。AD7708芯片中共有11个寄存器, 当模式寄存器(Mode Regis-ter)的最高位后,其工作方框图[2]如图1所示。

STC12C5A60S2单片机的AD转换

A/D转换测试程序(ADC查询方式) #include “stc12c5a.h”//头文件在STC公司主页上下载 #include ”intrins.h” //与STC12C5A60S2单片机ADC相关的寄存器说明// Sfr ADC_CONTR = 0xBC;//AD转换控制寄存器 Sfr ADC_RES = 0xBD;//AD转换结果寄存器高 Sfr ADC_RESL = 0xBE;//AD转换结果寄存器低 Sfr P1ASF = 0x9D;//P1口模拟转换功能控制寄存器 Sfr AURX1 = 0xA2;//AD转换结果存储方式控制位 #define ADC_POWER 0x80 //ADC电源开 #define ADC_FLAG 0x10 //ADC结束标志位 #define ADC_START 0x08 //ADC启动控制位设为开 #define ADC_SPEEDLL 0x00 //设为540个时钟周期ADC一次 #define ADC_SPEEDL 0x20 //设为360个时钟周期ADC一次 #define ADC_SPEEDH 0x40 //设为180个时钟周期ADC一次 #define ADC_SPEEDHH 0x60 //设为90个时钟周期ADC一次 void AD_init(void); void delay(unsigned int a); unsigned int AD_get(unsigned char n); float AD_work(unsigned char n); void main() { unsigned char i; AD_init(); while(1) { for(i=0;i<8;i++) { AD_work(i); delay(20); } } } unsigned int AD_get(unsigned char n) //第n通道ADC采样函数 { unsigned int adc_data; ADC_RES = 0; //清零 ADC_CONTR=ADC_POWER|ADC_SPEEDLL|n|ADC_START;//打开AD转换电源、

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

实验报告 课程名称微机原理与接口技术 实验项目实验五 数/模转换器和模/数转换器实验实验仪器 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单极性输入电压与转换后数字的关系为:

单片机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 , 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 END display 送百分位字符代码送位选信号延时1ms 送十分位字符代码送位选信号延时1ms 送个位及小数点字符代码送位选信号延时1ms 熄灭第四位数码管延时1ms 返回

基本模数转换器(ADC)的设计

《数字逻辑电路分析与设计》课程 项目 实施报告 题目(A):基本模数转换器(ADC)的设计 组号: 8 任课教师:。。。 组长:。。。。 成员:。。。。 成员:。。。 成员:。。。 成员:。。。 联系方式:。。。 二零一四年十月二十五日

基本模数转换器(ADC )的设计 一.设计要求 (1) 设计一个每单次按下按钮,就能够实现数模转换的电路,并用LED 显示对应输入模拟电压(0—3V )的等级,当输入电压>3V 后,有“溢出”显示。 (2) 功能模块如图: (3) 图中的“模数转换”为本教材第六章的并行ADC 转换电路。在此基础上自行设计按键、LED 显示、模拟电压调节等模块,实现单次模数转换的功能。 模拟电压 调节模数转换LED 显示 按键 5V 电源

自行设计溢出标记的显示。 (4) 本电路的测试方法是,通过一个电位器对电源电压连续分压,作为ADC 的输入电压,每按下一次按键时,ADC 电路进行一次ADC 转换,并将转换的结果用数码管显示出来。注意不要求显示实际的电压值,仅显示模拟电压的量化等级。 二.电路原理图 LED 显示

三.设计思路 根据题目要求,我们的电路本应分五个个模块,但实验室缺少8-3编码器不能实现转化,所以只能有四个一下模块:模拟电压调节;比较电路;记忆模块;LED显示。模拟电压的调节可以用划变电阻来调节电压,理想中数模转化模块应由比较器,D触发器和编码器来实现,在我们的实际电路中我们只用了前两者。最终我们用LED的亮灭来显示结果。 具体原理叙述如下: 在比较电压时,将参考电压V ref经电阻分压器产生一组不同的量化电平V i:v1=1/16V ref,v2=3/16V ref,v3=5/16V ref ,v4=7/16V ref ,v5=9/16V ref ,v6=11/16V ref ,v7=13/16V ref ,v8=15/16V ref ,这些量化电平分别送到相应lm339比较器的反相输入端,而输入电压V同时作用于lm339比较器的同相输入端。 当V大于V i时,第i个比较器输出状态1,即高电平;反之,比较器输出状态0,即低电平。比较器的输出加到D触发器的输入端,在时钟脉冲CP的作用下,把比较器的输出存入触发器,得到稳定的状态输出Q,再由LED的亮暗状态显示,高电平则亮,低电平就暗。 当V≥15/16 V ref的时候,即V超过该转换器的最大允许的输入电压的时候产生“溢出”,我们使用了一个红色的报警LED亮作为显示。 此外,鉴于会因为按键时间的长短不一而造成的脉冲不整齐的问题,需要

基于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操作页面

单片机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 返回

模数转换器ADC0809应用原理

AD0809应用原理--很全面的资料 1. 0809的芯片说明: ADC0809是带有8位A/D转换器、8路多路开关以及微处理机兼容的控制逻辑的CMOS 组件。它是逐次逼近式A/D转换器,可以和单片机直接接口。 (1)ADC0809的内部逻辑结构 由上图可知,ADC0809由一个8路模拟开关、一个地址锁存与译码器、一个A/D转换器和一个三态输出锁存器组成。多路开关可选通8个模拟通道,允许8路模拟量分时输入,共用A/D转换器进行转换。三态输出锁器用于锁存A/D转换完的数字量,当O E端为高电平时,才可以从三态输出锁存器取走转换完的数据。 (2).引脚结构 IN0-IN7:8条模拟量输入通道

如下图所示,从ADC0809的通道IN3输入0-5V之间的模拟量,通过ADC0809转换成数字量在数码管上以十进制形成显示出来。ADC0809的VREF接+5V电压。 4.电路原理图 5.程序设计: (1).进行A/D转换时,采用查询EOC的标志信号来检测A/D转换是否完毕,若完毕则把数据通过P0端口读入,经过数据处理之后在数码管上显示。 (2).进行A/D转换之前,要启动转换的方法: ABC=110选择第三通道 ST=0,ST=1,ST=0产生启动转换的正脉冲信号 . (3). 关于0809的计算: ad0809是根据逐位逼近的方法产生数据的。。 参考电压为0-5V的话。以0809八位255的转换精度每一位的电压值为(5-0)/255≈0. 0196V 设输入电压为X则: X-27*0.0196>=0则AD7=1否则AD7=0。 X-26*0.0196>=0则AD6=1否则AD6=0。 X-20*0.0196>=0则AD0=1否则AD0=0。 (27指2的7次方。26-------20同理) 若参考电压为0-1V (1-0)/255≈0.0039V精度自然高了。。可测量范围小了。 1)汇编源程序: CH EQU 30H DPCNT EQU 31H DPBUF EQU 33H GDATA EQU 32H ST BIT P3.0

AD转换实验报告

A/D转换实验报告

摘要 本设计是利用AT89C51、ADC0809、CD4027芯片为核心,加以其他辅助电路实现对信号的A/D转换,其中以单片机AT89C51为核心控制A/D转换器。先是对信号进行采集,然后用ADC0809对信号实现从模拟量到数字量的转换。改变采样数据,调整电路,使其达到精确转换。

目录 1.方案设计与论证 (1) 1.1理论分析 (1) 1.2输出、输入方案选择 (1) 1.3显示方案 (2) 1.4时钟脉冲选择 (2) 2.硬件设计 (2) 2.1A/D转换器模块 (2) 2.2单片机模块 (3) 2.3JK触发器模块 (4) 3软件设计 (4) 4.仿真验证与调试 (5) 4.1测试方法 (5) 4.2性能测试仪器 (7) 4.4误差分析 (7) 5.设计总结及体会 (5) 附录(一)实物图 (6) 附录(二)软件程序 (6)

1.方案设计与论证 1.1理论分析 8位A/D转换由芯片内部的控制逻辑电路、时序产生器、移位寄存器、D/A转换器及电压比较器组成,它具有将模拟量转换成数字量的特性,其原理图如下: AD转换原理图(1) 1.2输出、输入方案选择 A/D转换器有多路选择器,可选择八路模拟信号IN0~IN7中的一路进入A/D转换。现在选择IN0通道作为输入,则对应的地址码位ADD C=0、ADD B=0、ADD A=0。当转换完成后,OE=1,打开三态输出锁存缓冲器,将转换数据从D7~D0口输出到单片机的P0端口。 IN口输入D端口输出 A/D转换器 图(2)

1.3显示方案 单片机控制数码管显示有两种动态和静态两种方法,由于静态控制数码管每次只能显示一位,造成资源浪费,所以选择动态扫描,并增加变换频率。 1.4时钟脉冲选择 方案一:可以直接用矩形波来控制 方案二:ALE通过JK触发器完成二分频,然后 Q端接CLK。因为晶振的频率是12MHz,ALE的频率为12NHz×1/6=2MHz,经过JK 触发器二分频后就是1MHz. 2.硬件设计 2.1 A/D转换器模块 A/D转换电路图(3) 模拟量从IN0端口输入,经电压比较器后输入到控制电路,转换后从D0~D7口输出,地址码位ADD C=0、ADD B=0、ADD A=0。OE 端输出允许控制信号,EOC转换结束控制信号,EOC=0,转换结束后EOC=1。START转换启动信号,上升沿将片内寄存器清零,下降

TLC549模数转换器的控制实验

A/D芯片TLC549的转换与数据采集实验 1、实验目的 (1) 掌握A/D转换与单片机的接口方法; (2)掌握A/D芯片TLC549的编程方法; (3)掌握数据采集程序的设计方法; 2、实验内容 利用实验开发装置上的TLC549做A/D转换器,对电位器提供的模拟电压信号进行定时采样,结果在数码管上进行显示。 3、I/O地址 A/D转换芯片 TLC549 CLK P1.5 时钟位 DAT P1.7 数据位 CS P1.6 选片位 4、实验线路 将TLC549的CLK接P1.5、DAT接P1.7、CS接P1.6,将模拟电压输入端连到电位器的电压输出端,并接万用表进行输入电压测量。 5、实验步骤 在PC机输入源程序并汇编,然后下载到单片机上,进行调试。 调节电位器,电压从0V到5V变化,记录数码管的显示数值。记录到表中。

6、实验报告 (1) 整理好实验程序和实验记录,进行数据处理分析并做图。 (2) 数据采集中,如何实现精确的定时数据采集? (3) 数码管动态扫描显示程序设计中,显示刷新的时间如何确定? TLC549实验程序 #include "reg52.h" #include #define uchar unsigned char #define uint unsigned int /*************************************************** TLC549 A/D转换 ****************************************************/ sbit CLK=P1^5; sbit DAT=P1^7; sbit CS =P1^6; uchar TLC549ADC(void) { uchar i,x; CLK=0; DAT=1; CS=0; for(i=0;i<8;i++) { CLK=1; x<<=1; if(DAT==1) x++; CLK=0; } CS=1; return (x); } uint y; uchar x; void main() { while(1)

单片机实验数据采集_AD转换

单片机实验报告 姓名: XX 班级: XXXXX 学号: XXXXXXX 专业:电气工程与自动化

实验1 名称:数据采集_A/D转换 一、实验目的 ⑴掌握A/D转换与单片机接口的方法; ⑵了解A/D芯片0809 转换性能及编程方法; ⑶通过实验了解单片机如何进行数据采集。 二、实验设备 装有proteus和keil软件的电脑一台 三、实验说明及实验原理: A/D 转换器大致分有三类:一是双积分A/D 转换器,优点是精度高,抗干扰性好,价格便宜,但速度慢;二是逐次逼近式A/D转换器,精度、速度、价格适中;三是并联比较型A/D转换器,速度快,价格也昂贵。实验用ADC0809属第二类,是8位A/D转换器。每采集一次一般需100μs。由于ADC0809A/D 转换器转换结束后会自动产生EOC 信号(高电平有效),取反后将其与8031 的INT0 相连,可以用中断方式读取A/D转换结果。ADC0809 是带有8 位A/D转换器、8 路多路开关以及微处理机兼容的控制逻辑的CMOS组件。它是逐次逼近式A/D转换器,可以和单片机直接接口。 (1) ADC0809 的内部逻辑结构 由图1.1 可知,ADC0809 由一个8 路模拟开关、一个地址锁存与译码器、一个A/D 转换器和一个三态输出锁存器组成。多路开关可选通8 个模拟通道,允许8 路模拟量分时输入,共用A/D 转换器进行转换。三态输出锁器用于锁A/D 转换完的数字量,当OE 端为高电平时, 才可以从三态输出锁存器取走转换完的数据。 (2) ADC0809 引脚结构 ADC0809各脚功能如下: D7 ~ D0:8 位数字量输出引脚。IN0 ~ IN7:8位模拟量输入引脚。 VCC:+5V工作电压。GND:地。 REF(+):参考电压正端。REF(-):参考电压负端。 START:A/D转换启动信号输入端。 ALE:地址锁存允许信号输入端。(以上两种信号用于启动A/D转换). EOC:转换结束信号输出引脚,开始转换时为低电平,当转换结束时为高电平。 OE:输出允许控制端,用以打开三态数据输出锁存器。 CLK:时钟信号输入端(一般为500KHz)。 A、B、C:地址输入线。 (3) ADC0809 对输入模拟量要求:信号单极性,电压范围是0-5V,若信号太小,必须进行放大;输入的模拟量在转换过程中应该保持不变,如若模拟量变化太快,则需在输入前增加采样保持电路。地址输入和控制线:4 条ALE为地址锁存允许输入线,高电平有效。当ALE 线为高电平时,地址锁存与译码器将A,B,C 三条地址线的地址信号进行锁存,经译码后被选中的通道的模拟量进转换器进行转换。A,B 和C为地址输入线,用于选通IN0-IN7 上的一路模拟量输入。通道选择表如下表所示。 C B A 选择模拟通道 0 0 0 IN0 0 0 1 IN1 0 1 0 IN2 0 1 1 IN3 1 0 0 IN4 1 0 1 IN5

实验十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。

单片机:模数转换

模数转换 一.单片机对ADC0809的控制过程 先选择一个模拟输入通道,本连接选择IN4。当执行MOVX @DPTR,A是,单片机WR有效,产生脉冲。脉冲给ADC0809的START,开始对模拟信号进行转换。当转换结束后EOC为高电平。一次转换结束。 二.单片机与ADC0809的连接 1.单片机P0.0-P0.7数据线接ADC0809的OUTI-OUT8. 2.单片机的地址线低8位接锁存器输出接ADC0809的三根地址线A,B,C.选通IN0-IN7通道。 3.START 为启动信号输入端,OE为输出允许端。由于ADC0809没有片选端,用P2.7与单片机的WR,RD进行控制。WR与P2.7接或非门控制START。RD 与P2.7接或非控制OE。 因为START与ALE连在一起,所以ADC0809A在锁存通道地址的同时,启动并进行转换。 4.单片机的CLK输出是被6分频之后的1MHZ,接一个触发器之后降频到500K 后与ADC0809连接使其正常运行。 三.单片机在读取ADC转换结果时有查询和中断两种方式 1.查询方式 程序如下 ORG 0000H SJMP MAIN EOC EQU P3.0

MAIN: MOV SP,#60H SP初值赋60H MOV DPTR,#7FFCH IN4的地址7FFCH给DPTR LL: MOV A,#0 MOVX @DPTR,A A值给7FFCH.启动转换器,开始转换 LCALL DL 延时程序,跳过EOC的延时 JNB P3.0,$ EOC变低电平。当EOC变高电平是转换完成。 MOVX A,@DPTR RD为低电平,OE为高电平,允许输出。 MOV P1,A 输出到P1口 SJMP LL DL: MOV R7,#10 DJNZ R7,$ RET END 2.中断方式 程序如下 ORG 0000H SJMP MAIN ORG 0003H LJMP BB MAIN: SETB EX0 打开外部中断子开关 SETB IT0 选择边沿触发方式 SETB EA 打开中断总开关

AD转换实验报告

8292924809 基于单片机的AD转换电路 专业: 班级: 学号: 组员: 指导老师: 年月日

目录 键入章标题(第 1 级) (1) 键入章标题(第2 级) (2) 键入章标题(第3 级) (3) 键入章标题(第 1 级) (4) 键入章标题(第2 级) (5) 键入章标题(第3 级) (6)

引言 A/D转换是指将模拟信号转换为数字信号,这在信号处理、信号传输等领域具有重要的意义。常用的A/D转换电路有专用A/D集成电路、单片机ADC模块,前者精度高、电路复杂,后者成本低、设计简单。基于单片机的A/D转换电路在实际电路中获得了广泛的应用。 一般的A/D转换过程是通过采样、保持、量化和编码4个步骤完成的,这些步骤往往是合并进行的。当A/D转换结束时,ADC输出一个转换结束信号数据。CPU可由多种方法读取转换结果:a查询方式;b中断方式;c DMA方式。 通道8为A/D转换器,ADC0809是带有8为A/D转换器、8路多路开关以及微处理机兼容的控制逻辑的CMOS组件。它是逐次逼近式A/D转换器,可以和单片机直接接口。ADC0809由一个8路模拟开关、一个地址锁存与译码器、一个A/D转换器和一个三态输出锁存器组成。多路开关可选通8个模拟通道,允许8路模拟量分时输出,共用A/D转换器进行转换。三台输出锁存器用于锁存A/D转换完的数字量,当OE端为高电平时,才可以从三态输出锁存器取走转换完的数据。 一个实际系统中需用传感器把各种物理参数测量出来,并转换为电信号,在经过A/D转换器,传送给计算机;微型计算机加工后,通过D/A转换器去控制各种参数量。

模数转换器原理

模数(A/D)转换器工作原理A/D转换器(Analog-to-Digital Converter)又叫模/数转换器,即是将模拟信号(电压或是电流的形式)转换成数字信号。这种数字信号可让仪表,计算机外设接口或是微处理机来加以操作或胜作使用。 A/D 转换器 (ADC)的型式有很多种,方式的不同会影响测量后的精准度。 A/D 转换器的功能是把模拟量变换成数字量。由于实现这种转换的工作原理和采用工艺技术不同,因此生产出种类繁多的A/D 转换芯片。 A/D 转换器按分辨率分为4 位、6 位、8 位、10 位、14 位、16 位和BCD码的31/2 位、51/2 位等。按照转换速度可分为超高速(转换时间=330ns),次超高速(330~3.3μS),高速(转换时间3.3~333μS),低速(转换时间>330μS)等。 A/D 转换器按照转换原理可分为直接A/D 转换器和间接A/D 转换器。所谓直接A/D 转换器,是把模拟信号直接转换成数字信号,如逐次逼近型,并联比较型等。其中逐次逼近型A/D 转换器,易于用集成工艺实现,且能达到较高的分辨率和速度,故目前集成化A/D 芯片采用逐次逼近型者多;间接A/D 转换器是先把模拟量转换成中间量,然后再转换成数字量,如电压/时间转换型(积分型),电压/频率转换型,电压/脉宽转换型等。其中积分型A/D 转换器电路简单,抗干扰能力强,切能作到高分辨率,但转换速度较慢。有些转换器还将多路开关、基准电压源、时钟电路、译码器和转换电路集成在一个芯片内,已超出了单纯A/D 转换功能,使用十分方便。 ADC 经常用于通讯、数字相机、仪器和测量以及计算机系统中,可方便数字讯号处理和信息的储存。大多数情况下,ADC 的功能会与数字电路整合在同一芯片上,但部份设备仍需使用独立的ADC。行动电话是数字芯片中整合ADC 功能的例子,而具有更高要求的蜂巢式基地台则需依赖独立的ADC 以提供最佳性能。 ADC 具备一些特性,包括: 1. 模拟输入,可以是单信道或多信道模拟输入; 2. 参考输入电压,该电压可由外部提供,也可以在ADC 内部产生; 3. 频率输入,通常由外部提供,用于确定ADC 的转换速率; 4. 电源输入,通常有模拟和数字电源接脚; 5. 数字输出,ADC 可以提供平行或串行的数字输出。在输出位数越多(分辨率越好)以及转换时间越快的要求下,其制造成本与单价就越贵。 一个完整的A/D转换过程中,必须包括取样、保持、量化与编码等几部分电路。 AD转换器需注意的项目: 取样与保持 量化与编码

单片机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 返回

相关文档
最新文档