自行车里程与速度计的设计(共33页).doc
精选优质文档-倾情为你奉上自行车里程与速度计的设计摘要本论文主要阐述一种基于单片机的自行车里程/速度计的设计。主要分为三个部分:硬件设计,软件设计和模拟仿真。硬件设计以AT89C52单片机为核心,主要包括复位电路、显示电路、时钟电路、报警电路的设计。本设计采用霍尔传感器测量自行车转速脉冲, 经处理后由LED数码管显示,最多可显示4位数;报警电路是当没有输入周长或超速时发出光、语音报警提示。软件设计主要是通过单片机编程软件Keil C设计计算自行车行驶里程和实时速度的程序,以及速度和里程的显示程序;模拟仿真是利用仿真软件Proteus对所设计的硬件电路和程序进行测试。本论文对设计当中所需元件作了详细介绍,对设计中存在的问题进行了说明,而后对硬件和软件部分的设计和实现作了认真的分析,并在此基础上进行了控制仿真。本设计由于使用了串口液晶显示以及高效快速算法,因而可在节约系统资源和简化程序设计的基础上保证测量精度和系统实时性,而且具有结构简单,成本低廉,显示清晰,稳定可靠等优点。关键词:AT89C52单片机;LED;霍尔传感器专心-专注-专业THE DESIGN OF ODOMETER AND VELOCITY GAUGEAbstractThis paper mainly tells the design of odometer and velocity gauge on bicycles based on MCU.There are three part in the thesis:hardware design,software design and simulation.The hardware design use with the core of AT89C52 as controler, includes the designs of Reset circuit, display circuit, clock circuit and alarm circuit.which hall sensor is usued to measure the pulse of rotating speed of the wheel,which is displayed by LED after processing,being able to display four figures.The alarm circuit can give a light or sound alarm when there is an overspeed or no perimeter input.The software design mostly includes the design of program on caculating the mileage and real-time speed of the bicycle with Keil C as The simulation is finished by testing the designed hardware circuit and program with the simulation software Proteus.This paper introduces the demanded components of the design in details,explaining the existing problems in the design,and seriously analyzes the design of both hardware and software,then takes the simulation here on the basis.This design can guarantee the precision measurement precision and owns high real-time performance on the basis of the system resource saving and the process of programming. it has a simple strcture, that is low cost, clear display, stable and reliable. Keywords: AT89C52;LED;hall sensor目 录1 绪论1.1 课题背景、发展及意义我国的自行车大国,随着居民生活水平的不断提高,自行车不再仅仅是普通的运输、代步的工具,其辅助功能也变得越来越重要。因此,人们希望自行车的娱乐、休闲、锻炼的功能越来越多,能带给大家更多的健康和快乐。在这个背景下,自行车里程表与速度表作为自行车的一大辅助工具迅速发展起来。科学、美观、合理设计自行车里程表与速度表有一定的实用价值,它能合理计算出速度及里程数,让人们清楚的知道当前的速度、里程等,使运动者运动适量,达到健康运动与代步的最佳效果。由于单片机具有体积小、功能强、性价比高等特点,把单片机应用于里程/速度表的控制中,可完成对里程/速度的计算和控制的要求。采用单片机控制不仅具有控制方便、简单和灵活性大等优点,既可以大幅度提高被控量的技术指标,大大的提高产品的准确度,又可以降低成本,简化设计。1.2 系统设计概述本次里程/速度计的设计以AT89C52单片机为主要控件,利用霍尔元件传感器检测自行车轮圈的转数,通过计算和转换,由LED数码管以KM、M/S显示里程、速度。里程只显示当次行驶的路程。速度大于40KM/h时报警提示。本里程/速度计的设计具有结构简单,价格低廉,实时显示,稳定可靠等特点。并且还可以扩充,加入E2PROM存储器芯片,则可以实现全部行驶里程的显示。1.3 任务分析与实现本设计的任务是:以通用的MCS-51单片机为处理核心,用传感器将车轮的转数转换为电脉冲,送入单片机。里程及速度的测量,是通过MCS-51的定时器测出总脉冲数和每转一圈所用的时间,再经过单片机的计算得出,其结果通过LED数码管显示出来。本设计的总体思路是:假定轮圈的周长为L,在轮圈上安装m个永久磁铁,则测得的里程值最大误差为L/m。经综合分析,本设计中取m=1。当轮子每转一圈,通过开关型霍尔元件传感器采集到一个脉冲信号,并从引脚P3.2中断0端输入,传感器每获取一个脉冲信号即对系统提供一次计数中断。每次中断代表车轮转动一圈,中断数n与轮圈的周长的乘积为里程值。计数器T0计算每转一圈所用的时间t,就可以计算出实时速度v。当里程键按下时,里程指示灯亮,LED切换显示当前里程,与当速度键按下时,速度指示灯亮,LED切换显示当前速度,若自行车超速,系统发出报警信号,指示灯闪烁。要求达到的各项指标及实现方法如下:1. 利用霍尔传感器产生里程数的脉冲信号。2. 对脉冲信号进行计数。 实现:利用单片机对霍尔传感器脉冲信号进行计数。3. 对数据进行处理,要求用LED显示里程总数和即时速度。实现:利用软件编程,对数据进行处理得到需要的数值。最终实现目标:自行车里程/速度计具有里程、速度显示功能,采用单片机作控制,可根据车圈的不同,设置常用的四种尺寸,显示电路可显示里程及速度。整个设计过程包括硬件电路的设计,软件的编程,系统的调试,调试通过后,利用Proteus软件进行系统仿真。2 自行车里程速度计的设计方法与原理2.1 硬件方案设计测速,首先要解决的是采样和时间的问题。使用单片机进行测速,可以使用简单的脉冲计数,只要轮轴每旋转一圈,产生一个或固定的多个脉冲,将脉冲送入单片机进行计算,即可获得转速信息。常用的测速元件有霍尔传感器、光电传感器和光电编码器1。光电传感器对光特别敏感,当白天行驶时,外界光源将导致光敏电阻发出错误信号,而且光敏电阻对环境的要求相当高,如果光敏电阻或发光二极管被泥沙或灰尘所覆盖,光敏电阻就不能再进行准确测量;而编码器必须安装在车轴上,安装比较复杂;霍尔传感器或干簧管不但不受天气的影响,即使被泥沙或灰尘所覆盖也不会有影响,而且安装方便。所以本设计采用霍尔元件对里程与速度进行测量,既简单易行,又经济适用。使用霍尔传感器获得脉冲信号,其机械结构也可以做得较为简单,只要在转轴的齿轮盘上粘上一粒磁钢,霍尔元件固定在前叉上,当车轮转动时霍尔元件靠近磁钢,就有信号输出。如果在齿轮盘上粘上多粒磁钢,就可以实现车轮转动一周,获得多个脉冲输出。在年磁钢时要注意,霍尔传感器对磁感方向敏感,粘之前可以先手动接近一下传感器,如果没有信号输出,可以换一个方向试试。这种传感器不怕灰尘、油污,在工业现场应用广泛。时间可以由单片机的定时功能确定。单片机是一种集成电路芯片,是采用超大规模集成电路技术把具有数据处理能力的中央处理器CPU、随机存储器RAM、只读存储器ROM、多种I/O口和中断系统、定时器/计时器等功能集成到一块硅片上构成的一个小而完善的计算机系统2,图2-1所示。图2-1 单片机内部结构示意图1)中央处理器(CPU)中央处理器是单片机的最核心部件,主要完成运算和控制功能。2)内部存储器内部存储器包括内部数据存储器(内部RAM)和内部程序存储器(ROM),存储器是由大量的寄存器所组成,其中每一个寄存器就称为一个存储单元。3)定时/计数器单片机的定时器和计数器是同一结构,只是计数器记录的是单片机外部发生的事件,由单片机外部电路提供计数信号;而定时器是由单片机内部提供的一个非常稳定的计数信号。4)中断系统中断系统在计算机中起着十分重要的作用,是现代计算机系统中广泛采用的一种实时在技术,能对突发事件进行及时处理,从而大大提高系统的实时性能。5)串行I/O接口串行I/O接口的数据各位按顺序传输,其特点是需要一对传输线,成本低,但速度慢,效率低,适合静态显示。6)并行I/O接口并行I/O接口的数据所有位同时传输。其特点是传输速度快,效率高;但传输多少位就需要多少根传输线,因此传送成本高,适合动态显示。单片机由于将CPU、内存和一些必要的接口集成在一个芯片上,并且面向控制功能将结构作了一定的变化,所以它具有一般芯片不具有的特点:1)体积小、重量轻;2)电源单一、功耗低;3)功能强、价格低;4)全部集成在一块芯片上,布线短、合理;5)数据大部分在单片机内部传送,运行速度快、抗干扰能力强、可靠性高。目前,单片机被广泛的应用于测控系统、工业自动化、智能仪表、集成智能传感器、机电一体化产品、家用电器领域、办公自动化领域、汽车电子与航空航天电子系统以及单片机的多机系统领域。显示主要用LED显示器。LED显示器是由发光二极管显示字段的显示器件,也可称为数码管。显示器常作为单片机系统中最简单的输出设备,用以显示单片机系统的运行结果与运行状态等。常用的显示器主要有LED数码显示器、LCD液晶显示器和CRT显示器。由于它具有显示清晰、亮度高、使用电压低、寿命长的特点,因此使用非常广泛。单片机系统中通常使用8段LED数码显示器3,其外形及引脚如图2-2所示。图2-2 LED数码显示器由图可见8段LED显示器由8个发光二极管组成。其中7个长条形的发光二极管排列成“日”字形,另一个圆点形的发光二极管在显示器的右下角作为显示小数点用,通过不同的组合可用来显示不同的数字,包括AF等英文字母和小数点“”等字样。 LED显示器有两种不同的形式:一种是8个发光二极管的阳极都连在一起的,称为共阳极LED显示器,如图2-3所示;另一种是8个发光二极管的阴极都连在一起的,称为共阴极LED显示器。如图2-4所示。 图 2-3共阴极图2-4 共阳极共阴和共阳结构的LED显示器各笔划段名和安排位置是相同的,当二极管导通时,相应的笔划段发亮,由发亮的笔划段组合从而显示各种字符。8个笔划段dpgfedcba对应于1B(8位)的D7、D6、D5、D4、D3、D2、D1、D0,于是用8位二进制码就可以表示欲显示字符的字形代码。2.2 软件方案设计随着单片机开发技术的不断发展,从普遍使用汇编语言到逐渐使用高级语言开发,单片机的开发软件也在不断发展,Keil软件是目前最流行开发MCS-51系列单片机的软件,Keil提供了包括C编译器、宏汇编、连接器、库管理和一个功能强大的仿真调试器等在内的完整开发方案。可以模拟51系列单片机及派生产品的片内部件,支持软件模拟和用户系统实时调试两种功能。在这个环境下,可以完成编辑、汇编、编译、仿真与调试等整个开发流程。Keil既可以对汇编语言源程序进行汇编,也可以对C51语言源程序编译。通过软件控制单片机的功能是单片机的主要特点和优点,程序的设计要考虑合理性和可行性,遵循模块化设计原则,采用自顶向下的设计方法。模块化设计使程序的可读性好、修改及完善方便。软件设计包括主程序、延时子程序、中断服务子程序、显示子程序以及行车过程速度和里程计算子程序等。2.3 仿真软件Proteus嵌入式系统仿真与开发平台是目前世界上最先进、最完整的的嵌入式系统设计与仿真平台。它是一种可视化的支持多种型号单片机,并且支持与当前流行的单片机开发环境连接调试的软硬件仿真系统。Proteus除了具有和其他EDA工具一样的原理图、PCB自动或人工布线及电路仿真功能外,针对微控制系统与外设的混合电路的电路仿真、软件仿真、系统协同仿真也做到了一体化和互动效果,是目前电子设计爱好者广泛使用的的电子线路设计与仿真软件Protel和Multisim功能的联合进一步扩展。是目前唯一能够对各种处理器进行实时仿真、调试与测试的EAD工具,真正实现了在没有目标原型时就可对系统进行设计、测试与验证4。Proteus软件由ISIS和ARES两个软件构成,其中ISIS是一款便捷的电子系统仿真平台软件,ARES是一款高级的布线编辑软件。Proteus支持许多通用的微控制器,如PIC系列、AVR系列、8051系列等;同时它还支持、PLD及各种外围芯片的仿真,如基于HD44780芯片的字符LCD、RAM等;具有单步运行、断点设置等调试功能;能与常用编译器如Keil、IAR、Proton等协同调试;有直流电流表/电压表、交流电压表/电流表、示波器逻辑分析仪、频率计等虚拟仪器,为仿真中的测量记录提供了方便;支持图形化分析功能,具有频率特性、傅里叶分析等图形方式,可将仿真曲线精美地绘制出来。Proteus针对微处理器的仿真方面,不仅可以进行硬件仿真,甚至可以进行软件仿真,即Proteus可直接在基于原理图的虚拟原型上编程,并实现软件代码级的调试,同时配合虚拟仪表如示波器、逻辑分析仪等进行测量和检验。单从仿真角度来看,Proteus除具有基本仿真功能之外还具有两个独特之处:一是对动态元件的实时仿真,即“人机交互”的仿真;二是虚拟仪表箱的功能,能对电路及各元器件参数进行实时测量,增加了系统真实性。目前,Proteus已成为流行的单片机系统设计与仿真平台,应用于各种领域。3 自行车里程速度计的硬件设计3.1 概述自行车里程速度计的硬件电路设计部分是基础部分,它包括信号的采集、数码管的显示、报警提示电路和单片机外围基本电路的设计,主要器件是单片机,传感器和LED数码管。单片机是本次设计的核心部件,它是信号从采集到输出的桥梁,而且包括计算、定时、信息处理等功能。3.2 单片机的选型3.2.1 AT89C52 单片机总体结构目前51系列有许多功能很强的新型单片机,也出现了许多新的特殊功能部件,但都是Intel最早的典型产品8051为基础的,基本的系统结构相同。而这次设计用到的AT89C52是51系列的一个型号,它是ATMEL公司生产的,它与8051相比,它用8K FLASH ROM代替8051的4K ROM,RAM扩大到256字节,增加了一个16位定时器T2。其总体结构如图3-1所示。图3-1单片机总体结构AT89C52是一个低电压,高性能CMOS 8位单片机,片内含8k bytes的可反复擦写的Flash只读程序存储器和256 bytes的随机存取数据存储器(RAM),器件采用ATMEL公司的高密度、非易失性存储技术生产,兼容标准MCS-51指令系统,片内置通用8位中央处理器和Flash存储单元,功能强大的AT89C52单片机可为您提供许多较复杂系统控制应用场合。AT89C52有40个引脚(图3-2),32个外部双向输入/输出(I/O)端口,同时内含2个外中断口,3个16位可编程定时计数器,2个全双工串行通信口,2个读写口线。AT89C52可以按照常规方法进行编程,但不可以在线编程(S系列的才支持在线编程)。其将通用的微处理器和Flash存储器结合在一起,特别是可反复擦写的Flash存储器可有效地降低开发成本5。AT89C52的主要引脚功能:1)RST:复位引脚,输入高电平使89C52复位,返回低电平退出复位;2)XTAL1、XTAL2为内部振荡器电路(反向放大器)的输入端和输出端,外接晶体引线端。当使用芯片内部时钟时,此二引线端用于外接石英晶体和微调电容;当使用外部时钟时,用于接外部时钟脉冲信号。3)P0.0P0.7:P0口是一组8位漏极开路型双向I/O口,也是地址/数据总线复用口:P1.0P1.7:P1口是一个带内部上拉电阻的8位双向I/O口。P2.0P2.7:P2口是一个带内部上拉电阻的8位双向I/O口。P3.0P3.7:P3口是一个带内部上拉电阻的8位双向I/O口。 P3口的8条引线都定义有第二功能,如表3-1所示:图3-2 AT89C52引脚图表3-1 P3口的第二功能定义引脚第二功能信号名称P3.0RXD串行输入线P3.1TXD串行输出线P3.2INT0外部中断0输入线P3.3INT1外部中断1输入线P3.4T0定时器T0外部计数脉冲输入线P3.5T1定时器T1外部计数脉冲输入线P3.6WR外部数据存储器写脉冲输入线P3.7RD外部数据存储器读脉冲输入线AT89C52有PDIP、PQFP/TQFP及PLCC等三种封装形式,以适应不同产品的需求。如图3-3所示图3-3 AT89C52的PDIP、PQFP/TQFP及PLCC三种封装形式3.2.2 AT89C52中断系统介绍中断是指当计算机正在执行程序时,系统中出现某些急需处理的事件,CPU暂时中止当前的程序,转去执行服务程序,以对发生的更紧迫的事件急需处理,待处理结束后,CPU自动返回原来的程序执行。AT89C52系列单片机有5个中断源,2个优先级,可以实现二级中断服务嵌套。由片内特殊功能寄存器中的中断允许寄存器IE控制CPU是否响应中断请求;由中断优先级寄存器IP安排各中断源的优先级;同一优先级内各端同时提出中断申请时,由内部的查询逻辑确定其响应次序。外部中断请求有两种信号方式:电平触发方式和脉冲触发方式。电平触发方式的中断请求是低电平有效。只要在INT0和INT1引脚上出现有效低电平时,就激活外部中断中断方式。脉冲触发方式的中断请求则是脉冲的负跳变有效。在这种方式下,在两个相邻机器周期内,INT0和INT1引脚电平发生变化,即在第一个机器周期内为高电平,第二个机器周期内为低电平,就激活外部中断。由此可见,在脉冲方式下,中断请求信号的高电平和低电平状态都应至少维持一个机器周期,以使CPU采样到电平状态的变化,本次设计采用的触发方式为脉冲触发方式。1,中断允许控制CPU对中断系统所有中断以及某个中断源的开放和屏蔽是由中断允许寄存器IE控制的,IE的状态可通过程序由软件设定,某位设定为1,相应的中断源中断允许;某位设定为0,相应的中断源中断屏蔽。CPU复位时,IE各位为0,禁止所有中断。IE寄存器的各位定义如下:EX0 (IE.0) 外部INT0中断允许位;ET0(IE.1)定时/计数器T0中断允许位;EX1 (IE.2) 外部INT1中断允许位;ET1(IE.3)定时/计数器T1中断允许位;ES (IE.4) 串行口中断允许位;EA (IE.7) CPU中断允许位。2,中断优先级控制AT89C52单片机有两个中断优先级,可以实现二级中断服务嵌套。每个中断源的中断优先级是由中断优先级寄存器IP中的相应的状态来规定的。IP的状态由软件设定,某位设定为1,则相应的中断源为高优先级中断;某位设定为0,相应的中断源为低优先级中断中断。CPU复位时,IP各位清0,各中断源同为低优先级中断。IP寄存器各位的定义如下:PX0 (IP.0) 外部中断INT0优先级设定位;PT0 (IP.1) 定时/计数器T0中断优先级设定位;PX1 (IP.2) 外部中断INT1优先级设定位;PT1 (IP.3) 定时/计数器T1中断优先级设定位;PS (IP.4) 串行口中断优先级设定位。 3.2.3 AT89C52与其他单片机的比较MCS-51单片机是美国INTE公司于1980年推出的产品,典型产品有 8031(内部没有程序存储器,实际使用方面已经被市场淘汰,早已停产)、8051(芯片采用HMOS,功耗是630mw是89C51的5倍,实际使用方面已经被市场淘汰)和8751(早已停产)等通用产品,一直到现在, MCS-51内核系列兼容的单片机仍是应用的主流产品(比如目前流行的89S51、已经停产的89C51等)。其他的公司的51单片机产品都是和MCS-51内核兼容的产品而已。同样的一段程序,在各个单片机厂家的硬件上运行的结果都是一样的,如ATMEL的89C51(已经停产)、89S51, PHILIPS(菲利浦),和WINBOND(华邦)等。 ATMEL公司的AT89C52单片机,在原基础上增强了许多特性,如时钟,更优秀的是由Flash(程序存储器的内容至少可以改写1000次)存储器取带了原来的ROM(一次性写入)。在市场上,89C51受到了PIC单片机阵营的挑战,89C51最致命的缺陷在于不支持ISP(在线更新程序)功能,必须加上ISP功能等新功能才能更好延续MCS-51的传奇。AT89C52就是在这样的背景下取代89C51的,现在,AT89C52目前已经成为了实际应用市场上新的宠儿,作为市场占有率第一的Atmel目前公司已经停产AT89C51,将用AT89C52代替。AT89C52在工艺上进行了改进,采用0.35新工艺,成本降低,而且将功能提升,增加了竞争力。89SXX可以像下兼容89CXX等51系列芯片。同时,Atmel不再接受89CXX的定单,大家在市场上见到的89C51实际都是Atmel前期生产的巨量库存而以。AT89C52相对于其他51系列单片机增加的新功能包括: 1)新增加很多功能,性能有了较大提升,价格基本不变,甚至比89C51更低!2)ISP在线编程功能,这个功能的优势在于改写单片机存储器内的程序不需要把芯片从工作环境中剥离。是一个强大易用的功能。3) 具有更高工作频率,从而具有了更快的计算速度。4) 具有双工UART串行通道。5) 内部集成看门狗计时器,不再需要像89C51那样外接看门狗计时器单元电路。6) 双数据指示器。7) 电源关闭标识。8)全新的加密算法,这使得对于AT89C52的解密变为不可能,程序的保密性大大加强,这样就可以有效的保护知识产权不被侵犯。9)兼容性方面:向下完全兼容51全部字系列产品。比如8051、89C51等等早期MCS-51兼容产品。也就是说所有教科书、网络教程上的程序,不论教科书上采用的单片机是8051还是89C51还是MCS-51等等,在AT89C52上一样可以照常运行,这就是所谓的向下兼容。3.3 霍尔传感器的选型脉冲计数法是智能测速系统中常用的方法。只要转轴每旋转一周,产生一个或固定的多个脉冲,并将脉冲送入微处理器中进行计数,即可获得转速的信息。可以有多种方式来获得脉冲信号。如将光电传感器安装在转轴上当扇叶经过时,可产生脉冲信号,但是光电传感器对灰尘、油污等比较敏感,因此不适宜安装在车轮上,而光电编码器和霍尔传感器都不怕灰尘和油污,且都广泛应用于工业现场。但是光电编码器价格较昂贵,霍尔传感器 价格便宜且具有体积小、灵敏度高、响应速度快、温度性能好、精确度高、可靠性高等特点,能很好地满足车轮测速系统设计的需要。在自行车行驶及机车控制系统中对测速装置的要求是分辨能力强、高精度、尽可能短的检测时间以及抗干扰能力强等。本文介绍了一种应用霍尔传感器 A44E获得稳定的脉冲信号,从而实现对转速进行智能测量的方案。3.3.1 霍尔传感器 A44EA44E芯片属于开关型的霍尔器件,其工作电压范围比较宽(4518 V),其输出的信号符合 1vrL电平标准,可以直接接到单片机的IO端口上,而且其最高检测频率可达到 1MHz。A44E霍尔开关集成电路应用霍尔效应原理,采用半导体集成技术制造的磁敏电路,它是由电压调整器、霍尔电压发生器、差分放大器、史密特触发器,温度补偿电路和集电极开路的输出级组成的磁敏传感电路, 其输人为磁感应强度,输出是一个数字电压信号6。3.3.2 A44E的测试特性霍尔开关电路的输出特性见图3-4所示。在输入端输入电压 Vcc ,经稳压器稳压后加在霍尔电势发生器的两端,根据霍尔效应原理,当霍尔片处在磁场中时,在垂直于磁场的方向通以电流,则与这二者相垂直的方向上将会产生霍尔电势差 VH输出,该 VH信号经放大器放大后送至施密特触发器整形,使其成为方波输送到 OC门输出。当施加的磁场达到工作点(即Bop )时,触发器输出高电压(相对于低电位),使三极管导通,此时OC门输出端输出低电压,通常称这种状态为开。当施加的磁场达到释放点(即BRP即)时,触发器输出低电压,三极管截止, OC门输出高电压,这种状态为关 。图3-4 霍尔传感器A44E的输出特性在外磁场的作用下,当磁感应强度超过导通阈值 Bop时,霍尔电路输出管导通,输出低电平。之后,B再增加,仍保持导通态。若外加磁场的B值降低到BRP时,输出管截止,输出高电平。我们称 Bop为工作点,BRP为释放点Bop 一BRP=BH称为回差。回差的存在使开关电路的抗干扰能力增强。这样两次电压变换,使霍耳开关完成了一次开关动作。一般规定,当外加磁场的南极(S极)接近霍尔电路外壳上打有标志的一面时,作用到霍尔电路上的磁场方向为正,北极接近标志面时为负。3.3.3 A44E芯片的引脚及功能霍尔传感器A44E芯片的引脚接线图见图3-5所示。典型应用于无触点开关、汽车点火器、刹车电路、位置转速检测与控制、安全报警装置和纺织控制系统。霍尔传感器是个3端器件,外形与三极管相似,只要接上电源、地,即可工作,输出通常是集电极开路(OC)门输出,工作电压范围宽,使用非常方便。图3-5 A44E芯片引脚接线图引脚1是电源Vcc,引脚2是地GND,引脚3是输出OUT。霍尔器件的工作电压不得超过规定的Vcc,大部分霍尔开关均为OC输出。因此,输出应接负载电阻,其数值取决于负载电流的大小,不得超负载使用。3.3.4 A44E的磁输入检测把一块小永久磁铁固定在车轮的辐条上,A44E在车轮辐条附近,如图3-6所示。经过实验得知,当磁铁和霍尔开关 A44E移近到一定距离(设此距离为r)时,A44E芯片的OUT引脚有脉冲信号输出,当二者的距离大于r时,OUT引脚没有脉冲信号输出。反复实验得出霍尔开关A44E导通的距离r为 4mm或5mm。单片机小磁铁车轮霍尔传感器图3-6 A44E导通距离测量3.4 LED显示器根据本设计需要,需要选择一个四位的显示器,第一位显示小数部分,第二位显示的是个位,第三位显示十位,第四位显示百位。因此,本设计选择7SEG-MPX4-CA 4位二极数码管显示器,是共阳极,如图3-7所示。共阳极数码管的公共阳极接5V,当各段阴极上的电平为“0”时,该段点亮,电平为“1”时,该段熄灭。图3-7 7SEG-MPX4-CA显示器3.4.1 LED的显示方法在单片机应用系统中使用LED显示块构成N位LED显示器。N位LED显示器有N根位选线和8*N根段选线。根据显示方式不同,位选线与段选线的连接方法不同。段选线控制字符选择,位选线控制显示位的亮。LED显示器有两种显示方式:动态显示驱动和静态显示驱动。1)静态显示驱动:静态驱动也称直流驱动。静态驱动是指每个数码管的每一个段码都由一个单片机的I/O埠进行驱动。静态驱动的优点是编程简单,显示亮度高,缺点是占用I/O埠多,如驱动5个数码管静态显示则需要5×840根I/O埠来驱动,要知道一个89S51单片机可用的I/O埠才32个呢。故实际应用时必须增加驱动器进行驱动,增加了硬体电路的复杂性。2)动态显示驱动:数码管动态显示介面是单片机中应用最为广泛的一种显示方式之一,动态驱动是将所有数码管的8个显示笔划"a,b,c,d,e,f,g,dp "的同名端连在一起,另外为每个数码管的公共极COM增加位元选通控制电路,位元选通由各自独立的I/O线控制,当单片机输出字形码时,所有数码管都接收到相同的字形码,但究竟是那个数码管会显示出字形,取决于单片机对位元选通COM端电路的控制,所以我们只要将需要显示的数码管的选通控制打开,该位元就显示出字形,没有选通的数码管就不会亮。透过分时轮流控制各个LED数码管的COM端,就使各个数码管轮流受控显示,这就是动态驱动。在轮流显示过程中,每位元数码管的点亮时间为12ms,由于人的视觉暂留现象及发光二极体的余辉效应,尽管实际上各位数码管并非同时点亮,但只要扫描的速度足够快,给人的印象就是一组稳定的显示资料,不会有闪烁感,动态显示的效果和静态显示是一样的,能够节省大量的I/O埠,而且功耗更低。要显示某字符,首先要把这个字符转换成相应的字形码,然后再通过串行口发送到芯片。芯片把串行口收到的数变为并行输出加到数码管上。 共阴极共阳极字形码表如表3-2所示。 表3-2 共阴极共阳极字形码表字 型共阳极代码共阴极代码字 型 共阳极代码共阴极代码0C0H3FH990H6FH1F9H06HA88H77H2A4H5BHb83H7CH3B0H4FHCC6H39H499H66HdA1H5EH592H6DHE86H79H682H7DHF8EH71H7F8H07H灭FFH00H880H7FH窗体底端在多位LED显示时,为了简化电路,降低成本,将所有位的段选线并联在一起,由一个8位I/O口控制。3.5 单片机外围电路的设计3.5.1 时钟电路与复位电路时钟电路是单片机的心脏,它控制着计算机的工作节奏,可以通过提高时钟频率来提高CUP的速度。目前51系列单片机都采用CMOS工艺,允许的最高频率是随型号而变化的(器件上表明)。最高频率达60MHz。89C52单片机的内部有一个可控的反向放大器,引脚XTAL1、XTAL2为反向放大器的输入端和输出端,在XTAL1、XTAL2上外接晶振(或陶瓷谐振器)和电容便组成振荡器。如图3-8 AT89C52的时钟电路框图与复位电路图3-8 AT89C52的时钟电路框图与复位电路图中,电容C1、C2的典型值是30pF±10pF(晶振)或40pF±10pF(陶瓷谐振器)。振荡器频率主要取决于晶振(或陶瓷谐振器)的频率,但必须小于器件所允许的最高频率。振荡器的工作受PD(PCON.1)控制,复位后以后PD=0,振荡器工作,可由软件置“1”PD,使振荡器停止振荡,从而使整个单片机停止工作,以达到节电目的。计算机在启动运行时都需要复位,使CPU和其他部件都置一个确定的初始状态,并从这个状态开××始工作。AT89C52复位以后,内部寄存器初态如表3-3所示。表3-3 AT89C52复位以后内部寄存器初态寄存器内容寄存器内容PC0000HTMOD00HACC00HTCON00HB00HTH000HPSW00HTL000HSP07HTH100HDPTR0000HTL100HP0P30FFHSCON00HIP(××B)SBUF不定IE(0×B)PCON(0×××0000B)TL200HRCAP2L00HTH200HRCAP2H00HT2CON00HT2MOD(××××××00B)AT89C52单片机的复位引脚RST是史密特触发输入脚,内部有一个拉低电阻(值为80K300K)。当振荡器起振以后,在RST引脚上输入2个机器周期以上的高电平,器件便进入复位状态,此时ALE、PSEN、P0、P1、P2、P3输出高电平,RST上输入返回低电平以后,便退出复位状态开始工作。利用RST的这个特性便可以设计复位电路。在加电的瞬间,电容通过内部电阻充电,在RST端出现充电正脉冲,只要正脉冲宽度足够宽,就能使AT89C52有效复位。RST在加电时应保持高电平时间包括Vcc上升时间和振荡器起振时间,振荡器起振时间和频率有关,若Vcc的上升时间为10ms,振荡器的频率取12MHz,则复位电容C的典型值为1uF。3.5.3 报警电路的设计本次设计的报警采用蜂鸣报警,报警的控制由单片机的P2.5端口控制,系统初始化数,由软件清0P2.5口。当实时速度超过预定值时蜂鸣器响,指示灯闪烁,提示应该减速,当速度减到小于预定值时,报警停止。本设计中自行车的周长值是由单片机的P1.2到P1.5输入的,每个端口代表一个固定的周长值。系统运行时,如果P1.2到P1.5没有输入,则报警,指示灯闪烁提示;当有一个输入时,则关闭闪烁提示。报警电路如图3-9所示。图3-9 报警电路如3.6 总体电路原理图自行车里程/速度计采用AT89C52单片机作控制,速度及里程传感器采用霍尔元件,其电器原理如图3-11所示。PO口和P2口用于七段LED显示器的段码及扫描输出,在现实里程时,第一位小数点用12脚P2.4口控制点亮。P1.1口和P1.0口分别用于显示里程状态和速度状态。P1.2、P1.3、P1.4和P1.5分别用于设置轮圈的大小。在程序中设计为当P1.5为0时,则表示自行车轮圈周长为150CM,以此类推,P1.4为192CM,P1.3为200CM,P1.2为210CM。P1.6口的开关用于确定显示的方式,当开关闭合时,显示速度;打开时显示里程。第12脚外中断0用于对轮子圈数的计数输入,轮子每转一圈,霍尔传感器输出一个低电平脉冲,由于在Proteus中没有相应的A44E霍尔传感器,因此在本原理图中用一个按钮代替A44E霍尔传感器;13脚输出用于速度超速时和没有周长输入时的报警。其原理图如3-11所示。其周长值对应表见附表1。3-10 原理图4 自行车里程/速度