(完整版)基于数显百分表单片机数据采集系统的构建_第1页
(完整版)基于数显百分表单片机数据采集系统的构建_第2页
(完整版)基于数显百分表单片机数据采集系统的构建_第3页
(完整版)基于数显百分表单片机数据采集系统的构建_第4页
(完整版)基于数显百分表单片机数据采集系统的构建_第5页
已阅读5页,还剩24页未读 继续免费阅读

付费下载

下载本文档

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

文档简介

陕西理工学院毕业设计基于数显百分表单片机数据采集系统的构建作者:XXX(陕西理工学院机械工程学院测控技术与仪器XXXX班,陕西汉中723000)指导老师:XXX[摘要]在充分了解容栅式传感器原理的基础上,采用数字式示波器对数显百分表的输出信号进行了详细分析,找出其显示数据与输出信号的关系。进而构建了以数显百分表为前端传感器、以AT89S52单片机为主控单元的信号采集和数据处理位移测距系统,并将所采集的数据通过LCD准确、实时地显示出来。[关键字]数显百分表;单片机;位移数据采集;容栅式传感器陕西理工学院毕业设计ConstructionofdigitalindicatordataacquisitionsystembasedonMCUAuthor:XXX(Measurementandcontroltechnologyandinstrumentofmechanicalengineering,ShaanxiUniversityofTechnology,XXXX)Teacher:LiangYingxuanAbstract:Infullyunderstandcapacitivegatesensorprinciplebasedandusesdigitaloscilloscopetodigitalindicatoroutputsignalisanalyzedindetailandfindoutthedisplaydataandtheoutputsignal.Andtheconstructionofthedigitalindicatorsinfrontofthesensor,theAT89S52single-chipmicrocomputerbasedcontrollingunitforsignalacquisitionanddataprocessingdisplacementdistancemeasuringsystem.Then,thecollecteddatathroughtheLCDaccurate,real-timedisplay.Keyword:Digitalindicator;MCU;Displacementdataacquisition;Capacitivegratingsensor目录TOC\o"1-3"\u绪论 页绪论1选题的目的及意义百分表作为位移及形变测量工具,在机械加工、器械测量、仪器校准等方面,应用较为广泛。目前市面上,常见的百分表分为两种,分别是机械式和数显式。机械式百分表应用广泛,历史悠久,但随着精度的提高,其加工难度也随之成倍增加,且因为机械式百分表在测量过程中是人工读数,使得不可避免的造成了人为误差。数显百分表多采用容栅传感器,测量精准,但大多没有外接的端口,使其应用受到限制。本文结合容栅位移传感器原理,着重分析数显百分表输出信号与实际显示数据如何对应的过程,并在此基础上,设计一套利用数显百分表为前端传感器、AT89S52单片机做为主控单元的测距系统。2与本课题相关的研究现状、应用领域等数显百分表是通过齿轮或杠杆将一般的直线位移(直线运动)转换成指针的旋转运动,然后在显示屏上进行读数的长度测量仪器。数显百分表具有显示精确,而且很方便,读数一目了然,精度高优点。数显百分表与机械式百分表相比,测量更加精准,能避免读数过程中的人为误差,可以进行绝对测量和相对测量,并且能同时显示英寸数值与国际单位更是机械式百分表所无法媲美的。但目前常用的数显百分表大多都没有微机接口,使其应用受到大大的限制。单片机即单片微控制器单元(Micro-controller

Unit),由微处理器、I/O接口、存储器、定时器/计数器等电路集成在一块芯片上所构成。单片机的面世最早在20世纪70年代初,由美国芯片制造商Inter公司推出,当时还是只有4位数据线的简单产品,可用于家用电器、计算器等产品的开发;到了70年代中后期,各种8位单片机开始相继问世,如MCS-48系列单片机,其功能已经可以满足工业的现场控制以及测量用智能仪器仪表设计的需要;80年代之后,单片机迎来了高速发展期,高性能的单片机如MCS-51系列8位单片机成为主流,它具有串行通信接口、16位定时器/计数器和多级中断功能,使其在网络通信、现场监控、人工智能、实时控制和高性能测量仪器等诸多方面得到了广泛的应用。随着单片机的发展,单片机大都具有以下特点:1、功耗低、性价比高、重量轻、体积小;2、由于电路的高度集成,带来了高可靠性与较高的抗干扰性;3、快速的运行速度和丰富的控制指令集,可供设计开发人员灵活的运用各种逻辑操作,实现实时控制与必要的运算;4、具有异步串行通信接口适应网络化环境工作。单片机目前已广泛使用的各种智能IC卡,民用豪华轿车的安全保障系统,摄像机、录像机、全自动洗衣机的控制,以及程控玩具、电子宠物等等,这些都离不开单片机。更不用说自动控制领域的机器人、医疗器械、智能仪表以及各种智能机械了。

