ADC0804工作原理及过程

这篇具有很好参考价值的文章主要介绍了ADC0804工作原理及过程。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

ADC0804

前言:本文详细说明了ADC0804工作原理及过程,还附有一个ADC0804在单片机中的典型应用,包含原理图,源程序,程序注释详细清楚,这有助于更好地理解与应用ADC0804芯片。

本文引用了百度文库一篇文章,原文链接:
https://wenku.baidu.com/view/823c5913964bcf84b9d57b78.html?wkts=1672974785358

A/D转换概念

即模数转换(Analog to DigitalConversion),输入模拟量(比如电压信号),输出一个与模拟量相对应的数字量(常为二进制形式)。例如参考电压VREF为5V,采用8位的模数转换器时,当输入电压为0V时,输出的数字量为0000 0000,当输入的电压为5V时,输出的数字量为1111 1111。当输入的电压从从0V到5V变化时,输出的数字量从0000 0000到1111 1111变化。这样每个输入电压值对应一个输出数字量,即实现了模数转换。

分辨率概念

分辨率是指使输出数字量变化1时的输入模拟量,也就是使输出数字量变化一个相邻数码所需输入模拟量的变化值。

分辨率与A/D转换器的位数有确定的关系,可以表示成FS / 2 n 。FS表示满量程输入值,n为A/D转换器的位数。

例如,对于5V的满量程,采用4位的ADC时,分辨率为5V/16=0.3125V (也就是说当输入的电压值每增0.3125V,输出的数字量增加1);采用8位的ADC时,分辨率为5V/256=19.5mV(也就是说当输入的电压值每增加19.5mV,则输出的数字量增加1);当采用12位的ADC时,分辨率则为5V/4096=1.22mV(也就是说当输入的电压值每增加1.22mV ,则输出的数字量增加1)。显然,位数越多,分辨率就越高。

ADC0804引脚功能

ADC0804工作原理及过程
CS: 芯片片选信号,低电平有效。即=0时,该芯片才能正常工作,高电平时芯片不工作。在外接多个ADC0804芯片时,该信号可以作为选择地址使用,通过不同的地址信号使能不同的ADC0804芯片,从而可以实现多个ADC通道的分时复用。
)

WR:启动ADC0804进行ADC采样,该信号低电平有效,即信号由低电平变成高电平时,触发一次ADC转换。

RD:低电平有效,即=0时,DAC0804把转换完成的数据加载到DB口,可以通过数据端口DB0~DB7读出本次的采样结果。

VIN(+)和VIN(-):模拟电压输入端,单边输入时模拟电压输入接VIN(+)端,VIN(-)端接地。双边输入时VIN(+)、VIN(-)分别接模拟电压信号的正端和负端。当输入的模拟电压信号存在“零点漂移电压”时,可在VIN(-)接一等值的零点补偿电压,变换时将自动从VIN(+)中减去这一电压。

VREF/2:参考电压接入引脚,该引脚可外接电压也可悬空,若外接电压,则ADC的参考电压为该外界电压的两倍,如不外接,则VREF与Vcc共用电源电压,此时ADC的参考电压即为电源电压Vcc的值。

CLKIN和CLKR:外接RC振荡电路产生模数转换器所需的时钟信号,时钟频率CLK = 1/1.1RC,一般要求频率范围100KHz~1460KHz。

AGND和DGND:分别接模拟地和数字地。

INTR:转换结束输出信号,低电平有效,当一次A/D转换完成后,将引起=0,实际应用时,该引脚应与微处理器的外部中断输入引脚相连(如51单片机的,中断脚),当产生信号有效时,还需等待=0才能正确读出A/D转换结果,若ADC0804单独使用,则可以将引脚悬空。

DB0~DB7:输出A/D转换后的8位二进制结果。
补充说明:ADC0804片内有时钟电路,只要在外部“CLKIN(引脚4)”和“CLKR(引脚19)”两端外接一对电阻电容即可产生A/D转换所要求的时钟,其振荡频率为fCLK≈1/1.1RC。其典型应用参数为:R=10KΩ,C=150PF,fCLK≈640KHz,转换速度为100μs。若采用外部时钟,则外部fCLK可从CLKIN端送入,此时不接R、C。允许的时钟频率范围为100KHz~1460KHz。

ADC0804工作过程

时序:
ADC0804手册给出的ADC转换时序图
ADC0804工作原理及过程

ADC0804手册给出的电器特性表
ADC0804工作原理及过程
实现一次ADC转换主要包含下面三个过程:

1.启动转换:由时序图中的上部“FIGURE 10A”可知,在信号为低电平的情况下,将引脚先由高电平变成低电平,经过至少tW(WR)I 延时后,再将引脚拉成高电平,即启动了一次AD转换。

注:ADC0804使用手册中给出了要正常启动AD转换的低电平保持时间tW(WR)I的最小值为100ns,即拉低后延时大于100ns即可以,具体做法可通过插入NOP指令或者调用delay()延时函数实现,不用太精确,只要估计插入的延时大于100ns即可。

