基于51单片机——AD转换电路设计(采用AD0809芯片)

硬件知识-ADC模数转换芯片 INL/DNL/LSB/FSR 阅读详情
AI摘要

本文详细介绍了基于51单片机的AD转换电路设计,采用AD0809芯片进行8位并行A/D转换。内容包括AD0809芯片的工作原理、内部结构、接口信号说明以及应用说明,同时提供了输出数字量的计算方法。

 一、设计要求

采用AD0809对输入的模拟量进行转化,转化完成后将数字量通过LED进行二进制显示。电路图如下。

二、AD0809芯片介绍

AD0809是8位并行A/D转换芯片。该芯片应用时,IN0~IN7共八路模拟输入引脚,通过地址A、B、C选择其中一路将模拟信号送入芯片中,当转换结束后,数字量从D7~D0以8位二进制形式输出,同时E0C引脚输出高电平,表示转换结束。如图为AD0809内部逻辑结构。

 由上图可以看到,AD0809由一个8路模拟量开关、一个地址锁存与译码器、一个A/D转换器和一个三态输出锁存器组成。多路开关可选通8个模拟通道,允许8路模拟量分时输入,共用A/D转换器进行转换。三态输出锁存器用于锁存A/D转换完的数字量,当OE为高电平时,才可以从三态输出锁存器取走转换完的数据。

AD0809对输入模拟量要求:信号单极性,电压范围0~5V,若信号太小,必须进行放大;输入的模拟量在转换过程中应该保持不变,若模拟量变化太快,则需要在输入前添加一个采样保持电路。

ALE1为地址锁存允许输入线,高电平有效。当ALE线为高电平时,地址锁存与译码器将A,B,C三条地址线的地址信号进行锁存,经过译码后被选中的通道的模拟量进转换器进行转换。A,B,C为地址输入线,用于选通IN0~IN7上的一路模拟量输入。

ST为转换启动信号。当ST为上升沿时,所有内部寄存器清零。当ST为下降沿时,开始A/D转换。在转换期间,ST保持为低电平。

EOC为转换结束信号。当EOC为高电平时,标明转换结束;否则,表示正在进行A/D转换。

OE为输入允许信号,用于控制三条输出锁存器想单片机输出转换得到的数据。OE = 1时,输出转换得到的信号;OE = 0时,输出数据线呈高阻态状态。D7~D0为数字量输出线。

clk时钟输入信号线。AD0809内部没有时钟电路,所需时钟信号必须由外部提供。

VREF(+),VREF(-)为参考电压输入。

三、AD08009应用说明

1.AD0809内部带有输出锁存器,可以直接和单片机相连。

2.初始化时,将ST和OE置为低电平。

3.将要转换的通道信息传给A,B,C端口。注意,C为高位,A为低位。

4.在ST端给出一个至少有100ns宽的正脉冲。

5.根据EOC的信号状态判断是否转换完毕。若EOC = 1,表示转换完毕。

6.当EOC为高电平,这时给OE一个高电平,转换数据输出给单片机。

四、输出数字量计算

N = (Ui *255)/5,Ui为输入模拟量。

五、程序

#include <reg52.h>

#define uchar unsigned char

sbit clk = P1^3;
sbit start = P1^2;  //start和ALE都连接在P1.2
sbit EOC = P1^1;
sbit OE = P1^0;
sbit a = P1^4;
sbit b = P1^5;
sbit c = P1^6;

void delay(unsigned char xms)		
{
	unsigned char i, j;
    while(xms)
    {
        i = 2;
        j = 239;
        do
        {
            while (--j);
        } 
        while (--i);
        xms--;
    }
	
}


void ADC_init()
{
    P2 = 0xff;
    //产生clock信号
    EA = 1;    
    TMOD = 0x02;    //定时器0,方式2,8位自动重装载
    ET0 = 1;        //允许定时器0中断
    TR0 = 1;
    TH0 = 216;
    TL0 = 216;
    start = 0;
    OE = 0;
    a = 1;      //通道3
    b = 1;
    c = 0;
}

void ad_3()
{
    OE = 0;
    EOC = 1;
    start = 0;
    a = 1;      //通道3
    b = 1;
    c = 0;
    delay(10);
    start = 1;  //上升沿
    delay(10);
    start = 0;  //下降沿
    while(!EOC);//等待转换完成
    delay(10);
    OE = 1;
    delay(5);
    P0 = P2;
    OE = 0;
    
}

