数据采集器软件设计_第1页
数据采集器软件设计_第2页
数据采集器软件设计_第3页
数据采集器软件设计_第4页
数据采集器软件设计_第5页
已阅读5页,还剩38页未读 继续免费阅读

下载本文档

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

文档简介

1、第1章 绪论1.1 研究背景及其目的意义近年来,数据采集及其应用受到了人们越来越广泛的关注,数据采集系统也有了迅速的发展,它可以广泛的应用于各种领域。数据采集系统起始于20世纪50年代,1956年美国首先研究了用在军事上的测试系统,目标是测试中不依靠相关的测试文件,由非成熟人员进行操作,并且测试任务是由测试设备高速自动控制完成的。由于该种数据采集测试系统具有高速性和一定的灵活性,可以满足众多传统方法不能完成的数据采集和测试任务,因而得到了初步的认可。大概在60年代后期,国内外就有成套的数据采集设备和系统多属于专用的系统。20世纪70年代后期,随着微型机的发展,诞生了采集器、仪表同计算机溶为一体

2、的数据采集系统。由于这种数据采集系统的性能优良,超过了传统的自动检测仪表和专用数据采集系统,因而获得了惊人的发展。从70年代起,数据采集系统发展过程中逐渐分为两类,一类是实验室数据采集系统,一类是工业现场数据采集系统。20世纪80年代随着计算机的普及应用,数据采集系统得到了很大的发展,开始出现了通用的数据采集与自动测试系统。该阶段的数据采集系统主要有两类,一类以仪表仪器和采集器、通用接口总线和计算机组成。这类系统主要应用于实验室,在工业生产现场也有一定的应用。第二类以数据采集卡、标准总线和计算机构成,这一类在工业现场应用较多。20世纪80年代后期,数据采集发生了很大的变化,工业计算机、单片机和

3、大规模集成电路的组合,用软件管理,是系统的成本减低,体积变小,功能成倍增加,数据处理能力大大加强。20世纪90年代至今,在国际上技术先进的国家,数据采集系统已成功的运用到军事、航空电子设备及宇航技术、工业等领域。由于集成电路制造技术的不断提高,出现了高性能、高可靠的单片机数据采集系统(DAS)。数据采集技术已经成为一种专门的技术,在工业领域得到了广泛的应用。该阶段的数据采集系统采用模块式结构,根据不同的应用要求,通过简单的增加和更改模块,并结合系统编程,就可扩展或修改系统,迅速组成一个新的系统。尽管现在以微机为核心的可编程数据采集与处理采集技术的发展方向得到了迅速的发展,而且组成一个数据采集系

4、统只需要一块数据采集卡,把它插在微机的扩展槽内并辅以应用软件,就能实现数据采集功能,但这并不会对基于单片机为核心的数据采集系统产生影响。相较于数据采集板卡成本和功能的限制,单片机具多功能、高效率、高性能、低电压、低功耗、低价格等优点,而双单片机又具有精度较高、转换速度快、能够对多点同时进行采集,因此能够开发出能满足实际应用要求的、电路结构简单的、可靠性高的数据采集系统。这就使得以单片机为核心的数据采集系统在许多领域得到了广泛的应用。1.2 国内外研究现状数据采集系统是通过采集传感器输出的模拟信号并转换成数字信号,并进行分析、处理、传输、显示、存储和显示。它起始于20世纪中期,在过去的几十年里,

5、随着信息领域各种技术的发展,在数据采集方面的技术也取得了长足的进步,采集数据的信息化是目前社会的发展主流方向。各种领域都用到了数据采集,在石油勘探、科学实验、飞机飞行、地震数据采集领域已经得到应用。我国的数字地震观测系统主要采用TDE-124C型TDE-224C型地震数据采集系统。近年来,又成功研制了动态范围更大、线性度更高、兼容性更强、低功耗可靠性的TDE-324C型地震数据采集系统。该数据采集对拾震计输出的电信号模拟放大后送至A/D数字化,A/D采用同时采样,采样数据经DSP数字滤波处理后,变成数字地震信号。该数据采集系统具备24位A/D转化位数,采样率有50HZ、100HZ、200HZ。