2.延时等待转换结束:依然由时序图中的上部“FIGURE 10A”可知,由拉低信号启动AD采样后,经过1到8个Tclk+INTERNAL Tc延时后,AD转换结束,因此,启动转换后必须加入一个延时以等待AD采样结束。

注:手册中给出了内部转换时间“INTERNAL Tc”的时间范围为62~73个始终周期,因此延时等待时间应该至少为8+73=81个时钟周期。比如,若R为150K, C为150pF,则时钟频率为Fclk=1/1.1RC=606KHz,因此时钟周期约为Tclk=1/Fclk=1.65us。所以该步骤至少应延时81*Tclk=133.65us. 具体做法可通过插入NOP指令或者调用delay()延时函数实现,不用太精确,只要估计插入的延时大于133.65us即可。

3.读取转换结果:由时序图的下部“FIGURE 10B”可知,采样转换完毕后,在信号为低的前提下,将脚由高电平拉成低电平后,经过tACC的延时即可从DB脚读出有效的采样结果。

注:手册中给出了tACC的典型值和最大值分别为135ns和200ns,因此将引脚拉低后,等待大于200ns后即可从DB读出有效的转换结果。具体做法可通过插入NOP指令或者调用delay()延时函数实现,不用太精确,只要估计插入的延时大于200ns即可。

对采样值进行运算变换,换算出实际的滑动变阻器输入电压值。
对于任何一个A/D采样器而言,其转换公式如下:
ADC0804工作原理及过程

其中:
Vout: 输入ADC的模拟电压值。
Dsample:ADC转换后的二进制值。本试验的ADC0804为八位。
Dmax:ADC能够表示的刻度总数。ADC0804为八位ADC,因此Dmax=28=256
Vref:ADC参考电压值,本试验ADC0804的Vref被设置为5V
因此,对于本试验,转换公式为
ADC0804工作原理及过程

ADC0804在单片机中的简单应用举例

如下图所示,本例ADC0804中的VCC=5V, VREF/2引脚悬空(悬空则相当于与VCC共接5V电源),因此ADC转换的参考电压为VCC的值,即5V。VIN-接地,而VIN+连接滑动变阻器RV1的输出,因此VIN+的电压输入范围为0V~5V,正好处于参考电压范围内。
引脚接地, 和分别连接单片机的P3^6和P3^7引脚,而DB0~DB7连接单片机的P1口.
P0口接数码管的段选线,P2口低四位接数码管的位选线。
ADC0804工作原理及过程
程序主要实现以下功能:
(1)控制ADC0804芯片对VIN(+)引脚输入的电压值进行正确采样,读取采样结果。
(2)对采样值进行模数变换,将转换后数字量后显示在4段数码管上。
C程序如下:

#include <reg51.h>
#include <intrins.h>
#define uint unsigned int
#define uchar unsigned char
sbit wr=P3^6;
sbit rd=P3^7;
uchar code dis[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90};//共阳显示代码
void delay(uint x) //延时函数 delay(1)延时0.992ms,大约为1ms
{
 uchar i;
 while(x--)
 for(i=0;i<120;i++);	
}
void display(uchar db)	//数码管显示函数,用于显示模数转换后得到的数字量
{
    uchar bw,sw,gw;	//bw,sw,gw分别等于db百位,十位,个位上的数
	bw=db/100;
	sw=db%100/10;
	gw=db%10;
P2=0x01; //点亮第一只数码管
	P0=dis[bw]&0x7f; //最高位置0,点亮第一只数码管的小数点,
	delay(5);
	P2=0x02; //点亮第二只数码管
	P0=dis[sw];
	delay(5);
	P2=0x04;  //点亮第三只数码管
	P0=dis[gw];
	delay(5);  
	P2=0x08;   //点亮第四只数码管
	P0=dis[0]; //第四只数码管一直显示0	
	delay(5);
}  

void main()
{
	uchar i;
	while(1)
	{
		wr=0;	//在片选信号CS为低电平情况下(由于CS接地,所以始终为低电平),
		_nop_(); //WR由低电平到高电平时,即上升沿时,AD开始采样转换
		wr=1;
		delay(1); //延时1ms,等待采样转换结束		
		P1=0xff;   //这条语句不能少,我也还不知道为什么
		rd=0;	//将RD脚置低电平后,再延时大于135ns左右(这里延时1us),
		_nop_(); //即可从DB脚读出有效的采样结果,传送到P1口
		for(i=0;i<10;i++) //刷新显示一段时间
		display(P1); //显示从DB得到的数字量	
	} 
}

Proteus仿真运行结果如下:
ADC0804工作原理及过程

上述Proteus仿真文件下载地址

链接:https://pan.baidu.com/s/1T8m7dvd1maeFnmOnoHGAKQ
提取码:o42a
–来自百度网盘超级会员V4的分享