void main()
{
    ADC_init();
    while(1)
    {
        ad_3();
    }
}


void t0(void) interrupt 1
{
    TH0 = 216;
    TL0 = 216;
    clk = ~clk;
}

51单片机与ADC0809电压采集系统设计 模数转换(ADC)是嵌入式系统采集模拟信号的关键技术,其核心原理是将连续变化的模拟量转换为离散的数字量。ADC0809作为经典的8位逐次逼近型转换器,具有8通道输入和并行数据输出特性,在工业控制、仪器仪表等领域广泛应用。通过51单片机控制ADC0809实现电压采样,涉及信号调理、时序控制、数据处理等关键技术环节。本方案展示了0-5V电压测量系统的完整实现,包含硬件接口设计、转换算法优化及显示驱动等实践内容,特别适合需要低成本数据采集的嵌入式应用场景。 阅读详情

相关推荐

【51单片机】实战指南:DAC0832与ADC0809的电路设计与程序驱动

本文为51单片机初学者提供了DAC0832与ADC0809芯片的实战应用指南。详细讲解了如何通过经典芯片DAC0832和ADC0809,为单片机系统搭建模拟信号输入输出通道,涵盖从硬件电路设计、核心引脚接线逻辑到软件驱动程序编写的完整流程,并分享了项目调试心得与常见问题解决方案。

nept的博客 429

AD数模转化AD0809

数模转化芯片 AD0809

weixin_44784157的博客 6781

51单片机ADC0809实战:从音乐播放器到电压检测的5个经典应用

本文详细介绍了51单片机与ADC0809模数转换芯片的5个经典应用案例,包括数字电压表、温度监测系统、音乐播放器等。通过核心原理解析、硬件设计要点和代码实现,帮助开发者掌握模拟信号处理技术,提升嵌入式系统开发能力。

weixin_33725722的博客 379

汪老师分享 - AD0809 在 51 单片机中的应用

学长专注于单片机相关的知识,可以解决单片机设计、嵌入式系统、编程和硬件等方面的难题。输入的模拟量在转换过程中应该保持不变,如若模拟量变化太快,则需在输入前增加采。我们在做一个单片机系统时,常常会遇到这样那样的数据采集,在这些被采集的数据中,信号来通知单片机(查询法或中断法)读入已转换的数据,,经译码后被选中的通道的模拟量进转换器进行转换。的内部没有时钟电路,所需时钟信号必须由外界提供,才可以从三态输出锁存器取走转换完的数据。的启动方式为脉冲启动方式,启动信号。后经适当的延时再读入已转换的数据。

Nueve_Y的博客 928

ADC0809模数转换实战:如何用51单片机+LCD1602搭建简易电压表(附完整代码)

本文详细介绍了如何使用51单片机和ADC0809模数转换器搭建简易电压表,并通过LCD1602实时显示测量结果。文章包含硬件连接要点、软件设计核心算法及完整代码实现,帮助电子爱好者快速掌握高精度电压测量技术。

weixin_30879169的博客 449

ADC0809 8通道轮流采样LCD1602显示

ADC0809 8通道轮流采样LCD1602显示

perseverance51博客 1912

单片机 数字电压表(ADC0809)

单片机 数字电压表(ADC0809) 一、简述 采用模数转换的芯片ADC0809实现设计数字电压表。例子中设计的数字电压表可以测量0~5V范围内的输入电压值,并且通过4位LED数码管显示采集的电压值,例子测量三个模拟值:4.995、2.5、0.005。 ADC0809是可以将我们要测量的模拟电压信号量转换为数字量从而可以进行存储或显示的一种转换器件。 文件打包:链接:...

Genven_Liang的博客 7万+

0426-基于单片机的CO监测设计 (程序+电路+仿真+论文)(51+1602+MQ7+AD0809+BZ+KEY3+FAN)

摘要:本文设计了一种基于51单片机的CO浓度监测系统,采用MQ7传感器和AD0809模数转换器检测环境CO浓度,通过1602液晶实时显示数据。系统具有双重报警机制:超标时触发蜂鸣器、红灯及风扇,安全时绿灯提示。用户可通过按键设置报警阈值。硬件设计包含主控、检测、显示、报警、风扇和按键模块;软件采用模块化编程,实现数据采集、处理、显示及控制功能。仿真测试验证了系统的可靠性和实用性,具有成本低、响应快等优点,适用于家庭、工厂等场所的CO安全监测。

