基于单片机的风速风压测量系统.doc_第1页
基于单片机的风速风压测量系统.doc_第2页
基于单片机的风速风压测量系统.doc_第3页
基于单片机的风速风压测量系统.doc_第4页
基于单片机的风速风压测量系统.doc_第5页
已阅读5页,还剩30页未读 继续免费阅读

下载本文档

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

文档简介

基于单片机的风速风压测量系统摘要 本文在了解压力传感器工作原理以及单片机相关知识的前提下,介绍了一种新型的的风速风压测量系统。该系统采用单片机技术, 由压力传感器采集数据,对传感器模拟信号提取放大,并进行模数转换,单片机负责控制系统各部分器件的工作并对数字信号进行处理。然后将压力信息显示在LED接收面板上,同时将信息经串口发送给上位机软件,并由上位机显示出来。该系统以AT89S52作为微处理器,具有强大的数据计算处理能力及控制能力,此外由于其内部集成了多种硬件电路接口,有效地降低了成本,减小了装置体积。在压力传感器部分,选用霍尼韦尔公司的传感器,型号为24PCEFH2G13。此外,上位机通信显示部分采用LabVIEW虚拟仪器软件,采用可视化的图形编程语言,以在计算机屏幕上建立图形化的面板来替代常规的传统仪器面板。系统硬件设计是本课题的重点研究内容,系统分为四个模块,分别为电源模块、数据采集模块、信号处理模块、以及与上位机通信模块。硬件系统主要完成压力数据的采集、处理、显示、及原理图、PCB版图设计。软件部分也是本论文的主要工作所在,软件主要完成单片机工作、模数转换器件、以及上位机软件的控制。同时微控制器软件设计采用了模块化设计方法,增强了软件系统的可移植性、可读性和稳定性。经过实际的测量,本系统可对外界风速风压进行较为准确的测量。本装置具有高灵敏度、小型、简单、低耗等优点。其测量精度、稳定性和可靠性都高于传统的测量仪器。关键词:单片机,风压,风速,数据采集,数据处理, 压力传感器,LED显示,上位机THE SYSTEM OF WIND PRESSURE AND SPEED BASED ON THE SINGLE-CHIP COMPUTERABSTRACTIn this article, with the knowledge about the work principle of the pressure sensor and knowledge about the single - chip computer technology, we introduce a new system of wind pressure and speed measurement, based on single-chip computer. The system uses microcomputer technology, the data collected by the pressure sensor, the sensor analog signal extraction amplification and for analog-digital conversion, microcomputer control system for the work of the various parts of the device and digital signal for processing. Then the pressure of information displayed in the LED panel on the receiver, while the information sent to the host computer via serial port software, shown by the host computer. As microprocessors of the system, AT89S52 has powerful data processing power and control ability, in addition to its internal integration of a variety of hardware interfaces, effectively reduces the cost and reduce the device volume. Some of the pressure sensor, use Honeywells sensor model 24PCEFH2G. In addition, the host computer communication showed that some use LabVIEW virtual instrument software using a visual graphical programming language to build a computer screen graphical panel to replace the traditional conventional instrument panel. System hardware design is the focus of research content in this issue, the system is divided into four modules, namely, power supply modules, data acquisition module, signal processing module, as well as with the host computer communication module. Hardware system accomplished the pressure data acquisition, processing, display, and schematics, PCB layout. Software part is where the main work of this thesis, the software was completed for SCM work, ADC parts, and PC software control. Micro-controller software design also uses a modular design methods, software portability, readability and stability. After the actual measurement, the system can be more accurate external wind pressure measurements. This device has high sensitivity, small, simple, low cost and so on. The measurement is more accuracy, stability and reliability than traditional measuring instruments. Keywords: microcontroller, air pressure, wind speed, data acquisition, data processing, pressure sensor, LED display, PC 第一章 引言1-1 课题背景及研究意义风在日常生活中得到越来越广泛的应用,但是人们目前还无法对其进行极为有效的控制,但是风速的变化和分布也是有一定的规律可循的。简言之,风速可分解为缓慢变化的分量和快速变化的分量。在一定的时间尺度上,风俗的平均值可认为是不变的,是缓慢变化的量。风速和风压的测量在很多领域都有很重要的作用, 如环境检测和控制、天气预报、运动休闲、大气环流测量、局部热控系统环流状态测试等方面。而且风压和风速是日常生活中很关注的一件事情, 对于航海、航空、渔业和农业以及风力发电站等部门来说, 风压和风速的具体大小则更为重要。随着检测技术的发展以及人们对环境要求的提高,传统的机械式风速仪已不能满足测量精度和功能的要求。因此,有必要研制一种有一定风速测量范围, 能同时测风压的传感器。由于环境空间很小,要求传感器尺寸尽可能小,以减少对气流的影响。采用基于压力传感器的单片机测量系统能省去A/D转换器,电路结构简单、编程处理简单、体积小、重量轻、使用方便 ,便用于远程风速风压测压。从而使其具有许多明显的优点:便于集成和批量化生产, 从而保证了传感器性能的重复性和均匀性;降低了传感器校准的复杂性和频繁性;还可以实现传感器的多功能化、系统化和智能化。在工业生产中,经常使用压力传感器来监测和控制生产过程中的各个参数。这些监测和控制系统均离不开数据信息的传输。很多情况下,由于条件所限,采用普通有线电缆引出信号是无法满足要求或者跟本无法实现的。一个比较好的解决方案就是采用无线传输技术,将采集的数据通过无线链路发送到数据接收端,构成无线数据传输系统。目前许多应用领域都采用无线的方式进行数据传输,这些领域涉及到小型无线网络、工业数据采集系统、无限遥控系统、非接触RF智能卡等。无线传输有一些独特的优势,首先,无线通信的数据 传输距离比较远;其次,无线通信设备在使用过程中不需要连接通信电缆,简化了工作流程,降低了成本。因此无线数据采集系统的开发有着非常重要的现实意义。1-2风速风压传感器发展现状 目前国内外使用的风压和风速传感器其传感部件大多以机械类传感部件为主, 此类传感器一般体积大、测量精度不高、灵敏度较低、响应时间也较长, 价格也相当昂贵。而且传统的风速计控制和测量一般采用片内或片外电路方式实现,电路结构复杂,能够测量风速大小,但是很难测量和计算风压,而且系统采用的较多周边元器件,占用面积大。对于风速的测量一般有三种方法。其一是利用一维风速传感器, 将传感器经过特殊的封装再辅以外部机械传动装置来实现二维风向的测量, 或者单纯利用机械传感装置(如风向标)。其二是单独制作硅二维风向传感器(风向和风速分别由各自的传感器来测量)。其三是二维风向和风速传感器由一个传感部件构成。本文介绍的风速与风压智能测定装置是采用高动态性能压力传感器1,2,并结合单片机技术进行设计,其测量精度、稳定性和可靠性都较高。相对于其他方法而言, 此传感器测量风压和风速是一次性完成的, 无须考虑二者在测量时间上的不同步而导致的测量误差, 而且避免了繁琐的机械传动装置。1-3 课题研究内容在工业生产中, 风压值是经常需要采集的一个参数。由于风机经常离控制室的距离较远, 其数据采集比较困难。本课题主要内容是由压力传感器采集数据,对传感器模拟信号提取放大,并进行模数转换,单片机负责控制系统各部分器件的工作并对数字信号进行处理。然后将压力信息显示在LED接收面板上,同时将信息经串口发送给上位机软件,并由上位机显示出来。该设计由单片机控制的,过程完全由软件控制完成,中间不需人工干预,提高了系统的测量精度和可靠性。系统硬件设计是本课题的重点研究内容,硬件结构整体设计是对方案设计的具体化实现。本系统采用模块化设计的思想,根据功能对系统进行模块划分,设计中考虑到各个模块之间接口的可靠性以及较强的抗干扰能力。系统分为四个模块,分别为电源模块、数据采集模块、信号处理模块、以及与上位机通信模块。硬件系统主要完成压力数据的采集、处理、显示、及原理图、PCB版图设计。软件部分也是本论文的主要工作所在,软件主要完成单片机工作、模数转换器件、以及上位机软件的控制。同时微控制器软件设计采用了模块化设计方法,增强了软件系统的可移植性、可读性和稳定性。图1.1 基于单片机的风速风压测量系统Fig. 1.1 THE SYSTEM OF WIND PRESSURE AND SPEED BASED ON THE SINGLE-CHIP COMPUTER第二章 系统硬件设计2-1 MCU部分MCU是整个系统的核心,它直接关系到系统的功能、速度、成本、功耗和体系结构等重要方面,所以要慎重选择。如果系统工作任务较多,计算量较大,就要考虑使用16位。如果任务量更繁重,就要考虑采32位ARM处理器。本系统数据计算量较小,对内存要求较低,同时考虑到实现成本,因此采用 52系列8位单片机7,8,9即可完成任务。2-1-1 AT89S52型单片机主要性能本课题设计中选用的是Atmel公司的AT89S52型单片机,此款单片机有如下特点1、 Program Flash 64K,可以满足设计需要。2、 At89s52 是一种低功耗、高性能CMOS8位微控制器,具有 8K 在系统可编程Flash 存储器。片上Flash允许程序存储器在系统可编程,亦适于 常规编程器。在单芯片上,拥有灵巧的8 位CPU 和在系统 可编程Flash,使得AT89S52为众多嵌入式控制应用系统提 供高灵活、超有效的解决方案。3、 使用Atmel 公司高密度非 易失性存储器技术制造,与工业80C51 产品指令和引脚完 全兼容。4、 AT89S52具有以下标准功能: 8k字节Flash,256字节RAM, 32 位I/O 口线,看门狗定时器,2 个数据指针,三个16 位 定时器/计数器,一个6向量2级中断结构,全双工串行口, 片内晶振及时钟电路。5、 另外,AT89S52 可降至0Hz 静态逻 辑操作,支持2种软件可选择节电模式。空闲模式下,CPU 停止工作,允许RAM、定时器/计数器、串口、中断继续工 作。掉电保护方式下,RAM内容被保存,振荡器被冻结, 单片机一切工作停止,直到下一个中断或硬件复位为止。8 位微控制器 8K 字节在系统可编程 Flash AT89S52 2-1-2 AT89S52型单片机结构概述P0 口:P0口是一个8位漏极开路的双向I/O口。作为输出口,每位能驱动8个TTL逻辑电平。对P0端口写“1”时,引脚用作高阻抗输入。当访问外部程序和数据存储器时,P0口也被作为低8位地址/数据复用。在这种模式下, P0具有内部上拉电阻。 在flash编程时,P0口也用来接收指令字节;在程序校验时,输出指令字节。程序校验时,需要外部上拉电阻。 P1 口:P1 口是一个具有内部上拉电阻的8 位双向I/O 口,p1 输出缓冲器能驱动4 个TTL 逻辑电平。对P1 端口写“1”时,内部上拉电阻把端口拉高,此时可以作为输入口使用。作为输入使用时,被外部拉低的引脚由于内部电阻的原因,将输出电流(IIL)。 此外,P1.0和P1.2分别作定时器/计数器2的外部计数输入(P1.0/T2)和时器/计数器2 的触发输入(P1.1/T2EX),具体如下表所示。在flash编程和校验时,P1口接收低8位地址字节。 引脚号第二功能 :P1.0 T2(定时器/计数器T2的外部计数输入),时钟输出 P1.1 T2EX(定时器/计数器T2的捕捉/重载触发信号和方向控制) P1.5 MOSI(在系统编程用) P1.6 MISO(在系统编程用) P1.7 SCK(在系统编程用) P2 口:P2 口是一个具有内部上拉电阻的8 位双向I/O 口,P2 输出缓冲器能驱动4 个TTL 逻辑电平。对P2 端口写“1”时,内部上拉电阻把端口拉高,此时可以作为输入口使用。作为输入使用时,被外部拉低的引脚由于内部电阻的原因,将输出电流(IIL)。在访问外部程序存储器或用16位地址读取外部数据存储器时,P2 口送出高八位地址。在这种应用中,P2 口使用很强的内部上拉发送1。在使用8位地址访问外部数据存储器时,P2口输出P2锁存器的内容。在flash编程和校验时,P2口也接收高8位地址字节和一些控制信号。 P3 口:P3 口是一个具有内部上拉电阻的8 位双向I/O 口,p2 输出缓冲器能驱动4 个 TTL 逻辑电平。对P3 端口写“1”时,内部上拉电阻把端口拉高,此时可以作为输入口使用。作为输入使用时,被外部拉低的引脚由于内部电阻的原因,将输出电流(IIL)。 P3口亦作为AT89S52特殊功能(第二功能)使用,如下表所示。在flash编程和校验时,P3口也接收一些控制信号。 端口引脚 第二功能P3.0 RXD(串行输入口)P3.1 TXD(串行输出口)P3.2 INTO(外中断0)P3.3 INT1(外中断1)P3.4 TO(定时/计数器0)P3.5 T1(定时/计数器1)P3.6 WR(外部数据存储器写选通)P3.7 RD(外部数据存储器读选通)此外,P3口还接收一些用于FLASH闪存编程和程序校验的控制信号。RST复位输入。当振荡器工作时,RST引脚出现两个机器周期以上高电平将是单片机复位。ALE/PROG当访问外部程序存储器或数据存储器时,ALE(地址锁存允许)输出脉冲用于锁存地址的低8位字节。一般情况下,ALE仍以时钟振荡频率的1/6输出固定的脉冲信号,因此它可对外输出时钟或用于定时目的。要注意的是:每当访问外部数据存储器时将跳过一个ALE脉冲。对FLASH存储器编程期间,该引脚还用于输入编程脉冲(PROG)。如有必要,可通过对特殊功能寄存器(SFR)区中的8EH单元的D0位置位,可禁止ALE操作。该位置位后,只有一条MOVX和MOVC指令才能将ALE激活。此外,该引脚会被微弱拉高,单片机执行外部程序时,应设置ALE禁止位无效。PSEN程序储存允许(PSEN)输出是外部程序存储器的读选通信号,当AT89C52由外部程序存储器取指令(或数据)时,每个机器周期两次PSEN有效,即输出两个脉冲,在此期间,当访问外部数据存储器,将跳过两次PSEN信号。EA/VPP外部访问允许,欲使CPU仅访问外部程序存储器(地址为0000H-FFFFH),EA端必须保持低电平(接地)。需注意的是:如果加密位LB1被编程,复位时内部会锁存EA端状态。如EA端为高电平(接Vcc端),CPU则执行内部程序存储器的指令。FLASH存储器编程时,该引脚加上+12V的编程允许电源Vpp,当然这必须是该器件是使用12V编程电压Vpp。图2.1 单片机电路Fig. 2.1 The Circuit of MCU2-2压力传感器2-2-1压力传感器的性能参数及选用传感器是现代检测和控制系统的重要组成部分。传感器的作用就是把被测量的非电量信号(如力、热、声、磁和光等物理量)转换成与之成比例的电量信号(如电压和电流)。压力传感器可以将测量点的差压信号转化成电信号。实际的系统中所应用的传感器既有电压输出的,也有电流输出的,而一般的数据采集都是采集电压信号11,12, 电压信号易于测量;可以用万用表或示波器很简便的测量;也易于观察;用示波器可以很直观的观察信号的变化情况;还易于控制。在条件允许的条件下,优先选取电压输出的传感器。压力传感器有一些重要的特性参数,在选用压力传感器时需要参考。1、测量范围:在允许误差限内被测量值的范围成为测量范围。准确度:被测量的测量结果与真值间的一致程度。2、重复性:相同测量条件下,对于同一被测量进行连续多次测量所得结果之间的一致性。迟滞:当被测量值增加或者减少时,输出中出现的最大差值。3、零点漂移:在规定的时间间隔及标准条件下,零点输出值的变化。由于周围温度变化引起的零点漂移称为热零点漂移。本文选用的压力传感器选用霍尼韦尔公司的传感器,型号为24PCEFH2G13。特点:专利的导电密封,可以测量负压. 产品运用:医疗仪器、气压测量、HVAC控制、气动控等 电气连接:PCB安装 压力类型:差压压力量程:0.5PSI 供电电源:012VDC 精确度:0.25%FS 工作温度:-4085 补偿温度:无 2-2-2惠斯通电桥压阻式压力传感器的四个检测电阻多接为惠斯通电桥形式如图2.3所示,其中V为被测量的压力所转换成的电压信号,假设四个扩散电阻的起始阻值都相等且为R,当有应力时,两个电阻阻值增加,增量为,另两个电阻阻值减小,减小量为,由于温度影响,使每个电阻值都有的变化量。硅晶体传感器的主要特性是灵敏度和线性度当外界条件发生变化时传感器的灵敏度和线性度均要受到一定的影响其中非线性与掺杂浓度温度及压力有关传感器输出的温度漂移一般是不可避免的,但可以通过其他技术手段加以控制本文利用温度系数为正值的电阻和温度系数为负值的电阻所组成的双惠斯登电桥来减小温度漂移从而提高压力传感器输出精度 图2.2 压力传感器电桥电路Fig. 2.2 The electronic bridge circuit of pressure sensor引脚编号A脚:VS(+) 被表明于传感器表面B脚:输出(+)C脚:接地(-)D脚:输出(-)电桥的输出电压与电阻变化成正比,与恒流源电流成正比,但与温度无关,因此测量不受温度的影响电桥的输出为:2-3放大电路智能仪表仪器通过传感器输入的信号,一般都具有“小”信号的特征:信号幅度很小(毫伏甚至微伏量级),且常常伴随有较大的噪声。对于这样的信号,电路处理的第一步通常是采用仪表放大器先将小信号放大。放大的最主要目的不是增益,而是提高电路的信噪比;同时仪表放大器电路能够分辨的输入信号越小越好,动态范围越宽越好。仪表放大器电路性能的优劣直接影响到智能仪表仪器能够检测的输入信号范围。仪表放大器与一般的通用运算放大器相比,性能有更为特殊的要求,表现在:1、高共模抑制比:共模抑制比(CMRR) 则是差模增益( A d) 与共模增益( Ac) 之比,即:CMRR = 20lg | Ad/ Ac | dB ;仪表放大器具有很高的共模抑制比,CMRR 典型值为70100 dB 以上。 2、高输入阻抗:仪表放大器必须具有极高的输入阻抗,仪表放大器的同相和反相输入端的阻抗都很高而且相互十分平衡,其典型值为1091012. 3、低噪声:仪表放大器必须能够处理非常低的输入电压,因此仪表放大器不能把自身的噪声加到信号上,在1 kHz 条件下,折合到输入端的输入噪声要求小于10 nV/ Hz. 4、低线性误差 :输入调和比例系数误差能通过外部的调整来修正,但是线性误差是器件固有缺陷,它不能由外部调整来消除。一个高质量的仪表放大器典型的线性误差为0. 01 % ,有的甚至低于0. 0001 %. 5、低失调电压和失调电压漂移 仪表放大器的失调漂移也由输入和输出两部分组成,输入和输出失调电压典型值分别为100V 和2 mV. 6、低输入偏置电流和失调电流误差双极型输入运算放大器的基极电流,FET 型输入运算放大器的栅极电流,这个偏置电流流过不平衡的信号源电阻将产生一个失调误差。双极型输入仪表放大器的偏置电流典型值为1 nA50 pA ;而FET输入的仪表放大器在常温下的偏置电流典型值为50 pA. 7、充裕的带宽 仪表放大器为特定的应用提供了足够的带宽,典型的单位增益小信号带宽在 500 kHz4 MHz 之间。 8、具有“检测”端和“参考”端仪表放大器的独特之处还在于带有“检测”端和“参考”端,允许远距离检测输出电压而内部电阻压降和地线压降( IR) 的影响可减至最小。我们选用了美国ADI公司开发的性能优异的仪表放大器AD623。AD623是美国ADI公司最新推出的一种低价格、单电源、输出摆幅能达到电源电压(通常称之为电源限输出)的仪表放大器17。它的主要特点18,19,20如下:1. 使用一只外接电阻设置增益,使可高达1000,从而给用户带来了极大方便。2. 具有优良的直流特性。3具有优良的共模抑制比CMRR(且它随增益增加而增加,使误差最小)。4其输入共模范围很宽,允许比地电位低150的共模电压。单电源供电(+3.012)能达到最佳性能。但双电源供电(2.56.0)也能提供优良的性能。5低功耗(电源电流最大575)、宽电源范围和电源限输出特性非常适合电池供电的应用场合。6可取代分立器件构成的仪表放大器,具有线性度优良、温度稳定性高和体积小、可靠性高等优点。AD62321能在单电源(3V到12V)下提供满电源幅度输出。AD623允许使用单个增益设置电阻进行增益编程,在无外接电阻条件下,AD623被设置为单位增益(G1),在接入外接电阻后,AD623可编程设置增益,其增益最高可达1000倍。AD623可取代分立的仪表放大器设计,且在最小的空间内提供很好的线性度、温度稳定性和可靠性。差分输出为:。可以采用单电源供电的方式(Vs3.0V到12V,Vs0)。系统采用的电源电压为5V。放大电路如下图所示:压力传感器的输出信号送入AD623的2、3脚,放大的倍数根据需要通过1、8脚调节。AD623对信号放大后从5、6脚输出送到A/D转化器进行模数转换器。图2.3放大电路Fig. 2.3 The amplifying circuit2-4 AD转换电路A/D 转换器主要功能是将采集到的模拟量转换为计算机识别的数字量,它是整个系统中必不可少的环节。ADC083222是一款较为常用的A/D转换芯片,它由美国国家半导体公司生产,具有8位分辨率、双通道A/D转换。ADC0832 23具有以下特点:(1)8位分辨率;(2)双通道 A/D 转换;(3)输入输出电平与 TTL/CMOS 相兼容;(4)5V 电源供电时输入电压在 05V 之间;(5)工作频率为 250KHZ,转换时间为32S;(6)一般功耗仅为 15mW;(7)8P、14PDIP(双列直插)、PICC 多种封装;(8)商用级芯片温宽为0C to +70C,工业级芯片温宽为40C to +85C;芯片接口说明:(1)CS_ 片选使能,低电平芯片使能。(2)CH0 模拟输入通道 0,或作为 IN+/-使用。(3)CH1 模拟输入通道 1,或作为 IN+/-使用。(4)GND 芯片参考 0 电位(地)。(5)DI 数据信号输入,选择通道控制。(6)DO 数据信号输出,转换数据输出。(7)CLK 芯片时钟输入。(8)Vcc/REF 电源输入及参考电压输入(复用)ADC0832为8位分辨率A/D转换芯片,其最高分辨可达256级,可以适应一般的模拟量转换要求。其内部电源输入与参考电压的复用,使得芯片的模拟电压输入在 05V 之间。芯片转换时间仅为32S,据有双数据输出可作为数据校验,以减少数据误差,转换速度快且稳定性能强。独立的芯片使能输入,使多器件挂接和处理器控制变的更加方便。通过 DI 数据输入端,可以轻易的实现通道功能的选择单片机对ADC0832 的控制原理:正常情况下ADC0832 与单片机的接口应为4 条数据线,分别是CS、CLK 、DO、DI。但由于DO 端与DI端在通信时并未同时有效并与单片机的接口是双向的,所以电路设计时可以将DO 和DI 并联在一根数据线上使用。(见图3) 当ADC0832 未工作时其CS输入端应为高电平,此时芯片禁用,CLK 和DO/DI 的电平可任意。当要进行A/D 转换时,须先将CS 使能端置于低电平并且保持低电平直到转换完全结束。此时芯片开始转换工作,同时由处理器向芯片时钟输入端CLK 输入时钟脉冲,DO/DI 端则使用DI 端输入通道功能选择的数据信号。在第1个时钟脉冲的下沉之前DI 端必须是高电平,表示启始信号。在第2、3个脉冲下沉之前DI端应输入2 位数据用于选择通道功能。2-5 数码管显示部分采集到的数据由单片机处理完成后,需要显示出来,以供分析与统计。目前显示器件的种类很多,性能也各异,但在单片机测控领域,常用的显示器件基本上是LED (Light Emiting Diode)显示器和LCD(Liquid Crystal Display)显示器两种。LED显示器是主动发光式的显示器,由发光二极管构成或者LED数码管组成46。数码管按段数分为七段数码管和八段数码管,八段数码管比七段数码管多一个发光二极管单元(多一个小数点显示);按能显示多少个“8”可分为1位、2位、4位等等数码管;按发光二极管单元连接方式分为共阳极数码管和共阴极数码管。共阳数码管是指将所有发光二极管的阳极接到一起形成公共阳极(COM)的数码管。共阳数码管在应用时应将公共极COM接到+5V,当某一字段发光二极管的阴极为低电平时,相应字段就点亮。当某一字段的阴极为高电平时,相应字段就不亮。共阴数码管是指将所有发光二极管的阴极接到一起形成公共阴极(COM)的数码管。共阴数码管在应用时应将公共极COM接到地线GND上,当某一字段发光二极管的阳极为高电平时,相应字段就点亮。当某一字段的阳极为低电平时,相应字段就不亮。数码管要正常显示,就要用驱动电路来驱动数码管的各个段码,从而显示出我们要的数字,因此根据数码管的驱动方式的不同,可以分为静态式和动态式两类。 静态显示驱动:静态驱动也称直流驱动。静态驱动是指每个数码管的每一个段码都由一个单片机的I/O端口进行驱动,或者使用如BCD码二-十进制译码器译码进行驱动。静态驱动的优点是编程简单,显示亮度高,缺点是占用I/O端口多,如驱动5个数码管静态显示则需要5840根I/O端口来驱动,要知道一个89S51单片机可用的I/O端口才32个呢:),实际应用时必须增加译码驱动器进行驱动,增加了硬件电路的复杂性。 动态显示驱动:数码管动态显示接口是单片机中应用最为广泛的一种显示方式之一,动态驱动是将所有数码管的8个显示笔划a, b, c, d, e, f, g, h的同名端连在一起,另外为每个数码管的公共极COM增加位选通控制电路,位选通由各自独立的I/O线控制,当单片机输出字形码时,所有数码管都接收到相同的字形码,但究竟是那个数码管会显示出字形,取决于单片机对位选通COM端电路的控制,所以我们只要将需要显示的数码管的选通控制打开,该位就显示出字形,没有选通的数码管就不会亮。通过分时轮流控制各个数码管的COM端,就使各个数码管轮流受控显示,这就是动态驱动。在轮流显示过程中,每位数码管的点亮时间为12ms,由于人的视觉暂留现象及发光二极管的余辉效应,尽管实际上各位数码管并非同时点亮,但只要扫描的速度足够快,给人的印象就是一组稳定的显示数据,不会有闪烁感,动态显示的效果和静态显示是一样的,能够节省大量的I/O端口,而且功耗更低。图2.4 数字显示电路Fig. 2.4 Data Display Circuit本电路使用的为4位共阳极LED数码管,并采取动态显示。数码管的位选驱动由单片机P0.4P0.6口输出控制,段选驱动由P0.0P0.3口输出控制。SN74HC138N是3/8译码器,即对3个输入信号进行译码,得到8个输出状态。 OE1,OE2A,OE2B,为数据允许输出端,OE2A,OE2B低电平有效。OE1高电平有效。A,B,C为译码信号输入端,Y0Y7为译码输出端,低电平有效。2-6 串行接口电路 微型计算机主机与外部设备的连接,基本上使用了两类接口;串行接口与并行接口。 并行接口是指数据的各位同时进行传送,其特点是传输速度快,但当传输距离较远、位数又多时,导致了通信线路复杂且成本提高。串行通信是指数据一位位地顺序传送,其特点是通信线路简单,只要一对传输线就可以实现双向通信,并可以利用电话线,从而大大降低了成本,特别适用于远距离通信,但传送速度较慢。 串行通信本身又分为异步通信与同步通信两种。 串行通信线路上传送的是数字信号,表示传送数字信号能力的指标为数据速率(Data Rate),其单位为bps,即每秒钟传送的二进制位数。 串行接口标准: 目前普遍采用的一种串行接口标准是RS232C标准。RS232C接口标准采用25个引脚的连接器(D型插座)。RS-422A和RS-485传输距离远,抗干扰能力强,适合工业控制场合的远距离多机之间通讯;RS-232C传输速率较低(最大为20kbit/s),传输距离相对较短(最大距离为30m),且只能进行点对点的通讯,但其电路简单,成本低廉,比较适合要求不高的场合。目前RS-232是PC机与通信工业中应用最广泛的一种串行接口。RS-232被定义为一种在低速率串行通讯中增加通讯距离的单端标准。RS-232采取不平衡传输方式,即所谓单端通讯。串行通信又分为异步通信和同步通信44。本系统采用异步通信,8位可变波特率传输方式,选用波特率为115200。由于LPC2131是3.3供电,所以要使用SP3232E进行RS-232电平转换。SP3232E是3V工作电源的RS转换芯片。电路图如图2.5所示。图2.5串行接口电路Fig. 2.5 Serial interface circuit2-7 硬件电路设计工具Protel2-3-1 Protel的特点本系统的所有电路原理图和PCB印刷电路都是通过Protel99SE软件设计的。它具有原理图绘制、印刷电路板图设计、层次原理图制作、报表产生、电路仿真等等功能,可以极方便、灵活地帮助设计人员完成诸多电路工程图的设计与制作。随着计算机技术的发展,计算机软件在电路设计中的应用越来越广泛,OrCad、Protel等都是人们熟悉的常用EDA 软件。Protel99SE是Protel公司推出的最新版本,应用于电路原理图设计、电路板设计等,他基于Windows环境,功能强大,人机界面友好,能让人们在具有最完整的功能环境下,提升设计上的品质和效率。Protel99 主要由两大部分组成:原理图设计系统。它主要用于电路原理图的设计,是印制电路板的设计的基础和前提。它提供了数万种标准元件和大量的封装形式,可以满足绝大多数情况的需求。元件的连线使用了自动化的画线工具,然后通过功能强大的电气法则检测,对所绘制的原理图进行快速检查。这些功能大大简化了原理图设计工作,提高了工作效率。它包括分层次组织的设计环境,强大的元件及元件库的组织功能,方便易用的连线工具,强大的编辑功能,设计检验,与印制电路板设计系统的紧密连接,自定义原理图模块和高质量的输出。印制电路板设计系统。该部分用于印制电路板的设计,产生最终的 PCB 文件,可以直接用于印制电路板的生产。Protel99的印制电路板编辑器为用户提供了更便捷的设计印制电路板的方法。PCB 编辑器通过它的交互性编辑环境实现了自动化设计与手动设计的有机结合。PCB 编辑器充分满足了用户对速度的要求,通过对功能强大的设计法则的设置,用户可以有效地控制印制电路板的设计过程。对于特别复杂的、电脑难以自动完成的布线工作,用户可以手工修改自动布线的结果。2-3-2 Protel 的设计流程和要点31Protel 软件设计流程如图2.13所示首先建立原理图设计环境和原理图文件;在此环境下,在 PROTEL 元件库中查找元件并放置在合适的位置。然后进行布局和连线完成原理图。最后检查布局与连线的正确性。确定无误后形成“*.NET”网表文件,以备随后进行自动 PCB 设计及检查使用。放置元件时,若所需元器件无法在库中找到,则应该进行元器件的制作。元器件的制作可以在原理图元件库文件编辑环境下,运用“PLACETRACK”、“PLACEPINS等命令实现元器件的制作。布局时先把所需的元器件调出并进行简单布局,根据基本布局要求,调整元件之间的连接关系。图中元素要进行正确的标注,应该采用“NETLABEL”命令把标注放在相应走线的左上角。图2.13 Protel设计流程Fig2.13 The Design Based On Protel Application2-3-3 PCB设计流程首先建立PCB文件进入PCB涉及环境,接着确定PCB外形及尺寸,然后进行PCB原件布局和布线,最后检查结果并形成网表文件,准备生产或试制。PCB外形及尺寸的确定要根据所设计的 PCB 在所处的位置、占据的空间大小、外观以及与其它部分的关系来进行,一般使用 PLACETRACK 等命令在相关层画出 PCB 的外形。设计工作的最后检查很重要,必须对所设计的 PCB 进行检查,这既包括原理上的检查,还包括相互间连接和位置合理性的检查,检查完成后才能生成网表文件。在 PROTEL99SE 中的 PCB 的元器件非常丰富,常用的元器件在系统内已经集成,可以直接调用,但对于一些特殊的元器件则需自行制作。为此必须进入元器件库的编辑环境建立了一个相应的元器件库文件。在元器件库编辑环境中,选择“NEW COMPONENT”命令就可以进行元器件的设计;可以用 PLACEPAD 等命令在一定的位置画出相应的焊盘,双击并编辑成所需的焊盘(包括焊盘形状、大小、内径尺寸及角度等),另外还应标出焊盘相应的管脚名;以元器件的适当位置为参考点,以自定的元器件名存入元器件库中就完成了元器件的制作。布局和布线的合理性是 PCB 设计能否成功的关键之一,布局时要首先确定与其它PCB 或设备的接口元器件的位置,然后确定与连接和配合有关的元器件的位置(特别是那些体积较大的元器件)或一些有特殊要求的元器件的位置,然后应该根据设计进行功能块的划分,同一功能块的元器件应尽量放置在一起。布局的实现方法可以采用PLACECOMPNENT 命令在适当的位置放置合适的元器件。旋转元器件的方法是在元器件未固定下来之前按空格键,这样可以将元器件以 90(或 180、270)旋转,但若想旋转任意角度则需对元器件进行编辑,在“PROPERTY”对话框中的“RATATION”选项中填入需旋转的角度即可。布线的总体原则是:信号线的粗细应尽量一致并尽量短,信号线不要拐直角,电源线与地线应尽量粗,还应注意各功能模块间最好以地线进行隔离等。布线可以采用 PLACETRACK 命令进行,线条的粗细可通过对话框直接编辑线条的尺寸。布线与布局是紧密联系互相影响的,在进行布线时,往往需要对元器件位置进行调整以利于更好地布线,因此,布局与布线可以说是同时完成的。自动布线结束后,可能存在一些令人不满意的地方,可以通过手工调整,修改电路板中的瑕疵。第三章 系统软件设计3-1 数据采集端软件设计实现本系统的软件设计主要包括数据采集部分,数据发射部分,上位机软件,这些软件相互配合,对各自的工作状态进行设置。3-1-1 数据发送端软件设计3233压力传感器数据采集端软件包括监控主程序、初始化程序、压力的数据采集程序、数码显示驱动程序、上位机显示程序等部分组成,源程序流程图如图3.1所示。图3.1 发送端程序流程图Fig 3.1 The flowing figure of transmitting circuit3-2 器件驱动程序3-2-1 模数转换芯片驱动34单片机对ADC0832的控制原理:正常情况下ADC0832 与单片机的接口应为4条数据线,分别是CS、CLK、DO、DI。但由于DO端与DI端在通信时并未同时有效并与单片机的接口是双向的,所以电路设计时可以将DO和DI并联在一根数据线上使用。当ADC0832未工作时其CS输入端应为高电平,此时芯片禁用,CLK 和DO/DI的电平可任意。当要进行A/D转换时,须先将CS使能端置于低电平并且保持低电平直到转换完全结束。此时芯片开始转换工作,同时由处理器向芯片时钟输入端CLK输入时钟脉冲,DO/DI 端则使用DI端输入通道功能选择的数据信号。在第1个时钟脉冲的下沉之前 DI端必须是高电平,表示启始信号。在第2、3个脉冲下沉之前DI端应输入2位数据用于选择通道功能,到第3个脉冲的下沉之后DI端的输入电平就失去输入作用,此后DO/DI端则开始利用数据输出DO进行转换数据的读取。从第4个脉冲下沉开始由DO端输出转换数据最高位DATA7,随后每一个脉冲下沉DO端输出下一位数据。直到第11个脉冲时发出最低位数据 DATA0,一个字节的数据输出完成。也正是从此位开始输出下一个相反字节的数据,即从第11个字节的下沉输出DATD0。随后输出8位数据,到第19个脉冲时数据输出完成,也标志着一次A/D转换的结束。最后将CS置高电平禁用芯片,直接将转换后的数据进行处理就可以了。更详细的时序说明请见图ADC0832数据读取程序流程:图3.2 程序控制流程图Fig. 3.2 The flowing figure of program controlADC0832驱动程序:#include #include #define uchar unsigned char#define uint unsigned int/端口定义sbit clk_0832=P12; /0832时钟sbit cs_0832=P10; /0832片选sbit ADDO=P11; /ADO and ADIuchar i,simulation=0x00;/子函数声明uchar ADC0832();uchar ADC0832()/0832初始化 ADDO=1; clk_0832=0; cs_0832=0; clk_0832=1; /1 clk_0832=0; clk_0832=1; /2 clk_0832=0; ADDO=0; clk_0832=1; /3 clk_0832=0; ADDO=1;/取模拟量 for(i=0;i=7;i+) clk_0832=1; simulation=simulation1; clk_0832=0; simulation=simulation|ADDO; cs_0832=1; return simulation;3-3-1 串口通讯子程序通讯子程序主要完成系统与PC之间的通讯,将系统测量温度数值上传到上位机进行保存。串口通信的概念非常简单,串口按位(bit)发送和接收字节。尽管比按字节(byte)的并行通信慢,但是串口可以在使用一根线发送数据的同时用另一根线接收数据。它很简单并且能够实现远距离通信。在串口通讯中,收发双方对发送和接收的数据速率具有一定的约定。由于串口通信是异步的,端口能够在

温馨提示

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

评论

0/150

提交评论