6、美国PASCO公司生产的“科学工作室”是将数据采集应用于物理实验的崭新系统,它由3部分组成:(1)传感器:利用先进的传感技术可实时采集技术可实时采集物理实验中各物理量的数据;(2)计算机接口:将来自传感器的数据信号输入计算机,采样速率最高为25万次/S;(3)软件:中文及英文的应用软件。受需求牵引,新一代机载数据采集系统为满足飞行实验应用也在快速地发展。如爱尔兰ACRA公司2000年研发推出的新一代KAM500机载数据采集系统到了2006年。本系统采用16位(A/D)模拟数字变换,总采样率达500K/S,同步时间为+/-250ns,可以利用方式组成高达1000通道的大容量的分布式采集系统。1.

7、3 该课题研究的主要内容数据采集技术是信息科学的重要分支之一, 它研究信息数据的采集、存储、处理以及控制等问题。它是对传感器信号的测量与处理, 以微型计算机等高技术为基础而形成的一门综合应用技术。数据采集也是从一个或多个信号获取对象信息的过程。随着微型计算机技术的飞速发展和普及,数据采集监测已成为日益重要的检测技术,广泛应用于工农业等需要同时监控温度、湿度和压力等场合。数据采集是工业控制等系统中的重要环节,通常采用一些功能相对独立的单片机系统来实现,作为测控系统不可缺少的部分,数据采集的性能特点直接影响到整个系统。尽管现在以微机为核心的可编程数据采集与处理技术作为数据采集技术的发展方向得到了迅

8、速的发展,并且适于通用微机(如IBM PC 系列) 使用的板卡级数据采集产品也已大量出现,组成一个数据采集系统简单到只需要一块数据采集卡,把它插在微机的扩展槽内,并辅以应用软件,就能实现数据采集功能,但这并不会对基于单片机为核心的数据采集系统产生影响,因为单片机功能强大、抗干扰能力强、可靠性高、灵活性好、开发容易等优点,使得基于单片机为核心的数据采集系统在许多领域得到了广泛的应用.传统的基于单片机的数据采集系统由于没有上位机的支持,不管采用什么样的数据存储器,它的存储容量都是有限的,所以不得不对存储的历史数据进行覆盖刷新,这样不利于用户对数据进行整体分析,因而也不能对生产过程的状况进行准确的把

9、握。本系统采用单片机负责模拟数据的采集,并且处理采集来的数字量及显示处理的数据。这样用户有利于工业过程的长期正常运行和检查。该系统主要采用的是AT89S52单片机和AD0809芯片,它们功能比较强大,基本能够满足设计要求。 第2章 数据采集2.1 数据采集系统数据采集,又称数据获取,是利用一种装置,从系统外部采集数据并输入到系统内部的一个接口。数据采集技术广泛引用在各个领域。70年代初,随着计算机技术及大规模集成电路的发展,特别是微处理器及高速A/D转换器的出现,数据采集系统结构发生了重大变革。原来由小规模集成的数字逻辑电路及硬件程序控制器组成的采集系统被微处理器控制的采集系统所代替。由微处理

10、器去完成程序控制,数据处理及大部分逻辑操作,使系统的灵活性和可靠性大大地提高,系统硬件成本和系统的重建费用大大地降低。采集多路模拟信号时,一般用多路模拟开关巡回检测的方式,即一种数据采集的方式。利用多路开关让多个被测对象共用同一个采集通道,这就是多通道数据采集系统的实质。当采集高速信号时,A/D转换器前端还需加采样/保持(S/H)电路。待测量一般不能直接被转换成数字量,通常要进行放大、特性补偿、滤波等环节的预处理。被测信号往往因为幅值较小,而且可能还含有多余的高频分量等原因,不能直接送给A/D转换器,需对其进行必要的处理,即信号调理。如对信号进行放大、衰减、滤波等。通常希望输入到A/D转换器的

11、信号能接近A/D转换器的满量程以保证转换精度,因此在直流电流电源输出端与A/D转换器之间应接入放大器以满足要求。本题要求中的被测量为05V直流信号,由于输出电压比较大,满足A/D转换输入的要求,故可省去放大器,而将电源输出直接连接至A/D转换器输入端。在本系统中需要将模拟量转换为数字量,而 A/D是将模拟量转换为数字量的器件,他需要考虑的指标有:分辨率、转换时间、转换误差等等。而单片机是该系统的基本的微处理系统,它完成数据读取、处理及逻辑控制,数据传输等一系列的任务。在该系统中采用的是8051系列的单片机。数据的显示则采用的是LED数码管,该器件比较简单,在生活中接触也较多。数据采集系统一般由

