基于51单片机自行车测速系统设计.doc





《基于51单片机自行车测速系统设计.doc》由会员分享,可在线阅读,更多相关《基于51单片机自行车测速系统设计.doc(25页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、摘 要随着居民生活水平的不断提高,人们对于生活质量的要求也日益增加,尤其是对健身的要求。自行车不再仅仅是普通的运输、代步的工具,而是成为人们娱乐、休闲、锻炼的首选。自行车的速度里程表能够满足人们最根本的需求,让人们能清楚地知道当前的速度、里程等物理量。而对于自行车运发动来说,最为关心的莫过于一段时间内的训练效果。因为教练要根据一段时间内运发动的训练效果进行评估,从而进行适当的调整已使运发动到达最正确的状态。因此爱好自行车运动的人十分学要一款能测速的装置,以知道自己的运动情况。并根据外界条件,如温度,风速等进行适当的调节,已到达最正确运动的效果。 关键词:单片机、LED显示、里程/速度、霍尔元件
2、第一章系统总方案分析与设计1.1 课题主要任务及内容本课题主要任务是利用霍尔元件、单片机等部件设计一个可用LED数码管实时显示里程和速度的自行车的速度里程表。本文主要介绍了自行车的速度里程表的设计思想、电路原理、方案论证以及元件的选择等内容,整体上分为硬件局部设计和软件局部设计。本文首先扼要对该课题的任务进行方案论证,包括硬件方案和软件方案的设计;继而具体介绍了自行车的速度里程表的硬件设计,包括传感器的选择、单片机的选择、显示电路的设计;然后阐述了该自行车的速度里程表的软件设计,包括数据处理子程序的设计、显示子程序的设计;最后对本次设计进行了系统的总结。具体的硬件电路包括AT89C52单片机、
3、霍尔元件以及LED显示电路等。软件设计包括:中断子程序设计,里程计算子程序设计,显示子程序设计。软件采用汇编语言编写,软件设计的思想主要是自顶向下,模块化设计,各个子模块逐一设计。 1.2 任务分析与实现本设计的任务是:以通用AT89C52单片机为处理核心,用传感器将车轮的转数转换为电脉冲,进行处理后送入单片机。里程及速度的测量,是经过AT89C52的定时/计数器测出总的脉冲数和每转一圈的时间,再经过单片机的计算得出,其结果通过LED显示器显示出来。本系统总体思路如下:假定轮圈的周长为L,在轮圈上安装m个永久磁铁,那么测得的里程值最大误差为L/m。经综合分析,本设计中取m=1。当轮子每转一圈,
4、通过开关型霍尔元件传感器采集到一个脉冲信号,并从引脚P3.2中断0端输入,传感器每获取一个脉冲信号即对系统提供一次计数中断。每次中断代表车轮转动一圈,中断数n和周长L的乘积为里程值。计数器T1计算每转一圈所用的时间t,就可以计算出即时速度v。当里程键按下时,里程指示灯亮,LED切换显示当前里程;当速度键按下时,速度指示灯亮,LED切换显示当前速度。要求到达的各项指标及实现方法如下:1. 利用霍尔传感器产生里程数的脉冲信号。2. 对脉冲信号进行计数。实现:利用单片机自带的计数器T1对霍尔传感器脉冲信号进行计数。3. 对数据进行处理,要求用LED显示里程总数和即时速度。实现:利用软件编程,对数据进
5、行处理得到需要的数值。最终实现目标:自行车的速度里程表具有里程、速度测试与显示功能,采用单片机作控制,显示电路可显示里程及速度。第二章系统主要单元模块和速度算法概述2.1 传感器选型方案一、光电传感器。光电传感器是应用非常广泛的一种器件,各种各样的形式,如透射式、反射式等,根本原理就是当发射管光照射到接收管时,接收管导通,反之关断。以透射式为例,如图2-1所示,当不透光的物体挡住发射与接收之间的间隙时,开关管关断,否那么翻开。为此可以制作一个遮光叶片如图2-2所示,安装在转轴上,当扇叶经过时,产生脉冲信号。当叶片数较多时,旋转一周可以获得多个脉冲信号。图2-1 光电传感器的原理图图2-2 遮光
6、叶片将光敏电阻安装在自行车前又的一侧,在同等高度的另一侧安上一个高亮度的发光二极管。在同等高度的辐条上贴上一圈黑色材料,并在黑色材料上打上等间距的小孔,这样当小孔经过光敏电阻时,光敏电阻根据光电流的变化发出脉冲, 从而测量里程。方案二、光电编码器光电编码器的工作原理与光电传感器一样,不过它已将光电传感器、电子电路、码盘等做成一个整体,只要用连轴器将光电传感器的轴与转轴相连,就能获得多种输出信号。它广泛应用于数控机床、回转台、伺服传动、机器人、雷达、军事目标测定等需要检测角度的装置和设备中。将旋转编码器安装在车轴上,这样每当车轮转过一定的距离编码器就会发出一个脉冲。利用脉冲数对里程进行测量。方案
7、三、霍尔传感器霍尔传感器是对磁敏感的传感元件,常用于开关信号采集的有CS3020、CS3040、A04E等,这种传感器是一个3端器件,外形与三极管相似,只要接上电源、地,即可工作,输出通常是集电极开路OC门输出,工作电压范围宽,使用非常方便。图2-3 霍尔元件和磁钢实际图使用霍尔传感器获得脉冲信号,其机械结构也可以做得较为简单,只要在转轴的圆周上粘上一粒磁钢,让霍尔开关靠近磁钢,就有信号输出,转轴旋转时,就会不断地产生脉冲信号输出。如果在圆周上粘上多粒磁钢,可以实现旋转一周,获得多个脉冲输出, 单片机根据脉冲数来计算里程。霍尔元件和磁钢如图2-3所示。在粘磁钢时要注意,霍尔传感器对磁场方向敏感
8、,粘之前可以先手动接近一下传感器,如果没有信号输出,可以换一个方向再试。这种传感器不怕灰尘、油污,在工业现场应用广泛。光敏电阻对光特别敏感,当白天行驶时,外界光敏电阻对光特别敏感,当白天行驶时,外界光源导致光敏电阻发出错误信号;光敏电阻对环境的要求相当高,如果光敏电阻或发光二极管被泥沙或灰尘所覆盖,光敏电阻就不能再进行测量;在雾天和雨天光敏电阻的测量的效果也不好。而编码器必须安装在车轴上,这样安装就会给用户带来很多不便。霍尔元件不受天气的影响,即便被泥沙或灰尘覆盖对测量也不会有任何影响。由霍尔元件加整形电路构成的霍尔开关系统,具有输出响应快,数字脉冲性能好,安装方便,性能可靠,不受光线、泥水等
9、因素影响,价格廉价的优点。所以本设计采用方案三霍尔传感器。2.2 单片机选型本设计用89C52单片机设计自行车里程/速度计。AT89C52是51系列单片机的一个型号,它是ATMEL公司生产的。 一个低电压,高性能CMOS 8位单片机,片内含8k bytes的可反复擦写的Flash只读程序存储器和256 bytes的随机存取数据存储器RAM,器件采用ATMEL公司的高密度、非易失性存储技术生产,兼容标准MCS-51指令系统,片内置通用8位中央处理器和Flash存储单元,功能强大的AT89C52单片机可为您提供许多较复杂系统控制应用场合。 AT89C52有40个引脚,32个外部双向输入/输出I/O
10、端口,同时内含2个外中断口,3个16位可编程定时计数器,2个全双工串行通信口,2个读写口线,AT89C52可以按照常规方法进行编程,但不可以在线编程(S系列的才支持在线编程)。其将通用的微处理器和Flash存储器结合在一起,特别是可反复擦写的Flash存储器可有效地降低开发本钱2.3 显示模块选型单片机系统中常用的显示器有:发光二极管LED显示器、液晶LCD显示器等。在这里由于单片机测速系统比拟简单,所以只考虑LED显示器和LCD显示器。LED显示器工作方式有两种静态显示方式和动态显示方式。方案一 LED静态显示器:静态显示的特点是每个数码管的段选必须接一个8位数据线来保持显示字形码。当送入一
11、次字形码后,显示字形可一直保持,直到送入新字形码为止。这种方法的优点是占用CPU时间少,显示便于监测和控制。缺点是硬件电路比拟复杂,本钱较高。LED动态显示器:动态显示的特点是将所有位数码管的段选线并联在一起,由位选线控制是哪一位数码管有效。这样一来,就没有必要每一位数码管配一个锁存器,从而大大地简化了硬件电路。选亮数码管采用动态扫描显示。所谓动态扫描显示即轮流向各位数码管送出字形码和相应的位选,利用发光管的余辉和人眼视觉暂留作用,使人的感觉好似各位数码管同时都在显示,给人的印象就是一组稳定的显示数据,不会有闪烁感。动态显示的亮度比静态显示要差一些,所以在选择限流电阻时应略小于静态显示电路中的
12、。 方案二 用液晶显示器LCD显示信息。LCD显示器工作原理就是利用液晶的物理特性;通电时排列变得有序,使光线容易通过;不通电时排列混乱,阻止光线通过,说简单点就是让液晶如闸门般地阻隔或让光线穿透。 LCD的好处有:与CRT显示器相比,LCD的优点主要包括零辐射、低功耗、散热小、体积小、图像复原精确、字符显示锐利等。LED背光源技术能够大幅度提升电视画面的比照度和色彩表现力,同时具有节能环保等诸多优点,势必成为未来电子显示技术的开展趋势。LED技术具有非常明显的三大优势。第一,它显示的色彩更加丰富,色彩数量可超过目前传统CCFL冷阴极荧光管背光灯的1倍以上;第二,LED背光源亮度可以随着画面亮
13、度进行主动调节,可节能30%以上;第三,LED背光源不含铅和汞等有毒有害物质,是真正的绿色环保光源。本课题选用LED动态显示器。2.4 算法概述假定轮圈的周长为L,在轮圈上安装m个永久磁铁,那么测得的里程值最大误差为L/m。经综合分析,本设计中取m=1。当轮子每转一圈,通过开关型霍尔元件传感器采集到一个脉冲信号,并从引脚P3.2中断0端输入,传感器每获取一个脉冲信号即对系统提供一次计数中断。每次中断代表车轮转动一圈,中断数n和周长L的乘积为里程值。计数器T1计算每转一圈所用的时间t,就可以计算出即时速度v。第三章系统硬件设计3.1 单片机主控电路3.1.1 单片机概述单片机就是在一块半导体硅片
14、上集成了微处理器CPU,存储器RAM,ROM,EPROM和各种输入、输出接口定时器 /计数器,并行I/O口,串行口,A/D转换器以及脉宽调制器PWM等,这样一块集成电路芯片具有一台计算机的属性,因而被称为单片微型计算机,简称单片机。单片机是本次设计的核心部件,它是信号从采集到输出的桥梁,而且包括计算、定时、信息处理等功能。目前,单片机被广泛的应用于测控系统、工业自动化、智能仪表、集成智能传感器、机电一体化产品、家用电器领域、办公自动化领域、汽车电子与航空航天器电子系统以及单片机的多机系统等领域。在设计中选用的是AT89C52单片机。单片机由于将CPU、内存和一些必要的接口集成到一个芯片上,并且
15、面向控制功能将结构作了一定的优化,所以它有一般芯片不具有的特点:1. 体积小、重量轻;2. 电源单一、功耗低;3. 功能强、价格低;4. 全部集成在一块芯片上,布线短、合理;本设计用89C52单片机设计自行车里程/速度计。AT89C52是51系列单片机的一个型号,它是ATMEL公司生产的。 一个低电压,高性能CMOS 8位单片机,片内含8k bytes的可反复擦写的Flash只读程序存储器和256 bytes的随机存取数据存储器RAM,器件采用ATMEL公司的高密度、非易失性存储技术生产,兼容标准MCS-51指令系统,片内置通用8位中央处理器和Flash存储单元,功能强大的AT89C52单片机
16、可为您提供许多较复杂系统控制应用场合。 (背景色)AT89C52有40个引脚,32个外部双向输入/输出I/O端口,同时内含2个外中断口,3个16位可编程定时计数器,2个全双工串行通信口,2个读写口线,AT89C52可以按照常规方法进行编程,但不可以在线编程(S系列的才支持在线编程)。其将通用的微处理器和Flash存储器结合在一起,特别是可反复擦写的Flash存储器可有效地降低开发本钱。 AT89C52有PDIP、PQFP/TQFP及PLCC等三种封装形式,以适应不同产品的需求。 本设计选用AT89C52单片机,AT89C52是一种低功耗、高性能CMOS 8位微控制器。使用Atmel公司高密度非
17、易失性存储器技术制造,可与工业AT89C51产品指令和引脚完全兼容。 AT89C52是一个低电压,高性能CMOS 8位单片机,片内含8k bytes的可反复擦写的Flash只读程序存储器和256 bytes的随机存取数据存储器RAM,器件采用ATMEL公司的高密度、非易失性存储技术生产,兼容标准MCS-51指令系统,片内置通用8位中央处理器和Flash存储单元,AT89C52单片机在电子行业中有着广泛的应用。主要功能特性1、兼容MCS51指令系统 2、8k可反复擦写(大于1000次Flash ROM; 3、32个双向I/O口; 4、256x8bit内部RAM; 5、3个16位可编程定时/计数器
18、; 6、时钟频率0-24MHz; 7、2个串行中断,可编程UART串行通道; 8、2个外部中断源,共5个中断源; 9、2个读写中断口线,3级加密位; 10、低功耗空闲和掉电模式,软件设置睡眠和唤醒功能; 11、有PDIP、PQFP、TQFP及PLCC等几种封装形式,以适应不同产品的需求。单片机内部结构示意图如图3-1所示。定时/计数器中断系统CPU存储器并行I/O口串口I/O口TXDTXDRXDTINTP0-P3 图3-13.1.2 单片机的引脚功能介绍AT89C52是美国ATMEL公司生产的低电压,高性能CMOS 8位单片机,片内含8K Bytes的可反复擦写的只读程序存储器EPROM和25
19、6 字节的随机存取数据存储器RAM,器件采用ATMEL公司的高密度、非易失性存储技术生产,与标准MCS-51指令系统及8052产品引脚兼容,片内置通用8位中央处理器CPU和Flash存储单元,功能强大,AT89C52单片机适合于许多较为复杂控制场合应用。图3-2 AT89C52引脚图AT89C52提供以下标准功能:8K字节Flash闪速存储器,256字节内部RAM,32个I/O口线,3个16位定时/计数器,5个中断源,一个全双工串行通信口,片内具有振荡器及时钟电路。AT89C52管脚图如图2.3所示。AT89C2051芯片的20个引脚功能为: 1. Vcc:电源电压。 2. P1口:P1口是一
20、8位双向I/O口。P1.0和P1.1要求外部上拉电阻。P1.0和P1.1还分别作为片内精密模拟比拟器的同相输入(AIN0)和反相输入AIN1)。P1口输出缓冲器可吸收20mA电流并能直接驱动LED显示。当P1口引脚写入“1”时,其可用作输入端。当引脚P1.2P1.7用作输入并被外部拉低时,它们将因内部的上拉电阻而流出电流(IIL)。 P1口还在闪速编程和程序校验期间接收代码数据。 3. P3口:P3口的P3.0P3.5、P3.7是带有内部上拉电阻的七个双向I/0引脚。P3.6用于固定输入片内比拟器的输出信号并且它作为一通用I/O引脚而不可访问。P3口缓冲器可吸收20mA电流。用作输入时,被外部
21、拉低P3口引脚将用上拉电阻而流出电流(IIL)。 P3口还用于实现AT89C2051的各种功能,如下表3-3所示。P3口还接收一些用于闪速存储器编程和程序校验的控制信号。 4. RST:复位输入。RST一旦变成高电平,所有的I/O引脚就复位到“1”。当振荡器正在运行时,持续给出RST引脚两个机器周期的高电平便可完成复位。每一个机器周期需12个振荡器或时钟周期。5. XTAL1:作为振荡器反相放大器的输入和内部时钟发生器的输入。 6. XTAL2:作为振荡器反相放大器的输出。 表3-3 P3口的功能P3口引脚功能P3.0P3.1P3.2P3.3P3.4P3.5RXD(串行输入端口)TXD(串行输
22、出端口)INT0(外中断0)INT1(外中断1)TO(定时器0外部输入)T1(定时器1外部输入)3.1.3 单片机中断系统介绍中断是指当计算机执行正常程序时,系统中出现某些急需处理的事件,CPU暂时中止当前的程序,转去执行效劳程序,以对发生的更紧迫的事件进行处理,待处理结束后,CPU自动返回原来的程序执行AT89C52系列单片机的系统有5个中断源,2个优先级,可实现二级中断效劳嵌套。由片内特殊功能存放器中的中断允许存放器IE控制CPU是否响应中断请求;由中断优先级存放器IP安排各优中断源的优先级;同一优先级内各终端同时提出中断请求时,由内部的查询逻辑确定其响应次序。采用的外部中断方式包括外部中
23、断0和外部中断1,它们的中断请求信号分别由单片机引脚/P3.2和/P3.3输入。外部中断请求有两种信号方式:电平触发方式和脉冲触发方式。电平触发方式的中断请求是低电平有效。只要在和引脚上出现有效低电平时,就激活外部中断方式。脉冲触发方式的中断请求那么是脉冲的负跳变有效。在这种方式下,在两个相邻机器周期内,和 引脚电平发生变化,即在第一个机器周期内为高电平,第二个机器周期内为低电平,就激活外部中断。由此可见,在脉冲方式下,中断请求信号的高电平和低电平状态都应至少维持一个机器周期,以使CPU采样到电平状态的变化,本次设计所采用的触发方式为脉冲触发方式。3.1.4 单片机定时器/计数器功能介绍AT8
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 51 单片机 自行车 测速 系统 设计

限制150内