首页 自行车车速报警系统毕业设计

自行车车速报警系统毕业设计

举报
开通vip

自行车车速报警系统毕业设计自行车车速报警系统 摘要 随着居民生活水平的不断提高,自行车不再仅仅是普通的运输、代步的工具,而是成为人们娱乐、休闲、锻炼的首选。自行车的速度里程表能够满足人们最基本的需求,让人们能清楚地知道当前的速度、里程等物理量。本文介绍了一种基于单片机控制的简易自动自行车速度以及里程计算系统,包括自行车里程表的硬件构成,软件逻辑以及程序代码。该里程测速系统以AT89C51作为系统控制核心,采用光...

自行车车速报警系统毕业设计
自行车车速报警系统 摘要 随着居民生活水平的不断提高,自行车不再仅仅是普通的运输、代步的工具,而是成为人们娱乐、休闲、锻炼的首选。自行车的速度里程表能够满足人们最基本的需求,让人们能清楚地知道当前的速度、里程等物理量。本文介绍了一种基于单片机控制的简易自动自行车速度以及里程计算系统,包括自行车里程表的硬件构成,软件逻辑以及程序代码。该里程测速系统以AT89C51作为系统控制核心,采用光电传感器来检测信号,通过一定时间间隔内对信号的采集,结合自行车本身车轮参数,经过单片机对采集信号进行分析计算,最终在LCD以及LED上显示车辆行驶里程、平均速度和瞬时速度,并且具有超速报警功能。文章详细介绍了自行车的速度里程表的硬件电路和软件 设计 领导形象设计圆作业设计ao工艺污水处理厂设计附属工程施工组织设计清扫机器人结构设计 。硬件部分利用霍尔元件将自行车每转一圈的脉冲数传入单片机系统,然后单片机系统将信号经过处理送显示。软件部分用汇编语言进行编程,采用模块化设计思想。该系统硬件电路简单,子程序具有通用性,完全符合设计要求。 【关键字】自行车测速;单片机;霍尔传感器,LCD/LED显示  兰州交通大学博文学院毕业设计 I Abstract With the continuous improvement of people's living standard, the bicycle is not only the common transport tools, but as people entertainment, leisure, exercise of choice. The speed of the bicycle speedometer can satisfy the basic need of people's life, so that people can clearly know the speed and the mileage of the physical quantities. A computing system based on single-chip microcomputer to control the simple automatic bicycle speed and mileage, including bicycle odometer hardware composition, software logic and program code are introduced in this paper. The mileage speed measurement system based on AT89C51 as the system control core, photoelectric sensor is used to detect the signal, by a certain time interval of signal acquisition, with a bicycle wheel parameters, through the microcontroller to analyze and compute the signal acquisition, eventually in the LCD and LED display vehicle mileage, average velocity and instantaneous velocity, and is speeding alarm function. This paper introduces the hardware circuit and software design of the bicycle speed odometer. In the hardware part, the pulse number of the bicycle is transmitted to the single chip microcomputer system by Holzer element, and then the signal is processed and sent to the display device. The software part is programmed by assembly language, and the idea of modular design is adopted. The system hardware circuit is simple, the subroutine is universal, fully meet the design requirements. 【Key words】 bicycle speed measurement; MCU; Holzer sensor, LCD/LED display II 目录 第一章 绪论 1 1.1课题背景介绍 1 1.2课题研究意义 1 1.3课题研究的主要内容 1 第二章 系统设计 2 2.1设计任务与要求 2 2.2总体设计 方案 气瓶 现场处置方案 .pdf气瓶 现场处置方案 .doc见习基地管理方案.doc关于群访事件的化解方案建筑工地扬尘治理专项方案下载 2 第三章 系统方案论证 3 第四章 系统硬件设计 5 4.1硬件设计思路 5 4.2霍尔传感器 5 4.2.1霍尔传感器的介绍 5 4.2.2霍尔效应 6 4.2.3霍尔器件 6 4.2.4霍尔传感器的分类 7 4.2.5霍尔传感器的特性 8 4.2.6传感器的选择 9 4.3 主控芯片单片机的选择 9 4.3.1 AT89C51的性能 10 4.3.2 AT89C51的引脚结构 10 4.4显示模块的选择 11 4.4.1 1602字符型LCD简介 11 4.4.2 1602LCD的基本参数及引脚功能 11 4.4.3 1602LCD 显示模型 14 4.4.4 LED显示模块 14 III 4.5按键模块 15 4.6 LED报警 16 第五章 系统软件设计 17 5.1系统主程序流程图 17 5.2数据处理子程序的设计 17 5.3显示子程序设计 20 第六章 程序调试与分析 23 总结 24 致谢 25 参考文献 26 程序源代码 27 IV 第一章 绪论 1.1课题背景介绍 自行车被发明及使用到现在已有两百多年的历史,这两百年间人类在不断的尝试与研发过程中,将玩具式的木马车转换到今日各式新颖休闲运动自行车,自行车发展的目的也从最早的交通代步的工具转换成休闲娱乐运动的用途。 随着居民生活水平的不断提高,自行车不再仅仅是普通的运输、代步的工具,而是成为人们娱乐、休闲、锻炼的首选。因此,人们希望自行车的功用更强大,能给人们带来更多的方便。自行车里程速度表作为自行车的一大辅助工具也正是随着这个要求而迅速发展的,其功能也逐渐从单一的里程显示发展到速度、时间显示,甚至有的还具有测量骑车人的心跳、显示骑车人热量消耗等功能。采用单片机设计一种体积小、操作简单的便携式自行车的速度里程表,它能自动地显示当前自行车行走的距离及运行的速度,可以广泛用于个人、家庭、比赛等场合的测速、里程显示等其他功能。 1.2课题研究意义 自行车速度里程表已成为人们日常生活中必不可少的必需品,广泛用于个人家庭及比赛等公共场合,给人们的生活,出行,工作带来了极大的方便,由于自行车速度里程表的数字集成电路的发展和采用了先进的传感器技术,使自行车速度里程表有测量准确、性能稳定、携带方便等优点,它还用于测速,里程计算及自动控制等各个领域。尽管目前市场上已有现成的自行车速度里程表集成电路芯片出售,价格便宜,使用也很方便。但鉴于自行车速度里程表的基本组成包含了数字电路、单片机及自动检测的主要组成部分。因此进行自行车速度里程表的设计是必要的,研究自行车速度里程表及扩大其应用,有着非常现实的意义。 1.3课题研究的主要内容 本课题研究的主要内容是利用霍尔元件,单片机等部件设计一个可用的LED数码实时显示速度和里程的自行车速度里程表。能显示速度。里程,并可以通过按键进行切换。通过编程使单片机具有测速并计算里程的功能,并通过按键切换两种功能,再通过模块显示时间,霍尔传感器和外部存储对单片机提供脉冲信号和数据记录,从而实现调整与现实的功能。 第二章 系统设计 2.1设计任务和要求 2.1.1设计任务 设计一个自行车里程表、测速仪,可以将自行车一段时间内的行驶里程,瞬时速度,平均速度在LCD上显示出来,有一个能用LCD显示的腕式自行车里程显示器,传感器采用霍尔元器件,安装在自行车的车轮上; 2.1.2基本要求 能实时显示当前的车速和行驶里程; 能去除或保留原先的里程数; 电池供电。 2.2 总体设计方案 2.2.1系统总体设计思路 本系统实现自行车运行过程中对行驶里程、当前瞬时速度、平均速度进行测量和显示。总体设计思路如图1所示。系统包括控制器模块、信号检测采集模块、显示模块、电源模块四部分。  图1 系统工作时,传感器采集到信号(用按键代表脉冲、或者用频率输入代表信号输入)传输给单片机,单片机计数器统计脉冲个数,定时器记录相应时间长度,经过运算,将行驶里程、平均速度送给LCD显示,当前(瞬时)速度送给7段数码管显示。 第三章 系统方案论证 测速,首先要解决是采样的问题。使用单片机进行测速,可以使用简单的脉冲计数法。只要转轴每旋转一周,产生一个或固定的多个脉冲,将脉冲送入单片机中进行计算,即可获得转速的信息。常用的测速元件有霍尔传感器、光电传感器和光电编码器。里程测量传感器的选择也有以下几种方案: 使用光敏电阻对里程进行测量、利用编码器对车轮的圈数进行测量、利用霍尔传感器对里程进行测量、利用干簧管型传感器测量里程。光敏电阻对光特别敏感,当白天行驶时,外界光源将导致光敏电阻发出错误信号;光敏电阻对环境的要求相当高,如果光敏电阻或发光二极管被泥沙或灰尘所覆盖,光敏电阻就不能再进行准确测量;而编码器必须安装在车轴上,安装较为复杂;霍尔元件或干簧管不但不受天气的影响,即使被泥沙或灰尘覆盖也不会有影响,而且安装方便。所以本设计采用霍尔元件对里程与速度进行测量,既简单易行,又经济适用。 使用霍尔传感器获得脉冲信号,其机械结构也可以做得较为简单,只要在转轴的齿轮盘上粘上一粒磁钢,霍尔元件固定在前叉上,当车子转动时霍尔元件靠近磁钢,就有信号输出,转轴旋转时,就会不断地产生脉冲信号输出。如果在齿轮盘上粘上多粒磁钢,可以实现旋转一周,获得多个脉冲输出。在粘磁钢时要注意,霍尔传感器对磁场方向敏感,粘之前可以先手动接近一下传感器,如果没有信号输出,可以换一个方向再试。这种传感器不怕灰尘、油污,在工业现场应用广泛。 目前,单片机被广泛的应用于测控系统、工业自动化、智能仪表、集成智能传感器、机电一体化产品、家用电器领域、办公自动化领域、汽车电子与航空航天器电子系统以及单片机的多机系统等领域。在设计中选用的是AT89C51单片机 。 图2系统结构框图 第四章 系统硬件设计 4.1整体硬件设计思路 本设计的自行车车速报警系统以AT89C51作为系统控制核心,采用光电传感器来检测信号,通过一定时间间隔内对信号的采集,结合自行车本身车轮参数,经过单片机对采集信号进行分析计算,最终在LCD以及LED上显示车辆行驶里程、平均速度和瞬时速度,并且具有超速报警功能。如图4.1所示: 图4.1硬件结构框图 4.2 霍尔传感器 4.2.1霍尔传感器的介绍 霍尔传感器是根据霍尔效应制作的一种磁场传感器。霍尔效应是磁电效应的一种,这一现象是霍尔(Edwin H. Hall,1855—1938)于1879年在研究金属的导电机构时发现的。后来发现半导体、导电流体等也有这种效应,而半导体的霍尔效应比金属强得多,利用这种现象制成的各种霍尔组件,广泛地应用于工业自动化技术、检测技术及信息处理等方面。霍尔效应是研究半导体材料性能的基本 方法 快递客服问题件处理详细方法山木方法pdf计算方法pdf华与华方法下载八字理论方法下载 。 通过霍尔效应实验测定的霍尔系数,能够判断半导体材料的导电类型、载流子浓度及载流子迁移率等重要参数。霍尔器件是一种采用半导体材料制成的磁电转换器件。如果在输入端通入控制电流IC,当有一磁场B穿过该器件感磁面,则在输出端出现霍尔电势UH。在磁场力作用下,在金属或通电半导体中将产生霍尔效应,其输出电压与磁场强度成正比。基于霍尔效应的霍耳传感器常用于测量磁场强度,其测量范围从10Oe到几千奥斯特。尽管人们早在1879年就知道了霍尔效应,但直到20世纪60年代末期,随着固态电子技术的发展,霍尔效应才开始被人们所应用。 4.2.2霍尔效应 在半导体薄片两端通以控制电流I,并在薄片的垂直方向施加磁感应强度为B的匀强磁场,则在垂直于电流和磁场的方向上,将产生电势差为UH的霍尔电压。这一现象便是霍尔效应,如图4.2霍尔效应原理图所示。 图4.2 霍尔效应原理图 固体材料中的载流子在外加磁场中运动时,因为受到洛仑兹力的作用而使轨迹发生偏移,并在材料两侧产生电荷积累,形成垂直于电流方向的电场,最终使载流子受到的洛仑兹力与电 场斥力相平衡,从而在两侧建立起一个稳定的电势差即霍尔电压。正交电场和电流强度与磁场强度的乘积之比就是霍尔系数。平行电场和电流强度之比就是电阻率。大量的研究揭示:参加材料导电过程的不仅有带负电的电子,还有带正电的空穴。 4.2.3霍尔器件 霍尔器件分为:霍尔元件和霍尔集成电路两大类。 前者是一个简单的霍尔片,使用时常常需要将获得的霍尔电压进行放大。后者将霍尔片和它的信号处理电路集成在同一个芯片上。 根据霍尔效应,人们用半导体材料制成的元件叫霍尔元件。 霍尔元件的组成:由霍尔片、四根引线和壳体组成, 如图4.3霍尔元件的组成及型号命名方法所示。 图4.3  霍尔元件的组成及型号命名 它具有对磁场敏感、结构简单、体积小、频率响应宽、输出电压变化大和使用寿命长等优点,因此,在测量、自动化、计算机和信息技术等领域得到广泛的应用。 霍尔元件的特性有霍尔系数(又称霍尔常数)RH,霍尔灵敏度KH(又称霍尔乘积灵敏度),霍尔额定激励电流,霍尔最大允许激励电流,霍尔输入、输出电阻,霍尔元件的电阻温度系数,霍尔不等位电势(又称霍尔偏移零点),霍尔输出电压,霍尔电压输出比率,霍尔寄生直流电势,霍尔电势温度系数等。 由于霍尔元件产生的电势差很小,故通常将霍尔元件与放大器电路、温度补偿电路及稳压电源电路等集成在一个芯片上,称之为霍尔传感器。 4.2.4霍尔传感器的分类 按照霍尔器件的功能可将霍尔传感器分为线性型霍尔传感器和开关型霍尔传感器两种: 1)线性型霍尔传感器 线性型霍尔传感器是由霍尔元件、线性放大器和射极跟随器组成,它输出模拟量。  2)开关型霍尔传感器 开关型霍尔传感器是由稳压器、霍尔元件、差分放大器,斯密特触发器和输出级组成,它输出数字量。 霍尔传感器是根据霍尔效应原理而制成的电流和电压传感器。根据对霍尔电势处理的方式不同,霍尔传感器又可分为以下两类: 1)第一类是直接将霍尔电势做适当放大处理以后提供给检测仪器或控制设备,就是所谓的直接检测式霍尔电流传感器。这种传感器耐压等级高,成本低,性能稳定,但精度受温度变化影响大,动态响应特性很不理想。我公司采用电路补偿,圆满解决以上问题。 2)第二类是磁场平衡式霍尔传感器,它采用了单或双霍尔元件,并工作在零磁通状态,且有以下特点: (1)测量范围宽,可测量各种电流,如直流、交流、脉冲电流等。 (2)电气隔离性能好。 (3)测量精度高,线性度好。 (4)抗外界电磁和温度等因素的干扰能力强。 (5)电流上升率大,响应速度快。 (6)过载能力强。 (7)体积小,重量轻,安装简单、方便。 目前的产品中以磁场平衡式霍尔传感器为主。 4.2.5霍尔传感器的特性 (1) 线性型霍尔传感器的特性 图4.4  线性型霍尔传感器的特性 输出电压与外加磁场强度呈线性关系,如图4.4线性型霍尔传感器的特性所示,可见,在B1~B2的磁感应强度范围内有较好的线性度,磁感应强度超出此范围时则呈现饱和状态。 (2)开关型霍尔传感器的特性  如图4.5开关型霍尔传感器的特性所示,其中BOP为工作点“开”的磁感应强度,BRP为释放点“关”的磁感应强度。 图4.5 开关型霍尔传感器的特性 当外加的磁感应强度超过动作点Bop时,传感器输出低电平,当磁感应强度降到动作点Bop以下时,传感器输出电平不变,一直要降到释放点Brp时,传感器才由低电平跃变为高电平。Bop与Brp之间的滞后使开关动作更为可靠。 另外还有一种“锁键型”(或称“锁存型”)开关型霍尔传感器,其特性如图4.6锁键型霍尔传感器特性所示。 图4.6  锁键型霍尔传感器特性 当磁感应强度超过动作点Bop时,传感器输出由高电平跃变为低电平,而在外磁场撤消后,其输出状态保持不变(即锁存状态),必须施加反向磁感应强度达到Brp时,才能使电平产生变化。 4.2.6霍尔传感器的选择 红外光电传感器。把红外对管分别安装在自行车车轮的两侧,当车轮转动时,辐条会阻挡红外对管的光路,接收管输出低电平,单片机根据此信号可计算里程、速度等。红外对管的优点是测量精度高,缺点是安装比较复杂和容易受外来光线、灰尘等的影响。 开关型霍尔传感器。霍尔传感器是利用霍尔效应把磁输入信号转换成电信号的器件。把开关型霍尔传感器安装在自行车贴近车轮的支架上,磁钢安装在辐条上,当磁钢靠近霍尔传感器的时候,传感器输出一个无抖动的低电平,单片机根据此信号可计算里程、速度等。霍尔传感器的优点是稳定和安装简易,缺点是成本较高。 干簧管。干簧管是一种磁敏的有触点无源电子开关元件,应用在里程表上的原理与开关型霍尔传感器类似,把干簧管安装在自行车贴近车轮的支架上,磁钢安装在辐条上,当磁钢靠近霍尔传感器的时候,干簧管闭合,单片机根据此信号可计算里程、速度等。干簧管的优点是成本低廉和安装简易,缺点是比较脆弱和不够稳定。 本里程表选用开关型霍尔传感器,稳定、安装简易。 4.3 主控芯片单片机的选择 20世纪80年代以来,单片机的发展非常迅速,就单片机而言,世界上一些著名的计算机厂家已投放市场的产品就有50多个系列,数百个品种。AT89C51是一种带4K字节FLASH存储器(FPEROM—Flash Programmable and Erasable Read Only Memory)的低电压、高性能CMOS 8位微处理器,俗称单片机。AT89C2051是一种带2K字节闪存可编程可擦除只读存储器的单片机。单片机的可擦除只读存储器可以反复擦除1000次。该器件采用ATMEL高密度非易失存储器制造技术制造,与工业标准的MCS-51指令集和输出管脚相兼容。由于将多功能8位CPU和闪烁存储器组合在单个芯片中,ATMEL的AT89C51是一种高效微控制器,AT89C2051是它的一种精简版本。AT89C51单片机为很多嵌入式控制系统提供了一种灵活性高且价廉的方案。故此设计采用AT89C51。 4.3.1 AT89C51的主要性能 ·与MCS-51单片机产品兼容 ·4k字节在系统可编程Flash存储器 ·1000次擦写周期 ·全静态操作:0HZ~24HZ ·三级程序存储器锁定 ·32个可编程I/O口线 ·两个16位定时器/计数器 ·五个中断器 ·可编程串行通道 ·低功耗空闲和掉电模式 ·看门狗定时器 4.3.2 AT89C51的引脚结构 图4-7 AT89C51的引脚结构图 4.4显示模块的选择 动态扫描LED数码管显示。里程表的显示内容以数字为主,利用LED数码管可基本满足使用要求,且成本较低。但是用动态扫描的方式驱动数码管,亮度太低,在阳光下几乎看不见显示内容,失去使用价值。 串行静态LED数码管显示。把单片机的串行口设置为方式0(同步移位寄存器),输出显示信息,可实现LED数码管的静态显示,其亮度令人满意。但由于要使用74HC164/74LS164串并转换芯片驱动LED数码管,因此会带来体积大、成本高、功耗高等的缺点。 LCD液晶显示模块。液晶显示模块具有体积小、功耗低、显示内容丰富等特点,现在字符型液晶显示模块已经是单片机应用设计中最常用的信息显示器件了。本里程表使用1602 LCD作为显示模块。外加四个七段管LED用来显示5秒内的当前速度(近似瞬时速度) 4.4.1 1602字符型LCD简介  字符型液晶显示模块是一种专门用于显示字母、数字、符号等点阵式LCD,目前常用16*1,16*2,20*2和40*2行等的模块。下面以长沙太阳人电子有限公司的1602字符型液晶显示器为例,介绍其用法。字符型LCD1602通常有14条引脚线或16条引脚线的LCD,多出来的2条线是背光电源线VCC(15脚)和地线GND(16脚),其控制原理与14脚的LCD完全一样[14]。一般1602字符型液晶显示器实物如图4.8所示。 图4.8 1602实物图 4.4.2 1602LCD的基本参数及引脚功能 1. 1602LCD类型 1602LCD分为带背光和不带背光两种,基控制器大部分为HD44780,带背光的比不带背光的厚,是否带背光在应用中并无差别,两者尺寸差别如图4.9所示。 图4.9 1602带背光与不带背光差别图 2. LCD1602主要技术参数 显示容量:16×2个字符 芯片工作电压:4.5—5.5V 工作电流:2.0mA(5.0V) 模块最佳工作电压:5.0V 字符尺寸:2.95×4.35(W×H)mm 3. 1602LCD引脚 1602LCD采用标准的14脚(无背光)或16脚(带背光)接口,各引脚接口说明如表4.1。 表4.1 引脚接口说明表 第1脚:VSS为地电源。 第2脚:VDD接5V正电源。 第3脚:VL为液晶显示器对比度调整端,接正电源时对比度最弱,接地时对比度最高,对比度过高时会产生“鬼影”,使用时可以通过一个10K的电位器调整对比度。 第4脚:RS为寄存器选择,高电平时选择数据寄存器、低电平时选择指令寄存器。 第5脚:R/W为读写信号线,高电平时进行读操作,低电平时进行写操作。当RS和R/W共同为低电平时可以写入指令或者显示地址,当RS为低电平R/W为高电平时可以读忙信号,当RS为高电平R/W为低电平时可以写入数据。 第6脚:E端为使能端,当E端由高电平跳变成低电平时,液晶模块执行命令。 第7~14脚:D0~D7为8位双向数据线。 第15脚:背光源正极。 第16脚:背光源负极。 4.其与单片机的连接如图4.10所示。 图4.10 1602与单片机接线图 4.4.3 1602LCD显示模式 LCD1602是常见的16×2行,6×8字符点阵液晶模块,广泛应用于智能仪表、通信、办公自动化设备中,其字符发生器ROM中自带数字和英文字母及一些特殊符号的字符库,没有汉字。本设计中LCD1602显示了英文字母和数字。由于Proteus库中没有16引脚,因此选用LCD1602的14引脚方式,即不带背光源部分。如图4.11所示。 图4.11 LCD显示图 4.4.3 LED显示模式 本设计中采用LED数码管显示瞬时速度。在单片机系统中,通常用LED数码显示器来显示各种数字或符号。由于它具有显示清晰、亮度高、使用电压低、寿命长的特点,因此使用非常广泛。八段LED显示器由8个发光二极管组成。其中7个发光二极管构成字型“8”的各个笔画段,另一个小数点为dp发光二极管。LED显示器有两种不同的形式:一种是发光二极管的阳极都连在一起的,称之为共阳极LED显示器;另一种是发光二极管的阴极都连在一起的,称之为共阴极LED示 器,本次设计采用共共阴极接法如图4.12所示。 图4.12七(八)段LED显示 LED显示方式有动态显示和静态显示两种方式。本系统采用动态扫描显示接口电路,动态显示接口电路是把所有显示器的8个笔划段a-h同名端连在一起,而每一个显示器的公共极COM各自独立地受I/O线控制。CPU向字段输出口送出字型码时,所有显示器接收到相同的字型码,但究竟是哪个显示器亮,则取决于COM端。也就是说我们可以采用分时的方法,轮流控制各个显示器的COM端,使各个显示器轮流点亮。在轮流点亮扫描过程中,每位显示器的点亮时间是极为短暂的(约1ms),由于人的视觉暂留现象及发光二极管的余辉效应,尽管实际上各位显示器并非同时点亮,但只要扫描的速度足够快,给人的印象就是一组稳定的显示数据,不会有闪烁感。显示电路接线原理图如4.13所示: 图4.13 显示电路接线原理图 4.5按键模块 AT89C51单片机的复位输入引脚RST为AT89C51提供了初始化的手段。有了它可以使程序从指定处开始执行,即从程序存储器中的0000H地址单元开始执行程序。在89C51的时钟电路工作后,只要在RST引脚上出现两个机器周期以上的高电平时,单片机内部则初始复位。只要RST保持高电平,则89C51循环复位。只有当RST由高电平变成低电平以后,89C51才从0000H地址开始执行程序。 本系统的复位电路是采用按键复位的电路,是常用复位电路之一。单片机复位通过按动按钮产生高电平复位称手动复位。上电时,刚接通电源,电容C相当于瞬间短路,+5V立即加到RST/VPD端,该高电平使89C51全机自动复位,这就是上电复位;若运行过程中需要程序从头执行,只需按动按钮即可。按下按钮,则直接把+5V加到了RST/VPD端从而复位称为手动复位。复位后,P0到P3并行I/O口全为高电平,其它寄存器全部清零,只有SBUF寄存器状态不确定。 在本次设计中复位电路主要给单片机提供初始化手段,与单片机RST引脚相连,当RST引脚上出现两个机器周期以上的高电平时单片机内部初始化。使用按键复位电路的上电复位和手动复位可以使操作变得更简单,方便,很大程度上提高系统综合性能,其接线如图4.14所示。 4.14 复位电路接线原理图 4.6 LED报警 LED灯一端接入电源,一端和AT89C51的P3.7口相应端口相连。达到一定速度LED发光。 图4.13 LED显示电路 第五章 系统软件设计 5.1系统主程序流程图 (a)主程序流程图 (b)中断服务子程序流程图 5.2 数据处理子程序的设计 5.2.1里程计算子程序 外中断0服务程序用于对单片机P3.5口输入的圈脉冲进行计数,为十六进制计数器。60H为低位,62H为高位。每次计数一次后,对里程数据进行一次存储操作。当车轮每转一圈,通过霍尔元件将脉冲数输入单片机内,通过计数器计出脉冲数,再用乘法子程序算出里程数。里程处理子程序流程图如图5.1所示。 图5.1 里程处理子程序流程图 5.2.2里程计算程序相关代码 while(1) {     quanshu=TL1+TH1*256;  //计算车轮旋转圈数 length=quanshu*215;  //骑行؟距离 length1=length/100000; length2=(length-length1*100000)/10000; length3=(length-length1*100000-length2*10000)/1000; length4=(length-length1*100000-length2*10000-length3*1000)/100; 5.2.3速度计算子程序 外中断1服务程序用于处理轮子转动一圈后的计时数据。当标志位(00H)为1时,计数溢出,放入最大时间值(#0FFH);当标志位为0时,将计数单元(TL1、TH1、6CH、6DH)的值放入68H~6BH单元。定时器计出每转一圈所用的时间,用自行车车轮的周长除以时间就得出自行车的速度,速度子程序如图5.2所示。 图5.2 速度处理子程序流程图 5.2.4速度计算子程序相关代码 if(timer()>0) v=length/timer();  //计算速度     vnow=lengthvalue/5;  //计算当前速度 if(vnow>=695) LED=0;else LED=1;  //速度超过6.95m/s(即25km/h)则报警灯亮 Display(vnow);  //在LED七段管上显示当前速度 Delay0(20); a=(v/1000);          //计算速度的各个进位 b=(v-a*1000)/100; c=(v-a*1000-b*100)/10; d=v%10;     second1=second/10;  //计算分秒时的十位与个位 second2=second%10; minute1=minute/10; minute2=minute%10; hour1=hour/10; hour2=hour%10; L1602_string(1,1,'s');       //在LED相应位置显示变量或常量 L1602_string(1,2,'p'); L1602_string(1,3,'e'); L1602_string(1,4,'e'); L1602_string(1,5,'d'); L1602_string(1,6,' '); L1602_string(1,7,'L'); L1602_string(1,8,'='); L1602_string(1,9,length1+48); L1602_string(1,10,length2+48); L1602_string(1,11,length3+48); L1602_string(1,12,length4+48); L1602_string(1,13,'.'); L1602_string(1,14,length5+48); L1602_string(1,15,length6+48); L1602_string(1,16,'m'); L1602_string(2,1,a+48);      L1602_string(2,2,b+48); L1602_string(2,3,'.'); L1602_string(2,4,c+48); L1602_string(2,5,d+48); L1602_string(2,6,'m'); L1602_string(2,7,'/'); L1602_string(2,8,'s'); L1602_string(2,9,hour1+48); L1602_string(2,10,hour2+48); L1602_string(2,11,':'); L1602_string(2,12,minute1+48); 5.3显示子程序的设计 采用动态扫描显示接口电路,动态显示接口电路是把所有显示器的8个笔划段a-h同名端连在一起,而每一个显示器的公共极COM各自独立地受I/O线控制。CPU向字段输出口送出字型码时,所有显示器接收到相同的字型码,但究竟是哪个显示器亮,则取决于COM端。可以采用分时的方法,轮流控制各个显示器的COM端,使各个显示器轮流点亮。在轮流点亮扫描过程中,每位显示器的点亮时间是极为短暂的(约1ms),由于人的视觉暂留现象及发光二极管的余辉效应,尽管实际上各位显示器并非同时点亮,但只要扫描的速度足够快,给人的印象就是一组稳定的显示数据,不会有闪烁感。 本设计P2.0、P2.1、P2.2、P2.3信号一起组成位选通的位选信号,P0.0~P0.7信号一起组成段码选通的段选信号,通过软件编程,先把所要显示的数据放入存储单元,然后把数据送入段选通对应的地址,再选通某一个LED,逐步完成四个LED的显示。显示子程序流程图如图5.3所示。 图5.3 显示子程序流程图 5.3.1显示主程序相关代码 void Display(unsigned int x)  //在LED七段管中显示最高速度 { unsigned char slc; unsigned char a,b,c,d; slc=0xef;  //LED七段管选通 a= x/1000; b=( x-a*1000)/100; c=( x-a*1000-b*100)/10; d= x%10;  { P2=slc;  //分别将最大速度的各个位扫描显示 slc=slc<<1; P1=Table[a]; Delay0(10); P2=slc; slc=slc<<1; P1=Table1[b]; Delay0(10); P2=slc; slc=slc<<1; P1=Table[c]; Delay0(10); P2=slc; slc=slc<<1; P1=Table[d]; Delay0(10);  } return; } 第六章 程序调试与分析 支持的环境下,用Proteus设计好的电路,KEIL编好的程序编译成芯片可识别的S51档,利用PC机写进Proteus程序图芯片内进行仿真测试,并对其出现的错误进行修改,由图6.1可看出最终调试成功。 图6.1仿真运行图(超速) 总结 本设计以AT89C51为核心,通过光电传感器来检测自行车的运转情况进而实现自行车的速度,里程的计算及里程的累计,存储,最后用6位的LED能直观的将速度与里程显示给用户,并且在速度高于一定的值时可自动向用户报警,从而达到智能速度里程表。 毕业设计( 论文 政研论文下载论文大学下载论文大学下载关于长拳的论文浙大论文封面下载 )是学生综合运用所学理论知识来分析和解决具有一定复杂程度的实际问题的一个实践过程;是提高学生观察事物、获取信息、理解和表述事物能力及分析、解决实际问题能力的重要教学环节;是培养学生技术经济分析能力、独立工作能力、与人合作能力、创新能力及养成理论联系实际的工作作风和提高 工程 路基工程安全技术交底工程项目施工成本控制工程量增项单年度零星工程技术标正投影法基本原理 实践能力的重要途径;是学生走向社会之前对其本身综合素质与能力的全面检验,也是全面衡量学校教育教学质量的一个重要依据。因此,毕业设计(论文)质量如何,在很大程度上客观、全面地反映了毕业生的能力和素质,反映了学校教育教学工作的质量和水平,这次实践让我该变了对知识的看法, 无论是大问题还是小问题,都是解决问题的一部分,缺一不可,平时对小知识点的疏忽导致在处理问题上出现障碍,一件东西的设计与发明,缺少不了大量的查资料,无论是中国文献还是外国文献,获得需要的资料可以是从电脑上,课本上,老师那问,和图书馆查找有关书籍,还有问问同学,一件作品不是一个人的成果,而是很多人的一点一滴辛苦聚集起来的,开始还没做论文时,有点害怕和不知所措,不知道从何处下手,于是大量的看别人写过的有关论文,看看别人的大概思路,设计理念,运用到的有关原理,有关元器件,于是就一个个元器件去搜索,去了解有关元器件的所有知识点,反复思考,根据那些器件的性能和优缺点最终选了所需的元件。 致谢 感谢博文学院四年来对我的辛苦培育,让我在大学这四年来学到很东西,特别感谢机电工程系为我提供了良好的学习环境、感谢领导、老师们四年来对我无微不至的关怀和指导,让我得以在这四年中学到很多有用的知识,是你们诲人不倦才有了现在的我。在此,我还要感谢在班里同学和朋友,感谢你们在我遇到困难的时候帮助我,给我支持和鼓励,感谢一起欢笑一起惆怅的日子,不论何时,请不要忘记最初的梦想,感谢你们。   特别感谢我的指导老师万老师,在这次设计中给予我悉心指导,这次设计中遇到很多困难都是她给我鼓励与指引,使我能够克服重重困难,将设计完成,在此谨向万老师致以诚挚的谢意和崇高的敬意!  参考文献 [1] 楼然苗,李光飞. 51系列单片机设计实例. 北京航空航天大学出版社,2006. [2] 松井邦彦,梁瑞林. 传感器应用技术141例. 科学出版社,2006. [3] 张洪润,张亚凡. 传感器技术与应用教程. 清华大学出版社,2005. [4] 张毅刚,刘杰. MCS-51单片机原理及应用. 哈尔滨工业大学出版社,2004. [5] 黄河,郭纪林. 单片机原理及应用. 大连理工大学出版社,2006. [6] 刘灿军,实用传感器. 国防工业出版社,2004. [7] 何希才,传感器及其应用. 国防工业出版社,2001. [8] 陈雪丽,单片机原理及接口技术.化学工业 出版社,2005. [9] 李勋,刘源,李静东. 单片机实用教程.北京航空航天大学出版社,2006. [10] 刁文兴. 自行车电子里程表的初步设计. 南京工业职业技术学院学报,2004, 6: 25-28. [11] 许德章等. 摩托车电子转速表智能校验仪. 自动化仪表,2000,4: 23-24. [12] 安宗权. 电动电子车速里程表分频电路设计. 自动化与仪器仪表,2001,5: 39-44. [13] 阎焕忠,王长涛,马斌. 单片机控制里程转速表的设计. 沈阳建筑工程学院学报(自然科学版),2002, 4: 145-148. [14] 曲家骇,王季秩,伺服控制系统中的传感器[M]. 机械工业出版社. 1998. [15] 张友德,赵志英,涂时亮,单片机微机原理,应用与实验[M].上海:复旦大学出版社,2003:122-136. [16] Ateml AT89S51 Data sheets.website:www.21ic.com. [17] 谢自美. 电子线路设计.实验.测试[M].武汉:华中科技大学出版社,2000:212-230. [18] 张福学. 传感器使用电路150例.中国技术出版社,1992年. [19] A MCS-51 based security system .Jagdish Singh;Arun Kumar;Kailash Chandra; 《Journal of the Instrument Society of India》 程序源代码: #include #include //包含_nop_();函数定义的头文件 void timer0_int(); sbit LED=P3^7; sbit E=P3^2; //1602使能引脚 sbit RW=P3^1; //1602读写引脚 sbit RS=P3^0; //1602数据/命令选择引脚 unsigned char hour,minute,second; unsigned char n,count; unsigned long lengthbuf,lengthvalue; unsigned char code Table[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f}; //0~9的共阴极七段管代码 unsigned char code Table1[]={0xbf,0x86,0xdb,0xcf,0xe6,0xed,0xfd,0x87,0xff,0xef}; //0~9的共阴极七段管代码,带小数点 void Delay0(int Times); void Display(); void delay() //延时5US { _nop_(); _nop_(); _nop_(); _nop_(); _nop_(); } bit Busy(void) //读状态函数,判断液晶模块的忙碌状态 { bit busy_flag = 0; RS = 0; RW = 1; E = 1; delay(); busy_flag = (bit)(P0 & 0x80); E = 0; return busy_flag; } void wcmd(unsigned char del) //将模式设置指令或显示地址写入液晶模块 { while(Busy()); RS = 0; RW = 0; E = 0; delay(); P0 = del; delay(); E = 1; delay(); E = 0; } void wdata(unsigned char del) ///将数据(字符ASCII码)写入液晶模块 { while(Busy()); RS = 1; RW = 0; E = 0; delay(); P0 = del; delay(); E = 1; delay(); E = 0; } void L1602_init(void) //初始化液晶模块 { wcmd(0x38); //功能设置,8位字长,2行,5*7点阵 wcmd(0x0c); //显示设置,显示屏右移 wcmd(0x06); //显示设置,光标右移,字符不移 wcmd(0x01); //清屏命令 } void L1602_string(unsigned char hang,unsigned char lie,unsigned char p) //将数据写入液晶模块 { unsigned char a; if(hang == 1) a = 0x80; //显示在第一行 if(hang == 2) a = 0xc0; //显示在第一行 a = a + lie -1; wcmd(a); wdata(p); } void timer0_int() interrupt 1 using 3 //中断,用于构成时钟 { n++; if(n==100) { n=0; count++; second++; if(second>=60) { second=0; minute++; if(minute>=60) { minute=0; hour++; if(hour>=24) hour=0; } } } if(count==5) { count=0; lengthvalue=(TL1+TH1*256)*215-lengthbuf; lengthbuf=(TL1+TH1*256)*215; } TH0=0xd8; TL0=0xf0; } int timer() //以秒为单位计算运行总时间 { unsigned char a=100; unsigned char b; b=second+minute*60+hour*60*60; return b; } void Delay0(int Time) //延时子程序 { int i; unsigned char j; for(i=0;i0) v=length/timer(); //计算速度 vnow=lengthvalue/5; //计算当前速度(5秒内) if(vnow>=695) LED=0;else LED=1; //速度超过6.95m/s(即25km/h),则报警灯亮 Display(vnow); //在LED七段管上显示当前速度(5秒内)速度 Delay0(20); a=(v/1000); //计算速度的各个进位 b=(v-a*1000)/100; c=(v-a*1000-b*100)/10; d=v%10; second1=second/10; //计算分秒时的十位与个位 second2=second%10; minute1=minute/10; minute2=minute%10; hour1=hour/10; hour2=hour%10; L1602_string(1,1,'s'); //在LCD相应位置显示变量或者常量 L1602_string(1,2,'p'); L1602_string(1,3,'e'); L1602_string(1,4,'e'); L1602_string(1,5,'d'); L1602_string(1,6,' '); L1602_string(1,7,'L'); L1602_string(1,8,'='); L1602_string(1,9,length1+48); L1602_string(1,10,length2+48); L1602_string(1,11,length3+48); L1602_string(1,12,length4+48); L1602_string(1,13,'.'); L1602_string(1,14,length5+48); L1602_string(1,15,length6+48); L1602_string(1,16,'m'); L1602_string(2,1,a+48); L1602_string(2,2,b+48); L1602_string(2,3,'.'); L1602_string(2,4,c+48); L1602_string(2,5,d+48); L1602_string(2,6,'m'); L1602_string(2,7,'/'); L1602_string(2,8,'s'); L1602_string(2,9,hour1+48); L1602_string(2,10,hour2+48); L1602_string(2,11,':'); L1602_string(2,12,minute1+48); L1602_string(2,13,minute2+48); L1602_string(2,14,':'); L1602_string(2,15,second1+48); L1602_string(2,16,second2+48); while(i<2) //LCD显示延迟 {delay(); i++; } i=0; } } 36
本文档为【自行车车速报警系统毕业设计】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
该文档来自用户分享,如有侵权行为请发邮件ishare@vip.sina.com联系网站客服,我们会及时删除。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。
本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。
网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
下载需要: ¥11.9 已有0 人下载
最新资料
资料动态
专题动态
个人认证用户
不系舟红枫
从教近30年,经验丰富,教学水平较高
格式:doc
大小:792KB
软件:Word
页数:41
分类:工学
上传时间:2019-01-21
浏览量:258