12、I/V变换、多路转换器、采样保持器、A/D转化器、单片机、键盘、LED显示等组成。完成本设计所需要的系统框图如图2-1所示: 图2-1 系统框图 (1)信号调理:将被测对象的输出信号变换成计算机要求的输入信号。 (2)I/V变换:变送器输出的信号为0-10mA或4-20mA的统一信号,多路数据采集的信号主要是电压信号,需要经过I/V变换变成电压信号后才能采集。(3) 多路转换器:多路转化器又称多路开关,多路开关是用来切换模拟电压信号的关键元件。利用多路开关可将各个输入信号依次地或随机地接到A/D转换器上。(4) 采样保持器:A/D转换过程(即采样信号的量化过程)需要时间,这个时间称为A/D转换

13、时间。在A/D转换期间,如果输入信号变化较大,就会引起转换误差。所以,一般情况下采样信号都不直接送至A/D转换器转换,还需加保持器作信号保持。保持器把t=kT时刻的采样值保存到A/D转换结束。T为采样周期,k=0,1,2为采样序号。(5) A/D转换器:在我们所测控的信号中军事连续变化的物理量,而要对这些信号进行处理,则需要将其转换为数字量,A/D转换器就是为了将连续变化的模拟量转换成计算机能接受的数字量。(6) 单片机:分析系统所要实现的功能可知,需要设计的功能模块应该包括多路开关,总线设计,显示设计,A/D转换设计,键盘设计等,对于这些功能,选用51单片机来实现是合适的,采集数据、控制、键

14、盘以及显示都是MCS-51单片机的典型应用范畴。本系统采用ATMEL公司的AT89C51,该器件采用ATMEL高密度非易失存储器制造技术制造,与工业标准的MCS-51系列单片机的指令集和输出管脚相兼容。(7) LED数码管显示:用于显示采集通道和采集电压,本设计采用的是共阳极6位8段式数码管。(8) 按键开关:通过按键开关可以控制电路的采集方式,即自动采集和手动采集。一般我们是自动采集,但是当出现错误时或则需要调节时,我们就用到手动采集,手动开关可以控制通道数加1和减1来排除错误。2.2 方案论证 2.2.1 I/V变换变送器输出的信号为0-10mA或4-20mA的统一信号,需要经过I/V变换

15、变成电压信号后才能处理。对于电动单元组合仪表,DDZ- = 2 * ROMAN * MERGEFORMAT II型的输出型号标准为0-10mA,而DDZ- = 3 * ROMAN * MERGEFORMAT III型和DDZ-S系列的输出型号标准为4-20mA,因此,针对以上情况我们来讨论I/V变换的实现方法。(1)无源I/V变换无源I/V变换主要是利用无源器件电阻来实现,并加滤波和输出限幅等保护措施,如图2-2所示: 图2-2无源I/V变换电路(2)有源I/V变换 有源I/V变换主要是利用有缘器件运算放大器、电阻来实现,如图2-3所示: 图2-3有源I/V变换电路 因无源简单容易,所以本设计

16、采用了无源I/V变换电路。2.2.2 信号采集数据采集方式有顺序控制数据采集和程序控制数据采集。方案一:顺序控制数据采集,顾名思义,它是对各路被采集参数,按时间顺序依次轮流采样。原理如下图2-4所示,系统的性能完全由硬件设备决定。在每次的采集过程中,所采集参数的数目、采样点数、采样速率、采样精度都固定不变。若要改变这些指标,需改变接线或更换设备方能实现。数据采集时,控制多路传输门开启和关闭的信号来自脉冲分配器,在时钟脉冲的推动下,这些控制信号不断循环,使传输门以先后顺序循环启闭。方案二:程序控制数据采集,由硬件和软件两部分组成。据不同的采集需要,在程序存储器中,存放若干种信号采集程序,选择相应

