电动自行车速度里程表设计论

上传人:仙*** 文档编号:132898723 上传时间:2022-08-09 格式:DOC 页数:53 大小:773.52KB
收藏 版权申诉 举报 下载
电动自行车速度里程表设计论_第1页
第1页 / 共53页
电动自行车速度里程表设计论_第2页
第2页 / 共53页
电动自行车速度里程表设计论_第3页
第3页 / 共53页
资源描述:

《电动自行车速度里程表设计论》由会员分享,可在线阅读,更多相关《电动自行车速度里程表设计论(53页珍藏版)》请在装配图网上搜索。

1、摘 要随着居民生活水平的不断提高,自行车不再仅仅是普通的运输、代步的工具,而是成为人们娱乐、休闲、锻炼的首选。自行车的速度里程表能够满足人们最基本的需求,让人们能清楚地知道当前的速度、里程等物理量。本论文主要阐述一种基于霍尔元件的自行车的速度里程表的设计。以 AT89C52 单片机为核心,A44E 霍尔传感器测转数,实现对自行车里程/速度的测量统计,采用 24C02 实现在系统掉电的时候保存里程信息,并能将自行车的里程数及速度用LED实时显示。文章详细介绍了自行车的速度里程表的硬件电路和软件设计。硬件部分利用霍尔元件将自行车每转一圈的脉冲数传入单片机系统,然后单片机系统将信号经过处理送显示。软

2、件部分用汇编语言进行编程,采用模块化设计思想。该系统硬件电路简单,子程序具有通用性,完全符合设计要求。关键词:里程/速度;霍尔元件;单片机;LED显示ABSTRACTWith the developing of peoples life, the bicycle is not only the universal tool of transportation and substitute for walking, but becomes the first choice of entertainment and exercising. The bicycle mileage/speed can

3、 fulfill the basic need of peoples life, so that they can learn the speed and the mileage of the bicycle. In this paper, the bicycle mileage/speed design based on the Hall element is elaborated. By AT89C52 as kernel, using A44E Hall element to measure revolution, the measure and statistic are achiev

4、ed. The range information is saved by 24C02 when the power is off, the bicycle speed can be displayed on LED. In this article, the hardware circuit and software design of bicycle mileage/speed instrument are introduced in detail. About the hardware, the pulse number is transmitted of one cycle of th

5、e bicycle into Single Chip Microcomputer system. Then the signal processed by Single Chip Microcomputer system is sent to display scream. About the software, in assemble language; the program is designed in the mode of modules. The system has simple hardware, common sub-program, and meets the demand

6、 of design.KEY WORDS: Mileage / speed; Hall element; Single chip microcomputer; LED 目 录1 绪 言11.1 课题背景11.2 课题的主要任务及内容12 自行车的速度里程表总体方案设计22.1 任务分析与实现22.2 自行车的速度里程表硬件方案设计22.3 自行车的速度里程表软件方案设计43 自行车的速度里程表硬件电路设计53.1 概述53.2 传感器及其测量系统53.2.1 霍尔传感器的测量原理53.2.2 集成开关型霍尔传感器63.3 单片机的原理及应用73.3.1 单片机原理简介73.3.2 单片机的引脚

7、功能介绍83.3.3 单片机中断系统介绍103.3.4 单片机定时/计数功能介绍113.4 其他器件的介绍123.4.1 存储器的介绍123.4.2 74LS74芯片的介绍133.4.3 74LS244芯片的介绍143.5 单片机外围电路的设计143.5.1 时钟电路的设计143.5.2 复位电路的设计153.5.3 显示电路的设计163.5.4 报警电路的设计174 自行车的速度里程表软件程序设计184.1 概述184.2 自行车的速度里程表总体程序设计184.3 中断子程序的设计204.4 数据处理子程序的设计204.5 显示子程序的设计225 系统调试与分析245.1 系统仿真调试245

8、.2 调试故障及原因分析246 结论与展望266.1结论266.2 展望26致 谢27参考文献28附 录29 1 绪 言1.1 课题背景自行车被发明及使用到现在已有两百多年的历史,这两百年间人类在不断的尝试与研发过程中,将玩具式的木马车转换到今日各式新颖休闲运动自行车,自行车发展的目的也从最早的交通代步的工具转换成休闲娱乐运动的用途。随着居民生活水平的不断提高,自行车不再仅仅是普通的运输、代步的工具,而是成为人们娱乐、休闲、锻炼的首选。因此,人们希望自行车的功用更强大,能给人们带来更多的方便。自行车里程速度表作为自行车的一大辅助工具也正是随着这个要求而迅速发展的,其功能也逐渐从单一的里程显示发

9、展到速度、时间显示,甚至有的还具有测量骑车人的心跳、显示骑车人热量消耗等功能。本设计采用了MCS-51系列单片机设计一种体积小、操作简单的便携式自行车的速度里程表,它能自动地显示当前自行车行走的距离及运行的速度。 1.2 课题的主要任务及内容本课题主要任务是利用霍尔元件、单片机等部件设计一个可用LED数码管实时显示里程和速度的自行车的速度里程表。本文主要介绍了自行车的速度里程表的设计思想、电路原理、方案论证以及元件的选择等内容,整体上分为硬件部分设计和软件部分设计。本文首先扼要对该课题的任务进行方案论证,包括硬件方案和软件方案的设计;继而具体介绍了自行车的速度里程表的硬件设计,包括传感器的选择

