基于单片机的lcd数字测速仪设计_第1页
基于单片机的lcd数字测速仪设计_第2页
基于单片机的lcd数字测速仪设计_第3页
基于单片机的lcd数字测速仪设计_第4页
基于单片机的lcd数字测速仪设计_第5页
已阅读5页,还剩10页未读 继续免费阅读

下载本文档

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

文档简介

基于单片机的LCD数字测速仪设计DESIGNOFLCDDIGITALVELOCIMETERBASEDONSINGLECHIPMICROCOMPUTER学部信息专业计算机科学与技术毕业设计(论文)完成时间自2012年12月至2013年5月摘要本课题是基于单片机的数字测速仪的设计。系统以AT89S52为主控模块,OPTC光断续器测速,实现对通过物体的速度的测量,并能把测到的信号传递给单片机进行计算,并通过单片机输出驱动信号,用LCD数字显示屏实时显示。系统的硬件部分包括AT89S52、信号输入模块、电源电路、复位电路、晶振电路和LCD显示模块。OPTC光断续器用于信号输入,显示模块选用型号为1602A的LCD数字显示屏。复位电路的作用是控制CPU的复位状态,防止CPU发出错误指令、执行错误指令。晶振电路的作用是为系统提供基本的晶振信号。本课题主要研究了测速仪所涉及的硬件方面的问题。并对单片机、OPTC光断续器及系统出现的误差和电路设计中出现的问题进行分析和讨论。关键词速度;单片机;光断续器;LCDABSTRACTTHISARTICLEDESIGNANUMBERVELOCIMETERBASEDONSINGLECHIPMICROCOMPUTERTHESYSTEMUSESANAT89S52ASMAINCONTROLMODULEOPTCPHOTOELECTRICINTERRUPTERISUSEDTOMEASURESPEEDSOTHATITCANBEMEASUREDOFTHROUGHOBJECTSPEEDANDTRANSMITTHEDETECTEDSIGNALSTOTHESCMTOCALCULATEATTHESAMETIME,SCMOUTPUTSTHEDRIVESIGNALSTOTHELCDDIGITALDISPLAYSCREENTOREALTIMEDISPLAYTHEHARDWAREOFTHESYSTEMCONSISTSOFAT89S52、SIGNALINPUTMODULE、ELECTRICSOURCE、RESETCIRCUIT、CRYSTALOSCILLATORCIRCUITANDLCDDISPLAYMODULEWHICHISUSING1602AMODELOPTCPHOTOELECTRICINTERRUPTERISUSEDTOINPUTSIGNALSTHEFUNCTIONOFRESETCIRCUITISTORESETCPUITCANPREVENTTHECPUTOSENDWRONGINSTRUCTIONOREXECUTEERRORINSTRUCTIONTHEFUNCTIONOFCRYSTALOSCILLATORCIRCUITISTOPROVIDECRYSTALOSCILLATORFORTHESYSTEMTHEPAPERISMAINLYTALKABOUTTHEHARDWAREPROBLEMOFVELOCIMETER,ANALYSISANDDISCUSSIONABOUTSINGLECHIPMICROCOMPUTER、OPTCPHOTOELECTRICINTERRUPTERANDTHEERROROFTHESYSTEMASWELLASTHEPROBLEMINTHECIRCUITDESIGNKEYWORDSSPEEDSCMPHOTOELECTRICINTERRUPTERLCD目录1概述12方案选择121项目功能122方案论证123开发环境的选择33硬件设计331主要电子元件3311单片机芯片3312显示单元4313测速单元432电路图54软件设计541总体设计542主要程序代码6421写指令到LCD子函数6422写数据到LCD子函数6423显示指定坐标的一个字符子函数7424显示指定坐标的一串字符子函数75仿真结果与分析751项目测试752结果及问题86实物制作结果与分析961制作过程962问题及结果10结论10参考文献11致谢121概述现如今,在我们生活中的方方面面及各个领域都有单片机的身影。单片机分为4位、8位、16位和32位字长,其中在一些简单的家用电器和高档的电子玩具中使用4位字长的单片机,在工业控制、智能接口、仪器仪表等各个领域使用8位字长的单片机,在高速复杂的控制系统中使用16位字长的单片机,由于32位字长的单片机在控制领域上面的需求不大,所以应用方面很少。在工业控制、仪器仪表、计算机的外部设备和智能接口、商用产品和家用电器,所有这些地方都能见到单片机的身影。单片机的优点很多,它的体积相对较小、使用时能量消耗小、具有很高的控制性、扩展的方法和种类很多还有使用起来非常方便。单片机在仪器和仪表中被广泛运用,通过使用各种类型的传感器,可实现对许多物理量方面的测量。使用单片机进行控制可以让仪器和仪表看起来更加直观(数字化)、使用起来更加智能(智能化)、而且体积更加小巧(微型化)。而且功能方面,比使用电子或数字电路制作,在功能等方面更加强大。在日常的生活和学习中,我们遇到很多问题,需要知道某些物体的移动速度。比如,在物理学习过程中,某个物体从斜坡上滚下来的速度问题,我们可以通过相关公式计算出来,但并没有相应的实际验证。因此,我利用单片机设计出一个简易的测速装置,可以测量许多物体通过时的速度。作为毕业设计,我利用AT89S52单片机配合OPTC光断续器和LCD数字显示屏设计的测速仪具有系统简单、稳定、成本较低、易于推广使用等优点。2方案选择21项目功能本课题设计的LCD数字测速仪主要是由OPTC光断续器、AT89S52单片机和一个LCD的数字显示屏构成。首先,被测物体通过时,光断续器测量出不同的断续间隔时间,产生不同的脉冲信号传递给单片机进行计算,并转化为数字信号传递给LCD数字显示屏进行物体通过时的速度的显示。我设计的测速仪可测量100KM/H内的速度,误差控制在1KM/H至1KM/H之间。22方案论证方案一使用FPGA/CPLD设计使用FPGA/CPLD设计软件一般需要对电路进行逻辑综合优化,以得到易于实现的结果,因此,最终设计和原始设计之间在逻辑实现和时延方面具有一定的差异。从而使传统设计方法中经常采用的一些电路形式特别是一些异步时序电路在FPGA/CPLD设计的方法上并不合适。所以对设计人员的要求比较高,需要设计人员对FPGA/CPLD设计软件的特点要非常的了解,设计出来的产品质量上才能好。由于FPGA采用查找表结构、多路选择器结构或ANDOR结构,使得时延很大,因此造成了初始设计中的同步信号之间发生了时序的偏移现象。而且如果电路相对比较大,则必须经过划分来实现,由于I/O引出端会有延迟,这些使得延迟的时间和时序的偏移都加大。由于FPGA/CPLD是可编程逻辑,因此想要精确地控制电路的时延问题,是非常困难的。因为FPGA/CPLD的I/O数目不多且容量也很有限。所以,如果制作一个比较大的电路,需要经过逻辑的划分,利用多个FPGA/CPLD芯片一起来实现设计,设计的性能还要取决于划分算法的优劣。由于该系统用印制电路板制作,如果想要修改印制电路板,修改的代价太高了。所以设计人员,希望在引脚的分配能够固定的情况下,再对电路进行修改。但是在提高芯片的利用效率,或者芯片有多个I/O口的情况下,比较细小的修改将会使得芯片的流通率降低。方案二使用单片机设计单片微型计算机简称单片机,是典型的嵌入式微控制器。它是利用超大规模的集成电路技术,把具有对数据进行处理的中央处理器(CPU)、只读存储器(ROM)和随机存储器(RAM)、还有各种各样的I/O口和中断系统、以及定时器/计时器等功能全部集成到一块小小的硅片上,使之构成一个体积小巧但功能完善的计算机系统。本次设计,我需要所选主控模块支持计算机并口下载。还需要多个I/O接口,完成LCD显示模块、复位电路、晶振电路、信号输入等模块的接入。传感器方面,我选择光断续器完成信号的采集。并通过主控模块计算和转化完成信号的处理,再传递给显示模块,显示出车速。因此我采用AT89S52作为单片机模块来进行本次设计。本设计由硬件设计和软件设计两部分组成。系统的硬件主要由以下几个部件组成主控模块AT89S52、信号输入模块(OPTC光断续器)、LCD显示模块,电源电路、复位电路、晶振电路几个电路,其系统框图如图1所示。复位电路电源电路LCD显示模块晶振电路OPTC光断续器主控模块AT89S52图1系统框图23开发环境的选择本设计采用KEILUVISION2和PROTEUS7PROFESSIONAL进行仿真测试。KEIL提供了包括一个功能强大的仿真调试器、连接器、库管理、宏汇编和C编译器等在内的完整开发方案,通过UVISION集成开发环境将这些部分组合在一起。PROTEUS7PROFESSIONAL软件既具有其它EDA工具软件的仿真功能,又能仿真单片机及外围器件。PROTEUS7PROFESSIONAL从代码调试、原理图布图到单片机与外围电路协同仿真,目前是世界上唯一将PCB设计软件、虚拟模型仿真软件和电路仿真软件三合一的设计平台,它的处理器模型支持8051、8086、HC11、AVR、ARM、MSP430和PIC10/12/16/18/24/30/DSPIC33等。3硬件设计31主要电子元件311单片机芯片AT89S52片内集成256字节程序运行空间、8K字节FLASH存储空间,支持最大64K外部存储扩展。根据不同的运行速度和功耗的要求,时钟频率可以设置在033M之间。片内资源有4组I/O控制端口、3个定时器、8个中断、软件设置低能耗模式、看门狗和断电保护。可以在4V到55V宽电压范围内正常工作。不断发展的半导体工艺也让该单片机的功耗不断降低。同时,该单片机支持计算机并口下载,简单的数字芯片就可以制成下载线。根据不同场合的要求,这款单片机提供了多种封装,因此我们采用AT89S52作为单片机模块,其芯片引脚图如图2所示。图2AT89S52芯片引脚图312显示单元本设计选用型号为1602A的LCD显示模块,如图3,选用这个显示模块有以下几个优点(1)显示的质量相对较高(2)接口采用的是数字式接口(3)显示屏的体积比较小巧且重量非常轻(4)在能耗方面有能耗低的优点。实物如图3所示。图3LCD显示屏313测速单元本次设计选用OPTC光断续器,进行车速信号的采集。光断续器利用检测物体通过时会遮光的原理便得以实现检测功能。断续器大致可以分为2种,一种是外壳插入型,另一种则是双重模铸型,如图4。本设计中采用的是第一种。图4光断续器结构图32电路图如图5所示,我将单片机的P10P17口分别接入LCD显示屏的D0D7。我用一个逻辑电平代替光断续器,实现信号的采集工作。逻辑电平(光断续器)接单片机的P32口,将信号传入单片机中,进行计算并转为数字信号传递给LCD显示屏。XTAL1和XTAL2口接晶振电路,晶振电路的作用是为系统提供基本的晶振信号。RST和EA口接复位电路,复位电路的作用是控制CPU的复位状态,防止CPU发出错误指令、执行错误指令。图5仿真电路图4软件设计41总体设计主程序首先进行初始化操作,然后通过OPTC光断续器作为测速仪的信号源,当被测物体通过时由于光的断续将会产生一个感应信号。将产生的感应信号输入单片机,经过数据处理和算法处理后得到通过物体的实际速度的数值。最后把得到物体通过的实际速度的数值传递给LCD显示模块,并在LCD显示屏中显示出来。主程序流程图如图6。开始初始化数据算法处理LCD显示OPTC光断续器数据转换图6主程序流程图42主要程序代码421写指令到LCD子函数VOIDWRITECOMMANDLCMUCHARWCLCM,UCHARBUSYCIFBUSYCLCD_WAITDATAPORTWCLCMLCM_RS0LCM_RW0LCM_EN1_NOP_NOP_NOP_LCM_EN0422写数据到LCD子函数VOIDWRITEDATALCMUCHARWDLCMLCD_WAITDATAPORTWDLCMLCM_RS1LCM_RW0LCM_EN1_NOP_NOP_NOP_LCM_EN0423显示指定坐标的一个字符子函数VOIDDISPLAYONECHARUCHARX,UCHARY,UCHARDDATAYXIFYX|0X40X|0X80WRITECOMMANDLCMX,0WRITEDATALCMDDATA424显示指定坐标的一串字符子函数VOIDDISPLAYLISTCHARUCHARX,UCHARY,UCHARDDATAUCHARLISTLENGTH0YXWHILEX16DISPLAYONECHARX,Y,DDATALISTLENGTHLISTLENGTHXVOIDDISPLAYSTRDISPLAYLISTCHAR0,0,STR0DISPLAYLISTCHAR0,1,STR15仿真结果与分析51项目测试仿真模拟图如图7所示。我用器件逻辑电平来模拟断续器产生信号,鼠标点击逻辑电平的间隔时间不同,会产生不同的脉冲信号,再通过单片机计算转换成为数字信号,传送给LCD显示模块。测试过程中,利用鼠标两次点击逻辑电平模拟光断续器产生脉冲信号。两次点击的间隔时间越长,表示物体通过时间长,速度慢。点击间隔3秒时,如图8所示。两次点击的间隔时间越短,表示物体通过时间短,速度快。点击间隔为1秒时,如图9所示。每次脉冲信号传递给AT89S52计算并转化为数字信号传递给LCD显示屏,显示出所测物体的速度。仿真模拟图如图7所示。52结果及问题将编译后的程序导入绘制的电路图中测试时,出现以下两个问题LCD数字显示屏不亮。经过我多次检查,发现时电路图绘制过程中,LCD数字显示屏接电源的那根线没有连上,改正后LCD数字显示屏亮了。LCD数字显示屏不显示速度。经过老师的帮助,找出是程序编写是出现了错误并改正,改正后LCD数字显示屏可以正常显示速度。图7仿真模拟图图8点击间隔3秒图9点击间隔1秒6实物制作结果与分析61制作过程实物的制作分为以下几个步骤(1)认真核对所有元器件的型号、规格是否正确和安装是否符合要求。(2)将需要使用的元器件分别放在准备好的两块覆铜板上,找到各自需要的位置。(3)使用电烙铁等工具将元器件焊接固定。(4)用杜邦线找好相应的接口,将两块覆铜板连接起来。(5)接通电源,检测实物是否正常运行。如图10。图10实物图片62问题及结果电路制作的过程中遇到了许多大大小小的问题,尤其是OPTC光断续器的购买,网上购买不到这个型号的光断续器,只有使用其它的原器件实现信号的采集。结论本次设计包含单片机芯片、信号输入模块、电源电路、复位电路、晶振电路和LCD显示模块。计划单片机芯片选用型号为AT89S52,信号输入模块选用OPTC光断续器,LCD显示模块的型号为1602A。在购买电子元件时,买不到OPTC光断续器,只能购买其它原器件作为信号采集的替代品,不耽误使用。本次设计,我计划测速仪可测量100KM/H范围内的速度,误差争取控制在1KM/H至1KM/H之间。本次设计还有很多不足之处,比如携带不方便、速度精准性不高等等。速度精确性不高的原因,是信号采集部分(光断续器)的选择的问题,解决方法是选用别的信号采集器件,如霍尔传感器等。本次的设计,还可以扩展为车速的测量,比如使用霍尔传感器等更好的信号采集器件。参考文献1杨居义单片机课程设计指导M北京清华大学出版社,2009,92侯玉宝等基于PROTEUS的51系列单片机设计与仿真M北京电子工业出版社,2008,13朱善君单片机接口技术与应用M北京清华大学出版社,20054杨欣51

温馨提示

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

评论

0/150

提交评论