毕业设计(论文)-基于单片机的多通道数据采集系统.doc_第1页
毕业设计(论文)-基于单片机的多通道数据采集系统.doc_第2页
已阅读5页,还剩38页未读 继续免费阅读

下载本文档

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

文档简介

摘要摘 要在工业现场存在着大量诸如温度、压力、流量等的参数,研制一款多通道数据采集系统,对各种参数实时采集和处理,并与上位机进行通讯,以满足工业现场应用需求。在分析了不同类型的单片机的特点及单片机与pc机通信技术的基础上,设计了单片机控制的采集系统,并通过串口通信实现单片机与pc机之间的通信,实现数据的传送并将数据在pc机上进行频谱分析,完成单机的多通道数据采集系统的设计及实现。基于单片机的多通道数据采集系统是由将来自传感器的信号通过放大、线性化、滤波、同步采样保持等处理后,输入ad转换为数字信号后由单片机采集,然后利用单片机与pc机的通信将数据送到pc机进行数据的存储、后期处理与显示,实现了数据处理功能强大、显示直观、界面友好、性价比高、应用广泛的特点,可广泛应用于工业控制、仪器、仪表、机电一体化、智能家居等诸多领域。关键词:数据采集,单片机,a/d转换器,频谱分析39 河南城建学院本科毕业设计(论文) 目录河南城建学院本科毕业设计(论文) abstractabstractthere are many parameters such as temperatures,pressure, flow and so on in the industrial fieldit is important to gather and process all kinds of parameters and communicate with pc in real-timeit is necessary to develop a multichannel data acquisition system to meet the needs of application in the industrial field。based on the analysis of the characteristics of different types of scm and scm and pc communication technology infrastructure, scm control of the collection system designed and adopted mcu serial communication between pc and communications, data transmission and analysis of the frequency spectrum on the pcsingle completed the multi-channel data acquisition system design and implementation. based on scms multi-channel data acquisition system is adopted will come from the sensor signal amplificalion, linear filtering after processing maintain synchronous sampling which converted to digital signal input ad conversion by scm acquisition, then,scm and pc to pc communications data to the data storage, post-processing and display.a powerful data processing, visual shows, friendly interfrace and high performance-price ratio,a wide range of features can be widely used in industrial control equipment ,instruments,and electrial engineering integration,intelligent home and many other fields. key words:data acquisition,microcontroller,a/d converter, frequency spectrum analysis 目录目 录摘 要abstract引 言1第1章 系统分析和方案确定21.1 信号采集分析21.1.1 信号采集21.1.2 a/d转换器的选取41.2 控制与显示方法分析51.2.1 单片机系统分析51.2.2 显示与键盘分析61.3 传输方式分析71.4 频谱分析方式分析8第2章 系统硬件设计102.1 信号调理电路102.2 数据采集电路102.2.1 a/d转换的一般步骤102.2.2 adc0809内部功能与引脚介绍102.2.3 adc0809与mcs-51系列单片机的接口方法122.4 控制器、振荡源和复位电路142.5 键盘与显示电路142.6 通信电路15第3章 软件设计183.1 a/d转换183.2 标度变换203.3 键盘程序213.4 led显示程序223.5 通信程序233.5.1 下位机程序233.5.2 上位机labview程序24结论26参考文献28附录a:系统电路图29附录b:系统电路图30致谢辞38河南城建学院本科毕业设计(论文) 引言引 言随着计算机技术的飞速发展和普及,数据采集系统在多个领域有着广泛的应用。数据采集是工、农业控制系统中至关重要的一环,在医药、化工、食品、等领域的生产过程中,往往需要随时检测各生产环节的温度、湿度、流量及压力等参数。同时,还要对某一检测点任意参数能够进行随机查寻,将其在某一时间段内检测得到的数据经过转换提取出来,以便进行比较,做出决策,调整控制方案,提高产品的合格率,产生良好的经济效益。 随着工、农业的发展,多路数据采集势必将得到越来越多的应用,为适应这一趋势,作这方面的研究就显得十分重要。在科学研究中,运用数据采集系统可获得大量的动态信息,也是获取科学数据和生成知识的重要手段之一。总之,不论在哪个应用领域中,数据采集与处理将直接影响工作效率和所取得的经济效益。 此外,计算机的发展对通信起了巨大的推动作用.计算机和通信紧密结合构成了灵活多样的通信控制系统,也可以构成强有力的信息处理系统,这样对社会的发展产生了深远的影响。数据通信是计算机广泛应用的必然产物。数据采集系统,从严格的意义上来说,应该是用计算机控制的多路数据自动检测或巡回检测,并且能够对数据实行存储、处理、分析计算以及从检测的数据中提取可用的信息,供显示、记录、打印或描绘的系统。由于rs-232在微机通信接口中广泛采用,技术已相当成熟。在近端与远端通信过程中,采用串行rs-232标准,实现pc机与单片机间的数据传输。labview是虚拟仪器领域中最具普适性的图形化编程开发工具,是当前国际上应用最广效果最佳的数据采集与控制开发软件之一,主要应用于仪器控制、数据挖掘、数据分析与显示等领域,适用于多种不同的操作系统。而其自带的visa子模块,则可更方便、快捷地实现串口编程,完成控制机与仪器之间的连接与控制的功能。 系统分析和方案确定第1章 系统分析和方案确定根据系统基本要求,将本系统划分为如下几个部分:l 信号调理电路l 8路模拟信号的产生与a/d转换器l 发送端的数据采集与传输控制器l 人机通道的接口电路l 数据传输接口电路l 采集数据的频谱分析数据采集与传输系统一般由信号调理电路,多路开关,采样保持电路,a/d,单片机,电平转换接口,接收端(单片机、pc或其它设备)组成。系统框图如图1.1所示图1.1系统框图1.1 信号采集分析被测电压为05v直流电压,可通过电位器调节产生。1.1.1 信号采集多路数据采集系统多采用共享数据采集通道的结构形式。数据采集方式有顺序控制数据采集和程序控制数据采集。方案一:顺序控制数据采集,顾名思义,它是对各路被采集参数,按时间顺序依次轮流采样。原理如下图1.2系统的性能完全由硬件设备决定。在每次的采集过程中,所采集参数的数目、采样点数、采样速率、采样精度都固定不变。若要改变这些指标,需改变接线或更换设备方能实现。数据采集时,控制多路传输门开启和关闭的信号来自脉冲分配器,在时钟脉冲的推动下,这些控制信号不断循环,使传输门以先后顺序循环启闭。 图1.2数据采集原理 方案二:程序控制数据采集,由硬件和软件两部分组成。,据不同的采集需要,在程序存储器中,存放若干种信号采集程序,选择相应的采集程序进行采集工作,还可通过编新的程序,以满足不同采样任务的要求。如图1.3所示。程序控制数据采集的采样通道地址可随意选择,控制多路传输门开启的通道地址码由存储器中读出的指令确定。即改变存储器中的指令内容便可改变通道地址。由于顺序控制数据采集方式图1.3程序控制数据采集原理缺乏通用性和灵活性,所以本设计中选用程序控制数据采集方式。采集多路模拟信号时,一般用多路模拟开关巡回检测的方式,即一种数据采集的方式。利用多路开关(mux)让多个被测对象共用同一个采集通道,这就是多通道数据采集系统的实质。当采集高速信号时,a/d转换器前端还需加采样/保持(s/h)电路。待测量一般不能直接被转换成数字量,通常要进行放大、特性补偿、滤波等环节的预处理。被测信号往往因为幅值较小,而且可能还含有多余的高频分量等原因,不能直接送给a/d转换器,需对其进行必要的处理,即信号调理。如对信号进行放大、衰减、滤波等。通常希望输入到a/d转换器的信号能接近a/d转换器的满量程以保证转换精度,因此在直流电流电源输出端与a/d转换器之间应接入放大器以满足要求。本设计中的被测量为05v直流信号,由于输出电压比较大,满足a/d转换输入的要求,故可省去放大器,而将电源输出直接连接至a/d转换器输入端。多路数据采集输入通道的结构图1.4所示。图1.4多路数据采集输入通道结构注:缓慢变化信号和直流信号,采样保持电路可以省略。1.1.2 a/d转换器的选取1.转换时间的选择转换速度是指完成一次a/d转换所需时间的倒数,是一个很重要的指标。a/d转换器型号不同,转换速度差别很大。通常,8位逐次比较式adc的转换时间为100us左右。由于本系统的控制时间允许,可选8位逐次比较式a/d转换器。2.adc位数的选择a/d转换器的位数决定着信号采集的精度和分辨率。要求精度为0.5%。对于该8个通道的输入信号,8位a/d转换器,其精度为输入为05v时,分辨率为a/d转换器的满量程值 adc的二进制位数量化误差为adc0809是ti公司生产的8位逐次逼近式模数转换器,包括一个8位的逼近型的adc部分,并提供一个8通道的模拟多路开关和联合寻址逻辑,为模拟通道的设计提供了很大的方便。用它可直接将8个单端模拟信号输入,分时进行a/d转换,在多点巡回监测、过程控制等领域中使用非常广泛,所以本设计中选用该芯片作为a/d转换电路的核心。1.2 控制与显示方法分析用单片机作为这一控制系统的核心,接受来自adc0809的数据,经处理后通过串口传送,由于系统功能简单,键盘仅由两个开关和一个外部中断端组成,完成采样通道的选择,单片机通过接口芯片与led数码显示器相连,驱动显示器显示相应通道采集到的数据。1.2.1 单片机系统分析1.复位电路 单片机在开机时都需要复位,以便中央处理器cpu以及其他功能部件都处于一个确定的初始状态,并从这个状态开始工作。51的rst引脚是复位信号的输入端。复位电平是高电平有效,持续时间要有24个时钟周期以上。本系统中单片机时钟频率为6mhz则复位脉冲至少应为4us。方案一:上电复位电路上电瞬间,rst端的的电位与vcc相同,随着电容的逐步充电,充电电流减小,rst电位逐渐下降。上电复位所需的最短时间是振荡器建立时间加上二个机器周期,在这段时间里,振荡建立时间不超过10ms。复位电路的典型参数为:c取10uf,r取8.2k,故时间常数图1.5上电复位=rc=10108.210=82ms以满足要求。方案二.外部复位电路按下开关时,电源通过电阻对外接电容进行充电,使res端为高电平,复位按钮松开后,电容通过下拉电阻放电,逐渐使ret端恢复低电平。图1.6外部复位方案三:上电外部复位电路 典型的上电外部复位电路是既具有上电复位又具有外部复位电路,上电瞬间,c与rx构成充电电路,rst引脚出现正脉冲,只要rst保持足够的高电平,就能使单片机复位。一般取c=22uf,r=200,rx=1k,此时=2210110=22ms图1.7外部上电复位当按下按钮,rst出现5=4.2v时,使单片机复位。2.振荡源 在mcs-51内部有一个用于构成振荡器的高增益反相放大器。引脚xtal1(19)、xtal2(18)分别是此放大器的输入端和输出端。方案一:内部方式与作为反馈元件的片外晶体或陶瓷谐振器一起组成一个自激振荡器。方案二:外部方式 外部振荡器信号的接法与芯片类型有关。cmos工艺的mcu其xtal1端接外部时钟信号,xtal2端可悬空。hmos工艺的mcu则xtal2端接外部时钟信号,xtal1端须接地。在mcs-51单片机系列芯片中,用8051或8751芯片可以构成最小系统。因为8051和8751是片内有rom/eprom的单片机,用这种芯片构成的单片及最小系统简单、可靠。8051构成的最小系统特点:l 受集成度所限,只能用于小型控制单元。l 有可供用户使用的大量的i/o口线。l 仅有芯片内部的存储器,故存储器的容量有限。l 8051的应用软件要依靠半导体掩膜技术植入,适于在大批量生产的应用系统中使用。1.2.2 显示与键盘分析 对系统发出命令和输出显示测量结果,主要是由键盘和led数码显示器组成。缓慢变化信号和直流信号,要求用数码管适时地进行十进制显示,由于精度要达到0.5%,所以这里用5只led数码显示器来表示该十进制数,用两只七段数码显示器表示通道号。为实现通道的选取,用键盘实现控制功能。1译码方法用单片机驱动led数码管有很多方法,按显示方式分,有静态显示和动态(扫描)显示,按译码方式可分硬件译码和软件译码之分。方案一:硬件译码硬件译码就是显示的段码完全由硬件完成,cpu只要送出标准的bcd码即可,硬件接线有一定标准。方案二:软件译码 软件译码是用软件来完成硬件的功能,接线灵活,显示段码完全由软件来处理,是目前常用的显示驱动方式。2显示方法 在该单片机系统中,使用7段led显示器构成8位显示器,段选线控制显示的字符,位选线控制显示位的亮或暗。方案一:静态显示静态显示,显示驱动电路具有输出锁存功能,单片机将所要显示的数据送出后就不用再管,直到下一次显示数据需要更新时再传送一次数据。编程容易,管理简单,显示亮度高,显示数据稳定,占用很少的cpu时间。但引线多,线路复杂,硬件成本高。方案二:动态显示动态显示需要cpu时刻对显示器件进行数据刷新,显示数据会有闪烁感,占用的cpu时间多。这两种显示方式各有利弊;静态显示虽然数据稳定,占用很少的cpu时间,但每个显示单元都需要单独的显示驱动电路,使用的硬件较多;动态显示虽然有闪烁感,占用的cpu时间多,但使用的硬件少,能节省线路板空间。当显示装置中有多个多段led时,通常采用动态扫描驱动电路,节省开销。3显示接口芯片的选择方案一:8279接口芯片8279是intel公司的通用可编程键盘和显示器接口电路芯片,内部有显示ram。8279可以实现对键盘和显示器的自动扫描,识别闭合键的键号,完成显示器的动态显示。从而大大节省了cpu处理键盘和显示器的时间,提高了cpu的工作效率。另外,8279与单片机的接口简单,显示稳定,工作可靠。但8279所需外围元件多(显示驱动、译码等)、命令字多,调试困难,占用电路板面积大、综合成本高,在中小系统中常常大材小用。方案二:8155接口芯片采用并行口扩展芯片扩展并行口的方法来设计显示系统。用做显示系统的传统的芯片有8155、8255、8279等。这种方式的优点是速度快,显示数据简单。缺点是,占用单片机口线多。如用8155,其内部集成有:256个字节的sram、一个14位二进制减法计数器和3个并行端口pa、pb和pc。但此方案同样需要驱动显示,同时显示扫描还需占用cpu大量时间。但为设计的简单化带来方便,所以采用该芯片作为显示接口芯片,a口为位选线,b口为段选线。4键盘电路的确定为了在控制系统中完成采集通道的选择,还需要为该系统设置键盘。由于功能要求简单,仅用两个按键即可完成选择功能,降低了系统的硬件开销,软件处理简单。1.3 传输方式分析1.传输方式的选择串行通信有同步和异步两种工作方式。方案一:同步方式要求发送与接受保持严格同步,由于串行传输逐位按顺序进行,为了约定数据是由哪一位开始传输,需设定同步字符。此方式传输速度快,但硬件复杂。方案二:异步方式,规定了数据传输格式,每个数据均以相同的帧格式传送,每帧信息由起始位、数据位、奇偶效验位和停止位组成。帧与帧间用高电平分隔开,但每帧均需附加位,降低了传输效率。异步通信依靠起始位、停止位保持通信同步。对硬件的要求低,实现起来比较简单、灵活,适用于数据的随机发送/接收,一般适用于509600bps的低速串行通信。2.电平转换芯片选择rs-232规定的电平和一般微处理器的逻辑电平不一致,必须进行电平转换。方案一:采用mcl488和mcl489芯片的转换接口mcl488和mcl489芯片为早期的rs-232至ttl逻辑电平的转换芯片,需要12v电压,并且功耗较大,不适合用于低功耗的系统。方案二:采用max232芯片的转换接口max232是maxim公司的产品,包含两路驱动器和接收器的rs-232转换芯片。芯片内部有一个电压转换器,可以把输入的+5v电压转换为rs-232接口所需的10v电压,尤其适用于没有12v的单电源系统。由于rs-232信号电平与msc-51型单片机信号电平(ttl电平)不一致,因此采用rs-232标准时,必须进行信号的电平转换。rs-232与ttl电平转换芯片各有特点,此处选用maxim公司的max232芯片。1.4 频谱分析方式分析 对信号进行频谱分析,往往对其进行傅里叶变换,观察其频谱幅度与频谱相位。在pc机上,我们需要完成的工作一是把数据接收下来,二是存储,三是显示、处理。1.“超级终端”方法一般microsoft的操作系统如win98,win2000,winxp都带有“超级终端”,从“附件”中选择“通讯”,在里面就可以打开“超级终端”。菜单栏里找“属性”,然后选择“com1”“com2”进行连接,并对其配置,设定的规则要跟单片机设置的相同。如波特率,数据位,奇偶校验、停始位等。设定完成后就可以直接与单片机迸行通信,可以在工作区的白板里看到单片机传输来的数值。不但可以接收,还可以把数据发送出去。使用简单,若控制的程序难度不大,则用此方式方便。2.matlab语言的设备控制箱matlab是由美国mathworks公司开发的面向理论分析研究、工程计算数据处理和缓图的一套具有强大功能的软件系统。mathworks公司在软件中增加了设备控制箱(instrument control toolbox),提供了对rs-232rs-485通信标准的串口通信的正式支持。利用该工具箱的serial类及instrcallback()回调函数,能可靠地进行实时串地通信。具体操作是将pc机串口与单片机usart口通过max232电平转换芯片相连,matlab通过调用设备控制工具箱中的serial类及相关函数来创建串口设备对象,得到设备的文件句柄,从而以操作文件的方式实现对pc机串行口的读写操作。因而pc机可以通过matlab向串行口发送特殊指令,单片机应用系统对此作出相应的反应,将a/d采样数据通过串行口回送给pc机。此时,matlab通过中断的方式,实时接收单片机发送的数据,并完成对数据的分析处理,文件存储及图形显示。3.vb中使用mscomm控件vb(visual basic)是windows环境下简单、易学、高效的可视化编程语言开发系统,它不但提供了良好的界面设计能力,而且在微机串口通信方面也有很强的功能。特别是它所提供的mscomm控件,功能强大,简单易用,使得pc机与单片机等设备之间的通讯更加便捷,mscomm控件是微软开发的专用通信控件,封装了串口的所有功能,使用很方便,是microsoft为简化windows下串行通信编程而提供的activex控件,可以实现数据的采集与存储,但要对采集数据进行频谱分析,则需要另外的软件进行处理,设计较复杂。4.labview实现串口数据采集的方法labview是虚拟仪器领域中最具普适性的图形化编程开发工具,是当前国际上应用最广效果最佳的数据采集与控制开发软件之一,主要应用于仪器控制、数据挖掘、数据分析与显示等领域,适用于多种不同的操作系统。与以往的高级语言相比,labview图形化语言编程针对的是非专业程序编制的普通工程设计人员,具有编程简洁、直观性强、人机交互界面友好、数据可视化分析与设备控制能力优等特点。而其自带的visa子模块,则可更方便、快捷地实现串口编程,完成控制机与仪器之间的连接与控制的功能。我们可以利用labview的visa函数库中的串口vi对串口进行编程,完成对电压的实时采集,并对采集到的电压进行频谱分析。小结:经简单的理论分析,本系统数据采集部分核心采用adc0809,单片机系统选用8051构成的最小系统,用led动态显示采集到的数据,数据传输则选用rs232标准,实现单片机与pc机的通信,采集到的数据在pc上利用labview进行频谱分析。 系统硬件设计第2章 系统硬件设计2.1 信号调理电路信号调理的任务是将被测对象的输出信号变换成计算机要求的输入信号。图2.1信号调理过程对于多通道数据采集系统的输入通道,设置多路选择开关,可降低硬件开销。如图2.1所示,为避免小信号通过模拟开关造成较大的附加误差,在传感器输出信号过小时,每个通道应设前置放大环节(本文可不加以考虑)。2.2 数据采集电路把连续变化量变成离散量的过程称为量化,也可理解为信号的采样。 把以一定时间间隔t逐点采集连续的模拟信号,并保持一个时间t,使被采集的信号变成时间上离散、幅值等于采样时刻该信号瞬时值的一组方波序列信号,即采样信号。2.2.1 a/d转换的一般步骤1.采样-保持为了能不失真的恢复原模拟信号,采样频率应不小于输入模拟信号的频谱中最高频率的两倍,这就是采样定理,即 由于a/d转换需要一定的时间,所以在每次采样结束后,应保持采样电压在一段时间内不变,直到下一次采样的开始。实际中采样-保持是做成一个电路。2.量化与编码模拟信号经采样-保持电路后,得到了连续模拟信号的样值脉冲,他们是连续模拟信号在给定时刻上的瞬时值,并不是数字信号。还要把每个样值脉冲转换成与它幅值成正比的数字量。以上为a/d转换的一般步骤,在本电路中由adc0809芯片完成。2.2.2 adc0809内部功能与引脚介绍分辨率和精度在第一章中已作了相应的计算和分析。adc0809八位逐次逼近式ad转换器是一种单片cmos器件,包括8位模拟转换器、8通道转换开关和与微处理器兼容的控制逻辑。8路转换开关能直接连通8个单端模拟信号中的任何一个。其内部结构如图2.2所示。图2.2 adc0809内部结构1.adc0809主要性能u 逐次比较型u cmos工艺制造u 单电源供电u 无需零点和满刻度调整u 具有三态锁存输出缓冲器,输出与ttl兼容u 易与各种微控制器接口u 具有锁存控制的8路模拟开关u 分辨率:8位u 功耗:15mwu 最大不可调误差小于1lsb(最低有效位)u 转换时间()128us图2.3 adc0809引脚u 转换精度:u adc0809没有内部时钟,必须由外部提供,其范 围为101280khz。典型时钟频率为640khz2.引脚排列及各引脚的功能,引脚排列如图2.3所示。各引脚的功能如下:in0in7:8个通道的模拟量输入端。可输入05v待转换的模拟电压。d0d7:8位转换结果输出端。三态输出,d7是最高位,d0是最低位。a、b、c:通道选择端。当cba=000时,in0输入;当cba=111时,in7输入。ale:地址锁存信号输入端。该信号在上升沿处把a、b、c的状态锁存到内部的多路开关的地址锁存器中,从而选通8路模拟信号中的某一路。start:启动转换信号输入端。从start端输入一个正脉冲,其下降沿启动adc0809开始转换。脉冲宽度应不小于100200ns。eoc:转换结束信号输出端。启动a/d转换时它自动变为低电平。oe:输出允许端。clk:时钟输入端。adc0809的典型时钟频率为640khz,转换时间约为100s。ref(-)、ref(+):参考电压输入端。adc0809的参考电压为5v。v、gnd:供电电源端。adc0809使用5v单一电源供电。当ale为高电平时,通道地址输入到地址锁存器中,下降沿将地址锁存,并译码。在start上升沿时,所有的内部寄存器清零,在下降沿时,开始进行a/d转换,此期间start应保持低电平。在start下降沿后10us左右,转换结束信号变为低电平,eoc为低电平时,表示正在转换,为高电平时,表示转换结束。oe为低电平时,d0d7为高阻状态,oe为高电平时,允许转换结果输出。2.2.3 adc0809与mcs-51系列单片机的接口方法adc0809与8051单片机的硬件接口有3种形式,分别是查询方式、中断方式和延时等待方式,本题中选用中断接口方式。由于adc0809无片内时钟,时钟信号可由单片机的ale信号经d触发器二分频后获得。ale引脚得脉冲频率是8051时钟频率的1/6。该题目中单片机时钟频率采用6mhz,则ale输出的频率是1mhz,二分频后为500hz,符合adc0809对频率的要求。由于adc0809内部设有地址锁存器,所以通道地址由p0口的低3位直接与adc0809的a、b、c相连。通道基本地址为7ff8h7fffh。其对应关系如表2.1所示。地址码输入通道cba000in0001in1010in2011in3100in4101in5110in6111in7表2.10809输入通道地址控制信号:将p2.7作为片选信号,在启动a/d转换时,由单片机的写信号和p2.7控制adc的地址锁存和启动转换。由于ale和start连在一起,因此adc0809在锁存通道地址的同时也启动转换。在读取转换结果时,用单片机的读信号和p2.7引脚经或非门后,产生正脉冲作为oe信号,用一打开三态输出锁存器。其接口电路如图2.4所示。图 2.4 adc0809与mcs-51的接口电路start信号和oe信号的逻辑表达式为 图2.5 adc0809时序图当8051通过对7ff8h7fffh(基本地址)中的某个口地址进行一次写操作,即可启动相应通道的ad转换;当转换结束后,adc0809的eoc端向8051发出中断申请信号;8051通过对7ff8h7fffh中的某个口地址进行一次读操作,即可得到转换结果。注:adc0809的基准电压可通过基准电压芯片供给,如max875,可供给5v基准电压2.4 控制器、振荡源和复位电路复位即回到初始状态,是单片机经常进入的工作状态。单片机振荡电路的振荡周期和时钟电路的时钟周期决定了cpu的时序。1复位电路图2.6电外部复位电路 单片机的复位是靠外部电路实现的。无论是hmos还是chmos型,在振荡器正运行的情况下,rst引脚保持二个机器周期以上时间的高电平,系统复位。在rst端出现高电平的第二个周期,执行内部复位,以后每个周期复位一次,直至rst端变低。本文采用上电外部复位电路,如图2.6,相关参数为典型值。2.振荡源图2.7 内部振荡器方式内部方式时钟电路如图2.7所示。外接晶体以及电容、构成并联谐振电路,接在放大器的反馈回路中,内部振荡器产生自激振荡,一般晶振可在1.212mhz之间任选。对外接电容值虽然没有严格的要求,但电容的大小多少会影响振荡频率的高低、振荡器的稳定性、起振的快速性和温度的稳定性。外接晶体时,和通常选30pf左右;外接陶瓷谐振器时,和的典型值为47pf。2.5 键盘与显示电路1.键盘键盘由一组常开按键开关组成。键盘系统的主要工作包括及时发现有键闭合,并作相应的处理。图2.8 键盘硬件逻辑本系统中采用中断方式的开关代替键盘,完成采集通道的选择。硬件逻辑如图2.8所示。2.显示显示部分为8个共阴极的七段led显示器,8个七段led的adp字段的引脚分别由8个oc门同相驱动器驱动。oc门驱动器用7407,当7407输出低电平时,没有电流流过led,当7407输出为开路状态时,电流经100限流电阻流入led显示器,每个七段led的公共端都接一个反相驱动器,反相驱动器使用75452,当某一字段需要亮时,该led公共端的反相驱动器必须是低电平输出,并且这一字段的同相驱动器必须是高电平输出。单片机通过8155接口芯片的a口位选,经b口确定那些字段led发光。led发光时,驱动电流计算如下,每一字段脉冲电流led正向压降晶体管的饱和压降公共端最大电流原理图如图2.9所示图2.9 显示电路原理图 2.6 通信电路51单片机有一个全双工的串行口,所以单片机和pc之间可以方便地进行串口通讯。进行串行通信时要满足一定的条件,如pc的串口是rs232电平的,而单片机的串口是ttl电平的,两者之间必须有一个电平转换电路,这里用专用芯片max232进行转换,用专用芯片更简单可靠。max232如图2.10所示。它包含两路接收器和驱动器,内部有一个电源电压变换器,可以把输入的+5v电压变换位rs-232输出电平所需的+10v电压。所以,用该芯片接口的串行通信只需单一的+5v电源就可以了。其应用性更强。图2.10(b)中上半部电容、及,是电源变换部分。实际应用中,器件对电源噪声很敏感。因此,对地需要加去耦电容,其值为1.0uf。电容、取同样数值的电解电容,以提高抗干扰能力。(a)(b)图2.10 max232引脚图和电容典型参数图2.10(b)下半部分为发送和接收部分,可直接接ttl/cmos电平的mcs-51型单片机的串行发送端txd;,可直接接ttl/cmos电平的mcs-51型单片机的串行接受端rxd;,可直接接pc机的rs-232串口接受端rxd;,可直接接pc机的rs-232串口发送端txd。硬件原理图如图2.11所示。图2.11 通信接口电路串口通信的硬件连接采用三线制连接串口,就是说和pc的9针串口只连接其中的3根线:第5脚的gnd、第2脚的rxd、第3脚的txd。这是最简单的连接方法,但是对本题来说已经足够了,max232的第11脚和单片机的11号引脚连接,第12脚和单片机的10脚连接,第15脚和单片机的20脚连接。max232的第14脚和pc机串口的2号引脚连接,第13脚和pc机串口的3号引脚连接,第15脚和pc机串口的5号引脚连接。 软件设计第3章 软件设计整个系统软件设计分为两个部分,作为主控的pc端的软件设计及作为数据采集器的单片机终端节点的软件设计。系统采用模块化编程,将各部分功能分别实现,主要的功能子程序有:数据采集、标度变换、数值显示、发送、接收和部分中断子程序。主程序流程图如图3.1所示。开始系统初始化调用数据采集子程序取相应通道数据调用数据显示子程序调用数据发送子程序图3.1 主程序流程图3.1 a/d转换中断方式使用eoc信号作为向8051的中断申请。在主程序中,向adc发出首次启动转换信号后,并计数管理转换通道数。当检测到eoc的请求后,转去执行中断服务程序,读取转换结果,并启动下一次转换,后继续执行。图3.2为a/d转换程序流程图。yn开始定义a/d转换缓冲区首地址开中断置通道数置dptr启动转换等待中断各通道采完?中断处理返回关中断 图3.2 数据采集程序流程图开始取转换量存入a/d转换数据缓冲区通道号+1缓存单元地址+1通道数-1启动下次转换返回图3.3 数据采集中断程序流程图3.2 标度变换该单片机系统中,被测量经过a/d转换,均统一为0255二进制码,因此要把a/d转换的数码x变换成被测量的实际数值。开始定义标度变换缓冲区r0指向a./d转换缓冲区标度变换变换完毕?返回ny图3.4 标度变换程序流程图3.3 键盘程序键盘部分软件主要功能是实现对通道号指示缓冲区的数值进行增或减,从而控制通道的选择。开始 psw,acc压栈保护按键2中断(通道减)按键1中断(通道加)psw,acc出栈p1.0=1?p1.1=1?返回yynnp1.1=1? 图3.5键盘中断程序流程图3.4 led显示程序开始返回指向a口取位选码指定显示位指向b口取显示字符查七段码段选码b口送出调用1ms延时子程准备显示下一位位选yn8位显示完毕?图3.6 led显示程序流程图将内部ram中30h38h单元中的8个采样数据,经led显示出来,所显示的通道数据由键盘部分决定,编制的程序如下:3.5 通信程序3.5.1 下位机程序(1)接收中断处理程序接收中断处理程序主要负责接收微机发送到单片机接收缓冲区(不对数据进行处理,以减少中断占用的时间)的数据,当接收到规定的字符数或在一定等待时间内无后续数据之后,置接收完毕标志,以表明接收缓冲区中有待处理的数据并请求通信处理程序对其进行处理。其流程图如图3.7所示接收断点入口断点保护读字符到数据缓冲区是否接收完指定字符?置接收完标志y关闭接收定时器断点回复n重新设置启动接收定时器返回断点 图3.7接收子程序流程图(2)发送中断处理程序发送中断处理程序主要负责向微机发送数据,发送中断一般处于禁止状态,只有在通信处理程序将需要发送的数据写入单片机的发送缓冲区,并将发送中断置为允许方式后,发送中断才开始工作,并将缓冲区数据逐一发送给微机。当发送完指定长度的数据后(发送缓冲区为空),发送中断处理程序将发送中断置为禁止(关闭)状态,直到通信处理程序将其再一次开放。其流程如图3.8所示。发送断点入口断点保护发送缓冲区数据是否为空?发送下一字符n发送缓冲区字符减断点恢复返回断点发送中断关闭y 图3.8发送子程序流程图3.5.2上位机labview程序pc 机软件部分主要完成向单片机发送命令、接收单片机发送来的数据、对数据进行滤波、频谱分析和保存的功能。在本系统中,调用了labview中功能模板的visa 中的serial 系列(包括visa configure serial 、visa write 、visa read、visa close) 来实现pc 机和单片机的通讯。数据处理和保存部分分别由功能模板中的singal processing 和file i/ o 系列完成。程序的前面板界面图如图3.9所示,可实现数据的采集与处理,程序流程图如图3.10所示。 图3.9 程序的前面板界面图 图3.10 程序流程图河南城建学院本科毕业设计(论文) 结论和致谢辞 结论 结论结论通过对数据采集和传输的初步研究,以8051、adc0809、pc机和一些相关接口建立起这样一个基于单片机的数据采集和传输系统的硬件平台,配合相应的软件实现对8路模拟量的采集与传输,并对所采集的信号进行频谱分析。由于时间,水平有限本论文还有许多部分未能详细分析,在此仅作简单了解和认识。信号采集过程中,被测量一般由传感器供给,常为微弱信号,需要对其进行适当的调整。由于此处输入信号满足a/d转换器的输入要求,所以本文并为详细讨论。但在实际工程设计中必不可少。信号调理的任务就是将被测对象的输出信号变换成计算机要求的输入信号。信号调理包括:阻抗匹配、放大电路、隔离电路、滤波等。a.阻抗匹配放大电路与传感器之间往往存在阻抗不匹配的现象,信号要进入a/d转换器也存在阻抗匹配问题,阻抗不匹配会使信号在传输过程中严重畸变,导致严重检测误差,调理过程中必须十分注意阻抗匹配问题,一般阻抗匹配可以由运放组成的跟随器完成。b.信号放大电路信号放大电路是信号调理电路的核心,一般传感器输出的物理信号量幅值很小,需要通过放大调理电路来增加分辨率和敏感性,将输入信号放大为a/d转换所需要的电压范围,为了获得尽可能高的精度,应将输入信号放大至与adc量程相当的程度。c.信号隔离电路隔离是指使用变压器、光电耦合或电容耦合等方法在被测系统中与测试系统之间传输信号,避免直流的电流或电压的物理连接的一种手段。(1)数据采集系统所监测的设备可能会有高压瞬变现象,足以使计算机与数据采集板损坏,隔离可使传感器信号与计算机隔离开,使系统安全得到保障。(2)保证数据采集各个环节间不受地电位或共态电压差异的影响,从而影响测试精度,这是因为在采集信号时,都需要以“地”为基准,如果在两“地”之间存在电位差,就可能导致地环路产生,从而导致所采集的信号再现不准确,若这一电位差太大,可能危机测量系统的安全,利用隔离电路的信号模块可以消除地环路,并保证准确的采集信号。模拟信号的隔离比数字信号的隔离难度大的多,成本高,常用的方法有:采用线性光耦或两个特性几乎完全接近的普通光耦用特殊的电路实现,另外,直接采用具有隔离作用的仪表放大器也行。d.信号滤波:几乎所有的数据采集系统都会不同程度的受到来自电源线或机械设备的50hz噪声干扰,因此大多数信号调理电路包含低通滤波器,最大限度的剔除50hz或60hz的噪声。交流信号(如振动)则往往需要防混淆滤波器,防混淆滤波器是一种低通滤波器,具有非常陡峭的截止频率,几乎可以将频率高于采集板输入信号带宽的信号全部剔除;若不除去,这些信号将会错误的显示为数据采集系统输入带宽内的信号。本文采用rs-232标准实现单片机与pc机间的通信。rs

温馨提示

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

评论

0/150

提交评论