1容栅传感器容栅传感器是一种基于变面积工作原理,可测量大位移的电容式数字传感器。它与其它数字式位移传感器,如光栅、感应同步器等相比,具有体积小、结构简单、分辨率和准确度高、测量速度快、功耗小、成本低、对使用环境要求不高等突出的特点,因此在电子测量技术中占有十分重要的地位。本系统中主要是对直线位移的测量,所以采用直线型容栅传感器。容栅传感器的结构非常类似于平行板电容器,它是由一组排列成栅状结构的平行板电容器并联而成的,如果把随时间变化的周期信号,通过电子电路的控制,在同一瞬间以不同的相位分布,分别加载于顺序排列的栅状电容器各个栅极上,则在另一公共极板上,任一瞬间产生的感应信号将与该瞬间加载的激励信号具有相同的相位分布。图1.1容栅结构示意图容栅传感器动栅、定栅各极板之间形成的电容的等效电路,设C1(x),C2(x),C3(x)……C8(x)为动栅上48块极板与定栅上相应极板所构成的电容量,它是位移x的函数,假设小发射极板与反射极板完全覆盖时两者之间的电容为C0,每一块小发射极板的宽度为w,当0≤x≤w时,C8(x)=C0(x)/w,C1(x)=C2(x)=C3(x)=C0,C4(x)=C0(1-x/w),c5(x)=c6(x)=c7(x)=0。由此可以得出整个量程中两极板之间的电容量随位移x的变化规律。图1.2容栅传感器极板间等效电路在x为任何值时,动栅上的48块极板中总有一部分与“地”(屏蔽板)形成电容,相应的输入信号源直接接入“地”,对传感器的输出信号不产生影响,可是为了导出φ(x)(φ(x)为传感器的输出信号相对于某一驱动信号的相位移)随位移量x连续变化的统一公式,在推导中不考虑这些极板对“地”形成电容,而仍把它们看作对定栅板形成电容,只不过此时它们的电容量为零而已。由于这些电容量为零,则其阻抗为无穷大。相应的信号源全部落在这些电容上,同样,对传感器的输出信号无影响。如果给容栅传感器每组发射极板上所加的发射电压V1~V8为8路频率、幅值相同而相邻小极板间相位相差为π/4的正弦交变电压,则在发射极上有电压Vf,在接收极上有电压Vr。应用交流电路理论及基尔霍夫电流定律,解读图l.2的等效电路,如下:如果用Vo表示各发射极电压的幅值,并取8路信号中的第1路信号的相位为参考值,则有:其中φ0为V1的相角。将上述各量及Ci(x)(i=1,2,…,8)代入以上两式,即得可见,容栅传感器的输出电压是一频率与发射电压相同的正弦电压,其幅值在很小范围内变化,可近似看作一常数,而相位比V1超前了π/4+φ(x)。相位移φ(x)可采用鉴相型测量电路测出,即可得到相对位移x,可见容栅传感器是一种相位跟踪型的位移传感器,这种传感器对输入信号的幅值变化不敏感,故具有较好的抗干扰能力。图1.3多级片容栅结构及输出示意图在整个测量系统中,容栅传感器的主要作用是把机械位移量转变成电信号的相位变化量,然后送给测量电路进行数据处理。容栅传感器通过精密电压比较器TLC354进行控制,由继电器供电,由CPU89C52提供所需的激励信号,同时接收其感应信号,并通过鉴相型电路测量出激励信号与感应信号的相位差,经过一系列的变化,即可得出活塞移动的长度距离。