10、、单片机的选择、显示电路的设计;然后阐述了该自行车的速度里程表的软件设计,包括数据处理子程序的设计、显示子程序的设计;最后针对仿真过程遇到的问题进行了具体说明与分析,对本次设计进行了系统的总结。 具体的硬件电路包括AT89C52单片机的外围电路以及LED显示电路等。软件设计包括:芯片的初始化程序、定时中断采样子程序、显示子程序等,软件采用汇编语言编写,软件设计的思想主要是自顶向下,模块化设计,各个子模块逐一设计。 2 自行车的速度里程表总体方案设计2.1 任务分析与实现本设计的任务是:以通用MCS-51单片机为处理核心,用传感器将车轮的转数转换为电脉冲,进行处理后送入单片机。里程及速度的测量,

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

12、ED切换显示当前速度,若自行车超速,系统发出报警信号,指示灯闪烁。要求达到的各项指标及实现方法如下:1. 利用霍尔传感器产生里程数的脉冲信号。2. 对脉冲信号进行计数。实现:利用单片机自带的计数器T1对霍尔传感器脉冲信号进行计数。3. 对数据进行处理,要求用LED显示里程总数和即时速度。实现:利用软件编程,对数据进行处理得到需要的数值。最终实现目标:自行车的速度里程表具有里程、速度测试与显示功能,采用单片机作控制,显示电路可显示里程及速度。2.2 自行车的速度里程表硬件方案设计测速,首先要解决是采样的问题。使用单片机进行测速,可以使用简单的脉冲计数法。只要转轴每旋转一周,产生一个或固定的多个脉

13、冲,将脉冲送入单片机中进行计算,即可获得转速的信息。常用的测速元件有霍尔传感器、光电传感器和光电编码器。里程测量传感器的选择也有以下几种方案:使用光敏电阻对里程进行测量、利用编码器对车轮的圈数进行测量、利用霍尔传感器对里程进行测量、利用干簧管型传感器测量里程。光敏电阻对光特别敏感,当白天行驶时,外界光源将导致光敏电阻发出错误信号;光敏电阻对环境的要求相当高,如果光敏或发光二极管被泥沙或灰尘所覆盖,光敏电阻就不能再进行准确测量;而编码器必须安装在车轴上,安装较为复杂;霍尔元件或干簧管不但不受天气的影响,即使被泥沙或灰尘覆盖也不会有影响,而且安装方便。所以本设计采用霍尔元件对里程与速度进行测量,既

14、简单易行,又经济适用。使用霍尔传感器获得脉冲信号,其机械结构也可以做得较为简单,只要在转轴的齿轮盘上粘上一粒磁钢,霍尔元件固定在前叉上,当车子转动时霍尔元件靠近磁钢,就有信号输出,转轴旋转时,就会不断地产生脉冲信号输出。如果在齿轮盘上粘上多粒磁钢,可以实现旋转一周,获得多个脉冲输出。在粘磁钢时要注意,霍尔传感器对磁场方向敏感,粘之前可以先手动接近一下传感器,如果没有信号输出,可以换一个方向再试。这种传感器不怕灰尘、油污,在工业现场应用广泛。霍尔传感器是对磁敏感的传感元件,常用于信号采集的有A44E,该传感器是一个3端器件,外形与三极管相似,只要接上电源、地,即可工作,工作电压范围宽,使用非常方

15、便。A44E的外形如图2.1所示。1-Vcc 2-GND 3-OUT图2.1 A44E外形图单片机由于将CPU、内存和一些必要的接口集成到一个芯片上,并且面向控制功能将结构作了一定的优化,所以它有一般芯片不具有的特点:1. 体积小、重量轻;2. 电源单一、功耗低;3. 功能强、价格低;4. 全部集成在一块芯片上,布线短、合理;5. 数据大部分在单片机内传送,运行速度快、抗干扰能力强、可靠性高。目前,单片机被广泛的应用于测控系统、工业自动化、智能仪表、集成智能传感器、机电一体化产品、家用电器领域、办公自动化领域、汽车电子与航空航天器电子系统以及单片机的多机系统等领域。在设计中选用的是AT89C5

16、2单片机。外部信号霍尔传感器外部存储器AT89C52单片机里程显示速度显示报警部分图2.2 系统的原理框图2.3 自行车的速度里程表软件方案设计通过软件控制单片机的功能是单片机的主要特点和优点,程序的设计要考虑合理性和可读性,遵循模块化设计的原则,采用自顶向下的设计方法。模块化设计使程序的可读性好、修改及完善方便。软件设计包括主程序、行车过程中里程和速度计算子程序、延时子程序、中断服务子程序、显示子程序等等。中断子程序是将传感器产生的信号接入外部中断0,将经过74LS74分频后的信号接入外部中断1,利用中断和定时器对分别对里程进行累加、每转一周的时间进行测量。数据处理子程序是将进入单片机的脉冲

17、信号与实际要显示值之间有一定的对应关系,经过软件编程显示所需要的值。显示子程序是将数据处理的结果送显示器显示。系统软件总体流程图如图2.3所示。 初始化P3.0=1?计算里程显示里程计算速度显示速度N开始图 2.3 软件总体流程图3 自行车的速度里程表硬件电路设计3.1 概述自行车的速度里程表的硬件电路设计是基础部分,它包括信号的捕获、放大、整形,单片机的计算处理,数码管的实时显示和单片机外围基本电路的设计,两大主要器件就是传感器和单片机。传感器是获取自然或生产领域中信息的关键器件,是现代信息系统和各种设备不可缺少的信息采集工具。磁传感器是一种将磁学量信号转变为电信号的器件或装置。随着信息产业

