基于单片机的电动车里程表设计说明
基于单片机的里程表设计
《单片机原理及应用A》课程设计学院:电气工程学院题目:基于单片机的里程表设计起止时间:2016年8月22日至2016年9月9日学生姓名:专业班级:指导教师:教研室主任:院长:2016年8月20日《单片机原理及应用A》课程设计任务书学院:电气工程学院题目:基于单片机的里程表设计起止时间:2016年8月22日至2016年9月9日学生姓名:专业班级:指导教师:教研室主任:院长:2016年8月20日摘要:本次设计是采用MSC-51系列单片机中的STC89C52RC和YL-57霍尔传感器模块以及24C02B(E2PROM)模块构成的低成本电子式里程表。
单片机STC89C52RC是一款低功耗、高性能的CMOS8位单片机,由于它强大的功能和低价位,因此在很多领域都是用它。
YL-57霍尔传感器模块是有磁场切割就有TTL 电平信号输出,该模块包括一个74HC04和一块3144霍尔传感器,该产品具有品质卓越、超快响应、抗干扰能力强、性价比极高等优点。
设计主要包括硬件电路的设计和系统软件的设计。
硬件电路主要包括单片机、霍尔磁感应检测模块、显示模块、蜂鸣器以及控制设备等5部分。
由LCD1602液晶模块构成系统显示模块;测速控制电路由YL-57霍尔传感器模块和预设速度值比较警告电路组成,同时将行驶里程数存入E2PROM使里程数断电不丢失;用户根据需要预先输入车轮周长和限速速速,测量实际行驶速度,发出警告信号(蜂鸣器蜂鸣),敦促驾驶员减速行驶。
软件部分包括了主程序、显示子程序、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.系统功能随着现代科学技术的发展,人们使用不同手段外出的机会逐渐增多,像单车、摩托、汽车、巴士等。
(整理)基于单片机和光电传感器的显示电动自行车速度里程表设计
基于单片机与光电传感器的电动自行车速度/里程表设计作者:发布时间:2009-04-20 00:15:34来源:繁体版访问数:34张怀强周通陆坤何为民从保护环境和经济条件许可等因素综合来看,电动自行车目前乃至今后都有着广阔的发展空间。
目前市面上电动自行车的速度表和里程表都是机械的,看起来不够直观与方便。
如果能用led直接显张怀强周通陆坤何为民从保护环境和经济条件许可等因素综合来看,电动自行车目前乃至今后都有着广阔的发展空间。
目前市面上电动自行车的速度表和里程表都是机械的,看起来不够直观与方便。
如果能用led直接显示出来里程数或速度值,就可节省用户的时间及精力处理自行车行进过程中的突发事件。
本文介绍的速度与里程表设计以单片机和光电传感器为核心。
传感器将不同车速转变成的不同频率的脉冲信号输入到单片机进行控制与计算,再采用led模块进行显示,使得电动自行车的速度与里程数据能直观的显示给使用者。
系统概述本系统由信号预处理电路、单片机at89c2051、系统化led显示模块、串口数据存储电路和系统软件组成。
其中信号预处理电路包含信号放大、波形变换和波形整形。
对待测信号进行放大的目的是降低对待测信号的幅度要求;波形变换和波形整形电路则用来将放大的信号转换成可与单片机相连的ttl信号;通过单片机的设置可使内部定时器t1对脉冲输入引脚t0进行控制,这样能精确地算出加到t0引脚的单位时间内检测到的脉冲数;设计中速度显示采用led模块,通过速度换算得来的里程数采用i2c总线并通过e2prom来存储,既节省了所需单片机的口线和外围器件,同时也简化了显示部分的软件编程。
系统的原理框图如图1所示。
图1 系统的原理框图工作原理该设计能实时地将所测的速度与累计里程数显示出来,主要是将传感器输入到单片机的脉冲信号的频率(传感器将不同车速转变成不同频率的脉冲信号)实时地测量出来,考虑到信号的衰减、干扰等影响,在信号送入单片机前应对其进行放大整形,然后通过单片机计算出速度和里程,再将所得的数据存储到串口数据存储器,并由led显示模块交替显示所测速度与里程。
基于单片机的电动自行车速度历程计设计
基于单片机的电动自行车速度里程计设计摘要随着居民生活水平的不断提高,电动自行车不再仅仅是运输、代步的工具,而是成为人们娱乐、休息、锻炼的首选。
电动自行车的速度里程表能够让人们清楚的知道当前的速度、里程等物理量,方便了人们的生活。
本系统使用了七段LED 显示器的设计,能自动显示车辆行驶的总里程数及行车速度。
本文首先概述速度里程计的基本原理和特性,并且阐述选择霍尔旋转传感器的原因。
然后,本文讲述本系统中AT89C51的的基本工作原理和特性。
其次,本文详细阐述EEPROM存储器24C01的结构和原理。
在最后,详细的描述了系统主要程序的设计。
关键词:单片机AT89C51;霍尔传感器;EEPROM型存储器24C01;七段LED灯..目录1 引言 (1)2 系统总体概述 (2)2.1 工作原理 (2)2.11 原理框图 (2)2.12 原理介绍 (3)2.13 原理框图 (3)3 硬件介绍 (5)3.1 霍尔元件 (5)3.11霍尔器件 (5)3.12霍尔效应 (5)3.13 霍尔开关电路 (5)3.14旋转传感器 (6)3.2 LED数码管 (6)3.3 T89C51简介 (7)3.4 24C01简介 (10)4 软件设计 (14)4.1 系统内存的规划 (14)4.2程序介绍 (14)4.3主程序流程图 (15)4.4主程序 (15)结论 (29)1 引言自行车被发明及使用到现在已经有两百多年的历史了,这两百多年间人类在不断的尝试和研发过程中,就在最近十年的时间里,人们发明了电动自行车,因而,在世界引发了一场电动车的推广的热潮。
本课题所设计的电动车速度里程表的目的是为了让驾驶者能看到当前的行车速度和车辆累计行使的路程,并且能提醒驾驶者行车速度的限制和能达到在超出行驶速度时鸣叫报警以保证行车安全的目的。
本设计是基于单片机的车速里程表,采用霍尔型非接触式转速传感器。
控制器采用AT89C51单片机,传感器采用霍尔元件,显示器用AT89C51的P0口和P2口扩展。
基于单片机的电子式汽车里程表设计
基于单片机的电子式汽车里程表设计【摘要】本文介绍了一种以霍尔元件为基础的汽车车速和里程计的设计方法。
利用AT89C51单片机作为控制核心,利用A44E型霍尔计测转速,通过1602液晶显示器显示车辆行驶的里程和车速。
文中对车速和里程计的硬件电路进行了详细的阐述。
在硬件上,采用霍尔元件,将车辆每次运行所产生的脉冲个数输入到单片机中,再由单片机对这些信号进行处理后,输出到显示器上。
系统的软件部分,采用了模块化的设计思路,用 C语言编写程序。
本系统的硬件结构简单,各子程序的通用性强,达到了设计的要求。
【关键词】里程速度霍尔元件单片机 LCD1系统方案设计1.1设计要求1.设计一种数码里程计,可应用于所有车辆,并可显示里程、车速等信息。
2.系统应能够准确计算行驶里程,并将其显示在终端上。
3.系统应具备稳定性和可靠性,能够长时间运行并正常工作。
4.设计应考虑易于安装和操作,方便驾驶员使用。
5.系统应具备良好的用户界面,能够清晰、直观地显示各项信息。
6.设计应符合相关的安全标准和规范,确保驾驶员的行车安全。
7.设计应具备一定的扩展性和可升级性,方便后续的功能扩展和升级。
8.设计应考虑成本控制,力求实现性价比最优的方案。
9.设计应具备一定的抗干扰能力,能够在复杂的环境中正常工作。
1.2设计说明1.主要采用AT89C51微控制器作为核心芯片;2.将采用1602显示装置,可以实现行车速度、行车路程、时钟和温度等信息的显示。
3.为了感应温度,将使用DS18B20感应器进行温度的监测。
4.时钟功能将由DS1302时钟晶片提供。
它能够准确计时,确保车辆行驶过程中的时间显示准确无误。
5.利用A44E霍尔传感器检测车速;6.可通过按钮进行时钟数值的修改,设定车速和温度的闹钟数值;7.当超速或温度超过设定值时,蜂鸣器将发出警报信号。
2系统硬件设计2.1 总体设计方案说明本文介绍了一种基于普通MCS-51单片机的轮毂转速信号处理系统该系统通过使用传感器将车轮速度转换为电脉冲信号,并通过处理后发送给微控制器进行处理。
基于单片机的电子式转速里程表的设计
基于单片机的电子式转速里程表的设计介绍一种新型的基于单片机的电子式汽车转速里程表的实现方案。
讨论了里程计数的原理和转速指示原理。
针对机械式里程表缺点结构复杂,精度不高,并且价格较昂贵,设计了数字式汽车转速里程表。
这里以AT89C2051单片机为核心,利用SPI串行总线开发了电子式里程表。
该里程表利用磁电式传感器采样汽车行驶所得到的信号;采用LCD数码管显示汽车总行驶里程数,本次里程采EEPROM 芯片X25045,利用其通电可改写,掉电信息可保存的特点存储汽车行驶的总里程数。
本设计的转速里程表具有结构简单,精度较高,误差较小,显示清楚醒目,稳定可靠等特点,另外对该系统的软件也作了相应的说明。
关键词:汽车;转速里程表单片机Single Chip Microcomputer Controll ing Displaying of Automobile Odometer Abstract : This article mainly introduces a new -type electric automobile odometer. Its core is 2051 single chip microcom2puter ; L ED digital tube is used to display the total and present running distance. Comparing with the mechanical automo2bile odometer , it has following features : higher accuracy and less error , and it also can be displayed more clearly and pro2duced with simpler technology.目录摘要……………………………………………………………………………………Abstract………………………………………………………………………………第一章:绪论…………………………………………………………………………1.1研究的目的与意义………………………………………………………………1.2 国内外研究概况及发展趋势……………………………………………………第二章:系统的总体设计……………………………………………………………2.1系统的总体结构……………………………………………………………………2.2.转速里程表的介绍………………………………………………………………2. 3转速里程表的工作原理…………………………………………………………第三章:系统的硬件设计……………………………………………………………3.1.系统CPU的选择…………………………………………………………………3.2辅助芯片的选取…………………………………………………………………3.3LM1819在转速里程表中的应用…………………………………………………3.3. 1电动里程表结构………………………………………………………………3.3.2LM1819驱动线路工作原理…………………………………………………3..4液晶显示器LCM1010的应用……………………………………………………3.5传感器的选择………………………………………………………………………第四章系统的软件设计………………………………………………………………4.1主程序模块…………………………………………………………………………4.2串行中断服务程序模块……………………………………………………………第五章印制板图的绘制………………………………………………………………结束语………………………………………………………………………………附录……………………………………………………………………………………参考文献……………………………………………………………………………致谢……………………………………………………………………………………第一章:绪论1.1研究的目的与意义自1886年发明汽车以来,汽车走过了100多年的发展历程。
电动车里程表设计
济南铁道职业技术学院毕业设计题目:电动自行车速度里程表系别:电气系专业:电气自动化班级:电气0431学生姓名:付小明指导教师:贾俊刚完成日期:2007.5.10济南铁道职业技术学院毕业设计任务书摘要给出了以AT89C51单片机和光电传感器为核心,利用单片机的运算和控制功能以及传感器可以将不同车速转变成的不同频率的脉冲信号输入到单片机进行控制与计算的特点,采用串口LED显示模块实时显示所测速度和里程的速度里程。
该方案由于使用了串口LED显示模块和E2PROM以及高效快速的算法,因而可在节约系统资源和简化程序设计的基础上保证测量精度和系统实时性。
关键词:脉冲发生;数据采集;串行数据存储;实时数据处理;速度及里程测量;串行LED显示;单片机的选择;软件设计目录第一章.引言 (5)第二章系统概述 (6)2.1系统工作原理 (6)2.2 系统硬件设计 (8)2.2.1单片机系统 (8)2.2.2 LED显示电路 (9)2.2.3 外部晶振输入及复位电路 (11)2.2.4供电电路 (12)第三章.系统的软件设计 (13)3.1系统软件设计框图 (13)3.2数据的采集及处理 (13)总结 (15)致谢 (16)参考文献 (17)附录(一) (18)元器件清单 (18)电路工作原理图 (19)光电传感器的参数特性 (19)附录(二)系统编程软件…………………………………………………………..21 第一章 引言当今社会,以电力作为主要动力的电动自行车正逐步取代自行车,摩托车而成为代步的主要交通工具。
行驶过程中不产生污染,利于环境保护。
考虑其改善人们的出行方式、保护环境和经济节约等综合因素,电动自行车目前乃至今后都有着广阔的发展空间。
目前市面上电动自行车的速度里程表都是机械式结构的,看起来不够直观,如果能够采用LED 屏幕直接将里程数或速度值显示出来,则会给用户带来极大的方便!本设计以AT89C51单片机为核心,通过光电传感器来检测自行车的运转情况进而实现电动自行车的速度、里程的计算及里程的累计、存储,最后用8位的LED 直观的将速度与里程值显示给用户,并且能够在速度高于用户的设定值时自动向用户发出声光报警,从而实现仪表的智能化。
毕业设计(论文)-基于单片机的自行车里程表的设计[管理资料]
摘要本文介绍的速度与里程表设计以STC89C52单片机系统和霍尔传感器为核心。
传感器将不同车速转变成的不同频率的脉冲信号输入到单片机进行控制与计算,再采用LCD液晶显示模块进行显示,使得电动自行车的速度与里程数据能直观的显示给使用者。
本系统由霍尔传感器、单片机ST8C9C52RC、LCD1602液晶显示模块、数据存储电路和键盘控制组成。
通过单片机的设置可对霍尔传感器输入的脉冲信号进行计数和处理,这样能精确地算出加到引脚的单位时间内检测到的脉冲数;设计里程和速度显示采用LCD模块,里程数通过EEPROM来存储。
本文先对里程表设计当中所需设备作了详细介绍,对设计中存在的问题进行了说明;而后对硬件和软件部分的设计和实现作了认真的分析;然后给出了系统的建模过程及相应的系统模型,在此基础上进行了控制仿真,并对仿真效果进行了比较。
本里程表的设计具有结构简单,成本低廉,显示清晰,稳定可靠等优点。
并且可进行扩充,加入时速表的功能,更加方便的了解你现在所处的情况。
关键词:STC89单片机 LCD1602液晶显示霍尔传感器 EEPROM存储器目录第1章绪论 (1)课题背景、发展及意义 (1)系统设计概述 (1)各章节的安排 (2)第2章自行车里程表的设计方法与基本原理 (3)霍尔传感器 (3)STC89C52单片机 (3)频率测量法 (4)LCD1602 (5)存储器EEPROM (5)键盘控制 (6)第3章硬件实现的设计方法与原理 (7)系统概述 (7)功能实现 (8)系统总框图 (8)各部分硬件图 (8)3.4.1 显示部分 (8)3.4.2 按键控制部分 (11)3.4.3 霍尔传感器 (7)3.4.4 复位电路 (7)3.4.5 电源电路 (7)3.4.6 EEPROM掉电存储器电路 (7)第4章自行车里程表软件实现方法 (9)软件编程实现 (13)4.1.1 系统软件框图 (13)4.1.2 数据处理 (14)4.1.3 键盘控制 (14)程序源代码与流程图 (16)4.2.1 程序流程图 (14)4.2.2 程序源代码 (14)PCB印刷电路板图 (40)第5章总结 (16)参考文献 (40)致谢 (41)1霍尔传感器霍尔传感器是一种能实现磁电转换的传感器,用它们可以检测磁场及其变化。
基于单片机的电动自行车智能里程表的设计
绪论由于机械仪表具有不能修复、体积大、重量大、性能不可靠等一系列的缺陷。
因此需要一种具有体积小、重量轻、性能可靠的仪表来取代机械仪表。
本设计就是为了解决这一问题而进行的。
本次所设计的智能电动自行车里程表,不仅解决了上述问题,而且具有一定的智能化。
目前智能化已被广泛应用于工业、农业、军事、医疗保健等行业。
现在世界上许多国家在智能研究与应用上大力投资,以取得高端科技的领先地位。
本设计属于采集方面的问题,数据采集和控制系统是对生产过程或科学实验中各种物理进行实时采集、测试和反馈控制的闭环系统。
它在工业控制、军事、电子设备、医学监护等许多领域发挥着重要的作用。
数据采集和控制系统各种各样,但其基本工作过程相似:汇集被测控对象各种被测模拟量,把它们转成数字信号,经过加工处理后显示出来,实现所需的控制。
因模块化设计可以单独实现各个模块,在设计时能同时进行。
因此本设计中采用了模块化的设计,各模块设计好以后,只要进行良好地电气连结,就能可靠地实现整体系统的功能。
该系统有测量模块、显示模块、供电模块、报警模块和单片机小系统构成。
功能选择后启动测量,单片机实时采集、处理后显示。
本设计的智能电动自行车里程表主要考虑现在人们的日常生活电动自行车逐渐受到人们的欢迎,所以说这个产品具有开发价值。
现代科技的发展与人们的日常生活消费观念的提高和改变,我相信这种产品一旦进入市场定会受的人们的青睐。
所以这种产品具有开发和改进的潜力。
随着我们人们的要求越来越高,我们设计的这种表必须具有智能方面开发的潜力。
为了适应社会要求,作为即将毕业的电子类大学生,必须注重系统设计能力的培养。
而毕业设计便是具体的体现。
它的主要目的就是使我们掌握电子系统设计的方法以及一定的实践技能。
电子电路是理论性和实践性很强的一门学问,只有边理论边实践,才能加深理解、收到成效。
“醉过方知酒浓,爱过方知情深”,只要我们肯实践,就能开拓思路,提高处理实际问题的能力,并从中获得无穷的乐趣。
基于单片机的电动车里程表设计说明
《基于单片机的电动车里程表设计》目录引言 (1)1.总体设计 (2)2.设计任务与要求 (2)3.电路原理 (2)4.硬件系统模块 (3)4.1芯片的选择 (6)4.2结构框图 (7)5.软件系统设计 (7)5.1控制系统源程序 (11)6.调试 (13)7.参考文献 (13)引言里程表广泛应用于各类机车,传统的机械式里程表虽然稳定可靠,但功能单一、易受磨损。
随着电子技术的迅猛发展,电子式里程表得以广泛应用,现在很多轿车仪表已经使用电子车速里程表,从保护环境和经济条件许可等因素综合来看,电动自行车目前乃至今后都有着广阔的发展空间。
目前市面上电动自行车的速度表和里程表都是机械的,看起来不够直观与方便。
如果能用液晶显示屏直接显示出来里程数和速度值,就可节省用户的时间与精力处理自行车行进过程中的突发事件。
本设计介绍一种基于单片机的智能电子里程表。
该电子式里程表是一种数字式仪表,主要由车速表和里程表两部分组成,其传感器采用无接触测量的光电传感器。
传感器将不同车速转变成的不同频率的脉冲信号输入到单片机进行控制与计算,再采用液晶显示器模块进行显示,使得电动自行车的速度与里程数据能直观的显示给使用者。
它不仅可显示车辆行驶的总里程,还可显示当前车速,以与实现超速报警等功能,并具有较强的再开发能力。
它的实现方式是,通过安装在汽车转轴上的测量盘,用光电式转速传感器检测转速的脉冲信息,在脉冲状态下,将转速的变化转换成光通量的变化,再通过光电转换元件将光通量的变化转换成电量的变化,接着通过频率测量电路将脉冲信号输入到单片机中,然后依据电量与转速的函数关系实现转速测量,再通过计算,从而得出里程、车速的信息,并由液晶显示器显示出来。
一、设计任务与要求以AT89C51单片机为核心,采用霍尔传感器,实现对自行车行驶里程、速度的测量,并能选择显示自行车行驶里程值和当前速度。
可以实现对自行车车轮大小的设置等。
自行车超过一定限速时可以进行声光报警提示。
基于单片机的光电式自行车速度里程表设计
光电式自行车速度里程表设计摘要随着科技的迅速发展,单片机的应用也越来越广泛,并带动传统控制检测技术不断更新。
现在的里程表大多是电子式的,用数码管或液晶显示器即时显示,显示更加直观。
电子式里程表采用接触车速传感器代替软轴传动, 可使里程表的安装位置不受距离限制,进一步有效地克服了机械式里程表中的诸多不足。
方案采用了一种以单片机AT89C51为主控机,使用光电传感器进行自行车里程、速度测量的装置。
传感器将不同车速产生的不同频率的脉冲信号输入到单片机进行控制与计算,再采用LCD液晶显示模块进行显示,使得自行车的速度与里程数据能直观的显示给使用者。
本设计主要包括自行车轮脉冲采集、键盘输入和数据显示等部分,主程序用C语言编写,完成各项功能及数据的处理。
本里程表的设计具有结构简单,成本低廉,显示清晰,稳定可靠等优点。
并且可以进行扩充,更方便于使用者。
关键词光电传感器单片机液晶显示器里程表THE DESIGN OFBICYCLE ODOMETERABSTRACTWith the rapid development of technology, more and more widespread application of microcomputer, promote the traditional control detection technology constantly updated. Most of the current electronic odometer, and with the LED digital tube or LCD display real-time, display more intuitive. Electronic odometer flexible shaft using the contact speed sensor instead of driving, mileage tables can be installed without distance limitations, and further to effectively overcome the mechanical disadvantagesof mileage in the table.The plan adopts the system and configuration of combining the microcontroller AT89C51 as the main control computer ,using the photoelectric sensorbicycle odometer, speed measuring devices. when Different speed pulse signals of different frequencies produced by sensor are input into the microcontroller,after its calculation, liquid crystal will display the datas, making the bike's speed and distance data visually to the user.The design includes a bike wheel pulse acquisition, keyboard input and data display section, the main program using C language, This paper first needed to "milestones" design of equipment in detail, on theproblems existing in the design, explained And then to hardware and software design and implementation of the part made earnest analysis, Then presented system modeling process and the corresponding system based on this model, the control simulation, and the simulation results are compared.ODOMET ER录摘要 (I)ABSTRAC..T (II)1 绪论. (1)1.1 问题由来. (1)1.2 课题现状. (1)1.3 设计任务. (2)2 系统原理概述 (3)2.1 系统原理总概述 (3)2.2 系统硬件组成原理 (3)2.3 软件系统工作流程 (4)3 系统硬件设计 (5)3.1 采集信息部分以及传感器的选择. (5)3.2 轮脉冲检测与转换电路 (6)3.2.1. 轮脉冲检测 (7)3.2.2. 信号预处理电路 (7)3.3 单片机系统部分 (9)3.3.1 AT89C51 单片机介绍 (9)3.3.2 定时/计数器的结构及控制. (9)3.3.3 中断控制 (11)3.4 单片机外围电路介绍. (11)3.4.1 复位电路 (11)3.4.2 晶振电路 (12)3.5 显示部分. (13)3.5.1 LCD 液晶显示器. (13)3.5.2 显示接口电路设计 (15)3.6 报警电路. (15)3.7 键盘控制. (15)4 软件设计 (16)4.1 测量算法概述 (18)4.2 中断子程序的设计 (19)4.3 数据处理子程序的设计. (18)4.3.1 里程计算子程序. (21)4.3.2. 速度计算子程序 (19)4.4 显示子程序的设计 (20)5 设计总结 (22)5.1 实现目标与特点 (22)5.2 结论及不足. (23)致谢 (23)参考文献 (24)附录 (28)附录I 系统电路原理图 (28)附录II 设计源程序 (29)1 绪论1.1 问题由来我国是人口大国,也是自行车大国,随着生活节奏的不断加快,自行车已经不仅仅是运输、代步的工具,现在则是代表着绿色、环保、节能。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
《基于单片机的电动车里程表设计》目录引言 (1)1.总体设计 (2)2.设计任务及要求 (2)3.电路原理 (2)4.硬件系统模块 (3)4.1芯片的选择 (6)4.2结构框图 (7)5.软件系统设计 (7)5.1控制系统源程序 (11)6.调试 (13)7.参考文献 (13)引言里程表广泛应用于各类机车,传统的机械式里程表虽然稳定可靠,但功能单一、易受磨损。
随着电子技术的迅猛发展,电子式里程表得以广泛应用,现在很多轿车仪表已经使用电子车速里程表,从保护环境和经济条件许可等因素综合来看,电动自行车目前乃至今后都有着广阔的发展空间。
目前市面上电动自行车的速度表和里程表都是机械的,看起来不够直观与方便。
如果能用液晶显示屏直接显示出来里程数和速度值,就可节省用户的时间及精力处理自行车行进过程中的突发事件。
本设计介绍一种基于单片机的智能电子里程表。
该电子式里程表是一种数字式仪表,主要由车速表和里程表两部分组成,其传感器采用无接触测量的光电传感器。
传感器将不同车速转变成的不同频率的脉冲信号输入到单片机进行控制与计算,再采用液晶显示器模块进行显示,使得电动自行车的速度与里程数据能直观的显示给使用者。
它不仅可显示车辆行驶的总里程,还可显示当前车速,以及实现超速报警等功能,并具有较强的再开发能力。
它的实现方式是,通过安装在汽车转轴上的测量盘,用光电式转速传感器检测转速的脉冲信息,在脉冲状态下,将转速的变化转换成光通量的变化,再通过光电转换元件将光通量的变化转换成电量的变化,接着通过频率测量电路将脉冲信号输入到单片机中,然后依据电量与转速的函数关系实现转速测量,再通过计算,从而得出里程、车速的信息,并由液晶显示器显示出来。
一、设计任务及要求以AT89C51单片机为核心,采用霍尔传感器,实现对自行车行驶里程、速度的测量,并能选择显示自行车行驶里程值和当前速度。
可以实现对自行车车轮大小的设置等。
自行车超过一定限速时可以进行声光报警提示。
关键词:AT89C51单片机;光电传感器;液晶显示器;存储器二、电路原理T0用于对轮子圈数的计数输入,轮子每转一个间隔(即假设的每个间隔0.1米),霍尔传感器输出一个低电平脉冲。
T0就计数一次,如果计够1000次(即0.1Km)就送液晶显示屏;T1设置为独立的计数器,当T1定时1秒到来时进入中段程序,中断程序中关闭计数器T0,读出它记脉冲的个数n,用n乘以0.1即此时车的速度(以为是每一秒读一次),将此时的速度送至液晶并显示出当前的速度值,电路如图1所示。
P0口用于液晶的描输出。
P2.0口和P2.1口用于控制液晶的写命令与写数据操作,P2.2和P2.3口分别用于显示当前车行驶速度是否超过设定值(当绿灯亮时表示车速正常,当绿灯灭,红灯一闪一闪时表示车速超过设定值),P3.4(即T0)口用于接收由基尔霍夫传感器经信号处理电路处理后的脉冲个数。
根据它每秒所计脉冲个数计算车当前速度和车行驶的里程。
三、硬件系统设计以AT89C51单片机为核心,A44E霍尔传感器测转数,实现对自行车里程、速度的测量统计,并将自行车的里程数及速度用液晶显示屏实时显示。
利用霍尔元件将自行车每转一圈的脉冲数传入单片机系统,然后单片机系统将信号经过处理进行编程。
1、芯片的选择AT89C51是一个低电压,高性能CMOS 8位单片机,片内含4k bytes 的可反复擦写的Flash只读程序存储器和256 bytes的随机存取数据存储器(RAM),器件采用ATMEL公司的高密度、非易失性存储技术生产,兼容标准MCS-51指令系统,片内置通用8位中央处理器和Flash存储单元,功能强大的AT89C51单片机可为您提供许多较复杂系统控制应用场合。
AT89C51有40个引脚,32个外部双向输入/输出(I/O)端口,同时内含2个外中断口,2个16位可编程定时计数器,1个全双工串行通信口,2个读写口线,AT89C51可以按照常规方法进行编程,但不可以在线编程(S系列的才支持在线编程)。
其将通用的微处理器和Flash存储器结合在一起,特别是可反复擦写的Flash存储器可有效地降低开发成本。
AT89C51有PDIP、PQFP/TQFP及PLCC等三种封装形式,以适应不同产品的需求。
功能特性AT89C51提供以下标准功能:8字节FLASH闪速存储器,256字竹内部RAM , 32个I/O口线,2个16 位定时/计数器,一个6向量两级中断结构,一个全双工串行通信口,片内振荡器及时钟电路。
同时,AT89c51可降至OHz的静态逻辑操作,并支持两种软件可选的节电上作模式。
空闲方式停止CPU 的工作,但允许RAM,定时/计数器。
串行通信口及中断系统继续工作。
掉电方式保存RAM 中的内容,但振荡器停止工作并禁止其它所有部件工作直到下一个硬件复位。
2、结构框图结构框图指示灯部分功能:显示车速是否正常或超过设定值。
里程、速度测量电路部分功能:速度及里程传感器采用霍尔传元件,实现对自行车里程及速度的计算。
显示部分功能:速度、里程用液晶显示屏动态扫描显示,由P0口送出段码和位选信号。
四、软件系统设计1、初始化程序:在本系统初始化程序中,主要完成以下工作:初始化液晶(即写1604的驱动程序);将T0设置为计数器;将T1设置为定时器。
开T0,T1。
2、主程序:主程序根据1秒钟T0所计的脉冲个数计算出车当前的速度与里程。
3、里程计数程序(T0计数程序):T0计数器用于对输入的圈脉冲进行计数,为十六进制计数器。
60H为低位,62H为高位。
每秒钟读取它所计脉冲的个数,当它所计脉冲个数累计到1000次时,让液晶显示一次里程。
4、T1定时服务程序:T1定时为1秒进一次中断程序,中断程序中执行关计数器T0,读T0每秒中所计脉冲的个数,根据个数算出速度,并累加里程5、显示子程序:当显示里程时,先要对里程累计的数据进行判断,当计够1000次时总里程加1(km)。
当要显示速率时,每秒显示一次,即每秒读一次T0所计的脉冲个数,根据此个数乘以车轮每2个小孔的最小间距0.1米,即得车当前的速度五、控制系统源程序:#include<reg52.h>#define uchar unsigned char#define uint unsigned intuchar code cs[]="SPEED: 00.0 m/s";uchar code lc[]="TOTAL: 00000.0Km";uchar code ts[]="Pleasant Journey";sbit RS=P2^0;sbit E=P2^1;sbit D=P1^0;sbit LD=P2^2;sbit HD=P2^3;uchar num,count,timecount,T0count,miao,fen,shi; uint total,num1,num2,Gtotal,Ztotal,Dtotal=0,speed; void delay(uint z){uint x,y;for(x=z;x>0;x--)for(y=110;y>0;y--);}void write_com(uchar _com) {RS=0;P0=_com;delay(1);E=1;delay(2);E=0;}void write_data(uchar _data) {RS=1;P0=_data;delay(1);E=1;delay(2);E=0;}void init_LCD()//16*4液晶{E=0;write_com(0x38);//设置显示模式write_com(0x0c);//开显示,不显示光标,不闪烁write_com(0x06);//光标自动加1,整屏不移动write_com(0x01);//清屏write_com(0x80);//设置数据指针for(num=0;num<16;num++) {write_data(cs[num]);}write_com(0x80+0x40);for(num=0;num<16;num++) {write_data(lc[num]);}write_com(0x80+0x10);for(num=0;num<16;num++) {write_data(ts[num]);}}void display_speed(uchar add,uchar dat) //显示速度函数{write_com(0x80+add);write_data(0x30+dat);}void write_speed(uint date)//写速度函数{uchar bai,shi,ge;bai=date/100;shi=(date%100)/10;ge=date%10;display_speed(0x08,bai);display_speed(0x09,shi);display_speed(0x0b,ge);void display_Gtotal(uchar add1,uchar add2,uchar add3,uchar _data1)//显示里程(高3位)函数{uchar Gbai,Gshi,Gge;Gbai=_data1/100;Gshi=(_data1%100)/10;Gge=_data1%10;write_com(0x80+0x40+add1);write_data(0x30+Gbai);write_com(0x80+0x40+add2);write_data(0x30+Gshi);write_com(0x80+0x40+add3);write_data(0x30+Gge);}void display_Dtotal(uchar add1,uchar add2,uchar add3,uchar _data2)//显示里程(低3位)函数{uchar Dbai,Dshi,Dge;Dbai=_data2/100;Dshi=(_data2%100)/10;Dge=_data2%10;write_com(0x80+0x40+add1);write_data(0x30+Dbai);write_com(0x80+0x40+add2);write_data(0x30+Dshi);write_com(0x80+0x40+add3);write_data(0x30+Dge);}void judge_total(uint date1)//判断里程函数{if(date1>=1000)//1000格即100米{Ztotal++;if(Ztotal==999){Ztotal=0;Gtotal++;if(Gtotal==999){Gtotal=0;}display_Gtotal(0x07,0x08,0x09,Gtotal);}display_Dtotal(0x0a,0x0b,0x0d,Ztotal);}}void init_timer(){TMOD=0x15;//(00010101)设置T1为16位定时器,T0为16位计数器TH0=0;TL0=0;TH1=(65536-50000)/256;TL1=(65536-50000)%256;EA=1;ET0=1;ET1=1;TR0=1;TR1=1;}void main(){init_LCD();init_timer();while(1){}}void count0() interrupt 1 {T0count++;}void timer1() interrupt 3 {TH1=(65536-50000)/256;TL1=(65536-50000)%256;timecount++;num2=T0count*65536+TH0*256+TL0;if(timecount==20){TR0=0;num1=T0count*65536+TH0*256+TL0;speed=num1; //假设车轮周长为1米,均匀开11个孔,则每个孔0.1米if(speed>130){HD=0;delay(30);HD=1;HD=0;delay(30);HD=1;}else{HD=1;LD=0;}Dtotal=Dtotal+speed; write_speed(speed);if(Dtotal>=1000){judge_total(Dtotal);Dtotal=0;}timecount=0;TH0=0;TL0=0;TR0=1;TR1=1;}}五、仿真结果参考文献1.单片机应用原理2.数字电路3.摸拟电路。