基于单片机和ADC多通道模数转换的设计与实现_第1页
基于单片机和ADC多通道模数转换的设计与实现_第2页
基于单片机和ADC多通道模数转换的设计与实现_第3页
基于单片机和ADC多通道模数转换的设计与实现_第4页
基于单片机和ADC多通道模数转换的设计与实现_第5页
已阅读5页,还剩19页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、摘要本文介绍了基于单片机的数据采集的硬件设计和软件设计, 数据采集系统是模拟域与数字域之间必不可少的纽带,它的存在具有非常重要的作用。本文介绍的重点是数据采集系统,而该系统硬件部分的重心在于单片机。硬件部分是以单片机为核心,还包括A/D 模数转换模块,LCD1602M示模块部分。8路被测电压通过模数转换器 ADC08091行模数转换,实现对采集到 的数据进行模拟量到数字量的转换,并将转换后的数据通过LCD1602M示器来显示所采集的结 果,并且可以通过按键来查看任意通路的电压值,整个系统具有操作方便、线路简单、测量误 差小等优点。关键词:单片机AT89S52模数*$换器ADC0809数据采集、

2、LCD1602M示器1、方案设计根据设计要求,采用的方案如下:硬件部分实现对 8路数据采集和显示的功能,包括 MCS-51单片机、ADC0809 LCD1602软件部分实现单片机对 8路输入数据的采集以及对 LCD1602勺显示操作。主要设计思想:单片机 P1与ADC080件目连,P0与LCD160选接。模拟信号通过IN0 IN7输入到ADC080升转换为数字信号,P1获得此值后,经过处理得到每位的数据后, 通过P0 口写数据到LCD屏上。数据采集电品&的原理框如图1所示。图1数据采集电路的原理框图2、硬件电路的设计单片机的最小系统设计单片机最小系统是能补足单片机工作的最简单电路,它由单片机、

3、电源、晶体振荡器、复位电路等构成。它是本系统的处理单元也是控制单元,负责处理信号、外设的接口与控 制,同时它也是所有软件的载体。本系统采用AT89C52是美国Atmel公司生产的低电压、高性能CMOS 8位单片机,片 内含8KB的可反复榛写的程序存储器和12B的随机存取数据存储器(RAM ),器件采用Atmel 公司的高密度、非易失性存储技术生产,兼容标准 MCS-51指令系统,片内配置通用8位中 央处理器(CPU)和Flash存储单元,功能强大的AT89C52单片机可灵活应用于各种控制 领域。AT89C52单片机属于AT89C51单片机的增强型,与Intel公司的80C52在引脚排列、 硬件

4、组成、工作特点和指令系统等方面兼容。主要管脚有:XTAL1 (19脚)和XTAL2 (18脚)为振荡器输入输出端口,外接 12MHz晶振。RST/Vpd (9脚)为复位输入端口,外接电阻电容组成的复位电路。VCC (40脚)和VSS (20脚)为供电端口,分别接+5V电源的正负端P0P3为可编程通用I/O脚,其功能用途由软件定义。其管脚如下图2所示:TZ/Tl Q I2EI/T1. IT1 2T1 3T1. 4MDSI/T1, 5HIsa/ri. 6SCI/T1, 7 RST m/P3 c TKD/P3, 1 iHTO/ra.: ran/PS. 3 ro/ps.4 ri/ra. 5B/P3,

