模拟数字转换器ADC0804

合集下载

ADC0804工作原理其程序

ADC0804工作原理其程序

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

1、A/D转换概念:即模数转换(Analog to DigitalConversion),输入模拟量(比如电压信号),输出一个与模拟量相对应的数字量(常为二进制形式)。

例如参考电压VREF为5V,采用8位的模数转换器时,当输入电压为0V时,输出的数字量为0000 0000,当输入的电压为5V时,输出的数字量为1111 1111。

当输入的电压从从0V到5V变化时,输出的数字量从0000 0000到1111 1111变化。

这样每个输入电压值对应一个输出数字量,即实现了模数转换。

2、分辨率概念:分辨率是指使输出数字量变化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)。

显然,位数越多,分辨率就越高。

3、ADC0804引脚功能:。

数模转换ADC0804的应用实验

数模转换ADC0804的应用实验

数模转换ADC0804的应用实验[实验任务]从ADC0804的通道IN+输入0-5V之间的模拟量,通过ADC0804转换成数字量在数码管上以十进制形成显示出来。

[实验原理]ADC0804是8位全MOS中速A/D转换器、它是逐次逼近式A/D转换器,片内有三态数据输出锁存器,可以和单片机直接接口。

单通道输入,转换时间大约为100us。

ADC0804转换时序是:当CS=0许可进行A/D转换。

WR由低到高时,A/D开始转换,一次转换一共需要66-73个时钟周期。

CS与WR同时有效时启动A/D转换,转换结束产生INTR信号(低电平有效),可供查询或者中断信号。

在CS和RD的控制下可以读取数据结果。

[C语言源程序]/*注意:程序下载到DPY-1实验板单片机后一定要使SW DIP1的开关脱离ON档。

或者直接将下载线从实验板上拔下。

因为下载线接在I/O口P1.5,P1.6,P1.7上,下载线的电平将会影响测量结果*/#include<reg52.h>code unsigned char seg7code[10]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f};//显示段码sbit int1=P3^3;//定义管脚功能sbit cs=P3^2;sbit wr=P3^6;sbit rd=P3^7;void Delay(unsigned int tc)//显示延时程序{while(tc!=0){unsigned int i;for(i=0;i<100;i++);tc--;}}unsigned char adc0804(void)//读AD0804子程序{unsigned char addata,i;rd=1;wr=1;int1=1;//读ADC0804前准备P1=0xff;//P1全部置一准备cs=0;wr=0;wr=1;//启动ADC0804开始测电压while(int1==1);//查询等待A/D转换完毕产生的INT(低电平有效)信号rd=0;//开始读转换后数据i=i;i=i;//无意义语句,用于延时等待ADC0804读数完毕addata=P1;//读出的数据赋与addaterd=1;cs=1;//读数完毕return(addata);//返回最后读出的数据}unsigned int datpro(void)//ADC0804读出的数据处理{unsigned char x;unsigned int dianyah,dianyal;//用于存储读出数据的高字节和低字节unsigned int dianya=0;//存储最后处理完的结果注意数据类型for(x=0;x<10;x++)//将10次测得的结果存储在dianya中{dianya=adc0804()+dianya;}dianya=dianya/10;//求平均值dianyah=dianya&0xf0;//屏蔽低四位dianyah=dianyah>>4;//右移四位取出高四位dianyal=dianya&0x0f;//屏蔽高四位取出低四位dianya=dianyal*20+dianyah*320;//最后的结果是一个四位数,便于显示return(dianya);//返回最后处理结果}void Led(){unsigned int date;date=datpro();//调用数据处理最后结果P2=P2&0xef;P0=seg7code[date/1000]|0x80;//输出个位数和小数点Delay(8);P2=P2|0xf0;P2=P2&0xdf;P0=seg7code[date%1000/100];//输出小数点后第一位Delay(8);P2=P2|0xf0;P2=P2&0xbf;P0=seg7code[date%100/10];//输出小数点后第二位Delay(8);P2=P2|0xf0;P2=P2&0x7f;P0=seg7code[date%10];//输出小数点后第三位Delay(8);P2=P2|0xf0;}main(){while(1){Led();//只需调用显示函数}}。

ADC08040

ADC08040

模拟/数字(A/D)转换器的原理与应用ADC08041、A/D转换就是将模拟信号输换成数字信号。

A/D转换器就是用来实现这一功能的器件。

信号输入端常常是传感器或相应电路的模拟输出,由ADC器件转换成数字信号再提供给微处理器,以便用作显示等后期信号处理。

2、ADC0804的规格及引脚图8位COMS依次逼近型的A/D转换器.三态锁定输出存取时间:135US分辨率:8位转换时间:100US总误差:正负1LSB工作温度:ADC0804LCN---0~70度引脚图及说明见下图3、引脚定义/CS芯片选择信号。

/RD外部读取转换结果的控制输出信号。

/RD为高时,DB0~DB7处理高阻抗:/RD为低时,数字数据才会输出。

/WR:用来启动转换的控制输入,相当于ADC的转换开始(/CS=0时),当/WR由高变为低时,转换器被清除:当/WR回到高时,转换正式开始。