2方案的论证与择优2.1方案一方案一框图见图2.1,该方案采用3片8位移位寄存器接收24位数据信号,通过片选控制分3次读入结果。为了准确无误地读取信号,必须使单片机在进入第2组数据时就产生中断读取数据。为了告诉单片机锁存完毕进行正确的读取,还须分离出锁存信号。系统通过中断的方式对容栅式传感器数据信号进行分组,它由单稳态触发器产生的外部中断进行控制,当产生中断后就读取单片机I/O口的数据。当串行数据经移位寄存器转化为并行数据后经锁存器锁存,这时所有的24位可以全部通过单片机的某一I/O口,然而单片机只有8位口,系统则用片选法来控制数据的读入,单片机的另一I/O口分别与3片锁存器相连,在读取数据时选通相应的锁存芯片。图2.1方案一框图2.2方案二方案二框图见图2.2。将数显百分表输出的CLK和Data数据通过双电压比较器转变为单片机可以识别的高低电平信号。将CLK同时接入单片机和移位寄存器,目的是可以进行准确的数据组读取。移位寄存器每接受8位数据进行一次移位寄存,共6次将两组24位的绝对数据和相对数据全部传输到单片机中。单片机对采集到的数据进行与标定数的运算,先拆分,计算,再合并,并最终由单片机控制使其在液晶显示屏LCD1602上显示。图2.2方案二框图采用一个8位移位寄存器成功与否在于软件的正确编制,这里需要解决两个问题:一是怎样确定要读的数据组;二是怎样控制每次一如8位就读取一次,若能控制好,显然3次读取就能采集24b完整信息。解决好第一个问题的办法是将CLK信号同时送移位寄存器和单片机的计数通道,检测到一段持续的低电平就启动计算器,记满24个脉冲后就准备读取P1口的后24为数值。解决好第一个问题,第二个问题也就好解决了,将计算器置成连续装载值为8的工作方式,每计数8个CLK脉冲就读取一段数据,在这里只要保证在下一个脉冲到来之前的13μs内取走数据就能保证读数正确。2.3方案选择方案一与方案二都是可行的方案,但方案一的大部分工作靠硬件来完成,没有充分利用软件的功能,测量系统硬件组成比较复杂,成本较高。而方案二合理的运用软件来实现部分功能,减少硬件的使用,大大的减少了成本,制作也更为方便可行。故选用方案二。2.4设计思路首先是对容栅式传感器输出信号的分析,然后用数字示波器对输出数据进行分析处理,单片机要获取这些数据,需要一个双电压比较器和一片移位寄存器。获得数据后,在单片机内对数据进行处理,最后将数据送往LCD显示。2.4.1容栅式传感器输出信号分析容栅式传感器输出的电容信号经过容栅集成及芯片的处理可转化为数字信号输出。其中输出信号有4根线,分别为电源线(+1.5V)、地线(0V)、时钟控制线(CLK)、串行数据输出线(Data)。CLK为同步时钟信号,在一次数据传送中,开始为54μs的高电平,表示数据即将开始传送。接下来Data输出两组各有24个宽度为13μs的窄脉冲,前组为绝对数据;后组为相对数据,前后两组数据之间有110μs的高电平作为间隔;最后是75μs的高电平,以示数据传送结束(其输出波形如图2.3所示)。图2.3容栅式传感器输出脉冲时序Data信号为数据信号,它包含了传感器的位移信息。在数据采样时,容栅芯片在CLK信号窄脉冲的下降沿对Data信号进行采样,先后采样两组24位绝对数据和相对数据。CLK时钟脉冲串的第一组对应的信号是包含基准0的绝对数据,第二组是减去基准0后的实际位移值,为相对数据。绝对数据计数范围从000000H到FFFFFFH;相对数据有正负区分,可以进行清零。数据采用二进制编码,低位在前,高位在后,最后位为符号位,以时钟线每次CLK信号负跳变时刻为准进行数据采集。以上信号为非标准串行码,幅值均为1.5V。绝对数据不能清零(含基准0),相对数据可以进行清零,所以此次将直接读取相对数据进行研究。2.4.2采用数字示波器对输出数据进行分析处理在数字示波器上可以观察到如图2.1所示数显百分表输出波形信号,CLK一个脉冲下降沿就可以读对应这个脉冲宽度内的Data数据的状态(高电平为1、低电平为0)。表2.1和表2.2为测量时读到的相对数据的二进制。表2.1为正数,表2.2为负数。表2.1直接读取的传感器的相对数据(正数)表2.2直接读取的传感器的相对数据(负数)由上表可以看出:正数标定的系数为非常数,而负数的为常数。还有,当传感器输出的相对数据为正数时,其二进制最高位都为“1”,负数的最高位都为“0”。那么只要给正数的二进制取反,那么就会得到表2.3中的数据。表2.3对正数的相对数据取反后的数据取反后可发现,正数标定的系数变为常数。标定系数是用数显表显示的值除以传感器正数的相对数据取反后的值(负数直接读取的相对数据)。在后续的软件编程时,将数显表的实际值扩大1000倍变成整数,即将标定系数扩大1000倍定为0.124,这样便于数据处理显示时数据的拆分。在数据采集编程时首先判断读取的数据的正负号(最高位为1是正号,最高位为0是负号)后,判断是否需要取反,再经过单片机对采集数据进行处理,最后就可直接显示采集数据的正负及大小。2.4.3单片机对数据的采集传感器的Data数据是一个串行信号,在此先把这个信号输入到一个串入并出带锁存移位寄存器74HC595里。由于一个完整的数据是24位,用一个8位的串入并出移位寄存器,向单片机并行口P1进行传输,一次读8位,并进行锁存,不会影响到后面数据的位移,单片机3次就可以将24位读完。将经过了双电压比较器的CLK信号同时接到移位寄存器和单片机的计数通道,这样移位寄存器就可以在CLK时钟的控制下进行正确的移位了,并且在每次中断后给P3.0口一个上升沿的脉冲作为74HC595的锁存时钟,从而将串行信号转换成了并行信号进入单片机。2.4.4数据的处理与显示部分单片机要对从移位寄存器传输来的数据进行处理,首先,对数据的正负进行判断,若最高位为1,则为正数,需先取反再进行合并;若最高位为0,则为负数,可以直接合并。将合并后的数据先转换为十进制数,再乘以其标定系数,即可得到一个真实值。而这个真实值小数点后保留三位小数,为了便于数据显示处理是方便,我们把这个数放大1000倍,将其变成整数。经过标定计算后再进行拆分,可以将计算所得的五位数全部显示在LCD上。

