基于单片机的里程表设计_第1页
基于单片机的里程表设计_第2页
基于单片机的里程表设计_第3页
基于单片机的里程表设计_第4页
基于单片机的里程表设计_第5页
已阅读5页,还剩38页未读 继续免费阅读

下载本文档

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

文档简介

单片机原理及应用单片机原理及应用A课程设计课程设计 学 院: 电 气 工 程 学 院 题 目: 基于单片机的里程表设计 起止时间: 2016年8月22日至2016年9月9日 学 生 姓 名: 专 业 班 级: 指 导 教 师: 教研室主 任: 院 长: 2016年8月20日 单片机原理及应用单片机原理及应用A课程设计课程设计 任务书任务书 学 院: 电气工程学院 题 目: 基于单片机的里程表设计 起止时间: 2016年8月22日至2016年9月9日 学 生 姓 名: 专 业 班 级: 指 导 教 师: 教研室主 任: 院 长: 2016年8月20日 一一. . 课程设计内容课程设计内容 完成一个基于单片机的里程表设计。课程设计内容如下: 1 系统功能 2 系统方案设计 3. 系统硬件电路的设计 3.1单片机系统及显示电路 3.2霍尔元件测速模块电路 3.3 里程数据存储模块电路 4. 系统程序的设计 4.1霍尔模块测速的算法设计 4.2主程序流程图 4.3霍尔模块测速数据接收中断程序 5. 调试及性能分析 5.1调试 5.2性能指标 6. 收获与体会 7. 参考文献 8. 附录1:源程序清单 . 附录2:制作实物照片 二二. 课程设计要求课程设计要求 1.课程设计报告写作请参考“课程设计报告写作的内容、要求与应注意的一些问题课程设计报告写作的内容、要求与应注意的一些问题”。所 有的文档和表格必须采用Word形式,格式按照“课程设计报告写作的内容、要求与应注课程设计报告写作的内容、要求与应注 意的一些问题意的一些问题”要求。 2.设计报告中的电原理图,设计报告中的电原理图,PCB图、元器件布局图必须采用自己画的图。不能够抄袭别图、元器件布局图必须采用自己画的图。不能够抄袭别 人的应用电路、程序、人的应用电路、程序、PCB图,必须自己完成,抄袭图,必须自己完成,抄袭者和被抄袭者都不及格。者和被抄袭者都不及格。 3.设计资料中的有关的公式可以直接采用。设计资料中有关的曲线图可以直接采用,成 文时根据需要选用(可放大300倍后裁剪到Word文档中),以图文清晰为标准。 4.英文资料中的图可以直接采用(可放大300倍后裁剪到Word文档中),图中的英文可以 采用英文(中文)方式翻译在图下或者文章中。 5.英文资料中的一些词,如果翻译拿不准,可以采用英文(中文)方式标注。 6. 课程设计报告需要写自己的收获和体会。不能够抄袭别人的收获和体会,不能够抄袭别人的收获和体会,雷同者不及雷同者不及 格。格。 7. 每个人需要交文字稿和电子稿,采用2003Word(或者更高版本)文档形式。 三三. 课程设计进度(时间)安排课程设计进度(时间)安排 课程设计进度(时间)安排如下: 1. 2016年8月22日2016年8月24日 理解课程设计题目的设计要求,查阅相关资料; 2. 2016年8月25日2016年9月4日 完成各部分电路设计及系统调试; 3. 2016年9月5日2016年9月6日 完成课程设计初稿; 4. 2016年9月7日2016年9月8日完成完整的课程设计报告; 5. 2016年9月9日 上交课程设计作品并答辩。 四四. 参考文献参考文献 (1)黄智伟. 凌阳单片机课程设计指导M北京:北京航空航天大学出版社,2007 (2)周航慈.单片机程序设计基础M北京:北京航空航天大学出版社,1997 (3)求实科技.单片机典型模块设计实例导航M北京:人民邮电出版社,2004 (4)余永权.89系列(MCS- 51)Flash单片机原理及应用M北京:电子工业出版社,2003 (5)王幸之.单片机应用系统电磁干扰与抗干扰技术M北京:北京航空航天大学出版 社,2006 (6)黄智伟全国大学生电子设计竞赛技能训练M北京:北京航空航天大学出版社 ,2007 (7)黄智伟印制电路板(PCB)设计技术与实践(第二版)M北京:电子工业出 版社,2012 (8)郭天祥.新概念51单片机C语言教程:入门 提高 开发 拓展全攻略M北京:电子工业出版社,2009 指导老师:黄智伟指导老师:黄智伟 2016年8月20日 南华大学电气工程学院课程设计 摘要:摘要:本次设计是采用MSC-51系列单片机中的STC89C52RC和YL- 57霍尔传感器模块以及24C02B(E2PROM)模块构成的低成本电子式里程表。单片 机STC89C52RC是一款低功耗、高性能的CMOS8位单片机,由于它强大的功能和 低价位,因此在很多领域都是用它。YL- 57霍尔传感器模块是有磁场切割就有TTL电平信号输出,该模块包括一个74HC04 和一块3144霍尔传感器,该产品具有品质卓越、超快响应、抗干扰能力强、性价 比极高等优点。设计主要包括硬件电路的设计和系统软件的设计。 硬件电路主要包括单片机、霍尔磁感应检测模块、显示模块、蜂鸣器以及控 制设备等5部分。由LCD1602液晶模块构成系统显示模块;测速控制电路由YL- 57霍尔传感器模块和预设速度值比较警告电路组成,同时将行驶里程数存入E2PR OM使里程数断电不丢失;用户根据需要预先输入车轮周长和限速速速,测量实 际行驶速度,发出警告信号(蜂鸣器蜂鸣),敦促驾驶员减速行驶。 软件部分包括了主程序、显示子程序、E2PROM读写子程序。 关键词关键词:STC89C52RC;YL-57霍尔传感器模块;24C02B(E2PROM) 模块 南华大学电气工程学院课程设计 目 录 1. 系统功能.1 2. 系统方案设计.2 3. 系统硬件电路的设计.9 3.1单片机系统及显示电路.9 3.2 霍尔元件测速模块电路.12 3.3 里程数据存储模块电路.12 4. 系统程序的设计.12 4.1霍尔模块测速的算法设计.12 4.2系统流程图.13 4.3霍尔模块测速数据接收中断程序.13 5. 调试及性能分析. .14 5.1调试.14 5.2性能指标.14 6. 收获与体会.14 7. 参考文献.16 8. 附录1:源程序清单.17 附录2:制作实物照片.17 南华大学电气工程学院课程设计 第 1 页 共 36页 1.系统功能 随着现代科学技术的发展,人们使用不同手段外出的机会逐渐增多,像单车 、摩托、汽车、巴士等。然而这些各不相同的交通工具由于应用场合和自身结构 设计的不同产生了各种各样的车速里程表,即使同一种类的交通工具也因测速方 法和生产厂家的不同产生了不同型号的车速里程表。种类繁多的行车里程表,不 仅减小了里程表的适用范围,降低了器件的通用性,更给这些交通工具的维护更 换带来不小困难,而且由于量产规模的减小增加了单个里程表的价格。同时市场 上销售的很多里程表功能单一,无法满足不同用户对单里程、总里程、超速报警 等各种功能的需求。 在这种背景下,这次课设希望设计出一种精度高、可靠性高、价格合适、功 能丰富且的电子里程表。 在本课设中,利用安装在汽车转轴上的磁铁,在汽车行驶中,磁铁随着车轮 做圆周运动,从而使霍尔元件产生脉冲,这些脉冲可由单片机外部中断INT0记录 ,再通过相关公式计算得到车速及里程信息,用一个LCD1602显示,从而得到车 速和里程等信息。在里程信息的存储功能上,采用了广泛使用的串行EEPROM芯片 AT24C02N,每秒将芯片内的里程信息更新一次,掉电情况下也不会丢失里程数据 。 以单片机为核心的智能电子里程表,不仅可以显示车辆行驶的总里程,还可 以显示车速,以及实现超速报警等功能,并具有较强的再开发能力。该系统可以 方便的实现汽车速度、行驶里程的测量和显示,它使用起来相当方便,具有精度 高、量程宽、灵敏度高、体积小、功耗低等优点,有利于我们日常生活和汽车生 产业的发展,也可以当作测速处理模块嵌入其它系统中。 该系统结构简单,抗干扰能力强,适合于多种环境下进行速度里程测量,有 广泛的应用前景。 南华大学电气工程学院课程设计 第 2 页 共 36页 2. 系统方案论设计 2.1设计过程 一个以单片机为核心的电子里程表,需要实现的功能为: (1)能够准确的显示当前的行驶速度以及行驶的距离。 (2)一旦发现超过了当前速度预设速度值,蜂鸣器蜂鸣警报驾驶 员减速行驶,速度恢复正常停止警报。 (3)系统的显示方式为采用LCD1602液晶屏显示。 (4)系统通过将里程数据写入EEPROM芯片AT24C02中,保证在 掉电情况下也不会丢失里程数据。 (5)通过扫描按键的方式,当按下指定按键后可以将总里程数清 零,实现总里程重新计数。 2.2设计总体方案及其论证 本设计要实现的功能是:实时显示当前行驶速度值,并且在当前速度超过系 统预设速度时,系统会以蜂鸣器鸣响的方式进行警报提示,敦促驾驶员减速到安 全速度,蜂鸣器停止鸣响,系统通过IIC总线协议将当前里程数写入EEPROM芯片 实现断电记忆功能。 1) 速度测量:对当前行驶速度进行测量与限制数值比较并在显示器显示。 2) 显 示:LCD1602就地显示此时此刻行驶速度和行驶的总里程数据。 3) 里程存储:通过每秒操作EEPROM将里程数据写入,提供里程数断电 保护功能。同时通过按键实现清零功能。 依据功能设定,本系统主要分为以下三个模块: (1) 速度值采集模块 (2) 数据处理模块 (3) 用户交互模块 其中速度值采集模块使用的是YL- 57霍尔传感器模块,它使用单路TTL电平信号输出,接口简单,而且无需校准。 测速电路搭建简单。 南华大学电气工程学院课程设计 第 3 页 共 36页 数据处理模块使用的是STC89C52RC单片机,其完成霍尔传感器数据的采集 、运算和逻辑控制的功能。通过运算计算出当前速度值以及行驶的总里程数。同 时与系统预设安全行驶速度进行比较,提示驾驶员是否超速行驶,并将里程数据 存储到外部EEPROM。 用户交互模块主要由按键、1602点阵液晶、蜂鸣器构成。其中按键用于用户 清零总里程数据,1602用于当前速度,总里程显示,蜂鸣器用于提示用户。 按照系统的设计功能所要求的,电子里程表系统原理图如下图2.2.1所示: 图2.2.1 电子里程表系统原理图 单片机作为主控制器,主要负责处理由霍尔传感器送来的电平数,并把处理 好的数据送向显示器模块,霍尔传感器主要用来采集车轴的转动圈数信息,并把 所采集到得数据送向单片机,按键电路主要是用来完成单片机的复位操作和里程 数的清零操作。蜂鸣器电路就是用三极管来实现控制的,用来提示用户已超过设 定的安全速度。 2.3 器件选定 2.3.1霍尔传感器 霍尔传感器是根据霍尔效应制作的一种磁场传感器霍尔效应是磁电效应的一 种,这一现象是霍尔(A.H.Hall,1855 1938)于1879年在研究金属的导电机构时发现的。后来发现半导体、导电流体等 也有这种效应,而半导体的霍尔效应比金属强得多,利用这现象制成的各种霍尔 元件,广泛地应用于工业自动化技术、检测技术及信息处理等方面。 YL- 独立按键 霍尔传感器 LCD1602 EEPROM 警报(蜂鸣器 ) 单片机 STC89C52RC 南华大学电气工程学院课程设计 第 4 页 共 36页 57霍尔传感器模块是利用霍尔效应把强弱交替的磁信号转换为电平脉冲信号的器 件。把霍尔3144安装在靠近车轮的固定支架上,磁铁安装在随车轮转动的地方, 当磁铁靠近3144时,霍尔第三脚输出0V电平,YL- 57模块将3144信号处理后以TTL电平信号通过DO脚输出,模块无触发,输出低电 平,模块有触发,输出高电平。单片机通过相关公式算出里程、速度等各值。YL -57霍尔传感器的优点是稳定可靠和安装简易。 图2.3.1 YL-57霍尔传感器实物图 YL-57霍尔传感器产品参数: 模块说明 1 .尺寸:2.7 cm* 1.4 cm 2 .主要芯片:74HC04 、3144 霍尔传感器 3 .工作电压:直流 5 伏 接口说明 1 .VCC 外接 5V 电压 2 .GND 外接 GND 3 .DO 小板数字量 开关量 输出接口( 0 和 1 ) 2.3.2 3144电气特性 VDD=8V,T = 25。电气特性如表2.3.1。 表2.3.1 3144霍尔传感器电气特性 南华大学电气工程学院课程设计 第 5 页 共 36页 2.3.3引脚说明 YL-57霍尔传感器模块引脚说明如表2.3.3所示: 表2.3.3 YL-57霍尔传感器模块引脚说明 pin名称注释 1VCC外接5V电压 2GND外接地GND 3DO数字量输出接口(0和1) 2.4 STC89C52RC单片机 2.4.1单片机介绍 STC89C52RC是一种带4K字节闪烁可编程可擦除只读存储器(FPEROM Falsh Programmable and Erasable Read Only Memory)的低电压,高性能CMOS8位微处理器,俗称单片机2。该器件采用STC 高密度非易失存储器制造技术制造,与工业标准的MCS- 51指令集和输出管脚相兼容。由于将多功能8位CPU和闪烁存储器组合在单个芯 片中,STC的STC89C52RC是一种高效微控制器,为很多嵌入式控制系统提供了 一种灵活性高且价廉的方案。STC89C52RC功能强大,价格低廉,可靠耐用,拥 有很强的保密功能。STC89C52RC引脚图如图2.4.1所示。 南华大学电气工程学院课程设计 第 6 页 共 36页 图2.4.1 STC89C52RC引脚图 2.4.2单片机引脚说明 VCC:供电电压。 GND:接地。 P0口:P0口为一个8位漏级开路双向I/O口,每脚可吸收8TTL门电流。当P 0口的管脚第一次写1时,被定义为高阻输入。P0能够用于外部程序数据存储器 ,它可以被定义为数据/地址的低八位。在FIASH编程时,P0 口作为原码输入 口,当FIASH进行校验时,P0输出原码,此时P0外部必须接上拉电阻4。 P1口:P1口是一个内部提供上拉电阻的8位双向I/O口,P1口缓冲器能接收 输出4TTL门电流。P1口管脚写入1后,被内部上拉为高,可用作输入,P1口被 外部下拉为低电平时,将输出电流,这是由于内部上拉的缘故。在FLASH编程 和校验时,P1口作为低八位地址接收。 P2口:P2口为一个内部上拉电阻的8位双向I/O口,P2口缓冲器可接收,输 出4个TTL门电流,当P2口被写“1”时,其管脚被内部上拉电阻拉高,且作为 输入。并因此作为输入时,P2口的管脚被外部拉低,将输出电流。这是由于内 部上拉的缘故。P2口当用于外部程序存储器或16位地址外部数据存储器进行存 取时,P2口输出地址的高八位。在给出地址“1”时,它利用内部上拉优势, 当对外部八位地址数据存储器进行读写时,P2口输出其特殊功能寄存器的内容 。P2口在FLASH编程和校验时接收高八位地址信号和控制信号。 南华大学电气工程学院课程设计 第 7 页 共 36页 P3口:P3口管脚是8个带内部上拉电阻的双向I/O口,可接收输出4个TTL 门电流。当P3口写入“1”后,它们被内部上拉为高电平,并用作输入。作为 输入,由于外部下拉为低电平,P3口将输出电流(ILL)这是由于上拉的缘故 。 RST:复位输入。当振荡器复位器件时,要保持RST脚两个机器周期的高 电平时间。 ALE/PROG:当访问外部存储器时,地址锁存允许的输出电平用于锁存地 址的低位字节。在FLASH编程期间,此引脚用于输入编程脉冲。在平时,ALE 端以不变的频率周期输出正脉冲信号,此频率为振荡器频率的1/6。因此它可 用作对外部输出的脉冲或用于定时目的。然而要注意的是:每当用作外部数据 存储器时,将跳过一个ALE脉冲。如想禁止ALE的输出可在SFR8EH地址上置0 。此时, ALE只有在执行MOVX,MOVC指令是ALE才起作用。另外,该引 脚被略微拉高。如果微处理器在外部执行状态ALE禁止,置位无效。 XTAL1:反向振荡放大器的输入及内部时钟工作电路的输入。 XTAL2:来自反向振荡器的输出。 P3口除了作为普通I/O口,还有第二功能: 表2.4.1 P3口的第二功能 端口引脚功能特性 P3.0串行输入口(RXD) P3.1串行输出口(TXD) P3.2外中断0(INTO) P3.3外中断1(INT1) P3.4定时/计数器0的外部输入口(T0) P3.5定时/计数器1的外部输入口(T1) P3.6外部数据存储器写选通(WR) P3.7外部数据存储器读选通(RD) 2.4.3单片机最小系统 所谓单片机的最小系统是指使单片机能运行程序、正常工作的最简单电路系 统,是保证单片正常启动、开始工作的必须电路,缺一不可。单片机最小系统一 般由单片机、程序存储器、时钟电路和复位电路组成。对于STC89C52RC单片机 南华大学电气工程学院课程设计 第 8 页 共 36页 ,由于片内有4K的程序存储器,所以其最小系统除了单片机本身外,只需外接时 钟电路与复位电路即可。 2.5 中断系统 2.5.1中断 程序执行过程中,允许外部或内部事件通过硬件打断程序的执行,使其转 向为处理内部事件的中断服务程序中去;完成中断服务的程序后,CPU继续原 来被打断的程序,这样的过程称为中断过程。 2.5.2 中断的产生 能产生中断的外部和内部事件。STC89C52RC有5个中断源: (1)INT0:外部中断0请求,低电平有效。通过P3.2引脚输入。 (2)INT1:外部中断1请求,低电平有效。通过P3.3引脚输入。 (3)T0:定时器/计数器0溢出中断请求。 (4)TI:定时器/计数器1溢出中断请求。 (5)TXD/RXD:串行口中断请求。当串行口完成一帧数据的发送或接收时,便 请求中断。每一个中断源都对应一个中断请求标志位,它们设置在特殊功能寄 存器TCON和SCON中。当这些中断源请求中断时,相应的标志分别有TCON和 SCON中的相应位来锁存。 2.6 复位电路 图2.6.1 单片机复位电路原理图 南华大学电气工程学院课程设计 第 9 页 共 36页 复位是单片机的初始化操作。其主要功能使单片机从0000H单元开始执行程序。 除了进入系统的正常初始化之外,当由于程序运行出错或操作错误使系统处于死 锁状态时,为摆脱困境,也需按复位键重新启动。 2.7 时钟电路 图2.7.1单片机时钟电路原理图 时钟电路可以简单定义如下:1.就是产生象时钟一样准确的振荡电路;2.任 何工作都按时间顺序。用于产生这个时间的电路就是时钟电路。时钟电路一般由 晶体震荡器、晶震控制芯片和电容组成。时钟电路应用十分广泛,如电脑的时钟 电路、电子表的时钟电路以及MP3、MP4的时钟电路。 时钟电路用于产生单片机的基本时钟信号,是用来配合外部晶体实现振荡的 电路,这样可以为单片机提供运行时钟,如果运行时钟为0 的话,单片机就不工作,当然超出单片机的工作频率的时钟也会导致单片机不工 作。时钟电路是微型计算机的心脏,它控制着计算机的工作节奏,CPU就是通过 复杂的时序电路完成不同的指令功能的。MCS- 51的时钟信号可以由两种方式:一种是内部方式,利用芯片内部的振荡电路,产 生时钟信号:另一种为外部方式,时钟信号由外部引入。如果没有时钟电路来产 生时钟驱动单片机,单片机是无法工作的12。AT89S51的时钟信号可由内部振荡 器产生,也可由外部电路直接提供。 内部振荡器的输入和输出脚分别为XTAL1和XATL2,由XTAL2给单片机内 部电路提供时钟信号。当时钟信号由外部电路提供时,外部时钟引入XTAL2,而 XTAL1脚接地。 2.8 LCD 南华大学电气工程学院课程设计 第 10 页 共 36页 2.8.1 LCD1602液晶简介 字符型液晶显示模块是一种专门用于显示字母、数字、符号等点阵式LCD, 目前常用16*1,16*2,20*2和40*2行等的模块。 2.8.2 LCD1602的主要技术参数 1602的主要技术参数如表2.8.1 所示,LCD1602的管脚图如图2.8.2 所示: 表2.8.1 1602的主要技术参数 工作电压:4.55.5V 容量162个字符 最佳工作电压 5.0V 工作电流2.0mA 字符尺寸2.954.35(WH)mm 图2.8.1 LCD1602的管脚原理图 2.8.3 LCD1602的RAM地址映射及标准字库表 液晶显示模块是一个比较慢的显示器件,因此在执行指令之前要首先确认模 块的忙标志处于低电平,表示空闲,不然此指令失效,输入显示字符地址后会显 示字符,图2.8.3是1602的内部显示地址。 南华大学电气工程学院课程设计 第 11 页 共 36页 图2.8.2 1602LCD内部显示地址 3. 系统硬件电路的设计 本系统主要硬件设计包括电源电路、蜂鸣器电路、晶振电路、EEPROM电路 、LCD显示电路以及霍尔传感器电路等。 3.1 单片机系统及显示电路 3.1.1单片机系统 单片机最小系统,或者称为最小应用系统,是指用最少的元件组成的单片机可 以工作的系统。对51系列单片机来说,最小系统一般应该包括:单片机、晶振电 路、上电复位电路。 图3.1.1 单片机最小系统电路原理图 南华大学电气工程学院课程设计 第 12 页 共 36页 3.1.2显示电路 在日常生活中,我们对液晶显示器并不陌生,它已作为很多电子产品的通过器件 ,比方在计算器、万用表、电子表及很多家用电子产品中都可以看到,显示的主 要是数字、专用符号和图形。 显示模块选用1602字符型液晶模块,它是目前工控系统中使用最广泛的液晶 屏之一,由于它显示的质量高,电路图如图3.2.5所示,1602字符型液晶模块是点 阵型液晶,驱动方便,经过编程后显示内容多样化。 3.2 霍尔模块测速模块电路 YL- 57霍尔传感器模块属于开关型传感器,1脚接5V电平即电源VCC端,2脚接0V电 平即电源GND端,3脚接STC89C52RC单片机的P32口,霍尔3144工作电压为(4. 5 24V),范围很宽,方便不同场合应用。输出的是TTL电平。当磁铁南极靠近霍 尔3144时,施加的磁场强度达到工作点,模块D施密特触发器输出高电平,三极 管导通,模块E输出低电平,此时为开状态。反之霍尔3144为高电平5V。施密特 触发器整形之后就变成方波脉冲输出。霍尔元件具有在静止状态下感受磁场的能 力,且结构简单,形小体轻,频带宽(可从直流到微波),动态特性好、动态范围 大,寿命长和可进行非接触测量等优点,所以选择霍尔传感器作为本次设计的要 素。里程、速度等都是由霍尔元器件测量。将所测的速度与累计里程数显示出来 ,主要是将传感器输入到单片机的脉冲信号的频率(传感器将不同车速转变成不 同频率的脉冲信号)实时地测量出来,然后通过单片机计算出速度和里程。如图 3.1.2所示: 南华大学电气工程学院课程设计 第 13 页 共 36页 图3.1.2 霍尔传感器模块电路原理图 3.3 里程数据存储模块电路 AT24C02是断电不丢失数据的串行EEPROM芯片,该芯片的存储容量为2KB (256*8Bit)。可以反复擦写十万次以上,芯片里的数据可保存100年。 AT24C02的引脚(如图3.1.3)功能简绍如下: A0A2为可编程地址输入端,可在同一系统中接8块该芯片,芯片地址由A0 A2的值决定,即从000111。(图中为pin1pin3引脚) VSS为电源地引脚,接0V电平GND。 SDA串行数据输入/输出端。里程表系统中接STC89C52RC单片机P31口。 SCL串行时钟输入端。里程表系统中接STC89C52RC单片机P30口。 WP写保护端口。作用是保护硬件数据。该引脚接高电平表示只能对该芯片 进行读操作而不能改变芯片里的数据,接低电平表示可以对该芯片进行读和写的 操作。本系统需要对该芯片进行读和写的操作,因此在里程表系统中接0V电平G ND。 VCC电源正端。接5V电平VCC引脚。 在里程表系统中,SDA和SCL两个引脚需要接一个5K左右的上拉电阻,以保 证不会出现数据的错误读写。A0A2和WP引脚直接接GND引脚,即该芯片在本 系统中的地址为000,而且可以对该芯片进行读和写操作。 图3.3.1 AT24C02引脚图 南华大学电气工程学院课程设计 第 14 页 共 36页 图3.3.2 AT24C02电路原理图 4. 系统程序的设计 4.1 霍尔模块测速的算法设计 在车轮转动一圈中,霍尔电路只能导通一次,即发生一次电平跳变。如果知 道车轮的周长,利用单片机记录若干时间内脉冲变化的次数,然后就可以算出汽 车的车速和所行使的里程了,计算如下: 设汽车单位时间车轮转动圈数为num 汽车单位时间行驶路程为mile(m) 汽车车速为speed(km/h) 汽车车轮周长为cricle(m) mile=num*cricle speed=num*cricle*3600/1000 4.2主程序流程图 本系统设计好硬件电路后,就需要设计系统程序了。程序按不同的功能可以 分为六部分,分别是:显示程序、存储程序、按键程序、数据处理程序。首先在 主程序部分对报警接口进行初始化,使其上电后不会报警,再打开外中断、定时 器溢出中断等并给定时器赋初始值,之后进入循环,分别循环扫描显示程序、按 键程序、里程计算程序、速度计算程序、存储程序等。系统程序的难点在于LCD 1602读写字节程序,由于对延时时长要求很高,很容易出现不显示或不能正确显 示。其次是速度计算程序,虽然计算公式符合理论,但总是不能正确显示出速度 南华大学电气工程学院课程设计 第 15 页 共 36页 值,只有加中间变量和一定延时时间才能解决该问题。最后是总里程要求很小的 误差,该处程序容易忽略丢失小数位造成的误差。 N Y Y 图4.1.1 系统软件流程图 4.3 霍尔模块测速数据接收中断程序 用外部中断INT0做为计数器,定时器T0定时一秒钟,当一秒钟到了以后,在 相应程序中计算出车速送到LCD显示同时显示里程值并将行驶的里程送到存储器 中存储。程序示例: void exter0() interrupt 0 num+; 5. 调试及性能分析 5.1 调试 在系统调试阶段,发现如下几个问题: (1)车速表调试过程中,发现无论如何修改相关程序,LCD显示器都不能正确 显示。起初以为是显示程序的问题,经过仔细分析仿真结果,发现显示器经常处 初始化 是否到一秒 数据处理 是否超速 开始 写入EEPROM 蜂鸣器警报 LCD显示 等待 南华大学电气工程学院课程设计 第 16 页 共 36页 于忙状态,这说明显示器相关指令延时时间不够。修改相关延时时间后,问题得 到改善。 (2)加入总里程功能后,在调试时,发现系统掉电后无法保存总里程数据。 反复调试后发现是存储器读写太快的原因造成的。 (3)速度值调试时,起初LCD1602显示的速度值很小,显然是错误值。经过再 三检查,发现计算速度的公式并没有错误,而是由于缺少中间变量,即现用中间 变量计算出速度值,然后再赋给显示速度所用的值,在程序中用speed表示。此 外计算出速度后需延时一定时间,否则高速时显示值跳变很厉害。 (4)测试按键是否能清零时,发现开始不能清零,排查发现是没有改变当前m ile定义的值,加入代码同时清零EEPROM和当前mile参数的值。 5.2 性能分析 从系统设计算法来看,因为定义瞬时速度参数Speed为unsigned int类型故当前速度测量误差在1Km/h;总里程显示误差范围0.001Km。从实 际使用范围来看,本次课程设计的误差对正常使用没有任何影响,故本次课设完 全达到实验预设的结果。该系统基本达到预期效果。 6. 收获与体会 这次课设题目为基于单片机的电子里程表,按系统所能实现的功能来讲,称 其为基于单片机的数字里程表更合适。本系统实现了用LCD1602显示速度、超速 提示、总里程、里程值断电保护、里程值清零 。这些不同值的显示通过相关按钮的切换来实现。除了显示功能,还有超速报警 功能。另外可通过按钮清零里程值。虽本系统的缺陷在于不能根据车辆所在位置 自主设定报警值,也不能提示驾驶者不同路段的限速值和前方是否有违规拍摄等 等。 在完成这次课设中,我学到了很多以往没有学习过的软硬件知识。毕业之前 ,通过课设对之前学习过的知识进行了梳理和复习,并且通过自主学习和请教师 友也学到了很多课本上没有的知识。 其中最大的收获是编程逻辑能力得到了不小的提高。以前连一个简单的程序 都很难独自完成,经过课设设计的考验后,现在却能写出具有一定功能的程序, 南华大学电气工程学院课程设计 第 17 页 共 36页 而且也喜欢上编程了。这次课设也使我认识到电子电路知识的重要性。也让我我 认识到,在以后的学习或工作中,不仅要知道各种电子元器件如何接,更要明白 为什么这样接,同时也要注意细节。做到刨根问底,从头学习电路知识。 7. 参考文献 1.谭浩强.C程序设计M.北京:清华大学出版社,2005.07. 2.汤武辉.Proteus仿真软件与单片机实验教学.长江大学学报(自然版),2010,(3) 南华大学电气工程学院课程设计 第 18 页 共 36页 :33-36. 3.王剑,朱涛,李冬.protel 99se电路仿真在电子实验教学中的应用.2010,(5):38-40. 4.董春兰. 智能车速里程表的设计J. 204754439.html,2006.07. 5.徐寒,徐健健.智能速度里程表设计J.电子测量技术,2005,16,(2):7-9. 6.徐春河.浅谈AT89S51.制造业自动化,2010,(12):6. 7.佚名.智能速度里程表设计J. /20060311097.html,2006. 03. 8.吴汉清.常用的典型单片机资料.无线电,2007,(11):50-57. 9.佚名.基于AT89C51单片机的转速测量系统设计J. ,2010.0 5. 10.李姿,宋洋.基于单片机的智能车速里程表的设计J.黑龙江科技信息,2011,12. 11.佚名.自行车测速仪J. 12.陈汝全.实用微机与单片机控制技术电子科技大学出版社2005:16-17. 13.郭天祥.新概念51单片机C语言教程:入门 提高 开发 拓展全攻略M北京:电子工业出版社,2009. 14.黄智伟全国大学生电子设计竞赛技能训练M北京:北京航空航天大学出 版社,2007. 8. 附录1:源程序清单 /*主函数模块*/ /*文件名: demo2/main.c */ 南华大学电气工程学院课程设计 第 19 页 共 36页 #include lcd1602.h #include main.h #include e2pr.h unsigned int v,quanshu=0; /储存车轮一秒内转过的圈数 unsigned int s; /储存里程数 unsigned char count; /储存定时器T0中断次数 bit flag; /计满1秒钟标志位 /* 函数功能:延时1ms (3j+2)*i=(333+2)10=1010(微秒),可以认为是1毫秒 */ void delay1ms() unsigned char i,j; for(i=0;i10;i+) for(j=0;j33;j+) ; /* 函数功能:延时若干毫秒 入口参数:n */ void delay(unsigned char n) unsigned char i; for(i=0;i50) runbuzz(); s=(quanshu*2)+s; quanshu=0; display_val(v); /显示速度 display_mil(s);/显示里程 H=s/256;L=s%256; i2c_writebyte(0 x00, H); delay(10); i2c_writebyte(0 x01, L); /* 函数功能:定时器T0的中断服务函数 */ 南华大学电气工程学院课程设计 第 23 页 共 36页 void Time0(void ) interrupt 1 using 1 /定时器T0的中断编号为1,使用第1组工作寄存器 count+; /T0每中断1次,count加1 if(count=20) /若累计满20次,即计满1秒钟 flag=1; /计满1秒钟标志位置1 count=0; /清0,重新统计中断次数 TH0=(65536-46083)/256; /定时器T0高8位重新赋初值 TL0=(65536-46083)%256; /定时器T0低8位重新赋初值 /* 函数功能:外部中断0服务函数(霍尔)P3.2口 */ void exter0() interrupt 0 quanshu+; /*LCD1602初始化显示函数模块*/ /*文件名: demo2/lcd1602.c */ #include lcd1602.h #include main.h unsigned char code digit =0123456789; /* 函数功能:判断液晶模块的忙碌状态 返回值:result。result=1,忙碌;result=0,不忙 */ 南华大学电气工程学院课程设计 第 24 页 共 36页 unsigned char BusyTest(void) bit result; RS=0; /根据规定,RS为低电平,RW为高电平时,可以读状态 RW=1; E=1; /E=1,才允许读写 _nop_(); /空操作 _nop_(); _nop_(); _nop_(); /空操作四个机

温馨提示

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

评论

0/150

提交评论