自行车里程与速度计的设计

更新时间:2024-05-08 16:27:01 阅读量: 综合文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

华北电力大学科技学院本科毕业设计(论文)

自行车里程与速度计的设计

摘要

本论文主要阐述一种基于单片机的自行车里程/速度计的设计。主要分为三个部分:硬件设计,软件设计和模拟仿真。硬件设计以AT89C52单片机为核心,主要包括复位电路、显示电路、时钟电路、报警电路的设计。本设计采用霍尔传感器测量自行车转速脉冲, 经处理后由LED数码管显示,最多可显示4位数;报警电路是当没有输入周长或超速时发出光、语音报警提示。软件设计主要是通过单片机编程软件Keil C设计计算自行车行驶里程和实时速度的程序,以及速度和里程的显示程序;模拟仿真是利用仿真软件Proteus对所设计的硬件电路和程序进行测试。

本论文对设计当中所需元件作了详细介绍,对设计中存在的问题进行了说明,而后对硬件和软件部分的设计和实现作了认真的分析,并在此基础上进行了控制仿真。本设计由于使用了串口液晶显示以及高效快速算法,因而可在节约系统资源和简化程序设计的基础上保证测量精度和系统实时性,而且具有结构简单,成本低廉,显示清晰,稳定可靠等优点。

关键词:AT89C52单片机;LED;霍尔传感器

I

华北电力大学科技学院本科毕业设计(论文)

THE DESIGN OF ODOMETER AND

VELOCITY GAUGE

Abstract

This 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

II

华北电力大学科技学院本科毕业设计(论文)

目 录

摘要 ........................................................................ I Abstract ................................................................... II 1 绪论 ...................................................................... 1 1.1 课题背景、发展及意义 .................................................... 1 1.2 系统设计概述 ............................................................ 1 1.3 任务分析与实现 .......................................................... 1 2 自行车里程速度计的设计方法与原理 .......................................... 3 2.1 硬件方案设计 ............................................................ 3 2.2 软件方案设计 ............................................................ 5 2.3 仿真软件 ................................................................ 6 3 自行车里程速度计的硬件设计 ................................................ 7 3.1 概述 .................................................................... 7 3.2 单片机的选型 ............................................................ 7 3.2.1 AT89C52 单片机总体结构 ............................................... 7 3.2.2 AT89C52中断系统介绍 ................................................. 9 3.2.3 AT89C52与其他单片机的比较 ......................................... 10 3.3 霍尔传感器的选型 ....................................................... 11 3.3.1 霍尔传感器 A44E ...................................................... 12 3.3.2 A44E的测试特性 ...................................................... 12 3.3.3 A44E芯片的引脚及功能 ................................................ 13 3.3.4 A44E的磁输入检测 .................................................... 13 3.4 LED显示器 ............................................................. 13 3.4.1 LED的显示方法 ....................................................... 14 3.5 单片机外围电路的设计 ................................................... 15 3.5.1 时钟电路与复位电路 ................................................... 15 3.5.3 报警电路的设计 ....................................................... 16 3.6 总体电路原理图 ......................................................... 17 4 自行车里程/速度计的软件设计与仿真 ........................................ 19 4.1 自行车里程/速度计的主程序设计 .......................................... 19 4.2 中断子程序的设计 ....................................................... 20 4.3 显示子程序的设计 ....................................................... 21 4.4 利用Proteus软件进行系统仿真 ........................................... 22 总 结 ...................................................................... 25

III

华北电力大学科技学院本科毕业设计(论文)

参考文献 ................................................................... 26 附录1 自行车周长值 ........................................................ 27 致谢 ....................................................................... 29

IV

华北电力大学科技学院本科毕业设计(论文)

1 绪论

1.1 课题背景、发展及意义

我国的自行车大国,随着居民生活水平的不断提高,自行车不再仅仅是普通的运输、代步的工具,其辅助功能也变得越来越重要。因此,人们希望自行车的娱乐、休闲、锻炼的功能越来越多,能带给大家更多的健康和快乐。在这个背景下,自行车里程表与速度表作为自行车的一大辅助工具迅速发展起来。科学、美观、合理设计自行车里程表与速度表有一定的实用价值,它能合理计算出速度及里程数,让人们清楚的知道当前的速度、里程等,使运动者运动适量,达到健康运动与代步的最佳效果。

