基于单片机的光纤智能位移计_第1页
基于单片机的光纤智能位移计_第2页
基于单片机的光纤智能位移计_第3页
基于单片机的光纤智能位移计_第4页
基于单片机的光纤智能位移计_第5页
已阅读5页,还剩59页未读 继续免费阅读

下载本文档

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

文档简介

1、分类号:TM93 编号:BY 15 6119 13/14/2 12-1002沈阳化工大学本科毕业论文 题 目:基于单片机的光纤智能位移计 院 系: 专 业: 班 级: 学生姓名: 指导教师: 论文提交日期:2014年06月23日 论文答辩日期:2014年06月25日论文独创性声明本人郑重声明:此处所提交的学位论文是本人在导师指导下,在沈阳化工大学本科毕业环节独立进行研究工作所取得的成果。据本人所知,论文中除已注明部分外不包含他人已发表或撰写过的研究成果。对本文的研究工作做出重要贡献的个人和集体,均已在文中以明确方式注明。本声明的法律结果将完全由本人承担。作者签名: 日期: 年 月 日关于学位论

2、文使用授权的说明本论文的研究成果归沈阳化工大学所有,本论文的研究内容不得以其它单位的名义发表。本学位论文作者和指导教师完全了解沈阳化工大学有关保留、使用学位论文的规定,即:学校有权保留并向国家有关部门或机构送交论文的复印件和电子版,允许论文被查阅和借阅;本人授权沈阳化工大学可以将论文的全部或部分内容编入有关数据库进行检索、交流,可以采用影印、缩印或其他复制手段保存论文和汇编本学位论文。(保密的论文在解密后应遵循此规定)作者签名: 导师签名: 日期: 年 月 日毕业设计(论文)任务书专业班学生:毕业设计(论文)题目: 基于单片机的光纤智能位移计 毕业设计(论文)内容: 以单片机AT89C52为基

3、础 ,加以A/D转换,声光报警以及按键和显示等外围器件,设计一款应用于微小距离测量的光纤智能位移计。毕业设计(论文)专题部分:1、智能位移计的硬件设计2、智能位移计的软件设计3、应用proteus进行仿真调试 起止时间: 2014 年 3 月- 2014 年 6 月指导教师: 签字 年 月 日教研主任: 签字 年 月 日学院院长: 签字 年 月 日摘要目前有很多位移测量的方法,光纤测位移测量是众多位移测量方法中发展较快、应用较多的一种。其中,反射式光纤测位移是发展较早且技术相对成熟的一种,选用此原理制成的光纤位移传感器具有抗电磁干扰能力强、灵敏度高、结构简单、体积小、质量轻、耐腐蚀、防爆等一系

4、列独特的优点1。因此,本设计采用反射式光纤位移传感器,制成专用于微小距离测量的光纤智能位移计。系统的设计主要分为两部分,第一部分为硬件电路的器件选取与设计,第二部分为软件整体设计与具体程序编写与调试。其中,硬件电路选用了AT89C52单片机作为系统的控制中心,通过数据采集电路对位移量进行实时采集、通过MCP3001A/D转换电路对采集的模拟信号进行转换,通过LCD1602进行提示信息与数据的显示,通过行列式键盘实现人对光纤智能位移计的控制,同时还设计有上下限报警电路和独立复位按钮等。软件设计中,整体采用模块化设计,主要划分为按键处理模块、A/D转换部分、数据处理部分、LCD显示部分等。其中,每

5、种模块在设计时又均采用子程序调用的方法,从而使得软件的编程更加高效、精简。同时采用C语言进行程序编写,大大增加了程序的可读性,使得软件调试变得较为方便。本设计主要采用PROTEUS进行硬件的设计及其仿真,采用Keil进行程序编写。在设计中,首先进行PROTEUS中的硬件系统搭建,在搭建完成后进行仿真运行,检查硬件系统搭建是否合理。在硬件搭建合理的前提下,阅读相关芯片的编程学习资料,并运用C语言在Keil中进行模块化程序设计。在每部分的软件编程完成后,都运用PROTEUS与Keil进行联合调试,确保其能完成设计所需的功能。为了使调试更加直观简便,在调试的过程中,我们按照显示部分、按键部分、A/D

6、转化部分、数据采集的顺序进行,后面的部分以前面的部分为基础。整个设计完成后进行了软硬件的联合调试,最终实现了对位移的实时测量。关键词: 单片机; 光纤位移传感器; 位移测量; PROTEUSAbstractThere are a lot of displacement measurement method, optical measuring displacement measurement is one of many displacement measurement method development faster, more a kind of application. Among t