18、、工业自动化、医疗仪器等的飞速发展和计算机应用的普及,需要大量的传感器将被测或被控的非电信号转换成可与计算机兼容的电信号。作为输入信号,这就给磁传感器的快速发展提供了机遇,形成了磁传感器的产业。其中最具代表的磁传感器就是霍尔传感器,在自动检测系统中,利用霍尔传感器测转数是一种最基本的测量工作。单片机是本次设计的核心部件,它是信号从采集到输出的桥梁,而且包括计算、定时、信息处理等功能。3.2 传感器及其测量系统本次设计信号的捕获采用的是霍尔传感器。霍尔器件具有许多优点,它们的结构牢固、体积小、重量轻、寿命长、安装方便、功耗小、频率高(可达1MHz)、耐震动、不怕灰尘、油污、水汽及烟雾等的污染或腐

19、蚀。霍尔线性器件的精度高、线性度好;霍尔开关器件无触点、无磨损、输出波形清晰、无抖动、无回跳、位置重复精度高。取用各种补偿和保护措施的霍尔器件工作温度范围宽,可达55150。按照霍尔器件的功能可将它们分为:霍尔线性器件和霍尔开关器件,前者输出模拟量,后者输出数字量。 按被检测对象的性质可将它们的应用分为:直接应用和间接应用。前者是直接检测出受检测对象本身的磁场或磁特性,后者是检测受检对象上人为设置的磁场,用这个磁场来作被检测的信息的载体。通过它,将许多非电、非磁的物理量例如力、力矩、位置、位移、速度、加速度、角度、角速度、转数、转速以及工作状态发生变化的时间等,转变成电量来进行检测和控制。 3

20、.2.1 霍尔传感器的测量原理霍尔传感器是利用霍尔效应制成的一种磁敏传感器。在置于磁场中的导体或半导体通入电流I,若电流垂直磁场B,则在与磁场和电流都垂直的方向上会出现一个电势差Uh,这种现象称为霍尔效应。利用霍尔效应制成的元件称为霍尔元件。因为它具有结构简单、频率响应宽、灵敏度高、测量线性范围大、抗干扰能力强以及体积小、使用寿命长等一系列特点,因此被广泛应用于测量、自动控制及信息处理等领域。霍尔效应原理图如图3.1所示。图3.1 霍尔效应原理图3.2.2 集成开关型霍尔传感器A44E集成霍尔开关由稳压器A、霍尔电势发生器(即硅霍尔片)B、差分放大器 C、施密特触发器D和OC门输出E五个基本部

21、分组成,如图3.2(a)所示。(1)、(2)、(3)代表集成霍尔开关的三个引出端点。在电源端加电压Vcc,经稳压器稳压后加在霍尔电势发生器的两端,根据霍尔效应原理,当霍尔片处在磁场中时,在垂直于磁场的方向通以电流,则与这二者相垂直的方向上将会产生霍尔电势差VH输出,该VH信号经放大器放大后送至施密特触发器整形,使其成为方波输送到OC门输出。当施加的磁场达到工作点时,触发器输出高电压(相对于地电位),使三极管导通,此时OC门输出端输出低电压,通常称这种状态为开 。当施加的磁场达到释放点时,触发器输出低电压,三极管截止,使OC门输出高电压,这种状态为关 。这样两次电压变换,使霍尔开关完成了一次开关

22、动作。工作点与释放点的差值一定,此差值称为磁滞,在此差值内,V0保持不变,因而使开关输出稳定可靠,这也就是集电成霍尔开关传感器优良特性之一。传感器主要特性是它的输出特性,即输入磁感应强度B与输出电压V0之间的关系。A44E集成霍尔开关是单稳态型,由测量数据作出的输出特性曲线如图 3.2(b)所示。测量时,在1、2两端加5V直流电压,在输出端3与1之间接一个2kW的负载电阻,如图3.3所示。图3.2 集成开关型霍尔传感器图3.3 集成霍尔开关接线图3.3 单片机的原理及应用3.3.1 单片机原理简介单片机是指集成在一个芯片上的微型计算机,也就是把组成微型计算机的各种功能部件,包括CPU(Cent

23、ral Processing Unit)、随机存储器RAM(Random Access Memory)、只读存储器ROM(Read-only Memory)、基本输入/输出(Input/Output)接口电路。定时器/计数器等部件都制作在一块集成芯片上,构成一个完整的微型计算机从而实现微型计算机的基本功能。单片机内部结构示意图如图3.4所示。 定时/计数器中断系统CPU存储器并行I/O口串口I/O口TXDTXDRXDTINTP0-P3图3.4 单片机内部结构示意图1.中央处理器(CPU)中央处理器是单片机最核心的部分,主要完成运算和控制功能。2.内部存储器内部存储器包括内部数据存储器(内部RA

24、M)和内部程序存储器。存储器是由大量的寄存器所组成,其中每一个寄存器就称为一个存储单元。3.定时/计数器单片机的定时器和计数器是同一结构,只是计数器记录的是单片机外部发生的事件,由单片机的外部电路提供计数信号;而定时器是由单片机内部提供一个非常稳定的计数信号。4.中断系统中断系统在计算机中起着十分重要的作用,是现代计算机系统中广泛采用的一种实时控制技术,能对突发事件进行及时处理,从而大大提高系统的实时性能。5.串行I/O接口串行I/O口的数据各位按顺序传输,其特点是需要一对传输线,成本低;但速度慢,效率低,适合静态显示。6.并行I/O接口并行I/O接口的数据所有位同时传送。其特点是传输速度快,