17、的采集程序进行采集工作,还可通过编新的程序,以满足不同采样任务的要求。如图2-5所示:图2-5程序控制数据采集原理图2-4顺序数据采集原理程序控制数据采集的采样通道地址可随意选择,控制多路传输门开启的通道地址码由存储器中读出的指令确定。即改变存储器中的指令内容便可改变通道地址。由于顺序控制数据采集方式缺乏通用性和灵活性,所以本设计中选用程序控制数据采集方式。2.2.3 A/D模数转换A/D转换器的种类很多,就位数来说,可以分为8位、10位、12位和16位等。位数越高其分辨率就越高,价格也就越贵。A/D转换器型号很多,而其转换时间和转换误差也各不相同。(1)逐渐逼近式A/D转换器:它是一种速度快

18、、精度较高、成本较低的直接式转换器,其转换时间在几微秒到几百微秒之间。(2)双积分A/D转换器:它是一种间接式的A/D转换器,优点是抗干扰能力强,精度比较高,缺点是数度很慢,适用于对转换数度要求不高的系统。(3)并行式A/D转换器:它又被称为快速型,它的转换数度很高,但她采用了很多个比较器,而n位的转换就需要2n-1个比较器,因此电路规模也极大,价格也很贵,适用于视频A/D转换器等数度特别高的领域。鉴于上面三种方案,在价格、转换速度、简化程度等多种标准考量下,在本设计选用的是逐渐逼近式A/D转换器ADC0809。2.2.4单片机单片机是一种面向大规模的集成电路芯片,是微型计算机中的一个重要的分

19、支。此系统是由CPU、随即存取数据存储器、只读程序存储器、输入输出电路(I/O口),还有包括定时/计数器、按键、显示驱动电路(LED驱动电路)、多路转换器及A/D转换器等电路集成到一个单块芯片上,构成了一个小而完善的计算机任务。而本设计选用的是AT89C52。2.2.5 显示部分LED数码显示管是一种由LED发光二极管组合显示字符的显示器件。它使用了6个LED显示管,其中4个用于显示采集的数据,2个用来显示通道数。本设计通过对单片机控制,使其向数码管输送位选信号和送断选信号,使最终采集的数据在数码管显示。而LED数码显示器的控制可以采用中断定时扫描,这样可以节省CPU占用时间,从而提高单片机工

20、作效率。LED数码显示有动态扫描显示和静态显示。 在本设计中,为了节省硬件资源,采用动态扫描显示法。 2.2.6按键键盘是一种常见的输入设备,用户可以向计算机输入数据或命令。根据案件的识别方法分类,有编码键盘和非编码键盘两种。通过硬件识别的键盘称编码键盘;通过软件识别的键盘成为非编码键盘。非编码键盘有两种接口方法:一种是独立按键接口;另一种是矩阵式按键接口。(1)独立按键接口在单片机中,如果所需的按键较少,可采用独立式键盘。每只按键接单片机的一条I/O线,通过对I/O线的查询,即可识别各按键的状态。(2)矩阵式按键接口在单片机中需要的按键较多时,通常把键排成矩阵形式,这样可以节省硬件资源。如对

21、于20只按键接口,如采用按键独立方式,需要20个I/O口。如采用矩阵式按键方式,则只需要9个I/O 口。单片机系统中的非编码式键盘程序主要由判别是否有键按下子程序、键的识别子程序、找到闭合键后,读入相应的键值,再转到相应的键处理程序几个部分组成。我们因用的键盘较少,所以选用的是独立按键接口。 第3章 硬件设计与实现3.1系统总体设计思想本系统的设计思路如下:过程参数由传感元件和变送器测量并转换为电流形式后,通过I/V变换转换为电压,再送至多路转换器。在单片机的控制下,由多路开关将各个过程参数依次的切换,然后进行A/D转换,实现过程参数的巡回检测。最终将转换结果在数码管上显示。由于实现手动和自动

22、的切换,所以用到按键,将按键接到单片机AT89C51的P1.0,P1.1,P1.2,的端口上,按键的一端接地,当P1.0,P1.1,P1.2,这条I/O线是一个低电平时,则表示按键按下,实现手动加减与自动的切换。 因本电路用到其他外部器件,需要的连线就很多了,所以在微处理机中引入了总线的概念。74LS138,74LS373与AT89C51构成总线,可以进行外部拓展和其他的控制器进行通信。单片机还要负责对采集到的数据进行控制和LED显示,用两个74HC373锁存,一个用于位选,一个用于段选。其原理图3-1如图所示: 图3-1 电路原理图 3.2硬件的主要构成部分3.2.1单片机总线部分MCS-5