由于单片机具有体积小、功能强、性价比高等特点,把单片机应用于里程/速度表的控制中,可完成对里程/速度的计算和控制的要求。采用单片机控制不仅具有控制方便、简单和灵活性大等优点,既可以大幅度提高被控量的技术指标,大大的提高产品的准确度,又可以降低成本,简化设计。

1.2 系统设计概述

本次里程/速度计的设计以AT89C52单片机为主要控件,利用霍尔元件传感器检测自行车轮圈的转数,通过计算和转换,由LED数码管以KM、M/S显示里程、速度。里程只显示当次行驶的路程。速度大于40KM/h时报警提示。本里程/速度计的设计具有结构简单,价格低廉,实时显示,稳定可靠等特点。并且还可以扩充,加入EPROM存储器芯片,则可以实现全部行驶里程的显示。

2

1.3 任务分析与实现

本设计的任务是:以通用的MCS-51单片机为处理核心,用传感器将车轮的转数转换为电脉冲,送入单片机。里程及速度的测量,是通过MCS-51的定时器测出总脉冲数和每转一圈所用的时间,再经过单片机的计算得出,其结果通过LED数码管显示出来。

本设计的总体思路是:假定轮圈的周长为L,在轮圈上安装m个永久磁铁,则测得的里程值最大误差为L/m。经综合分析,本设计中取m=1。当轮子每转一圈,通过开关型霍尔元件传感器采集到一个脉冲信号,并从引脚P3.2中断0端输入,传感器每获取一个脉冲信号即对系统提供一次计数中断。每次中断代表车轮转动一圈,中断数n与轮圈的周长的乘积为里程值。计数器T0计算每转一圈所用的时间t,就可以计算出实时速度v。当里程键按下时,里程指示灯亮,LED切换显示当前里程,与当速度键按下时,速度指示灯亮,LED切换显示当前速度,若自行车超速,系统发出报警信号,指示灯闪烁。

要求达到的各项指标及实现方法如下: 1. 利用霍尔传感器产生里程数的脉冲信号。 2. 对脉冲信号进行计数。

实现:利用单片机对霍尔传感器脉冲信号进行计数。

1

华北电力大学科技学院本科毕业设计(论文)

3. 对数据进行处理,要求用LED显示里程总数和即时速度。 实现:利用软件编程,对数据进行处理得到需要的数值。

最终实现目标:自行车里程/速度计具有里程、速度显示功能,采用单片机作控制,可根据车圈的不同,设置常用的四种尺寸,显示电路可显示里程及速度。整个设计过程包括硬件电路的设计,软件的编程,系统的调试,调试通过后,利用Proteus软件进行系统仿真。

2

华北电力大学科技学院本科毕业设计(论文)

2 自行车里程速度计的设计方法与原理

2.1 硬件方案设计

测速,首先要解决的是采样和时间的问题。使用单片机进行测速,可以使用简单的脉冲计数,只要轮轴每旋转一圈,产生一个或固定的多个脉冲,将脉冲送入单片机进行计算,即可获得转速信息。常用的测速元件有霍尔传感器、光电传感器和光电编码器[1]。

光电传感器对光特别敏感,当白天行驶时,外界光源将导致光敏电阻发出错误信号,而且光敏电阻对环境的要求相当高,如果光敏电阻或发光二极管被泥沙或灰尘所覆盖,光敏电阻就不能再进行准确测量;而编码器必须安装在车轴上,安装比较复杂;霍尔传感器或干簧管不但不受天气的影响,即使被泥沙或灰尘所覆盖也不会有影响,而且安装方便。所以本设计采用霍尔元件对里程与速度进行测量,既简单易行,又经济适用。

使用霍尔传感器获得脉冲信号,其机械结构也可以做得较为简单,只要在转轴的齿轮盘上粘上一粒磁钢,霍尔元件固定在前叉上,当车轮转动时霍尔元件靠近磁钢,就有信号输出。如果在齿轮盘上粘上多粒磁钢,就可以实现车轮转动一周,获得多个脉冲输出。在年磁钢时要注意,霍尔传感器对磁感方向敏感,粘之前可以先手动接近一下传感器,如果没有信号输出,可以换一个方向试试。这种传感器不怕灰尘、油污,在工业现场应用广泛。

时间可以由单片机的定时功能确定。单片机是一种集成电路芯片,是采用超大规模集成电路技术把具有数据处理能力的中央处理器CPU、随机存储器RAM、只读存储器ROM、多种I/O口和中断系统、定时器/计时器等功能集成到一块硅片上构成的一个小而完善的计算机系统,图2-1所示。