25、效率高;但传送多少位就需要多少根传输线,因此传送成本高,适合动态显示。3.3.2 单片机的引脚功能介绍AT89C52是美国ATMEL公司生产的低电压,高性能CMOS 8位单片机,片内含8K Bytes的可反复擦写的只读程序存储器(EPROM)和256 字节的随机存取数据存储器(RAM),器件采用ATMEL公司的高密度、非易失性存储技术生产,与标准MCS-51指令系统及8052产品引脚兼容,片内置通用8位中央处理器(CPU)和Flash存储单元,功能强大,AT89C52单片机适合于许多较为复杂控制场合应用。图3.5 AT89C52引脚图AT89C52提供以下标准功能:8K字节Flash闪速存储器

26、,256字节内部RAM,32个I/O口线,3个16位定时/计数器,5个中断源,一个全双工串行通信口,片内具有振荡器及时钟电路。AT89C52管脚图如图3.5所示。AT89C52的主要管脚功能如下: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口。ALE:地址锁存控制信号。在系统扩展时,ALE用于控制把P0口输出的低8位地址锁存起来,以实现低位地址和数据的分时传送。此外,由于A

27、LE是以晶振16的固定频率输出的正脉冲,因此,可作为外部时钟或外部定时脉冲使用。:外部程序存储器读选通信号。在读外部ROM时,有效(低电平),以实现外部ROM单元的读操作。:访问程序存储控制信号。当信号为低电平时,对ROM的读操作限定在外部程序存储器;当信号为高电平时,对ROM的读操作是从内部程序存储器开始,并可延至外部程序存储器。RST:复位信号。当输入的复位信号延续两个机器周期以上的高电平时即为有效,用以完成单片机的复位初始化操作。XTALl和XTAL2:外接晶体引线端。当使用芯片内部时钟时,此二引线端用于外接石英晶体和微调电容;当使用外部时钟时,用于接外部时钟脉冲信号。VSS:地线。 V

28、CC:+5V电源。如果把前述的信号定义为引脚第一功能的话,则根据需要再定义的信号就是它的第二功能。P3的8条口线都定义有第二功能,如表3.1所示对于有内部EPROM的单片机芯片(例如87C51),为写入程序须提供专门的编程脉冲和编程电源。它们也由引脚以第二功能的形式提供的,即:编程脉冲:30脚()编程电压(25V):31脚()表3.1 P3口引脚与第二功能引脚第二功能信号名称P3.0RXD串行数据接收P3.1TXD串行数据接收P3.2外部中断0申请P3.3外部中断1申请P3.4T0定时/计数器0的外部输入P3.5T1定时/计数器1的外部输入P3.6外部RAM写选通P3.7外部RAM读选通3.3

29、.3 单片机中断系统介绍中断是指当计算机执行正常程序时,系统中出现某些急需处理的事件,CPU暂时中止当前的程序,转去执行服务程序,以对发生的更紧迫的事件进行处理,待处理结束后,CPU自动返回原来的程序执行AT89C52系列单片机的系统有5个中断源,2个优先级,可实现二级中断服务嵌套。由片内特殊功能寄存器中的中断允许寄存器IE控制CPU是否响应中断请求;由中断优先级寄存器IP安排各优中断源的优先级;同一优先级内各终端同时提出中断请求时,由内部的查询逻辑确定其响应次序。采用的外部中断方式包括外部中断0和外部中断1,它们的中断请求信号分别由单片机引脚/P3.2和/P3.3输入。外部中断请求有两种信号

30、方式:电平触发方式和脉冲触发方式。电平触发方式的中断请求是低电平有效。只要在和引脚上出现有效低电平时,就激活外部中断方式。脉冲触发方式的中断请求则是脉冲的负跳变有效。在这种方式下,在两个相邻机器周期内,和 引脚电平发生变化,即在第一个机器周期内为高电平,第二个机器周期内为低电平,就激活外部中断。由此可见,在脉冲方式下,中断请求信号的高电平和低电平状态都应至少维持一个机器周期,以使CPU采样到电平状态的变化,本次设计所采用的触发方式为脉冲触发方式。1.中断允许控制CPU对中断系统所有中断以及某个中断源的开放和屏蔽是由中断允许寄存器IE控制的。IE的状态可通过程序由软件设定,某位设定为1,相应的中

31、断源中断允许;某位设定为0,相应的中断源中断屏蔽。CPU复位时,IE各位为0,禁止所有中断。IE寄存器各位的定义如下。EX0(IE.0)外部中断允许位;ET0(IE.1)定时/计数器T0中断允许位;EX1(IE.2)外部中断允许位;ET1(IE.3)定时/计数器T1中断允许位;ES(IE.4)串行口中断允许位;EA(IE.7)CPU中断允许位。2.中断优先级控制AT89C52单片机有两个中断优先级,即可实现二级中断服务嵌套。每个中断源的中断优先级都是由中断优先级寄存器IP中的相应的状态来规定的。IP的状态由软件设定,某位设定为1,则相应的中断源为高优先级中断;某位设定为0.则相应的中断源为低优

32、先级中断。单片机复位时,IP各位清0,各中断源同为低优先级中断。IP寄存器各位的定义如下。PX0(IP.0)外部中断优先级设定位;PT0(IP.1)定时/计数器T0中断优先级设定位;PX1(IP.2)外部中断中断优先级设定位;PT1(IP.3)定时/计数器T1中断优先级设定位;PS(IP.4)串行口中断优先级设定位。3.3.4 单片机定时/计数功能介绍AT89C52单片机定时/计数器的工作由两个特殊功能寄存器控制。TMOD用于设置其工作方式;TCON用于控制其启动和中断请求。1.工作方式寄存器TMOD工作方式寄存器TMOD用于设置定时/计数器的工作方式。GATE:门控位。GATE=0时,只要用