3硬件系统及介绍3.1电路原理图设计在仿真中,用两个方波模拟CLK和Data的脉冲信号,先经过双电压比较器后,将CLK信号连接到单片机的P3.4和3.5口,同时将其经过一个反相器74HC04后接到移位寄存器的SH_CP端。目的是要确定移位寄存器能在CLK的时钟控制下进行正确的移位。ST_CP端接到单片机的P3.0口目的是在每次中断后给P3.0口一个上升沿的脉冲作为锁存时钟。Data信号接到移位寄存器的DS端口,在这里进行串行信号的接收,为了方便单片机的计算,将74HC595的输出端的高位(Q7)接到单片机P1口的低位(P1.0)上,其它位依此类推,直接在硬件上进行高低位的颠倒。单片机对采集的数据进行处理后将显示命令发送给LCD1602,单片机(P0.0-0.7)口分别接LCD的(D0-D7)口,期间需要加上一个上拉电阻,将不确定的信号通过一个电阻钳位在高电平,电阻同时起限流作用。图3.1电路原理图3.2信号转换部分将数显百分表输出的CLK(1.5V)和Data(1.5V)信号接入LM393双电压比较器。当CLK或Data信号是高电平时(1.5V),它大于比较器的参考电压(1V),比较器就输出一个5V高电平信号(因为比较器的电源电压是5V);当CLK或Data是低电平时(0),小于比较器的参考电压(1V),则比较器就输出一个为0的低电平信号。LM393是双电压比较器集成电路。输出负载电阻能衔接在可允许电源电压范围内的任何电源电压上,不受Vcc端电压值的限制.此v输出能作为一个简单的对地SPS开路(当不用负载电阻没被运用),输出部分的陷电流被可能得到的驱动和器件的β值所限制。当达到极限电流(16mA)时,输出晶体管将退出而且输出电压将很快上升。图3.2LM393内部结构图3.3反相器本次设计使用74HC04反相器,其作用是将输入的CLK信号的相位反转180度。因为容栅传感器在CLK下降沿时读取数据,而位移寄存器在上升沿时读取数据,故需要一个74HC04反相器对CLK信号进行相位的反转。反相器由典型TTL与非门电路电路组成,是可以将输入信号的相位反转180度,这种电路应用在摸拟电路,比如说音频放大,时钟振荡器等。在电子线路设计中,经常要用到反相器。工作原理:当输入Vi=3.6V(高电平),Vb1=3.6+0.7=4.3V足以使T1(bc结)T2(be结)T3(be结)同时导通,一但导通Vb1=0.7+0.7+0.7=2.1V(固定值),此时V1发射结必截止(倒置放大状态)Vc2=Vces+Vbe2=0.2+0.7=0.9V不足以T4和D同时导通,T4和D均截止。V0=0.2V(低电平)当输入Vi=0.2V(低电平)Vb1=0.2+0.7=0.9V不足以使T1(bc结)T2(be结)T3(be结)同时导通,T2,T3均截止,同时VccRc2T4D负载形成通路,T4和D均导通。V0=Vcc-VRc2(可略)-Vbe4-VD=5-0.7-0.7=3.6(高电平)。结论:输入高,输出低;输入低,输出高(非逻辑)。TTL的优势:1、工作速度快;2、带负载能力强;3、传输特性好。TTL反相器的电压传输特性:电压传输特性是指输出电压跟随输入电压变化的关系曲线,即UO=f(uI)函数关系。大致分为四段:截止区:当UI≤0.6V时,T1工作在深饱和状态,Uces1<0.1V,Vbe2<0.7V,故T2、T3截止,D、T4均导通,输出高电平UOH=3.6V。TTL反相器的电压传输特性线性区:当0.6V≤UI<1.3V时,0.7V≤Vb2<1.4V,T2开始导通,T3尚未导通。此时T2处于放大状态,其集电极电压Vc2随着UI的增加而下降,使输出电压UO也下降。转折区:1.3V≤UI<1.4V,当UI略大于1.3V时,T2T3均导通,T3进入饱和状态,输出电压UO迅速下降。饱和区:当UI≥1.4V时,随着UI增加T1进入倒置工作状态,D截止,T4截止,T2、T3饱和,因而输出低电平UOL=0.3V。图3.374HC04六反相器引脚图3.4串/并转换部分及数据采集实施办法传感器的Data信号是一个串行信号,在此先把这个信号输入到一个串入并出带锁存的移位寄存器74HC595里。由于一个完整的数据是24位,用一个8位的串入并出移位寄存器,向单片机并行口P1进行传输一次读进来8位,并进行锁存,则不影响后面数据的移位,这样单片机读3次就将24位读完,这样就避免了硬件电路的繁琐和纯采用软件编程实时性差的缺点。74HC595是硅结构的CMOS器件,兼容低电压TTL电路,遵守JEDEC