23、1单片机片外总线结构由三组总线构成,即地址总线(AB)、数据总线(DB)和控制总线(CB)。所以符合这个总线标准的外部接口芯片都可以用这三组总线进行扩展。在扩展多片外部存储器和I/O时,所有外部扩展器件的片选端口都必须按照地址线进行选择。片选是在保证对外部扩展的关公地址空间寻址的条件下,使用剩余的地址线经行线选或经过译码进行选择来实现的。如图3-2为采用线选法扩展和采用译码法扩展的结构图。 图3-2线选法和译码法扩展的结构图线选法是利用剩余的高位地址线直接进行片选,因此电路较简单,但地址空间不连续,造成地址空间浪费。图3.2.3中,地址线A13用作64KB存储器的片选线。 译码法是通过外接译码

24、器对地址译码来进行片选,因此地址空间不会浪费,但由于使用译码器增加了电路复杂性。常用的译码器芯片有3-8线译码器芯片74LS138。3.2.2模/数转换电路 本数据采集系统中,可以通过我们的I/O口扩展接口电路直接得到,由于51单片机大部分不带AD转换器,所以模拟量的采集就必须靠A/D实现。本设计采样的是模数转换器AD0809。 模数转换器与单片机的具体接线法:由于ADC0809具有输出3态锁存器,其八位数据输出引脚可直接与数据总线相连。ADC0809地址引脚ADDA、ADDB、ADDC分别与地74LS373的输出端D0、D1、D2相连,以选通IN0IN7中的一个通道。在启动A/D转换时,单片

25、机的P1.3(ALE)控制A/D转换器的地址锁存,单片机的P1.4(START)控制A/D转换器的转换启动,单片机的P1.5(EOC)控制A/D转换器的转换结束状态信号,单片机的P1.6(OE)控制A/D转换器的输出允许信号,单片机的P3.6(WR)控制74LS373的锁存允许端 。AT89S51的输出频为晶振频的1/6(2MHZ),而AD0809的工作频范围为10KHZ-1280KHZ, 所以AD0809的时钟端口需加个分频电路,使单片机的输出频率达到AD0809的频率范围,这样AD0809才能正常的工作。 其A/D转换电路图3-2如下所示: 图3-2 A/D转换电路图3.2.3数码管显示电

26、路 数码管是一种半导体发光器件,其基本单元是发光二极管。此次设计采用的是6位8段共阳数码管。其原理图3-3如下所示: 图3-3显示电路该电路由2个外部设备74ls373驱动,一个驱动数码断选,一个驱动数码位选。第一个74LS373的锁存允许段LE的地址是0X8000,通过单片机编程,可以控制其高低电平转换,当LE为高电平时,芯片工作,对数码管进行断选操作,当LE为低电平时,对数码管显示数字进行锁存。然后由第二个74LS373进行位选,第二个74LS373地址线0X9000,当选中其地址后,由P0端口控制其选哪一个数码管。外部驱动电路的锁存允许端接到单片机总线上的74LS138输出上,这样接的好

27、处是能有效避免单片机管脚不够接外部设备,加入总线及驱动设备,能有效扩展外部设备的连接。3.2.3按键处理键盘是一种常见的输入设备,用户可以向计算机输入数据或命令。根据按键的识别方法分类,有编码键盘和非编码键盘两种。通过硬件识别的键盘称编码键盘;通过软件识别的键盘成为非编码键盘。非编码键盘有两种接口方法:一种是独立按键接口;另一种是矩阵式按键接口。本设计在单片机中使用的键盘比较少,可采用独立式键盘。每只按键接单片机的一条I/O线,通过对线的查询,即可识别各按键的状态。3只按键分别与单片机的P1.0P1.3I/O线上。无按键按下时,P1.0P1.3线上均输入高电平。当某按键下时,与其相连的I/O线

