ADC0809数字电压表报告
AD0809实现的数字电压表
AD0809实现的数字电压表利用单片机AT89S51与ADC0809设计一个数字电压表,能够测量0-5V 之间的直流电压值,四位数码显示,但要求使用的元器件数目最少。
1、AD0809 的逻辑结构ADC0809 是 8 位逐次逼近型 A/D 转换器。
它由一个 8 路模拟开关、一个地址锁存译码器、一个 A/D 转换器和一个三态输出锁存器组成(见图 1)。
多路开关可选通 8 个模拟通道,允许 8 路模拟量分时输入,共用 A/D 转换器进行转换。
三态输出锁器用于锁存 A/D 转换完的数字量,当 OE 端为高电平时,才可以从三态输出锁存器取走转换完的数据。
2、AD0809 的工作原理IN0-IN7:8 条模拟量输入通道。
ADC0809 对输入模拟量要求:信号单极性,电压范围是 0-5V ,若信号太小,必须进行放大;输入的模拟量在转换过程中应该保持不变,如若模拟量变化太快,IN7IN0ADDA ADDB ADDC ALEVREF+ VREF- OEADC0809功能方框图则需在输入前增加采样保持电路。
地址输入和控制线:4 条ALE 为地址锁存允许输入线,高电平有效。
当ALE线为高电平时,地址锁存与译码器将A,B,C 三条地址线的地址信号进行锁存,经译码后被选中的通道的模拟量进转换器进行转换。
A,B 和C 为地址输入线,用于选通IN0-IN7上的一路模拟量输入。
通道选择ST:为转换启动信号。
当ST 上跳沿时,所有内部寄存器清零;下跳沿时,开始进行A/D转换;在转换期间,ST 应保持低电平。
EOC:为转换结束信号。
当EOC 为高电平时,表明转换结束;否则,表明正在进行A/D 转换。
OE:为输出允许信号,用于控制三条输出锁存器向单片机输出转换得到的数据。
OE=1,输出转换得到的数据;OE=0,输出数据线呈高阻状态。
D7-D0:数字量输出线。
CLK 为时钟输入信号线。
因ADC0809 的内部没有时钟电路,所需时钟信号必须由外界提供,通常使用频率为500KHZ,V REF(+),V REF(-)为参考电压输入。
ADC08_09电压测量实验(基于查询、中断两种方式的数据读取)
·数字电压表1.实验任务利用单片机STC89C52与ADC0809设计一个数字电压表,能够测量0-5V之间的直流电压值,两位数码显示。
2.现有元件模数转换器ADC0809,STC89C52单片机,两个共阴极数码管。
3.硬件设计3.1模数转换器ADC0809与单片机STC89C52的连接(1) ADC0809规格及引脚分配图如下图3-1所示:图3-1 ADC0809引脚图(2) STC89C52各个引脚分布如下图3-2所示:图3-2 STC89C52引脚图(3) 硬件连线(a) 把“单片机系统”区域中的P3.0与”模数转换模块ADC0809“区域中的ST端子用导线相连接。
(b) 把“单片机系统”区域中的P3.1与”模数转换模块ADC0809“区域中的ALE端子用导线相连接。
(c) 把“单片机系统”区域中的P3.2与”模数转换模块ADC0809“区域中的EOC端子用导线相连接。
(d) 把“单片机系统”区域中的P3.6与”模数转换模块ADC0809“区域中的OE端子用导线相连接。
(e) 把“单片机系统”区域中的P3.7与”模数转换模块ADC0809“区域中的CLK端子用导线相连接。
(f) 把“模数转换模块ADC0809”区域中的ADDA、ADDB、ADDC端子用导线连接到单片机的VCC端子上。
把“模数转换模块ADC0809”区域中IN7与外接输入电压相连。
(g) 把“单片机系统”区域中的P2.0-P2.7连接到“模数转换模块ADC0809”区域中D0D1D2D3D4D5D6D7端子上。
(h) 把“单片机系统”区域中的P1.0-P1.7连接到“数码管”区域中ABCDEFGH端子上,且在P1.0-P1.7上分别接上0.5KΩ的上拉电阻。
把“单片机系统”区域中的P0.0-P0.1分别连接到两个共阴极“数码管”的GND。
4. 电路原理图图4 电路原理图5. 程序设计内容由于ADC0809在进行A/D转换时需要CLK信号,而此时ADC0809的CLK是接在单片机的P3.7口,也就是要求从P3.7输出CLK信号供ADC0809使用。
8位数模转换器ADC0809实验报告
P2口:P2口为一个内部上拉电阻的8位双向I/O口,P2口缓冲器可接收,输出4个TTL门电流,当P2口被写“1”时,其管脚被内部上拉电阻拉高,且作为输入。并因此作为输入时,P2口的管脚被外部拉低,将输出电流。这是由于内部上拉的缘故。P2口当用于外部程序存储器或16位地址外部数据存储器进行存取时,P2口输出地址的高八位。在给出地址“1”时,它利用内部上拉优势,当对外部八位地址数据存储器进行读写时,P2口输出其特殊功能寄存器的内容。P2口在FLASH编程和校验时接收高八位地址信号和控制信号。
单片机原理与接口技术
课程设计说明书
8位数模转换器ADC0809项目设计
专业
电气工程及其自动化
学生姓名
林雯雯
班级
D电气122
学号
1220601220
指导教师
周云龙
完成日期
2015年12月12日
一 理论部分
1
8位数模转换器ADC0809实验
(1)、设计一个0-5V可调的直流模拟电压信号
(2)、扩展2位静态显示的数码管
XTAL1:反向振荡放大器的输入及内部时钟工作电路的输入。
XTAL2:来自反向振荡器的输出。
特性概述:
AT89C51 提供以下标准功能:4k 字节Flash 闪速存储器,128字节内部RAM,32 个I/O 口线,两个16位定时/计数器,一个5向量两级中断结构,一个全双工串行通信口,片内振荡器及时钟电路。同时,AT89C51可降至0Hz的静态逻辑操作,并支持两种软件可选的节电工作模式。空闲方式停止CPU的工作,但允许RAM,定时/计数器,串行通信口及中断系统继续工作。掉电方式保存RAM中的内容,但振荡器停止工作并禁止其它所有部件工作直到下一个硬件复位。
【毕业设计】基于ADC0809液晶显示的数字电压表设计
基于ADC0809液晶显示的数字电压表设计目录摘要 (I)前言............................................................... I I 1主要元器件的介绍和本系统的选择 (1)1.1常用单片机的特点比较及本设计单片机的选择 (1)1.5 LCD1602使用说明 (4)1.6 常用的A/D芯片简介 (7)1.7 ADC0809引脚结构功能说明 (7)2 总体设计及硬件电路模块功能简介 (8)2.1 技术要求: (8)2.2 设计方案: (8)2.3 系统硬件电路的设计 (8)2.4 单片机系统 (9)2.5 数模转换系统 (9)2.6 时钟电路 (9)2.7 复位电路 (9)2..8 显示电路设计 (9)3电压表系统电路的制做 (10)3.1 绘制电路板 (10)3.2 铜板的转印、腐蚀、钻孔、焊接 (10)3.3 焊接好后的电压表系统 (11)3.4 动手制作心得 (12)4 系统的调试 (13)4.1 硬件调试 (13)4.2 软件件调试 (13)4.3 软硬联调 (14)5 数据结果分析 (14)5.1 系统调试和校准 (14)5.2 测试数据 (14)总结 (15)致谢 (16)参考文献 (17)附件一(系统电路原理图) (18)附件二(电压表系统程序) (19)基于ADC0809液晶显示的数字电压表设计谭小品摘要单片机是一种集成电路芯片,采用超大规模技术把具有数据处理能力(的微处理器(CPU)。
随着单片机技术的飞速发展,各种单片机蜂拥而至,单片机技术已成为一个国家现代化科技水平的重要标志。
单片机可单独地完成现代工业控制所要求的智能化控制功能,这是单片机最大的特征。
单片机控制系统能够取代以前利用复杂电子线路或数字电路构成的控制系统,可以软件控制来实现,并能够实现智能化。
现在单片机控制范畴无所不在,例如通信产品、家用电器、智能仪器仪表、过程控制和专用控制装置等等,单片机的应用领域越来越广泛。
用ADC0809实现数字电压表显示
1 引言随着微电子技术的不断发展与进步,微处理器芯片的集成程度越来越高,单片机已可以在一块芯片上同时集成CPU、存储器、定时器/计数电路,这就很容易将计算机技术与测量控制技术结合,组成智能化测量控制系统。
数字电压表(Digital Voltmeter)简称DVM,它是采用数字化测量技术,把连续的模拟量(直流输入电压)转换成不连续、离散的数字形式并加以显示的仪表。
由于数字式仪器具有读数准确方便、精度高、误差小、测量速度快等特而得到广泛应用。
传统的指针式刻度电压表功能单一,进度低,容易引起视差和视觉疲劳,因而不能满足数字化时代的需要。
采用单片机的数字电压表,将连续的模拟量如直流电压转换成不连续的离散的数字形式并加以显示,从而精度高、抗干扰能力强,可扩展性强、集成方便,还可与PC实时通信。
数字电压表是诸多数字化仪表的核心与基础。
以数字电压表为核心,可以扩展成各种通用数字仪表、专用数字仪表及各种非电量的数字化仪表。
目前,由各种单片机和A/D转换器构成的数字电压表作全面深入的了解是很有必要的。
最近的几十年来,随着半导体技术、集成电路(IC)和微处理器技术的发展,数字电路和数字化测量技术也有了巨大的进步,从而促使了数字电压表的快速发展,并不断出现新的类型。
数字电压表从1952年问世以来,经历了不断改进的过程,从最早采用继电器、电子管和形式发展到了现在的全固态化、集成化(IC化),另一方面,精度也从0.01%-0.005%。
目前,数字电压表的内部核心部件是A/D转换器,转换的精度很大程度上影响着数字电压表的准确度,因而,以后数字电压表的发展就着眼在高精度和低成本这两个方面。
本文是以数字电压表的设计为研究内容,主要包括数据的A/D转换、数字数据处理及LED显示。
其中,A/D转换采用ADC0809对输入的模拟信号进行转换,控制核心AT89C51再对转换的结果进行运算处理,最后驱动输出装置LED显示数字电压信号。
2 设计总体方案2.1 设计要求基本要求:采用51系列单片机和ADC设计一个数字电压表,输入为0~5V线性模拟信号,输出通过LED显示,要求显示两位小数。
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芯片的工作原理和应用方法。
通过实际操作和观察,我们掌握了模拟信号的数字化转换技术。
同时,通过对实验结果的分析和总结,我们对模拟信号的数字化处理有了更为深入的理解。
七、实验心得本次实验对于我们来说是一次非常有意义的实践活动。
基于51单片机 ADC0808(ADC0809)多通道数字电压表74HC595(74 LS595)移位寄存器
多路数据采集系统摘要本系统利用现场信号产生器给八路数据采集器(ADC0809)进行提供信号,通过模数转换把哪一路数据多少传送给单片机,通过单片机程序处理显示。
采集方式利用循环采集和选择采集两种,显示部分用四位一体共阳数码管。
一.系统原理ADC0809是CMOS工艺、采用逐次逼近法的8位A/D转换芯片,28引脚DIP(双列直插式封装)封装,可以进行8路模拟量到数字量的变换。
利用单片机可以对8路进行循环采集显示,要对信号进行选择采集,只对单片机外围加入按键利用按键判别选取哪一路进行数据采集。
通过单片机P3.0~P3.3进行对ADC0809提供时钟信号还有启动转换信号,读取信号等。
P3.5~P3.8经74LS373(带三态缓冲输出的8D触发器)进行选择通道(如图1、图2)。
(此处选择74LS373是因为选择通道是不能太快,否则会出错)。
由P1口进行接收采集到的数据。
通过P0进行段选输出到数码管,由P2口低四位进行位选。
P2高四位对按键信号输入处理选择哪个通道。
图1 ADC0809通道选择表图2 74LS47功能图图3 系统原理框图二.系统程序框图系统为了提高模拟信号—采样—量化—数字信号的过程的量化误差,通过程序的计算提高精度。
由于ADC0809只有八位数据输出,最大值为255,所以再显示前在单片机中要对ADC0809输出的数据进行以下处理。
显示值=ADC0809输出值/255*输入值如果输入5V电压,后面输入值就是500。
提供仿真图和仿真程序三.系统原理图原理图中八个数据采集口都悬空,接入想要采集模拟信号。
四.系统PCB图五.系统主要操作与性能(1)循环采样速率:50ms(2)电压采样精度:0.01V(3)再选择哪个通道时,要把哪个通道的按键一直按住就可以显示出你要的哪个通道的数据。
(4)不选择任一通道时,就会让它自已自动循环显示。
用ADC0809做成的数字电压表
届微机接口技术课程设计用ADC0809做成的数字电压表学生姓名学号所属学院专业班级指导教师日期大学教务处数字电压表(Digital Voltmeter)简称DVM,它是采用数字化测量技术,把连续的模拟量(直流输入电压)转换成不连续、离散的数字形式并加以显示的仪表。
传统的指针式电压表功能单一、精度低,不能满足数字化时代的需求,采用单片机的数字电压表,由精度高、抗干扰能力强,可扩展性强、集成方便,还可与PC进行实时通信。
本系统用单片机AT89S51构成数字电压表控制系统, 具有精度高、速度快、性能稳定和电路简单且工作可靠等特点, 具有很好的使用价值。
数字电压表(DVM)是诸多数字化仪表的核心与基础。
以数字电压表为基础,可扩展成各种数字仪表及非电量的数字化仪表,其应用覆盖电子电工测量、工业测量、自动化仪表等领域。
与指针式电压表相比,数字电压表具有很多优点:读数直观、准确,以数字形式显示电压,避免读数视差和视觉疲劳;显示范围宽、分辨力高,指针电压表准确度由0.1~5.0分为7个等级,数字电压表由0.000 5~1.0分为11个等级,数字电压表分辨力目前可做到从2到lo};转入阻抗(转入电阻)高(1~104Mft),吸收被测二二信号电流极小,测量误差小,几可忽略;集成度高,功耗小;可扩展能力强。
数字电压表结构如图1。
其中A/D转换器将转入的模拟量转换成数字信号,是数字电压表的核心。
目前,由各种单片A/D 转换器构成的数字电压表,已被广泛用于电子及电工测量、工业自动化仪表、自动测试系统等智能化测量领域,示出强大的生命力。
与此同时,由DVM 扩展而成的各种通用及专用数字仪器仪表,也把电量及非电量测量技术提高到崭新水平。
数字电压表是诸多数字化仪表的核心与基础,电压表的数字化是将连续的模拟量如直流电压转换成不连续的离散的数字形式并加以显示,这有别于传统的以指针加刻度盘进行读数的方法, 避免了读数的视差和视觉疲劳。
ADC0809电压表设计
基于单片机数字电压表班级:xxxxx班xxxx号日期:2012年11月8日ADC0809数字电压表摘要:本文介绍了基于AT89S52单片机数字电压表,描述利用ADC0809进行电压采样转换,同时用四位数码管显示的过程,电压表量程为5V,精度0.02V。
关键词: ADC0809,AT89S52。
一、前言随着时代的进步和发展,单片机技术已经普及到我们生活、工作、科研、各个领域,已经成为一种比较成熟的技术,同时各种电子器件技术的发展,为我们的生产生活带来了许许多多的便利,从最初的数码管到如今的液晶,人们的视觉体验得到了极大的提高。
同时AD转换技术发展,将人类从模拟时代带入了数字时代,极大地简化了人类的工作量,对生产力的发展起到了巨大的推动作用。
二、硬件电路单片机是一种集成在电路芯片,是采用超大规模集成电路技术把具有数据处理能力的中央处理器CPU随机存储器RAM、只读存储器ROM、多种I/O口和中断系统、定时器/计时器等功能集成到一块硅片上构成的一个小而完善的计算机系统。
ADC0809是美国国家半导体公司生产的CMOS工艺8通道,8位逐次逼近式A/D模数转换器。
其内部有一个8通道多路开关,它可以根据地址码锁存译码后的信号,只选通8路模拟输入信号中的一个进行A/D转换。
是目前国内应用最广泛的8位通用A/D芯片,引脚如图1.1。
2.1主要特性:1)8路输入通道,8位A/D转换器,即分辨率为8位。
2)具有转换起停控制端。
3)转换时间为100μs(时钟为640kHz时),130μs(时钟为500kHz时)4)单个+5V电源供电5)模拟输入电压范围0~+5V,不需零点和满刻度校准。
6)工作温度范围为-40~+85摄氏度7)低功耗,约15mW。
2.2 ADC0809应用说明:1)ADC0809 内部带有锁存器,可以与单片机直接相连。
2)初始化时,是ST和OE信号全部为低电平。
3)送药转换的那一通道的地址到A,B,C端口上。
51汇编之ADC0809数字电压表
51汇编之ADC0809数字电压表2009年10月13日星期二 23:29这两天,一个网友用ADC0832采样并PC机处理,一个网友用ADC0809采样显示,都遇到点问题,我给过参考例程也解释过,但是他们在调试上还有问题。
这里把网友沙漠狂风的ADC0809采样显示部分调试好了。
关于ADC0809的资料,这里就不给出了,网上很多。
由于仿真软件里的ADC0809元件有问题,这里用ADC0808代替,它和ADC0809区别很小。
;########################################################;********************************************************;程序名称: ADC0808电压表;主控芯片: 89c51 ,12MHZ,(ADC0808,共阴极数码管);程序编写者:buyixin (不亦心);编写时间: 2009年10月13日 22:24;不亦心的博客:/不亦心/;********************************************************;########################################################OE BIT P3.0 ;ADC0808的OE端EOC BIT P3.1 ;ADC0808的EOC端ST BIT P3.2 ;ADC0808的START和ALE端ADD0 BIT P3.4 ;ADC0808的模拟输入选择端ADD1 BIT P3.5ADD2 BIT P3.6LED_0 DATA 30H ;显示缓冲区LED_1 DATA 31HLED_2 DATA 32HLED_3 DATA 33HADC DATA 34H ;存放转换后的数据;//////主程序开始////////////////////////////////////////ORG 0000HAJMP STARTORG 0030H;------初始化-----------------------------------START: MOV SP,#60H ;设置堆栈MOV LED_0,#00H ;清空显示缓冲区MOV LED_1,#00HMOV LED_2,#00HMOV LED_3,#00HMOV DPTR,#TABLE ;送字型码表首地址SETB ADD0SETB ADD1CLR ADD2 ;选择ADC0808的通道3;------ADC0808转换------------------------------WAIT: CLR STSETB STCLR ST ;启动转换JNB EOC,$ ;等待转换结束SETB OE ;允许输出MOV ADC,P1 ;暂存转换结果CLR OE ;关闭输出;------数据处理,已备显示------------------------MOV A,ADC ;将AD转换结果转换成BCD 码MOV B,#0C3H ;乘以19.5MVMUL ABMOV R7,AMOV R6,BHB2: CLR A ;BCD码初始化CLR CMOV R3,AMOV R4,AMOV R5,AMOV R2,#10H ;转换双字节十六进制整数HB3: MOV A,R7 ;从高端移出待转换数的一位到CY中RLC AMOV R7,AMOV A,R6RLC AMOV R6,AMOV A,R5 ;BCD码带进位自身相加,相当于乘2ADDC A,R5DA A ;十进制调整MOV R5,AMOV A,R4ADDC A,R4DA AMOV R4,AMOV A,R3ADDC A,R3MOV R3,A ;双字节十六进制数的万位数不超过6,不用调整DJNZ R2,HB3MOV A,R5SWAP AANL A,#0FHMOV LED_0,AMOV A,R4ANL A,#0FHMOV LED_1,AMOV A,R4SWAP AANL A,#0FHMOV LED_2,AMOV A,R3ANL A,#0FHMOV LED_3,ALCALL DISP ;调用显示子程序AJMP WAIT;//////数码管显示子程序///////////////////////////////////////////////DISP: MOV A,LED_0 ;数码显示子程序MOVC A,@A+DPTRCLR P2.3MOV P0,ALCALL DELAYSETB P2.3MOV A,LED_1MOVC A,@A+DPTRCLR P2.2MOV P0,ALCALL DELAYSETB P2.2MOV A,LED_2MOVC A,@A+DPTRCLR P2.1MOV P0,ALCALL DELAYSETB P2.1MOV A,LED_3MOVC A,@A+DPTRCLR P2.0MOV P0,ASETB P0.7LCALL DELAYSETB P2.0RET;//////延时子程序////////////////////////////////////DELAY: MOV R6,#0AH ;延时5毫秒D1: MOV R7,#0FAHDJNZ R7,$DJNZ R6,D1RET;//////数码管字形码表/////////////////////////////////TABLE: DB 3FH,06H,5BH,4FH,66HDB 6DH,7DH,07H,7FH,6FH;/////程序结束////////////////////////////////////////END硬件部分:仿真的时候,ADC0808时钟端,我直接加的500KHZ的方波,实际中一般有单片机的ALE 端取时钟信号。
使用ADC0809制作数字电压表
LCD1602_WrCom(0x38); //8位数据,双列,5*7字形
LCD1602_WrCom(0x0c); //开启显示屏,关光标,光标不闪烁
LCD1602_WrCom(0x06); //显示地址递增,即写一个数据后,显示位置右移一位
LCD1602_WrCom(0x01); //清屏
LCD1602_WrCom(0x80); //先写入空白,不然不能直接写第二行
LCD1602_WrCom(0x80+pos); //显示地址设为80H+起始位置
else
LCD1602_WrCom(0x80+0x40+pos); //显示地址设为80H+起始位置
LCD1602_Delay(5);
LCD1602_WrData(txt);
return 0;
}
uchar LCD1602_ShowNum(uchar line, ucharpos,uintnum)
for(i=0;i<5;i++)
{
if(num/tenPower || zero || i==4)
{
LCD1602_WrData('0'+num/tenPower);
zero=1;
}
else
{
LCD1602_WrData(' ');
}
LCD1602_Delay(1);
num%=tenPower;
tenPower/=10;
Delay(5);
DCSTARTPIN=1 ;
Delay(20);
DCSTARTPIN=0;
while(DCEOCPIN==0)
;
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灯中,我们可以更好地理解数字信号的应用和意义。
同时,该实验也为我们打下了更深入学习数字电路和信号处理技术的基础。
AD0809简易数字电压表
if(i==3) {ZLG7290_Download(0,0,0,disp[i]); delay(1); } // ZLG7290_Download(7,0,0,disp[4]); //ZLG7290_Download(6,0,0,disp[5]); //ZLG7290_Download(5,0,0,disp[6]); //P1=k; // k=k>>=1; for(j=200;j>0;j--);} //P1=0xff;} unsigned int ADC0809() {unsigned int d; ADDC=0; ADDB=0; ADDA=0; TR1=1; START=1;START=0; while(EOC==0); OE=1; d=data_point; OE=0; TR1=0; return d;}
A09电压表设计要求
要求: 设计一个简易的数字电压表,用来测量我们焊接的单片 机开发板中AD0809模块前端电位器R40的实时电压值,并 用电路板中左4位数码管的前三位显示当前模拟电压的十进 制数字量值,同时用右数码管显示当前的模拟电压值.
附加要求: 为了防止数字电压表使用时出现测量值与实际值存在误 差的问题,须增加能通过按键对十进制数字量测量值进行100 以内补偿值设定的功能.
二、A/D转换的流程图
开始 初始化 左右数码管显示十进制
在LCD中显示数码管中的数值
判断是否 按键按下? 是 减1 判断是加1 还是减1?
否
加1
结束
三、设计中的问题
1、串口在线下载问题; 2、数码管的显示问题; 3、用周立公芯片实现按键加一; 4、LCD的显示; 5、调试中遇到显示不稳定;
智能数字电压表设计实验报告
实验一智能数字电压表设计一、实验目的:1、掌握ADC0809芯片的性能和典型应用及对应的硬件电路。
2、掌握A/D转换芯片ADC0809将模拟量转换成数字量的过程与基本原理。
3、掌握了解A/D转换软件的不同控制方式。
4、掌握VB软件的基本使用方法以及其使用的编程语言。
二、实验内容:1、运用单片机编写程序,实现ADC0809的时序控制。
2、运用VB编写一个上位机显示界面。
3、实现对ADC0809器件的通道0上外接的可调电阻的模拟电压转换成数字量,通过所编写的VB界面显示出来。
4、根据题目要求,设计电路,并进行实际硬件安装与调试。
三、实验原理与设计(一)硬件部分1、ADC0809工作原理ADC 0809是CMOS器件,不仅包括一个8位的逐次逼近型的ADC部分,而且还提供一个8通道的模拟多路开关和通道寻址逻辑,因而把它作为简单的“数据采集系统”。
利用它可直接输入8个单端的模拟信号分时进行A/D转换,常运用于多点巡回检测和过程控制、运动控制中。
1) 主要技术指标和特性(1)分辨率:8位。
(2)总的不可调误差:ADC0808为±1/2 LSB,ADC 0809为±1 LSB。
(3)转换时间取决于芯片时钟频率,如CLK=500kHz时,TCONV=128μs。
(4)单一电源:+5V。
(5)模拟输入电压范围:单极性0~5V,双极性±5V、±10V(需外加一定电路)。
(6)具有可控三态输出缓存器。
(7)启动转换控制为脉冲式(正脉冲),上升沿使所有内部寄存器清零,下降沿使A/D转换开始。
(8)使用时不需进行零点和满刻度调节。
2) 内部结构和外部引脚介绍ADC0808/0809的内部结构如图1所示以及各引脚定义分述如下:图1 ADC0809内部结构框图(1)IN0~IN7——8路模拟输入,通过3根地址译码线ADDA、ADDB、ADDC来选通一路。
通道选择表如下:(2)D7~D0——A/D转换后的数据输出端,为三态可控输出,故可直接和微处理器数据线连接。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
摘要数字电压表的基本工作原理是利用A/D转换电路将待测的模拟信号转换成数字信号,通过相应换算后将测试结果以数字形式显示出来的一种电压表。
较之于一般的模拟电压表,数字电压表具有精度高、测量准确、读数直观、使用方便等优点。
A/D转换主要由芯片ADC0809来完成,它负责把采集到的模拟量转换为相应的数字量在传送到数据处理模块。
数据处理则由芯片STC89C52来完成,其负责把ADC0809传送来的数字量经过一定的数据处理,产生相应的显示码送到显示模块进行显示;此外它还控制着ADC0809芯片工作。
此数字电压表可以测量0-5V的1路模拟直流输入电压值,并通过一个四位一体的7段数码管显示出来。
关键字:STC89C52、ADC0809、数字电压表、A/D转换一、设计任务与要求1.1 设计任务基于单片机制作一个简易数字电压表,利用ADC0809芯片将电位器102的电阻值转换为电压值显示在数码管上。
1.2 设计要求(1)以STC89C52系列单片机为核心器件组成一个简单的直流数字电压表;(2)采用1路模拟量输入,能够测量0-5V之间的直流电压;(3)电压显示用4位一体的共阴级LED数码管显示,至少能够显示两位小数;(4)A/D转换采用ADC0809实现,与单片机的接口为P1口和P3口部分引脚。
LED数码管的段码输入由并行端口P0产生,位码输入用并行端口P2高四位产生。
二、方案设计2.1 硬件设计2.1.1单片机模块设计单片机控制模块的作用是为控制各单元电路的运行并完成数据的换算或处理,主要由单片机、时钟电路、复位电路组成。
STC89C52是一种低功耗、高性能CMOS8位微控制器,具有 8K 在系统可编程Flash 存储器,其引脚如下图所示:STC89C52引脚图2.1.2 P0口上拉电阻一般作单键触发使用时,如果IC本身没有内接电阻,为了使单键维持在不被触发的状态或是触发后回到原状态,必须在IC外部另接一电阻。
数字电路有三种状态:高电平、低电平、和高阻状态,有些应用场合不希望出现高阻状态,可以通过上拉电阻或下拉电阻排阻消除高阻状态。
上拉电阻的实际功能就是从电源高电平引出的电阻接到输出端。
如果电平用OC(集电极开路,TTL)或OD(漏极开路,CMOS)输出,那么不用上拉电阻是不能工作的,这个很容易理解,管子没有电源就不能输出高电平了。
如果输出电流比较大,输出的电平就会降低(电路中已经有了一个上拉电阻,但是电阻太大,压降太高),就可以用上拉电阻提供电流分量,把电平“拉高”。
(就是并一个电阻在IC内部的上拉电阻上,这时总电阻减小,总电流增大)。
当然管子按需要工作在线性范围的上拉电阻不能太小。
当然也会用这个方式来实现门电路电平的匹配。
九排上拉电阻本次设计中使用的上拉电阻是一个九位排阻(如图所示)。
顾名思义,排阻就是若干个参数完全相同的电阻,它们的一个引脚都连到一起,作为公共引脚,其余引脚正常引出。
所以如果一个排阻是由n个电阻构成的,那么它就有n+1只引脚,一般来说,最左边的那个是公共引脚,它在排阻上一般用一个色点标出来。
由于排阻引脚众多,所以排阻比若干只固定电阻更为方便。
本次设计中九位排阻在依次连接单片机P0口各引脚的同时并依序连接数码管各引脚(上拉电阻VCC端接单片机VCC端)。
上拉电阻既能为单片机提供部分电压能力,同时也能起到预防线路中电流过大的作用。
2.1.3 电位器102电位器是具有三个引出端、阻值可按某种变化规律调节的电阻元件。
电位器通常由电阻体和可移动的电刷组成。
当电刷沿电阻体移动时,在输出端即获得与位移量成一定关系的电阻值或电压。
电位器既可作三端元件使用也可作二端元件使用。
后者可视作一可变电阻器。
可变电阻器,顾名思义,就是可以调整电阻的大小。
电路接在该电阻的中间时,电阻只有原来的一半,接到最边缘时,则是该电阻的原来大小。
看需要来选择接的地方,就是可变电阻。
电位器(可变电阻)为电阻值可以调整改变的电阻。
在类比电路中,为符合所谓设计值规格的调整作业非常麻烦。
但为考虑精确度,必须对各定数的偏差作局部限制,而在这调整作业中就必须用到可变电阻。
电位器是可变电阻器的一种。
通常是由电阻体与转动或滑动系统组成,即靠一个动触点在电阻体上移动,获得部分电压输出。
电位器的作用即是调节电压(含直流电压与信号电压和电流的大小)。
电位器102本次设计用到的是电位器102(如图),其阻值为1K。
通过改变电位器阻值,ADC0809将采集到的阻值模拟量转换为相应的数字量在传送到数据处理模块,最终以数字的形式显示在LED数码管上。
2.1.4 四位共阴数码管4-LED显示器引脚如图所示,是一个共阴极接法的4位LED数码显示管,其中a,b,c,e,f,g为4位LED各段的公共输出端,1、2、3、4分别是每一位的位数选端,dp是小数点引出端,4位一体LED数码显示管的内部结构是由4个单独的LED组成,每个LED的段输出引脚在内部都并联后,引出到器件的外部。
4位LED引脚对于这种结构的LED显示器,它的体积和结构都符合设计要求,由于4位LED阴极的各段已经在内部连接在一起,所以必须使用动态扫描方式(将所有数码管的段选线并联在一起,用一个I/O接口控制)显示。
数码管动态显示接口是单片机中应用最为广泛的一种显示方式之一,动态驱动是将所有数码管的8个显示笔划"a,b,c,d,e,f,g,dp"的同名端连在一起,另外为每个数码管的公共极COM增加位选通控制电路,位选通由各自独立的I/O线控制,当单片机输出字形码时,所有数码管都接收到相同的字形码,但究竟是那个数码管会显示出字形,取决于单片机对位选通COM端电路的控制,所以我们只要将需要显示的数码管的选通控制打开,该位就显示出字形,没有选通的数码管就不会亮。
通过分时轮流控制各个数码管的的COM端,就使各个数码管轮流受控显示,这就是动态驱动。
在轮流显示过程中,每位数码管的点亮时间为1~2ms,由于人的视觉暂留现象及发光二极管的余辉效应,尽管实际上各位数码管并非同时点亮,但只要扫描的速度足够快,给人的印象就是一组稳定的显示数据,不会有闪烁感,动态显示的效果和静态显示是一样的,能够节省大量的I/O端口,而且功耗更低。
本设计使用的驱动方式是动态驱动,四位共阴数码管的段码输入依次由并行端口P0产生,位码输入用并行端口P2高四位产生。
其中,数码管上的“1,2,3,4”连接口分别与STC89C52上的P2.4,P2.5,P2.6,P2.7引脚连接。
2.1.5 ADC0809ADC0809是美国国家半导体公司生产的CMOS工艺8通道,8位逐次逼近式A/D模数转换器。
其内部有一个8通道多路开关,它可以根据地址码锁存译码后的信号,只选通8路模拟输入信号中的一个进行A/D转换。
该芯片具有以下特性:1)8路输入通道,8位A/D转换器,即分辨率为8位;2)具有转换起停控制端;3)转换时间为100μs(时钟为640kHz时),130μs(时钟为500kHz时);4)单个+5V电源供电;5)模拟输入电压范围0~+5V,不需零点和满刻度校准;6)工作温度范围为-40~+85摄氏度;7)低功耗,约15mW。
ADC0809引脚图ADC0809芯片有28条引脚,采用双列直插式封装,其芯片引脚图如图11所示。
下面说明各引脚功能。
(1)IN0~IN7:8路模拟量输入端。
(2)D0~D8:8位数字量输出端。
D0~D7均为三态缓冲输出形式,可以和单片机的数据线直接相连。
D0为最低位,D7为最高位。
(3)A、B、C:3位地址输入线,A为低地址,C为高地址,用于选通8路模拟输入中的一路。
具体通道选择如表1所示。
本次设计使用的通道是IN0,故A、B、C均需接地。
(4)ALE:地址锁存允许信号,输入高电平有效。
对应ALE上跳沿,A、B、C地址状态送入地址锁存器中。
(5)START:A/D转换启动脉冲输入端,输入一个正脉冲(至少100ns宽)使其启动(脉冲上升沿使0809复位,下降沿启动A/D转换)。
(6)EOC:A/D转换结束信号输出,当A/D转换结束时,此端输出一个高电平(转换期间一直为低电平)。
(7)OE:数据输出允许信号,输入高电平有效。
当A/D转换结束时,此端输入一个高电平,才能打开输出三态门,输出数字量。
(8)CLK:时钟脉冲输入端,要求时钟频率不高于640KHZ。
ADC0809的内部没有时钟电路,所需时钟信号由外界提供,因此有时钟信号引脚。
(9)VREF(+)、VREF(-):基准电压。
用来与输入的模拟信号进行比较,作为逐次逼近的基准。
(10)VCC:电源,单一+5V。
(11)GND:接地。
表1 通道选择表A/D转换后得到的数据应及时传送给单片机进行处理。
数据传送的关键问题是如何确认A/D转换的完成,因为只有确认完成后,才能进行传送。
为此可采用下述三种方式。
(1)定时传送方式对于一种A/D转换其来说,转换时间作为一项技术指标是已知的和固定的。
例如ADC0809转换时间为128μs,相当于6MHz的MCS-51单片机共64个机器周期。
可据此设计一个延时子程序,A/D转换启动后即调用此子程序,延迟时间一到,转换肯定已经完成了,接着就可进行数据传送。
(2)查询方式A/D转换芯片由表明转换完成的状态信号,例如ADC0809的EOC端。
因此可以用查询方式,测试EOC的状态,即可却只转换是否完成,并接着进行数据传送。
(3)中断方式把表明转换完成的状态信号(EOC)作为中断请求信号,以中断方式进行数据传送。
不管使用上述那种方式,只要一旦确定转换完成,即可通过指令进行数据传送。
首先送出口地址并以点击浏览下一页信号有效时,OE信号即有效,把转换数据送上数据总线,供单片机接受。
2.2软件设计2.2.1 软件设计总方案主程序框图如下图所示:程序主框图2.2.2 系统子程序设计系统子程序流程图如图所示。
子程序流程图(1)初始化程序所谓初始化,是对将要用到的STC89C52单片机内部部件或扩展芯片进行初始工作状态设定,初始化子程序的主要工作是设置定时器的工作模式,初值预置,开中断和打开定时器等。
(2)A/D转换子程序A/D转换子程序用来控制对输入的模块电压信号的采集测量,并将对应的数值存入相应的内存单元。
(3)显示子程序显示子程序采用动态扫描实现四位数码管的数值显示,在采用动态扫描显示方式时,要使得LED显示的比较均匀,又有足够的亮度,需要设置适当的扫描频率,当扫描频率在70HZ 左右时,能够产生比较好的显示效果,一般可以采用间隔10ms对LED进行动态扫描一次,每一位LED的显示时间为1ms。
三、系统仿真与调试3.1 仿真平台仿真平台为Proteus软件。
Proteus软件是世界上著名的EDA工具,能完成原理图布图、代码调试到单片机与外围电路协同仿真,一键切换到PCB设计它不仅具有其它EDA工具软件的仿真功能,还能仿真单片机及外围器件,是目前最好的仿真单片机及外围器件的工具。