CLK IN,CLK R:时钟输入或接振荡无件(R,C)频率约限制在100KHZ~1460KHZ,如果使用RC电路则其振荡频率为1/(1.1RC)/INTR:中断请求信号输出,低地平动作.VIN(+)VIN(-):差动模拟电压输入.输入单端正电压时,VIN(-)接地:而差动输入时,直接加入VIN(+)VIN(-).AGND,DGND:模拟信号以及数字信号的接地.VREF:辅助参考电压.DB0~DB7:8位的数字输出.VCC:电源供应以及作为电路的参考电压.ADC0804模拟转数字对照表十六进制二进制高四位低四位相对电压值(2.56V)分别与满刻度的比率高四位低四位F111115/1615/256 4.8000.300 E111014/1614/256 4.4800.280 D110113/1613/256 4.1600.260 C110012/1612/256 3.8400.240B 101111/1611/256 3.5200.220A 101010/1610/256 3.2000.200910019/169/256 2.8800.180810008/168/256 2.5600.160701117/167/256 2.2400.140601106/166/256 1.9200.120501015/165/256 1.6000.100401004/164/256 1.2800.080300113/163/2560.9600.060200102/162/2560.6400.040100011/161/2560.3200.020000000/160/256321234567891011121314151617181920ADC0804PP10PP11PP12PP13PP14PP15PP16PP17R24R25R27R26VCCC15VCC01VINPP37PP36PP20R成功一号A D 转换实验部分电路图数字输出接口模拟输入接口4、根据以上对照表,可以得出以下结论如果:输入模拟量VIN=4V,由上表可知 3.840+0.160=4V数字为11001000=C8H5、如何在成功一号实验板上实现这一想法了?实验步骤如下:a、理解并将ADC0804转换程序写入AT89S51;b、对照说明书上的图的18号位置分别插入可插电位器c、旋转输入可调电位器,使输入电压由0V调到5V;d、程序中已使转换得到的数字信号,送P0口显示以便观察;实验板的P1口的LED也可以看到现象。

AD转换芯片ADC0804

AD转换芯片ADC0804

AD转换芯⽚ADC0804AD0804简介ADC0804的管脚图如下所⽰它的主要电⽓特性如下:●⼯作电压:+5V,即VCC=+5V。

●模拟输⼊电压范围:0~+5V,即0≤Vin≤+5V。

●分辨率:8位,即分辨率为1/28=1/256,转换值介于0~255之间。

●转换时间:100us(f CK=640KHz时)。

●转换误差:±1LSB。

●参考电压:2.5V,即V ref=2.5V。

1.ADC0804的转换原理ADC0804是属于连续渐进式(Successive Approximation Method)的A/D转换器,这类型的A/D转换器除了转换速度快(⼏⼗⾄⼏百us)、分辨率⾼外,还有价钱便宜的优点,普遍被应⽤于微电脑的接⼝设计上。

以输出8位的ADC0804动作来说明“连续渐进式A/D转换器”的转换原理,动作步骤如下表⽰(原则上先从左侧最⾼位寻找起)。

第⼀次寻找结果:10000000 (若假设值≤输⼊值,则寻找位=假设位=1)第⼆次寻找结果:11000000 (若假设值≤输⼊值,则寻找位=假设位=1)第三次寻找结果:11000000 (若假设值>输⼊值,则寻找位=该假设位=0)第四次寻找结果:11010000 (若假设值≤输⼊值,则寻找位=假设位=1)第五次寻找结果:11010000 (若假设值>输⼊值,则寻找位=该假设位=0)第六次寻找结果:11010100 (若假设值≤输⼊值,则寻找位=假设位=1)第七次寻找结果:11010110 (若假设值≤输⼊值,则寻找位=假设位=1)第⼋次寻找结果:11010110 (若假设值>输⼊值,则寻找位=该假设位=0)这样使⽤⼆分法的寻找⽅式,8位的A/D转换器只要8次寻找,12位的A/D转换器只要12次寻找,就能完成转换的动作,其中的输⼊值代表图1的模拟输⼊电压Vin。

AD0804简介续1(2007-05-30 17:35:30)转载2.分辨率与内部转换频率的计算对8位ADC0804⽽⾔,它的输出准位共有28=256种,即它的分辨率是1/256,假设输⼊信号Vin为0~5V电压范围,则它最⼩输出电压是5V/256=0.01953V,这代表ADC0804所能转换的最⼩电压值。

adc0804工作原理

adc0804工作原理

adc0804工作原理ADC0804是一款8位的模数转换器,它的工作原理是将输入的模拟信号转换为相应的数字信号。

在本文中,我们将详细介绍ADC0804的工作原理及其应用。

我们来了解一下ADC0804的基本结构。

它由一个模拟输入多路选择器、一个采样保持电路、一个模数转换电路和一个8位输出缓冲器组成。

其中,模拟输入多路选择器用于选择输入的模拟信号,采样保持电路用于将模拟信号进行采样并保持在一个恒定的电平上,模数转换电路则将采样后的模拟信号转换为相应的数字信号,最后通过输出缓冲器输出。

ADC0804的工作原理主要分为两个步骤:采样和量化。

首先,当ADC0804接收到转换开始信号时,模拟输入多路选择器将选择一个模拟输入信号,并将其输入到采样保持电路中。

在采样保持电路中,模拟信号被采样并保持在一个恒定的电平上,以便进行后续的转换操作。

然后,采样后的模拟信号将被输入到模数转换电路中进行量化。

模数转换电路使用一个内部的参考电压进行比较,将输入的模拟信号与参考电压进行比较,并产生相应的数字信号。

ADC0804使用逐次逼近法进行模数转换,即通过不断逼近输入信号与参考电压之间的差值来确定输出的数字信号。

在模数转换的过程中,ADC0804将输入的模拟信号分成若干个等级,并通过比较电路将其转换为相应的数字信号。

比较电路根据输入信号与参考电压之间的差值来判断输出的数字信号是“0”还是“1”。

通过不断逼近的过程,ADC0804可以将输入的模拟信号转换为相应的8位二进制数字信号。

转换后的数字信号将通过输出缓冲器输出。

输出缓冲器可以将转换后的数字信号放大并输出到外部设备,如微处理器或显示器等。

