单片机多路数据采集系统.docx
《单片机多路数据采集系统.docx》由会员分享,可在线阅读,更多相关《单片机多路数据采集系统.docx(27页珍藏版)》请在冰豆网上搜索。
单片机多路数据采集系统
毕业设计(论文)
题 目:
基于单片机的多路数据采集系统
专 业:
应用电子技术
班 级:
09221
学 号:
44
姓 名:
李贞
指导老师:
胡沁春
成都电子机械高等专科学校
二〇一二年五月
论文摘要
本文介绍了基于单片机的数据采集的硬件设计和软件设计,数据采集系统是模拟域与数字域之间必不可少的纽带,它的存在具有着非常重要的作用。
本文介绍的重点是数据采集系统,而该系统硬件部分的重心在于单片机。
本文中数字电压表的控制系统采用AT89C51单片机,A/D转换器采用ADC0809为主要硬件,实现数字电压表的硬件电路与软件设计。
该系统的数字电压表电路简单,所用的元件较少,成本低,调节工作可实现自动化,还可以方便地进行8路A/D转换的测量,远程测量结果传送等功能。
数字电压表可以测量0~5V的电压值,并在LED数码管上轮流显示,并且应用Proteus的ISIS软件进行单片机系统设计与仿真。
关键词:
数据采集;89C51单片机;ADC0809;LCD1602
Abstract
Thisarticledescribesthehardwaredesignandsoftwaredesignofthedataonwhichbasedonsignal-chipmicrocomputer.Thedatacollectionsystemisthelinkbetweenthedigitaldomainandanalogdomain.Ithasanveryimportantfunction.Theintroductivepointofthistextisadatatocollectthesystem.Thehardwareofthesystemfocusesonsignal-chipmicrocomputer.
ThedigitalvoltmetercontrolsystemdescribedinthispapermakesuseofAT89C51SCcomputerandADC0809A/Dconvertertofulfillthedesigningofthesoftwareaswellastheelectricalcircuit.Thevoltmeterfeaturesinsimpleelectricalcircuit,loweruseofelements,lowcostandautomaticregulation,whileitcanalsoeasilycarryoutthedutiesofmeasuringA/Dconvertedvaluesfrom8routesandremotetransferofmeasuringdata.Themeteriscapableofmeasuringvoltagefrom0to5volt,anddisplayingthemeasurementsinturnoronlythatfromaselectedroute,andusesoftwareISISofProteustorealizethecircuitdesignandsimulation.
KeyWords:
Datacollection;AT89C51;ADC0809;LCD1602
目录
论文摘要I
AbstractII
第1章绪论1
1.1研究背景及其目的意义1
1.2国内外研究现状2
1.3该课题研究的主要内容3
第2章系统总体设计4
2.1方案论证4
2.2系统方案设计5
第3章系统硬件6
3.1单片机6
3.2时钟电路8
3.3复位电路9
3.4数据采集模块9
3.5显示电路11
第4章系统软件13
4.1主程序13
4.2A/D转换子程序13
4.3显示子程序14
第5章系统的调试与仿真15
5.1系统的调试15
5.2系统的仿真15
参考文献20
附录1系统的C语言程序代码21
附录2系统的硬件图25
附录3系统的仿真结果26
第1章绪论
1.1研究背景及其目的意义
近年来,数据采集及其应用受到了人们越来越广泛的关注,数据采集系统也有了迅速的发展,它可以广泛的应用于各种领域。
数据采集系统起始于20世纪50年代,1956年美国首先研究了用在军事上的测试系统,目标是测试中不依靠相关的测试文件,由非成熟人员进行操作,并且测试任务是由测试设备高速自动控制完成的。
由于该种数据采集测试系统具有高速性和一定的灵活性,可以满足众多传统方法不能完成的数据采集和测试任务,因而得到了初步的认可。
大概在60年代后期,国内外就有成套的数据采集设备和系统多属于专用的系统。
20世纪70年代后期,随着微型机的发展,诞生了采集器、仪表同计算机溶为一体的数据采集系统。
由于这种数据采集系统的性能优良,超过了传统的自动检测仪表和专用数据采集系统,因而获得了惊人的发展。
从70年代起,数据采集系统发展过程中逐渐分为两类,一类是实验室数据采集系统,一类是工业现场数据采集系统。
20世纪80年代随着计算机的普及应用,数据采集系统得到了很大的发展,开始出现了通用的数据采集与自动测试系统。
该阶段的数据采集系统主要有两类,一类以仪表仪器和采集器、通用接口总线和计算机组成。
这类系统主要应用于实验室,在工业生产现场也有一定的应用。
第二类以数据采集卡、标准总线和计算机构成,这一类在工业现场应用较多。
20世纪80年代后期,数据采集发生了很大的变化,工业计算机、单片机和大规模集成电路的组合,用软件管理,是系统的成本减低,体积变小,功能成倍增加,数据处理能力大大加强。
20世纪90年代至今,在国际上技术先进的国家,数据采集系统已成功的运用到军事、航空电子设备及宇航技术、工业等领域。
由于集成电路制造技术的不断提高,出现了高性能、高可靠的单片机数据采集系统(DAS)。
数据采集技术已经成为一种专门的技术,在工业领域得到了广泛的应用。
该阶段的数据采集系统采用模块式结构,根据不同的应用要求,通过简单的增加和更改模块,并结合系统编程,就可扩展或修改系统,迅速组成一个新的系统。
尽管现在以微机为核心的可编程数据采集与处理采集技术的发展方向得到了迅速的发展,而且组成一个数据采集系统只需要一块数据采集卡,把它插在微机的扩展槽内并辅以应用软件,就能实现数据采集功能,但这并不会对基于单片机为核心的数据采集系统产生影响。
相较于数据采集板卡成本和功能的限制,单片机具多功能、高效率、高性能、低电压、低功耗、低价格等优点,而双单片机又具有精度较高、转换速度快、能够对多点同时进行采集,因此能够开发出能满足实际应用要求的、电路结构简单的、可靠性高的数据采集系统。
这就使得以单片机为核心的数据采集系统在许多领域得到了广泛的应用。
1.2国内外研究现状
数据采集系统是通过采集传感器输出的模拟信号并转换成数字信号,并进行分析、处理、传输、显示、存储和显示。
它起始于20世纪中期,在过去的几十年里,随着信息领域各种技术的发展,在数据采集方面的技术也取得了长足的进步,采集数据的信息化是目前社会的发展主流方向。
各种领域都用到了数据采集,在石油勘探、科学实验、飞机飞行、地震数据采集领域已经得到应用。
我国的数字地震观测系统主要采用TDE-124C型TDE-224C型地震数据采集系统。
近年来,又成功研制了动态范围更大、线性度更高、兼容性更强、低功耗可靠性的TDE-324C型地震数据采集系统。
该数据采集对拾震计输出的电信号模拟放大后送至A/D数字化,A/D采用同时采样,采样数据经DSP数字滤波处理后,变成数字地震信号。
该数据采集系统具备24位A/D转化位数,采样率有50HZ、100HZ、200HZ。
由美国PASCO公司生产的“科学工作室”是将数据采集应用于物理实验的崭新系统,它由3部分组成:
(1)传感器:
利用先进的传感技术可实时采集技术可实时采集物理实验中各物理量的数据;
(2)计算机接口:
将来自传感器的数据信号输入计算机,采样速率最高为25万次/S;(3)软件:
中文及英文的应用软件。
受需求牵引,新一代机载数据采集系统为满足飞行实验应用也在快速地发展。
如爱尔兰ACRA公司2000年研发推出的新一代KAM500机载数据采集系统到了2006年。
本系统采用16位(A/D)模拟数字变换,总采样率达500K/S,同步时间为+/-250ns,可以利用方式组成高达1000通道的大容量的分布式采集系统。
1.3该课题研究的主要内容
数据采集技术是信息科学的重要分支之一,它研究信息数据的采集、存储、处理以及控制等问题。
它是对传感器信号的测量与处理,以微型计算机等高技术为基础而形成的一门综合应用技术。
数据采集也是从一个或多个信号获取对象信息的过程。
随着微型计算机技术的飞速发展和普及,数据采集监测已成为日益重要的检测技术,广泛应用于工农业等需要同时监控温度、湿度和压力等场合。
数据采集是工业控制等系统中的重要环节,通常采用一些功能相对独立的单片机系统来实现,作为测控系统不可缺少的部分,数据采集的性能特点直接影响到整个系统。
尽管现在以微机为核心的可编程数据采集与处理技术作为数据采集技术的发展方向得到了迅速的发展,并且适于通用微机(如IBMPC系列)使用的板卡级数据采集产品也已大量出现,组成一个数据采集系统简单到只需要一块数据采集卡,把它插在微机的扩展槽内,并辅以应用软件,就能实现数据采集功能,但这并不会对基于单片机为核心的数据采集系统产生影响,因为单片机功能强大、抗干扰能力强、可靠性高、灵活性好、开发容易等优点,使得基于单片机为核心的数据采集系统在许多领域得到了广泛的应用。
传统的基于单片机的数据采集系统由于没有上位机的支持,不管采用什么样的数据存储器,它的存储容量都是有限的,所以不得不对存储的历史数据进行覆盖刷新,这样不利于用户对数据进行整体分析,因而也不能对生产过程的状况进行准确的把握。
本系统采用下位机负责模拟数据的采集,从单片机负责采集八路数据,并应答主机发送的命令,上位机即主机是负责处理接受过来的数字量的处理及显示,主机和从机之间用RS-232进行通信。
这样用户可以在上位机上编写各种程序对文件中的数据进行有效查询和分析,有利于工业过程的长期正常运行和检查。
该系统采用的是AT89C51单片机,此芯片功能比较强大,能够满足设计要求。
第2章系统总体设计
2.1方案论证
2.1.1A/D模数转换的选择
A/D转换器的种类很多,就位数来说,可以分为8位、10位、12位和16位等。
位数越高其分辨率就越高,价格也就越贵。
A/D转换器型号很多,而其转换时间和转换误差也各不相同。
(1)逐渐逼近式A/D转换器:
它是一种速度快、精度较高、成本较低的直接式转换器,其转换时间在几微秒到几百微秒之间。
(2)双积分A/D转换器:
它是一种间接式的A/D转换器,优点是抗干扰能力强,精度比较高,缺点是数度很慢,适用于对转换数度要求不高的系统。
(3)并行式A/D转换器:
它又被称为flash(快速)型,它的转换数度很高,但她采用了很多个比较器,而n位的转换就需要2n-1个比较器,因此电路规模也极大,价格也很贵,只适用于视频A/D转换器等数度特别高的领域。
鉴于上面三种方案,在价格、转换速度等多种标准考量下,在本设计选用的是逐渐逼近式A/D转换器——ADC0809。
2.1.2单片机的选择
单片机是一种面向大规模的集成电路芯片,是微型计算机中的一个重要的分支。
此系统是由CPU、随即存取数据存储器、只读程序存储器、输入输出电路(I/O口),还有可能包括定时/计数器、串行通信口、显示驱动电路(LCD和LED驱动电路)、脉宽调制电路、模拟多路转换器及A/D转换器等电路集成到一个单块芯片上,构成了一个最小但完善的计算机任务。
单片机要使用特定的组译和编译软件编译程序,在用keiluvision4把程序下载到单片机内。
而本设计选用的是AT89C51。
2.1.3显示器的选择
这里采用一种专门用来显示字母、数字、符号等的点阵型液晶显示器LCD1602,它有若干个5X7或者5X11等点阵字符位组成,每个点阵字符位都可以显示一个字符。
它微功耗、体积小、显示内容丰富、超薄轻巧,常用在袖珍式仪表和低功耗应用系统中。
2.2系统方案设计
利用MCS-51系列单片机设计简易数字电压表测量0~5v的8路输入电压值,并在LED数码管上轮流显示或单路选择显示。
测量误差约为±0.02V。
系统设计方框图如图2-1所示。
图2-1系统设计方框图
第3章系统硬件
3.1单片机
3.1.1单片机的概述
单片机是一种集成的电路芯块采用了超大规模技术把具有运算能力(如算术运算、逻辑运算、数据传送、中断处理)的微处理器(CPU),随机存取数据存储器(RAM),只读程序存储器(ROM),输入输出电路(I/O口),可能还包括定时计数器,串行通信口(SCI),显示驱动电路(LCD或LED驱动电路),脉宽调制电路(PWM),模拟多路转换及A/D转换器等电路集成到一块单片机上,构成一个最小然而很完善的计算机系统。
这些电路能在软件的控制下准确快速的完成程序设计者事先规定的任务。
总的而言单片机的特点可以归纳为以下几个方面:
集成度高、存储容量大、外部扩展能力强、控制功能强、低电压、低功耗、性能价格比高、可靠性高这几个方面。
单片机按内部数据通道的宽度,可分为4位、8位、16位及32位单片机。
它们被应用在不同领域里,8位单片机由于功能强大,被广泛的应用在工业控制、智能接口、仪表仪器等各个领域。
8位单片机在中、小规模应用场合仍占主流地位,代表了单片机的发展方向,在单片机应用领域发挥越来越大的作用。
随着移动通讯、网络技术、多媒体技术等高科技产品进入家庭,32位单片机应用得到了长足发展。
纵观单片机的发展过程,可以预示单片机的发展趋势:
(1)微型单片化
(2)低功耗CMOS
(3)与多品种共存
(4)可靠性和应用水平越来越高
单片机有着微处理器所不具备的功能,它可以独立地完成现代工业控制所要求的智能化控制功能这就是单片机的最大特点。
然而单片机又不同于单板机,芯片在没有开发前,它只是具备功能极强的超大规模集成电路,如果赋予它特定的程序,它便是一个最小的、完整的微机控制系统。
它与单板机或个人电脑有着本质的区别,单片机属于芯片级应用,需要用户了解单片机芯片的结构和指令系统以及其它集成电路应用技术和系统设计所需要的理论和技术,用这样特定的芯片设计应用程序,从而使芯片具备特定的智能。
3.1.2简介AT89C51
下面是AT89C51芯片结构图,如图3-1
图3.1AT89C51芯片的结构图
AT89C51提供以下标准功能:
4k字节Flash闪速存储器,128字节内部RAM,32个I/O口线,两个16位定时/计数器,一个5向量两级中断结构,一个全双工串行通信口,片内振荡器及时钟电路。
同时,AT89C51可降至0Hz的静态逻辑操作,并支持两种软件可选的节电工作模式。
空闲方式停止CPU的工作,但允许RAM,定时/计数器,串行通信口及中断系统继续工作。
掉电方式保存RAM中的内容,但振荡器停止工作并禁止其它所有部件工作直到下一个硬件复位。
(1)结构特点:
8位CPU;
片内振荡器和时钟电路;
32根I/O线;
外部存贮器寻址范围ROM、RAM64K;
2个16位的定时器/计数器;
5个中断源,两个中断优先级;
全双工串行口;
布尔处理器。
(2)管脚说明:
VCC:
供电电压;
GND:
接地;
P0口:
P0口为一个8位漏级开路双向I/O口,能够用于外部程序数据存储器,它可以被定义为数据/地址的低八位,此时P0外部必须被拉高;
P1口:
P1口是一个内部提供上拉电阻的8位双向I/O口,P1口管脚写入1后,被内部上拉为高,可用作输入;
P2口:
P2口为一个内部上拉电阻的8位双向I/O口;
P3口:
P3口管脚是8个带内部上拉电阻的双向I/O口;P3口也可作为AT89C51的一些特殊功能口,如下所示:
P3.0RXD:
(串行输入口);
P3.1TXD:
(串行输出口);
P3.2/INT0:
(外部中断0);
P3.3/INT1:
(外部中断1);
P3.4T0:
(记时器0外部输入);
P3.5T1:
(记时器1外部输入);
P3.6/WR:
(外部数据存储器写选通);
P3.7/RD:
(外部数据存储器读选通);
RST:
复位输入;
ALE/PROG:
地址锁存信号;
/PSEN:
外部程序存储器的选通信号;
/EA/VPP:
使能端和编程电源;
XTAL1:
反向振荡放大器的输入及内部时钟工作电路的输入;
XTAL2:
来自反向振荡器的输出。
3.2时钟电路
XTAL1是片内振荡器的反相放大器输入端,XTAL2则是输出端,使用外部振荡器时,外部振荡信号应直接加到XTAL1,而XTAL2悬空。
内部方式时,时钟发生器对振荡脉冲二分频,如晶振为12MHz,时钟频率就为6MHz。
晶振的频率可以在1MHz-24MHz内选择。
电容取30PF左右。
系统的时钟电路设计是采用的内部方式,即利用芯片内部的振荡电路如图3-2所示。
图3-2时钟电路图
3.3复位电路
复位电路如下图3-3所示,按键没有按下时,RST端接电容下极板是低电平,按键按下时,RST端接在电阻上端变为高电平,达到复位的目的。
图3-3复位电路图
3.4数据采集模块
3.4.1简介ADC0809
下面是ADC0809芯片结构图,如图3-4
图3-4ADC0809芯片结构图
ADC0809是CMOS单片型逐次逼近式A/D转换器,内部结构如图所示,它由8路模拟开关、地址锁存与译码器、比较器、8位开关树型A/D转换器、逐次逼近寄存器、逻辑控制和定时电路组成。
(1)主要特性:
8路输入通道,8位A/D转换器,即分辨率为8位;
具有转换起停控制端;
转换时间为100μs(时钟为640kHz时),130μs(时钟为500kHz时);
单个+5V电源供电;
模拟输入电压范围0~+5V,不需零点和满刻度校准;
工作温度范围为-40~+85摄氏度;
低功耗,约15mW。
(2)管脚说明:
IN0~IN7:
8路模拟量输入端;
D0~D7:
8位数字量输出端;
ADDA、ADDB、ADDC:
3位地址输入线,用于选通8路模拟输入中的一路;
ALE:
地址锁存允许信号,输入,高电平有效;
START:
A/D转换启动信号,输入,高电平有效;
EOC:
A/D转换结束信号,输出,当A/D转换结束时,此端输出一个高电平(转换期间一直为低电平);
OE:
数据输出允许信号,输入,高电平有效。
当A/D转换结束时,此端输入一个高电平才能打开输出三态门,输出为数字量;
CLK:
时钟脉冲输入端。
要求时钟频率不高640kHz;
REF(+)、REF(-):
基准电压;
Vcc:
电源,+5V;
GND:
地。
3.4.2数据采集电路
通过ADC0809采集数据,输入到单片机内,如图3-5所示:
图3-5数据采集电路
3.5显示电路
3.5.1简介LCD1602
下面是LCD1602芯片结构图如图3-6所示:
图3-6LCD1602结构图
LCD1602液晶也叫1602字符型液晶它是一种专门用来显示字母、数字、符号等的点阵型液晶模块它有若干个5X7或者5X11等点阵字符位组成,每个点阵字符位都可以显示一个字符。
管脚说明:
第1脚:
VSS为电源地;
第2脚:
VDD接5V电源正极;
第3脚:
V0为液晶显示器对比度调整端,接正电源时对比度最弱,接地电源时对比度最高(对比度过高时会产生“鬼影”,使用时可以通过一个10K的电位器调整对比度);
第4脚:
RS为寄存器选择,高电平1时选择数据寄存器、低电平0时选择指令寄存器;
第5脚:
RW为读写信号线,高电平
(1)时进行读操作,低电平(0)时进行写操作;
第6脚:
E(或EN)端为使能(enable)端;
第7~14脚:
D0~D7为8位双向数据端。
第4章系统软件
4.1主程序流程图
主程序流程图如图4-1所示。
本系统主要就是对模拟数据量进行采集,经过A/D转换,数据处理,数据显示实现。
系统采用模块化编程,将各部分功能分别实现。
图4-1主程序流程图
4.2A/D转换子程序
ADC0809模数转换程序流程图如图4-2所示。
A/D转换过程:
将8路模拟量输入ADC0809模拟量输入端IN0~IN7。
首先将OE、START、ALE、A、B、C都置0然后降ALE置1再清零,进行转换通道地址的锁存,选择转换通道的打开,将START置1再清零,发送一启动脉冲,即启动A/D转换,此时转换结束信号EOC变为低电平。
查看EOC是否为高电平,为高电平则A/D转换结束,等待A/D转换完毕后将输出允许信号输入端(OE)置高电平,此时就可将转换的一路数据到单片机某一储存空间中,将(OE)置低电平,将停止ADC0809数据输出。
图4-2A/D转换子流程图
4.3显示子程序
显示子程序流程图如图4-3所示。
判断LCD是否忙,通过单片机写指令控制,然后调用A/D转换的数据,显示在液晶显示屏上。
图4-3显示子程序流程图
第5章系统的调试和仿真
5.1系统的调试
系统调试包括硬件调试和软件调试,而且两者是密不可分的。
我们设计好的硬件电路和软件程序,只有经过联合调试,才能验证其正确性;软硬件的配人情况以及是否达到设计任务的要求,也只有经过调试,才能发现问题并加以解决、完善,最终开发成实用产品。
硬件调试分单元电路调试和联机调试,单元电路试验在硬件电路设计时已经进行,这里的调试只是将其制成印刷电路板后试验电路是否正确,并排除一些加工工艺性错误(如错线、开路、短路等)。
这种调试可单独模拟进行,也可通过开发装置由软件配合进行。
硬件联机调试则必须在系统软件的配合下进行。
软件调试一般包括分块调试和联机调试两个阶段。
程序的分块调试一般在单片机开发装置上进行,可根据所调程序功能块的入口参量初值编制一个特殊的程序段,并连同被调程序功能块一起在开发装置上运行;也可配合对应硬件电路单独运行某程序功能块,然后检查是否正确,如果执行结果与预想的不一致,可以通过单步运行或设置断点的方法,查出原因并加以改正,直到运行结果正确为止。
这时该程序功能块已调试完毕,可去掉附加程序段。
其它程序功能块可按此法进行调试。
程序联机调试就是将已调试好的各程序功能块按总体结构联成一个完整程序,在所研制的硬件电路上运行。
从而试验程序整体运行的完整性、正确性和与硬件电路的配合情况。
在联调中可能会有某些支路上的程序、功能块因受条件制约而得不到相应的输入参数,这时,调试人员应创造条件进行模拟调试。
在联调