7、hem, the reflective fiber optic displacement measurement technology is relatively mature, and the older one, the use of fiber optic displacement sensor made of this principle has a strong anti-electromagnetic interference capability, high sensitivity, simple structure, small size, light weight, corr

8、osion resistance, a series of unique advantages, such as proof. Therefore, the design uses fiber optic displacement sensor dedicated to the small distance measurements made fiber intelligent displacement meter.Design of the system is divided into two parts, the first part of the device to select and

9、 design the hardware circuit, the second part is the overall design and specific software programming and debugging.Among them, the choice of hardware circuit AT89C52 microcontroller as the system control center, data acquisition circuit for displacement of real-time acquisition, through MCP3001A /

10、D converter circuit for converting the analog signal acquisition, through prompt LCD1602 display information and data through determinant keyboard to achieve controlled displacement meter for fiber smart, but also the design of the circuit and a separate upper and lower alarm reset button.Software d

11、esign, the overall modular design, mainly divided into key processing module, A / D conversion section, data processing, LCD display section and so on. Where each module are used in the design time and method of subroutine calls, making programming software more efficient, streamlined. While using t

12、he C programming language, which greatly increases the readability of the program, making the software debugging becomes more convenient.This design uses PROTEUS hardware design and simulation, using Keil for programming. In the design, first PROTEUS hardware system construction, built after the com

13、pletion of the simulation run, check the hardware system set up is reasonable. In the case of hardware to build a reasonable premise, Read chip programming learning materials, and the use of C language program in Keil in modular design. After the completion of each part of software programming, all

14、using PROTEUS with Keil joint commissioning, ensure that it can complete the design of the required functionality. In order to make more intuitive and easy to debug, debugging process, we follow the display section, the key part, A / D conversion section, the order of data acquisition, with the back

15、 part of the front part of the foundation. After the completion of the entire design of the joint commissioning of hardware and software, and ultimately achieve real-time measurement of displacement.   Key words: microcontroller ; fiber optic displacement sensor ; displacement measure

16、ment ; PROTEUS 目录第一章 绪论11.1单片机的概述11.2 光纤智能位移计的研究意义、现状及发展趋势11.2.1 研究意义11.2.2 国内外发展现状21.2.3 发展趋势21.3 光纤测位移研究的目的及其可行性31.4 光纤位移计研究的内容3第二章 光纤智能位移计的测量原理52.1 结构原理52.2 光纤位移传感器原理62.3 设计的工作原理62.4 光纤位移计的工作流程7第三章 光纤智能位移计的硬件设计83.1 器件选取及介绍83.1.1 器件选择83.1.2 AT89C52介绍83.1.3 LCD1602介绍93.1.4 MCP3001介绍103.2 硬件接线图103.2

17、.1 AT89C52最小系统103.2.2 LCD1602接口电路113.2.3 MCP3001接口电路113.2.4 键盘接口电路123.2.5 报警电路123.2.6 总体硬件电路图13第四章 光纤智能位移计的软件设计144.1 主程序设计144.2 LCD1602程序设计144.3 键盘处理程序154.3.1 hitkey()函数164.3.2 键值扫描174.3.3 键值跳转174.4 具体按键对应子函数184.4.1 设定键184.4.2 上限键、下限键194.4.3 增加键、减少键204.4.4 左移键、右移键214.4.5 测量(mm)键、测量(cm)键224.5 MCP3001

18、读取22第五章 运行结果及分析23第六章 调试过程中所遇问题及其解决306.1 硬件问题及解决306.2 软件问题及解决306.2.1 按键程序306.2.2 LCD显示程序306.2.3 整体调试30总结31参考文献32致谢33附录34沈阳化工大学学士学位论文附录第一章 绪论1.1单片机的概述21世纪是一个信息化的时代,在信息化的快速发展中,单片机技术做出了不可磨灭的贡献。单片机的发展已经经历了相当漫长的过程,在这漫长的过程中也形成了其独特的优点。目前,市面上的单片机大多具有,硬件体积小、使用可靠性高、功耗低、控制功能强大、价格便宜等优点2。凭借其独特优点,单片机的使用范围正在逐渐扩大,当前

19、在所有工业领域几乎都有着单片机的应用,从生产中使用的智能仪表,工业控制如数据采集系统、计算机通信系统、分布式控制总线到生活中使用的智能家电、智能办公设备、以及家用电气和智能汽车设备等,都可以看到单片机的身影3。而近年来,随着人们对传感器智能化需求的不断提高,将单片机技术应用于传感器的设计成为近几年传感器的重要研究方向。当下,随着传感器对半导体硅片材料需求的增加,单片机技术与传感器的结合已经成为一种不可阻挡的趋势4。1.2 光纤智能位移计的研究意义、现状及发展趋势1.2.1 研究意义本设计研究的目的在于开发一种能用于测量微小位移的光纤智能位移计,该位移计可以通过硬件和软件方法去除各种干扰信号,并

