简易自行车数字里程表设计

上传人:bin****86 文档编号:49675574 上传时间:2018-08-01 格式:DOC 页数:31 大小:397KB
返回 下载 相关 举报
简易自行车数字里程表设计_第1页
第1页 / 共31页
简易自行车数字里程表设计_第2页
第2页 / 共31页
简易自行车数字里程表设计_第3页
第3页 / 共31页
简易自行车数字里程表设计_第4页
第4页 / 共31页
简易自行车数字里程表设计_第5页
第5页 / 共31页
点击查看更多>>
资源描述

《简易自行车数字里程表设计》由会员分享,可在线阅读,更多相关《简易自行车数字里程表设计(31页珍藏版)》请在金锄头文库上搜索。

1、本本 科科 毕毕 业业 论论 文文题 目: 简易自行车数字里程表设计 I摘 要本文对自行车里程表的结构、设计原理进行了介绍,并应用芯片 LM339 和 AT89S51设计、制作了自行车里程表。文章介绍了所用芯片的存储结构、各管脚的功能,对各个模块的工作原理进行了分析。并对自行车里程表进行了展望。本文先对里程表设计当中所需设备作了详细介绍,对设计中存在的问题进行了说明;而后对硬件和软件部分的设计和实现作了认真的分析;然后给出了系统的建模过程及相应的系统模型,在此基础上进行了控制仿真,并对仿真效果进行了比较。本里程表的设计具有结构简单,成本低廉,显示清晰,稳定可靠等优点。并且可进行扩充,加入时速表

2、的功能,更加方便的了解你现在所处的情况。【关键词关键词】光电对管;单片机 AT89S51 ; LM339;键盘;IIAbstractIn this paper, the structure and principle of traditional bicycle odometer are introduced, and applying LM339 and ATS89S51 has designed and made a bicycle odometer The article has introduced what be memory structure of used chip , eve

3、ry function of pin ,and has carried out analysis on operating principle of each modules, and has been in progress to design of bicycle odometer to look into the distance.This article first right Odometer designs required equipment, details of the design issues of; Later on hardware and software desi

4、gn and implementation carefully analyzed; Then the system modeling process and the corresponding model, based on the control simulation, Simulation results also were compared.Odometer the design of the structure is simple, low cost, showing clear, stable and reliable results. And can be expanded to

5、speed the function table and more convenient understand you are now stand. Keywords: photoelectric cell; AT89S51;LM339; keys;摘 要 IABSTRACT .II1 绪论.11.1.课题的背景与意义.1 1.2 课题所要解决的主要问题.12 系统设计.22.1.系统功能分析.2 2.2.系统功能模块设计.2 2.2.1 硬件电路设计 .2 2.2.2 软件设计 .83 程序代码103.1.数据采集程序10 3.2 键盘扫描程序 10 3.3.中断程序114 系统调试与结果分

6、析134.1电路调试.13 4.1.1 硬件调试 13 4.1.2 软件调试 13 4.2结果分析.135 总结与展望15致谢 .16参考文献 .17附录 1 程序原代码 .18附录 2 系统电路图 .25附录 3 系统实拍图 .2711 绪论1.1.课题的背景与意义中国的轻型电动车产业在 2000 年进入产业化发展阶段,目前正处于产业生命周期快速增长阶段的初期。尽管处于处处封杀的重压下,消费者对这一新兴交通工具的青睐,推动轻型电动车产业近年来保持了 80%以上的增长速度。2005 年,在整体经济需求增长放慢、工业增速回落的背景下,轻型电动车行业却出现令人瞩目的“井喷”行情,成为耐用消费品市场

7、不多的“亮点”之一。2006 产销量达到 1500 万辆。据此估算,2010 年,中国轻型电动车的产销量将可能达到 3000 万辆,出口量将可能达到 500600 万辆。实现工业产值 700 亿元,包括上下游带动产值的产业总体规模将达到 1300 亿。我国是自行车大国,随着人们生活水平的不断提高,自行车已经不仅仅是运输、代步的工具,其辅助功能也变得越来越重要。因此,人们希望自行车的娱乐、休 闲、锻炼的功能越来越多,能带来大家更多的健康与快乐。在这个背景下,自行车里程表作为自行车的一大辅助工具迅速发展起来.科学、美观、合理设计自行车里程表有一定的实用价值.它能合理计算出速度及公里数,使运动者运动

8、适量,达到健康运动与代步的最佳效果。随着自行车里程表的发展,其功能也逐渐从单一的里程显示发展到速度、时间显示,甚至有的还具有测量骑车人的心跳、显示骑车人热量消耗等功能,让人能清楚地知道当前的速度、时间、里程等物理量。1.2 课题所要解决的主要问题(1).设计一个轻便、省电、全天候野外使用的自行车里程表;(2).可显示里程、速度、加速度,行驶时间等信息;(3).适用于各种车型(不同尺寸) ,车型信息可通过键盘设置22 系统设计2.1.系统功能分析本系统可以实现自行车或电动车在行驶过程中速度,里程数的显示功能。系统元件简单,实用性强。通过光电对管进行信号的采集,每来一次信号,计数器加一,每五秒钟计

9、算一次平均速度。本系统的核心在于单片机,把采集到的数据送入单片机后进行处理,再通过单片机把处理好的数据通过液晶显示出来,从而实现速度和里程的显示。本系统是由数据采集,单片机控制系统,键盘显示,液晶显示 4 部分构成。其中数据的采集是由光电对管来完成的,它的输出是矩形脉冲,其中关键的处理由单片机系统来完成,单片机将对 P3.0 脚的信号进行计数,输出的信号由液晶进行显示,显示当前的行驶里程情况。键盘的作用是输入自行车的车型等信息,以上所诉就是整个系统的总体设计思想。6 该设计能实时地将所测的累计里程数显示出来,主要是将传感器输入到单片机的脉冲信号的频率(传感器将不同车速转变成不同频率的脉冲信号)