[2]

图2-1 单片机内部结构示意图

1)中央处理器(CPU)

中央处理器是单片机的最核心部件,主要完成运算和控制功能。 2)内部存储器

内部存储器包括内部数据存储器(内部RAM)和内部程序存储器(ROM),存储器是由

3

华北电力大学科技学院本科毕业设计(论文)

大量的寄存器所组成,其中每一个寄存器就称为一个存储单元。

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所示。

4

华北电力大学科技学院本科毕业设计(论文)

图2-2 LED数码显示器

由图可见8段LED显示器由8个发光二极管组成。其中7个长条形的发光二极管排列成“日”字形,另一个圆点形的发光二极管在显示器的右下角作为显示小数点用,通过不同的组合可用来显示不同的数字,包括A~F等英文字母和小数点“.”等字样。

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 软件方案设计

随着单片机开发技术的不断发展,从普遍使用汇编语言到逐渐使用高级语言开发,单

5

华北电力大学科技学院本科毕业设计(论文)

片机的开发软件也在不断发展,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系列等;同时它还支持ARD、PLD及各种外围芯片的仿真,如基于HD44780芯片的字符LCD、RAM等;具有单步运行、断点设置等调试功能;能与常用编译器如Keil、IAR、Proton等协同调试;有直流电流表/电压表、交流电压表/电流表、示波器逻辑分析仪、频率计等虚拟仪器,为仿真中的测量记录提供了方便;支持图形化分析功能,具有频率特性、傅里叶分析等图形方式,可将仿真曲线精美地绘制出来。

Proteus针对微处理器的仿真方面,不仅可以进行硬件仿真,甚至可以进行软件仿真,即Proteus可直接在基于原理图的虚拟原型上编程,并实现软件代码级的调试,同时配合虚拟仪表如示波器、逻辑分析仪等进行测量和检验。单从仿真角度来看,Proteus除具有基本仿真功能之外还具有两个独特之处:一是对动态元件的实时仿真,即“人机交互”的仿真;二是虚拟仪表箱的功能,能对电路及各元器件参数进行实时测量,增加了系统真实性。目前,Proteus已成为流行的单片机系统设计与仿真平台,应用于各种领域。

6

华北电力大学科技学院本科毕业设计(论文)

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系列的才支持在线

7

华北电力大学科技学院本科毕业设计(论文)

编程)。其将通用的微处理器和Flash存储器结合在一起,特别是可反复擦写的Flash存储器可有效地降低开发成本[5]。

AT89C52的主要引脚功能:

1)RST:复位引脚,输入高电平使89C52复位,返回低电平退出复位; 2)XTAL1、XTAL2为内部振荡器电路(反向放大器)的输入端和输出端,外接晶体引线端。当使用芯片内部时钟时,此二引线端用于外接石英晶体和微调电容;当使用外部时钟时,用于接外部时钟脉冲信号。

3)P0.0~P0.7:P0口是一组8位漏极开路型双向I/O口,也是地址/数据总线复用口:

P1.0~P1.7:P1口是一个带内部上拉电阻的8位双向I/O口。 P2.0~P2.7:P2口是一个带内部上拉电阻的8位双向I/O口。 P3.0~P3.7:P3口是一个带内部上拉电阻的8位双向I/O口。 P3口的8条引线都定义有第二功能,如表3-1所示:

图3-2 AT89C52引脚图

表3-1 P3口的第二功能定义

引脚 P3.0 P3.1 P3.2 P3.3 P3.4 P3.5 P3.6 P3.7

第二功能 RXD TXD INT0 INT1 T0 T1 WR RD 8

信号名称 串行输入线 串行输出线 外部中断0输入线 外部中断1输入线 定时器T0外部计数脉冲输入线 定时器T1外部计数脉冲输入线 外部数据存储器写脉冲输入线 外部数据存储器读脉冲输入线 华北电力大学科技学院本科毕业设计(论文)

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安排各中断源的优先级;外部中断请求有两种信号方式:电平触发方式和脉冲触发方式。电平触发方式

9

同一优先级内各端同时提出中断申请时,由内部的查询逻辑确定其响应次序。

华北电力大学科技学院本科毕业设计(论文)

的中断请求是低电平有效。只要在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等)。

10

华北电力大学科技学院本科毕业设计(论文)