理论结合实践,开启你的电子学习新方案! 800

51单片机AD0809模数转换电路设计:从原理到调试实战

模数转换(ADC)是连接模拟世界与数字系统的核心技术,其原理是将连续的模拟信号(如电压)转换为离散的数字代码,供微处理器处理。这项技术是实现传感器信号采集、工业控制和智能设备感知的基础。在嵌入式开发中,经典的8位ADC芯片AD0809与51单片机的组合,因其接口简单、成本低廉,成为学习ADC原理和工程实践的理想平台。通过深入理解其逐次逼近型转换原理、多通道采集能力以及关键的时序控制逻辑,开发者可以掌握信号调理、基准电压设计、抗干扰布线等核心硬件技能,并运用软件滤波算法提升数据稳定性。这些知识是构建可靠数据采

weixin_34348174的博客 426

0427-基于单片机的八路电压检测设计 (仿真+电路+程序+论文)(51+1602+AD0809+KEY2)

摘要:本文设计了一种基于51单片机的八路电压检测系统,采用ADC0809模数转换器实现0-20V电压测量,精度达0.01V。系统通过1602液晶显示,支持固定4路和循环8路两种显示模式,按键切换操作。包含硬件电路设计、软件编程和仿真验证,具有成本低、精度高、实用性强等特点,适用于工业控制和实验室测量等领域。设计实现了多路电压同步检测、灵活显示和便捷操作,为电压监测提供了有效解决方案。

理论结合实践,开启你的电子学习新方案! 894

ADC0809与51单片机的连接方式

  这是数据线对数据线、地址线对地址线的标准连接方式,如图2.2所示。由于ADC0809片内没有时钟,可利用单片机提供的地址锁存信号ALE经D触发器2分频后获得,ALE引脚的频率是单片机时钟频率的1/6,如果单片机时钟频率采用6MHz,则ALE引脚的输出频率为1MHz,再经过2分频后为500kHz,恰好符合0809对时钟的要求。

51单片机课程设计——基于单片机的AD模数转换设计

1.是美国Keil软件公司(现已被ARM公司收购)出品的支持ARM微控制器的一款IDE(集成开发环境)。MDK-ARM包含了工业标准的Keil C编译器、宏汇编器、调试器、实时内核等组件。具有业行领先的ARM C/C++编译工具链,完美支持Cortex-M、Cortex-R4、ARM7和ARM9系列器件,包含世界上品牌的芯片。比如:ST、Atmel、Freescale、NXP、TI等众多大公司微控制器芯片。2.Proteus是Lab Center Electronics公司推出的一个EDA工具软件。

肉夹馍的博客 5417

adc0809与单片机连接电路

