版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
基于单片机的自行车里程表设计摘要随着居民生活水平的不断提高,自行车不再仅仅是普通的运输、代步的工具,而是成为人们娱乐、休闲、锻炼的首选。自行车里程表能够满足人们最基本的需求,让人们能清楚地知道当前的速度、里程等物理量。主要阐述一种基于霍尔元件的自行车里程表的设计。以AT89C52单片机为核心,A44E霍尔传感器测转数,实现对自行车里程/速度的测量统计,采用24C02实现在系统掉电的时候保存里程信息,并能将自行车的里程数及速度用LED实时显示。文章详细介绍了自行车里程表的硬件电路和软件设计。硬件部分利用霍尔元件将自行车每转一圈的脉冲数传入单片机系统,然后单片机系统将信号经过处理送显示。软件部分用汇编语言进行编程,采用模块化设计思想。该系统硬件电路简单,子程序具有通用性,完全符合设计要求。基于单片机的自行车里程表设计全文共37页,当前为第1页。关键词:里程/速度;霍尔元件;单片机;LED显示基于单片机的自行车里程表设计全文共37页,当前为第1页。AbstractWiththedevelopingofpeople’slife,thebicycleisnotonlytheuniversaltooloftransportationandsubstituteforwalking,butbecomesthefirstchoiceofentertainmentingandexercising.Thebicyclemileage/speedcanfulfillthebasicneedofpeople’slife,sothattheycanlearnthespeedandthemileageofthebicycle.Inthesepaper,thebicyclemileage/speeddesignbasedontheHallelementiselaborated.ByAT89C52askernel,usingA44EHallelementtomeasurerevolution,themeasureandstatisticareachieved.Therangeinformationsaresavedby24C02whenthepowerisoff,thebicyclespeedcanbedisplayedonLED.Inthisarticle,thehardwarecircuitandsoftwaredesignofbicyclemileage/speedinstrumentareintroducedindetail.Aboutthehardware,thepulsenumberistransmittedofonecycleofthebicycleintoSingleChipMicrocomputersystem.ThenthesignalprocessedbySingleChipMicrocomputersystemissenttodisplayscream.Aboutthesoftware,inassemblelanguage,theprogramisdesignedinthemodeofmodules.Thesystemhassimplehardware,commonsub-program,andmeetthedemandofdesign.基于单片机的自行车里程表设计全文共37页,当前为第2页。Keywords:Mileage/speed;Hallelement;SingleChipMicrocomputer;LED基于单片机的自行车里程表设计全文共37页,当前为第2页。目录TOC\o"1-2"\h\z\u第1章绪论 41.1课题产生的背景 41.2课题的主要任务及内容 4第2章自行车里程表总体方案设计 62.1任务分析与实现 62.2自行车里程表硬件方案设计 62.3自行车里程表软件方案设计 10第3章自行车里程表硬件电路设计 123.1概述 123.2传感器及其测量系统 123.3芯片简介 143.4单片机外围电路的设计 20第4章自行车里程表软件程序设计 254.1概述 254.2自行车里程表总体程序设计 254.3中断子程序的设计 274.4数据处理子程序的设计 274.5显示子程序的设计 30第5章系统调试与分析 325.1自行车里程表系统调试 325.2调试故障及原因分析 33结论 34参考文献 35基于单片机的自行车里程表设计全文共37页,当前为第3页。致谢 36基于单片机的自行车里程表设计全文共37页,当前为第3页。附录Ⅰ自行车里程表硬件系统原理图 37基于单片机的自行车里程表设计全文共37页,当前为第4页。基于单片机的自行车里程表设计全文共37页,当前为第4页。第1章绪论1.1课题产生的背景自世界上第一辆自行车问世至今已有200多年的历史了。18世纪末,法国人西夫拉克发明了最早的自行车。这辆最早的自行车是木制的,其结构比较简单。世界上第一批真正实用型的自行车出现于19世纪初。在20世纪,自行车在中国获得了前所未有的普及和发展。从某种意义上来说,中国是一个自行车的王国。每天清晨和落日时分,滚滚车流在中国的城市中碾动,这是最为壮观的一道风景,这是一条现代中国流动的长城。随着居民生活水平的不断提高,自行车不再仅仅是普通的运输、代步的工具,而是成为人们娱乐、休闲、锻炼的首选。因此,人们希望自行车的功用更强大,能给人们带来更多的方便。自行车里程表作为自行车的一大辅助工具也正是随着这个要求而迅速发展的,其功能也逐渐从单一的里程显示发展到速度、时间显示,甚至有的还具有测量骑车人的心跳、显示骑车人热量消耗等功能。本设计采用了MCS-51系列单片机设计一种体积小、操作简单的便携式自行车里程表,它能自动地显示当前自行车行走的距离及运行的速度。单片微型计算机自1976年问世以来发展非常迅速,现在已成为微型计算机一个很重要的分支,在现实生活中应用越来越广泛,已经对人类产生了巨大的影响,尤其是美国Intel公司的MCS—51系列单片机,由于其集成度高、处理功能强、性能价格比高、可靠性高、系统结构简单,可以灵活的与其他芯片组成众多的测量电路用于速度、温度、深度、高度、湿度、光强等方面的测量和研究等特点,在我国现代化生活、生产中已经得到了广泛的应用,如在工业检测控制、仪器仪表、电子工业、机电一体化等众多领域取得了令人瞩目的成果。本设计利用MCS—51系列单片机扩展方便、可靠性能高、处理功能强、速度高等特点,实现对自行车里程和速度的测量。1.2课题的主要任务及内容基于单片机的自行车里程表设计全文共37页,当前为第5页。本课题主要任务是利用霍尔元件、单片机等部件设计一个可用LED数码管实时显示里程和速度的自行车的速度里程表。本文主要介绍了自行车里程表的设计思想、电路原理、方案论证以及元件的选择等内容,整体上分为硬件部分设计和软件部分设计。基于单片机的自行车里程表设计全文共37页,当前为第5页。本文首先扼要对该课题的任务进行方案论证,包括硬件方案和软件方案的设计;继而具体介绍了自行车的速度里程表的硬件设计,包括传感器的选择、单片机的选择、显示电路的设计;然后阐述了该自行车的速度里程表的软件设计,包括数据处理子程序的设计、显示子程序的设计;最后针对仿真过程遇到的问题进行了具体说明与分析,对本次设计进行了系统的总结。具体的硬件电路包括AT89C52单片机的外围电路以及LED显示电路等。基于单片机的自行车里程表设计全文共37页,当前为第6页。软件设计包括:芯片的初始化程序、定时中断采样子程序、显示子程序等,软件采用汇编语言编写,软件设计的思想主要是自顶向下,模块化设计,各个子模块逐一设计。基于单片机的自行车里程表设计全文共37页,当前为第6页。第2章自行车里程表总体方案设计2.1任务分析与实现本次毕业设计的题目是:自行车里程表设计其设计的任务是:以通用MCS-51单片机为处理核心,用传感器将车轮的转数转换为电脉冲,进行处理后送入单片机。里程及速度的测量,是经过MCS-51的定时/计数器测出总的脉冲数和每转一圈的时间,再经过一系列的计算得出的,其结果通过显示器显示出来。本系统总体思路如下:里程及速度传感器采用霍尔元件,用一个霍尔芯片、一个小磁铁,霍尔芯片紧贴齿轮,磁铁放在芯片后面。齿轮转动一周霍尔元件与小磁铁靠近一次,这样可以改变通过霍尔芯片的磁通量,霍尔芯片可以输出类似正弦的波形,用运放放大波形,后面接一级比较器,把正弦波转换为方波,方波的频率和齿轮的转速成正比。自行车里程的测量是通过霍尔元件输出端的电压发生变化产生脉冲,通过计数器,根据脉冲数计算里程。自行车速度的测量是通过定时器测出车轮转一周所用的时间t,车轮周长L除以时间t就是自行车的速度。要求达到的各项指标及实现方法如下:1.利用霍尔传感器产生里程数的脉冲信号。2.对脉冲信号进行计数。 实现:利用单片机自带的计数器T0对霍尔传感器脉冲信号进行计数。3.对数据进行处理,要求用LED显示里程总数和即时速度。实现:利用软件编程,对数据进行处理得到需要的数值。最终实现目标:自行车里程表具有里程、速度测试与显示功能,采用单片机作控制,可根据车圈的不同设置常用的四种尺寸,显示电路可显示里程及速度,当开关S打开时,LED切换显示当前里程;当开关S闭合时,LED切换显示当前速度v;若自行车超速,系统发出报警提示。整个设计过程包括硬件电路的搭建,软件的编程,系统的调试,调试通过后,固化程序,脱离开发系统运行。2.2自行车里程表硬件方案设计基于单片机的自行车里程表设计全文共37页,当前为第7页。自从1971年微型计算机问世以来,随着大规模集成电路技术的不断进步,微型机主要向两个方向发展:一个向高速度,高性能的高档微型计算机方向发展。一个向稳定可靠,小而廉价的单片机方向发展。所谓的单片机,就是把中央处理器CPU、只读存储器ROM、定时/计数器以及I/O接口电路等集成在一块集成电路芯片上的微型计算机。从组成和功能上看,它具有微型计算机的含义。基于单片机的自行车里程表设计全文共37页,当前为第7页。单片机由于将CPU、内存和一些必要的接口集成到一个芯片上,并且面向控制功能将结构作了一定的优化,所以它有一般芯片不具有的特点:1.体积小、重量轻;2.电源单一、功耗低;3.功能强、价格低;4.全部集成在一块芯片上,布线短、合理;5.数据大部分在单片机内传送,运行速度快、抗干扰能力强、可靠性高。目前,单片机被广泛的应用于测控系统、工业自动化、智能仪表、集成智能传感器、机电一体化产品、家用电器领域、办公自动化领域、汽车电子与航空航天器电子系统以及单片机的多机系统等领域。2.2.1里程/速度测量传感器的设计1.速度传感器的设计测速是工农业生产中经常遇到的问题,学会使用单片机技术设计测速仪表具有很重要的意义。要测速,首先要解决是采样的问题。在使用模拟技术制作测速表时,常用测速发电机的方法,即将测速发电机的转轴与待测轴相连,测速发电机的电压高低反映了转速的高低。使用单片机进行测速,可以使用简单的脉冲计数法。只要转轴每旋转一周,产生一个或固定的多个脉冲,将脉冲送入单片机中进行计算,即可获得转速的信息。(1)霍尔传感器霍尔传感器是对磁敏感的传感元件,常用于信号采集的有A44E、CS3020、CS3040等,这类传感器是一个3端器件,外形与三极管相似,只要接上电源、地,即可工作,通常是集电极开路(OC门)输出,工作电压范围宽,使用非常方便。A44e的外形如图2.1所示。将有字面对准自己,三根引脚从左向右分别是电源、地、输出。基于单片机的自行车里程表设计全文共37页,当前为第8页。1-Vcc2-GND3-OUT基于单片机的自行车里程表设计全文共37页,当前为第8页。图2.1A44e外形图使用霍尔传感器获得脉冲信号,其机械结构也可以做得较为简单,只要在转轴的齿轮盘上粘上一粒磁钢,霍尔元件固定在前叉上,当车子转动时霍尔元件靠近磁钢,就有信号输出,转轴旋转时,就会不断地产生脉冲信号输出。如果在齿轮盘上粘上多粒磁钢,可以实现旋转一周,获得多个脉冲输出。在粘磁钢时要注意,霍尔传感器对磁场方向敏感,粘之前可以先手动接近一下传感器,如果没有信号输出,可以换一个方向再试。这种传感器不怕灰尘、油污,在工业现场应用广泛。(2)光电传感器光电传感器是应用非常广泛的一种器件,有各种各样的形式,如透射式、反射式等,基本的原理就是当发射管光照射到接收管时,接收管导通,反之关断。以透射式为例,如图2.2所示,当不透光的物体挡住发射与接收之间的间隙时,开关管关断,否则导通。为此,可以制作一个遮光叶片,如图2.3所示,安装在转轴上,当扇叶经过时,产生脉冲信号。当叶片数较多时,旋转一周可以获得多个脉冲信号。图2.2光电传感器的原理图图2.3遮光叶片(3)光电编码器基于单片机的自行车里程表设计全文共37页,当前为第9页。光电编码器的工作原理与光电传感器一样,不过它已将光电传感器、电子电路、码盘等做成一个整体,只要用连轴器将光电传感器的轴与转轴相连,就能获得多种输出信号。它广泛应用于数控机床、回转台、伺服传动、机器人、雷达、军事目标测定等需要检测角度的装置和设备中。某光电编码器的外形如图2.4所示。基于单片机的自行车里程表设计全文共37页,当前为第9页。图2.4成品光电编码器2.里程测量传感器的设计里程测量传感器的选择也有以下几种方案:使用光敏电阻对里程进行测量、利用编码器对车轮的圈数进行测量、利用霍尔传感器对里程进行测量、利用干簧管型传感器测量里程。这几种方案都是通过自行车车轮转动产生脉冲数,然后根据脉冲数计算里程。2.2.2方案的确定光敏电阻对光特别敏感,当白天行驶时,外界光源将导致光敏电阻发出错误信号;光敏电阻对环境的要求相当高,如果光敏或发光二极管被泥沙或灰尘所覆盖,光敏电阻就不能再进行准确测量;而编码器必须安装在车轴上,安装较为复杂;霍尔元件或干簧管不但不受天气的影响,即使被泥沙或灰尘覆盖也不会有影响,而且安装方便。所以本设计采用霍尔元件对里程与速度进行测量,既简单易行,又经济适用。本系统的硬件系统框图如图2.5所示LED显示报警存储器单片机波形整形信号波形变换放大器LED显示报警存储器单片机波形整形信号波形变换放大器基于单片机的自行车里程表设计全文共37页,当前为第10页。图2.5系统的原理框图基于单片机的自行车里程表设计全文共37页,当前为第10页。2.3自行车里程表软件方案设计硬件是基础,软件是灵魂。通过软件控制单片机的功能是单片机的主要特点和优点,程序的设计要考虑合理性和可读性。程序遵循模块化设计的原则,采用自顶向下的设计方法。即先考虑整体目标,明确整体任务,然后把整体任务分成一个个子任务,子任务再分成子子任务,这样逐层细分,同时分析层次间的关系与同一层次各任务间的关系,最后拟订出各任务的细节。模块化设计使程序的可读性好、修改及完善方便。软件设计包括主程序、行车过程中里程和速度计算子程序、延时子程序、T0、T1中断服务子程序、显示子程序等等。中断子程序是将传感器产生的信号接入计数器的T0口,然后计数器开始计数,当计数到一定数目后,计数器就产生溢出中断。数据处理子程序是将进入单片机的脉冲信号与实际要显示值之间有一定的对应关系,经过软件编程显示所需要的值。显示子程序是将数据处理的结果送显示器显示。本系统软件总体流程图如图2.6所示。初始化初始化P3.0=1?计算速度计算里程显示里程显示速度开始YN图2.6软件总体流程图基于单片机的自行车里程表设计全文共37页,当前为第11页。基于单片机的自行车里程表设计全文共37页,当前为第11页。第3章自行车里程表硬件电路设计3.1概述传感器在人们研究自然现象、规律以及生产实践活动中,起着非常重要的作用。特别是在当今,科学技术的发展使人类进入了一个信息时代,在利用信息的过程中,首先要解决的就是获取准确可靠的信息。传感器是获取自然或生产领域中信息的关键器件,是现代信息系统和各种设备不可缺少的信息采集工具。磁传感器是一种将磁学量信号转变为电信号的器件或装置。随着信息产业、工业自动化、医疗仪器等的飞速发展和计算机应用的普及,需要大量的传感器将被测或被控的非电信号转换成可与计算机兼容的电信号。作为输入信号,这就给磁传感器的快速发展提供了机遇,形成了磁传感器的产业。自从磁传感器作为一种独立产品进入应用领域,从10-14T的人体磁场到高达25T以上的强磁场,都可以找到相应的磁传感器进行检测。而这巨大的应用前景也使微机电系统技术在磁传感器中大有可为。其中最具代表的磁传感器就是霍尔传感器,在自动检测系统中,利用霍尔传感器测转数是一种最基本的测量工作,它的特性是霍尔传感器输出的脉冲信号的个数比较直接反映所测量转数的数目。3.2传感器及其测量系统基于单片机的自行车里程表设计全文共37页,当前为第12页。霍尔器件是一种磁传感器。用它们可以检测磁场及其变化,可在各种与磁场有关的场合中使用。霍尔器件以霍尔效应为其工作基础。
霍尔器件具有许多优点,它们的结构牢固、体积小、重量轻、寿命长、安装方便、功耗小、频率高(可达1MHz)、耐震动、不怕灰尘、油污、水汽及烟雾等的污染或腐蚀。霍尔线性器件的精度高、线性度好;霍尔开关器件无触点、无磨损、输出波形清晰、无抖动、无回跳、位置重复精度高(可达μm级)。取用了各种补偿和保护措施的霍尔器件工作温度范围宽,可达-55℃~150℃。按照霍尔器件的功能可将它们分为:霍尔线性器件和霍尔开关器件,前者输出模拟量,后者输出数字量。按被检测对象的性质可将它们的应用分为:直接应用和间接应用。前者是直接检测出受检测对象本身的磁场或磁特性,后者是检测受检对象上人为设置的磁场,用这个磁场来作被检测的信息的载体。通过它,将许多非电、非磁的物理量例如力、力矩、压力、应力、位置、位移、速度、加速度、角度、角速度、转数、转速以及工作状态发生变化的时间等,转变成电量来进行检测和控制。基于单片机的自行车里程表设计全文共37页,当前为第12页。3.2.1霍尔传感器的测量原理霍尔传感器是利用霍尔效应制成的一种磁敏传感器。在置于磁场中的导体或半导体通入电流I,若电流垂直磁场B,则在与磁场和电流都垂直的方向上会出现一个电势差Uh,这种现象称为霍尔效应。利用霍尔效应制成的元件称为霍尔元件。因为它具有结构简单、频率响应宽、灵敏度高、测量线性范围大、抗干扰能力强以及体积小、使用寿命长等一系列特点,因此被广泛应用于测量、自动控制及信息处理等领域。霍尔效应原理图如图3.1所示。图3.1霍尔效应原理图3.2.2集成开关型霍尔传感器基于单片机的自行车里程表设计全文共37页,当前为第13页。A44E集成霍尔开关由稳压器A、霍尔电势发生器(即硅霍尔片)B、差分放大器C、施密特触发器D和OC门输出E五个基本部分组成,如图3.2(a)所示。(1)、(2)、(3)代表集成霍尔开关的三个引出端点。在电源端加电压Vcc,经稳压器稳压后加在霍尔电势发生器的两端,根据霍尔效应原理,当霍尔片处在磁场中时,在垂直于磁场的方向通以电流,则与这二者相垂直的方向上将会产生霍尔电势差VH输出,该VH信号经放大器放大后送至施密特触发器整形,使其成为方波输送到OC门输出。当施加的磁场达到工作点时,触发器输出高电压(相对于地电位),使三极管导通,此时OC门输出端输出低电压,通常称这种状态为开。当施加的磁场达到释放点时,触发器输出低电压,三极管截止,使OC门输出高电压,这种状态为关。这样两次电压变换,使霍尔开关完成了一次开关动作。工作点与释放点的差值一定,此差值称为磁滞,在此差值内,V0保持不变,因而使开关输出稳定可靠,这也就是集电成霍尔开关传感器优良特性之一。传感器主要特性是它的输出特性,即输入磁感应强基于单片机的自行车里程表设计全文共37页,当前为第13页。图3.2集成开关型霍尔传感器a)组成b)输出特性度B与输出电压V0之间的关系。A44E集成霍尔开关是单稳态型,由测量数据作出的输出特性曲线如图3.2(b)所示。测量时在1、2两端加+12V直流电压,在输出端3与1之间接一个2k的负载电阻,如图3.3所示。图3.3集成霍尔开关接线图3.3芯片简介3.3.1单片机的选择单片微型计算机是指集成在一个芯片上的微型计算机,也就是把组成微型计算机的各种功能部件,包括CPU(CentralProcessingUnit)、随机存取存储器RAM(RandomAccessMemory)、只读存储器ROM(Read-onlyMemory)、基本输入/输出(1nput/Output)接口电路。定时器/计数器等部件都制作在一块集成芯片上,构成一个完整的微型计算机从而实现微型计算机的基本功能。单片机内部结构示意图如图3.4所示。基于单片机的自行车里程表设计全文共37页,当前为第14页。单片机实质上是一个芯片。在实际应用中,通常很少将单片机直接和被控对象进行电气连接,必须外加各种扩展接口电路、外部设备、被控对象等硬件和软件,才能构成一个单片机应用系统。基于单片机的自行车里程表设计全文共37页,当前为第14页。定时/计数器定时/计数器中断系统CPU存储器并行I/O口串口I/O口TXDRXDTINTP0-P3图3.4单片机内部结构示意图1.AT89C52引脚功能AT89C52是美国ATMEL公司生产的低电压,高性能CMOS8位单片机,片内含8kbytes的可反复擦写的只读程序存储器(EPROM)和256bytes的随机存取数据存储器(RAM),器件采用ATMEL公司的高密度、非易失性存储技术生产,与标准MCS-51指令系统及8052产品引脚兼容,片内置通用8位中央处理器(CPU)和Flash存储单元,功能强大,AT89C52单片机适合于许多较为复杂控制场合应用。主要性能参数: 与MCS-51产品指令和引脚完全兼容8k字节可重擦写Flash闪速存储器1000次擦写周期全静态操作:0Hz-24MHz三级加密程序存储器256×8字节内部RAM32个可编程I/O口线3个16位定时/计数器8个中断源可编程串行UART通道基于单片机的自行车里程表设计全文共37页,当前为第15页。低功耗空闲和掉电模式基于单片机的自行车里程表设计全文共37页,当前为第15页。图3.589C52引脚图AT89C52提供以下标准功能:8k字节Flash闪速存储器,256字节内部RAM,32个I/O口线,3个16位定时/计数器,一个6向量两极中断结构,一个全双工串行通信口,片内振荡器及时钟电路。同时,AT89C52可降至0Hz的静态逻辑操作,并支持两种软件可选的节电工作模式。空闲方式停止CPU的工作,但允许RAM,定时/计数器,串行通信口及中断系统继续工作。掉电方式保存RAM中的内容,但振荡器停止工作并禁止其它所有部件工作直到下一个硬件复位。89C52管脚图如图3.5所示。89C52的主要管脚功能如下:P0.0~P0.7:P0口是一组8位漏极开路型双向I/O口,也是地址/数据总线复用口。作为输出口用时,每位能吸收电流的方式驱动8个TTL逻辑门电路,对端口P0写“1”时,可作为高阻抗输入端用。在访问外部数据存储器或程序存储器时,这组口线分时转换地址(低8位)和数据总线复用,在访问期间激活内部上拉电阻。P1.0~P1.7:P1是一个带内部上拉电阻的8位双向I/O口,P1的输出缓冲极可驱动(吸收或输出电流)4个TTL逻辑门电路。对端口写“1”,通过内部的上拉电阻把端口拉到高电平,此时可作输入口。P2.0~P2.7:P2是一个带内部上拉电阻的8位双向I/O口,P2的输出缓冲极可驱动(吸收或输出电流)4个TTL逻辑门电路。对端口P2写“1”,通过内部的上拉电阻把端口拉到高电平,此时可作输入口。P3.0~P3.7:P3是一个带内部上拉电阻的8位双向I/O口,P3的输出缓冲极可驱动(吸收或输出电流)4个TTL逻辑门电路。对端口P3写“1”,通过内部的上拉电阻把端口拉到高电平,此时可作输入口。基于单片机的自行车里程表设计全文共37页,当前为第16页。ALE:地址锁存控制信号。在系统扩展时,ALE用于控制把P0口输出的低8位地址锁存起来,以实现低位地址和数据的隔离。此外,由于ALE是以晶振1/6的固定频率输出的正脉冲,因此,可作为外部时钟或外部定时脉冲使用。基于单片机的自行车里程表设计全文共37页,当前为第16页。:外部程序存储器读选通信号。在读外部ROM时,有效(低电平),以实现外部ROM单元的读操作。:访问程序存储控制信号。当信号为低电平时,对ROM的读操作限定在外部程序存储器;当信号为高电平时,对ROM的读操作是从内部程序存储器开始,并可延至外部程序存储器。RST:复位信号。当输入的复位信号延续两个机器周期以上的高电平时即为有效,用以完成单片机的复位初始化操作。XTALl和XTAL2:外接晶体引线端。当使用芯片内部时钟时,此二引线端用于外接石英晶体和微调电容;当使用外部时钟时,用于接外部时钟脉冲信号。VSS:地线。VCC:+5V电源。以上是MCS-51单片机芯片40条引脚的定义及简单功能说明。由于工艺及标准化等原因,芯片的引脚数目是有限制的。例如,MCS-51系列把芯片引脚数目限定为40条,但单片机为实现其功能所需要的信号数目却远远超过此数,因此就出现了需要与可能的矛盾。如何解决这个矛盾?“兼职”是唯一可行的办法,即给一些信号引脚赋以双重功能。如果把前述的信号定义为引脚第一功能的话,则根据需要再定义的信号就是它的第二功能。下面介绍一些信号引脚的第二功能。(1)P3口线的第二功能。P3的8条口线都定义有第二功能,如表3.1所示表3.1P3口引脚与第二功能引脚第二功能信号名称P3.0RXD串行数据接收P3.1TXD串行数据发送P3.2外部中断0申请P3.3外部中断1申请P3.4T0定时/计数器0的外部输入P3.5T1定时/计数器1的外部输入P3.6外部RAM写选通P3.7外部RAM读选通基于单片机的自行车里程表设计全文共37页,当前为第17页。(2)EPROM存储器程序固化所需要的信号。有内部EPROM的单片机芯片(例如8751),为写入程序需提供专门的编程脉冲和编程电源,这些信号也是由信号引脚以第二功能的形式提供的,即:基于单片机的自行车里程表设计全文共37页,当前为第17页。编程脉冲:30脚(ALE/)编程电压(25V):31脚(/VPP)(3)备用电源引入。MCS-51单片机的备用电源也是以第二功能的方式由9脚(RST/VPD)引入的。当电源发生故障,电压降低到下限值时,备用电源经此端向内部RAM提供电压,以保护内部RAM中的信息不丢失。2.定时/计数器(1)计数:计数是指对外部事件的个数进行计量。其实质就是对外部输入脉冲的个数进行计量。实现计数功能的器件称为计数器。(2)定时:8051单片机中的定时器和计数器是一个部件,只不过计数器记录的是外界发生的事件,而定时器则是由单片机内部提供一个非常稳定的计数源进行定时的。这个计数源是由单片机的晶振经过12分频后获得的一个脉冲源。所以定时器计数脉冲的时间间隔与晶振有关。MCS-51单片机内部有两个16位可编程的定时器/计数器,简称为T0和T1,均可作定时器和计数器使用,它们均是二进制加法计数器,当计数器计满回零时能自动产生溢出中断请求,表示定时时间已到或计数已终止。适用于定时控制、延时、外部计数和检测等。计数器:对引脚T0(P3.4)和T1(P3.5.)输入的外部脉冲信号计数,当输入脉冲信号从1到0的负跳变时,计数器就自动加1。计数的最高频率一般为振荡频率的1/24。定时器:对系统晶振振荡脉冲的12分频输出进行计数。定时器/计数器的结构组成:16位加法计数器、工作方式寄存器TMOD和控制寄存器TCON。T0:TL0(低8位)和TH0(高8位)T1:TL1(低8位)和TH1(高8位)3.3.2存储器的介绍基于单片机的自行车里程表设计全文共37页,当前为第18页。CAT24WC02是一个2K位串行CMOSE2PROM。内部含有256个8位字节,CATALYST公司的先进CMOS技术实质上减少了器件的功耗。CAT24WC02有一个16字节页写缓冲器,该器件通过I2C总线接口进行操作有一个专门的写保护功能。CAT24WC02支持I2C总线数据传送协议,I2C总线协议规定:任何将数据传送到总线的器件作为发送器,任何从总线接收数据的器件为接收器,数据传送是由产生串行时钟和所有起始停止信号的主器件控制的。主器件和从器件都可以作为发送器或接收器,但由主器件控制传送数据(发送或接收)的模式,通过器件地址输入端A0、A1和A2可以实现将最多8个24WC02器件连接到总线上。管脚图如3.6所示。基于单片机的自行车里程表设计全文共37页,当前为第18页。图3.624C02管脚图SCL串行时钟:CAT24WC02串行时钟输入管脚用于产生器件所有数据发送或接收的时钟,这是一个输入管脚。SDA串行数据/地址:CAT24WC02双向串行数据/地址管脚用于器件所有数据的发送或接收。SDA是一个开漏输出管脚可与其它开漏输出或集电极开路输出进行线或(wire-OR)。A0、A1、A2器件地址输入端:这些输入脚用于多个器件级联时设置器件地址,当这些脚悬空时默认值为0。当使用24WC02时最大可级联8个器件,24WC02被总线寻址这三个地址输入脚。A0、A1、A2可悬空或连接到Vss。WP写保护:如果WP管脚连接到Vcc所有的内容都被写保护,只能读。当WP管脚连接到Vss或悬空,允许器件进行正常的读/写操作。起始信号:时钟线保持高电平期间,数据线电平从高到低的跳变作为I2C总线的起始信号。停止信号:时钟线保持高电平期间,数据线电平从低到高的跳变作为I2C总线的停止信号。本题目中24C02起存储作用,将自行车里程存储在24C02中,当掉电时,存储的数据不会丢失,可以读取24C02中的里程数完成里程的累积。3.3.374LS74芯片的介绍基于单片机的自行车里程表设计全文共37页,当前为第19页。74LS74是D触发器的一种,它是一个具有记忆功能的二进制信息存储器件,是构成多种时序电路的最基本逻辑单元。触发器具有两个稳定状态,即"0"和"1",在一定的外界信号作用下,可以从一个稳定状态翻转到另一个稳定状态。由于其状态的更新发生在CP脉冲的边沿故又称之为上升沿触发的边沿触发器,D触发器的状态只取决于时针到来前D端的状态。D触发器应用很广,可用做数字信号的寄存、移位寄存、分频和波形发生器等。引脚图如图3.7所示。基于单片机的自行车里程表设计全文共37页,当前为第19页。图3.774LS74引脚图在本题目中74LS74芯片起分频的作用。当车轮每转一圈,霍尔传感器输出一个低电平脉冲,通过74LS74进行二分频后,定时器T1的开启时间为车轮转1圈的时间,这样就可以算出自行车的速度。3.3.474LS244芯片的介绍74LS244为三态输出的八位缓冲器和总线驱动器,若单片机输出口直接接显示部分电路,则电流太小,会导致显示部分不能正常工作。所以在单片机输出口先接入驱动芯片74LS244,增大电流,使LED能够正常工作。其逻辑图如图3.8所示。图3.874LS244逻辑图3.4单片机外围电路的设计1.时钟电路的设计基于单片机的自行车里程表设计全文共37页,当前为第20页。时钟是单片机的心脏,单片机各功能部件的运行都是以时钟频率为基准,有条不紊地一拍一拍地工作。因此,时钟频率直接影响单片机的速度,时钟电路的质量也直接影响单片机系统的稳定性。8051片内由一个反相放大器构成振荡器,可以由它产生时钟。常用的时钟电路有两种方式,一种是内部时钟方式,另一种为外部时钟方式。本设计采用前者。基于单片机的自行车里程表设计全文共37页,当前为第20页。单片机内部有一个用于构成振荡器的高增益反相放大器,该高增益反相放大器的输入为芯片引脚XTAL1,输出端为引脚XTAL2。这两个引脚跨接石英晶体振荡器和微调电容,就构成一个稳定的自激振荡器。单片机内部时钟方式的振荡电路如图3.9所示。图3.9单片机片内振荡电路电路中的电容C1和C2常选择为30pF左右。对外接电容的值虽然没有严格的要求,但电容的大小会影响振荡器的高低、振荡器的稳定性、起振的快速性和温度的稳定性。而外接晶体的振荡频率的大小,主要取决于单片机的工作频率范围,每一种单片机都有自己的最大工作频率,外接的晶体振荡频率不大于单片机的最大工作频率即可。此外,如果单片机有串行通信,则应该选择振荡频率除以串行通信频率可以除尽的晶体。本设计晶振采用12MHz。2.复位电路的设计89C52的复位输入引脚RET(即RESET)为89C52提供了初始化的手段。有了它可以使程序从指定处开始执行,即从程序存储器中的0000H地址单元开始执行程序。在89C52的时钟电路工作后,只要在RET引脚上出现两个机器周期以上的高电平时,单片机内部则初始复位。只要RET保持高电平,则89C52循环复位。只有当RET由高电平变成低电平以后,89C52才从0000H地址开始执行程序。复位操作对寄存器也有影响,但内部RAM不受复位的影响。当Vcc加电后,RAM的内容是随机的。它们的复位状态如表3.2所示。基于单片机的自行车里程表设计全文共37页,当前为第21页。表3.2MCS-51的复位状态表基于单片机的自行车里程表设计全文共37页,当前为第21页。寄存器复位状态寄存器复位状态PC0000HTCON00HA00HTMOD00HB00HTH000HPSW00HTL000HSP07HTH100HDPTR0000HTL100HP0~P3FFHSCON00HIPXX000000HSBUFXXHIE0X000000HPCON0XXX0000B由表3.2中可以看出,复位时,SP=07H;4个I/O端口P0~P3的引脚均为高电平,这在某些控制应用中,要考虑到引脚的高电平对外部控制电路的影响。由于单片机内部的各个功能部件均受特殊功能寄存器控制,程序运行直接受程序计数器(PC)的指挥。另外,在复位有效期间(即高电平),MCS-51单片机的ALE引脚和引脚均为高电平,且内部RAM不受复位的影响。本系统的复位电路是采用按键复位的电路,如图3.10所示,是常用复位电路之一。当89C52的ALE及两引脚输出高电平,RET引脚为高电平时,单片机复位。通过按动按钮产生高电平复位称手动复位。上电时,刚接通电源,电容C相当于瞬间短路,+5V立即加到RET/VPD端,该高电平使89C52全机自动复位,这就是上电复位;若运行过程中需要程序从头执行,只需按动按钮即可。按下按钮,则直接把+5V加到了RET/VPD端从而复位称为手动复位。复位后,P0到P3并行I/O口全为高电平,其它寄存器全部清零,只有SBUF寄存器状态不确定。图3.10按键复位电路工作原理:上电瞬间,RC电路充电,RST引脚出现高电平,只要RST端保持10ms以上高电平,就能使单片机有效地复位。基于单片机的自行车里程表设计全文共37页,当前为第22页。3.显示电路的设计基于单片机的自行车里程表设计全文共37页,当前为第22页。本设计中采用LED数码管显示。在单片机系统中,通常用LED数码显示器来显示各种数字或符号。由于它具有显示清晰、亮度高、使用电压低、寿命长的特点,因此使用非常广泛。八段LED显示器由8个发光二极管组成。其中7个发光二极管构成字型“8”的各个笔画段,另一个小数点为dp发光二极管。LED显示器有两种不同的形式:一种是发光二极管的阳极都连在一起的,称之为共阳极LED显示器;另一种是发光二极管的阴极都连在一起的,称之为共阴极LED显示器。如图3.11所示。图3.11七(八)段LED显示器a)外形图b)共阳极接法c)共阴极接法LED显示方式有动态显示和静态显示两种方式。本系统采用动态扫描显示接口电路,动态显示接口电路是把所有显示器的8个笔划段a-h同名端连在一起,而每一个显示器的公共极COM各自独立地受I/O线控制。CPU向字段输出口送出字型码时,所有显示器接收到相同的字型码,但究竟是哪个显示器亮,则取决于COM端。也就是说我们可以采用分时的方法,轮流控制各个显示器的COM端,使各个显示器轮流点亮。在轮流点亮扫描过程中,每位显示器的点亮时间是极为短暂的(约1ms),由于人的视觉暂留现象及发光二极管的余辉效应,尽管实际上各位显示器并非同时点亮,但只要扫描的速度足够快,给人的印象就是一组稳定的显示数据,不会有闪烁感。因为LED的正向工作电压一般在1.2V-2.6V,其发光工作电流为5mA-20mA,发光强度基本上与正向电流成正比,故电路需串联适当的限流电阻,本设计选择比较常用的100电阻。基于单片机的自行车里程表设计全文共37页,当前为第23页。本设计P2.0、P2.1、P2.2、P2.3信号一起组成位选通的位选信号,P0.0~P0.7信号一起组成段码选通的段选信号,通过软件编程,先把所要显示的数据放入存储单元,然后把数据送入段选通对应的地址,再选通某一个LED,逐步完成四个LED的显示。基于单片机的自行车里程表设计全文共37页,当前为第23页。4.单片机各口的作用和用途自行车里程表采用AT89C52单片机作控制,速度及里程传感器采用霍尔元件,其电路原理图如附录Ⅰ所示。P0口和P2口用于七段LED显示器的段码及位选扫描输出,在显示里程时,第3位小数点用17脚P3.7口控制点亮。P1.0和P1.1口分别用于显示里程状态和速度状态。P1.2、P1.3、P1.6和P1.7口分别用于设置轮圈的大小。第10脚的开关用于确定显示的方式,当开关S闭合时,显示速度;打开开关S时,显示里程。第12脚外中断0用于对轮子圈数的计数输入,轮子每转一圈,霍尔传感器输出一个低电平。第13脚外中断1用于控制定时器T1的启/停,当输入为0时关闭定时器。此控制信号是将轮子圈数的计数脉冲经二分频后形成,如图3.12所示。这样,每次定时器T1的开启时间刚好为转1圈的时间,根据轮子的周长就可以计算出自行车的速度。P1.4口和P1.5口用于E2PROM存储器24C02的存取控制。11脚输出用于速度超速时的报警,报警电路图如图3.13所示。图3.12单片机11、12脚的输入波形基于单片机的自行车里程表设计全文共37页,当前为第24页。图3.13报警电路图基于单片机的自行车里程表设计全文共37页,当前为第24页。第4章自行车里程表软件程序设计4.1概述在硬件设计完毕之后,接下来就是设计中最核心和最为主要的软件部分设计。所谓软件设计就是把软件需求变换成软件的具体设计方案(即模块结构)的过程。模块化结构设计即是根据要求和硬件设计的结构,将整个系统的功能分成许多小的功能模块,再根据这些小的功能模块进行程序编写的过程。这样的设计方法,使得系统的整个功能和各部分的功能趋于明朗化。当系统出现问题,就可以根据功能设置找出问题的根源,从而更快地解决问题。所以说,在整个设计过程中,软件设计必须与硬件设计紧密地结合在一起。基于霍尔传感器自行车里程表的软件设计包括计数子程序、计时子程序、LED显示子程序等几大部分。由于要实现很多功能,所以采用模块化设计,下面就其主要部分分别加以分析。4.2自行车里程表总体程序设计在主程序模块中,需要完成对各接口芯片的初始化、自行车里程和速度的初始化、中断向量的设计以及开中断、循环等待等工作。另外,在主程序模块中还需要设置启动/清除标志寄存器、里程寄存器、速度寄存器,并对它们进行初始化。然后主程序将根据各标志寄存器的内容,分别完成启动、清除、计程和计速等不同的操作。基于单片机的自行车里程表设计全文共37页,当前为第25页。P1.0和P1.1口分别用于显示里程状态和速度状态。P1.2、P1.3、P1.6和P1.7口分别用于设置轮圈的大小。当按下S时,就显示速度;当开关S打开时,就显示里程,中断0用于对轮子圈数的计数输入,轮子每转一圈,霍尔传感器输出一个低电平脉冲。将根据里程寄存器中的内容计算和判断出行驶里程数。中断1用于控制定时器T1的启/停,当输入为0时关闭定时器。此控制信号是将轮子圈数的计数经二分频后形成。这样,每次定时器T1的开启时间刚好为转一圈的时间,根据轮子的周长就可以计算出自行车的速度。其程序流程如图4.1所示。基于单片机的自行车里程表设计全文共37页,当前为第25页。基于单片机的自行车里程表设计全文共37页,当前为第26页。图4.1主程序流程图基于单片机的自行车里程表设计全文共37页,当前为第26页。4.3中断子程序的设计定时中断是为满足定时或计数的需要而设置的。为此在单片机内部有两个定时/计数器,以对其中的计数结构进行计数的方法,来实现定时或计数功能。当结构发生计数溢出时,即表明定时时间或计数值已满,这时就以计数溢出信号作为中断请求,去置位一个溢出标志,作为单片机接受中断请求的标志。这种中断请求是在单片机芯片内部发生的,因此无须在芯片上设置引入端。定时/计数器控制寄存器TCON是8位寄存器,地址为88H,可以位寻址。其高4位用于定时/计数器中断控制,低4位借给外部中断,用做中断标志和触发方式选择位。TF0/TF1:定时器溢出中断申请标志位(由硬件自动置位)。=0:定时器未溢出;=1:定时器溢出(由全“1”变成全“0”)时由硬件自动置位,申请中断,中断被CPU响应后由硬件自动清零。TR0/TR1:定时器运行启停控制位(可由用户通过软件设置)。=0:定时器停止运行;=1:定时器启动运行。本设计采用定时中断,对自行车的里程和速度进行计数。中断程序流程图如图4.2所示。4.4数据处理子程序的设计1.里程表数子程序外中断0服务程序用于对单片机12脚输入的圈脉冲进行计数,为十六进制计数器。60H为低位,62H为高位。每次计数一次后,对里程数据进行一次存储操作。当车轮每转一圈,通过霍尔元件将脉冲数输入单片机内,通过计数器计出脉冲数,再用乘法子程序算出里程数。里程处理子程序流程图如图4.3所示。基于单片机的自行车里程表设计全文共37页,当前为第27页。外中断1服务程序用于处理轮子转动一圈后的计时数据。当标志位(00H)为1时,说明计数溢出,放入最大时间值(为#0FFH);当标志位为0时,将计数单元(TL1、TH1、6CH、6DH)的值放入68H~6BH单元。通过定时器计出每转一圈所用的时间,用自行车车轮的周长除以时间就得出自行车的速度。速度流程图如图4.4(a)所示,除法子程序流程图如图4.4(b)所示。基于单片机的自行车里程表设计全文共37页,当前为第27页。图4.2中断程序流程图基于单片机的自行车里程表设计全文共37页,当前为第28页。图4.3里程处理子程序流程图 基于单片机的自行车里程表设计全文共37页,当前为第28页。基于单片机的自行车里程表设计全文共37页,当前为第29页。图4.4(a)速度处理子程序流程图基于单片机的自行车里程表设计全文共37页,当前为第29页。图4.4(b)除法子程序流程图4.5显示子程序的设计数据处理完后,显示子程序开始工作,由于LED显示为段码的显示,所以处理后的十进制数要首先取段码,然后送显示单元。基于单片机的自行车里程表设计全文共37页,当前为第30页。本设计采用四位LED显示,先把要显示的数据送入P1口,然后将位选码送到P2口,延时1ms进行显示,显示程序流程图如图4.5所示。基于单片机的自行车里程表设计全文共37页,当前为第30页。基于单片机的自行车里程表设计全文共37页,当前为第31页。图4.5显示子程序流程图基于单片机的自行车里程表设计全文共37页,当前为第31页。第5章系统调试与分析5.1自行车里程表系统调试5.1.1调试系统简介PROTEUS系统仿真平台与开发平台是由英国Labcenter公司开发的,是目前世界上最完整的系统设计与仿真平台之一。PROTEUS可以实现数字电路、模拟电路及微控制系统与外设的混合电路系统的电路仿真、系统协同仿真和PCB设计等全部功能。PROTEUS软件能够对各种处理器进行实时仿真、调试与测试的EDA工具,真正实现了在没有目标原形时就可以对系统进行调试与验证。单片机系统的仿真是PROTEUSVSM的一大特色,同时,本仿真系统将源代码的编辑和编译整合到同一设计环境中,这样使得用户可以在设计中直接编辑代码,并且很容易地查看到用户对源程序修改后对仿真结果的影响。源代码通过编译无误后,就可以进行仿真,在仿真过程中不断完善电路和程序的功能最后达到本次设计的目的。5.1.2硬件调试根据硬件电路设计的原则,本次硬件电路制作采用了:“部分焊接部分调试”的思想,即每焊接一部分,就调试一部分,当此部分电路调试成功,再焊接下一部分电路。这种方法弥补了在电路整体焊接后进行调试时,出现问题不易查找的不足,真正做到模块化设计、模块化调试、模块化分析。该课题的硬件电路部分占了整个过程相当大的一个比例。单片机的外围电路、传感器电路、显示电路、是本次设计的主要硬件电路。5.1.3软件调试本系统的软件调试步骤如下:1.把系统的整个软件程序分成若干个模块(如显示模块、计数模块、定时中断采样模块、转换模块、除法模块、里程处理模块、速度处理模块)。2.将各模块输入变量赋值,单步执行,看其转换是否正常,最终输出是否合理。基于单片机的自行车里程表设计全文共37页,当前为第32页。3.将各模块联起来,单步执行,看结果是否正常,再连续执行,看可否返回。基于单片机的自行车里程表设计全文共37页,当前为第32页
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 儿科医生简短述职报告
- 中秋节的演讲稿(范文15篇)
- 口才班课件教学课件
- 高等数学教程 上册 第4版 习题及答案 P225 第9章 微分方程
- 文书模板-天然气公司股东协议书
- 政策滥用及其对商家的影响 -2023年全球参考基准
- 高校课程课件教学课件
- 綦江区七年级上学期语文期末考试试卷
- 第二中学九年级上学期语文开学考试试卷
- 部编版小学语文三年级上册第20课《美丽小兴安岭》读写练习题
- 美容院顾客管理档案表
- 锦鲤的繁殖与选优技术
- 四年级数学家长会课件
- 华北理工《社会医学》讲义11健康危险因素评价
- 透析饮食课件
- 妊娠期高血压护理查房医学课件
- 新部编人教版四年级上册语文课件(第16课 风筝)
- 临床诊断与思维步骤课件
- 放射科危急值制度考试试题与答案
- 通信发展的前世今生儿童科普(课堂PPT)课件(PPT 38页)
- 老年人口腔保健知识PPT课件
评论
0/150
提交评论