20、且能够将有效的微弱信号提取出来加以放大,从而使其达到预定精度,经过相应的数据处理后,显示出高精度的测量结果。光纤智能位移计作为一种新型传感器,在许多领域显示出强大的生命力,它具有灵敏度高、性能稳定、抗电磁干扰、与电隔离安全级别高和适应恶劣环境能力强等一系列优点,正受到工程应用领域越来越多的青睐5,这种通过研究升级,由传统的位移测量系统改良而成的光纤智能位移测量系统目前具有很广阔的开发前景和应用前景。另外,这种光纤智能位移计具有很大的潜在应用环境,可以广泛的应用于计算机磁盘驱动,航空,电子汽车工业等领域6。在复杂运动分析方面,如微机械运动液压步进电机机械振动脉冲的位移与波形滚动轴承性能的测量;在

21、高频测量方面,如超声波装置部件的振幅测量,声呐变换器的位移频率的波形的测量;在非接触震动分析方面,如磁盘读写头的位置测量等方面都具有广阔的应用前景7。光纤智能位移计能用在许多传统位移测量计所不能及的方面,并且具有简洁的测量方式和较低的成本;与此同时,它还具有良好的人机交互。因此可以断定,在以后的微小位移测量领域,这种光纤智能位移计将会占有重要一席。1.2.2 国内外发展现状虽然早在二十世纪70年代末期就有光线传感器的报道,但大量研究是在二十世纪80年代末才开始的。20世纪90年代初,由于技术不成熟、可靠性不高等原因,只有少数光纤传感器在市场上出现8。另外由于早期的光纤传感器失效批量生产,性价比

22、也相对较低。在此之后,随着光纤技术的不断发展,光纤传感器不断走向商业化,目前世界上已有许多厂家在生产各类光纤传感器。作为高技术的重要组成部分,光纤传感器的发展水平已经成为综合国力的重要体现9。美国是世界上最早研究光纤位移传感器的国家,也是发展水平最高的国家,在军事和民用领域的应用方面,进展都十分迅速。目前,除美国之外的许多发达国家在光纤传感器的应用方面发展也很迅速,并且许多传感器早已在军事和民用上得以成功应用10。在光纤传感器的研究上,我国的起步时间与国际相差不远,自20世纪80年代初就开始了11。目前,我国已有上百个单位在这一领域开展工作,取得了一个又一个成果,其中相当数量的研究成果具有很高

23、的实用价值,有的达到世界先进水平。但比起发达国家来,我国还有许多不及之处,我国的大多数产品处在实验室研制阶段,还没有投入工厂进行批量化生产,也没能工程化应用12。1.2.3 发展趋势由于其独特优势,光纤传感器已进入实用化阶段,已成为传感领域的一个新生分支。光纤传感器不但在新兴的高、精、尖领域得到应用,在传统的工业领域中其发展也是异常迅速;其具有强大的生命力,本身产品不断推陈出新,一定程度上推动了科学技术的发展13。尽管如此,光纤传感器仍然不能完全满足实际需要,还存在着许多有待解决的问题,需要科技人员的不断努力。如光纤传感器的输出信号有时会受到探测器老化和管线传输损耗变化的影响,有时会受到组成光

24、纤传感器的本身性能对测量精度的影响,有时还会受到光源波动的影响等14。在未来,除了认真研究光纤传感器的各部分元件的性能,改进敏感原件的制作工艺及结构,探索新的敏感机理外;如何充分发挥微处理技术和计算机软件功能来改善和补偿光纤传感器的性能,发展数字化、集成化、自动化、工程化的新型光纤传感器,研制出适合于网络化应用的光纤传感器阵列及特殊测量要求的新型光纤传感器是一种不可阻挡的趋势15。未来光纤传感器将主要沿着多参量实时化、 阵列化、网络化、易于构成分布式监测系统、高精度实用化、全光纤微型化等方向发展16。1.3 光纤测位移研究的目的及其可行性作为选择使用的传感器,光纤传感器可与很多种测量技术组合,

