1、I西南科技大学城市学院本科生毕业论文基于LabVIEW的振动信号测试系统设计摘要:虚拟仪器是现代计算机技术同仪器技术深层次结合的全新概念仪器,实质是利用计算机的显示器的显示功能模拟传统仪器的控制面板,以多种形式表达输出测量结果,利用计算机强大的软件功能实现信号数据的运算、分析和处理,完成各种测试功能的一种计算机仪器系统。本次设计利用了基于LabVIEW的虚拟仪器技术设计了一套振动测试系统,下位机采用AT89C52单片机进行数据采样,并通过RS-232串口与上位机通信实现信号数据的传输,上位机软件开发基于LabVIEW平台。其具有信号采集,波形显示,数据处理,数据保存,信号参数检测等功能,具有操
2、作简单,界面直观,适用性强等特点。通过设计,能够对数据进行时域显示和频域分析处理。关键词:虚拟仪器;振动测试;LabVIEW;单片机III西南科技大学城市学院本科生毕业论文 Vibration Testing System Based on LabVIEW Signal DesignAbstract: Virtual instrumentation is modern computer technology combined with the deep-seated instrument technology new concept instrument , in essence, the u
3、se of the computer monitor s display traditional analog instrument control panel to output measurement results of various forms of expression , the use of powerful computer software functions the operation data for signal analysis and processing is completed for all test functions of a computer syst
4、em apparatus . The design takes advantage of LabVIEW -based virtual instrument technology designed a vibration test systems, next-bit machine using AT89C52 microcontroller for data sampling , and to achieve data transmission signal via RS-232 serial communication with the PC , PC software developmen
5、t based on LabVIEW platform. Which has a signal acquisition, waveform display , data processing, data storage , signal parameter detection and other functions, with a simple, intuitive interface, applicability, and other characteristics. By design, the data can be displayed in time domain and freque
6、ncy domain analysis.Keywords: Virtual Instrument, vibration test, LabVIEW, SCMIV西南科技大学城市学院本科生毕业论文 目 录第1章 绪论11.1 课题研究的背景和意义11.3 论文主要设计内容1第2章 虚拟仪器和LabVIEW32.1 虚拟仪器32.1.1 虚拟仪器的概念32.1.2 虚拟仪器的组成32.1.3 虚拟仪器的特点及优势42.2 LabVIEW52.2.1 LabVIEW简介52.2.2 LabVIEW的基本特点5第3章 振动测试分析系统73.1 振动测试分析系统的组成73.2 信号测试与分析73.3 振
7、动测试系统总体设计8第4章 硬件设计94.1 系统总体设计方案94.2 压电加速度传感器94.3 电荷放大器104.4 A/D转换器TLC2543性能介绍104.5 单片机模块124.5.1 AT89C52性能介绍124.5.2 A/D转换电路154.6 基于AT89C52单片机的串口硬件采集接口电路设计164.6.1 串口简述164.6.2 串口硬件采集接口电路设计184.7 单片机数据采集软件程序设计19V西南科技大学城市学院本科生毕业论文 第5章 LabVIEW软件设计205.1 LabVIEW软件总体设计方案205.1.1系统主界面设计215.2 LabVIEW程序设计225.3 数据
8、采集模块设计225.4 信号预处理模块设计235.5 时域分析模块设计235.5.1信号的时域统计分析235.5.2 时域程序框图255.6 频域分析模块设计255.6.1 幅值谱和相位谱分析265.6.2 功率谱分析275.6.3 频域分析程序框图28第6章 系统仿真调试296.1 仿真系统运行原理296.2 时域分析模块测试296.3 频域分析模块测试306.3.1 幅度与相位谱显示306.3.2 功率谱显示30总 结32致 谢33参考文献34附录135附录236附录337西南科技大学城市学院本科生毕业论文 第1章 绪论1.1 课题研究的背景和意义 随着计算机和软件技术的发展,虚拟仪器正在
9、逐渐成为测试领域的发展方向,采用虚拟仪器实现振动测试与分析也成为振动测试的发展趋势。所谓振动,就是物体或某种状态随着时间往复变化的现象,这类现象有的源于系统内部相互作用,有的是外界干扰引起的。在现代工程技术领域,存在着大量的振动问题。例如:电厂中汽轮发电机组及其它辅机设备运行时产生的振动,车辆在凸凹不平的路面上行驶所引起的振动;旋转机械由于质量不平衡在运行中的振动;建筑物受地面和阵风扰动所产生的振动等。在极大多数场合,振动都是有害的,它将影响设备的正常工作和机械的加工精度,引起机器构件的加速磨损,甚至导致急剧断裂而破坏。为了解决工程振动问题,出现了一门集数学、力学、电子技术、计算机技术、信息处
10、理、人工智能等多种现代技术于一体的新兴交叉学科振动测试与分析。1.3 论文主要设计内容 本文从虚拟仪器开发的角度,首先确定系统的总体方案和硬件配置,然后从整体上确定系统的模块组成,在论文的主体部分,分别论述了以AT89C52单片机为核心的数据采集卡及相应硬件设计电路,基于LabVIEW平台下开发一个完整的虚拟振动测试系统,对软件的各个模块进行具体设计与实现,对开发过程中普遍存在的问题做了一定的探讨与论述。为了实现振动测试分析系统的开发,全文主要内容如下: 1、振动虚拟仪器的应用研究 虚拟仪器是最近发展起来的一门崭新的学科,是仪器产业发展的一个重要方向。本文从虚拟仪器的基本概念出发,分别介绍组成
11、、功能及特点以及与传统仪器相比所具备的优点等几个方面。虚拟仪器用软件编程替代传统测量仪器的硬件电路,因此成本大大降低,介绍了用于虚拟仪器开发的集成软件包LabVIEW并重点介绍了LabVIEW在信号处理与分析方面的优势。 2、振动测试与分析应用开发 了解了虚拟仪器的概念和优势后,便开始了振动测试分析应用系统的开发。重点介绍了以AT89C52单片机为核心的串口通讯的数据采集模块的硬件设计。 3、虚拟振动测试分析系统的软件设计 确定了系统的硬件平台之后,就开始了应用软件系统的开发。通过比较多种虚拟39西南科技大学城市学院本科生毕业论文 仪器开发平台,选定了以图形化编程软件LabVIEW。然后便通过
12、编程,将振动测试的理论算法转换成为LabVIEW的框图程序。应用软件的主要功能包括: (1)数据采集:LabVIEW与单片机串口的软件设计。 (2)文件管理:存储和读取振动信号以及采样参数数据。 (3)信号预处理:包括数字滤波(低通、高通、带通、带阻)和加窗(可选用多种窗函数,如矩形窗、哈宁窗、海明窗等)。 (4)时域分析:对信号统计特征的计算(峰值、均值、方差、均方根值等)。 (5)频域分析:对采集得到的数据作频谱分析包括FFT分析、功率谱分析。第2章 虚拟仪器和LabVIEW2.1 虚拟仪器2.1.1 虚拟仪器的概念 虚拟仪器(Virtual Instrument ,VI)的概念是由美国国
13、家仪器公司(NI)最先提出的。所谓虚拟仪器是基于计算机的软硬件测试平台,它可代替传统的测量仪器,如示波器、逻辑分析仪、信号发生器、频谱分析仪等;可集成于自动控制、工业控制系统之中;可自由构建成专有仪器系统。虚拟仪器是智能仪器之后的新一代测量仪器。虚拟仪器的核心技术思想就是“软件即是仪器”。该技术把仪器分为计算机、仪器硬件和应用软件三部分。虚拟仪器以通用计算机和配备标准数字接口的测量仪器(包括 GPIB, RS-232 等传统仪器以及新型的 VXI 模块化仪器)为基础,将仪器硬件连接到各种计算机平台上,直接利用计算机丰富的软硬件资源,将计算机硬件(处理器、存储器、显示器)和测量仪器(频率计、示波
14、器、信号源)等硬件资源与计算机软件资源(包括数据的处理、控制、分析和表达、过程通讯以及图形用户界面)有机的结合起来。如图2-1反映了常见的虚拟仪器方案。图2-1 虚拟仪器方案2.1.2 虚拟仪器的组成虚拟仪器由软件和硬件两部分组成,突破了传统电子仪器以硬件为主体的模式用具有测试软件的计算机实现传统电子仪器的功能。 虚拟仪器的硬件是计算机和为其配置的各种传感器互感器信号调理器数据采集器等计算机及其配置的电子测量仪器硬件模块组成了虚拟仪器测试硬件平台的基础。 软件是虚拟仪器的灵魂。NI 公司在提出虚拟仪器概念时用“软件就是仪器(Software is Instrument )”的口号来表达虚拟仪器
15、的特征,强调了软件在虚拟仪器中极为重要的位置。虚拟仪器的软件包括:虚拟仪器的前面板、信号采集模块、信号处理模块和数据存储模块等。因此测量信号是在软件的控制下,经由电子测量硬件平台的采集,再经电子计算机的处理,得到最终的测试结果,并以数据、曲线、图形等显示在电子计算机的终端显示屏上。2.1.3 虚拟仪器的特点及优势虚拟仪器是基于计算机的功能化硬件模块和计算机软件构成的电子测试仪器,而软件是虚拟仪器的核心。其中软件的基础部分是设备驱动软件,而这些标准的仪器驱动软件使得系统的开发与仪器的硬件变化无关。这是虚拟仪器最大的优点之一,有了这一点,仪器的开发和换代时间将大大缩短。虚拟仪器中应用程序将可选硬件
16、(如 GPIB, VXI, RS-232, DAQ 板) 和可重复用库函数等软件结合在一起,实现了仪器模块间的通信、定时与触发。原码库函数为用户构造自己的虚拟仪器(VI)系统提供了基本的软件模块。由于VI 的模块化、开放性和灵活性,以及软件是关键的特点,当用户的测试要求变化时可以方便地由用户自己来增减硬、软件模块,或重新配置现有系统以满足新的测试要求。 这样,当用户从一个项目转向另一个项目时,就能简单地构造出新的 VI系统而不丢失己有的硬件和软件资源。虚拟仪器技术的优势在于可由用户定义自己的专用仪器系统,且功能灵活,很容易构建,所以应用面极为广泛。尤其在科研、开发、测量、检测、计量、测控等领域
17、更是不可多得的好工具。虚拟仪器技术先进,十分符合国际上流行的”硬件软件化”的发展趋势,因而常被称作“软件仪器“。它功能强大,可实现示波器、逻辑分析仪、频谱仪、信号发生器等多种普通仪器全部功能,配以专用探头和软件还可检测特定系统的参数,如汽车发动机参数、汽油标号、炉窑温度、血液脉搏波、心电参数等多种数据;它操作灵活,完全图形化界面,风格简约,符合传统设备的使用习惯,用户不经培训即可迅速掌握操作规程;它集成方便,不但可以和高速数据采集设备构成自动测量系统,而且可以和控制设备构成自动控制系统。表 2-1 虚拟仪器与传统仪器的比较特性虚拟仪器传统仪器兼容性开放性、灵活性,可与计算机技术保持同步发展封闭
18、性,仪器间相互配合较差系统升级关键是软件,系统升级方便,可通过网络下载升级程序关键是硬件,升级成本高,而且要上门进行升级服务价格价格低廉,仪器间资源可重复利用率高价格昂贵,仪器间一般无法共享资源体积体积较小,便于携带和野外工作体积较大,不便于运输开发和维护用户可以定义仪器功能可以与网络及周边设备方便连接开发与维护费用较低功能由生产商预先定义功能单一,只能连接有限立设备开发与维护开销高技术更新周期技术更新周期短(1-2 年)技术更新周期长(5-10 年) 由表 2-1可见,与传统仪器相比,虚拟仪器在各方面都具有明显的优势,能够满足科技高速发展对电子测量技术提出的新要求,必然会成为电子测量仪器发展
19、的趋势。2.2 LabVIEW2.2.1 LabVIEW简介 LabVIEW是实验室虚拟仪器集成环境(Laboratory Virtual instrument Engineering)的简称,它是美国国家仪器公司(简称NI)的创新软件产品。 LabVIEW为用户构造自己的仪器系统提供了完美的解决途径。虚拟仪器软件将计算机硬件资源与仪器硬件有机的融合为一个整体,这就把计算机中含有的强大的计算处理能力和仪器硬件的测量、控制能力结合在一起,大大缩小了仪器硬件的成本、体积和开发时间。虚拟仪器随着与计算机的发展而发展,它还与网络及其他周边设备进行互联,我们只需改变软件程序就可以不断扩展增强虚拟仪器的测
20、量功能,并且十分简单。 LabVIEW也是一直通用的编程系统,它具有各种各样、功能强大、简单易用的函数库,这些函数库里包含着包括数据采集、网络传输、串行仪器控制、数据分析、数据显示及数据存储等功能。LabVIEW也有完善的仿真、调试工具,如设置断点、单步等,十分方便用户调试。此外LabVIEW有动态连续的跟踪方式,利用此功能可以动态、连续地观察程序中的数据及其变化情况,这比其他语言的开发环境更加方便、更加有效。 LabVIEW采用图形化编程语言G语言,它所产生的程序是框图的形式,这种形式易学易用,因为G语言可在很短时间内掌握并应用到实践中去。图形化的程序设计编程比传统的编程语言简单直观,并且开
21、发效率高。随着虚拟仪器技术的不断发展,这种图形化的编程语言一定会通行的标准。2.2.2 LabVIEW的基本特点 1、具有良好的图形用户界面。用LabVIEW可以在计算机屏幕上产生出类似于传统仪器的面板,包括按钮、旋钮、开关、图形显示组件、控制组件等等。这些组件都具有高仿真度。 2、比起其他的语言来说编程简单、由于采用图形化的语言G语言,用图形化的方式编写程序。 3、具有良好的模块化和层次结构的特点。用LabVIEW编写的VI既可以作为顶层程序使用,还可以作为其他大型程序的子程序进行调用。 4、LabVIEW软件提供功能强大程序调试工具。程序调试工具可以在源代码中设置断点,可以单步执行,也可以
22、启动。第3章 振动测试分析系统3.1 振动测试分析系统的组成一般来说,振动测试与分析系统由两大部分组成。一部分为传感器测量系统,它包括各种振动传感器、压力传感器以及其有关测量部分,其左右是拾取表征机器状态的各种信号或参数,并使之变成标准的电压或电流信号;另一部分即为测量数据采集、显示、处理及分析系统,其作用是获得信号并进行具体振动值显示,同时进行进一步的各种分析、处理。 激振力发生器 激振对象振动测试分析系统 图3-1 振动测试系统结构框图 实际的振动测试系统可归纳为图3-1所示的框图,激励力发生器产生具有某种特定的大小和变化规律的力,作用于激振对象,构成它的给定输入。激振对象在此激振力的作用
23、下产生相应的振动输出响应。振动测试系统则对激振对象的输出响应进行测量。 一个振动系统,从外界输入一定形式的激励就呈现一定形式的输出,输入通常称为激励,输出称为响应;输出特性不仅取决于输入特性,还取决于振动系统的振动特性。输入、输出和系统的振动特性这三者之间的关系如图 3-2所示。 系统振动特性 激振 响应 图 3-2振动系统原理图3.2 信号测试与分析 对于绝大多数数据采集和控制系统来说,传感器在连接到数据设备之前的信号必须被转换为设备所能够识别的信号,所以信号调理非常重要。典型的系统一般都需要信号调理硬件,用于将原始信号以及传感器输出接到数据采集卡上通过信号调理的功能,如信号的放大、隔离、滤
24、波、线性化处理等,提高了数据系统的可靠性等性能。信号分析是振动测试中的一种重要方法,也是近年来测试技术的发展方向。数字信号的测试与模拟信号的测试一样,也是由传感器来完成得。然后将模拟信号进行转化成数字信号,在利用数字信号处理技术进行分析与处理。信号处理的基本步骤如图3-3所示。 预处理结果显示信号处理器A/D 转换振动信号图 3-3信号处理基本步骤3.3 振动测试系统总体设计本次设计是基于LabVIEW和单片机的测试系统设计,其主要工作就是在机械振动过程中通过加速度传感器把机械振动数据实时的记录下来,然后把记录下来的振动数据送入TLC2543数据采集系统进行特殊转换处理,将带有干扰的模拟信号经
25、过滤波等干扰消除过程转换成单片机易于接收的数字信号,之后传送给AT89C52单片机再经过进一步的特殊处理,将接收到的数字信号通过MAX232电平转换使单片机与PC机的串行口电平匹配,把处理后的振动数据送入PC机。PC机接收单片机传送来的振动数据通过LabVIEW应用软件以波形的方式显示出来以便分析振动变化情况。系统整体框图如图3-4所示。振动传感器TLC2543RS-232上位机AT89C52MAX232图3-4 系统整体框图第4章 硬件设计4.1 系统总体设计方案 具体的采集系统的总体构成如图4-1所示。压电加速度传感器A/D转换电路信号调理电路单片机RS-232 电平转换计算机 图 4-1
26、 采集系统的总体构成 在进行数据采集过程中,我们采集的一般为时域信号,而计算机是对数字信号进行处理的,所以需要将信号经过各种调理器和转换器来转变成数字信号。具体转换过程从图4-1中能看出;压电加速度传感器输出的为电荷信号,因为信号非常小,所以需要经过信号调理电路(本次设计选择为电荷放大器)放大且滤波,转换成可以测量的电压信号,并将一部分干扰信号滤波过滤,再经由A/D转换器,将模拟信号转换成计算机可以处理的数字信号。再由单片机及通讯电路送至上位机通过LabVIEW软件对信号进行读取、转换和显示等。4.2 压电加速度传感器传感器是能够感受物体运动并将物体的运动转换成模拟电信号的一种敏感的换能元件。
27、传感器的种类很多,且有不同的分类方法,按参考坐标的不同可分为绝对式与相对式传感器;按工作方式的不同可分为接触式和非接触式传感器;按工作原理的不同可分为惯性式和参数式传感器;按测量参数的不同又可分为位移、速度和加速度传感器等。本次设计采用的是机械振动测量中常用的压电式加速度传感器。加速度传感器主要是用于测量振动物体的振动加速度。压电式加速度传感器,由于体积小,重量轻,灵敏度高和频率范围宽等优点,在实际测量中应用最为普遍。4.3 电荷放大器 压电式加速度传感器输出的是电荷信号,而且比较微弱,不能直接被数据采集卡采集,所以需要用信号放大器来把较弱的电荷信号转化成较强的能被数据采集卡采集的电压信号。根
28、据所用的压电式加速度传感器压电材料连接方法的不同,与之配套的前置放大器分为电压放大器或电荷放大器。并联压电材料的压电传感器,适于选用电荷放大器,其电路特点是放大器输出电压只与传感器产生的电荷输入量及放大器反电容有关,而与构成电路的电缆所形成的分布电容和信号频率无关,这一特性使电荷放大器对传输线路的分布电容不敏感,传输距离可达数百米,因此受到普遍使用。对采用串联压电材料的压电传感器,则需要使用电压放大器,当改变连接传感器与电压放大器的电缆长度时,由于分布电容发生变化会引起测量误差,需通过重新校正放大器灵敏度加以消除,给测试带来不便。 电荷放大器是一种输出电压与输入电荷量成正比的放大器,它的核心是
29、一个具有电容负反馈、且输入阻抗极高的高增益运算放大器。4.4 A/D转换器TLC2543性能介绍 TLC2543是德州仪器公司生产的12位开关电容型逐次逼近模数转换器,它具有三个控制输入端,采用简单的3线SPI串行接口可方便地与微机进行连接,是12位数据采集系统的最佳选择器件之一。TLC2543与外围电路的连线简单,三个控制输入端为CS(片选)、输入/输出时钟(I/O CLOCK)以及串行数据输入端(DATA INPUT)。片内的14通道多路器可以选择11个输入中的任何一个或3个内部自测试电压中的一个,采样保持是自动的,转换结束,EOC输出变高。TLC2543的主要特性如下:11个模拟输入通道
30、;66ksps的采样速率;最大转换时间为10s;SPI串行接口;线性度误差最大为1LSB;低供电电流(1mA典型值);掉电模式电流为4A。TLC2543的引脚排列如图4-2所示。图 4-2TLC2543芯片引脚功能说明如下:AIN0AIN10:模拟输入端,由内部多路器选择。对4.1MHz的I/O CLOCK,驱动源阻抗必须小于或等于50;CS:片选端,CS由高到低变化将复位内部计数器,并控制和使能DATA OUT、DATA INPUT和I/O CLOCK。CS由低到高的变化将在一个设置时间内禁止DATA INPUT和I/O CLOCK;DATA INPUT:串行数据输入端,串行数据以MSB为前
31、导并在I/O CLOCK的前4个上升沿移入4位地址,用来选择下一个要转换的模拟输入信号或测试电压,之后I/O CLOCK将余下的几位依次输入;DATA OUT:A/D转换结果三态输出端,在CS为高时,该引脚处于高阻状态;当CS为低时,该引脚由前一次转换结果的MSB值置成相应的逻辑电平;EOC:转换结束端。在最后的I/O CLOCK下降沿之后,EOC由高电平变为低电平并保持到转换完成及数据准备传输;VCC、GND:电源正端、地;REF、REF:正、负基准电压端。通常REF接VCC,REF接GND。最大输入电压范围取决于两端电压差;I/O CLOCK:时钟输入/输出端。4.5 单片机模块4.5.1
32、 AT89C52性能介绍AT89C52是美国Atmel公司生产的低电压、高性能CMOS 8位单片机,片内含8KB的可反复檫写的程序存储器和12B的随机存取AT89C52是美国Atmel公司生产的低电压、高性能CMOS 8位单片机,片内含8KB的可反复檫写的程序存储器和12B的随机存取数据存储器(RAM),器件采用Atmel公司的高密度、非易失性存储技术生产,兼容标准MCS-51指令系统,片内配置通用8位中央处理器(CPU)和Flash存储单元,功能强大的AT89C52单片机可灵活应用于各种控制领域。AT89C52单片机属于AT89C51单片机的增强型,与Intel公司的80C52在引脚排列、硬
33、件组成、工作特点和指令系统等方面兼容。AT89C52单片机芯片如图4-3所示。图 4-3AT89C52芯片其主要工作特性是:l 片内程序存储器内含8KB的Flash程序存储器,可擦写寿命为1000次;l 片内数据存储器内含256字节的RAM;l 具有32根可编程I/O口线;l 具有3个可编程定时器;l 中断系统是具有8个中断源、6个中断矢量、2个级优先权的中断结构;l 串行口是具有一个全双工的可编程串行通信口;l 具有一个数据指针DPTR;l 低功耗工作模式有空闲模式和掉电模式;l 具有可编程的3级程序锁定位;l AT89C52工作电源电压为5(1+0.2)V,且典型值为5V;l AT89C5
34、2最高工作频率为24MHz。 主要管脚有:XTAL1(19 脚)和XTAL2(18 脚)为振荡器输入输出端口,外接12MHz 晶振。RST/Vpd(9 脚)为复位输入端口,外接电阻电容组成的复位电路。VCC(40 脚)和VSS(20 脚)为供电端口,分别接+5V电源的正负端。P0P3 为可编程通用I/O 脚,其功能用途由软件定义,在本设计中,P0 端口(3239 脚)被定义为N1 功能控制端口,分别与N1的相应功能管脚相连接,13 脚定义为IR输入端,10 脚和11脚定义为I2C总线控制端口,分别连接N1的SDAS(18脚)和SCLS(19脚)端口,12 脚、27 脚及28 脚定义为握手信号功
35、能端口,连接主板CPU 的相应功能端,用于当前制式的检测及会聚调整状态进入的控制功能。l P0 口 P0 口是一组8 位漏极开路型双向I/O 口,也即地址/数据总线复用口。作为输出口用时,每位能吸收电流的方式驱动8 个TTL逻辑门电路,对端口P0 写“1”时,可作为高阻抗输入端用。在访问外部数据存储器或程序存储器时,这组口线分时转换地址(低8 位)和数据总线复用,在访问期间激活内部上拉电阻。在Flash 编程时,P0 口接收指令字节,而在程序校验时,输出指令字节,校验时,要求外接上拉电阻。l P1 口 P1 是一个带内部上拉电阻的8 位双向I/O 口, P1 的输出缓冲级可驱动(吸收或输出电流
36、)4 个TTL 逻辑门电路。对端口写“1”,通过内部的上拉电阻把端口拉到高电平,此时可作输入口。作输入口使用时,因为内部存在上拉电阻,某个引脚被外部信号拉低时会输出一个电流(IIL)。与AT89C51 不同之处是,P1.0 和P1.1 还可分别作为定时/计数器2 的外部计数输入(P1.0/T2)和输入(P1.1/T2EX)。Flash 编程和程序校验期间,P1 接收低8 位地址。l P2 口 P2 是一个带有内部上拉电阻的8 位双向I/O 口,P2 的输出缓冲级可驱动(吸收或输出电流)4 个TTL 逻辑门电路。对端口P2 写“1”,通过内部的上拉电阻把端口拉到高电平,此时可作输入口,作输入口使
37、用时,因为内部存在上拉电阻,某个引脚被外部信号拉低时会输出一个电流(IIL)。在访问外部程序存储器或16 位地址的外部数据存储器(例如执行MOVX DPTR 指令)时,P2 口送出高8 位地址数据。在访问8 位地址的外部数据存储器(如执行MOVX RI 指令)时,P2 口输出P2 锁存器的内容。Flash 编程或校验时,P2亦接收高位地址和一些控制信号。l P3 口 P3 口是一组带有内部上拉电阻的8 位双向I/O 口。P3 口输出缓冲级可驱动(吸收或输出电流)4 个TTL 逻辑门电路。对P3 口写入“1”时,它们被内部上拉电阻拉高并可作为输入端口。此时,被外部拉低的P3 口将用上拉电阻输出电
38、流(IIL)。P3 口除了作为一般的I/O 口线外,更重要的用途是它的第二功能P3 口还接收一些用于Flash 闪速存储器编程和程序校验的控制信号。l RST 复位输入。当振荡器工作时,RST引脚出现两个机器周期以上高电平将使单片机复位。l ALE/PROG 当访问外部程序存储器或数据存储器时,ALE(地址锁存允许)输出脉冲用于锁存地址的低8 位字节。一般情况下,ALE 仍以时钟振荡频率的1/6 输出固定的脉冲信号,因此它可对外输出时钟或用于定时目的。要注意的是:每当访问外部数据存储器时将跳过一个ALE 脉冲。对Flash 存储器编程期间,该引脚还用于输入编程脉冲(PROG)。如有必要,可通过
39、对特殊功能寄存器(SFR)区中的8EH 单元的D0 位置位,可禁止ALE 操作。该位置位后,只有一条MOVX 和MOVC指令才能将ALE 激活。此外,该引脚会被微弱拉高,单片机执行外部程序时,应设置ALE 禁止位无效。l PSEN 程序储存允许(PSEN)输出是外部程序存储器的读选通信号,当AT89C52 由外部程序存储器取指令(或数据)时,每个机器周期两次PSEN 有效,即输出两个脉冲。在此期间,当访问外部数据存储器,将跳过两次PSEN信号。l EA/VPP 外部访问允许。欲使CPU 仅访问外部程序存储器(地址为0000HFFFFH),EA 端必须保持低电平(接地)。需注意的是:如果加密位L
40、B1 被编程,复位时内部会锁存EA端状态。如EA端为高电平(接Vcc端),CPU 则执行内部程序存储器中的指令。Flash 存储器编程时,该引脚加上+12V 的编程允许电源Vpp,当然这必须是该器件是使用12V 编程电压Vpp。l XTAL1 振荡器反相放大器的及内部时钟发生器的输入端。l XTAL2 振荡器反相放大器的输出端。4.5.2 A/D转换电路本部分是整个系统的核心部分,如图4-4采用单片机AT89C52与A/D转换芯片TLC2543相接。单片机是整个电路的核心,其外围电路包括复位电路、时钟电路。复位电路采用上电自动复位电路,高电平有效。时钟电路使用外部独立时钟振荡器所产生的时钟信号
41、,本设计采用11.0592MHz晶振。TLC2543对输入的模拟信号进行采集,转换结果由单片机接收。图4-4 A/D转换电路4.6 基于AT89C52单片机的串口硬件采集接口电路设计4.6.1 串口简述串行接口简称串口,也是串行通信接口(通常指COM接口),是采用串行通信方式的扩展接口。串行接口是指数据一位一位地顺序传送,其特点是通信线路简单,只要一对传输线就可以实现双向通信,从而大大降低了成本,特别适用于远距离通信。一条信息的各位数据被逐位按顺序传送的通讯方式称为串口通讯。串口通讯的特点是:数据位的传送,按位顺序进行,最少只需要一根传输线即可完成;成本低但传送速度慢。串口通讯的距离可以从几米
42、到几千米;根据信息的传送方向,串口通讯可以进一步分为单工、半双工和全双工三种。串口通信最重要的参数是波特率、数据位、停止位和奇偶校验。对于两个进行通信的端口,这些参数必须匹配: (1)波特率:这是一个衡量通信速度的参数。它表示每秒钟传送的bit的个数。例如200波特表示每秒钟发送200个bit。每当我们提到时钟周期时,我们指的就是波特率。例如,如果协议需要4800波特率,那么时钟就是4800Hz。这意味着串口通信在数据线上的采样率为4800Hz。 (2)数据位:这是衡量通信中实际数据位的参数。当计算机发送一个信息包,实际的数据不会是8位的,标准的值是5、7和8位。如何设置取决于你想传送的信息。
43、比如,标准的ASCII码是0127(7位)。扩展的ASCII码是0255(8位)。如果数据使用简单的文本(标准ASCII码),那么每个数据包使用7位数据。每个包是指一个字节,包括开始/停止位,数据位和奇偶校验位。由于实际数据位取决于通信协议的选取,术语“包”指任何通信的情况。 (3)停止位:用于表示单个包的最后一位。典型的值为1,1.5和2位。由于数据是在传输线上定时的,并且每一个设备有其自己的时钟,很可能在通信中两台设备间出现了小小的不同步。因此停止位不仅仅是表示传输的结束,并且提供计算机校正时钟同步的机会。适用于停止位的位数越多,不同时钟同步的容忍程度越大,但是数据传输率同时也越慢。 (4
44、)奇偶校验位:在串口通信中一种简单的检错方式。有四种检错方式:偶、奇、高和低。当然没有校验位也是可以的。对于偶和奇校验的情况,串口会设置校验位(数据位后面的一位),用一个值确保传输的数据有偶个或者奇个逻辑高位。例如,如果数据是011,那么对于偶校验,校验位为0,保证逻辑高的位数是偶数个。如果是奇校验,校验位为1,这样就有3个逻辑高位。高位和低位不真正的检查数据,简单置位逻辑高或者逻辑低校验。这样使得接收设备能够知道一个位的状态,有机会判断是否有噪声干扰了通信或者是否传输和接收数据是否不同步。RS-232(ANSI/EIA-232标准)是IBM-PC及其兼容机上的串行连接标准。可用于许多用途,比
45、如连接鼠标、打印机或者Modem,同时也可以接工业仪器仪表。用于驱动和连线的改进,实际应用中RS-232的传输长度或者速度常常超过标准的值。RS-232只限于PC串口和设备间点对点的通信。RS-232串口通信最远距离是50英尺。图 4-5 DB-9针连接头RS-232针脚的功能:数据:TXD(pin 3):串口数据输出(Transmit Data)RXD(pin 2):串口数据输入(Receive Data)握手:RTS(pin 7):发送数据请求(Request to Send)CTS(pin 8):清除发送(Clear to Send)DSR(pin 6):数据发送就绪(Data Send
46、 Ready)DCD(pin 1):数据载波检测(Data Carrier Detect)DTR(pin 4):数据终端就绪(Data Terminal Ready)地线:GND(pin 5):地线其他RI(pin 9):铃声指示4.6.2 串口硬件采集接口电路设计 该硬件接口电路由振动传感器、AT89C52单片机、晶振电路、复位电路、A/D转换电路、串行接口电路组成。如图4-6所示。图4-6硬件采集接口电路该数据采集硬件电路设计以单片机AT89C52为控制核心,通过RS-232与PC机通讯,实现整个数据采集系统的数据采集控制以及数据处理和存储。单片机通过指令来控制启动TLC2543,配置TLC2543的控制字,按位读取数据,完成数据转换,并将读来的数据通过自身的全双工串口发送出去。由RS-232串口送给计算机处理。上位机用PC机,软件采用La