ADC0804由于其简单的结构和易于使用的特点,在工业控制、仪器仪表、通信等领域得到了广泛的应用。

它可以将各种模拟信号转换为数字信号,并通过输出缓冲器输出给其他设备进行处理。

总结起来,ADC0804是一款基于逐次逼近法的8位模数转换器。

它通过采样和量化的过程将输入的模拟信号转换为相应的数字信号,并通过输出缓冲器输出给其他设备。

[教材]ADC0804_中文资料

[教材]ADC0804_中文资料

[教材]ADC0804_中文资料ADC0804_中文资料/CS 芯片选择信号。

/CS 芯片选择信号。

模拟/数字转换器(相关知识) A/D转换器的基本原理 ----ADC08041,所谓A/D转换器就是模拟/数字转换器(ADC),是将输入的模拟信号转换成数字信号。

信号输入端可以是传感器或转换器的输出,而 ADC的数字信号也可能提供给微处理器,以便广泛地应用。

2,ADC0804的规格及引脚图8位COMS依次逼近型的A/D转换器.三态锁定输出存取时间:135US分辨率:8位转换时间:100US总误差:正负1LSB工作温度:ADC0804LCN---0~70度引脚图及说明见图1/RD外部读取转换结果的控制输出信号。

/RD为HI时,DB0~DB7处理高阻抗:/RD为 LO时,数字数据才会输出。

/WR:用来启动转换的控制输入,相当于ADC的转换开始(/CS=0时),当/WR由HI变为LO时,转换器被清除:当/WR回到HI时,转换正式开始。

CLK IN,CLK R:时钟输入或接振荡无件(R,C)频率约限制在100KHZ~1460KHZ,如果使用RC电路则其振荡频率为1/(1.1RC)/INTR:中断请求信号输出,低地平动作.VIN(+) VIN(-) :差动模拟电压输入.输入单端正电压时, VIN(-)接地:而差动输入时,直接加入VIN(+) VIN(-).AGND,DGND:模拟信号以及数字信号的接地. VREF:辅助参考电压.DB0~DB7:8位的数字输出 .VCC: 电源供应以及作为电路的参考电压 .参考腾龙套件的0804原理图:十六进制二进制码与满刻度的比率相对电压值 VREF=2.560伏高四位字节低四位字节高四位电压低四位电压 F 1111 15/16 15/256 4.8000.300 E 1110 14/16 14/256 4.480 0.280 D 1101 13/16 13/256 4.160 0.260 C 1100 12/16 12/256 3.840 0.240. B 1011 11/16 11/256 3.520 0.220. A 101010/16 10/256 3.200 0.200 9 1001 9/16 9/256 2.880 0.180 8 1000 8/16 8/256 2.560 0.160 7 0111 7/16 7/256 2.240 0.140. 6 0110 6/16 6/256 1.920 0.120.5 0101 5/16 5/256 1.600 0.100 4 0100 4/16 4/256 1.280 0.080 3 0011 3/16 3/256 0.960 0.060 2 0010 2/16 2/256 0.640 0.040. 1 0001 1/16 1/256 0.320 0.020. 0 0000 0 0例:VIN=3V,由上表可知2. 880+0.120=3V 为10010110=96H功能说明1,ADC0804将输入模拟值转换成数字值输出到 P0,使相对应的LED亮.如输入3V,ADC0804的输出应为96H=10010110,此数字信号送入 8051的P1,再由P1存入8051的累加器,然后累加器再到P0,使相应的LED亮.2,先将ADC0804的参考电压 VREF调整为 2.56V.(在腾龙套件中主要演示原理,未作此精确调整电压,用2个1K电阻分压,约 2.5V)3调整ADC0804的VIN可变电阻器.由 0V调到5V根据其关系观察 P1的LED变化情形 .参考程序:;0804的基本应用,转动电位器,P0口显示取到的数;//定义ADC的连接端口 ad_cs equ P3.6 ad_wr equ P2.0 ad_rd equ P3.7ad_input_port equ p1org 0000h ajmp main org 0030hmain:lcall adc_demo ajmp main;//==========================================;// 启动 AD转换;//==========================================Adc_Start:clr ad_cs nopclr ad_wr nopsetb ad_wr nopsetb ad_cs nopret;//==========================================;// 读AD转换;//==========================================Adc_Read:mov ad_input_port,#0ffhclr ad_csnopclr ad_rdnopnopmov a,AD_INPUT_PORTnopsetb ad_rd nopsetb ad_cs ret;//==========================================;// AD转换读取延时程序,显示读到的数值;//==========================================Adc_Demo:lcall Adc_Start lcall delay1ms lcall adc_read clr p2.0 clr p2.3mov p0,aretdelay1ms:mov r7,#10 tt1: mov r6,#50djnz r6,$ ;2us djnz r7,tt1retend。

我的51单片机之模数转换ADC0804的C语言和汇编编程

我的51单片机之模数转换ADC0804的C语言和汇编编程
//返回数据处理,LED 显示,Frequency 为转换频率 unsigned int DoWitchData(unsigned int Frequency) {
unsigned char AD[2];//存高低字节 unsigned int InputV;//最后处理结果 unsigned char i; InputV=ReadAD(); AD[1]=InputV&0xF0; AD[1]=AD[1]>>4; AD[0]=InputV&0x0F; InputV=ADH[AD[1]]+ADL[AD[0]]; for(i=0;i<Frequency;i++) {
//延时 void delay(unsigned char n) {
unsigned char i; for(i=0;i<n;i++) {
; } }
//AD 转换,P 口取数 unsigned char ReadAD() {
unsigned char ADData; RDA=1; WRA=1; InputPort=0xFF; WRA=0; _nop_(); WRA=1; delay(100); RDA=0; _nop_();_nop_();_nop_();_nop_();_nop_(); ADData=InputPort; _nop_();_nop_();_nop_();_nop_();_nop_(); RDA=1; _nop_(); return (ADData); }
//
{ 0 , 1, 2 , 3 , 4 , 5, 6, 7, 8,
//
9, A , b , C , d, e, f, 点, 息灯, }
sbit RDA=P3^7; sbit WRA=P3^6; sbit INTR=P3^3;

