单片机控制ADC的常用方法有哪些

作者&投稿:殳盾 (若有异议请与网页底部的电邮联系)
单片机控制adc的常用方法有哪些~

你是说单片机控制adc芯片吗?控制方式是怎么样那得看adc芯片的通信方式是什么,有的是串口,有的是spi,有的是IIC这都是有不同的

可以实现的,使用单片机是成本最低的了,一片才几元钱,功能都在程序里面实现了。呵呵,成本看你怎么算了,硬件成本和人工成本要取得平衡才能知道优劣。

1、ADC原理

ADC转换器由前置滤波器、调制器、数字滤波器和梳值滤波器组成,22∃ADC的结构如图1所示.它是将输入信号通过22∃调制器量化成1bit的高速数据流,再经过数字滤波和采样抽取后才得到最后的结果.和传统的A󰃗D转换相比,其原理和结构有很大地不同,下面以一阶22∃调制器为例来说明22∃ADC原理.

图1 2-∃ADC的结构

2、常用的方法

ADC0809是带有8位A/D转换器、8路多路开关以及微处理机兼容的控制逻辑的CMOS组件。它是逐次逼近式A/D转换器,可以和单片机直接接口。 

 (1)ADC0809的内部逻辑结构

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

  (2). ADC0809引脚结构

 

ADC0809各脚功能如下:
 D7-D0:8位数字量输出引脚。
 IN0-IN7:8位模拟量输入引脚。
 VCC:+5V工作电压。
 GND:地。
 REF(+):参考电压正端。
 REF(-):参考电压负端。
 START:A/D转换启动信号输入端。
 ALE:地址锁存允许信号输入端。
 (以上两种信号用于启动A/D转换).
 EOC:转换结束信号输出引脚,开始转换时为低电平,当转换结束时为高电平。
 OE:输出允许控制端,用以打开三态数据输出锁存器。
 CLK:时钟信号输入端(一般为500KHz)。
 A、B、C:地址输入线。

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

     地址输入和控制线:4条

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


数字量输出及控制线:11条

      ST为转换启动信号。当ST上跳沿时,所有内部寄存器清零;下跳沿时,开始进行A/D转换;在转换期间,ST应保持低电平。EOC为转换结束信号。当 EOC为高电平时,表明转换结束;否则,表明正在进行A/D转换。OE为输出允许信号,用于控制三条输出锁存器向单片机输出转换得到的数据。OE=1,输 出转换得到的数据;OE=0,输出数据线呈高阻状态。D7-D0为数字量输出线。  

      CLK为时钟输入信号线。因ADC0809的内部没有时钟电路,所需时钟信号必须由外界提供,通常使用频率为500KHZ,

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

 

2. ADC0809应用说明 

(1). ADC0809内部带有输出锁存器,可以与AT89S51单片机直接相连。

(2). 初始化时,使ST和OE信号全为低电平。

(3). 送要转换的哪一通道的地址到A,B,C端口上。 

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

(5). 是否转换完毕,我们根据EOC信号来判断。  

(6). 当EOC变为高电平时,这时给OE为高电平,转换的数据就输出给单片机了。

3. 实验任务

如下图所示,从ADC0809的通道IN3输入0-5V之间的模拟量,通过ADC0809转换成数字量在数码管上以十进制形成显示出来。ADC0809的VREF接+5V电压。  

4. 程序设计内容

(1). 进行A/D转换时,采用查询EOC的标志信号来检测A/D转换是否完毕,若完毕则把数据通过P0端口读入,经过数据处理之后在数码管上显示。

(2). 进行A/D转换之前,要启动转换的方法:  

ABC=110选择第三通道

ST=0,ST=1,ST=0产生启动转换的正脉冲信号 .

C语言源程序
 #include
 unsigned char code dispbitcode[]={0xfe,0xfd,0xfb,0xf7,
  0xef,0xdf,0xbf,0x7f};
 unsigned char code dispcode[]={0x3f,0x06,0x5b,0x4f,0x66,
 0x6d,0x7d,0x07,0x7f,0x6f,0x00};
 unsigned char dispbuf[8]={10,10,10,10,10,0,0,0};
 unsigned char dispcount;

 

sbit ST="P3"^0;
 sbit OE="P3"^1;
 sbit EOC="P3"^2;
 unsigned char channel="0xbc";//IN3
 unsigned char getdata;

 

