完整版基于单片机的多路数据采集系统设计毕业论文.docx
《完整版基于单片机的多路数据采集系统设计毕业论文.docx》由会员分享,可在线阅读,更多相关《完整版基于单片机的多路数据采集系统设计毕业论文.docx(35页珍藏版)》请在冰豆网上搜索。
完整版基于单片机的多路数据采集系统设计毕业论文
基于单片机的多路数据采集系统设计
TheDesignOfMulti-channelDataAcquisitionSystemBasedOnSCM
摘要
本文介绍了基于单片机的数据采集的硬件设计和软件设计,数据采集系统是模拟域与数字域之间必不可少的纽带,它的存在具有着非常重要的作用。
本文介绍的重点是数据采集系统,而该系统硬件部分的重心在于单片机。
数据采集与通信控制采用了模块化的设计,数据采集与通信控制采用了单片机AT89S52来实现,硬件部分是以单片机为核心,还包括AD模数转换模块,显示模块,和串行接口部分。
该系统从机负责数据采集并应答主机的命令。
8路被测电压通过模数转换器ADC0809进行模数转换,实现对采集到的数据进行模拟量到数字量的转换,并将转换后的数据通过串行口MAX232传输到上位机,由上位机负责数据的接受、处理和显示,并用LED数码显示器来显示所采集的结果。
软件部分应用VC++编写控制软件,对数据采集系统、模数转换系统、数据显示、数据通信等程序进行了设计。
关键词:
数据采集89C52单片机ADC0809MAX232
Abstract
Thisarticledescribestheandsoftwaredesignofthedataonwhichbasedonsignal-chipmicrocomputer.Thedatacollectionsystemisthelinkbetweenthedigitaldomainandanalogdomain.Itveryimportantfunction.Theintroductivepointofthistextisadatatocollectthesystem.Thesignal-chipmicrocomputer.Datacollectionandcommunicationcontrolusemodulardesign.Thedatacollectedtocontrolwithcorrespondencetoadoptamachine8051tocarryout.Thepartofmodule,displaymodule,andtheserialinterface.Slavemachineisresponsiblefordataacquisitionandansweringthegeneralusemold-fewconversionofADC0809,therealizationcarriesontheconversionthatimitatestomeasurethenumeraltomeasuretowardsthedatathatcollect.Thensendthedatatotherealizethefunctionofmonitoringandcontrollingthewholesystem.Itdesignsmuchprogramlikedata-acquisitiontreatment,data-displayanddata-communicationect.
Keyword:
dataacquisitionAT89C52ADC0809MAX232
第一章绪论1
1.1研究背景及其目的意义1
1.2国内外研究现状2
1.3该课题研究的主要内容内容2
第二章数据采集4
2.1数据采集系统4
2.2方案论证5
2.2.1AD模数转换的选择5
2.2.2单片机的选择5
2.2.3串行口的选择5
2.2.4显示部分6
2.2.5按键6
第三章硬件部分8
3.1主机部分8
3.1.1主机部分原理图设计8
3.1.2单片机9
3.2从机部分13
3.2.1从机的电路原理图设计13
3.2.2单片机之间的通信14
3.2.3模数转换器ADC080918
第四章软件部分22
4.1简介KeilUvision222
4.2主机程序设计26
4.3从机部分程序设计30
第五章调试结果33
总结34
致谢36
参考文献37
附录138
附录240
第一章绪论
1.1研究背景及其目的意义
近年来,数据采集及其应用受到了人们越来越广泛的关注,数据采集系统也有了迅速的发展,它可以广泛的应用于各种领域。
数据采集系统起始于20世纪50年代,1956年美国首先研究了用在军事上的测试系统,目标是测试中不依靠相关的测试文件,由非成熟人员进行操作,并且测试任务是由测试设备高速自动控制完成的。
由于该种数据采集测试系统具有高速性和一定的灵活性,可以满足众多传统方法不能完成的数据采集和测试任务,因而得到了初步的认可。
大概在60年代后期,国内外就有成套的数据采集设备和系统多属于专用的系统。
[11]
20世纪70年代后期,随着微型机的发展,诞生了采集器、仪表同计算机溶为一体的数据采集系统。
由于这种数据采集系统的性能优良,超过了传统的自动检测仪表和专用数据采集系统,因而获得了惊人的发展。
从70年代起,数据采集系统发展过程中逐渐分为两类,一类是实验室数据采集系统,一类是工业现场数据采集系统。
[11]
20世纪80年代随着计算机的普及应用,数据采集系统得到了很大的发展,开始出现了通用的数据采集与自动测试系统。
该阶段的数据采集系统主要有两类,一类以仪表仪器和采集器、通用接口总线和计算机组成。
这类系统主要应用于实验室,在工业生产现场也有一定的应用。
第二类以数据采集卡、标准总线和计算机构成,这一类在工业现场应用较多。
20世纪80年代后期,数据采集发生了很大的变化,工业计算机、单片机和大规模集成电路的组合,用软件管理,是系统的成本减低,体积变小,功能成倍增加,数据处理能力大大加强。
[11]
20世纪90年代至今,在国际上技术先进的国家,数据采集系统已成功的运用到军事、航空电子设备及宇航技术、工业等领域。
由于集成电路制造技术的不断提高,出现了高性能、高可靠的单片机数据采集系统(DAS)。
数据采集技术已经成为一种专门的技术,在工业领域得到了广泛的应用。
该阶段的数据采集系统采用模块式结构,根据不同的应用要求,通过简单的增加和更改模块,并结合系统编程,就可扩展或修改系统,迅速组成一个新的系统。
[11]
尽管现在以微机为核心的可编程数据采集与处理采集技术的发展方向得到了迅速的发展,而且组成一个数据采集系统只需要一块数据采集卡,把它插在微机的扩展槽内并辅以应用软件,就能实现数据采集功能,但这并不会对基于单片机为核心的数据采集系统产生影响。
相较于数据采集板卡成本和功能的限制,单片机具多功能、高效率、高性能、低电压、低功耗、低价格等优点,而双单片机又具有精度较高、转换速度快、能够对多点同时进行采集,因此能够开发出能满足实际应用要求的、电路结构简单的、可靠性高的数据采集系统。
这就使得以单片机为核心的数据采集系统在许多领域得到了广泛的应用。
1.2国内外研究现状
数据采集系统是通过采集传感器输出的模拟信号并转换成数字信号,并进行分析、处理、传输、显示、存储和显示。
它起始于20世纪中期,在过去的几十年里,随着信息领域各种技术的发展,在数据采集方面的技术也取得了长足的进步,采集数据的信息化是目前社会的发展主流方向。
各种领域都用到了数据采集,在石油勘探、科学实验、飞机飞行、地震数据采集领域已经得到应用。
我国的数字地震观测系统主要采用TDE-124C型TDE-224C型地震数据采集系统。
近年来,又成功研制了动态范围更大、线性度更高、兼容性更强、低功耗可靠性的TDE-324C型地震数据采集系统。
该数据采集对拾震计输出的电信号模拟放大后送至AD数字化,AD采用同时采样,采样数据经DSP数字滤波处理后,变成数字地震信号。
该数据采集系统具备24位AD转化位数,采样率有50HZ、100HZ、200HZ。
[11]
由美国PASCO公司生产的“科学工作室”是将数据采集应用于物理实验的崭新系统,它由3部分组成:
(1)传感器:
利用先进的传感技术可实时采集技术可实时采集物理实验中各物理量的数据;
(2)计算机接口:
将来自传感器的数据信号输入计算机,采样速率最高为25万次S;(3)软件:
中文及英文的应用软件。
[11]
受需求牵引,新一代机载数据采集系统为满足飞行实验应用也在快速地发展。
如爱尔兰ACRA公司2000年研发推出的新一代KAM500机载数据采集系统到了2006年。
本系统采用16位(AD)模拟数字变换,总采样率达500KS,同步时间为+-250ns,可以利用方式组成高达1000通道的大容量的分布式采集系统。
1.3该课题研究的主要内容内容
数据采集技术是信息科学的重要分支之一,它研究信息数据的采集、存储、处理以及控制等问题。
它是对传感器信号的测量与处理,以微型计算机等高技术为基础而形成的一门综合应用技术。
数据采集也是从一个或多个信号获取对象信息的过程。
随着微型计算机技术的飞速发展和普及,数据采集监测已成为日益重要的检测技术,广泛应用于工农业等需要同时监控温度、湿度和压力等场合。
数据采集是工业控制等系统中的重要环节,通常采用一些功能相对独立的单片机系统来实现,作为测控系统不可缺少的部分,数据采集的性能特点直接影响到整个系统。
尽管现在以微机为核心的可编程数据采集与处理技术作为数据采集技术的发展方向得到了迅速的发展,并且适于通用微机(如IBMPC系列)使用的板卡级数据采集产品也已大量出现,组成一个数据采集系统简单到只需要一块数据采集卡,把它插在微机的扩展槽内,并辅以应用软件,就能实现数据采集功能,但这并不会对基于单片机为核心的数据采集系统产生影响,因为单片机功能强大、抗干扰能力强、可靠性高、灵活性好、开发容易等优点,使得基于单片机为核心的数据采集系统在许多领域得到了广泛的应用.
传统的基于单片机的数据采集系统由于没有上位机的支持,不管采用什么样的数据存储器,它的存储容量都是有限的,所以不得不对存储的历史数据进行覆盖刷新,这样不利于用户对数据进行整体分析,因而也不能对生产过程的状况进行准确的把握。
本系统采用下位机负责模拟数据的采集,从单片机负责采集八路数据,并应答主机发送的命令,上位机即主机是负责处理接受过来的数字量的处理及显示,主机和从机之间用RS-232进行通信。
这样用户可以在上位机上编写各种程序对文件中的数据进行有效查询和分析,有利于工业过程的长期正常运行和检查。
该系统采用的是AT89S52单片机,此芯片功能比较强大,能够满足设计要求。
第二章数据采集
2.1数据采集系统
数据采集,又称数据获取,是利用一种装置,从系统外部采集数据并输入到系统内部的一个接口。
数据采集技术广泛引用在各个领域。
70年代初,随着计算机技术及大规模集成电路的发展,特别是微处理器及高速AD转换器的出现,数据采集系统结构发生了重大变革。
原来由小规模集成的数字逻辑电路及硬件程序控制器组成的采集系统被微处理器控制的采集系统所代替。
由微处理器去完成程序控制,数据处理及大部分逻辑操作,使系统的灵活性和可靠性大大地提高,系统硬件成本和系统的重建费用大大地降低。
在该系统中需要将模拟量转换为数据量,而AD是将模拟量转换为数字量的器件,他需要考虑的指标有:
分辨率、转换时间、转换误差等等。
而单片机是该系统的基本的微处理系统,它完成数据读取、处理及逻辑控制,数据传输等一系列的任务。
在该系统中采用的是8051系列的单片机。
双机通信的串行口可以采用RS232C标准接口,由芯片MAX232实现双机的通信。
而数据的显示则采用的是LED数码管,该器件比较简单,在生活中接触也较多。
数据采集系统一般由信号调理电路,多路切换电路,采样保持电路,AD,单片机等组成。
完成毕业设计所需要的系统框图如图2.1所示:
图2.1系统框图
2.2方案论证
2.2.1AD模数转换的选择
AD转换器的种类很多,就位数来说,可以分为8位、10位、12位和16位等。
位数越高其分辨率就越高,价格也就越贵。
AD转换器型号很多,而其转换时间和转换误差也各不相同。
(1)逐渐逼近式AD转换器:
它是一种速度快、精度较高、成本较低的直接式转换器,其转换时间在几微秒到几百微秒之间。
(2)双积分AD转换器:
它是一种间接式的AD转换器,优点是抗干扰能力强,精度比较高,缺点是数度很慢,适用于对转换数度要求不高的系统。
(3)并行式AD转换器:
它又被称为flash(快速)型,它的转换数度很高,但她采用了很多个比较器,而n位的转换就需要2n-1个比较器,因此电路规模也极大,价格也很贵,只适用于视频AD转换器等数度特别高的领域。
鉴于上面三种方案,在价格、转换速度等多种标准考量下,在本设计选用的是逐渐逼近式AD转换器——ADC0809.
2.2.2单片机的选择
单片机是一种面向大规模的集成电路芯片,是微型计算机中的一个重要的分支。
此系统是由CPU、随即存取数据存储器、只读程序存储器、输入输出电路(IO口),还有可能包括定时计数器、串行通信口、显示驱动电路(LCD和LED驱动电路)、脉宽调制电路、模拟多路转换器及AD转换器等电路集成到一个单块芯片上,构成了一个最小但完善的计算机任务。
单片机要使用特定的组译和编译软件编译程序,在用keiluvision2把程序下载到单片机内。
而本设计选用的是AT89C52.
2.2.3串行口的选择
该串行口我选用了标准RS-232C接口,它是电平与TTL电平转换驱动电路。
常用的芯片是MAX232,MAX232的优点是:
(1)一片芯片可以完成发送转换和接收转换的双重功能。
(2)单一电源+5V供电
(3)它的电路设计与连接比较简单而且功能齐全。
2.2.4显示部分
LED数码显示管是一种由LED发光二极管组合显示字符的显示器件。
它使用了8个LED显示管,其中7个用于显示字符,1个用来显示小数点,故通常称之为八段发光二极管数码显示器。
对LED数码显示器的控制可以采用按时间向它提供具有一定驱动能力的位选和段选信号。
LED数码显示有动态扫描显示法和静态显示。
在单片机中,为了节省硬件资源,多采用动态扫描显示法。
2.2.5按键
键盘是一种常见的输入设备,用户可以向计算机输入数据或命令。
根据案件的识别方法分类,有编码键盘和非编码键盘两种。
通过硬件识别的键盘称编码键盘;通过软件识别的键盘成为非编码键盘。
非编码键盘有两种接口方法:
一种是独立按键接口;另一种是矩阵式按键接口。
1、独立按键接口
在单片机中,如果所需的按键较少,可采用独立式键盘。
每只按键接单片机的一条IO线,通过对线的查询,即可识别各按键的状态。
如图2.2所示。
4只按键分别宇单片机的P1.0~P1.3IO线上。
无按键按下时,P1.0~P1.3线上均输入高电平。
当某按键按下时,与其相连的IO线将得到低电平输入。
图2.2独立按键接口图
2.矩阵式按键接口
在单片机中需要的按键较多时,通常把键排成矩阵形式,这样可以节省硬件资源。
如对于20只按键接口,如采用按键独立方式,需要20个IO口。
如采用矩阵式按键方式,则只需要9个IO口。
如图2.3所示。
单片机系统中的非编码式键盘程序主要由判别是否有键按下子程序、键的识别子程序、找到闭合键后,读入相应的键值,再转到相应的键处理程序几个部分组成。
图2.3矩阵式按键接口图
在该系统中所用到的按键有9个,所以采取矩阵式按键接口方式。
第三章硬件部分
3.1主机部分
该系统是一个主从式多路数据采集系统,主机和从机均用单片机实现,它的主机部分负责数据处理和显示,主机和从机之间用RS-232进行通信。
它由AT89S52、MAX232、LED数码显示器组成。
3.1.1主机部分原理图设计
由于主机要对从机有一个命令,所以用到按键,将按键接到单片机AT89C52的P3.4的端口上,按键的一端接地,当P3.4这条IO线是一个低电平时,则表示按键按下。
主机还要负责对采集到的数据进行处理和LED显示,用两个74HC573,一个与单片机AT89C52的P2.7口相连用于位选,一个与单片机AT89C52的P2.6口相连用于段选。
单片机的P0口的8位数据线与用于段选的74HC573的D0~D7相连,用于数码管上具体的数字的显示。
单片机P0口的八位数据线与用于位选的74HC573的D0~D7相连,用于在哪个数码管上显示。
主机跟从机的连接,又涉及到一个串行口双机通信的问题,根据单片机双机通信距离、抗干扰性等要求,选择RS-232C串行接口方法,选择串行口MAX232来连接主机和从机,将MAX232的11、12脚分别与单片机AT89C52的P3.1,P3.2脚相连,再将MAX232上的13、14脚分别与db-9的3、6脚相连。
单片机AT89C52的18、19脚与它的晶振电路相连,第9脚与它的复位电路相连。
其原理图如图3.1所示
图3.1主机部分电路原理图
3.1.2单片机
(1)单片机的概述
单片机是一种集成的电路芯块采用了超大规模技术把具有运算能力(如算术运算、逻辑运算、数据传送、中断处理)的微处理器(CPU),随机存取数据存储器(RAM),只读程序存储器(ROM),输入输出电路(IO口),可能还包括定时计数器,串行通信口(SCI),显示驱动电路(LCD或LED驱动电路),脉宽调制电路(PWM),模拟多路转换及AD转换器等电路集成到一块单片机上,构成一个最小然而很完善的计算机系统。
这些电路能在软件的控制下准确快速的完成程序设计者事先规定的任务。
总的而言单片机的特点可以归纳为以下几个方面:
集成度高、存储容量大、外部扩展能力强、控制功能强、低电压、低功耗、性能价格比高、可靠性高这几个方面。
[8]
单片机按内部数据通道的宽度,可分为4位、8位、16位及32位单片机。
它们被应用在不同领域里,8位单片机由于功能强大,被广泛的应用在工业控制、智能接口、仪表仪器等各个领域。
8位单片机在中、小规模应用场合仍占主流地位,代表了单片机的发展方向,在单片机应用领域发挥越来越大的作用。
随着移动通讯、网络技术、多媒体技术等高科技产品进入家庭,32位单片机应用得到了长足发展。
纵观单片机的发展过程,可以预示单片机的发展趋势:
1、微型单片化
2、低功耗CMOS
3、与多品种共存
4、可靠性和应用水平越来越高
单片机有着微处理器所不具备的功能,它可以独立地完成现代工业控制所要求的智能化控制功能这就是单片机的最大特点。
然而单片机又不同于单板机,芯片在没有开发前,它只是具备功能极强的超大规模集成电路,如果赋予它特定的程序,它便是一个最小的、完整的微机控制系统。
它与单板机或个人电脑有着本质的区别,单片机属于芯片级应用,需要用户了解单片机芯片的结构和指令系统以及其它集成电路应用技术和系统设计所需要的理论和技术,用这样特定的芯片设计应用程序,从而使芯片具备特定的智能。
[8]
(2)简介AT89C52
AT89C52是一种低功耗、高性能CMOS8位微控制器,具有8K在系统可编程Flash存储器。
使用Atmel公司高密度非易失性存储器技术制造,与工业80C51产品指令和引脚完全兼容。
片上Flash允许程序存储器在系统可编程,亦适于常规编程器。
在单芯片上,拥有灵巧的8位CPU和在系统可编程Flash,使AT89S52为众多嵌入式控制应用系统提供高灵活、超有效的解决方案。
[8]
AT89S52具有以下标准功能:
8k字节Flash,256字节RAM,32位IO口线,看门狗定时器,2个数据指针,三个16位定时器计数器,一个6向量2级中断结构,全双工串行口,片内晶振及时钟电路。
另外,AT89S52可降至0Hz静态逻辑操作,支持2种软件可选择节电模式。
空闲模式下,CPU停止工作,允许RAM、定时器计数器、串口、中断继续工作。
掉电保护方式下,RAM内容被保存,振荡器被冻结,单片机一切工作停止,直到下一个中断或硬件复位为止。
[8]其引脚图,如图3.2所示
图3.2AT89C52的引脚图
它一共有40个引脚,引脚又分为四类。
其中有四个电源引脚,用来接入单片机的工作电源。
工作电源又分主电源、备用电源和编程电源。
还有两个时钟引脚XTAL1、XTAL2。
还有由P0口、P1口、P2口、P3口的所有引脚构成的单片机的输入输出(I\O)引脚。
最后一种是控制引脚,控制引脚有四条,部分引脚具有复位功能。
综上所述,单片机的引脚特点是:
1、单片机多功能,少引脚,使得引脚复用现象较多。
2、单片机具有四种总线形式:
P0和P2组成的16位地址地址总线;P0分时复用为8位数据总线;ALE、PSEN、RST、EA和P3口的INT0、INT1、T0、T1、WR、RD以及P1口的T2、T2EX组成控制总线;而P3口的RXD、TXD组成串行通信总线。
89C52单片机的主要功能
●与MCS-51单片机产品兼容
●8K字节在系统可编程Flash存储器
●1000次擦写周期
●全静态操作:
0Hz~33Hz
●三级加密程序存储器
●32个可编程IO口线
●三个16位定时器计数器
●八个中断源
●全双工UART串行通道
●低功耗空闲和掉电模式
●掉电后中断可唤醒
●看门狗定时器
●双数据指针
●掉电标识符
3.1.3LED数码显示器的应用原理
简单的讲,LED数码显示器就是由发光二极管组成的,其内部结构如图3.3所示,LED数码显示器有两种连接方式:
(1)共阴极接法:
把发光二极管的阴极连在一起构成公共阴极,使用时公共阴极接地。
每个发光二极管的阳极与输入端相连。
如图3.4所示
(2)共阳极接法。
把发光二极管的阳极连在一起构成公共阳极,使用时公共阳极接+5V,每个发光二极管的阴极通过电阻与输入端相连。
如图3.5所示
图3.2LED内部结构图3.3共阴极接法图3.4共阳极接法
为了显示字符,要为LED显示器提供显示段码(或称字形代码),组成一个“8”字的七段,再加上1个小数点位,共计八段。
各段位码位的对应关系如表3.1所示。
[8]
表3.1段位码对应关系
段位码
D7
D6
D5
D4
D3
D2
D1
D0
位码段
dp
g
f
e
d
c
b
a
3.2从机部分
该系统的从机负责AD模数转换,并应答主机的命令,需要用到ADC0809、AT59C52,又由于它们两个的时钟频率不一样,所以又要用到一个74LS74。
3.2.1从机的电路原理图设计
该部分需要对模拟量进行一次模数转换,则要用到一个ADC0809,又因为它们之间的时钟频率不一样又需要用到一个74LS74对其进行一个二分频的工作,这个只需要将74LS74的第3根引脚与单片机AT89C52的第30根引脚相连,将74LS74的第9根引脚与ADC0809的时钟信号引脚相连。
单片机AT89C52的P0口与ADC0809的D0~D7相连,而ADC0809的ADDA、ADDB、ADDC分别与P0口的低三位相连。
其用到的MAX232与主机部分的电路连接方法一样。
其电路图如3.5所示
图3.5从机部分电路设计图
3.2.2单片机之间的通信
(1)串口通信RS-232C
计算机与计算机或计算机与终端之间的数据传送可以采用串行