33、软件使TCON中的TR0或TR1为1,就可以启动定时/计数器工作;GATE=1时,要用软件TR0或TR1为1,同时外部中断引脚或也为高电平时,才能启动定时/计数器工作。:定时/计数模式选择位。=0为定时模式; =1为计数模式。M1M2:工作方式设置位。定时/计数器有4种工作方式,由M1M2进行设置。本次设计TMOD为90H,即选通定时/计数器1、定时功能、工作方式1。工作方式16位定时/计数器。2.控制寄存器TCONTF1(TCON.7)定时/计数器T1溢出中断请求标志位。定时/计数器T1计数溢出时由硬件自动置TF1为1。CPU响应中断后TF1由硬件自动清零。T1工作时,CPU可随时查询TF的

34、状态。所以,TF1可用作查询测试的标志。TF1也可以用软件置1或清零,同硬件置1或清零的效果一样。TR1(TCON.6)定时/计数器T1运行控制位。TR1置1时时,定时/ 计数器T1开始工作;TR1置0时,定时/计数器T1停止工作。TR1由软件置1或清0。TF0(TCON.5):定时/计数器T0溢出中断请求标志位。TR0(TCON.4):定时/计数器T0运行控制位。3.4 其他器件的介绍3.4.1 存储器的介绍AT24C02是一个2K位串行CMOSE2PROM。内部含有256个8 位字节,ATMEL公司的先进CMOS技术实质上减少了器件的功耗。AT24C02有一个16 字节页写缓冲器,该器件通

35、过I2C总线接口进行操作有一个专门的写保护功能。AT24C02支持I2C总线数据传送协议。数据传送是由产生串行时钟和所有起始停止信号的主器件控制的。主器件和从器件都可以作为发送器或接收器,但由主器件控制传送数据(发送或接收)的模式,通过器件地址输入端 A0、A1和A2可以实现将最多8个24C02器件连接到总线上。管脚图如3.6所示。 图3.6 24C02管脚图SCL串行时钟:AT24C02串行时钟输入管脚用于产生器件所有数据发送或接收的时钟。SDA串行数据/地址:CAT24WC02双向串行数据/地址管脚用于器件所有数据的发送或接收,是一个开漏输出管脚可与其它开漏输出或集电极开路输出进行线或(w

36、ire-OR)。WP写保护:如果WP管脚连接到Vcc所有的内容都被写保护,只能读。当WP管脚连接到Vss或悬空,允许器件进行正常的读/写操作。本次设计采用的24C02是为了防止掉电时里程数据的丢失,由于24C02的数据线和地址线是复用的,采用串口的方式传输数据,所以只用两根线SCL和SDA与单片机传输数据。在软件编程时采用程序包来控制24C02发送或接受数据。3.4.2 74LS74芯片的介绍74LS74是D触发器的一种,它是一个具有记忆功能的二进制信息存储器件,是构成多种时序电路的最基本逻辑单元。触发器具有两个稳定状态,即“0”和“1”,在一定的外界信号作用下,可以从一个稳定状态翻转到另一个

37、稳定状态。由于其状态的更新发生在CP脉冲的边沿故又称之为上升沿触发的边沿触发器,D触发器的状态只取决于时针到来前D端的状态。引脚图如图3.7所示。图3.7 74LS74引脚图在本题目中74LS74芯片起分频的作用。当车轮每转一圈,霍尔传感器输出一个低电平脉冲,通过74LS74进行二分频后,定时器T1的开启时间为车轮转1圈的时间,这样就可以算出自行车的速度。分频前后对比图如图3.8所示。 tt00vv霍尔输出圈脉冲二分频后的波形 图3.8 分频前后对比图由图可见,二分频后的波形的高或地电平的时间正好是霍尔传感器开关的一个周期,霍尔传感器输出脉冲到,即P3.2口接收到对圈数计数的脉冲。经74LS7

38、4二分频后的信号输入到,内部定时计数器测得每转一圈所用的时间,通过计算即可得里程值和即时速度。3.4.3 74LS244芯片的介绍本次设计中的采用驱动数码管的芯片为74LS244,74LS244为三态输出的八位缓冲器和线驱动器,若单片机输出口直接接显示部分电路,则电流太小,会导致显示部分不能正常工作。所以在单片机输出口先接入驱动芯片74LS244,增大电流,使LED能够正常工作。其逻辑图如图3.9所示,可以看出74LS244由2组组成、每组由四路输入、输出构成。每组有一个控制端高或低电平决定该组数据被接通还是断开。图3.9 74LS244逻辑图3.5 单片机外围电路的设计3.5.1 时钟电路的

39、设计时钟是单片机的心脏,单片机各功能部件的运行都是以时钟频率为基准,有条不紊地一拍一拍地工作。因此,时钟频率直接影响单片机的速度,时钟电路的质量也直接影响单片机系统的稳定性。AT89C52片内由一个反相放大器构成振荡器,可以由它产生时钟。常用的时钟电路有两种方式,一种是内部时钟方式,另一种为外部时钟方式。本设计采用前者。单片机内部有一个用于构成振荡器的高增益反相放大器,该高增益反相放大器的输入为芯片引脚XTAL1,输出端为引脚XTAL2。这两个引脚跨接石英晶体振荡器和电容,就构成一个稳定的自激振荡器。单片机内部时钟方式的振荡电路如图3.10所示。图3.10 单片机片内振荡电路电路中的电容C1和