NO.7A标准。它具有8位移位寄存器和一个存储器,三态输出功能。移位寄存器和存储器有相互独立的时钟。数据在SH_cp(移位寄存器时钟输入)的上升沿输入到移位寄存器中,在ST_cp(存储器时钟输入)的上升沿输入到存储寄存器中去。如果两个时钟连在一起,则移位寄存器总是比存储寄存器早一个脉冲。移位寄存器有一个串行移位输入(Ds),和一个串行输出(Q7),和一个异步的低电平复位,存储寄存器有一个并行8位的,具备三态的总线输出,当使能OE时(为低电平),存储寄存器的数据输出到总线。8位串行输入/输出或者并行输出移位寄存器,具有高阻关断状态,三态输出(即具有高电平、低电平和高阻抗三种输出状态的门电路)。将串行输入的8位数字,转变为并行输出的8位数字,例如控制一个8位数码管,将不会有闪烁。图3.4移位寄存器74HC59574HC595具体使用的步骤:第一步:目的:将要准备输入的位数据移入74HC595数据输入端上。方法:送位数据到_595。第二步:目的:将位数据逐位移入74HC595,即数据串入方法:SH_CP产生一上升沿,将DS上的数据移入74HC595中.从低到高第三步:目的:并行输出数据。即数据并出方法:ST_CP产生一上升沿,将由DS上已移入数据寄存器中的数据送入到输出锁存器。说明:从上可分析:从SH_CP产生一上升沿(移入数据)和ST_CP产生一上升沿(输出数据)是二个独立过程,实际应用时互不干扰。即可在输出数据的同时移入数据。3.5显示部分单片机应用系统最常用的显示器是LED(发光二极管显示器)和LCD(液晶显示器),这两种显示器可显示数字、字符及系统的状态。由于LED显示信息量少,形式比较单一,人机交互性差,而LCD液晶显示内含有控制驱动器,使得它和单片机的接口电路实现比较简单,还具有功耗低、体积小、质量轻、超薄和可编程驱动等其他显示方式无法比拟的优点,故选用1602液晶显示屏。液晶显示电路如图3.5所示,单片机的P2.5--P2.7引脚分别为液晶显示器的复位端RST、读/写端R/W、使能端E调节R2可调节液晶显示器的对比度。图3.5液晶显示电路3.6晶振电路单片机系统里都有晶振,在单片机系统里晶振作用非常大,全程叫晶体振荡器,他结合单片机内部电路产生单片机所需的时钟频率,单片机晶振提供的时钟频率越高,那么单片机运行速度就越快,单片接的一切指令的执行都是建立在单片机晶振提供的时钟频率。在通常工作条件下,普通的晶振频率绝对精度可达百万分之五十。高级的精度更高。有些晶振还可以由外加电压在一定范围内调整频率,称为压控振荡器(VCO)。晶振用一种能把电能和机械能相互转化的晶体在共振的状态下工作,以提供稳定,精确的单频振荡。单片机晶振的作用是为系统提供基本的时钟信号。通常一个系统共用一个晶振,便于各部分保持同步。有些通讯系统的基频和射频使用不同的晶振,而通过电子调整频率的方法保持同步。晶振通常与锁相环电路配合使用,以提供系统所需的时钟频率。如果不同子系统需要不同频率的时钟信号,可以用与同一个晶振相连的不同锁相环来提供。3.6晶振电路3.7复位电路单片机的置位和复位,都是为了把电路初始化到一个确定的状态,一般来说,单片机复位电路作用是把一个例如状态机初始化到空状态,而在单片机内部,复位的时候单片机是一些寄存器以及存储设备装入厂商预设的一个值。图3.7复位电路图单片机复位电路原理是在单片机的复位引脚RST上外接电阻和电容,实现上电复位。当复位电平持续两个机器周期以上时复位有效。复位电平的持续时间必须大于单片机的两个机器周期。具体数值可以由RC电路计算出时间常数。复位电路由按键复位和上电复位两部分组成。(1)上电复位:STC89系列单片及为高电平复位,通常在复位引脚RST上连接一个电容到VCC,再连接一个电阻到GND,由此形成一个RC充放电回路保证单片机在上电时RST脚上有足够时间的高电平进行复位,随后回归到低电平进入正常工作状态,这个电阻和电容的典型值为10K和10uF。(2)按键复位:按键复位就是在复位电容上并联一个开关,当开关按下时电容被放电、RST也被拉到高电平,而且由于电容的充电,会保持一段时间的高电平来使单片机复位。