其他的公司的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 霍尔传感器的选型

脉冲计数法是智能测速系统中常用的方法。只要转轴每旋转一周,产生一个或固定的多个脉冲,并将脉冲送入微处理器中进行计数,即可获得转速的信息。可以有多种方式来获得脉冲信号。如将光电传感器安装在转轴上当扇叶经过时,可产生脉冲信号,但是光电传感器对灰尘、油污等比较敏感,因此不适宜安装在车轮上,而光电编码器和霍尔传感器都不怕灰尘和油污,且都广泛应用于工业现场。但是光电编码器价格较昂贵,霍尔传感器 价格便宜且具有体积小、灵敏度高、响应速度快、温度性能好、精确度高、可靠性高等特点,能很好地满足车轮测速系统设计的需要。

11

华北电力大学科技学院本科毕业设计(论文)

在自行车行驶及机车控制系统中对测速装置的要求是分辨能力强、高精度、尽可能短的检测时间以及抗干扰能力强等。本文介绍了一种应用霍尔传感器 A44E获得稳定的脉冲信号,从而实现对转速进行智能测量的方案。

3.3.1 霍尔传感器 A44E

A44E芯片属于开关型的霍尔器件,其工作电压范围比较宽(4.5~18 V),其输出的信号符合 1vrL电平标准,可以直接接到单片机的I/O端口上,而且其最高检测频率可达到 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极)接近霍尔电路外壳上打有标志的一面时,作用到霍尔电路上的磁场方向为正,北极接近标志面时为负。

12

华北电力大学科技学院本科毕业设计(论文)

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位二极

13

华北电力大学科技学院本科毕业设计(论文)

数码管显示器,是共阳极,如图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×8=40根I/O埠来驱动,要知道一个89S51单片机可用的I/O埠才32个呢。故实际应用时必须增加驱动器进行驱动,增加了硬体电路的复杂性。

2)动态显示驱动:

数码管动态显示介面是单片机中应用最为广泛的一种显示方式之一,动态驱动是将所有数码管的8个显示笔划\的同名端连在一起,另外为每个数码管的公共极COM增加位元选通控制电路,位元选通由各自独立的I/O线控制,当单片机输出字形码时,所有数码管都接收到相同的字形码,但究竟是那个数码管会显示出字形,取决于单片机对位元选通COM端电路的控制,所以我们只要将需要显示的数码管的选通控制打开,该位元就显示出字形,没有选通的数码管就不会亮。

透过分时轮流控制各个LED数码管的COM端,就使各个数码管轮流受控显示,这就是动态驱动。在轮流显示过程中,每位元数码管的点亮时间为1~2ms,由于人的视觉暂留现象及发光二极体的余辉效应,尽管实际上各位数码管并非同时点亮,但只要扫描的速度足够快,给人的印象就是一组稳定的显示资料,不会有闪烁感,动态显示的效果和静态显示是一样的,能够节省大量的I/O埠,而且功耗更低。

要显示某字符,首先要把这个字符转换成相应的字形码,然后再通过串行口发送到芯片。芯片把串行口收到的数变为并行输出加到数码管上。 共阴极共阳极字形码表如表3-2所示。

14

华北电力大学科技学院本科毕业设计(论文)

表3-2 共阴极共阳极字形码表

字 型 共阳极代码 0 1 2 3 4 5 6 7 8 C0H F9H A4H B0H 99H 92H 82H F8H 80H 共阴极代码 3FH 06H 5BH 4FH 66H 6DH 7DH 07H 7FH 字 型 共阳极代码 共阴极代码 9 A b C d E F 灭 90H 88H 83H C6H A1H 86H 8EH FFH 6FH 77H 7CH 39H 5EH 79H 71H 00H 在多位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,使振荡器停止振荡,从而使整个单片机停止工作,以达到节电目的。

15

华北电力大学科技学院本科毕业设计(论文)

计算机在启动运行时都需要复位,使CPU和其他部件都置一个确定的初始状态,并从这个状态开××始工作。AT89C52复位以后,内部寄存器初态如表3-3所示。

表3-3 AT89C52复位以后内部寄存器初态