40、C2常选择为30P左右。对外接电容的值虽然没有严格的要求,但电容的大小会影响振荡器的高低、振荡器的稳定性、起振的快速性和温度的稳定性。而外接晶体的振荡频率的大小,主要取决于单片机的工作频率范围,每一种单片机都有自己的最大工作频率,外接的晶体振荡频率不大于单片机的最大工作频率即可。此外,如果单片机有串行通信,则应该选择振荡频率除以串行通信频率可以除尽的晶体。本设计晶振采用12MHz,则计数周期为S3.5.2 复位电路的设计AT89C52单片机的复位输入引脚RET为AT89C52提供了初始化的手段。有了它可以使程序从指定处开始执行,即从程序存储器中的0000H地址单元开始执行程序。在89C52的时

41、钟电路工作后,只要在RET引脚上出现两个机器周期以上的高电平时,单片机内部则初始复位。只要RET保持高电平,则89C52循环复位。只有当RET由高电平变成低电平以后,89C52才从0000H地址开始执行程序。本系统的复位电路是采用按键复位的电路,如图3.11所示,是常用复位电路之一。单片机复位通过按动按钮产生高电平复位称手动复位。上电时,刚接通电源,电容C相当于瞬间短路,+5V立即加到RET/VPD端,该高电平使89C52全机自动复位,这就是上电复位;若运行过程中需要程序从头执行,只需按动按钮即可。按下按钮,则直接把+5V加到了RET/VPD端从而复位称为手动复位。复位后,P0到P3并行I/O

42、口全为高电平,其它寄存器全部清零,只有SBUF寄存器状态不确定。图3.11 按键复位电路工作原理:通电瞬间,RC电路充电,RST引脚出现高电平,只要RST端保持10ms以上高电平,就能使单片机有效地复位。3.5.3 显示电路的设计本设计中采用LED数码管显示。在单片机系统中,通常用LED数码显示器来显示各种数字或符号。由于它具有显示清晰、亮度高、使用电压低、寿命长的特点,因此使用非常广泛。八段LED显示器由8个发光二极管组成。其中7个发光二极管构成字型“8”的各个笔画段,另一个小数点为dp发光二极管。LED显示器有两种不同的形式:一种是发光二极管的阳极都连在一起的,称之为共阳极LED显示器;另

43、一种是发光二极管的阴极都连在一起的,称之为共阴极LED显示器。如图3.12所示。本次设计采用共阴极接法。LED显示方式有动态显示和静态显示两种方式。本系统采用动态扫描显示接口电路,动态显示接口电路是把所有显示器的8个笔划段a-h同名端连在一起,而每一个显示器的公共极COM各自独立地受I/O线控制。CPU向字段输出口送出字型码时,所有显示器接收到相同的字型码,但究竟是哪个显示器亮,则取决于COM端。也就是说我们可以采用分时的方法,轮流控制各个显示器的COM端,使各个显示器轮流点亮。在轮流点亮扫描过程中,每位显示器的点亮时间是极为短暂的(约1ms),由于人的视觉暂留现象及发光二极管的余辉效应,尽管

44、实际上各位显示器并非同时点亮,但只要扫描的速度足够快,给人的印象就是一组稳定的显示数据,不会有闪烁感。图3.12 七(八)段LED显示器本设计P2.0、P2.1、P2.2、P2.3信号一起组成位选通的位选信号,P0.0P0.7信号一起组成段码选通的段选信号,通过软件编程,先把所要显示的数据放入存储单元,然后把数据送入段选通对应的地址,再选通某一个LED,逐步完成四个LED的显示。3.5.4 报警电路的设计本次报警电路采用蜂鸣器报警,当即时速度超过预定值是蜂鸣器响,指示灯闪烁,提示应该减速。报警电路图如图3.13所示。图3.13 报警电路图4 自行车的速度里程表软件程序设计4.1 概述在硬件设计

45、完毕之后,接下来就是设计中最核心和最为主要的软件部分设计。所谓软件设计就是把软件需求变换成软件的具体设计方案(即模块结构)的过程。模块化结构设计即是根据要求和硬件设计的结构,将整个系统的功能分成许多小的功能模块,再根据这些小的功能模块进行程序编写的过程。这样的设计方法,使得系统的整个功能和各部分的功能趋于明朗化。当系统出现问题,就可以根据功能设置找出问题的根源,从而更快地解决问题。所以说,在整个设计过程中,软件设计必须与硬件设计紧密地结合在一起。 基于霍尔传感器自行车的速度里程表的软件设计包括上电初始化程序、中断子程序、速度调用子程序、里程调用子程序、LED显示子程序、延时子程序等几大部分。由

46、于要实现很多功能,所以采用模块化设计,下面就其主要部分分别加以分析。4.2 自行车的速度里程表总体程序设计在主程序模块中,需要完成对各接口芯片的初始化、自行车里程和速度的初始化、中断向量的设计以及开中断、循环等待等工作。另外,在主程序模块中还需要设置启动/清除标志寄存器、里程寄存器、速度寄存器,并对它们进行初始化。然后主程序将根据各标志寄存器的内容,分别完成启动、清除、计程和计速等不同的操作。P1.0和P1.1口分别用于显示里程状态和速度状态。P1.2、P1.3、P1.6和P1.7口分别用于设置轮圈的大小,低电平有效。P3.0是用于里程和速度切换的,低电平为显示速度,高电平为显示里程。中断0用

47、于对轮子圈数的计数输入,轮子每转一圈,霍尔传感器输出一个低电平脉冲。将根据里程寄存器中的内容计算和判断出行驶里程数。中断1用于控制定时器T1的启/停,当输入为0时关闭定时器。此控制信号是将轮子圈数的计数经二分频后形成。这样,每次定时器T1的开启时间刚好为转一圈的时间,根据轮子的周长就可以计算出自行车的速度。其程序流程如图4.1所示。开始初始化P1.2=1?NP1.3=1?P1.6=1?P1.7=1?出错提示将车圈周长调入21H开中断,启动定时器P3.0=1?调用里程处理子程序调用速度处理子程序NNNYYYYNY图4.1 主程序流程图4.3 中断子程序的设计定时中断是为满足定时或计数的需要而设置