4软件系统设计系统的软件部分主要包括主程序、中断子程序、数据处理子程序、显示子程序等几部分。4.1主程序主程序的流程图如图4.1所示。数据采集的具体具体实施过程为:首先完成系统的初始化;其次将经电平转换后的CLK信号接到单片机的P3.5来检测CLK电平的变化,当连续检测到低电平时,就用P3.4口进行外部脉冲计数中断。在此用定时器/计数器0,并将其设定为自动装载的方式1进行计数,每计数到8中断一次。由于前24位数据为绝对数据是不需要的,可以让单片机接收但不用读出,当前24位数据传输完(前3次中断完),后面每次中断接收到的数据再读出,3次中断就可以将全部24位相对数据读出了。最后将采集数据经过单片机处理后将测量结果显示在LCD液晶显示屏上。图4.1主程序框图4.2中断子程序其流程图如图4.2所示。当定时器/计数器计满8个时钟脉冲时就中断,这时就将进入移位寄存器的8位数据锁存,锁存器工作时需要提供一个上升沿锁存时钟才能进行锁存,所以就用软件给P3.0一个上升沿控制移位寄存器锁存并行输出到P1口,然后读取P1口并将读完之后的数据另存,以防止被后一组数据覆盖,当3组数据存储完毕后就关闭中断。图4.2中断程序流程图4.3数据处理子程序其流程图如图4.3所示。在读取完之后就进行数据处理,先判断采集到的数据的正负,最高位若为1(正数),则先取反再进行合并;若为0(负数)就直接合并。最后将合并后的数据进行标定然后拆分出各位。图4.3数据处理子程序流程图。4.4数据显示子程序LCD的数据显示的流程图如图4.4所示。首先是完成系统的初始化,然后开始接收新的数据,在显示新内容之前,需要先判断数据是否需要更新,最终完成数据的显示。图4.4显示子程序

5总结与展望我的毕设题目是“基于数显百分表单片机数据采集系统的构建”,我将整个设计的重难点分为三个部分:1.数据采集部分;2.移位寄存部分;3.数据处理部分。5.1数据采集部分使数显百分表输出的一组数据经过双电压比较器LM393,当CLK或Data信号是高电平时(1.5V),它大于比较器的参考电压(1V),比器就输出一个5V高电平信号(因为比较器的电源电压是5V);当CLK或Data是低电平时(0),小于比较器的参考电压(1V),则比较器就输出一个为0的低电平信号。在数据开始传输后,容栅芯片在CLK信号窄脉冲的下降沿对Data信号进行采样,Data输出两组各有24个宽度为13微秒的窄脉冲,前一组为绝对数据,后一组为相对数据,用一个串入并出带锁存的移位寄存器74HC595对数显百分表输出的串行信号进行处理。5.2移位寄存部分当定时器/计数器计满8个时钟脉冲时就中断,这时就将进入移位寄存器的8位数据锁存,锁存器工作时需要提供一个上升沿锁存时钟才能进行锁存,所以就用软件给P3.0一个上升沿控制移位寄存器锁存并行输出到P1口,然后读取P1口并将读完之后的数据另存,以防止被后一组数据覆盖,当3组数据存储完毕后就关闭中断。5.3数据处理部分当CLK一个脉冲下降沿时,就可以读这个脉冲宽度内相应的Data数据(高电平为1,低电平为0)。前面提到,正数的标定系数为非常数,而负数的标定系数为常数。而且对所得的相对数据进行高低位颠倒后发现,正数的二进制的最高位都为1,而负数的为0(判断是否需要取反)。但若给颠倒后的正数的相对数据再进行取反,之后再用真实值去除以这个取反后的数,即可得到为常数的标定系数,在后续的软件编程时,只需将标定系数扩大1000倍,乘以单片机采集到的数据,即可得到一个整数,这样处理便于数据的拆分与显示。借助相关测量仪器分析数显百分表输出信号与其显示数据之间的关系是软件编程的基础;合理选择相关硬件搭建电路可有效地保证系统运行稳定性的同时降低成本。5.4展望随着机械现代化和自动化的发展,越来越多的机械硬件被软件设计所代替,准确的程序编写和合理的电路搭建,可以有效的在保证系统运行下降低成本。相信不远的将来,数显百分表会发展的越来越成熟同时能被广泛的应用于各类工程领域。