25、其潜在意义相当明显。位移测量在航空航天、军事器械以及工业生产过程中起着十分重要的作用,光纤传感器的诞生会给各种职能仪器的产生和发展起到推进的作用。本毕业设计利用单片机的优点将传统的位移测量系统改良成为光纤智能位移测量系统,设计一个能对位移信息进行实时数据采集,数据处理,数据显示,并可以设定阀值具有报警系统的智能位移计。单片机技术及光纤位移传感器技术的飞跃化发展使得研制这样一款智能化的光纤位移计成为可能。单片机作为一门专业选修,在大学的学习中已经具备了初步的自学和应用能力;除此之外,目前市场上已经存在类似的智能位移计,这将能够为本设计提供一定的思路。介于以上两点,利用大学最后的几个月时间来完成这

26、样一个光纤智能位移计是完全可以实现的。1.4 光纤位移计研究的内容在对光纤位移特性研究的基础上,本设计中设计了基于单片机的光纤智能位移计的硬件系统和软件系统,并对硬件部分和软件部分进行了联合调试。硬件设计的总体目标是在完成设计目的的同时,追求结构简单、成本合理,功能完善。在硬件电路的设计中,本毕业设计采用AT89C52作为系统控制核心,MCP3001作为串行A/D转换芯片,行列式键盘作为人机交互部分,LCD1602作为显示部分。在软件设计中,本毕设采用模块化程序设计思想,将软件分为主程序模块、LCD显示模块,按键处理模块、数据采集处理模块,每个模块又由若干小模块组成。对软件部分采用这种模块化处

27、理方式具有多种优点,一方面能使软件的结构清晰,另一方面有利于软件的调试和修改。除此之外,本论文分析了设计过程中存在的一些现象和问题,并针对此做出了相应的改进。最后,由于能力有限,本论文还列出了设计中未解决的问题。55第二章 光纤智能位移计的测量原理2.1 结构原理反射式光纤位移传感器是一种传输型光纤传感器。其原理如图2-1所示:光纤采用型结构,两束光纤一端合并在一起组成光纤探头,另一端分为两支,分别作为光源光纤和接收光纤16。光从光源耦合到光源光纤,通过光纤传输,射向反射片,再被反射到接收光纤,最后由光电转换器接收,转换器接受到的光源与反射体表面性质、反射体到光纤探头距离有关17。当反射表面位

28、置确定后,接收到的反射光光强随光纤探头到反射体的距离的变化而变化。显然,当光纤探头紧贴反射片时,接收器接收到的光强为零18。随着光纤探头离反射面距离的增加,接收到的光强逐渐增加,到达最大值点后又随两者的距离增加而减小。图2-2所示就是反射式光纤位移传感器的输出特性曲线,利用这条特性曲线可以通过对光强的检测得到位移量。图2-1 反射式位移传感器原理图2-2 反射式光纤位移传感器输出特性光纤位移传感器的位移、输出电压特性曲线呈如图2.2所示的抛物线形,由图可以看出,其输出曲线有一个前坡和一个后坡。两个坡的线性都很好,顶部域线性很差,因此可以利用其线性较好的前后坡进行测量,目前国内外所使用的光纤位移

29、传感器仅仅是利用其线性较好的前坡19。2.2 光纤位移传感器原理本设计采用的是传光型光纤,它由两束光纤混合后,组成Y型光纤,半圆分布即双D型一束光纤端部与光源相接发射光束,另一束端部与光电转换器相接接收光束。两光束混合后的端部是工作端亦称探头,它与被测体相距X,由光源发出的光纤传到端部出射后再经被测体反射回来,另一束光纤接收光信号由光电转换器转换成电量,而光电转换器转换的电量大小与间距X有关,因此可用于测量位移20。 光纤位移传感器结构图如图2-3所示,由其结构我们可以看出,由光纤位移传感器制作的光纤智能位移计比较适宜测量微小距离,其电气原理图如图2-4所示。图2-3 光纤传感器安装示意图图2

30、-4 光纤位移传感器接线图2.3 设计的工作原理一个设计的开始,首先要进行系统的总体设计,也就是是在了解系统设计的任务要求后对系统做出初步设计。认真分析任务要求,设计系统框图,并比较选择合适的光纤传感器。根据设计要求,该设计需要将光纤检测技术与计算机技术相结合,对位移进行自动测量,并能显示实时数据,光纤测位移的工作原理图如图2-5所示。图2-5 工作原理设计主要包括硬件设计和软件设计两部分。首先,根据系统所要完成的功能选择硬件芯片,绘制硬件电路图,用PROTEUS软件绘制电路原理图和PCB图;其次,在完成硬件电路图的基础上,画出软件流程图;再次,根据电路原理图连接实际电路,编写程序;最后,在检