ADC0804资料

ADC0804资料

AD0804资料ADC0804是用CMOS集成工艺制成的逐次比较型摸数转换芯片。

分辨率8位,转换时间100μs,输入电压范围为0~5V。

该芯片内有输出数据锁存器,当与计算机连接时,转换电路的输出可以直接连接在CPU数据总线上,无须附加逻辑接口电路。

A/D转换器数据输出端,该输出端具有三态特性,能与微机总线相接。

·/CS:芯片选择信号。

VREF:辅助参考电压。

/WR:用来启动转换的控制当/WR自HI变为LO时,转换器被清除;当/WR回到HI时,转换正式启动;/RD:外部读取转换结果的控制脚输出信号。

DB0~DB7:8位数字输出。

/INTR:中断请求信号输出,低电平动AGND,DGND:模拟信号以及数字信号接地。

CLK IN,CLK R:时钟输入或接振荡元件(R,C),频率约限制在100KHz~1460KHz VIN(+),VIN(-):差动模拟电压输入。

输入单端正电压时,VIN(-)接地; ADC0804控制信号的时序图例一:如图所示,用中断的方法实现A/D转换,并将转换结果放到片内RAM 23H单元.ORG 0000HLJMP MAINORG 0013HLJMP INT111MAIN: MOV IE,#84H INT111: CLR P3.7 CLR P1.0 NOPCLR P3.6 NOPNOP SETB P3.7 SETB P3.6 MOV 23H,p0 SJMP $ RETI例二:如图所示,用中断的方法实现A/D转换,并将转换结果放到片内RAM 20H单元. ArrayORG 0000HLSMP MAINORG 0003HLJMP INT000MAIN: CLR P2.4 INT000:CLR P3.7CLR P3.6 SETB P3.7SETB P3.6 MOV 20H,P0MOV IE,#81H RETISJMP $ENDORG 0000HLJMP MAINORG 0003HLJMP INT000MOV IE,#81H INT000: MOVX A,@DPTR MOV DPTR,#0EFFFH MOV 20H,AMOVX @DPTR,A RETISJMP $。

AD0804模数转换实验报告

AD0804模数转换实验报告

FPGA实验报告题目:ADC0804并行A/D实验班级:姓名:张俊卿学号:指导教师:张文旭日期:2014.04.25ADC0804实验报告一.实验原理1.1 输入模拟量转数字量实验原理本实验要求利用ADC0804实现输入模拟量到数字量的转换,并将转换结果在数码管上输出。

由已知电路得ADC0804的输入模拟电压用一个滑动变阻器对电源分压得到,它的8位输出AD0~AD7与FPGA的8个管脚相连,即input [7:0] data。

而data就是数码管的动态显示数据。

通过循环扫描,使数码管正确的显示出data的十进制数形式。

以下为实验箱内ADC0804与FPGA的连接关系,图2.ADC0804与FPGA连接图二.实验应用的器件分析2.1 ADC0804原理ADC0804是8位全MOS中速逐次逼近式A/D转换器,片内有三态数据输出锁存器,可以和单片机直接接口。

单通道输入,转换时间大约100us。

ADC0804转换时序是:当CS=0许可进行A/D转换。

WR由低到高时,A/D开始转换,一次转换共需要66-73个时钟周期。

CS与WR同时有效时启动A/D转换,转换结束产生INTR信号(低电平有效),可供查询或者中断信号。

在CS和RD的控制下可以读取数据结果。

ADC0804 为一只具有20引脚8位CMOS 连续近似的A/D 转换器,其规格如下:(1) 高阻抗状态输出(2) 分辨率:8 位(0~255)(3) 存取时间:135 ms(4) 转换时间:100 ms(5) 总误差:-1~+1LSB(6) 工作温度:ADC0804C为0度~70度;ADC0804L为-40 度~85 度(7) 模拟输入电压范围:0V~5V(8) 参考电压:2.5V(9) 工作电压:5V(10) 输出为三态结构1. 接脚说明见图1:2. PIN1 (CS ):Chip Select,与RD、WR 接脚的输入电压高低一起判断读取或写入与否,当其为低位准(low) 时会active。

ADC0804最完整资料(内含驱动程序)

ADC0804最完整资料(内含驱动程序)

试验 模拟/数字转换芯片ADC0804的使用1、实验目的1.了解并测试模/数芯片ADC0804性能。

性能。

2.学习A/D 芯片ADC0804的接线和转换的基本原理。

2、试验内容2.1 模拟/数字转换的一些背景知识介绍模拟模拟//数字转换就是我们通常所说的A/D 转换,它将输入的模拟信号转换,它将输入的模拟信号((如电压如电压))转换成控制芯片转换成控制芯片((如单片机,如单片机,ARM)ARM)ARM)所能识别的二进制形式,然后经过运算,既可所能识别的二进制形式,然后经过运算,既可以还原出输入模拟信号的值。

以还原出输入模拟信号的值。

A/D 转换是一种非常重要的技术手段,是单片机等控制芯片与外界信号的接口部分,图1给出了一种常用的嵌入式设计模式。