致谢很快,四年时间就要结束了,我们也即将步入社会这个大家庭去,冲向崭新的工作与生活。很感谢此次毕业设计中我的指导老师梁应选老师,在我迷茫时给予帮助,不自信时给我鼓励,让我能成功的完成毕业设计。另外,需要特别感谢的就是我的父母,他们总是给予我无私的爱和关怀,前两天,也就是毕设快要结束的几天,我得病住院的几天,我妈妈还特地从老家赶来照顾我,帮我解决了后顾之忧,让我能顺利的完成毕业设计。最后,我还要感谢这次审阅我论文的老师们,由于我的能力有限,论文中的不足,还请老师们不吝指导,谢谢。

参考文献[1]尹志刚.百分表自动检测装置的研究与设计[D].黑龙江大学,2011.[2]王盼盼.容栅传感器在数字式皮革测厚仪中的应用研究[D].陕西科技大学,2012.[3]梁应选,杨明亮.基于容栅传感器和单片机的检测系统[J].实验室研究与探索,2013,06:25-29.[4]王辉林,李莎莎.基于LabVIEW的数显百分表测量系统[J].计量技术,2008,06:37-39.[5]项琳.基于MCS-51单片机的油井系统测试仪研究[D].中国石油大学,2008.[6]李蒙.基于STC89单片机的实验教学系统[D].天津大学,2008.[7]张剑.基于USB总线的便携式数据采集系统设计[D].南京理工大学,2004.[8]王蕊.基于单片机的多功能自动调温风扇系统设计[D].郑州大学,2014.[9]刘文.基于STC89C52的探测救援智能车的设计与研究[J].电子技术与软件工程,2016,02:255.[10]周宦银,吕子勇,马果花,胡杰微.电压比较器实验研究[J].实验技术与管理,2012,03:42-44.[11]张荣.容栅编码器研究及其应用[D].同济大学,2007.[12]戚瑞民.数字存储示波器的设计研究[D].合肥工业大学,2007.[13]王习文,齐欣,宋玉泉.容栅传感器及其发展前景[J].吉林大学学报(工学版),2003,02:89-94.[14]邵拓.容栅传感器机理研究及其测量系统构建[D].华北电力大学(北京),2011.[15]徐科军,马修水,廖健芳,马文.容栅传感器研究与开发现状[J].工具技术,1994,12:37-40.[16]毛春丽.如何做好数字示波器幅值的测量审核[J].国外电子测量技术,2014,08:78-81.[17]唐文彦.传感器[M].4版.北京:机械工业出版社,2009.[18]张国雄.测控电路[M].3版.北京:机械工业出版社,2008.[19]孙永泉,王振清.基于容栅传感器和单片机的变形检测系统[J].微计算机信息,2007,23(35):103-104,37.[20]杨雪芳,蔡萍,王卫钢,等.全数字式容栅位移传感器[J].仪表技术与传感器,2005(7):5-6.[21]AkiraMaekawa,MichiyasuNoda,MasanoriShintani.Experimentalstudyonanoncontactmethodusinglaserdisplacementsensorstomeasurevibrationstressinpipingsystems[J].Measurement,2016,79:.[22]LeventParalı,JiriPechousek,İsrafilŞabikoğlu,PetrNovak,JakubNavarik,MilanVujtek.Adigitalmeasurementsystembasedonlaserdisplacementsensorforpiezoelectricceramicdiscsvibrationcharacterization[J].Optik-InternationalJournalforLightandElectronOptics,2016,1271:.[23]D.Milewska,K.Karpienko,M.Jędrzejewska-Szczerska.Applicationofthindiamondfilmsinlow-coherencefiber-opticfabry-Pérotdisplacementsensor[J].Diamond&RelatedMaterials,2016,:.[24]ChunleiJiang,ChengweiLi,YunWang.IMPROVEDTRANSITIONDETECTIONALGORITHMFORASELF-MIXINGDISPLACEMENTSENSOR[J].Optik-InternationalJournalforLightandElectronOptics,2016,:.[25]SicongTao,XiaopengDong,BowenLai.Temperature-insensitivefiberBragggratingdisplacementsensorbasedonathin-wallring[J].OpticsCommunications,2016,:.[26]JunLi,HongHao.Healthmonitoringofjointconditionsinsteeltrussbridgeswithrelativedisplacementsensors[J].Measurement,2016,88:.[27]SupakornHarnsoongnoen,NiwatAngkawisittpan.AngularDisplacementSensorBasedonCoplanarWaveguide(CPWs)LoadedwithS-ShapedGoldenSpiral-TaperedSplitRingResonators(SGS-SRRs)[J].ProcediaComputerScience,2016,86:.[28]Y.-C.Tan,Z.M.Ripin.TechniqueofMeasuringPistonSecondaryMotionUsingLaserDisplacementSensors[J].ExperimentalMechanics,2012,529:.[29]MuruganSethuramalingam,UmayalSubbiah.Enhancingthelinearitycharacteristicsofphotoelectricdisplacementsensorbasedonextremelearningmachinemethod[J].PhotonicSensors,2015,51:.[30]A.Arifin,A.M.Hatta,Sekartedjo,M.S.Muntini,A.Rubiyanto.Long-rangedisplacementsensorbasedonSMSfiberstructureandOTDR[J].PhotonicSensors,2015,52:.[31]A.Arifin,A.M.Hatta,Sekartedjo,M.S.Muntini,A.Rubiyanto.Long-rangedisplacementsensorbasedonSMSfiberstructureandOTDR[J].PhotonicSensors,2015,52:.

