应用adc0809的ad转换设计.docx
- 文档编号:5984515
- 上传时间:2023-01-02
- 格式:DOCX
- 页数:26
- 大小:163.33KB
应用adc0809的ad转换设计.docx
《应用adc0809的ad转换设计.docx》由会员分享,可在线阅读,更多相关《应用adc0809的ad转换设计.docx(26页珍藏版)》请在冰豆网上搜索。
应用adc0809的ad转换设计
应用ADC0809的A/D转换设计
摘要
此次设计的主要内容是利用ADC0809设计制做A/D转换器,电位器提供模拟量输入,编制程序,将模拟量转换成二进制数字量,51单片机通过8255的PA口输出到发光二极管进行显示,并将8位二进制数转换为3位BCD码并在3位数码管上进行显示,并在此基础上进行扩展。
由于热敏电阻输出量为模拟量,同样通过ADC0809进行A/D转换,并将其输出值在发光二极管以及3位数码管上进行显示,来反映温度的变化。
压力传感器的输出量经过ADC0809进行模数转换后经发光二极管以及数码管的显示来反映压力的变化。
关键词:
ADC0809A/D转换51单片机发光二极管数码管
thedesignoftheA/DconversionbasedonADC0809
Abstract
ThemaincontentofthisdesignisthatusetheADC0809makeaA/Dconversion.TheADC0809getAnalogsignalfromPotentiometers.ProgramandtransformitintoDigitalasBinary.The51Single-chipsentthedigitaltoLight-emittingdiodesbytheAI/Ointerfaceof8255,changethe8bitBinarynumberinto3bitBCDcode,thendevelopsit.
Theoutputofthethermistorisanalog,usetheADC0809makeaA/DconversionandsenttoLight-emittingdiodesandDigitaltubedisplayittheaimistoReflectthediversificationoftemperature.ADC0809changetheoutputofpressuresensorintodigitaldataandBedisplayedbyLight-emittingandDigitaltube,fromthiswecanseethechangeofpressurewegave.
Keywords:
ADC0809A/Dconversion51Single-chipLight-emitting
1绪论
1.1A/D转换概述
1.1.1A/D转换的概念
模数转换亦称模拟一数字转换,与数/模转换相反,是将连续的模拟量(如象元的灰阶、电压、电流,电压,温度等)通过取样转换成离散的数字量。
1.1.2A/D转换器的类型
现在已经发展形成的A/D转换器主要有以下几种:
1、积分型转换器,其优点是精度高,抗干扰性好;价格便宜,但速度慢。
2、逐次逼近型A/D转换器,精度,速度,价格适中。
3、并行A/D转换器,速度快,价格也昂贵。
除以上三种A/D转换器以外还有流水线A/D转换器,折叠差值A/D转换器,过采样Σ△A/D转换器。
在此次设计中应用的A/D转换器为ADC0809,它采用的是逐次逼近型A/D转换方法,在以后介绍硬件的时候再详细介绍逐次逼近型A/D转换技术。
1.2A/D转换在现实中的应用
A/D转换技术已应用在现实生活中的多个领域,随着计算机、通信和多媒体技术的飞速发展,全球高新技术领域数字化的程度已不断加深。
如今电子产业已经形成了以数字技术为主体的格局,特别是半导体产业显的尤为突出。
半导体技术数字化和集成化的日益提高,在推动微控制器(MCU)、数字信号处理器(DSP)、微机械电子系统(MEMS)的发展中,也推动了“嵌入”或“隐性”模数转换技术的发展。
在这些因素的影响下,模数转换技术正朝着高精度、高速度的发展方向迈进。
现在时的我们已经身处数字化时代,计算机,多媒体,软件技术都是以数字化为基础。
数字化技术正在引发一场范围广泛的产品革命,电器设备,信息处理设备,工厂控制设备都将向数字化方向变化。
2A/D转换的硬件介绍
2.1总体硬件介绍[1]
在本次设计中,电信号由电位器提供,其范围是0-5V的电压,电压进入ADC0809进行数模转换,转换结束时将转换结果送到51单片机进行短时间储存,之后将8位二进制数发送到8255的PA口,8位发光二极管与之相连,当有相应电信号到来时便通过发光与否进行显示相应结果。
同时在51单片机内将8位二进制数转换为3位BCD码,输出到3位7段数码管上进行显示。
图2.1总体硬件介绍
2.2电位器概述
电位器是一种可调的电子元件。
它是由一个电阻体和一个转动或滑动系统组成。
用于分压的可变电阻器。
在裸露的电阻体上,紧压着一至两个可移金属触点。
触点位置确定电阻体任一端与触点间的阻值。
当电阻体的两个固定触电之间外加一个电压时,通过转动或滑动系统改变触点在电阻体上的位置,在动触点与固定触点之间便可得到一个与动触点位置成一定关系的电压。
它大多是用作分压器,这是电位器是一个四端元件。
电位器基本上就是滑动变阻器,有几种样式,一般用在音箱音量开关和激光头功率大小调节电位器是一种可调的电子元件。
它是由一个电阻体和一个转动或滑动系统组成。
当电阻体的两个固定触电之间外加一个电压时,通过转动或滑动系统改变触点在电阻体上的位置,在动触点与固定触点之间便可得到一个与动触点位置成一定关系的电压。
电位器的作用:
调节电压(含直流电压与信号电压)和电流的大小。
电位器的结构特点:
电位器的结构特点——电位器的电阻体有两个固定端,通过手动调节转轴或滑柄,改变动触点在电阻体上的位置,则改变了动触点与任一个固定端之间的电阻值,从而改变了电压与电流的大小。
2.3ADC0809概述[3]
2.3.1ADC0809的内部逻辑结构
ADC0809是采样频率为8位的、以逐次逼近原理进行模—数转换的器件。
其内部有一个8通道多路开关,它可以根据地址码锁存译码后的信号,只选通8路模拟输入信号中的一个进行A/D转换。
ADC0809是CMOS单片型逐次逼近式A/D转换器,内部结构如图2.2所示。
图2.2ADC0809的内部逻辑结构
由图2.1可知,ADC0809由一个8路模拟开关、一个地址锁存与译码器、一个A/D转换器和一个三态输出锁存器组成。
多路开关可选通8个模拟通道,允许8路模拟量分时输入,共用A/D转换器进行转换,在此次设计中采用通道IN0进行模拟信号的采集,当然也可以用其他通道进行信号的采集,但是效果是一样的,因此信号输入端固定不变,选用IN0。
三态输出锁器用于锁存A/D转换完的数字量,当OE端为高电平时,才可以从三态输出锁存器取走转换完的数据。
ADC0809的主要特称为:
1)8路8位A/D转换器,即分辨率8位。
2)具有转换起停控制端。
3)转换时间为100μs。
4)单个+5V电源供电。
5)模拟输入电压范围0~+5V,不需零点和满刻度校准。
6)工作温度范围为-40~+85摄氏度。
7)低功耗,约15mw。
2.3.2ADC0809的外部特征[4]
ADC0809芯片有28条引脚,采用双列直插式封装,下面说明各引脚功能。
IN0~IN7:
8路模拟量输入端。
2-1~2-8:
8位数字量输出端。
ADDA、ADDB、ADDC:
3位地址输入线,用于选通8路模拟输入中的一路。
ALE:
地址锁存允许信号,输入,高电平有效。
START:
A/D转换启动信号,输入,高电平有效。
EOC:
A/D转换结束信号,输出,当A/D转换结束时,此端输出一个高电平(转换期间一直为低电平)。
OE:
数据输出允许信号,输入,高电平有效。
当A/D转换结束时,此端输入一个高电平,才能打开输出三态门,输出数字量。
CLK:
时钟脉冲输入端。
要求时钟频率不高于640KHZ。
REF(+)、REF(-):
基准电压。
Vcc:
电源,单一+5V。
图2.3逐次逼近型
GND:
地。
A、B、C:
地址输入线。
2.3.3逐次逼近型A/D转换方法
逐次逼近寄存器型A/D转换器是采样速率低于5Msps的中等至高分辨率应用的常见结构。
ADC0809的分辨率为8位,其实质上是实现一种二进制搜索算法。
逐次逼近寄存器型A/D转换器的基本结构如图2.3。
模拟输入电压(VIN)由采样/保持电路保持。
为实现二进制搜索算法,N位寄存器首先设置在中间刻度(即:
10000000,最高有效位(MSB)为‘1’)。
这样,D/A转换器输出(VDAC)被设为VREF/2,VREF是提供给ADC的基准电压。
然后,比较判断VIN是小于还是大于VDAC。
如果VIN>VDAC,则比较器输出逻辑高电平或‘1’,N位寄存器的MSB保持‘1’。
想法,如果VIN 随后逐次逼近型(SAR)控制逻辑移至下一位,并将该位设置为高电平,进行下一次比较。 这个过程一直持续到最低有效位(LSB)。 上述操作结束后,也就完成了转换,N位转换结果储存在寄存器内。 2.4MC51单片机概述[4] 51单片机组成结构中包含运算器、控制器、片内存储器、4个并行I/O口,串行口,定时/计算器、中断系统、振荡器等功能部件。 在此次设计中,51单片机起到衔接作用,其主要动作即为控制ADC0809进行模拟数据的采集及转换,并将转换的结果暂存在寄存器中,在输出到相应的显示器件上。 在此次设计中应用的中断方式读入结果,当A/D转换结束后会自动产生EOC信号,将其与51单片机的外部中断相连接,此时单片接接收转换完成的结果。 双列直插(DIP)式封装的51单片机芯片一般为40条引脚,每个引脚功能说明如下: 1.主电源引脚 VCC(40脚): 接+5V电源正端; VSS(20脚): 接+5V电源地端。 2.输入/输出引脚 (1)P0口(39-32): P0.0-P0.7统称为P0口。 在不接片外存储器与不扩展I/O口时,可作为准双向输入/输出口。 在接有片外存储器或扩展I/O口时,P0口分时复用为低8位地址总线和双向数据总线。 (2)P3口(10-17脚): P3.0-P3.7统称为P3口。 除作为准双向I/O口使用外,还可以将每一位用于第二功能,而且P3口的每一条引脚均可独立定义为第一功能的输入输出或第二功能,其中P3.2口的第二功能为 外部中断0请求输入端,低电平有效。 3.控制线 (1)ALE/ (30脚): 地址锁存有效信号输出端。 (2)PSEN(29脚): 片外程序存储器读选通信号输出端,低电平有效。 在从外部程序存储器读取指令或常数期间,在每个机器周期内该信号两次有效,以通过数据总线P0口读回指令或常数。 在访问片外数据存储器期间,PSEN信号将不出现。 (3)RES/VPD(9脚): RES即RESET,VPD为备用电源,该引脚为单片机的上电复位或掉电保护端。 (4)EA/VPP(31脚): EA为外部程序存储器选用端。 该引脚有效(低电平)时,只选用片外程序存储器,否则单片机上电或复位后选用片内程序存储器。 2.58255可编程并行I/O接口芯片概述[2] 8255是单片机应用系统中广泛被采用的可编程外部I/O扩展芯片。 它有3个8位并行I/O口,每个口有三种工作方式。 2.5.1芯片引脚及其内部结构 各引脚功能如下: Vcc: 电源的+5V断 GND: 电源的0端 RESET: 复位信号输出端,使内部各复位信号输出端,使内部各寄存器清除,置A,B,C口为输入口。 : 写信号输入端,使CPU输出数据或控制字到8255。 : 读信号输入端,使8255送数据或状态信号呢到CPU。 : 片选端。 A1、A0: 地址总线的最低2位,用于决定端口地址。 D7-D0: 双向数据总线。 PA7-PA0: A口的8位I/O引脚。 PB7-PB0: B口的8位I/O引脚。 PC7-PC0: C口的8位I/O引脚。 : 芯片选择信号。 来自片外译码电路,用于选中8255A芯片,低电平有效。 : 芯片读出信号,低电平有效。 即当 为‘0’时,51单片机从8255A读入数据或状态信息。 : 芯片写入信号,低电平有效。 即当 为‘0’时,51单片机向8255A写出数据或控制字。 A1、A0: 端口选择信号。 用于寻址8255A内部各端口,A1、A0的不同状态与各端口的对应关系如下: A1A0对应的端口 00A口 01B口 11C口 11控制口 电源与地线: VCC: 电源线,+5V。 GND: 接地线。 图2.48255内部结构框图 2.5.28255的内部结构 8255的内部结构由三个端口寄存器(端口A、端口B、端口C)、两组控制电路、一个数据总线缓冲器、一个读写控制逻辑电路部分组成。 其内部结构框图如图2.4所示。 各部分功能如下: 1.三个输入/输出端口 8255有3个8口数据端口A、B、C,每个端口都可以用软件设置成输入或输出端口,但也有各自的功能特点。 1)端口A: 对应有一个8位数据输入锁存器和一个8位数据输出锁存器/缓冲器,因此端口A可以为8位双向输入/输出口,且输入/输出均具有锁存功能。 2)端口B: 对应有一个8位数据输入缓冲器和一个8位数据输出锁存器/缓冲器,因此端口B可以为8位双向输入/输出口,且输出具有锁存功能。 3)端口C: 对应两组4位双向输入/输出口,它含有一个8位数据输入缓冲器和一个8位数据数输出锁存器/缓冲器,即输出锁存,输入不锁存。 4)A口和B口常常独立设为输入/输出。 C口常常通过命令分为两个4位端口,每个4位端口包含一个4位的输入缓冲和一个4位的输出锁存/缓冲器,分别为A口和B口提供控制信号和状态信号。 2.两组控制电路 A、B两组控制电路分别实现对A组I/D端口线(A7-A0和C7-C4)和B组I/O端口线(B7-B0和C3-C0)的输入/输出控制。 一方面接收来自内部总线上的控制字一方面接收来自读/写控制逻辑的读/写命令,从而决定两组端口工作方式和读/写操作。 A组: 端口A和端口C(上半部分)PC7-PC4。 B组: 端口B和端口C(下半部分)PC3-PC0。 3.读/写控制逻辑电路 读/写控制逻辑负责管理8255的数据传输过程。 根据地址译码后的片选 、来自控制总线的信号 、 以及来自地址总线的地址信息A1、A0,实现对数据、状态、控制信号的传输。 如表2.3所示为8255的控制信号与传输动作的对应关系。 4.数据总线缓冲器 数据总线缓冲器为双向三态8为缓冲器,它是8255与微机数据总线的接口。 其上传输的信息有输入数据、输出数据、51单片机写给8255的控制字以及从8255读入的状态信息。 2.6发光二极管概述[6] 在此次设计中基本设计实现的显示元件时8个不同颜色的发光二极管,当有高电平通过时,发光二极管亮,低电平时发光二极管灭。 电平信号的来源是8255的PA口。 2.7LED数码管概述[7] LED数码管是由发光二极管显示字段组成的显示器件,在此次单片机应用系统中是八段LED。 这种显示器有共阴极和共阳极两种,此次系统中使用的是共阴极显示器,如图所示。 共阴极LED显示器的发光二极管的阴极接地,发光二极管的阳极为高电平时,发光二极管点亮。 显示字符 共阴极段选码 显示字符 共阴极段选码 0 3FH C 39H 1 06H D 5EH 2 5BH E 79H 3 4FH F 71H 4 66H P 73H 5 6DH U 3EH 6 7DH T 31H 7 07H y 6EH 8 7FH 8. FFH 9 6FH “灭” 00H A 77H … … B 7CH 表2.1八段LED的段选码 八段LED显示器中有8个发光二极管,其中7个发光二极管构成7笔字形“”,1个发光二极管构成小数点。 八段LED显示块的管教如图所示。 从a-b管教输出不同的8位二进制数,可显示不同的数字或字符。 通常把控制发光二极管的8位二进制数称为段选码,共阳极与共阴极的段选码互为反码,如表2.1所示。 3A/D转换的具体设计及程序实现 3.1A/D转换的总体设计[8] 在本次设计中,当51单片机给ADC0809的START引脚一个高电平,标志着转换的开始,ADC0809通过IN0通道进行模拟信号的采集,IN0通道是通过地址锁存器来确定的,3位端口地址与8位数据口的前三位是复用的。 采集模拟信号之后在ADC0809的内部进行模数转换,这时ADC0809的EOC引脚输出电平为低电平,表示转换正在进行,当转换完毕,EOC输出高电平给51单片机的INT0引脚,引起中断,51单片机给ADC0809的OE引脚一高电平,ADC0809随即输出转换完成的数据,到51单片机的内部寄存器中。 一方面51单片机通过8255的PA口将数据输出到8位发光二极管上进行显示,另一方面,51单片机将8位二进制数转换为3位BCD码并输出到3位7段数码管上进行显示。 电位器ADC80951单片机显示部分 图3.1总体设计图 3.251单片机的中断[10] 3.2.1中断的基本概念 所谓中断,是指CPU对系统中或系统外发生的某个事件的一种响应过程,即CPU暂时停止现行程序的执行,而自动转去执行预先安排好的处理该事件的服务子程序;当处理结束后,再返回到被暂停程序的断点处,继续执行原来的程序。 实现这种中断功能的硬件系统和软件系统称为中断系统。 中断系统是计算机的重要组成部分。 实时控制、故障自动处理时往往用到中断系统,计算机与外部设备间传送数据及实现人机联系时常常采用中断方式。 3.2.2程序的入口地址 程序地址空间可以任意安排,但复位和中断源的程序入口地址在51单片机中式固定的,不能更改。 这些入口地址见表。 复位后,CPU从0000H地址开始执行程序。 其他地址为中断服务程序入口地址,响应某个中断时,将自动从其对应的入口地址执行中断服务程序如表3.1. 操作 入口地址 复位 0000H 外部中断0 0003H 定时器/计数器0溢出 000BH 外部中断1 0013H 定时器/计数器1溢出 001BH 串行口中断 0023H 表3.1中断服务程序入口地址 3.2.3中断响应的条件、过程与时间 (1)中断响应的条件 单片机响应中断的条件为中断源有请求(中断允许寄存器IE相应位置1),且CPU开中断(即EA=1)。 这样,在每个机器周期的S5P2期间,对所有中断源按用户设置的优先级和内部规定的优先级进行顺序检查,并可在SP6期间找到所有有效的中断请求。 如有中断请求,且满足下列条件,则在下一个机器周期的SP1期间响应中断,否则将丢弃中断采样的结果: 1)无同级或高级中断正在处理。 2)现行指令到最后一个机器周期且已结束。 3)现行指令为RETI或访问IE、IP指令,执行完该指令且紧随其后的另一条指令也已执行完毕。 (2)中断响应过程[9] CPU响应中断后,由硬件自动执行如下的功能操作: 1)根据中断请求的源的优先级高低,对相应的优先级状态触发器置1. 2)保护断点,即把程序计数器PC的内容压入堆栈保护。 3)清内部硬件可清除的中断请求标志位(IE0、IE1、TF0、TF1)。 4)把被相应的中断服务程序入口地址送入PC,从而转入相应的中断服务程序执行。 各中断服务程序的入口地址见表。 中断服务程序的最后一条指令必须是中断返回指令RETI。 CPU执行该指令时,先将相应的优先级状态触发器清0,然后从堆栈中弹出断点地址到PC,从而返回到断点处。 由以上过程可知,51单片机响应中断后,只保护断点而不保护现场信息,且不能清除串行口中断标志T1和R1,也无法清除电平触发的外部中断请求信号。 3.3ADC0809的工作过程[5] ADC0809对输入模拟量要求: 信号单极性,电压范围是0-5V,若信号太小, ADDC ADDB ADDA 选通的通道 0 0 0 IN0 0 0 1 IN1 0 1 0 IN2 0 1 1 IN3 1 0 0 IN4 1 0 1 IN5 1 1 0 IN6 1 1 1 IN7 表3.2ADC0809通道地址选择表 必须进行放大;输入的模拟量在转换过程中应该保持不变,如若模拟量变化太快,则需在输入前增加采样保持电路。 IN0-IN7为8路模拟量输入端,模拟量输入电压的范围是0-5V,对应的数字量为00H-FFH,转换时间为100us。 ADDA、ADDB、ADDC为通道地址线,用于选通通道,详细情况如表3.2所示。 ALE是通道地址锁存信号,其上出现脉冲上升沿时,把ADDA、ADDB、ADDC地址状态送入地址锁存器中。 VREF(+)、VREF(-)接基准电源,在精度要求不太高的情况下,供电电源可用作基准电源。 START是启动引脚,其上脉冲的下降沿启动一次新的A/D转换。 ECO是转换结束信号,可用于向单片机申请中断或供单片机查询。 CLK是时钟端,典型的时钟频率为640KHZ。 ADC0809的工作的定时关系如图3.1所示。 图3.2ADC0809转换工作时序 从图中可以看出在进行A/D转换时,通道地址应先送到ADDA-ADDC输入端。 然后在ALE输入端加一个正跳变脉冲,将通道地址锁存到ADC0809内部的地址锁存器中,这样对应的模拟电压输入就和内部变换电路接通。 为了启动,必须在START端加一个负跳变信号。 此后,变换工作就开始进行,标志ADC0809正在工作的状态信号EOC由高电平(空闲状态)变为低电平(工作状态)。 一旦变换结束,EOC信号就又由低电平变成高,此时只要在OE端加一个高电平,即可打开数据线的三态缓冲器从D0-D7数据线读得一次变换后的数据。 数字量输出及控制线: 11条 ST为转换启动信号。 当ST上跳沿时,所有内部寄存器清零;下跳沿时,开始进行A/D转换;在转换期间,ST应保持低电平。 EOC为转换结束信号。 当EOC为高电平时,表明转换结束;否则,表明正在进行A/D转换。 OE为输出允许信号,用于控制三条输出锁存器向单片机输出转换得到的数据。 OE=1,输出转换得到的数据;OE=0,输出数据线呈高阻状态。 D7-D0为数字量输出线。 CLK为时钟输入信号线。 因ADC0809的内部没有时钟电路,所需时钟信号必须由外界提供,通常使用频率为500KHZ, VREF(+),VREF(-)为参考电压输入。 ADC0809的工作过程是: 首先输入3位地址,并使ALE=1,将地址存入地址锁存器中。 此地址经译码选通8路模拟输入之一到比较器。 START上升沿将逐次逼近寄存器复位。 下降沿启动A/D转换,之后EOC输出信号变低,指示转换正在进行。 直到A/D转换完成,EOC变为高电平,指示A/D转换结束,结果数据已存入锁存器,这个信号可用作中断申请。 当OE输入高电平时,输出三态门打开,转换结果的数字量输出到数据总线上。 3
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 应用 adc0809 ad 转换 设计