31、查确认硬件电路无误后,分部分对软件进行调试,部分调试完成后进行整体调试,并在调试结束后进行实时位移测量和数据显示。本设计采用LCD显示,10个按键,主要选用了中央处理器AT89C52 ,LCD1602,MCP3001A/D转换器等。2.4 光纤位移计的工作流程首先,由光纤位移传感器接收距离信号,接着将信号转换为模拟量输出,并且通过信号转换电路转换为串行A/D转换接口芯片MCP3001可接收的05V电压信号,并由其转换为数字量输入单片机,通过采样模块进行数据处理得到位移值,通过LCD1602实时显示出来。此外本设计有报警功能,将采样值同预先设定的报警上、下限进行比较,当超出报警范围时由单片机控制

32、蜂鸣器发声,与此同时LCD显示“out measure!”,方便操作人员对检测对象的及时的准确的监控。第三章 光纤智能位移计的硬件设计3.1 器件选取及介绍3.1.1 器件选择主要有AT89C52、LCD1602、行列式键盘、蜂鸣器、MCP30013.1.2 AT89C52介绍AT89C52是一个低电压,高性能CMOS 8位单片机,片内含8k bytes的可反复擦写的Flash只读程序存储器和256 bytes的随机存取数据存储器(RAM),器件采用ATMEL公司的高密度、非易失性存储技术生产,兼容标准MCS-51指令系统,片内置通用8位中央处理器和Flash存储单元,AT89C52单片机在电

33、子行业中有着广泛的应用21,其引脚如图3-1所示:图3-1 PDIP封装的AT89C52引脚图单片机总共有40个引脚,根据功能可以将其分为三部分,分别为:电源与晶振引脚、控制引脚和I/O端口。连接好电源与晶振电路后,单片机可以通过控制引脚和I/O端口读取需要的信息,输出需要的控制信号。3.1.3 LCD1602介绍如图3-2所示,LCD1602总共有16个引脚接口,其详细介绍如下:第1脚:VSS作为电源地,使用时接地。第2脚:VDD使用时接5V电源正极。第3脚:VEE作为1602的对比度调整端,对比度随接入电位的变高而降低。此引脚在使用时通常加一个电位器,通过控制电位将对比度控制在合理范围内,

34、从而避免产生“鬼影”。第4脚:RS用于选择寄存器。输入为高电平(1)时选择数据寄存器,输入为低电平(0)时选择指令寄存器。第5脚:RW为读写信号线,高电平(1)时进行读操作,低电平(0)时进行写操作。第6脚:E为使能端,高电平(1)时读取信息,负跳变时执行指令。第714脚:D0D7为8位双向数据端。第1516脚:空脚或背灯电源。15脚背光正极,16脚背光负极。在仿真中,这两个引脚不可以使用。图3-2 LCD1602仿真图3.1.4 MCP3001介绍IN+:正模拟量输入。IN-: 负输入。VREF:基准电压输入。CLK:时钟输入。DO:数字量输出。CS :片选输入。数字量输出:DO = 102

35、4*VIN/VREF其中,VIN = V(IN+)-V(IN-)其管脚如图3-3所示:图3-3 MCP3001仿真管脚图3.2 硬件接线图3.2.1 AT89C52最小系统本设计采用手动加上电复位方式进行复位,其中,晶振的作用是为系统提供基本的时钟信号。通常一个系统共用一个晶振,便于各部分保持同步。两个引脚XTAL1和XTAL2分别是该放大器的输入端和输出端。在片外跨接一晶振和两个匹配电容C1、C2。就构成一个自激振荡器。振荡频率根据实际要求的工作速度,从几百千赫至24MHz可适当选取某一频率。匹配电容C1、C2要根据石英晶体振荡器的要求选取。当晶振频率为12MHz时,C1、C2一般选30pF

36、左右。最小系统如图3-4所示:图3-4 AT89C52最小系统图3.2.2 LCD1602接口电路如图3-5所示,LCD1602由P0口驱动,其中RP1为阻排,作为上拉电阻使用。图3-5 LCD1602与AT89C52连接图3.2.3 MCP3001接口电路MCP3001基准电压为4V,端子连接如图3-6所示:图3-6 MCP3001接口线路图3.2.4 键盘接口电路键盘由行列式按键组成,由P2口控制,具体连接图如图3-7所示:图3-7 3x3行列键盘连接图3.2.5 报警电路报警电路硬件连接见图3-8,使用蜂鸣器进行报警,当采样值高于预先设定的报警上下限值时,蜂鸣器发出蜂鸣声,且LCD显示“

