毕业设计(论文)-多功能测速码表的设计.doc_第1页
毕业设计(论文)-多功能测速码表的设计.doc_第2页
毕业设计(论文)-多功能测速码表的设计.doc_第3页
毕业设计(论文)-多功能测速码表的设计.doc_第4页
毕业设计(论文)-多功能测速码表的设计.doc_第5页
已阅读5页,还剩69页未读 继续免费阅读

下载本文档

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

文档简介

华北水利水电学院毕业设计 目 录摘 要IAbstractII第1章 绪论11.1 课题背景11.2 课题研究的意义1第2章 总体设计和方案论证22.1 总体设计22.2 方案论证32.2.1 数据采集模块32.2.2信息处理模块42.2.3 按键控制模块52.2.4 显示模块62.2.5 时钟模块7第3章 系统硬件设计83.1 概述83.2 传感器及其测量系统83.2.1 霍尔传感器的测量原理93.2.2 信号测量系统103.3单片机最小系统123.3.1 单片机原理简介123.3.2 单片机的引脚功能133.4 按键控制部分153.5 输出显示模块153.6时钟模块163.7电源模块17第4章 系统软件设计194.1 软件设计概述194.2 主程序设计194.3 中断子程序的设计204.4 数据处理子程序的设计214.5 时钟程序设计23第5章 系统测试结果及分析255.1 调试系统简介255.2系统仿真255.3仿真结果255.4 本次设计的实物26总 结29致 谢30参考文献31附录一 外文翻译32英文原文32中文翻译38附录二 设计任务书42附录三 开题报告44附录四 仿真电路图49附录五 软件源程序5043(多功能测速码表的设计)摘 要随着人们生活质量的不断提高,自行车已不只是一种简单的交通方式了,它在方便人们出行的同时,也在逐渐的变成人们的一种运动方式。因此人们希望自行车的娱乐、休闲、锻炼的功能越来越多,能带来大家更多的健康与快乐。自行车码表作为自行车的一大辅助工具迅速发展起来。它能合理计算出速度及公里数、使运动者运动适量、达到健康运动与代步的最佳效果。多功能测速码表能尽可能真实地反映骑行状况,便于车手及时调整自己的举动。本设计以AT89S52单片机为主控制芯片,1602为显示终端显示自行车时速、里程等信息及系统设置等,系统设置菜单能够人工设置设备安装信息以提高测量精度,提供时速、里程、速度、时间等信息.该设计中的软件部分主要用C语言进行编程实现各种功能,通过Keil C软件和Proteus硬件图实现联合仿真,在仿真的基础上进一步做出实物,同时不断的发现问题和解决问题。本次设计的码表具有结构简单、功能健全、使用方便、价格便宜等优点,并且增加了其它辅助功能,丰富码表的功能,可以让使用者更加方便地了解骑行时的实时信息。关键词:单片机最小系统,LCD液晶显示,霍尔传感器,DS1302时钟芯片(The design of the multi-functional speedometer)AbstractWith the continuous improvement of the peoples life, the bike is no longer just a means of a simple transport. Therefore, people hope that the function of amusement, leisure and exercise of bike become more and more; and bring more health and happy. As one import auxiliary function of bike stopwatch develops quickly. It can reasonable calculation out speed and traveled,make activists motion is right amount,to health movement and the best results instead of walking. Now as far as possible can reflect the riding condition,it is easy to just their behavior drivers. This project takes AT89S52 MCU as main control chip and takes 1602 as terminal display which displays speed per hour, distance and system set. In the system set menu people can set install information to improve measure precision. The software part of the design is mainly used C programming language to achieve various functions. Then we make joint simulation in the Keil software and Proteus hardware chart. We can also make a practical product based on the simulation, while continuing to identify problems and solve the problem.The design of the speedometer organization is simple, easy to use, inexpensive, and accurate .We can also add other features to enrich the performance of the speedometer and more user-friendly to the understanding of the real-time information on the riding.Key words:The smallest single-chip system, LCD liquid crystal display, the Hall sensor, DS1302 clock chip第1章 绪论1.1 课题背景 我国车辆仪表走过了100多年的发展历程,目前正处在不断开发和发展之中。目前汽车仪表正在经历由模拟电路电子式向步进电动机式全数字车辆仪表方向转型。随着集成电子技术迅猛发展,国内目前的主流仪表产品均采用专用集成电路我国是自行车大国,随着人们生活水平的逐渐提高,人们对于生活质量的要求也日益增加,尤其是对健身的要求。自行车在中国普遍作为代步工具。而在国外,自行车却是一项十分受欢迎的健身运动。因为它无污染,价位低廉,老少皆宜。而且在运动过程中可以充分享受到大自然,对于忙碌的现代人来说,无疑是一种较好的放松方法。在这个背景下,自行车里程表作为自行车的一大辅助工具迅速发展起来.科学、美观、合理设计自行车里程表有一定的实用价值.它能合理计算出速度及公里数,使运动者运动适量,达到健康运动与代步的最佳效果. 码表能尽可能真实地反映骑行状况,便于车手及时调整自己的举动,也便于收集骑行数据供自己或队友们进行参考和对比。自行车码表一般由安装于前车圈钢条上的感应磁铁、前叉上的感应器、顺着前叉蜿蜒而上的连接线、置于握把上面的码表座和座上面的码表。码表的工作原理是:车圈旋转时感应器捕捉到感应磁铁带来的信息,通过连接线传输至码表,码表对此进行处理后计算出时速、里程等信息并显示。它能够让我们比较精确的知道自己的当前速度、骑行时间、单次里程、总里程、平均速度、最高速度等。1.2 课题研究的意义 本设计就是针对普通运动员在运动中不能很好的把握自己达到了多大的速度,行驶了多远的距离,达到了一个什么样的成绩而设计的。以往的码表只能进行测量速度,里程,时间,温度等数据,虽然能实现很多的功能,但是有些太过于专业,其中的一些功能不适合自行车业余爱好者,浪费资源,而且性价比也低,不能很好的把握当前运动量,从而影响娱乐和锻炼的效果。而本设计却能实现娱乐和锻炼的双重效果,而且相对业余爱好者性价比更高。第2章 总体设计和方案论证2.1 总体设计本设计的任务是:以通用51单片机为处理核心,用传感器将车轮的转数转换为电脉冲,进行处理后送入单片机。里程及速度的测量,是经过51的定时/计数器测出总的脉冲数和每转一圈的时间,再经过单片机的计算得出,其结果通过LCD显示器显示出来。本系统总体思路如下:假定轮圈的周长为L,在轮圈上安装m个永久磁铁,则测得的里程值最大误差为L/m。经综合分析,本设计中取m=1。当轮子每转一圈,通过开关型霍尔元件传感器采集到一个脉冲信号,并从引脚P3.2中断0端输入,传感器每获取一个脉冲信号即对系统提供一次计数中断。每次中断代表车轮转动一圈,中断数n轮圈的周长为L的乘积为里程值。计数器T1计算每转一圈所用的时间t,就可以计算出即时速度v。要求达到的各项指标及实现方法如下:1. 利用霍尔传感器产生里程数的脉冲信号。2. 对脉冲信号进行计数。实现:利用单片机自带的计数器T1对霍尔传感器脉冲信号进行计数。3. 对数据进行处理,要求用LCD显示里程总数、即时速度运行时间等。实现:利用软件编程,对数据进行处理得到需要的数值。最终实现目标:自行车的速度里程表具有里程、速度测试与显示功能,采用单片机作控制,显示电路可显示里程、速度时间等。结合以往的文献11-13,并根据本设计的要求,码表要实现显示当前车速,单次里程,骑行时间,总里程以及电子时钟等功能。因此,本设计可以分为信号采集、信号处理、数据显示、按键控制及时钟处理等五个模块组成,外部信号霍尔传感器外部存储器AT89S52单片机显示模块时钟模块按键模块图2-1 总体设计2.2 方案论证2.2.1 数据采集模块测速是工农业生产中经常遇到的问题,学会使用单片机技术设计测速仪表具有很重要的意义。要测速,首先要解决是采样的问题。在使用模拟技术制作测速表时,常用测速发电机的方法,即将测速发电机的转轴与待测轴相连,测速发电机的电压高低反映了转速的高低。使用单片机进行测速,可以使用简单的脉冲计数法。只要转轴每旋转一周,产生一个或固定的多个脉冲,将脉冲送入单片机中进行计算,即可获得转速的信息。常用的测速元件有霍尔传感器、光电传感器和光电编码器。1. 霍尔传感器霍尔传感器是对磁敏感的传感元件,常用于信号采集的有A44E、CS3020、CS3040等,这类传感器是一个3端器件,外形与三极管相似,只要接上电源、地,即可工作,通常是集电极开路(OC门)输出,工作电压范围宽,使用非常方便。A44E的外形如图2-2所示。1-Vcc 2-GND 3-OUT图2-2 A44E外形图使用霍尔传感器获得脉冲信号,其机械结构也可以做得较为简单,只要在转轴的齿轮盘上粘上一粒磁钢,霍尔元件固定在前叉上,当车子转动时霍尔元件靠近磁钢,就有信号输出,转轴旋转时,就会不断地产生脉冲信号输出。如果在齿轮盘上粘上多粒磁钢,可以实现旋转一周,获得多个脉冲输出。在粘磁钢时要注意,霍尔传感器对磁场方向敏感,粘之前可以先手动接近一下传感器,如果没有信号输出,可以换一个方向再试。这种传感器不怕灰尘、油污,在工业现场应用广泛。2. 光电传感器光电传感器是应用非常广泛的一种器件,有各种各样的形式,如透射式、反射式等,基本的原理就是当发射管光照射到接收管时,接收管导通,反之关断。以红外光电传感器为例,当有物体挡在红外光电发光二极管和高灵敏度的光电晶体管之间时,传感器将会输出一个低电平,而当没有物体挡在中间时则输出为高电平,从而形成一个脉冲。该系统在自行车后轮的轴处保持着与轮子旋转切面平行的方向延伸附加一个铝盘,在这个铝盘的边沿处挖出若干个圆形过孔,把传感器的检测部分放在圆孔的圆心位置。每当铝盘随着后轮旋转的时候,传感器将向外输出若干个脉冲。3. 光电编码器光电编码器的工作原理与光电传感器一样,不过它已将光电传感器、电子电路、码盘等做成一个整体,只要用连轴器将光电传感器的轴与转轴相连,就能获得多种输出信号。它广泛应用于数控机床、回转台、伺服传动、机器人、雷达、军事目标测定等需要检测角度的装置和设备中。光敏电阻对光特别敏感,当白天行驶时,外界光源将导致光敏电阻发出错误信号;光敏电阻对环境的要求相当高,如果光敏或发光二极管被泥沙或灰尘所覆盖,光敏电阻就不能再进行准确测量;而编码器必须安装在车轴上,安装较为复杂。霍尔元件或干簧管不但不受天气的影响,即使被泥沙或灰尘覆盖也不会有影响,而且安装方便。所以本设计采用霍尔元件对里程与速度进行测量,既简单易行,又经济适用。2.2.2 信息处理模块单片机是大规模集成电路技术发展的产物,他将中央处理器(CPU)、存储器(ROM/RAM)输入输出接口、定时器/计数器等主要计算机部件集成在一块芯片上,目前单片机是计算机系统中的一员。单片机配上适当的外围设备和软件,便构成一个单片机应用系统。它简化了仪器仪表的硬件结构,增强了控制功能,提高了测量速度和测量精度。它的控制系统中有多个处理单元,各自完成特定的任务,I/O口线多,并具有位操作能力。因此经常的应用于各种控制系统中。由于本设计要实现的功能码表能够显示当前车速、单次里程及骑行时间、总里程、电子时钟等内容,所以使用单片机最小系统进行信息处理就能完成,而且单片机成本较低,使用方便,所以本次设计采用单片机最小系统作为信息处理模块。单片机实质上是一个芯片。在实际应用中,通常很少将单片机直接和被控对象进行电气连接,必须外加各种扩展接口电路、外部设备、被控对象等硬件和软件,才能构成一个单片机应用系统。图2-3为单片机的基本架构。图2-3单片机的基本机构 2.2.3按键控制模块键盘在单片机应用系统中,实现输入数据、传送命令的功能,是人工干预的主要手段。1.独立式按键结构独立式按键是直接用I/O口线构成的单个按键电路,其特点是每个按键单独占用一根I/O口线,每个按键的工作不会影响其它I/O口线的状态。独立式按键的典型应用如图7.4所示。独立式按键电路配置灵活,软件结构简单,但每个按键必须占用一根I/O口线,因此,在按键较多时,I/O口线浪费较大,不宜采用。2.矩阵式键盘I/O端线分为行线和列线,按键跨接在行线和列线上,行线与列线发生短路。特点:占I/O端线较少;软件结构教复杂。适用于按键较多的场合。3、键盘扫描控制方式程序控制扫描方式键处理程序固定在主程序的某个程序段。特点:对CPU工作影响小,但应考虑键盘处理程序的运行间隔周期不能太长,否则会影响对键输入响应的及时性。定时控制扫描方式利用定时/计数器每隔一段时间产生定时中断,CPU响应中断后对键盘进行扫描。特点:与程序控制扫描方式的区别是,在扫描间隔时间内,前者用CPU工作程序填充,后者用定时/计数器定时控制。定时控制扫描方式也应考虑定时时间不能太长,否则会影响对键输入响应的及时性。中断控制方式中断控制方式是利用外部中断源,响应键输入信号。特点:克服了前两种控制方式可能产生的空扫描和不能及时响应键输入的缺点,既能及时处理键输入,又能提高CPU运行效率,但要占用一个宝贵的中断资源。根据实际情况本设计使用普通的独立开关按键来给单片机脉冲信号,通过按键输出给单片机的脉冲信号来实现初始化设置和菜单的切换。2.2.4 显示模块 1LED数码管LED数码管是由多个发光二极管封装在一起组成的8字形的器件,如图2-4所示,共有两种不同的接线法,分别为共阴极接法和共阳极接法,LED要正常显示就要驱动电路来驱动各个码段,静态驱动的优点是编程简单,显示亮度高,缺点是占用的I/O口多,因此增加了硬件电路的复杂性。 因此动态驱动是最为常见的一种驱动方式。虽然LED数码管显示比较清晰,但是耗能比较多,软件编程也比较复杂,工作量比较大,所以本设计不采用LED数码管作为显示模块。 图2-4 LED数码管2LCD液晶显示 LCD技术是把液晶灌入两个列有细槽的平面之间。这两个平面上的槽相互垂直(相交成90度).由于光线顺着分子的排列方向传播,所以光线经过液晶时也被扭转90度。当液晶上加一个电压时,液晶分子便会转动,改变光通过率从而实现多灰阶显示。液晶显示的偏转角度比较小,使用时很容易出现拖尾的现象,亮度和对比度不是很明显,液晶会出现“坏点”问题,还有寿命有限等缺点,但是,LCD使用时非常节能,辐射指标也比普通的CRT要低些,不会出现任何的几何失真,液晶显示器的可视面积大,较高精细的画质。经过综合考虑,本设计选用LCD液晶显示器作为显示器件。2.2.5时钟模块用单片机内部的计时器计时来显示时间,需要单片机每次开机时都要重新设置时间,使用比较麻烦。而且通过单片机内部计时器计时比较占用单片机的内存。而通时钟芯片计时时,单片机断电仍会有时钟保留,不用每次开单片机时设置时间,使用比较方便。同时时钟芯片具有存储功能,当单片机断电时,里程等信息可以存储到时钟芯片内,方便于我们下次开机时对累计里程的读取,可以实现累计总行驶里程的计算。所以本设计中我们采用读取时钟芯片的信息来显示时钟。DS1302是美国DALLAS公司推出的一种高性能、低功耗的实时时钟芯片,附加31字节静态RAM,采用SPI三线接口与CPU进行同步通信,并可采用突发方式一次传送多个字节的时钟信号和RAM数据。实时时钟可提供秒、分、时、日、星期、月和年,一个月小与31天时可以自动调整,且具有闰年补偿功能。工作电压宽达2.55.5V。采用双电源供电(主电源和备用电源),可设置备用电源充电方式,提供了对后背电源进行涓细电流充电的能力。图2-5为DS1302的外部引脚。DS1302用于数据记录,特别是对某些具有特殊意义的数据点的记录上,能实现数据与出现该数据的时间同时记录,因此广泛应用于测量系统中。图2-5 DS1302的外部引脚分配第3章 系统硬件设计3.1概述自行车多功能测速码表的硬件电路设计是本次毕业设计的基础部分,它包括信号的采集、单片机的计算处理、按键的调节控制、1602实时显示和单片机外围基本电路的设计。而本章的两大主要器件就是传感器和单片机了。传感器在人们研究自然现象、规律以及生产实践活动中,起着非常重要的作用。特别是在当今,科学技术的发展使人类进入了一个信息时代,在利用信息的过程中,首先要解决的就是获取准确可靠的信息。传感器是获取自然或生产领域中信息的关键器件,是现代信息系统和各种设备不可缺少的信息采集工具。磁传感器是一种将磁学量信号转变为电信号的器件或装置。随着信息产业、工业自动化、医疗仪器等的飞速发展和计算机应用的普及,需要大量的传感器将被测或被控的非电信号转换成可与计算机兼容的电信号。作为输入信号,这就给磁传感器的快速发展提供了机遇,形成了磁传感器的产业。其中最具代表的磁传感器就是霍尔传感器,在自动检测系统中,利用霍尔传感器测转数是一种最基本的测量工作。自从1971年微型计算机问世以来,随着大规模集成电路技术的不断进步,微型机主要向两个方向发展:一个向高速度,高性能的高档微型计算机方向发展。一个向稳定可靠,小而廉价的单片机方向发展。所谓的单片机,就是把中央处理器CPU、只读存储器ROM、定时/计数器以及I/O 接口电路等集成在一块集成电路芯片上的微型计算机,可见它的功能非常强大。单片机是本次设计的核心部件,它是信号从采集到输出的桥梁,而且肩负计算、定时、信息处理等功能。下面我们就具体介绍一下硬件电路设计的过程。3.2 传感器及其测量系统本次设计信号的捕获采用的是霍尔传感器,霍尔器件是一种磁传感器。用它们可以检测磁场及其变化,可在各种与磁场有关的场合中使用。霍尔器件以霍尔效应为其工作基础。霍尔器件具有许多优点,它们的结构牢固、体积小、重量轻、寿命长、安装方便、功耗小、频率高(可达1MHz)、耐震动、不怕灰尘、油污、水汽及烟雾等的污染或腐蚀。霍尔线性器件的精度高、线性度好;霍尔开关器件无触点、无磨损、输出波形清晰、无抖动、无回跳、位置重复精度高(可达m级)。取用了各种补偿和保护措施的霍尔器件工作温度范围宽,可达55150。3.2.1 霍尔传感器的测量原理霍尔传感器是利用霍尔效应制成的一种磁敏传感器。在置于磁场中的导体或半导体通入电流I,若电流垂直磁场B,则在与磁场和电流都垂直的方向上会出现一个电势差Uh,这种现象称为霍尔效应。利用霍尔效应制成的元件称为霍尔元件。因为它具有结构简单、频率响应宽、灵敏度高、测量线性范围大、抗干扰能力强以及体积小、使用寿命长等一系列特点,因此被广泛应用于测量、自动控制及信息处理等领域。图3.1为霍尔效应原理图。图3-1 霍尔效应原理图把霍尔传感器固定在车轮支架上,小磁铁固定在车轮的辐条上,车轮转动中当小磁铁靠近霍尔传感器时(大约距离在45mm),传感器的输出端会有一个脉冲信号输出到单片机。这样就可以把速度信号转变成高低脉冲信号,然后使用单片机对脉冲信号进行处理,从而获得速度信息。图3-2 利用霍尔传感器进行速度测量。两个脉冲之间的距离即为自行车车轮转过一圈的距离S=PI*D,所以在进行测量时只需输入轮胎的实际直径尺寸,通过计算便可精确的得出自行车的车速S/T及行驶里程S*(N-1)。其中,T为两个脉冲之间的时间间隔,N为行驶期间产生的脉冲数。图3-2 利用霍尔传感器进行速度测量3.2.2 信号测量系统本设计采用的A44E集成霍尔开关由稳压器A、霍尔电势发生器(即硅霍尔片)B、差分放大器 C、施密特触发器D和OC门输出E五个基本部分组成,图3-5(a)为集成霍尔开关组成。(1)、(2)、(3)代表集成霍尔开关的三个引出端点。差分放大器是基本放大电路之一,由于它具有抑制零点漂移的优异性能,因此得到广泛的应用,并成为集成电路中重要的基本单元电路,常作为集成运算放大器的输入级。图3-3差分放大器电路图。图3-3差分放大器电路图施密特触发器是一种阈值开关电路,具有突变输入输出特性的门电路。被设计成阻止输入电压出现微小变化(低于某一阈值)而引起的输出电压的改变利用施密特触发器状态转换过程中的正反馈作用,可以把边沿变化缓慢的周期性信号变换为边沿很陡的矩形脉冲信号。输入的信号只要幅度大于vt+,即可在施密特触发器的输出端得到同等频率的矩形脉冲信号。图3-4为施密特波形图图3-4施密特波形图在电源端加电压Vcc,经稳压器稳压后加在霍尔电势发生器的两端,根据霍尔效应原理,当霍尔片处在磁场中时,在垂直于磁场的方向通以电流,则与这二者相垂直的方向上将会产生霍尔电势差VH输出,该VH信号经放大器放大后送至施密特触发器整形,使其成为方波输送到OC门输出。当施加的磁场达到工作点时,触发器输出高电压(相对于地电位),使三极管导通,此时OC门输出端输出低电压,通常称这种状态为开 。当施加的磁场达到释放点时,触发器输出低电压,三极管截止,使OC门输出高电压,这种状态为关 。这样两次电压变换,使霍尔开关完成了一次开关动作。工作点与释放点的差值一定,此差值称为磁滞,在此差值内,V0保持不变,因而使开关输出稳定可靠,这也就是集电成霍尔开关传感器优良特性之一。传感器主要特性是它的输出特性,即输入磁感应强度B与输出电压V0之间的关系。A44E集成霍尔开关是单稳态型,图 3-5(b) 为由测量数据作出的输出特性曲线。测量时 在1、2两端加5V直流电压,在输出端3与1之间接一个2kW的负载电阻。图3-5 集成开关型霍尔传感器3.3单片机最小系统3.3.1 单片机原理简介单片微型计算机是指集成在一个芯片上的微型计算机,也就是把组成微型计算机的各种功能部件,包括CPU(Central Processing Unit)、随机存储器RAM(Random Access Memory)、只读存储器ROM(Read-only Memory)、基本输入/输出(input/output)接口电路。定时器/计数器等部件都制作在一块集成芯片上,构成一个完整的微型计算机从而实现微型计算机的基本功能。图3-6为单片机内部结构示意图。 图3-6 单片机内部结构示意图1.中央处理器(CPU)中央处理器是单片机最核心的部分,主要完成运算和控制功能。2.内部存储器内部存储器包括内部数据存储器(内部RAM)和内部程序存储器。存储器是由大量的寄存器所组成,其中每一个寄存器就称为一个存储单元。3.定时/计数器单片机的定时器和计数器是同一结构,只是计数器记录的是单片机外部发生的事件,由单片机的外部电路提供计数信号;而定时器是由单片机内部提供一个非常稳定的计数信号。4.中断系统中断系统在计算机中起着十分重要的作用,是现代计算机系统中广泛采用的一种实时控制技术,能对突发事件进行及时处理,从而大大提高系统的实时性能。5.串行I/O接口串行I/O口的数据各位按顺序传输,其特点是需要一对传输线,成本低;但速度慢,效率低,适合静态显示。6.并行I/O接口并行I/O接口的数据所有位同时传送。其特点是传输速度快,效率高;但传送多少位就需要多少根传输线,因此传送成本高,适合动态显示。3.3.2 单片机的引脚功能AT89S52是一种低功耗、高性能CMOS 8位微控制器,具有8K 在系统可编程Flash存储器。使用Atmel 公司高密度非易性存储器技术制造,与工业80C51 产品指令和引脚完全兼容。片上Flash允许程序存储器在系统可编程,亦适于常规编程器。在单芯片上,拥有灵巧的8 位CPU 和在系统可编程Flash,使得AT89S52在众多嵌入式控制应用系统中得到广泛应用。图3-7为89S52单片机最小系统 图3-7为89S52最小系统。89S52的主要引脚功能如下:P0.0P0.7:P0口是一组8位漏极开路型双向I/O口,也是地址/数据总线复用口。作为输出口用时,每位能吸收电流的方式驱动8个TTL逻辑门电路,对端口P0写“1”时,可作为高阻抗输入端用。在访问外部数据存储器或程序存储器时,这组口线分时转换地址(低8位)和数据总线复用,在访问期间激活内部上拉电阻。P1.0P1.7:P1是一个带内部上拉电阻的8位双向I/O口,P1的输出缓冲极可驱动(吸收或输出电流)4个TTL逻辑门电路。对端口写“1”,通过内部的上拉电阻把端口拉到高电平,此时可作输入口。P2.0P2.7:P2是一个带内部上拉电阻的8位双向I/O口,P2的输出缓冲极可驱动(吸收或输出电流)4个TTL逻辑门电路。对端口P2写“1”,通过内部的上拉电阻把端口拉到高电平,此时可作输入口。P3.0P3.7:P3是一个带内部上拉电阻的8位双向I/O口,P3的输出缓冲极可驱动(吸收或输出电流)4个TTL逻辑门电路。对端口P3写“1”,通过内部的上拉电阻把端口拉到高电平,此时可作输入口。ALE:地址锁存控制信号。在系统扩展时,ALE用于控制把P0口输出的低8位地址锁存起来,以实现低位地址和数据的隔离。此外,由于ALE是以晶振16的固定频率输出的正脉冲,因此,可作为外部时钟或外部定时脉冲使用。:外部程序存储器读选通信号。在读外部ROM时,有效(低电平),以实现外部ROM单元的读操作。:访问程序存储控制信号。当信号为低电平时,对ROM的读操作限定在外部程序存储器;当信号为高电平时,对ROM的读操作是从内部程序存储器开始,并可延至外部程序存储器。RST:复位信号。当输入的复位信号延续两个机器周期以上的高电平时即为有效,用以完成单片机的复位初始化操作。XTALl和XTAL2:外接晶体引线端。当使用芯片内部时钟时,此二引线端用于外接石英晶体和电容;当使用外部时钟时,用于接外部时钟脉冲信号。VSS:地线。 VCC:+5V电源。3.4 按键控制部分本设计采用普通独立开关按键。设计中要用到6个按键,分别是复位按键以及调节控制部分的5个按键。按键A:时钟设置时更改“时”,直径设置时更改“十位”;按键B:时钟设置时更改“分”的十位,直径设置时更改“个位”;按键C:时钟设置时更改“分”的个位;按键OK:确认更改设置;按键Menu,正常工作时更改显示模式,在总里程、速度、时间、骑行时间等进行切换。图3-8为按键控制部分的电路设计。 图3-8 系统按键设计3.5 输出显示模块1. 1602LCD基本参数显示容量:162个字符,芯片工作电压:4.5-5.5V,芯片工作电流:2.0mA,模块最佳工作电压:5.0V,字符尺寸:2.954.35(WH)mm2. 引脚功能说明1602LCD采用标准的14脚或16脚接口,图3-9为1602引脚图,各引脚说明如下:图3-9 1602引脚图1602采用标准的16脚接口,其中:VSS为电源地;VDD接5V电源正极;V0为液晶显示器对比度调整端,接正电源时对比度最弱,接地电源时对比度最高(对比度过高时会 产生“鬼影”,使用时可以通过一个10K的电位器调整对比度);RS为寄存器选择,高电平1时选择数据寄存器、低电平0时选择指令寄存器;RW为读写信号线,高电平(1)时进行读操作,低电平(0)时进行写操作;E(或EN)端为使能(enable)端;D0D7为8位双向数据端;BLA为LED背光正极;BLK为LED背光负极。3.6时钟模块1. 结构及工作原理 DS1302是DALLAS公司推出的涓流充电时钟芯片,内含一个实时时钟/日历和31字节静态RAM,可以通过串行接口与单片机进行通信。实时时钟/日历电路提供秒、分、时、日、星期、月、年的信息,每个月的天数和闰年的天数可自动调整,时钟操作可通过AM/PM标志位决定采用24或12小时时间格式。DS1302与单片机之间能简单地采用同步串行的方式进行通信,仅需三根I/O线:复位(RST)、I/O数据线、串行时钟(SCLK)。时钟/RAM的读/写数据以一字节或多达31字节的字符组方式通信。DS1302工作时功耗很低,保持数据和时钟信息时,功耗小于1mW。DS1302是DS1202的升级产品,与DS1202兼容,但增加了主电源/后备电源双电源引脚,本设计的后备电源采用的是3v的纽扣电池。同时提供了对后备电源进行涓流充电的能力。 图3-10 DS1302内部结构图图3-10为DS1302的内部结构,主要组成部分为:移位寄存器、控制逻辑、振荡器、实时时钟以及RAM。虽然数据分成两种,但是对单片机的程序而言,其实是一样的,就是对特定的地址进行读写操作。2. 引脚及功能 图3-11 DS1302封装图X1,X232.768kHz晶振引脚GND地RST复位I/O数据输入/输出SCLK串行时钟VCC1电池引脚VCC2主电源引脚DS1302的引脚排列,其中VCC1为后备电源,VCC2为主电源。X1和X2是振荡源,外接32.768kHz晶振。RST是复位/片选线,有两种功能:一、接通控制逻辑,允许地址/命令序列送入移位寄存器;二、提供终止单字节或多字节数据的传送手段。当RST为高电平时,所有的数据传送被初始化,允许对DS1302进行操作。如果在传送过程中RST置为低电平,则会终止此次数据传送。上电运行时,在VCC2.0V之前,RST必须保持低电平。只有在SCLK为低电平时,才能将RST置为高电平。I/O为串行数据输入输出端(双向),后面有详细说明。SCLK为时钟输入端。3. 数据输入输出(I/O)在控制指令字输入后的下一个SCLK时钟的上升沿时,数据被写入DS1302,数据输入从低位即位0开始。同样,在紧跟8位的控制指令字后的下一个SCLK脉冲的下降沿读出DS1302的数据,读出数据时从低位0位到高位7。3.7电源模块由于AT89S52的工作电压要求是+5V,为了给单片机提供稳定的工作电压,我选用了能提供+12V直流电压源,所以需要设计一个简单的电源电路,进行电平转换,将+12V电压降为+5V,图3-12电源降压电路。图3-12电源降压电路电源稳压芯片7805是一种典型的组合装封三端稳压集成电路模块,带金属基板散热安装片,该模块多用于有处理器的5V电源的处理板。输入电压可达直流12V,输出5V(正负5%)以内。78是产品系列名,05是输出5V。而C1/C2/C3/C4则作为输入端和输出端的滤波电容。而+5V处就是为AT89S52和其他外围电路提供电源。第4章 系统软件设计4.1 软件设计概述在硬件设计完毕之后,接下来设计核心就是软件部分设计。所谓软件设计就是把软件需求变换成软件的具体设计方案(即模块结构)的过程。模块化结构设计即是根据要求和硬件设计的结构,将整个系统的功能分成许多小的功能模块,再根据这些小的功能模块进行程序编写的过程。这样的设计方法,使得系统的整个功能和各部分的功能趋于明朗化。当系统出现问题,就可以根据功能设置找出问题的根源,而不需要从头到尾检查整个程序,这样便可以更快地解决问题。所以说,在整个设计过程中,软件设计必须与硬件设计紧密地结合在一起。 主程序开始后,初始化LCD,程序进入欢迎界面,然后单片机向DS1302时钟芯片读取累计总里程数据,接着是时钟和车轮直径的设置。接着是开中断,定时器开始计时。最后设置120S如果速度为0自动显示时钟信号。从霍尔传感器A44E获得的数字量信号直接送至单片机的P3.2(INT0)引脚,为单片机提供有效的输入信号。当该引脚为高电平时,一直处于等待状态,等到该引脚为低电平时才开始测频率。通过单片机内部计数器统计出脉冲数,我们开始时设置过车轮的直径为D,这样车轮周长L=PI*D,使用T0的计时模式计算两个脉冲之间的时间间隔T。每两个脉冲之间的距离即为轮胎的周长,则可由V=L /T计算出当圈地速度。通过记录行驶过程中的霍尔传感器产生的脉冲数N来计算行驶里程S=(N-1)*L。同时计算累计行驶行驶里程,S0=S0+S,并将累计行驶里程存入DS1302芯片的RAM中,以便将累计行驶里程保存下来。4.2 主程序设计软件设计采用自上向下、逐步细化的设计方法。首先,根据功能要求进行总体功能设计。其次,对各个功能模块进行细化,设计各个功能模块的功能函数。最后,编写代码实现各个功能函数。注意代码编写过程中尽量减少函数之间的耦合。图4-1为主程序设。单片机开始工作后首先进行初始化,然后提示设定时间,接着提示设定轮胎直径,之后进行中断相关设定,最后进入消息循环。当有中断产生时,单片机停止当前主程序的执行,转而执行相应的中断服务程序。当中断服务程序执行结束,单片机返回主程序,继续停留在消息循环模块。开始初始化设定时间设定轮胎直径设置中断参数开中断消息循环中断源中断服务程序中断响应LCD读写模块调用调用时钟芯片读写模块调用调用调用图4-1 软件主程序流程图4.3 中断子程序的设计定时中断是为满足定时或计数的需要而设置的。在单片机内部有两个定时/计数器,以对其中的计数结构进行计数的方法,来实现定时或计数功能。当结构发生计数溢出时,即表明定时时间或计数值已满,这时就以计数溢出信号作为中断请求,去置位一个溢出标志,作为单片机接受中断请求的标志。这种中断请求是在单片机芯片内部发生的,因此无须在芯片上设置引入端。定时/计数器控制寄存器TCON是8位寄存器,地址为88H,可以位寻址。其高4位用于定时/计数器中断控制,低4位借给外部中断,用做中断标志和触发方式选择位。本设计采用定时中断,对自行车的里程和速度进行计数。图4-2为中断子程序流程图。 关中断开始现场保护开中断中断处理关中断现场恢复开中断中断返回图4-2中断子程序流程图4.4 数据处理子程序的设计1. 里程计算子程序外中断0服务程序用于对单片机P3.2口输入的圈脉冲进行计数,为十六进制计数器。60H为低位,62H为高位。每次计数一次后,对里程数据进行一次存储操作。当车轮每转一圈,通过霍尔元件将脉冲数输入单片机内,通过计数器计出脉冲数,再用乘法子程序算点亮里程指示灯开始将车圈数转换成里程显示里程值返回出里程数。图4-3为里程处理子程序流程图。图4-3 里程处理子程序流程图2.速度计算子程序外中断1服务程序用于处理轮子转动一圈后的计时数据。当标志位(00H)为1时,说明计数溢出,放入最大时间值(为#0FFH);当标志位为0时,将计数单元(TL1、TH1、6CH、6DH)的值放入68H6BH单元。通过定时器计出每转一圈所用的时间,用自行车车轮的周长除以时间就得出自行车的速度。图4-4为速度处理子流程图。点亮里程指示灯开始将车圈数转换成里程显示里程值返回图4-4为速度处理子流程图4.5 时钟程序设计时间模块主要实现对当前时间的设定,图4-5为时间调节程序流程图。(1)初始化时间时可以预先设定一个时间,然后在此时间基础上进行修改;(2)每按下按键A一次,小时数加1,当小时数超过24时,重新从0开始增加;(3)每按下按键B一次,分钟的十位加1,当分钟十位超过5时,重新从0开始增加;(4)每按下按键C一次,分钟的个位加1,当分钟个位超过9时,重新从0开始增加;(5)当按下OK键,则保存当前时间设定,并退出时间设定模式;(6)设置DS1302数据模块,使用DS1302读写指令将设定好的时间数据写入时钟寄存器,并开始计时。初始化时间接收按键信号按键A调整小时按键B调整分钟的十位按键C调整分钟的个位按键OK确定设置并退出设置模式设置DS1302时钟数据图4-5为时间调节程序流程图第5章 系统测试结果及分析5.1 调试系统简介为了减少资源的浪费和避免焊接过程中产生不必要的错误,在焊接硬件电路前对硬件电路设计的可行性和软件编程的正确性进行了仿真实验。采用的调试系统为PROTEUS。PROTEUS系统仿真平台与开发平台是由英国Labcenter electronics公司开发的,是目前世界上最完整的系统设计与仿真平台之一。PROTEUS可以实现数字电路、模拟电路及微控制系统与外设的混合电路系统的电路仿真、系统协同仿真和PCB设计等全部功能。PROTEUS软件能够对各种处理器进行实时仿真、调试与测试的EDA工具,真正实现了在没有目标原形时就可以对系统进行调试与验证。5.2 系统仿真在构思好电路原理图和编好程序之后就要对其进行系统仿真。当完成原理图布线后,利用PROTEUS ISIS编辑环境所提供的电器规则检查命令对设计进行检查,并根据系统提供的错误检查报告修改原理图。直到通过电器规则检查为止。单片机系统的仿真是PROTEUS VSM的一大特色,同时,本仿真系统将源代码的编辑和编译整合到同一设计环境中,这样使得用户可以在设计中直接编辑代码,并且很容易地查看到用户对源程序修改后对仿真结果的影响。源代码通过编译无误后,就可以进行仿真,在仿真过程中不断完善电路和程序的功能最后达到本次设计的目的。5.3 仿真结果累计总里程是当前行驶里程加上以前累计行驶总里程,每1分钟存储一次总里程。在系统刚开始运行时,已经记录下了以往骑行累计总里程的数值,当次累计总里程的计算均是采用当次行驶里程加上系统运行前的累计总里程。图5-1是初始时间设置可通过按键模块调节时间的准确度. 图5-2 设置轮胎直径,通过按键模块的A/B键调节十位与个位。图5-3 显示当前时间,通过单片机向DS1302读取时间信号最后显示在LCD。图5-4 显示当前速度及当次行驶里程。图5-5 显示当次骑行时间图。图5.6显示累计行驶总里程及在DS1302中的存储值。 图5-1 初始时间设置图 图5-2 设置轮胎直径 图5-3 显示当前时间图 图5-4 显示当前速度及当次行驶里程 图5-5 显示当次骑行时间 图5-6 累计行驶总里程及在DS1302中的存储值 5.4本次设计的实物图5-7为总体电路硬件连接图图5-7电路硬件连接图本次设计在连接硬件的过程中遇到了很多实际的问题,比如刚开始的元器件购买问题,因为以前对这些实际的东西认识不是很清楚,所以在购买时遇到了很多的麻烦,也发生了很多尴尬的事情,比较惭愧。硬件刚开始连接时,由于对焊接工艺并不太熟悉,和对毕设的整个时间安排以致焊接的质量比较差,速度也比较慢,但是当焊接了几个电路之后慢慢的熟悉了焊接方法,焊接的速度也快了起来。对于布线,地线的安排、布局,都是在实际中要考虑的问题。其次在焊接的过程会发现起初买的配件不全,譬如连接AT89S52的插针,连接电源的插孔等问题,由于是第一次自己独立完成设计内容,所以其中器件的准备并不完善。在焊接完成后,调试的过程中,我发现LCD屏幕不会显示开机画面,但是液晶显示的背光灯会亮,有灰格显示,这说明LCD电路连接正确,LCD元件正常。检查了一小段时间,发现有段电路时处于断路状态下的,马上将其焊接好,但是发现LCD还是没有正常工作。由于仿真的程序是正确的,所以我推断可能是单片机最小系统的问题,我又给单片机输入一个测试程序,通过单片机控制LED小灯闪烁,程序烧写进入单片机后,结果LED有时亮有时不亮,这说明单片机最小系统有问题。 接着我又用万用表检查了一下导线的连接,没有发现短路与接错线路问题,在板子上增加了一

温馨提示

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

评论

0/150

提交评论