A/D 转换芯片(如ADC0804)模拟电路处理器芯片(如51单片机) 显示(如八段数码管,LCD ,上位机软件)外界信号(如声音,血糖浓度,温度)电压值二进制形式控制信号传感器 电压值图1:一种常用的基于A/D 芯片的嵌入式设计模式由图1可见,这种设计模式包含以下几个环节。

可见,这种设计模式包含以下几个环节。

外界信号:外界信号的范围十分广泛,外界信号的范围十分广泛,自然界的一切信号,自然界的一切信号,自然界的一切信号,比如声音,比如声音,比如声音,温度甚至温度甚至是血糖浓度等都可以规类为外界信号。

是血糖浓度等都可以规类为外界信号。

传感器:因为大多数外界信号都不是电信号,因为大多数外界信号都不是电信号,因此需要通过各种传感器将这些外因此需要通过各种传感器将这些外界信号转换成电信号,例如:通过热电耦可以将温度转换成一个电压值。

模拟电路:设计模拟电路的原因主要有以下两点设计模拟电路的原因主要有以下两点1.由于外界信号的复杂性,使得传感器直接输出的电信号可能会存在一些问题(如不稳定),这些不稳定信号如果直接送到A/D 芯片进行采样,则最终结果可能使得最后的显示值来回乱跳,果可能使得最后的显示值来回乱跳,而无法确定待测的外界信号到底是多少。

adc0804和adc0809区别

adc0804和adc0809区别
电压输入;具有参考电压输入端;内含时钟发生器;单电源工作时(0~5)
V输入电压范围是0~5V;不需要调零等等。ADC0804是一款早期的AD转
换器,因其价格低廉而在要求不高的场合得到广泛应用。
adc0804电气特性
●工作电压:+5V,即VCC=+5V。
●模拟输入电压范围:0~+5V,即0小于等于Vin小于等于+
二、adc0804介绍
集成A/D转换器品种繁多,选用时应综合考虑各种因素选取集成芯
片。一般逐次比较型A/D转换器用的比较多,ADC0804就是这类单片集成
A/D转换器。ADC0804是一款8位、单通道、低价格A/D转换器,主要特点
是:模数转换时间大约100us;方便TTL或CMOS标准接口;可以满足差分
REF(+)、REF(-):基准电压。
Vcc:电源,单一+5V。
GND:地。
ADC0809用途
ADC0809与MCS-51单片机的连接主要涉及两个问题。一是8路模
拟信号通道的选择,二是A/D转换完成后转换数据的传送。转换数据的传送
有定时传送方式、查询方式、中断方式这三种方式。A、B、C的值与被选择
的通道之间的关系
宽)使其启动(脉冲上升沿使0809复位,下降沿启动A/D转换)。
EOC:A/D转换结束信号,输出端,当A/D转换结束时,此端输出
一个高电平(转换期间一直为低电平)。
OE:数据输出允许信号,输入端,高电平有效。当A/D转换结束
时,此端输入一个高电平,才能打开输出三态门,输出数字量。
CLK:时钟脉冲输入端。要求时钟频率不高于640KHz。
1)8ቤተ መጻሕፍቲ ባይዱ输入通道,8位A/D转换器,即分辨率为8位。
2)具有转换起停控制端。

ADC0804工作原理其程序

ADC0804工作原理其程序

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

1、A/D转换概念:即模数转换(Analog to DigitalConversion),输入模拟量(比如电压信号),输出一个与模拟量相对应的数字量(常为二进制形式)。

例如参考电压VREF为5V,采用8位的模数转换器时,当输入电压为0V时,输出的数字量为0000 0000,当输入的电压为5V时,输出的数字量为1111 1111。

当输入的电压从从0V到5V变化时,输出的数字量从0000 0000到1111 1111变化。

这样每个输入电压值对应一个输出数字量,即实现了模数转换。

2、分辨率概念:分辨率是指使输出数字量变化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)。

显然,位数越多,分辨率就越高。

3、ADC0804引脚功能:CS:芯片片选信号,低电平有效。

即CS=0时,该芯片才能正常工作,高电平时芯片不工作。

在外接多个ADC0804芯片时,该信号可以作为选择地址使用,通过不同的地址信号使能不同的ADC0804芯片,从而可以实现多个ADC通道的分时复用。

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

ADC0804的应用

ADC0804的应用

ADC0804简介及应用ADC0804是一个早期的A/D转换器,因其价格低廉而在要求不高的场合得到广泛应用。

ADC0804是一个8位、单通道、低价格A/D转换器,主要特点是:摸数转换时间大约100us;方便的TTL或CMOS标准接口;可以满足差分电压输入;具有参考电压输入端;内含时钟发生器;单电源工作时(0V~5V)输入信号电压范围是0V~5V;不需要调零等等。

图1 ADC0804引脚图所有引脚定义如下:(引脚1):片选信号。

低电平有效,高电平时芯片不工作。

(引脚2):外部读数据控制信号。

此信号低电平时ADC0804把转换完成的数据加载到DB口。

(引脚3):外部写数据控制信号。

此信号的上升沿可以启动ADC0804的A/D转换过程。

CLK IN(引脚4):时钟输入引脚。

ADC0804使用RC振荡器作为A/D时钟,CLK IN 是振动器的输入端。

(引脚5):转换结束输出信号。

ADC0804完成一次A/D转换后,此引脚输出一个低脉冲。

对单片机可以称为中断触发信号。

Vin(+)(引脚6):输入信号电压的正极。

Vin(-)(引脚7):输入信号电压的负极。

可以连接到电源地。

AGND(引脚8):模拟电源的地线。

Vref/2(引脚9):参考电源输入端。

参考电源取输入信号电压(最大值)的二分之一。

例如输入信号电压是0V~5V时,参考电源取2.;输入信号电压是0V~4V时,参考电源取2. 0V。