5、t面包3, TXTAL2HAL1PD1P 即J Vcc FU. 0 / ADO 3 Ptt I/ABl 1 Pa. 2MD2 1 P(i 3,RD?J FO. 4/AD4U POFft 6痴6 3 Pft TMBT 1 El/YFF J ALE/FR05 u PESWu P之.7JA15 Pt 6M14I 5; Al 9 2 P2. 4/A1 2 J FE, ?/AU :P2. 2M101 P2. 1?A9 D P2. 0/A图2 AT89C52单片机管脚图本设计中,P0端口(3239脚)被定义为N1功能控制端口,分别与 N1的相应功 能管脚相连接。单片机正常工作时,都需要有一个时钟电路和一个

6、复位电路。本设计 中选择了内部时钟方式和按键电平复位电路,来构成单片机的最小电路。如图 3所示。soprSO pF= J b.C3 1AL1X1CVSTAri-皿一A IAL2R3TPSEN ALE EA卜口 W-JJ PCI 1D-1 尸口 W阳g HO 3/ADC4 尸口中,4 尸口 口4m 尸口一口值8re. 1收自 F2.24A.10 P2.3*M1 r2.-l5A12 F2,S4A17 P2.BiAl4 “MP2 WRXD 产& m, 尸万w炉m P3 S4INT1产 3.*TO 尸西近1F3.O/WR产3 7菽7图3单片机最小系统ADC0809直数转换器设计电路ADC0809勺结构

7、功能本数据采集系统采用计算机作为处理器。电子计算机所处理和传输的都是不连续的数字信号,而实际中遇到的大都是连续变化的模拟量,模拟量经传感器转换成电信号后,需 要模/数转换将其变成数字信号才可以输入到数字系统中进行处理和控制,因此,把模拟 量转换成数字量输出的接口电路,即 A/D转换器就是现实信号转换的桥梁。目前,世界上有多种类型的 A/D转换器,如并行比较型、逐次逼近型、积分型等。 本文采用逐次逼近型A/D转换器,该类A/D转换器转换精度高,速度快,价格适中,是 目前种类最多,应用最广的 A/D转换器。逐次逼近型A/D转换器一般由比较器、D/A转 换器、寄存器、时钟发生器以及控制逻辑电路组成。

8、ADC080就是一种CMOSL片逐次逼近式A/D转换器,其内部结构如图4所示。该芯片 由8路模拟开关、地址锁存与译码器、比较器、8位开关树型D/A转换器、逐次逼近寄存器、三态输出锁存器等电路组成。因此, ADC0809T处理8路模拟量输入,且有三态输出能 力。该器件既可与各种微处理器相连,也可单独工作。其输入输出与TTL兼容。人如第!ArtDffi 1:Dty - 与 : 目比十vfftre域立邛同M片为图4 ADC0809内部结构L地“鼻IADC08098路8位A/D转换器(即分辨率8位),具有转换启停控制端,转换时间为 100卜s采用单+5V电源供电,模拟输入电压范围为0+5V,且不需零点

9、和满刻度校准,工 作温度范围为-40+85C功耗可抵达约15mW/ADC0809片有28条引脚,采用双列直插式封装,图5所示是其引脚排列图X-ZIN,一11K叫风一*21T一时孙一326IN.巩|4瞽 ADOATH-324,ADDBSTART-POC16237一 MADDC 一 AlrEADC0B09n 1 H2QE? 和一 dCL8K- 泠一同V.11U口,Jk*1217GKD-1J16口14J5- Da图5 ADC0809的弓I脚排列图各引脚的功能如下IN0IN7: 8路模拟量输入端;D0D7: 8位数字量输出端;ADDA ADDB ADDC 3位地址输入线,用于选通8路模拟输入中的一路;

10、ALE地址锁存允许信号,输入高电平有效;START A/ D转换启动信号,输入高电平有效;EOC A/D转换结束信号,输出当A/D转换结束时,此端输出一个高电平(转换期间一直 为低电平);OE数据输出允许信号,/&入高电平有效。当 A/ D转换结束时,此端输入一个高电平才 能打开输出三态门,输出为数字量;CLK时钟脉冲输入端。要求时钟频率不高 640kHz;REF(+)、REF(-):基准电压;Vcc:电源,单一 +5V;GND 地。ADC0809勺工作过程:首先输入3位地址,并使ALE=1,将地址存入地址锁存器中。此地址经译码选通 8路模拟输入之一到比较器。STARTh升沿将逐次逼近寄存器复

11、位。下降沿启动 A/D转换,之后 EOC俞出信号变低,指示转换正在进行。直到 A/D转换 完成,EOC变为高电平,指示 A/D转换结束,结果数据已存入锁存器,这个信号可用 作中断申请。当OE输入高电平 时,输出三态门打开,转换结果的数字量输出到数据 总线上。转换数据的传送 A/D转换后得到的数据应及时传送给单片机进行处理。数据传送的关键问题是如何确认A/D转换的完成,因为只有确认完成后,才能进行传送。为此可米用下述三种方式。(1)定时传送方式对于一种A/D转换其来说,转换时间作为一项技术指标是已知的和固定的。例如ADC0809转换时间为128仙s,相当于 6MHz的MCS-51单片机共64个机

12、器周期。可据 此设计一个延时子程序,A/D转换启动后即调用此子程序,延迟时间一到,转换肯定已经完成了,接着就可进行数据传送。(2)查询方式A/D转换芯片由表明转换完成的状态信号,例如ADC0809的EOC端。因此可以用查询方式,测试 EOC的状态,即可确认转换是否完成,并接着进行数据传送。(3)中断方式把表明转换完成的状态信号(EOC作为中断请求信号,以中断方式进行数据传送。不管使用上述哪种方式,只要一旦确定转换完成,即可通过指令进行数据传送。 首先送出口地址并以信号有效时,OE信号即有效,把转换数据送上数据总线,供单片机接受。ADC0809作时,首先输入3位地址,并使 ALE为1,以将地址存

13、入地址锁存器中。此 地址经译码可选通8路模拟输入之一到比较器。STARTh升沿将逐次逼近寄存器复位; 下降 沿则启动A/ D转换,之后,EOC俞出信号变低,以指示*$换正在进行,直到 A/D转换完 成,EOCE为高电平,指示A/ D转换结束,并将结果数据存入锁存器,这个信号也可用作 中断申请。当OEtt入高电平时,ADC勺输出三态门打开,转换结果的数字量可输出到数据 总线。A/D转换器的位数决定着信号采集的精度和分辨率。对于 8通道的输入信号,其分辨 率为0. 5%。8位A/D转换器的精度为:0.4%。ADC0809勺工作时序图6所示是ADC080的工作时序图。从该时序图可以看出,地址锁存信号

14、ALE在上升沿 将三位通道地址锁存,相应通道的模拟量经过多路模拟开关送到 A/D转换器。启动信号 START1升沿复位内部电路,START勺下降沿启动转换,此时转换结束信号 EOC呈低电平状态,由于逐位逼近需要一定过程,所以,在此期间,模拟输入量应维持不变,比较器要一次次比较,直到转换结束,此时变为高电平。若CPU发出输出允许信号OE俞出允许为局电平),则可读出数据。另外,ADC080英有较图的转换速度和精度,同时受温度影响也 较小。StXJK啊n 蛇中FiQ-LnLrLrTj-LrLnLj_urLnLK IAR I南SS*UL ws *3CR,ALK 愀。 信号ADOR BUSAueSTAl

15、iLKX壮一一 2J-_4 STA Ri E AODRESS30; 中卡4 一 fTNPXJT =广*口信 *t.KM内IKf棒人OE修出尢汴JXK;ot -nniTS敢幡出图6 ADC0809勺工作时序图ADC0809W AT89C52I片机的接口电路ADC0809 AT89C52I片机的接口电路如图7所示。图中,、输出的低3位地址加到通道选择端A B C,可作为通道编码。具通道基本地址为 0000HH 0007H输出数据与P0口连接,CLOCKALE一起与相连,STAR而连接,EOCf相连,OE和相连。yi_ 二 X FAL1-1- XIAL2RST!二U=. LKL LL-HI _I E

16、 _I E I E IITDNGLU:8DIRNVR:5 . TONGLU;7目NY口 :4 5褥金生 里窿山 石宫三X出巴占RV56、心得与体会7、参考文献附录一:源程序#include#include#define uchar unsigned char#define uint unsigned int/*sbit lcdrs=P3A0;/sbit lcden=P3A1;/定义 LCD1602g 口 信息 */数据命令选择位使能位sbit lcdrw=P3A2;/*定义 ADC080骇口 信息 */sbit ADA=P2A0;sbit ADB=P2A1;sbit ADC=P2A2;sbit

17、 EOC=P2A3;sbit CLK=P2A4;sbit START=P2A5;sbit OE=P2A6;/*键盘管脚定义*/sbit key1=P3A3;sbit key2=P3A7;/*定义数据 */uchar tab1=48,46,48,48,48,46,48,48,48,46,48,48,48,46,48,48;/存放AD采集数据uchar tab2=48,46,48,48,48,46,48,48,48,46,48,48,48,46,48,48;uchar tab3=TONGLU:;uchar tab4=DIANYA:;uchar tab5=;uchar num,m=0,getdata

18、=0;uint temp=0;/* 延时函数 */void delay(uchar t)uchar x,y;for(x=t;x0;x-)for(y=110;y0;y-);void delayl(uchar ltime)uchar i;for(i=ltime;i0;i-) delay(255);/* 写命令函数*/void write_com(uchar com)lcdrs=0;P0=com;delay(10);lcden=1;delay(10);lcden=0;/* 写数据函数*/void write_data(uchar date)lcdrs=1;P0=date;delay(10);lcde

19、n=1;delay(10);lcden=0;void disp(uchar h,l,uchar *p)write_com(0x80+h*0x40+l);while(*p!=0)write_data(*p);p+;/* 初始化函数*/void LcdInit()lcdrw=0;delay(5);lcden=0;/ 使能位置低电平write_com(0x38);write_com(0x0c);write_com(0x06);write_com(0x01);write_com(0x80);delayl(20);void TimeInit()TMOD=0x10;/定时器1工作于方式1,16位不重装初值

20、TH1=(65536-200)/256; / 定时 200us(5KHz)TL1=(65536-200)%256;EA=1;ET1=1;TR1=1;void AdTr(bit ADDA,ADDB,ADDC,uchar channel)START=0;OE=0;START=1;START=0;/A/D 转换启动信号,正脉冲启动选中的模拟信号开始转换ADA=ADDA;ADB=ADDB;ADC=ADDC;delay(5);while(EOC=0);/启动转换后EO喙为L,转换结束后变为HOE=1;getdata=P1;temp=getdata*255*500;OE=0;if(channel=4)ch

21、annel=channel-4;tab24*channel=temp/100+0x30;tab24*channel+2=(temp%100)/10+0x30;tab24*channel+3=(temp%100)%10+0x30;void keyscan()/* 按键 2 进行减 1*/uint k;if(key1=0)m-;if(m5)write_com(0x80+0x07);write_data(tab5m-1);write_com(0x80+0x47);for(k=0;k=5&m9)write_com(0x80+0x07);write_data(tab5m-1);write_com(0x80+0x47);for(k=0;k4;k+)write_data(tab24*(m-5)+k);if(m=1)m

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论