37、out measure!”。图3-8 报警电路其中,Q1为三极管,主要用来放大控制电流,从而进一步起到放大声音的效果。3.2.6 总体硬件电路图系统的总体硬件图如图3-9所示,单片机的1、2、3脚分别与MCP3001的6、5、7脚连接,单片机的4、5、6脚分别与LCD1的4、5、6脚连接,从而对采集与显示进行相应的控制。整个系统中有10个按键,其中复位键由硬件电路决定,其余9个按键的功能通过软件编程实现。整个硬件系统能够实现从数据采集到模数转换、数据处理到显示报警的功能。图3-9 硬件电路总体图第四章 光纤智能位移计的软件设计4.1 主程序设计主程序流程如图4-1所示,main()函数运行后,

38、首先对系统使用变量进行初始化,赋予变量初值以便程序能够正常运行。变量初始化结束后,还要进行LCD初始化,设置LCD工作模式。紧接着对LCD进行操作,使其显示“measure start?”以实现人机交流,使操作者知道整个系统已经准备完毕,等待操作者进行相应操作。 图4-1 主程序流程 发出以上提示后,主程序进入键盘扫描程序,且循环进行此程序。因此,只有当按键位置发生变化时,位移计才会根据键值进行相应操作。测量、显示函数,均作为子函数,当有按键按下时被调用执行。4.2 LCD1602程序设计当系统需要利用1602进行显示时,其流程如图4-2所示:首先,调用Busy()函数(返回值为1时代表160

39、2为忙碌状态,返回值为0时代表1602非忙碌状态), 且当返回值为1时,对Busy()函数进行循环调用,直至返回值为0。当返回值为0后,立即调用清屏函数对LCD进行清屏,再根据不同的数据处理的情况设置显示位置,最后,写入需要现实的数据。返回值为0。当返回值为0后,立即调用清屏函数对LCD进行清屏,再根据不同的数据处理的情况设置显示位置,最后,写入需要现实的数据。图4-2 1602程序流程4.3 键盘处理程序键盘处理程序是软件设计的重点,在主程序中被循环调用,同时,其它子程序又都是在键盘处理程序中进行调用,因此键盘处理程序设计的合理与否显得尤为重要。其总的程序工作流程如图4-3所示:图 4-3

40、键盘扫描总程序流程当主程序运行时,循环调用键盘处理函数,但每次调用后键盘处理函数都执行一样的操作。首先其调用hitkey()函数,判断是否有键盘按下,如果返回值为0,则返回主程序继续执行其它程序,如果返回值为1,此时调用延时函数延时200ms(利用延时函数消除干扰信号的影响),如果返回值仍然为1,则调用相应函数读取键值并进行相应的跳转。4.3.1 hitkey()函数hitkey()函数,工作流程如图4-4所示,其中keycode为读取的P2口值,当没有按键按下时,其值为0x07。因此,当没有按键按下时(keycode&0x07)= 0x07,此时函数返回值为0;反之,当有按键按下时,

41、函数返回值为1。图4-4 hitkey()函数程序流程 4.3.2 键值扫描键值扫描函数scan_key()流程见图4-5,主要采用行列扫描法,对9个按键进行扫描,得到相应的扫描码,取反后作为按键的键值,交由键值跳转程序使用。图4-5 键值扫描函数scan_key()程序流程图4.3.3 键值跳转 键值跳转函数key_manage(),主要用于接收scan_key()函数的返回值,并利用switch函数调用按键对应的子函数其流程如图4-6所示。图4-6 键值跳转程序流程图4.4 具体按键对应子函数 4.4.1 设定键设定键对应子程序为key1(),其程序流程图如图4-7所示,其中H_flg 与

42、L_flg分别为上限设置标志和下限设置标志,均设定为全局变量,上限、下限对应程序key2()、key3()中进行相应的改变。当H_flg=1时能够只能进行上限值设定,当L_flg=1时能够且只能进行下限设定,均为0时,不能进行任何操作。 图4-7 设定键对应程序key1()4.4.2 上限键、下限键如图4-8、图4-9所示:上下限函数主要通过改变上下限标志H_flg和L_flg来确定将要改变的是上线还是下限,通过调用SCANkey()来改变上下限的相应数值。图4-8 上限键对应子函数key2()程序流程图图4-9 下限键对应子函数key3()程序流程图4.4.3 增加键、减少键如图4-10、图

43、4-11所示,增减键通过左右移标志位来确定要改数值的高低位,改变数值后立即显示改变后的值。图4-10 增加键对应子函数key4()程序流程图4-11 减少键对应子函数key5()程序流程4.4.4 左移键、右移键如图4-12、图4-13所示,左右移键对应函数key7()、key8()仅改变左右移标志位数值,除此之外不进行任何操作。图4-12 左移对应程序key7()流程图4-13 右移对应程序key8()流程4.4.5 测量(mm)键、测量(cm)键如图4-14所示,测量键对应的函数首先进行距离测量,然后对测量的数据进行处理,得到实际要显示的结果,最后进行显示;延时20ms后子程序结束,返回主