寄存器 PC ACC B PSW SP DPTR P0~P3 IP IE TL2 TH2 T2CON 内容 0000H 00H 00H 00H 07H 0000H 0FFH (××000000B) (0×000000B) 00H 00H 00H 寄存器 TMOD TCON TH0 TL0 TH1 TL1 SCON SBUF PCON RCAP2L RCAP2H T2MOD 内容 00H 00H 00H 00H 00H 00H 00H 不定 (0×××0000B) 00H 00H (××××××00B) AT89C52单片机的复位引脚RST是史密特触发输入脚,内部有一个拉低电阻(值为80K~300K)。当振荡器起振以后,在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所示。

16

华北电力大学科技学院本科毕业设计(论文)

图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。

17

华北电力大学科技学院本科毕业设计(论文)

3-10 原理图

18

华北电力大学科技学院本科毕业设计(论文)

4 自行车里程/速度计的软件设计与仿真

4.1 自行车里程/速度计的主程序设计

在主程序模块中,需要完成对芯片各接口的初始化、各存储单元的初始化、中断向量的设计以及开中断、循环等等待工作。另外,在主程序中还需要设置启动/清除标志寄存器、里程寄存器、速度寄存器,然后主程序根据各标志寄存器的内容,分别完成启动、清除、计程和计数等不同的操作。

P1.0和P1.1口分别用于显示里程状态和速度状态。P1.2、P1.3、P1.4、P1.5口分别用于设置轮圈的大小,低电平有效。P2.5是用于里程和速度的切换,低电平显示速度,高电平显示里程。中断0用于对轮子圈数的输入,轮子每转一圈,霍尔传感器输出一个低电平脉冲。将根据里程寄存器的内容计算和判断行驶里程。T0中断用于定50ms中断,当轮子转一圈时,记录中断的次数n,用轮子周长除以次数n与50ms的乘积,就能得出实时速度。其程序流程图如图4-1所示。

19

华北电力大学科技学院本科毕业设计(论文)

图4-1 主流程图

4.2 中断子程序的设计

定时中断是为了满足定时或计数的需要而设置的。在单片机内部有两个定时/计数器,以对其中的计数结构进行计数的方法,来实现定时或计数功能。当发生计数益出时,即表明定时时间或计数值已满,这时就以计数益出作为中断请求,去置位一个益出标志,作为

20

华北电力大学科技学院本科毕业设计(论文)

单片机接受中断请求的标志。这种中断请求是在单片机芯片内部发生的,因此无需在芯片上设置引入端。

特殊功能寄存器TCON的高4位为定时器的计数控制位和益出标志位,低4位为外部中断的触发方式控制位和外部中断请求标志。本设计采用定时中断,用于对自行车的速度进行计算。其定时中断流程图如图4-2所示。

中断返回 开中断 恢复现场 中断处理 现场保护 开始 关中断

图4-2 中断流程图

外部中断是由INT0控制,当输入高电平时,发生中断,记录一次,最后由记录次数计算出自行车行驶的里程以及计算实时速度。

4.3 显示子程序的设计

本次的显示采用动态显示,在轮流显示的构成中,由于每位显示的时间是极为短暂的,因为人的视觉暂留现象和发光二极管的余辉效应,尽管实际上并非同时显示,但只要显示的速度足够快,给人的印象是一组稳定的显示数据,不会有闪烁感。在设计中,P2.0到P2.3为位选通的位选信号,P0.0到P0.6为段选通信号,通过程序,先把所要显示的数据存入暂存单元,然后把数据送入与段选通相对应的地址,再选通某一个LED,逐步完成四个LED的显示。其流程图如图4-3所示。

21

华北电力大学科技学院本科毕业设计(论文)

图4-3显示子程序流程图

4.4 利用Proteus软件进行系统仿真

首先,用Proteus ISIS画好电路图(注意MCU的最小系统的外围电路在仿真时可以省略)。并用Keil C51编写相应程序,编译无误后生成.hex文件。其次,将生成的.hex文件“下载”到51芯片中,步骤如下:鼠标双右击AT89C52,出现相应元件的属性对话框。如图4-4所示,在该对话框的“Program File”一项中选择要加入的.hex文件。最后,点击确定键可看到电路仿真结果。仿真效果如图4-5所示。

22

华北电力大学科技学院本科毕业设计(论文)

图4-4 AT89C52元件属性框

图4-5 Proteus电路仿真效果图

此外,Proteus还可以和Keil进行联调。联调设置步骤如下:

23

华北电力大学科技学院本科毕业设计(论文)

(1)把安装目录Proteus\\MODELS下的VDM51.dll文件复制到Keil安装目录的\\C51\\BIN目录中。

