基于STC89C52单片机的自行车简易数字里程表项目设计方案_第1页
基于STC89C52单片机的自行车简易数字里程表项目设计方案_第2页
基于STC89C52单片机的自行车简易数字里程表项目设计方案_第3页
基于STC89C52单片机的自行车简易数字里程表项目设计方案_第4页
基于STC89C52单片机的自行车简易数字里程表项目设计方案_第5页
已阅读5页,还剩40页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1 基于 片机的自行车简易数字里程表 项目设计方案 1 引言 在几百年的不断发展、不断设计的过程中,自行车经历了一个漫长的发展历程,并有了较为成熟的制造技术。与此同时,骑自行车也从一个单纯交通使用的角色转变成现在受很多人们爱好的日常休闲活动的方式。 作为使人们能够用于锻炼身体、日常休闲使用的重要方式,很多现有的功能已经无法满足人们的需求。社会的需求推动着技术产业的发展,于自行车行业也同样如此。人们生活质量的提升,要求其必须具有着较为便利的辅助功能,如在骑行的过程中需要了解到行车速度, 为了方便地点距离的测量,还要求其有着可以测量行程的功能。 除此之外,出于上述种种理由,本设计本着在能够满足人们平常生活中锻炼身体、休闲娱乐的目的,在这种形势之下,一台方便、实用的简单数字式自行车里程表就被设计出来了。本设计的速度里程具有速度、里程的检测功能,还可以显示时间并有着清楚、明了的显示界面。该里程表可以将当前的自行车速度及行走的路程直接在液晶屏幕上显示出来,在自行车上安装也特别方便。 为实现所需功能,单片机、霍尔感应器等其它组件组合并可用液晶显示器显示出骑车时的速度及骑行路程是本设计的主要目 标。整个设计分为硬件部分的设计和软件部分的设计。除此之外,自行车速度里程表的设计想法、电路和器件的原理及选择都在本文当中有提及。 课题目标对计划、软硬件设计方案的理论验证,是整个设计工作开始的重要一步。接下来需要提及的便是自行车速度里程表在符合科学设计的基础上,对于如何挑选芯片等元件的选择和怎样设计电路铺设的走向。其中,速度里程表在软 2 件设计层面的设计思路及计划也得到了很好的阐述。对于整个设计过程而言,分析讨论模拟过程、找出存在的问题、进行系统的检查并得出结论是作为最后的关键一步。 除了 片机 外部 电路以及显示电路等 具体的硬件电路和初始化、定时、中断等子程序的软件设计外,整个软件设计过程中,用 C 语言来编写软件。 2 设计分析要求 计要求 ( 1)设计一个基于单片机制作的简易自行车里程表。 ( 2)显示速度、路程等的预期目标可以在该该设计中得以实现。 ( 3)骑行环境达到一定的温度时,系统会提示减速休息。 ( 4)当警报响起时,会反馈一条指令给电动机,拉紧刹车,使车缓慢减速。 ( 5)自行车里程计的基本工作原理能够完全了解。 案 分析 构件简单、并有着较强实用性的本系统可以通过信号采集即由计 数器计算短时间内的路程来求出平均速度,该平均速度近相似于该时刻的瞬时速度。光电对管来完成采集数据的任务,并以矩形脉冲的形式输出。 在本设计当中有若干个按键,可以用来满足自行车不同车型轮子直径大小的设置、对数据进行清 0、调整时间等,整个设计的计数由单片机的 脚来完成。我们在设计过程当中,为实现较好的产品体验,应该全面考虑准确的测量和缩短系统反映过程中的时间。 采用通过脉冲频率来得到速度这种方法虽然能够获得较为精确的精度,我们在计算时却采用的理想状态下的数据,从而会有一定的误差产生。误差不可避免, 3 我们要 尽量的把不可避免的误差控制在一定的合理范围之内。除上述外,在编写程序代码时,确保实现功能所需程序的合理编写在整个过程当中也是非常重要的。 在本设计过程当中,自行车轮胎产生的数字脉冲数据经过霍尔感应器发送给作为控制核心的单片机,单片机经过计算单位时间的数据把最终的结果显示在显示屏上即为单片方式的电路集成。 容易得出结论,本设计的精确程度与霍尔元件计数的准确性有着不可分割的关系。也就是说,在自行车骑行这个复杂的环境中怎样得到正确的脉冲数是完美实现该设计的点睛之笔。对于实现在繁杂工作环境下准确的计算脉冲这个问题,采用的是使脉冲以不同高度的信号来解决该问题。 在下坡等危险容易高速骑行的路段,为了保护使用者人身安全,当自行车速度达到预设的危险值时危险报警器发出警报,与此同时控制刹车的微型发动机转动使得刹车线拉紧从而缓慢降低速度。 在夏季炎热的天气骑行时很容易造成中暑,为此,装有一个温度感应系统。当炎热的温度超过适合人体的极限温度时系统会发出报警提示声,并与上述原理相同缓慢降低速度。 传统常用里程表比较 虽然传统使用磁电式的自行车里程表有着构造简单并有着较为低廉的成本等优点,但其无法抵抗电磁波的干扰。在现代社 会中,移动电话被使用者随时随地的携带,移动电话所带来的电磁波对传统里程表的使用有着致命的影响。其次,当使用者车速过快时,由于过高的电压值会使传感器产生额外次脉冲从而严重干扰了测量的精度同时也降低了产品的使用体验。 自行车工作的环境非常不理想,很强的震动、机油形成的污垢势必有一个适应性强的产品才能够满足种种艰苦的工作要求。而在整个设计过程当中使用适应性、保障性强的霍尔传感器很大程度上解决了此类问题,才使得设计的里程表具有优 4 越的使用性能。 3 系统硬件设计 设计方案 作为 列单片机 中基本的产品属于 89强型版本, 靠 其有着 8 位的处理单元、 8k 的存储器( 较强的硬件条件。除此之外,在低功耗模式下该单片机可以在空余与掉电模式中转换,只需要软件控制就可以。 单片机只有在电源、时钟、复位等硬件条件正常条件下,才可以运行。以 轮的转数以电脉冲的形式由传感元件转换而成并将之解决成一个单独的芯片是本系统的主要目的。用单片机的定时和计数功能来实现路程和速度的计算,原理是每转的脉冲数都可以由定时器和计数器计算出。 如果轮子的周长假设为 C,装 q 个磁铁在轮圈上,那么就会有测的的路程误差值最大为 C/q。只有一个磁铁的时候,霍尔元件检测到一个脉冲信号,也就意味着轮子转了一圈。并且,每当霍尔元件检测到脉冲信号时,相应的就会在 脚 0 端中断输入,与此同时,系统的数量计算也会停止一次。 由上述易得,路程的测量值即为轮子的周长 C*停止的次数 =行程。轮子转一圈所用的时间由单片机上的计数器可计算得出,有转一圈所需的时间那么瞬时的速度很容易就会求得了。为了防止车速过快容易发生意外事故,如果正在骑行的自行车速度达到一丁点设定极限值时,以蜂鸣器当作的警报设备就会 发出声响,提醒骑车的使用者。 如图所示即霍尔传感器测速: 5 图 3尔传感器测速 把有磁性的小钢块固定在没有磁性的材料制成的车轮边缘上,自行车车轮转动一次就会产生一个脉冲在霍尔感应器上 ,再由计数器来测算出转数。 如下即为实现各指标举措: ( 1) 确保霍尔元件出现里程脉冲信号。 ( 2) 用单片机的计数器计算霍尔元件产生的脉冲信号。 ( 3) 通过软件编程来加工数据,为了路程数和瞬时速度可以在显示屏中显示。目标是可以在单片机的控制下,由这三个举措来使速度里程表有路程测量、速度测量并且显示数据的功能。 图 3统框图 小系统 片机 6 图 3片机内部结构示意图 一般情况下,如果将单片机用于操作中连接时,往往会和相应的连接电路、设备等硬软件结合在一起,这 样的话,一个单片机应用系统才会构成。 图 3作为可与 列产品性能完全兼容的单片机, 着 8K 的可编程 储器,在性能上功能消耗非常低。同时, 为很多应用系统非常优质的处理元件,得益于它那 8位的大规模集成电路和能够在线编程的 除了和其他系列的单片机功能之外,能够在节电的情况下运行两种软件。 7 钟电路的设计 振荡时钟与外部的时钟组成了时钟电路。作为协同外部的晶体产生振动电路的时钟电路,可以 正常工作的前提条件是有着相同脉冲的带动,运行的时钟可以提供给单片机。单片机正常工作的前提是运行的时钟为 1,除此之外,也要要求单片机工作时的频率要在所规定的单片机工作频率范围之内。 时钟功能正常运转是整个单片机各种功能运行的重要基础,作为单片机的核心部分,其频率的高低和电路的品质与单片机的稳定性有着非常紧密的联系。本设计在内、外部时钟当中采用内部的时钟方式。 另外,输入、输出端分别为芯片引脚 反相放大器也位于单片机里面,来组成一个振荡器。一个运行平稳的自己振荡器可由可调电容及晶体振荡器与 两个引脚连接而成。 图 3钟电路 复位电路的设计 有了 位输入引脚作为单片机实现初始的一种方法,能够让程序在程序存储当中的初始地址 0000H 开始运行。若使单片机初始复位,则只需要在引脚 要使其不断的复位,则只需要 持高电平即可。否则,单片机不会从 0 地址开始运行,除非 高电平降为低电平。 X T A L 1X T A L 2 p p M 8 首先,手动型的复位和复位电源型复位方式构成了单片机系统的复位方式。由电容的电压不可以在短时间内突然改变的特点及电容的串联电 阻构成的复位电路可以得出,如果给整个系统通上电源,那么高电平将会出现在 脚,除此之外,该电路的 可以决定高电平所持续的时间。 且振荡器稳定后,如果有一个高水平在 脚和保持 2 个机器周期以上,中央处理器可以响应,此时也会重置系统,适当组合的 取值能够使复位保证足够的可能性。设计的该系统是通过按键复位的方式来进行复位操作,单片机复位的前提条件是其当 脚为高电平并且 为高电平输出的引脚。 如图所示为复位电路: 图 3位电路 示电路的设计 将 示模块用于本设计,具有较为美观的人机交互界面和直观的信息传递方式使得液晶显示器有着非常高品质的显示效果。除此之外,采用低电压扫视的 晶显示器有着节能、性能稳定易于控制、低消耗、占用 等优点也使得这种显示器使用范围广泛。 作为专业用于呈现字符及数字的点阵式的液晶显示模块,有多种型号。下图即为一般的 1602 液晶显示器实物图: 0 u F 9 图 3晶显示器实物图 根据有无背光 1602示器分为两个类别,而且有背光功能的厚度要厚一些。如下图即为尺寸差别: 图 3晶显 示模块图 1602 引脚说明表格如下: 编号 符号 引脚说明 编号 符号 引脚说明 10 单 单片机与液晶引脚连接: 第 1 脚: 电源地。 第 2 脚: 5V 电源正极。 第 3 脚: 整液晶显示器对比度端口 第 4 脚: 据电平高低选择寄存器。 第 5 脚: R/W 依据电平高低读写信号线。 第 6 脚: E 端为控制信号输 入端,当 E 端由高电平跳变成低电平时,液晶模块执行命令。 第 7 14 脚: 8 位双向数据端。 第 15 脚:正极接电源背光源。 第 16 脚:负极接地背光源。 1 源地 9 据接口 2 电源正极 10 据接口 3 整液晶显示器对比端 11 据接口 4 息 /指令端选择( H/L) 12 据接口 5 R/W 读写选择端( H/L) 13 据接口 6 E 使能信号 14 据接口 7 据口 15 极接背光电源 8 据口 16 极接背光电源 11 图 3路结构图 液晶显示模块由于接地或接正极会出现最高或最低的对比度,我们可以通过10K 的电位器来调节避免因太高的对比度而使之产生虚影。 键电路的设计 按键作为单片机应用中的重要组成部分,最常用的有单独和矩阵两种类型。本设计采用单独型的键盘,并且每一个按键相应的连接一个单片机端口。 轻度接触型开关常被用于按键, 按键未受到手指的压力时其触点是断开的,只有当手指给予其一定的压力才会有触点接触使开关闭合,按键不会立即闭合或者立即断开因为触点有一定的弹性。在按键闭合、断开的过程当中由于触点具有弹性作用会发生颤动,按键自身的性能及使用者的操作会影响颤动时间的长短。整个按击键盘的过程大概包含五个时段: ( 1) 等候时段:手指未按下键盘,触点未接触。 ( 2) 闭合颤动时段:手指刚刚按下键盘,触点由于弹性作用发生颤动,也必须设置颤动延时来避免误操作。 ( 3) 稳定时段:闭合引发的颤动已经结束,起作用的按键动作已经形成。 12 ( 4) 断开颤动阶段:手指慢慢松 开按键时,触点由于弹性作用也会发生颤动,同理,也需设置颤动延时来防止误操作。 ( 5) 键盘松开时段:由于机械的性能而产生的颤动已消失,触点恢复未接触。 图 3键电路 报警电路的设计 如果固定频率的矩形的电磁波能够由单片机的口线发出高或低的电平而产生,那么安装一个喇叭就可以使频率化成声音。发出的频率也可以通过调节高低电平的维持时间来改变,进而使喇叭产生不一样的声响即使音调发生变化。 在 5V 的电压下,蜂鸣器正常工作,除此之外,上拉电阻也没有必要安装在口处。重要的是, 5V 的电源要与三极 管的发送端相连接,三极管的阴极与1K 的电阻相接,电阻最后要接 ,蜂鸣器正负极分别与三极管集电极和地相接。 13 图 3鸣器发声电路结构图 蜂鸣器无法发出声响,前提是正在行驶的速度小于已设的警示速度。如果行驶的速度达到了设定的警示值,则蜂鸣器会发出报警的声响,此时控制刹车的微型发动机转动缓慢拉紧刹车线使速度降低。 尔传感器 图 3尔传感器 作为使用 霍尔效应制成的一种磁敏传感器 ,即霍尔感应器。 当我们对放在磁场的半导体、导体开通电流并且磁场垂直电流 , 那么会有电势差 在磁场和电流都垂直的方向 产生 , 即 霍尔效应。 以 霍尔效 应为基础的霍尔元件,由于有着简单的构造、较高的 灵敏度 、耐高温等一系列优点,还能够测出没有转速的情况,在环境恶劣的环境中正常工作,在检测技术、处理信息的地方经常显示出它们的身影 。 磁通量的大小因传 感器内部的转轴转动而发生变化,从而得到相应的反馈信号。由半导体制成的霍尔元件需要给以电流,并且将信号处理等系列功能聚焦于一张芯片,霍尔元件磁场变大也会导致传感器磁通量发生变化。 14 图 3尔 传感器外形 霍尔传感器的使用往往与与之匹配的组件共同使用,因为不能产生较大的电势差所以会有放大器电路来进行信号放大,也要有温度补偿和稳定电压的电路给予功能上的补偿。上图所示为一种型号的霍尔传感器外观,容易看到,其体积较小。 图 3性霍尔传感器特性 如上图所示,当磁场的强度位于 2 的范围内时,输出的电压和外面的磁场强度之间有着较好的线性关系。也容易发现,当磁场场强超过一定范围则电压大小维持不变,而在一般适合骑行的环境中,霍尔传感器的线性特性完全可以实现。 钟芯片 15 23456789 1R P 1 P A C K 5S 7I/C 18V 1 3 0 2 S T A 钟电路 号的芯片作为时间芯片用于本次设计,作为有着微小电流充电功能的低消耗时钟电路,在 工作电压下, 有着年、月、周、日、时、分、秒进行计时等的功 能。 由于使用串行的数据传输方式,在其内部还置放临时性储存信息的 存器,也就意味着即使没有电,信息也不会失去。 脚、 行时钟引脚和I/O 串行数据引脚组成了时钟芯片与 连接线。另外,计时的脉冲也由作为备用电源的 片外接晶振 供。 度控制 炎热的夏日街头,很容易看到全副武装的骑友们,为了防止阳光的曝晒在身上覆盖很多厚实的防护服。由于骑行过程中疲惫时精神不集中,特别容易引起中暑现象,在车辆川流不息的马路上这是异常危险的。在自行车行程速度表 内安装温度感应器就可以很好避免这类问题。 我们设定一个自己的身体在曝晒的情况下能够承受的最大温度值,并输入进单片机系统,也通过由蜂鸣器来警报炎热温度。比如说:当我们在骑行时,温度逐渐上升到我们的设定值时,系统通过蜂鸣器发出警报并启动控制刹车的微型电动机,微型发动机转动从而拉紧刹车线。为了防止降速过快容易发生侧翻电动机缓慢转动使得车速缓缓降低,让使用者安全的停下休息。 车系统 16 图 3型发动机控制刹车原理图 刹车原理:当收到刹车的指令时,单片机启动微型电动机,电动机转动。由于电动机与 刹车线接触的圆柱形转轮直径较小,故山车线被拉紧的速度较为缓慢,从而使得速度缓慢降低,避免了降速过快引发的一些意外事故。 4 设计与实现 软件编程 硬件是设计的四肢,则软件是设计的大脑。单片机的优越性能就是可以由软件来操作,在此过程中,科学性、正确性是整个程序设计所要遵守的原则。以先整体再部分的设计思路每层仔细分开来,再研究各层次的关系并计划好细节。 主程序,计算、延时、显示及中断等子程序组成了软件设计。 程序 流程 ( 1) 本系统的总体流程图如图所示。 17 图 4程序流程图 设计方案及其步骤: 1. 以系统所需和相应实现的操作为基础来进行规划模块。 2. 要在确定整个设计的设计平台之后,再确定程序的设计语言及如何设计和调整各类模块的功能。 3. 在设计时一定要把模块之间数据传递的原理了解清楚,为了增加各模块的自主性也要 减少其之间的传递。 4. 保证自身清楚的思考路线,合理调整程序调用、中止的关系。 示流程 18 使 用 静态扫描来 显示 子程序,把 单片机的 接到使能端口 E 是第一步,然后便将数据 /命令选择端 单片机的 接起来 , 7 的数据端口和 接起来,并把 显示的 数字指令传递到 。 除上述过程,使用延时的功能把 设置为 0, 把 设置为 1。继续还要把 口置 于 1, 把 口置于 1,在数字显示之前一直持续改写数据 。 图 4示流程图 速度处理流程 图 4度处理流程图 19 温度处理流程 图 4度处理流程图 真电路 件简介 除了有基本的电子设计自动化功能外, 模仿 单片机 以及 外 部零件等方面也有着非常实用并且有效的功能 。 在国内发展的短短时间内,其卓越的用户体验已经让它在单片机及周边行业好评如潮。 作为风靡世界的 具,无论是从布置原理图、检测数据还是实际电路的模拟上, 做出了非常大的贡献。 在虚拟框架到实体的设计过程当中做出了历史性贡献,是多种优秀功能软件的结晶,并且适合于多种型号的 处理支持。 果 绘制仿真图要点: 20 ( 1) 找出所需元件。 ( 2) 以电路图为基础进行连接。 运行 C 程序产生的 件来开始仿真。 图 4真图 21 5 调试与测量 分析 图 5路实物图 图 5物运行图 如果在电路中最低端的系统电路无法运转,检测电源是否有正常的电压是首先做的工作。判断电源电压的常用方法是用电压表测电源接口与接地接口的电压,看是否为 5V 左右。 22 附录 程序 # /调用单片机头文件 #255 #65535 ; /钟线定义 ; /数据线 ; /复位线 /秒 分 时 日 月 年 星期 =0 /写地址 =0 /读地址 =0 ri,i; , /开始计算速度使能 /要确定车子是否停下了 /每秒走的距离 /总路程 /直径 55; 1; /1s /菜单设置变量 /菜单设置变量 /总量程 23 /定义速度的变量 80; /报警速度 /这三个引脚参考资料 10; /寄存器选择信号 H:数据寄存器 L:指令寄存器 11; /寄存器选择信号 H:数据寄存器 L:指令寄存器 e =; /片选信号 下降沿触发 =0123456789 i; ; /蜂鸣器 定义 /*1时函数 */ q) i,j; i=0;i= 1; /把地址右移一位 1; /时钟线拿高 i=0;i= 1; /把数据右移一位 1; /时钟线拿高 0; /复位线合低 0; 0; /*从对应的地址读一个数据出来 */ i; 1; /把复位线拿高 i=0;i= 1; /把地址右移一位 1; /时钟线拿高 i=0;i= 1; if(= 1) = 0 1; /时钟线拿高 0; /复位线合低 0; 0; /返回读出来的数据 /*把要的时间 年月日 都读出来 */ 30 ); /读秒 = ); /读分 = ); /读时 = ); /读日 = ); /读月 ); /读年 ); /读星期 /*把要写的时间 年月日 都写入 */ /打开写保护 , /写秒 , /写分 , /写时 , /写日 , /写月 , /写星期 , /写年 /关闭写保护 /*把数据保存到 *0*/ 3) /2 秒 0; /速度为 0 ( 0; = 1) 0; 0; /1s = 1 / 1000000 / 1m/s=以 1/3600h= ( 256 + ; /算出来就是秒 0; /把变量清零 0; 0; ; /算出来的是 m/s ( (; /总路程 m /(带个小数点 ) km/s (= ,3, ,3, /*独立按键程序 */ /按键值 /独立按键程序 34 20; /按键值还原 = 0 /对应的按键 输出为 1 0!= 0 /按键按下 ); /按键消抖动 ( 0!= 0& (= 1) /确认是按键按下 0; 3 & 0 4; /得到按键值 3; ; /得到按键值 1; /得到按键值 / ,0, /显示按键值 1; /*设置函数 */ if(= 1) /设置键 ; if(= 1) /设置时间 1; ,0, : : W: ); ,0, 20 - - ); if(= 2) /设置报警速度 1; 35 ,0,0km/h ); ,0, ); if(= 3) /设置直径 1; ,0, ); ,0, ); 1; if( 2) /回到正常显示 0; ,2,0); /关闭光标 ; /1602 初始化 /初始化液晶显示 if(= 2) /选择键 if(= 1) /设置时间 +; if( 7) 1; if(= 2) /设置 +; if( 2) 1; if(= 1) if(= 1) /设置时 if(= 3) /加 36 0 0= 0 ( 0+ 0if(= 0 0; if(= 4) /减 if(= 0 0 0= 0 ( 0- 0- ; if(= 2) /设置分 if(= 3) /加 0 0= 0 ( 0+ 0if(= 0 0; if(= 4) /减 if(= 0 0 0= 0 ( 0- 0- ; if(= 3) /设置秒 if(= 3) /加 37 0 0= 0 ( 0+ 0if(= 0 0; if(= 4) /减 if(= 0 0 0= 0 ( 0- 0- ; if(= 4) /设置星期 if(= 3) /加 0 0= 0 ( 0+ 0if(= 0 1; if(= 4) /减 if(= 0 0 0= 0 ( 0- 0- ; if(= 5) /设置年 if(= 3) /加 0 38 0= 0 ( 0+ 0if(= 0 1; if(= 4) /减 if(= 0 0 0= 0 ( 0- 0- ; if(= 6) /设置月 if(= 3) /加 0 0= 0 ( 0+ 0if(= 0 1; if(= 4) /减 if(= 0 0 0= 0 ( 0- 0- ; if(= 7) /设置日 if(= 3) /加 0 0= 0 39 ( 0+ 0if(= 0 0; if(= 4) /减 if(= 0 0 0= 0 ( 0- 0- ; ,2, /显示时 ,5, /显示分 ,8, /显示秒 ,1

温馨提示

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

评论

0/150

提交评论