参考文献

[1]彭伟.单片机C语言程序设计实训100例.北京:电子工业出版社.2009
[2]贾振国,许琳.智能化仪器仪表原理及应用.北京:中国水利水电出版社.2011文章来源地址https://www.toymoban.com/news/detail-428712.html

到了这里,关于ADC0804工作原理及过程的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • ADC和DAC的工作原理及其区别

    目录 ADC和DAC的工作原理及其区别 ADC和DAC的工作原理 ADC的工作原理: DAC的工作原理: ADC和DAC的区别      详解ADC与DAC ADC 基本原理 采样 保持 量化 编码 ADC 常见类型 并联比较型(Flash) 逐次逼近型 双积分型(V-T) Σ-Δ 型 电压 - 频率变换型(V-F) ADC 主要参数 DAC 基本原理 DAC 常见类

    2024年02月06日
    浏览(49)
  • 【动画详解人工智能原理】Tranformer 模型中的注意力机制的工作过程是怎样的 ?一个带有注意力的 Seq2seq 模型的机制实例视频动画详细讲解

    Seq2seq 序列到序列模型是深度学习模型,在机器翻译、文本摘要和图像字幕等任务中取得了很多成功。谷歌翻译于 2016 年底开始在生产中使用此类模型。两篇开创性论文(Sutskever 等人,2014 年,Cho 等人,2014 年)对这

    2024年02月07日
    浏览(49)
  • FTP工作原理及过程

    FTP文件传输协议,使用两个端口,21端口为控制端口,20端口为数据连接端口,客户端连接FTP服务器首先会和服务器的21端口发起控制连接,控制连接在整个过程中是一直保持的;当有数据传输是会进行数据连接,数据传输完毕之后会断开数据连接。数据连接又分为主动模式

    2024年02月03日
    浏览(28)
  • VPN服务器的工作原理以及搭建过程

    简单叙述: 当你使用VPN连接后访问一个网站时,你的请求会首先通过VPN客户端加密后传送到代理服务器,然后由VPN服务器代表你向目标网站的服务器发送请求。在目标服务器看来,收到请求的IP地址是VPN服务器的IP地址,因此目标服务器只能看到VPN服务器的IP地址,而无法直接

    2024年04月13日
    浏览(39)
  • 分布式光纤测温系统的工作原理及传感过程

    分布式光纤测温系统依据后向散射原理可以分为三种:基于瑞利散射、基于拉曼散射和基于布里渊散射。目前发展比较成熟,且有产品应用于工程的是基于拉曼散射的分布式光纤测温系统。它的传感原理主要依据的是光纤的光时域反射(OTDR)原理和光纤的后向拉曼散射温度效应

    2024年02月07日
    浏览(51)
  • OpenAI Chatgpt发展历史和Chatgpt-3的研发过程工作原理

    ChatGPT是由OpenAI的研究团队基于GPT技术(Generative Pre-trained Transformer)开发的AI对话引擎。 ChatGPT发展历史如下: 2015年,GPT技术由OpenAI的研究团队首次提出。该技术使用了一种无需人类标注的方式,使神经网络学习到了大量自然语言处理任务的知识。 2018年,OpenAI团队开发了第一

    2024年02月06日
    浏览(60)
  • 区块链工作原理,工作机制和详细概念

     各位小伙伴想要博客相关资料的话,关注公众号:chuanyeTry即可领取相关资料! 工作原理         区块链是一种去中心化的分布式账本技术,它的工作原理可以简单概括为以下几个步骤:         1. 交易:区块链中的交易可以是任何数字化的价值交换,例如加密货币

    2024年02月09日
    浏览(53)
  • 802.1x协议详解,802协议工作原理/认证过程、MAB认证、EAP报文格式

    「作者主页」: 士别三日wyx 「作者简介」: CSDN top100、阿里云博客专家、华为云享专家、网络安全领域优质创作者 「推荐专栏」: 对网络安全感兴趣的小伙伴可以关注专栏《网络安全入门到精通》 在以前的IEEE802LAN协议中,只要用户可以 「接入局域网」 ,就能 「访问」

    2024年02月08日
    浏览(42)
  • 路由器的工作原理,详细介绍

             路由器: router            作用:实现跨网段通信,不同的网络之间通信           交换机 : switch            作用:组建局域网,就是将电脑通过网络连起来         交换机的原理参考文档: 计算机网络之交换机的工作原理---超详细解析,谁都看得

    2024年02月09日
    浏览(34)
  • 交换机的工作原理详细介绍

    交换机的工作原理: 交换机根据收到数据帧中的源MAC地址建立该地址同交换机端口的映射,并将其写入MAC地址表中。 交换机将数据帧中的目的MAC地址同已建立的MAC地址表进行比较,以决定由哪个端口进行转发。 如数据帧中的目的MAC地址不在MAC地址表中,则向所有端口转发。

    2024年02月05日
    浏览(40)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包