10、实时地测量出来,通过单片机计算出里程,并由液晶显示模块显示所测里程。本设计的里程数的算法是一种大概的算法(假设在一定时间内自行车是匀速行进,平均速度与时间的乘积即为里程数)。设计时,应综合考虑测速精度和系统反应时间。本设计用测量脉冲频率来计算速度,因而具有较高的测速精度。在计算里程时取了自行车的理想状态。实际中,误差控制在几米之内,相对于整个里程来说不是很大。另外,还应尽量保证其他子模块在编程时的通用性和高效性。 2.2.系统功能模块设计2.2.1 硬件电路设计1.系统数据采集电路信号采集单元采用一对光电管15,光电管信号采集是通过光强弱的变化从而得到电信号的。如图 2-1 所示随着铝盘的转动

11、,发射管光线也随之通过或不通过过孔。接收管感应到光线的强弱发生变化以电信号的形式输出,这样就实现了信号的采集。为了避免外界光线的干扰和保证定位探测的精度,首先要将光电管在一定距离内对准固定住,同时在光电管上套上紫铜管9。3图 2-1 数据采集电路图2.信号预处理单元硬件设计信号预处理单元要对信号进行放大,本系统设计通过 LM339 比较器使得信号预处理电路变得简单。LM339 在使用时要接上拉电阻,通过正负端输入电压的大小比较(正端输入电压负端输入电压,输出+5V 电压;正端输入电压1 | 0x80; if(ptr10)return a; return m_ptr; 这里的 FLAG 是标记键

12、盘有没有按下的,ptr 是记录按下键盘的键值所对应的数值。在程序的最后为什么添加个 m_ptr 呢?这是为了满足,width 能够在 0-100 内取值,因为如果 width10 的话,就必须输两次。在这里,程序中每次都要求用户输入两个数据,如果第一次输入是在 0-9 内的,第二次输入也在 0-9 的,那么 width 就是一个两位数;如果第一次输入在 0-9 内的,第二次输入大于 10 的,那么程序就认为 width 是 0-10 的数,数值就等于第一次输入的值,在程序中也就是 if(ptr10)return a;在下面的程序中就会对键盘扫描得到的值进行分析,判断是不是a.这样就实现了键盘输

13、入的 width 可以控制在 0-99 了。33.3.中断程序void Timer() interrupt 1 TR0=0;TH0=0x0fe;/重新设定定时时间TL0=0x0c;if(m_usetime=5000)/每五秒算一次速度11speed=(6.28*wheel_width*count)/5.0;/计算速度m_usetime=0; count=0;distance_n+=5*speed;if(distance_n=100)distance=(distance+distance_n/1000.0); distance_n=0; else m_usetime+;TR0=1;在中断里的任务

14、主要是实时的计算自行车在行驶中的速度和里程数,在本程序中,采用每五秒计算一次速度,因为自行车的速度比较慢,可能在 1 秒内光电对管收不到信号,所以这里显示的速度就是每 5 秒自行车速度的平均值,精确到 0.1m;而里程数是精确到 0.1km,程序中以 distance_n 来提示里程增值是否到达 100,如果到达一百那么里程数就加 0.1;但是由于晶振可能有问题,所以这里的定时器总是不是很准确。源程序详见附录 1。124 系统调试与结果分析4.1电路调试4.1.1 硬件调试本电路的硬件部分比较简单,在调试过程中,主要是信号采集电路与 1602 液晶模块的调试。信号采集电路采用的光电对管在电路焊

15、接中,两个对管一定要对得很准否则就可能影响信号的采集,本人在调试光电对管的时候就发生这样的情况,由于两个对管都是直接焊接在开发板上的,但是在对齐上面有偏差,就导致了信号不能采集。最后用了光电对管的最小模块系统,成功的采集到信号。而 1602 液晶显示则必须注意调节它的背光,否则不能正常显示。如果电路连接正常,上电后,看到液晶有正常的亮度,但是不能显示实验的数据时,首先应该考虑到液晶的背光没有调节好,之后才考虑到硬件或软件的问题。4.1.2 软件调试本系统的核心部分是软件,因此在前期的工作中主要的工作就是调试软件,在proteus 仿真中正常执行。下面讲下本人在软件调试中遇到的各个问题首先是变量

16、的定义问题,大家都知道,在 C 语言中我们习惯的使用 int 型的数据,但是在单片机软件的设计中,如果变量很多,就应该避免使用 int 型的,尽量使用 unsigned char 型的,因为单片机的内部存储器有限,用 unsigned char 可以节省空间。本人开始由于都使用 int 型,导致最后生成的 hex 文件过大。但是,当我们使用的数据的值大过 256时,我们就不能使用 unsigned char 类型,否则就会导致数据溢出,这时我们就要使用unsigned int 型或 short 型,本人在调试的时候,当速度小的时候都能够正常显示,当速度很大的时候,1602 显示的数据就不对,经过对程序的检查才知道是数据类型的定义问题。之后就是程序的流程必须先画好,程序各个模块的代码先写好,之后再根据程序的流程图整合各个模块的小程序,同时要注意程序的时序问题。134.2结果分析本系统使用的是光电对管来进行数据采集,光电对管产生的信号非 0 即 1,也就是方波,因为实验

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 大杂烩/其它

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号