DGND(引脚10):数字电源的地线。

DB8~DB0(引脚11~引脚18):数字信号输出口,连接单片机的数据总线。

CLK R(引脚19):时钟输入端。

V CC(引脚20):5V电源引脚。

补充说明:CLKI(引脚4)和CLKR(引脚19):ADC0801~0805 片内有时钟电路,只要在外部“CLKI”和“CLKR”两端外接一对电阻电容即可产生A/D 转换所要求的时钟,其振荡频率为fCLK≈1/1.1RC。

其典型应用参数为:R=10KΩ,C=150PF,fCLK≈640K Hz,转换速度为100μs。

提高实验--ADC0804模数转换和DAC0832数模拟换接口实验

提高实验--ADC0804模数转换和DAC0832数模拟换接口实验

实验二ADC0804模/数转换和DAC0832数/模拟换接口实验一、实验目的1.了解模/数转换基本原理,掌握ADC0804的使用方法。

2.了解D/A转换的基本原理。

3.了解D/A转换芯片DAC0832的性能及编程方法。

4.了解单片机系统中扩展D/A转换的基本方法。

二、二、实验仪器和设备1.单片机实验板一台2.计算机一台三、三、实验简介1.实验内容利用实验板上的ADC0804做A/D转换器,利用实验板上的电位器W1提供模拟量输入。

编制程序,将模拟量转换成二进制数字量,用发光二极管显示。

利用DAC0832,编制程序产生锯齿波、三角波、正弦波。

三种波轮流显示,用示波器观看。

2.实验线路及连接图2-1 ADC0804接线电路图2-2 DAC0832接线电路图1-1 实验线路图3. 实验程序参考框图开始初始化定时器开中断启动ADY 中断入口延时返回AD 转化完NoYes 输出数据图2-3 AD 基本流程图入口查表读波形数据启动D /A改变计数器及表指针显示完毕返回置计数器初值NY开始产生锯齿波数256个数据产生三角波上升部数128个数据否产生三角波下降部数128个数据否产生正弦波数128个数据否显示锯齿波256显示三角波256显示正弦波256NYYNNYNY图2-4 DA 基本流程图4. 实验说明A/D 转换器大致有三类:一是双积分A/D 转换器,优点是精度高,抗干扰性好,价格便宜,但速度慢;二是逐次逼近法A/D 转换器,精度,速度,价格适中;三是并行A/D 转换器,速度快,价格也昂贵。

实验用的AD C0804属第二类,是八位A/D 转换器。

每采集一次一般需100us 。

中断方式下,A/D 转换结束后会自动产生EOC 信号,将其与8051的INT0相接。

图2-1中,DB1到DB8这8个口连接到P1口。

CS-AD 这个是片选端口,低电平表示选中,RD 写入信号,WR 读出信号。

使用是需要将AD-IN 口的1和2短接。

ADC0804中文资料_数据手册_参数