(2)修改Keil安装目录下Tools.ini文件,在C51字段加入TDRV5=BIN\\VDM51.DLL (“PROTEUS 6 EMULATOR”)并保存。注意:不一定要用TDRV5,根据原来字段选用一个不重复的数值就可以了。引号内的名字随意。

(3)打开Proteus,画出相应电路,在Proteus的“Debug”菜单中选中“Use Remote Debug Monitor”。

(4)进入Keil的Project菜单Option for Target‘工程名’。在Debug选项中右栏上部的下拉菜单选中Proteus Driver。再进入Settings,机子IP设为127.0.0.1,端口号为8000。

(5)在Keil中进行debug,同时在Proteus中查看直观的结果。这样就可以像使用仿真器一样调试程序了。

由上述例子可以看出,Proteus可以很方便地与Keil C51集成开发环境连接,程序编译好之后,立即可以进行软、硬件结合的系统仿真。利用Proteus仿真只需很少设备,就可以完成小到走马灯、电子钟,大到电机控制系统等单片机系统设计,具有明显的经济优势。对于学生来说,由于使用方便,可以提高学习兴趣。当然,它有一些不足。比如仿真模型器件库中没有一些元器件模型,或有的模型由于缺少仿真文件,不能进行仿真等。使用Proteus进行单片机系统设计利大于弊,可以解决单片机实验室硬件投入不足和设备维护困难等问题,克服实验箱硬件电路固定、实验内容难于改动等局限,有利于促成课程和教学改革,更有利于人才的培养。实践证明,在使用Proteus进行系统仿真开发成功之后再进行实际制作,能极大提高单片机系统设计效率。因此,Proteus有较高的推广利用价值。

24

华北电力大学科技学院本科毕业设计(论文)

总 结

本文对自行车里程速度计做了细致、全面、规范的分析,对相应的软件、硬件进行了设计,制作以及调试,并贯穿至设计的全过程。对文中提到的算法都进行了处理,并得出结论。在本设计中,主要做了如下工作:

1) 对本设计中所用到的元件,分析其原理和性能,以及其应用和发展;

2)详细介绍本自行车里程速度计的硬件设计的方案,着重考虑电路的简单性,故尽可能简化硬件电路,节省线路板的空间,达到硬件电路最优化设计;

3)详细介绍软件设计方法,采用汇编语言编写,采用模块化设计思想,程序可读性强;

4)对本设计进行仿真调试,通过仿真验证了系统的可行性,能满足设计要求,达到设计的指标,即对自行车实时速度或里程的显示。

本设计中,里程与速度分别根据以下公式计算得出: 里程=脉冲总数×轮圈周长

速度=轮圈周长÷轮圈转一圈所用的时间

利用此公式,再加上内部单位换算,最终以单位为km和m/s的方式显示里程和速度。 在本装置的设计过程中,充分考虑了作为便携装置,其电源的提供、功率的损耗、体积的大小、价位的高低、使用的方便性等因素。它不受人群、时间、地点等的影响,对任何人都适用,而且还能准确、实时的测量。本产品成本低,技术含量高,其稳定性和可靠性能经得住实践的考验。本次选用的单片机,软件技术成熟,并具有种类齐全的支持芯片,这类微处理器既可以用作控制器,又可以做数据处理,而且成本也低廉,软件采用模块化设计,可读性强,方便二次开发。但也存在一些不足,例如,当显示速度时,若自行车行驶德太快,则显示器会显示得过快,造成模糊的感觉,因此可以将速度定时显示,使人们能够清楚的看出速度;而里程也只能显示当次的里程,不能累积,但可以增加一个E2PRAM,由于E2PRAM具有掉电保护的功能,则可以把里程存入其中,实现里程的累积下次显示时,是在其基础上相加后显示。此种装置能够满足人们对高性能、多功能自行车的要求,只要做适当的改变,可以在很多里程/速度测量的场合使用,具有广泛的应用前景。

25

华北电力大学科技学院本科毕业设计(论文)

参考文献

[1] 刘灿军. 实用传感器. 国防工业出版社,2004.

[2] 张友德,赵志英,涂时亮. 单片微型机原理、应用与实验. 复旦大学出版社,2009. [3] 徐爱钧. 单片机原理实用教程——基于Proteus虚拟仿真. 电子工业出版社,2008. [4] 张靖武. 单片机系统的Proteus设计与仿真. 电子工业出版社,2007. [5] 林立,张俊亮等.单片机原理及应用. 电子工业出版社,2009. [6] 何希才. 传感器及其应用. 国防工业出版社,2001.