44、程序继续执行其它程序,直至按下复位键或切断电源。整个过程实现了对位移的实时测量。图4-14 测量函数流程4.5 MCP3001读取如图4-15所示,通过Read_MCP函数控制MCP3001进行数据的A/D转换,由于MCP3001为10为A/D转换器,所以要屏蔽高六位以获取有效转换值,将有效转换值返回后结束。图4-15 MCP3001数据读取流程图第五章 运行结果及分析上电后即如图5-1所示,显示“measure start?”,以提醒操作系统进入待机状态,操作者可以做适当的测量。此时,三极管输入为低电平,蜂鸣器不响。图5-1 上电后显示“measure start?”人机交互按下【报警上限】

45、键后,如图5-2所示,显示默认报警上限,此时,三极管输入为低电平,蜂鸣器不响。图5-2 点击【报警上限】键后,显示默认上限值点击【减少】键,由于此时没有点击【左移】、【右移】键,上限值进行自然减少。此时,三极管输入为低电平,蜂鸣器不响。连续点击三次后如图5-3所示:图5-3 连续点击三次【减少】键后显示点击【左移】后,再点击【减少】,此时高位进行循环减小,此时,三极管输入为低电平,蜂鸣器不响。显示结果如图5-4所示:图5-4 依次点击【左移】、【减少】键后显示此时,点击【设定】后上限设定为26mm。 按下【报警下限】键后,如图5-5所示,显示默认报警下限,此时,三极管输入为低电平,蜂鸣器不响。

46、图5-5 点击【报警下线】后显示默认下限点击【增加】键,由于此时没有点击【左移】、【右移】键,下限值进行自然增加。此时,三极管输入为低电平,蜂鸣器不响。连续点击七次后如图5-6所示:图5-6 点击7次【增加】后显示此时点击【设定】后,下限值设定为7mm。至此,上下限设置完成。点击【测量(mm)】后,显示如图5-7所示:图5-7 点击【测量(mm)】键后显示由于此时输入为距离为28mm,所以图5-7中LCD显示“out measure!”另外,由上图管脚电平可以看出,此时蜂鸣器开始报警。调节测量距离,使之变小后显示如图5-8所示:图5-8 调节距离小于28mm后显示不断调节被测距离,使之减小,并

47、且逐渐接近下限值,如图5-9、图5-10、图5-11所示:图5-9 一次改变被测距离图5-10 二次改变被测距离图5-11 三次改变被测距离当再次减小时,超出最小限,显示结果如图5-12所示:图5-12 超出下限后由于此时输入为距离为5mm,所以图5-12中LCD显示“out measure!”另外,由上图管脚电平可以看出,此时蜂鸣器开始报警。同理,进行设定好上下限后,点击【测量(cm)】后,测量结果如图5-13、图5-14所示:图5-13 一次测量结果图5-14 二次测量结果第六章 调试过程中所遇问题及其解决6.1 硬件问题及解决初步调试时,复位键不能正常工作,经过检查发现复位电路电容存在问

48、题,更换电容后,能够实现正常复位。6.2 软件问题及解决6.2.1 按键程序初步调试时,发现多数按键能够正常工作,但是发现右移键按下后五任何反应,后来发现是switch函数中地址数据不正确所致,经过对数据取反后,工作正常。再次调试的时候,增加程序在左右移后,不能按照设计功能工作,经过仔细检查程序发现,是标志位的问题,经修改后增加按键工作正常。报警上限与报警下限在调试中工作正常,测量(mm)也能正常工作,但是在设定的时候,发现设定的报警上限和报警下限在测量时没有作用。调试后发现,上下限存的是子函数内有效地变量,改为全局变量后,设定键工作正常。6.2.2 LCD显示程序 初次调试时,能够正常显示“

49、measure start?”,但是在调试上下限及设定键时发现,显示时数据依次显示直到整个显示屏满屏,经检查发现缺少LCD清屏函数。在增加清屏函数后,再次调试发现,显示结果没有按照自己的意思显示在第二行中央,而是显示在右边,而且显示残缺,经调试发现,显示位设定函数赋值不正确,更改后显示正常。6.2.3 整体调试整体调试时能够采集和显示,但是显示的数据与真实测量数据不相符,初步判断数据处理有误,经过检查发现,数据处理公式用的不对,经过修正后,能够正常测量显示,整个系统可以正常工作。总结经过近四个月的学习与实践,毕业设计即将结束。在老师、学长的指导、同学的帮助以及个人的努力下,基本完成了设计任务。