ADC0804中文资料_数据手册_参数
兼容8080µP衍生品——noADC0804 CMOS连续8位approximationinterfacing逻辑需要访问时间135年国家安全局/ D转换器,使用微分电位• 简单接口所有微处理器,orladder r -类似于256的产品。这些操作“独立”转换器的设计允许操作与theNSC800和INS8080A微分控制总线 与•差分模拟电压输入-状态输出锁存器直接驱动数据•逻辑输入和输出满足MOS和总线。ADC0804 这些A/Ds看起来就像内存位置或I/ OTTL电压等级规范一样,适用于微处理器,并且没有接口逻辑,适用于2.5V (LM336)电压。•片上时钟发生器差分模拟电压输入允许增 加•0V到5V的模拟输入电压范围与共模抑制和抵消模拟单5V供应零输入电压值。此外,电压参考输入可以调整,以允许编码•零调整, 不需要任何较小的模拟电压跨度,以达到完全8位•0.3“标准宽度20针DIP封装解决方案。•20-pin型芯片载体或小 outlinepackageCONNECTION图•运营ratiometrically或5 VDC, 2.5 VDC,或模拟跨调整电压referenceADC080XDual-In-Line和小轮廓(所 以)PackagesSee订购InformationKEY规范•决议:8位•总误差:±1/4 LSB,±1/2 LSB和±1 LSB•转换时间:100µsTable 1。订货信息温度范围:0°C ~ 70°C ~ 70°C - 40°C ~ +85°C±1/2位可调参数(±1/2 Bit unadjustedadc0802lcmadc0802lcn±1/2位可调参数(±1/2 Bit unadjustedadc0803lcn±1/2位可调参数一个完美的A/D转换特性(阶梯波形)如图45所示。ADC0804 水平比例尺为模拟输入电压,标记的特 定点按步骤为1 LSB (19.53 mV, 2.5V系在VREF/2引脚上)。与这些输入对应的数字输出码表示为D - 1、D和D+1。对于完美的A/D,不仅 将中心值(A - 1, A, A+1,…)模拟输入产生cor- rect输出数字码,ADC0804 同时每个隔水器(相邻输出码之间的跃迁)将在离每个中心值 ±1 / 2 LSB的位置上。如图所示,立管是理想的,没有宽度。当模拟输入电压范围较理想中心值增加±1 / 2 LSB时,ADC0804 将提供正 确的数字输出码。因此,每个胎面(提供相同数字输出码的模拟输入电压范围)的宽度为1 LSB。图46显示了ADC0801的最坏情况错误 图。保证所有中心值输入产生正确的输出码,并且指定相邻的冒口距离中心值点不小于±1/4LSB。换句话说,如果我们应用一个等于 中心值±1/4 LSB的模拟输入,我们保证A/ d将生成正确的数字代码。代码转换位置的最大范围由水平箭头表示,指定为不超过1/2 LSB。图47中的错误曲线显示了ADC0802的最坏情况错误图。在这里,我们保证,如果我们应用模拟输入等于LSB模拟电压中心值的A/ D将产生正确的数字代码。每个传递函数旁边都显示了相应的误差图。许多人可能更熟悉误差图而不是传递函数。A/D的模拟输入电压 由线性斜坡或高分辨率DAC的离散输出步骤提供。注意,错误是连续显示的,ADC0804 包括A/D的量化不确定性。例如,图45中第1个 点的误差是+1 / 2 LSB,因为数字代码在胎面中心值之前出现了1 / 2 LSB。误差曲线的斜率始终为负,陡升阶数始终为业一站式 报价服务,万联芯城-以良心做好良芯,专为终端工厂企业客户提供 电子元器件一站式配套报价服务,客户只需提交BOM表,即可获 得优势报价,整单采购有优惠,电子元器件配套采购,专为客户节省 成本,满足客户的多样化物料需求,点击进入万联芯城。

ADC0804Philips说明书翻译

ADC0804Philips说明书翻译

ADC0804Philips说明书翻译ADC0804翻译ADC0804说明书ADC0803芯片族是一个系列,它是由三个8位的CMOS逐次采用逐次比较型的A / D转换器和一系列的电容外加一个自动调零的比较器组成的。

这些转换器是为了满足使微处理器的控制总线使用最少的外部线路而设计的。

三态输出数据线可以直接连接到数据总线上。

差分模拟输入电压能够有助于共模抑制,并提供了一种调整零刻度偏移方法。

此外,参考电压的输入提供了一种手段将晓得模拟电压编码成为一个完整的8位编码。

?5 V单电源?保证规格为1 MHz的CLOC图1.引脚说明应用?传感器到微处理器接口?数字温度计?数字控制的自动调温器?微处理器为基础的监测和控制系统特点?兼容大多数微处理器?差分输入?三态输出?逻辑电平与TTL兼容的MOS ?可使用内部或外部时钟使用?模拟输入范围为0 V至V CC订购信息1ADC0804翻译极限参数注意:1避免环境温度高于25 °C,遵循如下比率:N封装为13.5 mW/°C;D 封装为11.1 mW/°C.框图图2.框图2ADC0804翻译直流电气特性注意:1、逻辑电压输入必须保持在:–0.05 ≤V IN ≤V CC + 0.05 V;2、参考输入典型电压VCC =5 V;3、为了防止锁存错误,V REF /2 和V IN必须在Vcc已经打开的前提下才可以使用。

3ADC0804翻译AC电气特性1. 精度最好保证在f CLK=1MHz。

在更高的时钟频率时,准确度可能会降低。

功能描述该设备采用逐次比较型。

模拟开关由于连续相近的逻辑值被顺序地关闭,直到输入到自动调零比较器的电压[V IN(+)- V IN(- )]与解码器的电压相匹配。

在所有的位被测试和确定后,与输入电压相应的8位二进制码被输送到输出锁存器上。

如果在CS输入为低且WR有一个脉冲传来则转换开始。

当WR或者CS的输入端发生了一个有高电平到低电平的跳变信号,SAR被初始化,移位寄存器复位,而INTR输出被设置为高电平。

ADC0804转换器与STC89C52单片机

ADC0804转换器与STC89C52单片机

A/D转换A/D转换器的位数与被测量对象的精度有关。

一般情况下,电路设计中A/D 转换器的分辨率要高于被测量对象的信号最低分辨率。

假如要测量一级电源电压,其电压的输出范围是0—10V,如要求精确到0.1V,即分辨率为0.1/10=0.01=1%。

实际中选择8位的A/D转换器便可满足要求,8位A/D转换器的分辨率为1/256=0.4%。

并行接口的A/D芯片目前仍占多数,流行的有ADC0804、ADC0809、AD574等等。

本系统使用ADC0804来完成模拟信号向数字信号的转换。

ADC0804主要技术指标如下:(1) 高阻抗状态输出(2)分辨率:8 位(0~255)(3) 存取时间:135 ms(4) 转换时间:100 ms(5) 总误差:-1~+1LSB(6) 工作温度:ADC0804C为0度~70度;ADC0804L为-40 度~85 度(7) 模拟输入电压范围:0V~5V(8) 参考电压:2.5V(9) 工作电压:5V(10) 输出为三态结构ADC0804芯片介绍图—4:ADC0804规格及引脚分布图本设计采用的A/D芯片为ADC0804,它是CMOS 8位单通道逐次渐近型的模/数转换器,其规格及引脚图如图—4所示,各个引脚的大致功能如下:/CS:芯片片选信号,低电平有效,即/CS=0,该芯片才能正常工作,在外接多个ADC0804芯片时,该信号可以作为选择地址使用,通过不同的地址信号使能不同的ADC0804芯片,从而可以实现多个ADC通道的分时复用。

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

/RD:低电平有效,即/RD=0时,可以通过数据端口DB0~DB7读出本次的采样结果。

UIN(+)和UIN(-):模拟电压输入端,模拟电压输入接UIN(+)端,UIN (-)端接地。

双边输入时UIN(+)、UIN(-)分别接模拟电压信号的正端和负端。

ADC0804芯片资料

ADC0804芯片资料

ADC0804芯片资料ADC0804ADC0804 A/D转换器的基本原理1.工作原理::所谓 A/D转换器就是模拟/ 数字转换器(ADC),是将输入的模拟信号转换成数字信号。

信号输入端可以是传感器或转换器的输出,而 ADC的数字信号也可能提供给微处理器,以便广泛地应用。

2. ADADC0804引脚图如下:8 位 COMS依次逼近型的 A/D转换器. 三态锁定输出存取时间:135US 分辨率:8 位转换时间:100US 总误差:正负 1LSB 工作温度:ADC0804LCN---0~70 度3.引脚说明/CS(引脚1)芯片选择信号,低电平有效/RD(引脚 2) 外部读取转换结果的控制输出信号。

/RD为 HI 时,DB0~DB7处理高阻抗:/RD为 LO时,数字数据才会输出。

/WR(引脚 3)用来启动转换的控制输入,相当于 ADC的转换开始(/CS=0 时),当 /WR由 HI变为 LO时,转换器被清除:当/WR回到 HI 时,转换正式开始。

CS 、RD 、WR (引脚1、2、3):是数字控制输入端,满足标准TTL 逻辑电平。

其中CS 和WR 用来控制A/D 转换的启动信号。

CS 、RD 用来读A/D 转换的结果,当它们同时为低电平时,输出数据锁存器DB0~DB7 各端上出现8 位并行二进制数码。

CLKI(引脚4)和CLKR(引脚19):ADC0801~0805 片内有时钟电路,只要在外部“CLKI”和“CLKR”两端外接一对电阻电容即可产生 A/D 转换所要求的时钟,其振荡频率为fCLK?1/1.1RC。

其典型应用参数为:R=10KΩ,C=150PF,fCLK?640KHZ,转换速度为100μ,。

若采用外部时钟,则外部fCLK 可从CLKI 端送入,此时不接R、C。

允许的时钟频率范围为100KHZ,1460KHZ。

INTR (引脚5): INTR 是转换结束信号输出端,输出跳转为低电平表示本次转换已经完成,可作为微处理器的中断或查询信号。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

模拟/数字转换器ADC0804
所谓A/D转换器就是模拟/数字转换器(Analog to Digital Converter 简称ADC)是将输入的模拟信号转换成为数字信号。

ADC0804的规格及引脚图:
/CS:芯片选择信号。

VREF:辅助参考电压。

/RD:外部读取转换结果的控制脚输出信号。

/INTR:中断请求信号输出,低电平动
CLK IN,CLK R:时钟输入或接振荡元件(R,C),频率约限制在100KHz~1460KHz VCC:电源供应以及作为电路的参考电压。

/WR:用来启动转换的控制当/WR自HI变为LO时,转换器被清除;当/WR回到HI时,转换正式启动;
DB0~DB7:8位数字输出。

AGND,DGND:模拟信号以及数字信号接地。

VIN(+),VIN(-):差动模拟电压输入。

输入单端正电压时,VIN(-)接地;ADC0804电压输入与数字输出关系如表所示:
相关原理:
程序运行照片:
接线方法:
1、用一个2PIN数据线插入CPU部分JP53(P3口)的P3.6,P3.7另一端插入ADC0804部分的输入端J3.
2、用一根8PIN的数据排线,一端插入ADC0804部分的数据输入端JP35, 另一端插入CPU部分JP44(P1口)
3、用一根8PIN的数据排线,一端插入八路指示灯部分的JP32, 另一端插入CPU部分JP51(P0口)
运行照片,用一个小螺丝刀调整AD转换部分的ADJ3 可以看到P0口引出的8个LED逐次变化。

程序流程图:
汇编语言参考程序:
ad_cs equ P3.6
ad_wr equ P2.0
ad_rd equ P3.7
ad_input_port equ p1 org 0000h
ajmp main
org 0080h
main:
lcall adc_demo
ajmp main
;// 启动AD转换
Adc_Start:
clr ad_cs
nop
clr ad_wr
nop
setb ad_wr
nop
setb ad_cs
nop
ret
Adc_Read: ;// 读AD转换
mov ad_input_port,#0ffh
clr ad_cs
nop
clr ad_rd
nop
nop
mov a,AD_INPUT_PORT
nop
setb ad_rd
nop
setb ad_cs
ret
;// AD转换读取延时程序,显示读到的数值Adc_Demo:
lcall Adc_Start
lcall delay1ms
lcall adc_read
clr p2.0
clr p2.3
mov p0,a
ret
delay1ms:
mov r7,#10
tt1:
mov r6,#50
djnz r6,$ ;2us
djnz r7,tt1
ret
end
c语言参考程序:
#include<reg51.h> //头文件
#define uchar unsigned char //宏定义,为方便编程
#define uint unsigned int
#define ADDATA P1 //宏定义,将P1口定义为0804输出数据位#define LED P0 //宏定义,将P0口定义为LED
sbit _WR=P2^0; //定义P2.0为数据写入位
sbit CS=P3^6; //定义P3.6为ADC0804片选位
sbit _RD=P3^7; //定义P3.7为数据读取位
void delay_run() //AD转换间隔延迟函数
{
uchar ii,jj;
for(ii=0;ii<200;ii++)
for(jj=0;jj<200;jj++);
}
void delay() //片选及读写数据位保持延迟
{
uchar i=200;
while(i--);
}
char code SST516[3] _at_ 0x003b; //仿真器保留
main() //主函数
{
uchar value=0; //定义一变量,用于存放AD转换完的数据while(1)
{
CS=0; //拉低片选位
_WR=0; //拉低写数据位
delay(); //延迟
_WR=1; //拉高写数据位,启动AD转换
CS=1; //拉高片选位
CS=0; //拉低片选位
_RD=0; //拉低读数据位,读取AD转换数据
value=ADDATA;
delay(); //延迟
_RD=1; //拉高读数据位
CS=1; //拉高片选
LED=value; //将AD转换的数据赋给P0,驱动LED
delay_run(); //AD转换间隔延迟
}
}。

相关文档
最新文档