[7] 汪宁. Proteus软件的单片机仿真方法. 山东轻工业学院学报,2007,21(1):24-27. [8] 林志琦,郎建军等. 基于Proteus的单片机可视化软硬件仿真. 北京:北京航空航天

大学出版社,2006.

[9] 李海鲲. Proteus在单片机课程设计中的应用. 电脑知识与技术,2006,12:208. [10] 朱清慧,张凤蕊,翟天嵩,王志奎.Proteus教程—电子线路设计、制版与仿真. 清

华大学出版社,2008.

[11] 张迎新.单片机(微机控制)原理及应用. 高等教育出版社,2009.

[12] 林志琦,郎建军等.基于Proteus的单片机可视化软硬件仿真. 北京航空航天大学

出版社,2006.

[13] 宁爱民,兰如波. 单片机应用技术. 北京理工大学出版社,2009

[14] 夏继强,沈德金.单片机实验与实践教程. 北京航天航空大学出版社,2006. [15] 王庆利,袁建敏. 单片机设计案例实践教程. 北京邮电大学出版社,2005. [16] 林志琦等.基于Proreus的单片机可视化软硬件仿真.北京航天航空大学出版

社,2006.

[17] 张志良.单片机原理与控制技术. 机械工业出版社,2005. [18] 张福学. 传感器使用电路150例. 中国技术出版社,1992.

[19] 张洪润,张亚凡. 传感器技术与应用教程. 清华大学出版社,2005. [20] 陈再清. 自行车速度表. 电子世界-1990年4期.

[21] 姜丽萍. 自行车里程速度表设计. 今日科苑-2009年9期.

26

华北电力大学科技学院本科毕业设计(论文)

附录1 自行车周长值

轮胎尺寸 20×1.75 24×1 24×3/4 Tubular 24×1-1/8 Tubular 24×1-1/4 24×1.75 24×2.00 24×2.125 26×1(559mm) 26×1(650c) 26×1.25 26×1-1/8 Tubular 26×1-3/8 26×1-1/2 26×1.40 26×1.50 26×1.75 26×1.95 26×2.00 26×2.1 26×2.125 26×2.35 27×1 27×1-1/8 27×1-1/4 27×1-3/8 650×35A 650×38A 650×38B 700×18C 700×19C 700×20C

27

周长(cm) 150 175 178 179 191 189 192 196 191 195 195 197 207 210 200 199 202 205 206 207 207 208 215 216 216 217 209 212 211 207 209 209 华北电力大学科技学院本科毕业设计(论文)

700×23C 700×25C 700×28C 700×30C 700×32C 700C Tubular 700×35C 700×38C 700×44C

210 211 214 217 216 213 217 218 222 28

华北电力大学科技学院本科毕业设计(论文)

致谢

本论文是在刘崇伦老师的悉心指导下完成的。刘老师多次为我指点迷津,帮助我开拓研究思路,精心点拨、热忱鼓励。在我遇到难以解决的问题的时候,除了帮我查阅相关资料外,还给予了详细的讲解与分析并鼓励我积极面对困难、善于创新。刘老师循循善诱的教导和不拘一格的思路给予我无尽的启迪和帮助。导师渊博的专业知识,严谨的治学态度,精益求精的工作作风,诲人不倦的高尚师德,严以律己、宽以待人的崇高风范,朴实无华、平易近人的人格魅力,一丝不苟的作风,严谨求实的态度,踏踏实实的精神,对我影响深远。不仅使我树立了远大的学术目标、掌握了基本的研究方法,还使我明白了许多待人接物与为人处世的道理。本论文从选题到完成,每一步都是在导师的指导下完成的,倾注了导师大量的心血。在此,谨向导师表示崇高的敬意和衷心的感谢! 本论文的顺利完成,离不开各位老师、同学和朋友的关心和帮助。在此表示感谢。感谢系上老师的不吝指导,导引我们制作以及设计的方向,收益良多,令我的毕业设计得以顺利完成。

毕业设计已经结束,但是它却给我留下了美好的回忆,在做毕业设计的过程中,加深了师生的感情和同学之间的友谊,觉得每一天都是那么充实和愉快!

29

本文来源:https://www.bwwdw.com/article/ggwg.html

Top