adc0809与单片机连接电路 ADC0809与MCS-51单片机的连接如图9.10所示。电路连接主要涉及两个问题。一是8路模拟信号通道的选择,二是A/D转换完成后转换数据的传送。 1. 8路模拟通道选择 如图9.11所示模拟通道选择信号A、B、C分别接最低三位地址A0、A1、A2即(P0......

51单片机数字电压表仿真设计_LCD显示

1、利用51单片机作为主控芯片,模拟量输入范围直流0v-5v。模拟量经A/D(ADC0809)模数转换芯片,把模拟量转换为数字量输入到单片机的P0口,再由单片机控制LCD1602液晶显示模拟量输入的电压值。 2、此次设计的是数字电压表,要求的电压范围是0~5v。 3、系统设计主要包括四个部分: 分别是电源模块、AD模数转换部分、51单片机最小系统部分、数码管显示部分。 首先由单片机初始化ADC0809模数转换芯片和共阴数码管显示,当外接被测电压后,ADC0809将模拟电压信号转换为数字信号输入到单片

weixin_52733843的博客 4381

使用SSE流式输出(Javaweb前后端实战)

SSE(Server-Sent Events)是一种在Web应用中实现单向实时通信的技术。通过SSE,服务器可以主动向客户端发送更新,而无需客户端不断发起请求。这对于需要实时更新的应用场景(如聊天应用、实时数据监控等)非常有用。(服务端单向传输客户端,长连接)

记得开心一点嘛的博客 1万+

CMMI AIM 人工智能成熟度框架:31个过程域的157项AI实践集成

CMMI AIM人工智能成熟度框架为企业提供了系统化管理AI项目全生命周期的解决方案,包含31个过程域的157项AI实践。该框架通过四个演进阶段(混沌与风险、结构与凝聚、验证与信任、价值与增长),帮助组织建立可持续的AI能力成长路径,降低项目失败率并提升商业价值。

weixin_42613501的博客 351

基于51单片机数字电压表的设计 仿真、程序、原理图(转发)

摘 要数字电压表简称DVM,数字电压表基本原理是将输入的模拟电压信号转化为数字信号,再进行输出显示。而A/D转换器的作用是将连续变化的模拟信号量转化为离散的数字信号,器基本结构是由采样保持,量化,编码等几部分组成。因此AD转换是此次设计的核心元件。输入的模拟量经过AD转换器转换,再由驱动器驱动显示器输出,便得到测量的数字电压。本次设计的作品要求制作数字电压表的量程为0到5v,由于用到的模数转换芯片是ADC0809,设计系统给的供电电压为+5v。

jingdianjiuchan的博客 7709

金蝶云星空核心数据表解析与高效关联查询指南

本文深入解析金蝶云星空核心数据表结构,提供高效关联查询的实战指南。文章详细介绍了基础资料、业务单据和财务模块的关键表及其关联逻辑,重点阐述了如何利用关联表(_LK表)进行跨单据溯源,并分享了编写高性能SQL的实用技巧与避坑建议,帮助开发者、实施顾问和数据分析师快速掌握数据查询方法,提升工作效率。

weixin_29254673的博客 524

基于51单片机的水位水质检测系统方案原理PCB设计

总体方案设计 (末尾附文件) 通过查阅大量相关技术资料,并结合自己的实际知识,我主要提出了两种技术方案来实现系统功能。下面我将首先对这两种种方案的组成框图和实现原理分别进行说明。 2.1 智能水位水质检测电路设计方案框图 两种方案的框图如下图: 方案1: 方案2: 2.2 方案论证 对于方案1和2按照理论来看做出来能够达到一定的预期效果,能达基本满足本次设计的基本要求。但是两种方案不同之处就在于传感器的选择和AD的选择,现就这两个方面来论述.为什么选择方案2。 方案1的传感器部分是利用应变片做的压力变送

weixin_47528066的博客 1万+

6层高速PCB设计实战:BGA布局与阻抗匹配关键解析

本文深入解析6层高速PCB设计中BGA布局与阻抗匹配的关键技术。通过实战经验分享,详细介绍了六层PCB层叠结构的选择与优化、BGA器件布局技巧、阻抗匹配的实战经验以及高速布线技巧,帮助工程师提升PCB设计水平,确保信号完整性和电源完整性。

weixin_28481133的博客 368

【Dify】36氪新闻热榜智能自动化采集与AI处理

本文介绍如何利用Dify等自动化工具实现36氪新闻热榜的智能采集与处理。通过HTTP请求节点获取数据,JSON解析节点结构化处理,AI处理节点生成智能摘要,最终格式化输出结果。工作流程包含数据获取、解析、AI摘要、文本整理和内容输出五个环节,支持批量化、定制化的新闻处理需求。该方案适用于行业监测、内容创作、舆情管理等场景,显著提升信息获取效率,实现"所需即得"的自动化新闻服务。系统采用OpenAI GPT和Dify API作为核心模型,无需复杂人工干预即可完成全流程处理。

Mr数据杨 599

基于51单片机数字电压表仿真设计_LCD显示(仿真+程序+原理图+PCB+设计报告+讲解)

51单片机数字电压表仿真设计_LCD显示(仿真+程序+原理图+PCB+设计报告+讲解)原理图:AD仿真版本:proteus 7.8程序编译器:keil 4/5编程语言:C 编号:S0006。

weixin_52733843的博客 4310

【图像处理】德里奇( Deriche)边缘检测器

Deriche边缘检测,同canny算法齐名,因此,知道canny原理,也有必要知道德里奇的检测原理。本篇专门针对德里奇算法展开讨论。

gongdiwudu的专栏 8683
上一篇: 【微机汇编语言学习笔记(六)】 ASCII码表示的十进制转换为二进制
下一篇: 【蓝桥杯—单片机学习笔记(一)】LED指示灯的基本控制
评论 5
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

单片机学习之路

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值