void main(void)
 {
 TMOD=0x01;
 TH0=(65536-4000)/256;
 TL0=(65536-4000)%256;
 TR0=1;
 ET0=1;
 EA=1;

 

P3=channel;

 

while(1)
 {
 ST=0;
 ST=1;
 ST=0;
 while(EOC==0);
 OE=1;
 getdata=P0;
 OE=0;
 dispbuf[2]=getdata/100;
 getdata=getdata%10;
 dispbuf[1]=getdata/10;
 dispbuf[0]=getdata%10;
 }
 }

 

void t0(void) interrupt 1 using 0
 {
 TH0=(65536-4000)/256;
 TL0=(65536-4000)%256;
 P1=dispcode[dispbuf[dispcount]];
 P2=dispbitcode[dispcount];
 dispcount++;
 if(dispcount==8)
 {
 dispcount=0;
 }

     



看ADC的接口是怎么设计的了
ADC一般就是并行和串行两种


数码相机中有没有adc这个设备
有。根据查询渠道科技官网显示,adc是analogtodigitalconverter的缩写,是数码相机的模数转换器,通常表述为A斜杠D或adc。数码相机的图像传感器cmos将光信号变为模拟信号,经过模数转换器变成数字信号记录下来,就是数字照片,或者叫数码照片,将模数转换器adc片上插入cmos,有助于减少功耗,降低成本。

单片机中 ADC 是如何进行采集的???
在接收端,单片机和射频模块之间也是双向通信,单片机首先关闭SPI 模式,将MISO定义为输入模式,通过模拟的SPI 操作,对射频模块进行配置;当有控制命令要发送时,仍将MISO端口定义为输出模式,将射频模块配置为发送模式,将控制命令发送到数据采集终端;当要接收采集终端传来的数据时,首先将射频模块配置为...

什么是数码相机片上comc的adc
adc是analog to digital converter的缩写,是数码相机的模数转换器,通常表述为A\/D或adc。数码相机的图像传感器cmos将光信号变为模拟信号,经过模数转换器变成数字信号记录下来,就是数字照片,或者叫数码照片,将模数转换器adc片上插入cmos,有助于减少功耗,降低成本。至于是否提升数码相机的宽容度,没有官...

ad是什么?
AD:模数转换器即A\/D转换器,或简称ADC,通常是指一个将模拟信号转变为数字信号的电子元件。通常的模数转换器是将一个输入电压信号转换为一个输出的数字信号。由于数字信号本身不具有实际意义,仅仅表示一个相对大小。故任何一个模数转换器都需要一个参考模拟量作为转换的标准,比较常见的参考标准为最大的...

ADC硬度标准
日本铝合金adc12,属于压铸铝合金,其参数:引张强度平均值228MPa,耐力平均值154MPa,伸长度平均值1.4,HB硬度平均值74.1,HRB平均值40。国标要求:抗拉强度≥220,延伸率≥1.5%,硬度HB≥75,A380性能相对要好一点,国标要求:抗拉强度≥320,延伸率≥3.5%,硬度HB≥80。以上性能都是压铸态下的...

钩出一片未来S4赛季机器人布里茨辅助攻略
德莱文:最近经常见到的ADC,只要你的德莱文接的准斧子,大胆的上去Q敌方英雄,只要命中,德莱文跟上几个Q技能就能让对方生不如死。寒冰:作为发育型ADC寒冰前期其实并不与机器人合拍,伤害不足的寒冰即使机器人钩中对面的ADC,也不足以为对方造成太大的压力,但是六级的寒冰大招先手恐怖,配合机器人的控制,他们六级后的配合...

数码相机名词解释
SLR(Single Lens Reflect):单镜头反光式照相机 VGA 在谈及连拍等时候提到的VGA是指在VGA分辨率时,即640×480。 AA :电池大小代号,即国产电池的5号 NiCd :镍镉电池 NiMH :镍氢电池 Lith :锂离子电池 Alkaline:碱性电池 光学取景器 传统普及型相机里常用的那种通过一组与拍摄镜头无关(高档傻瓜机上常与变焦镜头连...

数码相机原理
数码相机是由镜头、CCD、A\/D(模\/数转换器)、MPU(微处理器)、内置存储器、LCD(液晶显示器)、PC卡(可移动存储器)和接口(计算机接口、电视机接口)等部分组成,通常它们都安装在数码相机的内部,当然也有一些数码相机的液晶显示器与相机机身分离。 数码相机中的工作原理如下:当按下快门时,镜头将光线会聚到感光器件...

请教AVR单片机片内10位ADC转换结果读取问题。
比如一次ADC转换的结果为0x0347,即ADCH=0x03,ADCL=0x47,现在要讲这个结果存储在result中,那就是result=ADCH*256+ADCL=0x03*256+0x47=0x300+0x47=0x0347,就这样的。当结果为左对齐的时候,ADCH存储的是10bit结果的高8位,ADCL的最高两位存储的是10bit结果的最低两位,如果以上面的例子...

ADC0809与单片机接线,为什么ADC0809的地址是7FF8H?
ADC0809的地址即通道0的地址。1、解题关键:(1)数字输出的方式是否有可控三态输出。有可控三态输出的ADC芯片允许输出线与微机系统的数据总线直接相连,并在转换结束后利用读数信号RD选通三态门,将转换结果送上总线。没有可控三态输出(包括内部根本没有输出三态门和虽有三态门、但外部不可控两种情况)的ADC...

淮安市15116441457: 有人知道怎样用一个单片机连接多个ADC电路吗? ADC是用CS5532
柞亭苦参: 将各片CS5532的SCLK,SDO,SDI相互联系后与单片机引脚相连,将各片CS5532的引脚分别与单片机引脚相联,即各片CS5532的CS引脚各自独立控制,通过单独的CS引脚控制各个CS5532. 对于有些单片机驱动有限可以加一片74系统的缓冲...

淮安市15116441457: 如何使单片机控制选择adc0809的 -
柞亭苦参: 根据ADc0809控制时序图,编写相应的驱动程序,基本与ADC0804驱动方式一致.

淮安市15116441457: 有谁知道单片机内部ad转换怎么使用,最好有例子 -
柞亭苦参: 单片机的说明文档上有,首先要看一下ADC_CONTR这个寄存器 它决定着ADC 电源开启 转换速度 选择哪个通道 启动与停止 转换是否完成 程序如下: ADC_CONTR=ADC_CONTR|0X80; //10000000 开启转换电源 Delay1ms(1); //延时,等待内...

淮安市15116441457: 提高单片机控制的AD采样频率有哪些方法 -
柞亭苦参: 单片机内部的采样率是在研发芯片的时候已经固定好的,比如采样率是250MSPS,你最多只能到250MSPS,无法提高,所以你要想提高采样率只能用采样率更高的ADC.

淮安市15116441457: 利用单片机实现AD转换中的地址问题 -
柞亭苦参: 从你的ADC地址看得出,0809的片选接的是片选是P2.0,(0809的片选好像没有直接的端口,是逻辑产生的),如果你改变片选端将他接在P2.1上,那么他的地址就是1111 1101 1111 1000--1111 1101 1111 1111,看出有什么区别了吧.RAM地址是...

淮安市15116441457: 单片机控制ADC0809程序 -
柞亭苦参: #define voldata P2 sbit adra=P0^0; sbit adrb=P0^1; sbit adrc=P0^2; sbit ale=P0^3; sbit st=P0^4; sbit eoc=P0^5; sbit oe=P0^6; unsigned char getvol(unsigned char adr) { unsigned char volnumber=0; unsigned int n=1000; oe=0; ale=0; adra=!(!(adr&...

淮安市15116441457: 单片机ADC怎么编程 -
柞亭苦参: 内部自带的吗?需要配置引脚为模拟输入,配置转换结果对齐,选择通道,使能ADC,启动转换,等待转换完成,读取转换数值,不同单片机操作不同,具体看手册很详细的

淮安市15116441457: 单片机ADC -
柞亭苦参: ADC可以用在电压/电流测量,或压力传感器的输入,等模拟量的测量 如:电压表,电子称等产品

淮安市15116441457: PIC16系列单片机控制外围ADC和DAC芯片的C语言编程步骤 -
柞亭苦参: TIME0应该是时间/计数器中断, DAC和ADC的的同步性要看芯片类型,不同的芯片操作不一样

淮安市15116441457: 有人知道怎样用一个单片机连接多个ADC电路吗 -
柞亭苦参: 这个很容易实现,利用P0口,加上245或者373之类的芯片,可以扩展很多个的外围接口电路.

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 星空见康网