48、的。在单片机内部有两个定时/计数器,以对其中的计数结构进行计数的方法,来实现定时或计数功能。当结构发生计数溢出时,即表明定时时间或计数值已满,这时就以计数溢出信号作为中断请求,去置位一个溢出标志,作为单片机接受中断请求的标志。这种中断请求是在单片机芯片内部发生的,因此无须在芯片上设置引入端。关中断开始现场保护开中断中断处理关中断现场恢复开中断中断返回定时/计数器控制寄存器TCON是8位寄存器,地址为88H,可以位寻址。其高4位用于定时/计数器中断控制,低4位借给外部中断,用做中断标志和触发方式选择位。本设计采用定时中断,对自行车的里程和速度进行计数。中断子程序流程图如图4.2所示。 图4.2中

49、断子程序流程图4.4 数据处理子程序的设计1. 里程计算子程序点亮里程指示灯开始将车圈数转换成里程显示里程值返回外中断0服务程序用于对单片机P3.2口输入的圈脉冲进行计数,为十六进制计数器。60H为低位,62H为高位。每次计数一次后,对里程数据进行一次存储操作。当车轮每转一圈,通过霍尔元件将脉冲数输入单片机内,通过计数器计出脉冲数,再用乘法子程序算出里程数。里程处理子程序流程图如图4.3所示。 图4.3 里程处理子程序流程图2.速度计算子程序外中断1服务程序用于处理轮子转动一圈后的计时数据。当标志位(00H)为1时,计数溢出,放入最大时间值(为#0FFH);当标志位为0时,将计数单元(TL1、

50、TH1、6CH、6DH)的值放入68H6BH单元。定时器计出每转一圈所用的时间,用自行车车轮的周长除以时间就得出自行车的速度。 开始开速度指示灯计算速度报警显示速度NY是否超速?返回图4.4 速度处理子程序流程图4.5 显示子程序的设计采用动态扫描显示接口电路,动态显示接口电路是把所有显示器的8个笔划段a-h同名端连在一起,而每一个显示器的公共极COM各自独立地受I/O线控制。CPU向字段输出口送出字型码时,所有显示器接收到相同的字型码,但究竟是哪个显示器亮,则取决于COM端。可以采用分时的方法,轮流控制各个显示器的COM端,使各个显示器轮流点亮。在轮流点亮扫描过程中,每位显示器的点亮时间是极

51、为短暂的(约1ms),由于人的视觉暂留现象及发光二极管的余辉效应,尽管实际上各位显示器并非同时点亮,但只要扫描的速度足够快,给人的印象就是一组稳定的显示数据,不会有闪烁感。本设计P2.0、P2.1、P2.2、P2.3信号一起组成位选通的位选信号,P0.0P0.7信号一起组成段码选通的段选信号,通过软件编程,先把所要显示的数据放入存储单元,然后把数据送入段选通对应的地址,再选通某一个LED,逐步完成四个LED的显示。 开始显示单元首址取显示数据送段码到P0口取段码表首址调用延时送位选到P2口4位显示结束返回YN修改显示单元地址求下一位位选码图4.5 显示子程序流程图5 系统调试与分析5.1 系统

52、仿真调试PROTEUS系统仿真平台与开发平台是由英国Labcenter公司开发的,是目前世界上最完整的系统设计与仿真平台之一。PROTEUS可以实现数字电路、模拟电路及微控制系统与外设的混合电路系统的电路仿真、系统协同仿真和PCB设计等全部功能。PROTEUS软件能够对各种处理器进行实时仿真、调试与测试的EDA工具,真正实现了在没有目标原形时就可以对系统进行调试与验证。在构思好电路原理图和编好程序之后就要对其进行系统仿真,原理图的具体设计流程如图5.1所示。当完成原理图布线后,利用PROTEUS ISIS编辑环境所提供的电器规则检查命令对设计进行检查,并根据系统提供的错误检查报告修改原理图。直

53、到通过电器规则检查为止。单片机系统的仿真是PROTEUS VSM的一大特色,同时,本仿真系统将源代码的编辑和编译整合到同一设计环境中,这样使得用户可以在设计中直接编辑代码,并且很容易地查看到用户对源程序修改后对仿真结果的影响。源代码通过编译无误后,就可以进行仿真,在仿真过程中不断完善电路和程序的功能最后达到本次设计的目的。5.2 调试故障及原因分析在软件仿真过程中遇到了一些问题,具体故障和解决方法如下:1、数码管不显示本次设计的电路数码管采用共阴极接法,在仿真时错用共阳极数码管,导致数码管不显示。2、P0口显示高阻态正常情况下P0口输出应为高(红色)低(蓝色)互换,但在实际情况下P0口出现了高

54、阻态(灰色),经翻阅资料查得P0口做I/O口是应接上拉电阻。在加上上拉电阻后,P0口输出正常。 新建设计文档设置编辑环境原理图布线放置元器件电器检查建立网络表是否合格?结束Y存盘、报表输出调整N开始 图5.1 原理图设计流程图6 结论与展望6.1结论该课题的主要任务是开发一个以MCS-51单片机为核心的自行车的速度里程表。本设计主要分为硬件部分和软件部分,硬件部分着重考虑硬件电路的简单性,故尽可能简化硬件电路,节省线路板的空间,达到硬件电路最优化设计。软件采用汇编语言编写,采用模块化设计思想,程序可读性强。通过仿真、实验验证了系统的可行,能满足设计要求,达到设计的指标,实现对自行车里程/速度的