附录主程序#include"Source.h"voidmain(){ uint32_tval; floatdisp; init_dialgauge(); init_1602(); clear_1602(); delay_ms(20); loop: while(true) { if(NewData) //如果有新数据 { EA=0; //关闭中断,防止新数据过来出乱子 val=transform(); //转换新数据 disp=val; disp=disp*0.000124; val=(uint32_t)disp*1000; write_string(0,0,"DialgaugeValue:"); if(isPlus) //显示正负号 write_char(1,0,''); else write_char(1,0,'-'); //显示数据 write_char(1,1,val/10000%10+0x30); write_char(1,2,val/1000%10+0x30); write_char(1,3,'.'); write_char(1,4,val/100%10+0x30); write_char(1,5,val/10%10+0x30); write_char(1,6,val%10+0x30); NewData=false; while(true) { if(INTE==0){ //如果等待13us,中断过来的线一直是低电平,说明初始的54us高电平经过反相器成为的低电平来了,开中断,接数据 delay(13); if(INTE==0){ EA=1; gotoloop; } } } } } }程序2#include"dialgauge.h"uint8_treadData[6];boolNewData;boolisPlus;voidinit_dialgauge() //初始化和百分表相关的中断{ TMOD=(0x02|0x04); //0x04计数功能,0x02自动重装8位定时模式 TH0=256-8; //自动重装8位计数模式,每次计数溢出时TH0自动复制给TL0 TL0=256-8; //预置数,TL0=256-8,以后置数工作由自动重装8位模式干 EA=1; //开总中断 TR0=1; //开始启用T0计数器/定时器 ET0=1; //计数器可以计数}voidtimer0()interrupt1 //中断函数,8个下降沿脉冲到来之后,也就是串行转并行器件完成1byte记录之后执行,读取该byte{ staticuint8_ttimes=0; //静态变量times记录第几次来中断,第1-6次分别对应数据的第1-6组,全部都读取,但是只用最后三组。 readData[times]=DATA_PORT //将第times组的数据从并口DATA_PORT存到数组里面,times从0-5,分别对应6组读取出来的数据 times=(++times)%6; //times在0-5中间变动,每次自增1,5会自动自增成0。经典算法 if(times==0) //times被上述等式置0,一组数据全部读取完成的时候 NewData=true; //报告新数据=true,主函数会处理}

温馨提示

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

评论

0/150

提交评论