精品毕业论文基于单片机的自行车里程计速度计设计_第1页
精品毕业论文基于单片机的自行车里程计速度计设计_第2页
精品毕业论文基于单片机的自行车里程计速度计设计_第3页
精品毕业论文基于单片机的自行车里程计速度计设计_第4页
精品毕业论文基于单片机的自行车里程计速度计设计_第5页
已阅读5页,还剩28页未读 继续免费阅读

付费下载

下载本文档

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

文档简介

目 录一、概述1、设计目的 12、课题简介 1二、系统设计1、总体设计方案 22、硬件部分简介 3(A)AT89c51芯片简介 3(B)硬件设计 43、软件部分 5(A)初始化程序6(B)主程序8(C)中断程序9(D)里程、速度处理程序11(E)显示子程序14(F)延时子程序16三、调试171、硬件调试 172、软件调试 17 四、操作说明19五、参考文献20六、 致 谢21七、附录221、元器件清单 222、整体原理图 233、完整程序 24自行车里程计/速度计的设计一、 概述1、设计目的本设计采用 AT89C51单片机作控制,利用霍尔元件等器件设计一个可用LED数码管显示当前自行车行驶的距离及速度并具有超速报警功能的自行车里程/速度表,使其作为自行车的一种辅助工具,让自行车的功用更强大,给人们带来更多的方便。2、课题简介自行车被发明及使用到现在已有两百多年的历史,在这两百年间人类在不断的尝试与研发过程中,自行车发展的目的也从最早的代步工具转换成休闲娱乐的用途,随着生活水平的提高,人们希望自行车的功能更强大,而里程计/速度计正满足了这个需求。现在先进的里程/速度计不仅能显示实时的速度和里程,还显示时间,甚至具有测量骑车人的心跳、显示骑车人热量消耗等功能。由于时间有限,本设计完成的功能减为两个,即测量并通过 LED数码管进行动态显示当前的速度和里程,并在超速时发出警报。要求达到的各项指标及实现方法如下:1. 利用霍尔传感器产生里程数的脉冲信号。2. 对脉冲信号进行计数。实现:利用单片机自带的计数器 T1 对霍尔传感器脉冲信号进行计数。3. 对数据进行处理,要求用 LED 显示里程总数和即时速度。实现:利用软件编程,对数据进行处理得到需要的数值。最终实现目标:自行车的速度里程表具有里程、速度测试与显示功能,采用单片机作控制,显示电路可显示里程及速度。1二、系统设计1、总体设计方案采用 AT89C51芯片,用霍尔元件将车轮的转速转换成电脉冲,经过处理后送入单片机。里程及速度的测量,是经过 AT89C51的定时/计数器测出总的脉冲数和每转一圈的时间,再经过单片机的计算得出,计算结果通过LED显示器显示出来。传感器是获取自然或生产领域中信息的关键器件,是现代信息系统和各种设备不可缺少的信息采集工具。磁传感器是一种将磁学量信号转变为电信号的器件或装置。随着信息产业、工业自动化、医疗仪器等的飞速发展和计算机应用的普及,需要大量的传感器将被测或被控的非电信号转换成可与计算机兼容的电信号。作为输入信号,这就给磁传感器的快速发展提供了机遇,形成了磁传感器的产业。其中最具代表的磁传感器就是霍尔传感器,在自动检测系统中,利用霍尔传感器测转数是一种最基本的测量工作。单片机是本次设计的核心部件,它是信号从采集到输出的桥梁,而且包括计算、定时、信息处理等功能当轮子每转一圈,通过开关型霍尔元件传感器采集到一个脉冲信号,并从引脚 12即 P3.2外部中断 0端输入,传感器每获取一个脉冲信号即对系统提供一次计数中断。每次中断代表车轮转动一圈,中断数 n轮圈的周长为 L的乘积为里程值。计数器 T1计算每转一圈所用的时间 t,就可以计算出即时速度 v。当里程键按下时,里程指示灯亮,LED 切换显示当前里程,与当速度键按下时,速度指示灯亮,LED 切换显示当前速度,若自行车超速,系统发出报警信号,指示灯闪烁。里程数据自动记忆,也可用于电动自行车、摩托车、汽车等机动车仪表上。设计包括硬件、软件两部分,硬件电路包括 AT89C51单片机的外围电路以及 LED显示电路等,这里对硬件部分只做简单介绍,主要阐述的是软件部分的设计,包括数据初始化程序的设计、主程序的设计、处理子程序的设计、显示子程序的设计;最后针对仿真过程遇到的问题进行了具体说明与分析,对本次设计进行总结。22、硬件部分介绍(A)AT89C51芯片简介AT89C51是一种带 4K字节闪存可编程可擦除的只读存储器即为(FPEROMFlash Programmable and Erasable Read Only Memory)的低电压、高性能 CMOS 8位微处理器,俗称单片机。管脚说明:VCC: 供 电 电 压 。 GND: 接 地 。 P0 口 : P0 口 为 一 个 8 位 漏 级 开 路 双 向 I/O 口 , 每 脚 可 吸 收 8TTL 门 电流 。 当 P1 口 的 管 脚 第 一 次 写 1 时 , 被 定 义 为 高 阻 输 入 。 P0 能 够 用 于 外 部程 序 数 据 存 储 器 , 它 可 以 被 定 义 为 数 据 /地 址 的 第 八 位 。 在 FIASH 编 程 时 ,P0 口 作 为 原 码 输 入 口 , 当 FIASH 进 行 校 验 时 , P0 输 出 原 码 , 此 时 P0 外 部必 须 被 拉 高 。P1 口 : P1 口 是 一 个 内 部 提 供 上 拉 电 阻 的 8 位 双 向 I/O 口 , P1 口 缓 冲器 能 接 收 输 出 4TTL 门 电 流 。 P1 口 管 脚 写 入 1 后 , 被 内 部 上 拉 为 高 , 可 用 作输 入 , P1 口 被 外 部 下 拉 为 低 电 平 时 , 将 输 出 电 流 , 这 是 由 于 内 部 上 拉 的 缘 故 。在 FLASH 编 程 和 校 验 时 , P1 口 作 为 第 八 位 地 址 接 收 。 P2 口 : P2 口 为 一 个 内 部 上 拉 电 阻 的 8 位 双 向 I/O 口 , P2 口 缓 冲 器 可接 收 , 输 出 4 个 TTL 门 电 流 , 当 P2 口 被 写 “1”时 , 其 管 脚 被 内 部 上 拉 电阻 拉 高 , 且 作 为 输 入 。 P3 口 : P3 口 管 脚 是 8 个 带 内 部 上 拉 电 阻 的 双 向 I/O 口 , 可 接 收 输 出4 个 TTL 门 电 流 。 P3 口 也 可 作 为 AT89C51 的 一 些 特 殊 功 能 口 , 如 下 表 所示 : P3.0 RXD P3.1 TXD P3.2 /INT0 P3.3 /INT1 P3.4 T0 P3.5 T1 P3.6 /WR P3.7 /RD RST: 复 位 输 入 。 当 振 荡 器 复 位 器 件 时 , 要 保 持 RST 脚 两 个 机 器 周 期 的高 电 平 时 间 。 ALE/PROG: 当 访 问 外 部 存 储 器 时 , 地 址 锁 存 允 许 的 输 出 电 平 用 于 锁 存 地址 的 地 位 字 节 。 在 FLASH 编 程 期 间 , 此 引 脚 用 于 输 入 编 程 脉 冲 。/PSEN: 外 部 程 序 存 储 器 的 选 通 信 号 。 在 由 外 部 程 序 存 储 器 取 指 期 间 ,每 个 机 器 周 期 两 次 /PSEN 有 效 。 但 在 访 问 外 部 数 据 存 储 器 时 , 这 两 次 有 效 的/PSEN 信 号 将 不 出 现 。 3(B)硬件设计自行车里程计/速度计电路原理图见附录。本次设计信号的捕获采用的是霍尔传感器。 霍尔器件具有许多优点,它们的结构牢固、体积小、重量轻、寿命长、安装方便、功耗小、频率高(可达1MHz) 、耐震动、不怕灰尘、油污、水汽及烟雾等的污染或腐蚀。霍尔线性器件的精度高、线性度好;霍尔开关器件无触点、无磨损、输出波形清晰、无抖动、无回跳、位置重复精度高。取用各种补偿和保护措施的霍尔器件工作温度范围宽,可达55150。X TAL1 和 XTAL2 分 别 为 反 向 放 大 器 的 输 入 和 输 出 。该 反 向 放 大 器 可 以 配 置 为 片 内 振 荡 器 。 石 晶 振 荡 和 陶 瓷 振 荡 均 可 采 用 。 如 采用 外 部 时 钟 源 驱 动 器 件 , XTAL2 应 不 接 。 由 于 输 入 至 内 部 时 钟 信 号 要 通 过 一个 二 分 频 触 发 器 , 因 此 对 外 部 时 钟 信 号 的 脉 宽 无 任 何 要 求 , 但 必 须 保 证 脉 冲的 高 低 电 平 要 求 的 宽 度 。P0口作为输出口用于显示历程状态和速度状态。由于 P0口没有上拉电阻,因此作为输出口时要加上上拉电阻来驱动 LED数码管的点亮。接于引脚 10即P3.2、RXD 的开关用于控制改变显示的方式,当开关闭合时,显示速度;开关打开时显示里程。第 12脚即外部中断 0用于对轮子圈数的计数输入,轮子每转一圈,霍尔传感器输出一个低电平脉冲。第十三脚即外部中断 1用于控制定时器 T1的启停,当输入为 0时关闭定时器。此控制信号是将轮子圈数的计数脉冲经二分频后形成,这样,每次定时器 T1的开启时间刚好为转一圈的时间,根据轮子的周长就可以计算出自行车的速度。P1.4 口和 P1.5口用于 EEPROM存储器24C01的存取控制。11 脚输出用于超速时的报警,此时蜂鸣器发出声音,同时LED灯闪烁。LED数码管采用四位相连的共阴极数码管,片选信号分别通过三极管接至 21-24管脚即 P2.0-P2.4口,从而实现里程和速度的动态显示。自行车的速度里程表的硬件电路设计是基础部分,它包括信号的捕获、放大、整形,单片机的计算处理,数码管的实时显示和单片机外围基本电路的设计,两大主要器件就是传感器和单片机。43、软件部分模块化结构设计即是根据要求和硬件设计的结构,将整个系统的功能分成许多小的功能模块,再根据这些小的功能模块进行程序编写的过程。这样的设计方法,使得系统的整个功能和各部分的功能趋于明朗化。当系统出现问题,就可以根据功能设置找出问题的根源,从而更快地解决问题。所以说,在整个设计过程中,软件设计必须与硬件设计紧密地结合在一起。软件设计包括初始化程序、主程序、行车过程中里程和速度计算子程序、延时子程序、中断服务子程序、显示子程序等。系统软件总体流程图如图 3.1 所示总体设计思路:首先进行初始化,选择车轮周长,P3.0 是用于里程和速度切换的,低电平为显示速度,高电平为显示里程。根据 P3.0 的状态来决定显示内容,P3.0=1 时,转到计算速度子程序并进行显示 ;P3.0=0 时,转到计算里程子程序并进行显示。P1.0 和 P1.1 口分别用于显示里程状态和速度状态。P1.2、P1.3、P1.6 和 P1.7 口分别用于设置轮圈的大小,低电平有效。中断 0 用于对轮子圈数的计数输入,轮子每转一圈,霍尔传感器输出一个低电平脉冲。将根据里程寄存器中的内容计算和判断出行驶里程数。中断 1 用于控制定时器T1 的启/停,当输入为 0 时关闭定时器。此控制信号是将轮子圈数的计数经二分频后形成。这样,每次定时器 T1 的开启时间刚好为转一圈的时间,根据轮子的周长就可以计算出自行车的速度。初始化P3.0=1?计算里程显示里程计算速度显示速度N开始Y图 3.1 系统整体流程图 5(A)初始化程序初始化程序主要完成以下工作:将 T1设为外部控制定时器方式;外部中断 0及外部中断 1设为边沿触发方式;将部分内存单元清 0;设置轮子周长;开中断及定时器;将 EEPROM中的数据调入内存。CLEARMEN:MOV TMOD,#90H ;MOV SP,#75H ;SETB PX0 ;SETB IT0 ;SETB IT1 ;CLR A ;MOV 20H,A ;MOV 6CH,A ;MOV 6DH,A ;MOV 70H,A ;MOV 71H,A ;MOV 72H,A ;MOV 73H,A ;MOV 60H,A ;MOV 61H,A ; MOV 62H,A ;MOV 63H,A ;DEC A ;MOV 68H,A ;MOV 69H,A ;MOV 6AH,A ;MOV 6BH,A ;MOV P1,A ;CLEAR1: JB P1.2,KEY1 ;MOV 21H,#0FH LJMP CLEAR2 ;KEY1: JB P1.3,KEY2 ;MOV 21H,#12HLJMP CLEAR2KEY2: JB P1.6,KEY3 ;MOV 21H,#14H LJMP CLEAR2KEY3: JB P1.7,ERR ; 6MOV 21H,#19HCLEAR2: SETB TR1 ;SETB EA ;SETB EX0 ;SETB ET1 ;SETB P3.1 ;LCALL VIICREAD ;RETERR: CPL P3.1 ;LCALL DL5S ;LJMP CLEAR1 ;初始化具体过程:首先对P1.2口的内容进行查询,若P1.2=0,则说明P1.2口接的按钮被按下,即选择第一种车轮周长,同时将周长存入21H单元内;若P1.2=1,则第一个按钮没被按下,再对P1.3口的内容进行查询,内容为0则将其周长值存入21H中,不为0则扫描P1.6,内容为0则将其周长值存入21H中,不为0则扫描P1.7,若P1.7为0则将其周长值存入21H中,不为0则说明没有选择车轮直径,此时开始报警,并调用延时子程序。接着再从P1.2口扫描,如此循环,直到有键按下后停止报警。7初始化P1.2=1? NP1.3=1?P1.6=1?P1.7=1?出错提示将车圈周长调入 21H开中断,启动定时器NNNYYYY开报警器并延时关报警器图 3.2 初始化程序流程图(B)主程序主

温馨提示

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

评论

0/150

提交评论