28、将得到低电平输入。如图3-4所示: 图3-4按键接口图3.2.4报警处理报警电路分为声音报警和灯光报警,当系统出现未知错误或者人为操作错误,可以采用电路报警,在本次设计中,报警器的主要作用是提高安全性,提高工作人员工作效率等。由8个led灯构成一个报警电路,该8路灯借鉴LED数码管内部结构连接,采用共阳极连接,阳极部分接在外部设备74LS373的一个输出端口上,起选片作用。阴极接到和数码管公用的外部设备上。当系统出现非正常状况时,LED灯闪烁报警,例如当采集的电流超过最大值10mA时,则此系统无法采集,显示的结果出现错误,则要LED灯闪烁报警。如下图3-5所示: 图3-5报警显示电路第4章 软

29、件系统设计与实现4.1 软件开发工具KeilUvision2介绍 Keil提供了包括C编译器、宏汇编、连接器、库管理和一个功能强大的仿真调试器等在内的完整开发方案,通过一个集成开发环境(UVISION)将这些组合在一起。Keil有以下几个特点:全功能的源代码编辑器;器件库用来配置开发工具设置;项目管理器用来创建和维护用户的项目;集成的MAKE工具可以汇编、编译和连接用户嵌入式应用;所有开发工具的设置都是对话框形式的;真正的源代码级的对CPU和外围器件的调试器;高级GDI(AGDI)接口用来在目标硬件上进行软件调试以及和Monitor-51进行通信;其使用的过程为:首先打开KeilUvision

30、3,在KEIL系统中,每做个独立的程序,都视为工程。首先从菜单中的工程中“新建工程”,建立我们将要做的工程项目:接下来Keil环境要求我们为xianshi工程选择一个单片机型号;我们选择Ateml公司的89C51(虽然我使用的是AT89S52,但由于89S51与89C51内外部的结构完全一样,所以这里仍然用“89C51”)。“确定”后工程就算建立好了。立了工程项目以后现在就要为工程添加程序,点击“文件”中的新建,新建一个空白文档;这个空白文档就是我们编写单片机程序的场所。在这里可以进行编辑、修改等操作。根据题意,在文档中写入代码,写完后再检查一下,然后保存,然后再将保存好的文档添加到工程中,具

31、体做法如下:程序文件添加完毕后,对其进行编译当前程序、编译修改过的文件并生成应用程序、重新编译所有文件并生成应用程序后,再点击TARGET,则其页面为: 再点击图案上的Output键 接下来就是点击上图中的select folder for objects键,得到下图将其产生的HEX文件存储在E盘zh文件夹中。 最后一步就是利用STC-ISP将HEX文件烧录到单片机里。4.2数据采集系统功能介绍数据采集系统是通过采集传感器输出的模拟信号并转换成数字信号,并进行分析、处理、传输、存储和显示。该系统如图4-1所示。数码管1,数码管2代表回路号即显示通道数;数码管3,数码管4,数码管5,数码管6显示

32、采集的数据;LED灯起报警提示作用,当系统出现非正常状况时,LED灯闪烁报警;按键1是自动显示,按键2是手动自加显示,按键3是手动自减显示;KEY4是复位键。 图4-1数据系统功能图具体操作方法:先通电后,按下KEY1,数据采集器将自动显示采集的数据;按下KEY2时,数据采集器将手动自加显示采集的数据;按下KEY3时,数据采集器将手动自减显示采集的数据;当出现死机时,可以按下复位键KEY4,使电路恢复正常。4.3 主程序主程序主要实现的功能是:初始化,A/D转换,工程量转换,回路显示,测量值显示,键盘处理等功能。如图4-2所示: 图4-2主程序流程图4.4 定时中断程序 定时中断程序主要实现的

33、功能是:1ms定时,动态显示,键盘读取功能。如图4-3所示: 图4-3定时中断程序流程图4.5 初始化程序初始化程序主要实现的功能:开启定时器,开启单片机中断系统,显示自检信息,延时等待硬件上电等功能。如图4-4所示: 图4-4初始化程序流程图4.6 键盘读取程序 键盘读取程序主要功能是:键盘扫描,延时去除抖动。如图4-5所示: 图4-5键盘读取程序流程图4.7 动态显示程序动态显示程序主要是实现的功能:选通数码管段选,再选通数码管位选,然后数码管位选循环。如图4-6显示: 图4-6动态显示程序流程图4.8 A/D转换程序 A/D转换程序主要实现的功能是:将模拟信号转换为数值信号。如图4-7所

