




已阅读5页,还剩38页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
前 言在现代工业生产加工中,越来越高的技术指标和加工精度要求有新型、快速、柔性好、能直接在生产环境中进行非破坏性产品质量检测的传感器。距离是工业产品的重要参数,以往典型的测距离的方法是靠机械接触,十几年前,光纤技术已应用于工业领域,光纤用于传感是光电子技术的新结晶,它具有常规检测技术不可比拟的诸多优点,而且能实现“传”和“感”的合二为一,由于其体积小、抗电磁干扰能力强、易柔性弯曲、可在某些特殊场合下工作,所以,用光纤传感器进行非接触的尺寸测量,是当今测量领域中传感技术发展的主导方向之一。光纤传感技术是利用光纤作为媒介,对待测量的物理量,如:温度、压力、运动等,进行检测的一种检测技术,其中光纤既可是光信息的载体,也可以是一种光调制器或者换能器,由此,光纤传感技术对于光纤的要求一般不同于通信光纤,对传感器用光纤(称为功能光纤,或者特殊应用光纤)的研究对光纤传感器的应用是非常重要的,这一类光纤的研制与生产,成为光纤技术中又一新的方向。实用的光纤传感器需要使测量光纤对待测的量敏感,对非测量或者称为环境要非常不敏感,这对于应用光纤来说是相当困难的。例如:目前已得到深入研究和相当应用的干涉型光纤陀螺系统,其中光纤的应用就相当能说明光纤的类型对设计传感器系统的影响,初期的光纤陀螺普遍采用通信上广泛采用的单模光纤,由于单模光纤中存在两个正交的偏振模式,其相互耦合是系统的性能受到一定的影响;而近而发展起来的保偏光纤为提高干涉型光纤陀螺系统提供了可能,而针对传感器应用的保偏光纤,在材料、结构上都有很强的针对性,作为真正意义上的特殊应用光纤,使得光纤陀螺的性能大大提高了,这充分说明了ASOF(特殊应用光纤)的应用重要性。第一章 方案论证1.1选题背景随着单片机技术和ANIC技术的飞速发展和普及,数据采集系统也得到迅速的应用。在各种生产过程中,应用这一系统可以对生产中各种现场参数进行采集,监视和记录,为人们了解系统的工作状态,以及控制各种环境参数等提供了详尽的信息。在科学研究中,应用数据采集系统可以获得大量的动态信息,是研究瞬间物理过程的有力工具,也是揭开各种科学奥妙的重要手段之一。总之,不论在哪个应用领域,数据采集和处理越及时,工作效率就越高,取得的经济效益就越大3。数据采集系统的任务,就是采集传感器输出的模拟信号,并转换成主处理器可以识别的数字信号,然后再显示或者打印出来,这样可以实现对某些物理量的监测,其中的信号还可以通过处理机去控制某些物理量。对于瞬态数据采集系统的好坏,在保证精度的要求的前提下,应该尽量提高采样速率,以满足是实时采集,实时处理,实时控制对速度的要求。1.2概述时代在进步,光纤在各个领域都有广泛的应用,尤其光纤传感器发展前景更大,我们这里设计的光纤测距系统除了有很高的精度外,使用也比一般的方法简单,快捷,值得我们来研究和开发。此次设计的系统的要求就是从光纤传感器采集来的模拟信号经单片机设计的系统转换成数字信号进行显示。此次设计的光纤测距系统主要是由两大部分组成:光纤传感器和基于MCS-51单片机(我们选用应用比较普遍的51单片机)所设计的系统。而其中比较重要的是基于单片机的一些信号采集、AD转换、输入输出、键盘显示等的设计,也包括所用的程序的编写,这里我使用的语言是汇编语言。我们先来认识一下光纤,光纤是以光脉冲的形式来传输信号,以玻璃或有机玻璃等为网络传输介质。它由纤维芯、包层和保护套组成。光纤可分为单模(Single Mode )光纤和多模(Multiple Mode)光纤。1.3系统功能模块 图1-1 系统功能模块根据要求我们这里选用的是光纤传感器,将数据采集后通过AD转换,传入单片机端口进行处理,单片机 ROM中固化的程序将这些数据分析,最后由LED数码管进行显示。1.4软件部分梗概软件是微机系统的神经中枢,整个系统的动作都是在软件的指挥下协调完成的。这次设计需要用到的程序有A/D转换程序、数据采样程序、数据滤波程序、键盘处理程序、显示程序、过程控制程序等。按使用语言的类别来分,软件分为机器语言,汇编语言和高级语言3种。这里我使用的是汇编语言,因为汇编语言编制的程序效率高,占用存储空间小,运行速度快。汇编语言能编写出最优化的程序,且能反映出计算机的实际运行情况,能直接与存储器、接口电路打交道,也能申请中断,因此汇编语言能直接管理和控制硬件设备1。功能模块:(1) 数据采集。与光纤传感器连接,进行数据采集。(2) 键盘显示。键盘输入,启动系统工作,显示设置距离及当前距离。(3) 距离检测及距离值变换。完成A/D转换及数字滤波(4) 测距控制。检测到的距离处理后,输出控制信号1.5硬件部分梗概可供应选择的MCU有如下几系列:Motorola MC系列:MC6805、MC6808、MC6811、MC6812Intel MCS-48、MCS-51、MCS-96系列。TI的MSP 系列。快速响应没有大的运算量的场合对于CPU的速度并未要求太多,低速的MCU已经能够满足,并且无须快速的输入输出接口、无须扩展,且出于对长期的可靠性原因,静态毫电量不能很高,而且程序比较简单,太大的内存空间。8位核心MCU可以考虑。目前CISC内核8位MCS-51价格低廉,开发资源丰富,也有方便的扩展能力,这里就选择MCS-51作为核心部件。AD转换器是单向的,可以根据感应场合选择常用的AD0809或者精度较好,抗干扰能力强的MC14433。对于特殊的需要复杂的模型分析,MCS-51就不能够很好的来响应,就需要更换16位甚至32位RISC的CPU需要更多的内存和ROM来完成,对于特殊的情况下,比如生命安全领域的应用,还有图像,声音处理,可能要使用嵌入式操作系统,而且采取多种冗余措施,来保证系统的可靠性2。单片机系统中一般常用的显示器有LED(发光二极管)、七段数码管、点阵显示屏等。点阵显示器件是将一个个显示单元排列起来构成点阵,按照其行列位置对每一点进行行编址,按照行列控制器显示各点的明暗,组成相应的字符和汉字。显示可采用静态显示和动态显示两种方式。(分序号)静态显示的优点是稳定,在驱动电流一定的情况下显示的亮度高,CPU占有时间少,能提高CPU的工作效率,缺点是使用元器件较多,连接较多。而动态显示的优点是使用的元器件少,电路简单,缺点是在同等情况下没有静态显示亮度高,而且占有CPU时间长4。键盘部分可选用独立式或行列式键盘。(分序号)独立式键盘中每一个键占用一根I/O口线,每个按键电路相对独立,就是各按键之间没有制约关系,可以独立工作。在实际应用中,可以每个按键动作表示一个意义,也可以用几个甚至全部按键的组合表示不同的意义。而行列式键盘按照二维矩阵用导线将按键组织排列起来而形成按键矩阵。采用行列电路结合行列交点处通过按键相连,列线作为扫描输出,行线作为按键检测输入,按键数多。在实际应用中,使用编码器要选用优先编码器,并按照编码器的优先原则进行按键蹬优先安排。两种方案可以根据实际需要进行选择5。1.6程序方框图图1-2光纤测距系统程序流程图图1-3 输入采样模块图1-4键盘显示模块图1-5 0809的采集程序流程第二章 传感器原理的分析2.1光纤传感器与测量技术是仪器仪表领域新的发展方向由于光纤传感器及技术具有较其它传感器无法比拟的特点,所以近几年来,光纤传感器与测量技术发展成为仪器仪表领域新的发展方向,而新型光纤传感器不外乎有以下特点:* 光纤传感器具有优良的传光性能,传光损耗很小,目前损耗能达到0.2 dB/km的水平。* 光纤传感器频带宽,可进行超高速测量,灵敏度和线性度好。* 光纤传感器体积很小,重量轻,能在恶劣环境下进行非接触式、非破坏性以及远距离测量。还具有灵敏度高、可靠性好、原材料硅资源丰富、抗电磁干扰,抗腐蚀、耐高压、电绝缘性能好、可绕曲、防爆、频带宽、损耗低等特点。同时,它还便于与计算机相连,实现智能化和远距离监控。对传统的传感器起到扩展提高的作用,不少情况下能够完成前者很难完成甚至不能完成的任务。正是由于光纤传感器具有许多独特优势,可以解决许多传统传感器无法解决的问题, 所以自从它问世以来,就被广泛应用于医疗、交通、电力、机械、石油化工、民用建筑以及航空航天等各个领域。我们在讨论光纤传感器在石油化工领域的应用时,即油库油罐液位、温度信号实时监测系统中的设计方案,可以看到它的优点。正因该监测系统应用了光纤液位传感器、光纤温度传感器及光纤液位报警器.为此先对有关的光纤传感器技术作一介绍。2.2光纤传感器的组成与类型光纤传感器一般是由光源、接口、光导纤维、光调制机构、光电探测器和信号处理系统等部分组成。来自光源的光线,通过接口进入光纤,然后将检测的参数调制成幅度、相位、色彩或偏振信息,最后利用微处理器进行信息处理。概括光纤传感器一般由三部分组成,除光纤之外,还必须有光源和光探测器两个重要部件。光纤传感器一般分为两大类:一类是传光型,也称非功能型光纤传感器;另一类是传感型,或称为功能型光纤传感器。前者多数使用多模光纤,以传输更多的光量;而传感型光纤传感器,是利用被测对象调制或改变光纤的特性,所以只能用单模光纤。图2-1传感器结构图2.3光纤位移传感器原理2.3.1 简介光纤位移传感器中光纤采用Y 型结构,即两束光纤的一端合并为光纤探头, 另一端分叉为两束, 分别为光纤入射臂和光纤出射臂, 光纤只起传送光信号的作用。当光源发出的光经光纤入射臂照射到位移反射体上后, 被反射的光又经光纤出射臂输出,被光敏器件接收。其出射光强决定于反射体距光纤探头的距离, 位移改变则输出光强作相应的变化。通过对输出光强的检测而得到位移量。2.3.2 基本电路原理在光纤传感器中电路由两部分组成, 即光源驱动电路和光接收电路。电路设计中发光光源和光接收器件的选择尤为重要。要依据3个原则:(1) 在传感器构造设计方面光源和光接收器件要易于和光纤耦合, 由于光纤芯径较细, 故光源和光接收器件体积要小。(2) 在光纤输出获得的信号方面光源要工作稳定, 亮度高。(3) 从光在光纤中传输损耗上讲光源的峰值波长应接近光纤的零色散波长, 光接收器件的峰值响应也应与之匹配。2.3.3 光源驱动电路以半导体发光二极管LED作为光源, 基本工作电路有直流驱动和脉冲频率调制驱动两种形式。直流驱动电路简单, 由直流电源、限流电阻和LED串联而成LED发光亮度的稳定性依赖于通过它的电流。在直流驱动中所用直流电源电压的不稳定将导致LED发光的不稳定。因此在光亮度要求稳定的光学测试中不采用直流驱动, 它仅适用于作为显示器件的场合。本文采用脉冲频率调制驱动电路, 这样不仅可使LED发光稳定, 而且在光接收电路设计上容易实现, 以消除周围光和光学上的外部干扰。其电路原理图如图所示:脉冲产生部分是以IC及外围阻容元件组成的方波发生器。R和C1组成有延迟的反馈网络, 电容C1上的电压即为反馈电压。稳压管Z对输出电压起限幅作用, 同时对后边开关三极管的基极电位进行牵制, 以使集电极电流即流过LED的电流稳定。2.3.4 光接收电路光接收电路由光电转换、前置放大和滤波三部分组成。图2-2光源驱动电路原理图第三章 MCS-51系列单片机系统结构分析3.1概述单片微型计算机(Single Chip Computer简称单片机)是微型计算机的一个重要分支,自20世纪70年代问世以来,以极高的性能价格比、方便实用等诸多的优点,受到人们的普遍关注,特别是在自动控制、仪器仪表、数据处理、家用电器,以及各种消费类电子产品中,得到广泛的应用。目前的微型计算机按照其电路及设备的功能可分为四大部分:中央处理器(CPU)、存储器(内部和外部存储器)、输入输出接口(I/O)、外围设备(键盘和显示器等)。外围设备都是通过接口与CPU相连接,在硬件结构上基本都是总线型,结构如下图所示。随着单片机功能集成的发展,其应用也逐渐地由单纯的控制扩展为控制处理、数据处理以及数字信号处理(Digital Signal Processing, DSP)等领域6。3.2功能模块3.2.1 微处理器8位单片机具有8位数据线和13位地址线。因此,其基本数据类型是8位的“字”,而13位地址线 A0A12最多可寻访8K字的存储空间,用于存放指令代码和数据。地址线中的高5位P2,低8位A0A7则来自数据与地址分时复用的P0口。P2中的五位口与P0一起组成13位的地址线来寻址89C51中8KB的地址空间7。寄存器组:由通用寄存器、专用寄存器、移位寄存器共8个寄存器组成,这些寄存器都是8位的寄存器。通用寄存器(R1R4)用一般数据处理和数据传送。89C51单片机内核中寄存器A为专门的累加器。专门寄存器中,堆栈指针寄存器SP、程序指针(计数)寄存器PC与其他单片机的相应寄存器的作用相同,分别指出当前堆栈地址和程序地址。3.2.2 片内存储器单片机的存储器有两种基本结构:一种是在通用微型计算机中广泛采用的将程序和数据合用一个存储器空间的结构,称为普林斯顿(Princeton)结构;另一种是将存储器和数据存储器截然分开,分别寻址的结构,称为哈佛(Harvard)结构。目前的单片机以采用程序存储器和数据存储器截然分开的结构为多8。 图4-1单片机的基本组成结构3.2.3 片外存储器在实际应用中,如果片内存储器不够用,就需要使用片外存储器。不同的单片机存储容量不同,对片外存储器的处理也不同。对于兼容总线方式的单片机,可以使用兼容总线管理片外存储器;对于非兼容总线方式的单片机,尽量不使用片外存储器,必要时,需要用并行接口模拟总线的动作。需要注意,在很多情况下,扩展并行接口也要占用存储器地址,要保证寻址地址的唯一性,就要给接口留有地址空间8。3.2.4 定时器/记数器在单片机中,定时器/计数器就是一个固定长度的二进制计数器,当对输入脉冲信号的数量进行记数时,我们称其为计数器,当对单片机的系统时钟或其他的标准时钟进行记数时,由于这类时钟信号本身就表示时间,记数值对应着时间值,所以从这个角度上将其称为定时器。在单片机中,内部定时器都是可编程控制的定时器/计数器,至少有两部分组成:脉冲计数电路和控制寄存器及译码控制电路。在复杂一些的定时器中,还有预置数寄存器、多路开关等9。第四章 单片机软件设计说明及程序流程图程序设计思想按照由上而下(top-down)的编程思想。4.1总体程序思想程序要检测的外界输入量是一个0到4mm的距离,系统要把这个距离采集过来并在4个LED上面显示出来(要求带一个小数,最大为4.0mm),并且还能从键盘输入32路数据的选通码,完成对输入的模拟信号进行选择。而且键盘输入的这个数也要在4个LED上面显示出来。4.2程序的分块分块的思想对于程序员来说是非常重要的。虽然在小型的程序中,我们可以不用分块。但是在大型的程序中,分块的思想的优点就显得很明显了。它对各个块各个击破,可以降低整个系统的难度。它被应用于团队的分工合作中。所以我把这个程序分成了4个子模块:AD转换模块、数制转换模块、动态显示模块,键盘扫描模块。4.3各个关键地址和控制信号说明(a) 8255的CS连P2.7地址为7XXXH(b) 要求启动AD676的信号接在P2.6上,故启动AD的地址为10XX,XXXX,XXXX,XXXXB(c) RD_BUF1和RD_BUF2读取转换结果的信号,分时把数据从锁存器中读取出来送到单片机中。RD_BUF1和RD_BUF2分别接在P1.0 P1.1上由单片机直接控制。(d) S/H同步采样保持信号由单片机直接发出,操作的端口是P1.24.4各个模块功能说明及流程图(源程序见附录):4.4.1 主模块上电后程序等待键盘输入。键盘输入完成后,即按了确认键之后,送出S/H信号,对 32路数据进行同步采样。完成一次AD采集后,数据并行在当手动选择通道时,停止数据采集,显示距离的4个LED灭灯。另外两个LED显示当前输入的通道值。根据实际情况,按键输入设定为三次输入。第一次按键输入的是个十位的数值,第二次输入十分位的数值,第三次为确认键。在输入的过程中可以随时按清除键,清除当前的输入的数,程序跳到第一次输入的入口处,要求输入新的通道号。输入完毕后按确认键,送出多路选通码,跳出键盘扫描程序,开始采集数据,采集完毕后显示当前距离与当前的通道号。(程序检查距离是否超出范围,如果超出范围,则闪动发光二极管警告。)接下来程序返回到开始,测试有无键盘输入,没有的话直接从8951的RAM区读取上次的通道号,选通外部的测量仪表,进行数据采集显示。在程序中,数据转换处理程序会根据数据采集的值是否和上次一样的判断来决定是不是可以不要进行此次数据转换,而直接利用上次转换的结果进行显示。这样节省了一些数据处理的时间。4.4.2 A/D采集模块P2.7和/WR信号同时为0时CPLD中的AD_ST变高有效,P2.7和/WR经过或非门得到AD_ST。只要使用MOV DPTR,# 7FFFH 和MOVX DPTR,A就可以启动CPLD状态机控制AD转换。软件滤波:软件滤波有很多的方法。在这个程序里,采用算术平均滤波法,采集16次后取平均,这个处理可以滤除一些异常数据9。4.4.3 数据转换处理程序(加序号)功能:本模块将16位二进数转换成压缩BCD码,然后再将压缩BCD码的所表示的10进制数的每位分别取出来转换成可直接显示的格式,送入显示缓冲区,60H65H中。入口:(50H51H):高位在50H中,低位在51H中出口: 60H63H资源: r6,r7,r3,r4,r5下面是16位数转压缩BCD码的程序流程图:计算公式:16二进制数=(r5低4位表示的BCD码)+(r5高4位表示的BCD码)*10+(r4低4位表示的BCD码)*100+(r4低4位表示的BCD码)*1000+(r3低4位表示的BCD码)*100004.4.4 动态显示子模块(加序号)功能:将显示缓冲区(60h65h)的数据以动态方式在6个LED上显示出来。入口:以LEDBUF为首地址依次存放从百位至十分位待显示数据,以及通道号数据。出口:显示6个LED后灭灯返回。图4-1 16位数转压缩BCD码的程序流程图图4-2动态显示模块流程图4.4.5 键盘扫描及键码处理模块(加序号)功能: 得到键盘扫描码,并且通过KEYSWITH程序对得到的键盘码进行处理。写对应的显示缓冲区和键盘缓冲区。这个程序对键盘输入错误做了处理:当第三次输入的键盘还是数字键的话,由于输入的路数只有031总共32路,所以输入错误,当第二次输入为确认键时,输入也错误,对这些出错,系统都是把键盘缓冲区清0,计数器r3也清0,在LED显示器上面显示“ERROR”,要求重新输入。键盘码的程序流程:图4-3 键盘扫描程序流程图第五章 调试运行情况调试步骤:1、按原理图连接好硬件。2、编程环境软件开发环境:伟福WAVE6000 ,该软件的模拟调试器支持C语言及汇编语言源代码调试,其汇编程序支持宏汇编及模块化编程,使用方便。首先在模拟调试器中调试各子模块,各子模块调试正常后再将各子模块及主模块全部汇编连接成目标文件,最后将目标代码下载到单片机中并连接CPLD及光纤传感器进行统调。3、由于硬件的焊接部分没有完成,相对的也没办法对硬件进行调试。该系统软件部分测试时既在伟福实验箱上通过,也用51仿真头在线仿真。经过一个多次的连续运行观察,运行可靠稳定,完全满足使用要求。4、调试的体会汇编程序的调试比较复杂和烦琐,要求编程者对硬件的结构有比较深刻的了解和耐心细致的思维品质。调试中通常跳出很多的意想不到的问题,这些对我们都是一个个考验。但是最后经过不懈的努力,到程序通过的时候,所有的辛苦都得到了最好的回报。总结到此,单片机控制的光纤测距系统的软件设计已经完成。在ADC进行设计上,要对电路的干扰和瞬时性提出很高的要求,ADC0809元件对于外界的微小电压变化,产生的输出幅度差是很大的,因此在电路设计上尤其要注意对ADC0809外围电路的接地以及绝缘措施,防止误报或者错报。从实验台上测得的数据是光纤传感器的输出电压是0.5V,距离在0mm-3mm时测得的电压近似呈线形,曲线到了最高点后下降,可见此实验台并不精确,需要进一步的改进。这次测距系统的设计是针对小距离长度的测量,测得的数据的波动不大,因为所测距离的范围比较小,所以相对需要较高的精度。对于单片机在监控系统下,由于工作条件的限制,对于外界的湿度,温度等环境下的可靠度,都要有一定的要求,这对电路的可靠性就提出了新的要求,对此,不仅要在硬件上进行冗余设计,而且软件中也要有一定冗余的处理。整个系统的软件设计是用汇编语言实现的,用伟福WAVE6000软件进行了调试,因为程序比较多调试起来也是比较麻烦,最后在同学和老师的帮助下调试成功了。但是由于设计者的水平,在测量系统的精度,抗干扰性能,稳定性能上存在着问题,有待于进一步改进。通过这次的毕业设计,使我们在专业知识方面有了一个很大的提高,使我们充分认识到我们所掌握的专业知识和技能还远远不够的。毕业设计可以说是将以前的有关设计全部集中在一起,要求我们掌握多种专业技能,了解更多的专业知识。同时使我知道了,知识是取之不尽,用之不竭的,即便是以后走到工作岗位上,也要不断的学习各种知识,使自己成为一个全面的人才。致 谢本课题的设计及论文是在许京雷老师的悉心指导下才得以顺利完成的,在许老师的指导下,我无论从理论上,还是从实践上都有了很大的进步。他严谨求实的治学态度,丰富渊博的知识涵养,严肃认真的工作作风和兢兢业业的敬业精神,使我终生受益。在论文的选题、英文的翻译,系统方案设计、实验现象的分析与研究及最后论文的撰写,他都倾注了大量的心血,来指导我们。在此,谨向许京雷老师致以诚挚的谢意,并表示衷心的感谢。同时要感谢实验室的各位老师,感谢他们提供的实验设备和干净的实验室环境,还有他们在实验室给予的指导。另外还要感谢我同组的一位同学,没有他们的支持和配合我的工作也不能很顺利了完成。最后要感谢那些在这个炎热的夏天,耐着酷暑给我们评定论文和答辩的老师,感谢他们的辛勤劳动。参考文献1 杨恢先等编著. 单片机原理及应用M.长沙,国防科技大学出版社,2003. 2 李朝青编著. 单片机原理及接口技术M.北京,北京航空航天大学出版,2004.3 李朝青编著. PC机及单片机数据通信技术M. 北京,北京航空航天大学出版,2002.4 于凤明等编著. 单片机原理及接口技术M. 北京,中国轻工业出版社,2003.5 何立民主编,单片机中级教程,单片机高级教程M. 北京,北京航空航天大学出版社,20036 余永权,汪明慧,黄英编著,单片机在控制系统中的应用M. 西安,电子工业出版社,20037 李建忠主编,单片机原理及应用M.西安,西安电子科技大学出版社,20028 薛钧义等编著. 单片微型计算机及其应用M. 西安,西安交通大学出版社, 2003.9 张毅刚编著. 单片机原理及应用M. 哈尔滨,哈尔滨工业大学出版社,200410 Eric Griffith. Improving the Single-C.,2004附录A源程序ADPORT EQU 9000HLENPHEQU 50HLENPL EQU 51H ;数据存放在(50)(51)地址单元中BIT_CS EQU 8002H;7F01HSEG_CS EQU 8004H;7F02HIN EQU 8001H;7F03HLEDBUF EQU 60HORG 0000HLJMP STARTDELAY:MOV R7,#0DL1: DJNZ R7, DL1DJNZ R6, DL1RETLEDMAP:DB 3FH, 06H, 5BH, 4FH, 66HDB 6DH, 7DH, 07H, 7FH, 6FH; =; 键盘扫描子程序; =TESTKEY:MOV DPTR, #BIT_CSMOVA, #0FFHMOVX DPTR, AMOVDPTR, #INMOVX A, DPTRCPL AANL A, #0FHRETGETKEY:MOV R1, #00001000BMOV R2, #4KLOOP:MOV DPTR,#BIT_CSMOV A, R1MOVX DPTR, A ;逐行输出为低电平RR AMOV R1, AMOV DPTR,#INMOVX A, DPTRCPL AANL A, #0FHJNZ GOON1 ; 该行有键入DJNZ R2, KLOOPMOV R2, #0FH ; 没有键按下, 返回 0FHSJMP WAITRELEASEGOON1:MOV R1, A ; 键值 = 行 X 4 + 列值MOV A, R2DEC A ;(第N行-1)X4RL ARL AMOVR2, A ; R2 = (R2-1)*4MOV A, R1 ; R1 中为读入的列值MOV R1, #4LOOPC:RRC A ; 移位找出所在列JC WAITRELEASEINC R2 ; R2 = R2+ 列值DJNZ R1, LOOPCWAITRELEASE:MOV DPTR, #BIT_CS ; 等键释放CLR AMOVX DPTR, AMOV R6, #10CALL DELAYCALL TESTKEYJNZ WAITRELEASEMOV A, R2 ;获得的键盘码放A中; =KEYSWICH:RL AMOVDPTR,#SKYTABJMP A+DPTRSKYTAB:AJMP IN0_9 ;键盘码0,数字0AJMP IN0_9 ;键盘码1,数字1AJMP IN0_9 ;键盘码2,数字2AJMP IN0_9 ;键盘码3,数字3AJMP IN0_9 ;键盘码4,数字4AJMP IN0_9 ;键盘码5,数字5AJMP IN0_9 ;键盘码6,数字6AJMP IN0_9 ;键盘码7,数字7AJMP IN0_9 ;键盘码8,数字8AJMP IN0_9 ;键盘码9,数字9AJMP ADD1 ;键盘码A,功能键巡回+1AJMP DEC1 ;键盘码B,功能键巡回-1AJMP CLEAR ;键盘码C, 清除键AJMP ENTER ;键盘码D,确认键AJMP NUL ;键盘码E,没有定义AJMP NUL ;键盘码F,没有定义IN0_9:INC R3SETB 00HCJNE R3,#1,SECKEYFIRKEY:MOV A,R2MOV LEDBUF+0,#0MOV LEDBUF+1,#0MOV LEDBUF+2,#0MOV LEDBUF+3,#0MOV DPTR,#LEDMAPMOVC A,A+DPTRMOV LEDBUF+4,AMOV LEDBUF+5,#0MOV A,R2RL ARL ARL AADD A,R2ADD A,R2MOV 52H,ARETSECKEY:CJNE R3,#2,THIRDMOV A,52HADD A,R2MOV 52H,AMOV DPTR,#LEDMAPMOV B,#10DIV ABMOVC A,A+DPTRMOV LEDBUF+4,AMOV A,BMOVC A,A+DPTRMOV LEDBUF+5,AMOV LEDBUF+0,#0MOV LEDBUF+1,#0MOV LEDBUF+2,#0MOV LEDBUF+3,#0RETTHIRD:MOV R3,#0ACALL ERRORRETADD1:SETB 00HMOV A,52HSUBB A,#30JCGN3JMP NUL ;增加到31为止GN3: MOV A,52HINC AMOV 52H,AMOV B,#10DIV ABMOV DPTR,#LEDMAPMOVC A,A+DPTRMOV LEDBUF+4,AMOV A,BMOVC A,A+DPTRMOV LEDBUF+5,AMOV LEDBUF+0,#0MOV LEDBUF+1,#0MOV LEDBUF+2,#0MOV LEDBUF+3,#0RETDEC1:SETB 00HMOV A,52HJZ NUL ;减少到0为止DEC AMOV 52H,AMOV B,#10DIV ABMOV DPTR,#LEDMAPMOVC A,A+DPTRMOV LEDBUF+4,AMOV A,BMOVC A,A+DPTRMOV LEDBUF+5,AMOV LEDBUF+0,#0MOV LEDBUF+1,#0MOV LEDBUF+2,#0MOV LEDBUF+3,#0RETCLEAR:MOV R3,#0CLR AMOV 52H,AMOV 53H,AMOV LEDBUF+0,#0MOV LEDBUF+1,#0MOV LEDBUF+2,#0MOV LEDBUF+3,#0MOV LEDBUF+4,#0MOV LEDBUF+5,#0RETENTER: CJNE R3,#1,NE1CALL ERRORRETNE1:CLR 00H; LCALL MUXRETERROR:MOV LEDBUF+0,#31HMOV LEDBUF+1,#3FHMOV LEDBUF+2,#31HMOV LEDBUF+3,#0HMOV LEDBUF+4,#79HMOV LEDBUF+5,#31HCLR AMOV R2,AMOV 52H,R2SETB 00HJMP LP0RETNUL: RET; =; 动态显示子程序; =DISPLAYLED:MOV R0, #LEDBUFMOV R1, #6 ; 共6个八段管MOV R2, #00100000B ; 从左边开始显示LOOP:MOV DPTR, #BIT_CSMOV A, #0FFHMOVX DPTR, A ; 关所有八段管MOV A, R0MOV DPTR, #SEG_CSMOVX DPTR, AMOV DPTR, #BIT_CSMOV A, R2MOVX DPTR, A ; 显示一位八段管MOV R6, #1CALL DELAYMOV A, R2 ; 显示下一位RR AMOV R2, AINC R0DJNZ R1, LOOPMOV DPTR,#SEG_CSMOV A,#0MOVX DPTR,ARETREAD_AD:CLR PSW.1MOV DPTR,#9000HMOVX DPTR,A ;启动ADHERE: JB P3.3,HEREMOVX A,DPTRMOV B,#距离范围MUL AB ;采集数据X距离范围MOV 33H,#0MOV 34H,BMOV 35H,ACALL DIV_DWMOV 30H,R4MOV 31H,R5MOV A,30HCJNZ A,50H,DIFFERMOV A,31HCJNZ A,51H,DIFFERCALL HULUE ;相同就不须进行BCD转换RETHULUE:SET PSW.1 ;置与上次采集数据相同标志位RETDIFFER:MOV 51H,31HMOV 50H,30HRETDIV_DW:DV31:CLRCMOV R3,33HMOV R4,34HMOV R5,35HMOV R7,#255 MOVA,R3 SUBBA,R7 JCDV30 SETBOV;商溢出 RET DV30:MOVR2,#10H;求R3R4R5R7R4R5 DM23:CLRC MOVA,R5 RLCA MOVR5,A MOVA,R4 RLCA MOVR4,A MOVA,R3 RLCA MOVR3,A MOVF0,C CLRC SUBBA,R7 ANLC,/F0 JCDM24 MOVR3,A INCR5 DM24:DJNZR2,DM23 MOVA,R3;四舍五入 ADDA,R3 JCDM25 SUBBA,R7 JCDM26 DM25:INCR5 MOVA,R5 JNZDM26 INCR4 DM26:CLROV RET;商在R4R5中 TOBCD:JBC PSW.1,DISP ;如果采集数值和上次一样,则跳过BCD码转换MOV R7,51HMOV R6,50HHB2: CLR A ;码初始化MOV R3,AMOV R4,AMOV R5,AMOV R2,#10H ;转换双字节十六进制整数HB3: MOV A,R7RLC AMOV R7,AMOV A,R6RLC AMOVR6,AMOV A,R5 ;码带进位自身相加,相当于乘ADDC A,R5DA A ;十进制调整MOV R5,AMOV A,R4ADDC A,R4DA AMOV R4,AMOV A,R3ADDC A,R3MOV R3,A ;双字节十六进制数的万位数不超过,不用调整DJNZ R2,HB3 ;处理完DISP:MOV DPTR,#LEDMAPMOV A,R3JZ D1MOVLEDBUF+0,#06HSJMPD2D1:MOV LEDBUF+0,#0 ;当LED最高位为0时,让它灭掉D2:MOV A,R4MOV B,#16DIV ABMOVC A,A+DPTRMOV LEDBUF+1,AMOV A,BMOVC A,A+DPTRADD A,#80HMOV LEDBUF+2,AMOV A,R5MOV B,#16DIV ABXCH A,BSUBB A,#5JC A5INC BA5:MOV A,BMOVC A,A+DPTRMOV LEDBUF+3,AMOV A,52HSUBB A,#32JNC END1MOV A,52HMOV B,#10DIV ABMOVC A,A+DPTRMOV LEDBUF+4,AMOV A,BMOVC A,A+DPTRMOV LEDBUF+5,AEND1:RET; =; 主程序开始; =START:MOV SP, #70HMOV DPTR,#7F00HMOVA,#03HMOVX DPTR,AMLOOP:SETB 00HCALL TESTKEYJZ ADLP0:CLR AMOV R3, ACALL DISPLAYLEDCALL TESTKEYJZ LP0CALL GETKEY ;NO1LP1: CALL DISPLAYLEDCALL TESTKEYJZ LP1CALL GETKEY ;NO2LP2: CALL DISPLAYLEDCALL TESTKEYJZ LP2CALL GETKEY ;NO3JB 00H,LP1 ;等待键盘输入的确认AD: CALL READ_ADCALL TOBCDCALL DISPLAYLEDSJMP MLOOPEND目 录前 言1第一章 方案论证21.1选题背景21.2概述21.3系统功能模块31.4软件部分梗概31.5硬件部分梗概41.6程序方框图4第二章 传感器原理的分析82.1光纤传感器与测量技术是仪器仪表领域新的发展方向82.2光纤传感器的组成与类型82.3光纤位移传感器原理93.1概述113.2功能模块11第四章 单片机软件设计说明及程序流程图144.1总体程序思想144.2程序的分块144.3各个关键地址和控制信号说明144.4各个模块功能说明及流程图(源程序见附录):14第五章 调试运行情况19总结20致 谢21参考文献22附录A源程序23袄芈蒇袇螀芇蕿蚀聿芆艿蒃肅芅蒁螈羁芄薃薁袆芃芃螆螂芃莅蕿肁节蒈螅羇莁薀薈袃莀艿螃蝿荿莂薆膈莈薄袁肄莇蚆蚄羀莇莆袀袆羃蒈蚂螂羂薁袈肀肁芀蚁羆肁莃袆袂肀薅虿袈聿蚇蒂膇肈莇螇肃肇葿薀罿肆薂螆袅肅芁薈螁膅莃螄聿膄蒆薇羅膃蚈螂羁膂莈蚅袇膁蒀袀螃膀薂蚃肂腿节衿羈腿莄蚂袄芈蒇袇螀芇蕿蚀聿芆艿蒃肅芅蒁螈羁芄薃薁袆芃芃螆螂芃莅蕿肁节蒈螅羇莁薀薈袃莀艿螃蝿荿莂薆膈莈薄袁肄莇蚆蚄羀莇莆袀袆羃蒈蚂螂羂薁袈肀肁芀蚁羆肁莃袆袂肀薅虿袈聿蚇蒂膇肈莇螇肃肇葿薀罿肆薂螆袅肅芁薈螁膅莃螄聿膄蒆薇羅膃蚈螂羁膂莈蚅袇膁蒀袀螃膀薂蚃肂腿节衿羈腿莄蚂袄芈蒇袇螀芇蕿蚀聿芆艿蒃肅芅蒁螈羁芄薃薁袆芃芃螆螂芃莅蕿肁节蒈螅羇莁薀薈袃莀艿螃蝿荿莂薆膈莈薄袁肄莇蚆蚄羀莇莆袀袆羃蒈蚂螂羂薁袈肀肁芀蚁羆肁莃袆袂肀薅虿袈聿蚇蒂膇肈莇螇肃肇葿薀罿肆薂螆袅肅芁薈螁膅莃螄聿膄蒆薇羅膃蚈螂羁膂莈蚅袇膁蒀袀螃膀薂蚃肂腿节衿羈腿莄蚂袄芈蒇袇螀芇蕿蚀聿芆艿蒃肅芅蒁螈羁芄薃薁袆芃芃螆螂芃莅蕿肁节蒈螅羇莁薀薈袃莀艿螃蝿荿莂薆膈莈薄袁肄莇蚆蚄羀莇莆袀袆羃蒈蚂螂羂薁袈肀肁芀蚁羆肁莃袆袂肀薅虿袈聿蚇蒂膇肈莇螇肃肇葿薀罿肆薂螆袅肅芁薈螁膅莃螄聿膄蒆薇羅膃蚈螂羁膂莈蚅袇膁蒀袀螃膀薂蚃肂腿节衿羈腿莄蚂袄芈蒇袇螀芇蕿蚀聿芆艿蒃肅芅蒁螈羁芄薃薁袆芃芃螆螂芃莅蕿肁节蒈螅羇莁薀薈袃莀艿螃蝿荿莂薆膈莈薄袁肄莇蚆蚄羀莇莆袀袆羃蒈蚂螂羂薁袈肀肁芀蚁羆肁莃袆袂肀薅虿袈聿蚇蒂膇肈莇螇肃肇葿薀罿肆薂螆袅肅芁薈螁膅莃螄聿膄蒆薇羅膃蚈螂羁膂莈蚅袇膁蒀袀螃膀薂蚃肂腿节衿羈腿莄蚂袄芈蒇袇螀芇蕿蚀聿芆艿蒃肅芅蒁螈羁芄薃薁袆芃芃螆螂芃莅蕿肁节蒈螅羇莁薀薈袃莀艿螃蝿荿莂薆膈莈薄袁肄莇蚆蚄羀莇莆袀袆羃蒈蚂螂羂薁袈肀肁芀蚁羆肁莃袆袂肀薅虿袈聿蚇蒂膇肈莇螇肃肇葿薀罿肆薂螆袅肅芁薈螁膅莃螄聿膄蒆薇袁节膅薂羄肅蒃薁蚃芀荿薀螆肃芅蕿袈芈膁蚈羀肁蒀蚇蚀袄莆蚇螂肀莂蚆羅袂芈蚅蚄膈膄蚄螇羁蒂蚃衿膆莈蚂羁罿芄螁蚁膄膀螁螃羇葿螀袅膃蒅蝿肈羆莁螈螇芁芇莄袀肄膃莄羂艿蒂莃蚂肂莈蒂螄芈芄蒁袆肀膀蒀罿袃薈葿螈聿蒄葿袁羁莀蒈羃膇芆蒇蚃羀膂蒆螅膅蒁薅袇羈莇薄罿膄芃薃虿羆艿薃袁节膅薂羄肅蒃薁蚃芀荿薀螆肃芅蕿袈芈膁蚈羀肁蒀蚇蚀袄莆蚇螂肀莂蚆羅袂芈蚅蚄膈膄蚄螇羁蒂蚃衿膆莈蚂羁罿芄螁蚁膄膀螁螃羇葿螀袅膃蒅蝿肈羆莁螈螇芁芇莄袀肄膃莄羂艿蒂莃蚂肂莈蒂螄芈芄蒁袆肀膀蒀罿袃薈葿螈聿蒄葿袁羁莀蒈羃膇芆蒇蚃羀膂蒆螅膅蒁薅袇羈莇薄罿膄芃薃虿羆艿薃袁节膅薂羄肅蒃薁蚃芀荿薀螆肃芅蕿袈芈膁蚈羀肁蒀蚇蚀袄莆蚇螂肀莂蚆羅袂芈蚅蚄膈膄蚄螇羁蒂蚃衿膆莈蚂羁罿芄螁蚁膄膀螁螃羇葿螀袅膃蒅蝿肈羆莁螈螇芁芇莄袀肄膃莄羂艿蒂莃蚂肂莈蒂螄芈芄蒁袆肀膀蒀罿袃薈葿螈聿蒄葿袁羁莀蒈羃膇芆蒇蚃羀膂蒆螅膅蒁薅袇羈莇薄罿膄芃薃虿羆艿薃袁节膅薂羄肅蒃薁蚃芀荿薀螆肃芅蕿袈芈膁蚈羀肁蒀蚇蚀袄莆蚇螂肀莂蚆羅袂芈蚅蚄膈膄蚄螇羁蒂蚃衿膆莈蚂羁罿芄螁蚁膄膀螁螃羇葿螀袅膃蒅蝿肈羆莁螈螇芁芇莄袀肄膃莄羂艿蒂莃蚂肂
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 激光辅助吻合技术-洞察及研究
- 创业培训课件实地调研
- 刀片安全培训内容课件
- 煤矿典型机电事故讲解
- 计算机进制讲解
- 学校宿管招聘面试题目及答案
- 动静结合写作手法课件
- 2025国企宣传岗面试题及答案
- 动量守恒的几种模型课件
- 动车组司机安全培训心得
- 超早期脑梗死的CT影像表现及诊断课件
- 拉西地平原料制药课程设计说明书
- 小学体育-小学二年级《单双脚跳》教学设计学情分析教材分析课后反思
- 居室环境的清洁与消毒
- ××领导班子及成员分析研判报告
- GB/T 9124.1-2019钢制管法兰第1部分:PN系列
- GB/T 2518-2008连续热镀锌钢板及钢带
- Frenchay构音障碍评定
- 教育学原理课后答案主编项贤明
- 建筑装饰施工技术-轻质隔墙工程施工课件(-)
- 语言领域核心经验《学前儿童语言学习与发展核心经验》
评论
0/150
提交评论