50、自我设计的光纤智能位移计将光纤位移传感器提供420mA的输入信号转变成 05V的电压信号,并进一步送入A/D装换芯片,最后,通过单片机对接收的数字信号处理且发送到LCD显示,达到实时显示测量距离的目的。另外,通过行列式键盘与LCD显示,实现了人与单片机之间的信息交换,可以根据测量需要改变相应的上下限数值。作为人机交互的重点,九个按键都能够正常工作。通过左移、右移、增加、减少、以及上下限按键,可以方便的设定上下限数值;通过测量(mm)和测量(cm)可以自动完成单位的转换。整个测量过程,操作简单,实时性好,适合于实际工程中的应用。虽然本次设计基本完成了所要求的任务,但由于本人知识水平有限,设计距完

51、美还有一定差距,软件的编写还有待进一步简化,位移计整体性能也有待进一步加强提高。本次设计完成了理论到实践的有机结合,使我在对理论知识进一步理解的同时,增强了由理论转化为实践的的工程实践能力,为未来的独立学习与工作打下一定基础。此外,本次设计中查阅了大量期刊与专业书籍,开阔了自我的学术视野,使得我对单片机的理解也更加深入。另外,几天的编程经历使我懂得,认真的态度和刻苦的精神才是成功的必需品。总之,四个月的设计生活带给我的不仅仅是专业知识,在独立完成设计的过程中,真正体会到了否定自我与超越自我的重要性,同时也找到了自己的优缺点,使得自己对未来职业生涯的规划也更加明确。参考文献1 张齐,杜群贵单片机

52、应用系统设计技术基于C语言编程M北京 :电子工业出版社,2004: 2762822 张旭单片机在传感器设计中的应用J机电信息,2011,36:132133.3 程国钢. 基于8051+Proteus仿真M.北京:电子工业出版社,2012:170-177.4 郑峰,王巧芝,李英建,刘瑞国. 51单片机应用系统典型模块开发大全M.北京 :中国铁道出版社,2011:604608.5 魏立峰,王宝兴.单片机原理与应用技术M.北京:北京大学出版社,2006:2-8.6 秦永烈等.位移测量仪表M.北京:机械工业出版社,1978(1):105207.7 张春光.微型计算机控制技术M.北京:化学工业出版社,2

53、002. 8 马忠梅.单片机的C程序应用设计M.北京:北京航空航天大学出版社,1999.9 胡学海.单片机原理及运用系统设计M.北京:电子工业出版社,2008.10 宫亚梅.基于Proteus和Keil的单片机课程设计J.济南职业学院报,2008.11 周润景,徐宏伟,丁莉.单片机电路设计、分析与制作M.北京:机械工业出版社,2010.5.12 刘守义.单片机应用技术M.西安:电子科技大学出版社,2004.13 张洪润,刘秀英,张亚凡.单片机应用设计200例M.北京:航空航天大学出版社,2006.14 周润景,张丽娜.PROTEUS入门实用教程M.北京:机械工业出版社,2007.15 景小松.

54、单片机电路设计实例D.呼和浩特:内蒙古大学,2007.16 胡伟.单片机C程序设计及应用实例.北京:人民邮电出版社,2003.17 朱宇光.单片机应用新技术教程.北京:电子工业出版社,2000.18 赵德安.单片机原理与用.北京:机械工业出版社,2004.19 武庆生.MCS系列单片机及接口教程.成都:电子科技大学出版社,1995.20 沈红卫.基于单片机的智能系统设计与实现M.北京:电子工业出版社,2005.21 余永权,汪明慧,黄英.单片机在控制系统中的应用M.北京:电子工业出版社,2003.致谢时间过得很快,转眼间毕业设计已经走近尾声,这段难忘的日子也将要成为一份回忆!在毕业设计的这几个月里,经历了从烦躁轻浮到冷静踏实,从几乎不懂到渐渐熟悉,从毫无头绪到任务完成;有过找硬件找到心烦的时候,有过编程编到恶心的时候,还有过调试程序调试到不知所错的时候;但是,最后的最后还是坚持了下来,完成了大学的最终任务毕业设计。在这里,我要感谢陪我走过这段艰辛而又甜蜜的旅程的老师、学长及同学们,正是由于你们的帮助,我才得以顺利完成了本次的毕业设计。首先要感谢*老师,作为您的毕业

温馨提示

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

评论

0/150

提交评论