34、示: 图4-7A/D转换程序流程图4.9 滤波处理程序滤波处理程序主要实现的功能是:先中位值滤波法,然后算术平均值法,最后惯性滤波法。如图4-8所示: 图4-8滤波处理程序流程图4.10 工程量转换程序工程量转换程序主要实现的功能是:使A/D转换的值变为被测量对象的量纲。如图4-9所示: 图4-9工程量转换程序流程图4.11软件抗干扰技术随着单片微机在各个领域中的应用越来越广泛,对其可靠性要求也越来越高。单片机系统的可靠性由多种因素决定,其中系统抗干扰性能是可靠性的重要指标。抗干扰措施有硬件措施和软件措施。硬件措施如果得当,可将绝大部分干扰拒之门外,但仍然会有少数干扰进入微机系统,故软件措施作

35、为第二道防线必不可少。软件抗干扰以其设计灵活。节省硬件资源、可靠性好的特点越来越受到重视。本文的多路数据采集器在设计时也使用了一些软件抗干扰措施。4.12指令冗余当CPU受到干扰后,往往将一些操作数当作指令码来执行,引起程序混乱。这时我们首先要尽快将程序纳入正轨(执行真正的指令系列)。MCS-51 系统中所有指令都不超过3字节,而且有很多单字节指令。当程序弹飞到某一条单字节指令上时,便自动纳入正轨。当弹飞到某一双字节或三字节指令上时,有可能落到其操作数上,从而继续出错。因此,我们应多采用单字节指令,并在关键的地方人为地插入一些单字节指令(NOP),或将有效单字书指令重复书写,这便是指令冗余。

36、在双字节和三字节指令之后插入两条NOP指令,可保护其后的指令不被拆散。或者说,某指令前如果插入两条NOP指令,则这条指令就不会被前面冲下来的失控程序拆散,并将被完整执行,从而使程序走上正轨。但不能加入太多的冗余指令,以免明显降低程序正常运行的效率。对于程序流向起决定作用的指令和对系统工作状态有重要作用的指令的后面,常常采用重复写这些指令,并且插入两条NOP指令的方法,以确保这些指令的正确执行。4.13软件陷阱指令冗余使弹飞的程序安定下来是有条件的,首先弹飞的程序必须落到程序区,其次必须执行到冗余指令。当弹飞的程序落到非程序区(如EPROM 中未使用的空间、程序中的数据表格区)时前一个条件即不满

37、足,当弹飞的程序在没有碰到冗余指令之前,已经自动形成一个死循环,这时第二个条件也不满足。对付前一种情况采取的措施就是设立软件陷阱,对于后一种情况采取的措施是建立程序运行监视系统(WATCHDOG)。所谓软件陷阱,就是一条引导指令,强行将捕获的程序引向对程序出错进行处理的程序。如果我们把这段程序的入口标号称为ERR的话,软件陷阱即为一条转入执行ERR的指令,为加强其捕捉效果,一般还在它前面加两条NOP指令,因此,真正的软件陷阱由三条指令构成:两条NOP指令+ 一条转入执行ERR的指令。 软件陷阱通常安排在未使用的中断向量区、未使用的大片ROM空间、表格和程序区。由于软件陷阱都安排在正常程序执行不

38、到的地方,故不影响程序执行效率,在当前EPROM容量不成问题的条件下,还是多多益善。 第5章 调试系统 该系统是数据采集系统。系统调试分硬件调试和软件调试。硬件调试应先检测电路的焊接是否正确,然后用万用表检测或通电检测其是否有短路或断路。软件调试即是调试程序。具体调试的过程:先检查硬件电路设计是否有问题,再就是用仪器检查硬件电路是否接通,最终把硬件调试成功。接下来调试软件了,软件主要包括为以下几个模块:初始化,多路转换,A/D转换,数字滤波技,工程量转换,按键读取,显示驱动,报警处理等等。由于程序比较多,整体调试不容易发现,故采取子程序调试的方法。例如:显示那块出现问题,就单独调试显示模块,观