55、计算功能,并用LED显示,里程与速度分别根据以下公式求得:里程=脉冲总数车轮周长速度=车轮周长车轮转一圈所用的时间根据此公式将最终显示出里程和速度。当车轮转动,小磁片滑过霍尔元件时,霍尔元件输出一脉冲,可根据车轮周长计算里程,选择不同的车轮周长,里程数的变化有所不同;当按下开关,显示速度时,LED会根据转速的不同显示不同的数字,当速度超过一定速度时,将启动报警系统。通过仿真证明本次设计符合设计的要求,能实现对里程、速度的显示,功能性较强,具有一定的实践意义,将会在许多场合应用。但也有一些不足存在,当显示速度时,若自行车转动太快,显示器会显示过快,应该将速度定时显示,使人们能够清楚地看出速度。6

56、.2 展望本系统操作简单,易于实现。硬件部分采用的器件应用较广泛,且价格低廉,如AT89C52单片机、D触发器74LS74、存储器24C02、驱动器74LS244等。这就意味着所有的器件功能比较强大、稳定。尤其是本次设计的核心元件AT89C52单片机,软件技术成熟,并具有种类齐全的支持芯片。这类微处理器既可用作控制器又适合于做数据处理,而且成本也甚是低廉。软件采用模块化设计,可读性强,方便二次开发。本次设计电路简单、低成本,而且能够满足人们对高性能、多功能自行车的要求,可在很多里程/速度测量场合使用,具有广泛的应用前景。致 谢白驹过隙,转眼三年的学习生活就将结束了。本论文是在钱松老师的悉心指导

57、下完成的,老师严谨的治学态度,务实的工作作风,孜孜不倦的学习精神令我敬佩至深,受益非浅。钱老师很忙,但还是抽出时间来指导我们,修改我们的论文,且从来都是不厌其烦地为我们解答各种问题,特别是在我论文完成的这段时间。在这里我要特别谢谢钱老师。 其次感谢我的同学和朋友,他们给予了我无私的帮助和无穷的精神动力。在我遇到知识上的或技术上的难点时,他们总是能给我及时的援助。感谢我同宿舍的其他同学,谢谢他们在这大学三年里给我的帮助和关心。 最后,特别感谢父母和亲人在我求学过程中自始至终的支持。在这里我要感谢我的指导老师钱松,是他的耐心教导,和不厌其烦地讲解,使我顺利地完成了毕业设计。也要感谢我的同学们,在我

58、遇到困难时主动帮我解决,使我很快地攻克了一个又一个难关。还要感谢学校领导的关心和关怀。毕业设计已经结束,但是它却给我留下了美好的回忆,在做毕业设计的过程中加深了师生的感情和同学之间的友谊,觉得每一天都是那么的充实和愉快。参考文献1 楼然苗, 李光飞. 51系列单片机设计实例. 北京航空航天大学出版社, 20062 松井邦彦, 梁瑞林. 传感器应用技术141例. 科学出版社, 20063 张洪润, 张亚凡. 传感器技术与应用教程. 清华大学出版社, 20054 张毅刚, 刘杰. MCS-51单片机原理及应用. 哈尔滨工业大学出版社,20045 黄河, 郭纪林. 单片机原理及应用. 大连理工大学出

59、版社, 20066 刘灿军. 实用传感器. 国防工业出版社, 20047 何希才. 传感器及其应用. 国防工业出版社, 20018 陈雪丽. 单片机原理及接口技术.化学工业出版社, 20059 李勋, 刘源, 李静东. 单片机实用教程.北京航空航天大学出版社, 200610 刁文兴. 自行车电子里程表的初步设计. 南京工业职业技术学院学报, 2004, 6: 25-2811 许德章等. 摩托车电子转速表智能校验仪. 自动化仪表,2000, 4: 23-2412 安宗权. 电动电子车速里程表分频电路设计. 自动化与仪器仪表, 2001, 5: 39-4413 阎焕忠, 王长涛, 马斌. 单片机控

60、制里程转速表的设计. 沈阳建筑工程学院学报(自然科学版),2002, 4: 145-14814 张友德,赵志英,涂时亮,单片机微机原理,应用与实验M.上海:复旦大学出版社,2003:122-13615 谢自美. 电子线路设计.实验.测试M.武汉:华中科技大学出版社,2000:212-230附 录1电路源程序#include#include#define uchar unsigned char #define uint unsigned int#define mileageh 0/定义存储器记录里程高8位数据的地址#define mileagel 1/ 低8位#define speedlimit

61、 2#define nop() _nop_()#define stop()sda=0;nop();scl=1;nop();sda=1;nop() /开始信号#define start() sda=1; nop(); scl=1;nop();sda=0;nop() /停止信号 #define duan P1 unsigned char code table= /共阳数码管常用的字模0xC0,0xF9,0xA4,0xB0,0x99,0x92,0x82,0xF8,0x80,0x90,0x88,0x83,0xC6,0xA1,0x86,0x8E,0x89,0xC7,0xC8,0xC1,0x8C,0xA3,0xBF,0xFF,; sbit ir=P32;/速度检测信号端口,此端口可以不用定义,连接到int0,一个脉冲计算为1米,单位秒sbit sda=P30;sbit scl=P31;sbit wle=P25; sbit dle=P26;sbit moto=P23; /电机的pwm端口sbit k1=P20; /变速sbit k2=P21; /总里程清零sbit k3=P22;/超速设置,按下后,利用k1阀值加大,k2阀值减小

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

copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!