39、察数码管输出状态是否正确。采取各个击破的方法调试好各个子程序。确定各子程序无误后,再调试完整的程序,要注意各子程序之间的衔接以及和主程序之间的调用和返回。通过反复调试,发现并排除软件与硬件存在的各类问题,最终把软硬件都调试通。结束语 本次设计是多路数据采集器。将整个系统分成五大模块:I/V转换模块、A/D转换模块、总线模块、显示模块、按键模块。其中核心模块是总线模块,用于外部的扩展和其他模块的控制;其次是模数转换的模块,将采集的模拟量转换为数字量;然后是数据的显示模块,将最终的转换结果在数码管上显示出来。虽说本次设计功能基本上都实现了,但是由于时间的仓促,还是存在许多瑕疵,系统在功能上还有待完

40、善。例如系统设计中可以加上一步,即将采集的数据舍掉最大值和最小值取其平均值,这样使采集的数据更精确,还有就是加上一阶滤波,可提高系统电路的抗干扰能力。通过本次设计我从中受益很大,一方面让你自己巩固了所学知识,另一方面也学到了许多新知识;同时也提高了自己的动手实践能力,更加培养了自己分析问题、解决问题的能力。限于设计水平,本次设计难免存在许多疏漏的地方,敬请各位老师给予批评指正。 致谢经过这段时间的努力,我终于完成了毕业设计论文,这也意味着我大学本科的结束。大学四年,我成长了许多,感谢我的老师们给予我的教育与指导,同时也感谢我的同学和朋友在学习和生活上给予我的帮助。在整个毕业设计过程中,熊文老师

41、对我细心指导和教育,给予我很大的帮助。让我从中学到了很多有着长远意义的东西,不胜感激。最后,衷心感谢各位评委在百忙中对我的论文进行仔细的审阅。参考文献1 周立功等.增强型80C51单片机速成与实战.北京航空航天大学出版社,20032 于海生.计算机控制技术.机械工业出版社,20103万文略.单片机原理及应用.重庆大学出版社,20044 常铁原,王欣,陈文军. 多路数据采集系统的设计.电子技术应用,20085 叶红海,李丽敏.基于单片机的多路数据采集系统的设计与实现. 20086 彭伟.单片机C语言程序设计实训100例.电子工业出版社,20097 杨居义,杨晓琴,王益斌等.单片机课程设计指导.清

42、华大学出版社,20098 刘刚,秦永左,朱杰斌.单片机原理及应用.北京大学出版社,20069 林祝亮,武林,杨金华.基于双单片机的多路数据采集系统设计.仪器仪表学报,200610 元增民,张文希.单片机原理与应用基础.国防科技大学出版社,200611 严洁.单片机原理及其接口技术.机械工业出版社,201012 V. Schmidt, Control, data acquisition, and remote participation for fusion research, Fusion Eng. Des. 81 (2006) 13 A.Neto,H.Fernandes,A.Duarte,

43、Firesignal-Data acquisition and control system software.FusionEngineering and Design 82(2007)14 徐爱卿,孙涵芳,盛焕鸣. 单片微型计算机应用和开发系统. 北京航空航天大学出版社, 1992年15 邬宽明. 单片机外围器件实用手册 数据传输接口器件分册. 北京航空航天大学出版社, 1998年16 何立民,余永权,李小青,陈林康 单片机应用系统的功率接口 北京航空航天大学出版社, 1992年17 张毅刚,彭喜元,孟升卫,刘兆庆. MCS-51单片机实用子程序设计(第二版). 哈尔滨工业大学出版社, 20

44、03年18 胡汉才. 单片机原理及接口技术(第2版. 清华大学出版社, 2004年19 于海生. 计算机控制技术. 机械工业出版社, 2007年附录1 硬件电路图(1)硬件原理图(2) 硬件PCB图 附录2软件程序以下为多路数据采集器软件设计的C语言程序: /* 头文件 */#include #include /访问XBYTE地址 /* 以下是拐角的定义和全局变量的定义 */sbit KEY1=P10 ;sbit KEY2=P11 ;sbit KEY3=P12 ; sbit ALE08=P13;sbit ST=P14;sbit EOC=P15; sbit OE=P16; bit man=1; /man=0自动显示 man=1手动显示 char Leds=1,2,3,4,5,6; /设置6个数码管char Ledc=0;char loop=0; /8路数据选择器int looptime;float pv8 ; / =22.0, 33.0, 44.0, 55.4, 66.0, 77.0, 88.0, 12.3; /采集的数码管code char LEDTAB

温馨提示

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

评论

0/150

提交评论