自行车里程表的设计
自行车里程表的设计【开题报告】
毕业设计(论文)开题报告题目:自行车里程表的设计专业:电子信息工程一、选题的背景、意义192个国家的谈判代表召开峰会,商讨《京都议定书》一期承诺到期后的后续方案,即2012009年12月7日开是在丹麦首都哥本哈根召开的《哥本哈根世界气候大会》,来自2年至2020年的全球减排协议,就未来应对气候变化的全球行动签署新的协议。
气候变化已经成为全世界共同关注的焦点问题,节能减排迫在眉睫,全球各个国家都在为节能减排做进一步的努力。
加之2008年爆发的经济危机的影响之深远,让每一个身处社会的人都心有余悸。
但是在这经济危机爆发的时刻,人来面临的能源问题,远比经济危机要让大家头痛得许多,中国正在积极推动企业的节能减排,提高全社会节能减排的意识。
电电动自行车是绿色节能的交通工具,在城城市化发展的进程中电动自行车满足了消消费者出行半径增大的需求。
经过15年的快速发展,电动自行车产业已经进入了成熟期,产品的质量不断提高,技术创新成果普遍应用。
中国已成为全球电动自行车的制造、消费大国,目前中国市场年产销量超过2000万辆,整个产业链的经济规模达到1000亿以上,从业人员近500万人。
整车企业1000余家、6000余家相关联配套企业、100000家经销商、市场保有量达 1.2亿辆,电动自行车成为中国一个重要的产业,也是中国老百姓主要的交通工具。
目前平均每四户居民家庭中就有一辆电动自行车,电动自行车已经成为城乡人民生活中的一种重要的消费品。
2009年以来,面对世界金融危机的挑战,电动自行车产业依然保持了平稳发展。
中国自行车协会助力车专业委员会的统计,50家主要生产电动自行车的企业,1-8月份累计总产量为656万辆,同比增长13%。
另外,根据国家统计局的统计,1-8月份行业规模以上企业电动自行车产量累计生产为445.5万辆,同比增长8.7%。
两个不同口径的统计数字均说明,2009年的前8个月行业仍然是增长的态势。
1989年清华第一台电动自行车样机到现在二十年的时间,中国电动自行车行业经历了从无到有,从小到大的过程,目前年产量已达2000万辆以上,社会总需求量在5亿辆以上。
自行车里程表的设计毕业论文
自行车里程表的设计毕业论文前言 (1)第1章绪论 (2)1.1 课题背景 (2)1.2 设计的主要容及技术指标 (2)第2章自行车里程表总体方案设计 (3)2.1 任务分析与实现 (3)2.2 自行车里程表硬件方案设计 (3)2.3 自行车里程表软件方案设计 (4)第3章自行车里程表硬件模块设计 (5)3.1 里程表的硬件设计 (5)3.1.1 霍尔传感器电路模块设计 (5)3.1.2 按键电路模块设计 (6)3.1.3 电源电路模块设计 (6)3.1.4 时钟电路模块设计 (7)3.1.5 LCD显示模块电路模块设计 (7)3.1.6 串口下载电路模块设计 (8)3.1.7 复位电路模块设计 (9)3.1.8 晶振电路模块设计 (10)第4章软件的设计 (11)4.1 里程表的软件设计 (11)4.1.1 里程速度功能模块实现 (11)4.1.2 日历时钟模块功能 (14)4.1.3 LCD1602液晶显示模块 (17)第5章软件调试 (21)5.1 程序的检测与调试 (21)5.1.1 Keil软件简介 (21)5.1.2 编制单片机应用程序的步骤和难点 (21)5.2 系统仿真调试 (24)5.2.1 程序的查错手段 (25)第6章结论 (27)第7章谢辞 (28)参考文献 (29)附录1 硬件设计原理图 (30)附录2 硬件电路仿真图 (31)附录3 软件程序 (32)译文 (69)C语言 (69)第1章绪论单片机自从推出以来,以其超小型化、结构紧凑、可靠性高、成本低等优点被人们广泛接受,从而应用于工业、电讯、数据处理、仪器仪表等多方面。
自行车里程表是自行车的重要配件,在自行车仪表中占重要位置,但几十年来其发展变化并不大,现在国外很多车中使用了数字里程表,但在国还并不多见。
1.1 课题背景里程表的原理很简单,车轮的圆周长是恒定不变的。
由此可以计算出每走一里路车轮要转多少圈,这个数也是恒定不变的。
基于单片机的自行车里程表设计
基于单片机的自行车里程表设计一、引言二、系统总体设计方案(一)功能需求分析自行车里程表需要实现以下主要功能:1、准确测量自行车行驶的里程。
2、实时显示里程数据。
3、具备低功耗特性,以保证长时间使用。
(二)系统组成本系统主要由传感器模块、单片机控制模块、显示模块和电源模块组成。
1、传感器模块用于采集车轮转动的信息。
2、单片机控制模块负责对采集到的数据进行处理和计算。
3、显示模块用于向用户展示里程等相关信息。
4、电源模块为整个系统提供稳定的工作电压。
三、硬件设计(一)传感器选择常见的用于测量自行车车轮转动的传感器有霍尔传感器和光电传感器。
霍尔传感器通过感应磁场变化来检测车轮转动,具有精度高、稳定性好的优点;光电传感器则通过检测光的遮挡来判断车轮转动,成本相对较低。
综合考虑,本设计选用霍尔传感器。
(二)单片机选型单片机作为系统的控制核心,需要具备一定的运算能力和接口资源。
考虑到成本和性能要求,选用 STC89C52 单片机。
(三)显示模块为了使里程表的显示清晰直观,选用液晶显示屏(LCD)。
LCD 具有低功耗、显示内容丰富等优点。
(四)电源模块由于自行车在行驶过程中震动较大,选用可充电的锂电池作为电源,并通过稳压芯片将电压稳定在系统所需的工作电压范围内。
四、软件设计(一)主程序流程系统上电后,首先进行初始化操作,包括单片机内部资源的初始化、传感器的初始化和显示模块的初始化。
然后进入主循环,不断采集传感器的数据,并进行计算和处理,将里程数据实时显示在显示屏上。
(二)里程计算算法根据传感器检测到的车轮转动信号,结合车轮的周长,通过累积计算得出行驶里程。
(三)显示程序设计合理的显示界面,将里程数据以清晰易读的方式呈现给用户。
五、系统调试与测试(一)硬件调试在焊接完成后,首先检查电路是否存在短路、断路等问题。
然后使用万用表等工具对各个模块的电源电压、信号电平进行测量,确保硬件工作正常。
(二)软件调试通过单片机的在线调试功能,逐步调试各个功能模块的程序,查看变量的值和程序的执行流程,排除软件中的错误。
北工大自行车里程表
北京工业大学数字电路实验报告电控自动化设计题目:自行车里程表一、实验要求(一)设计任务设计、制作一个根据车轮周长、辐条数等参数来记录行驶里程的简易里程表。
要求具有可调整的手段,以适应不同车型。
(二)参考设计方案1、首先使用红外光电传感器对转动的车轮辐条进行测量,产生基本技术脉冲。
若以0.1公里作为里程表的计数单位,则需测量出车轮的周长、一周有多少根辐条、没走0.1 公里要有多少根辐条通过传感器。
若将此计数值转化为里程表的一个计数脉冲,提供给一个多位十进制里程计数器,则记录分辨率就为0.1公里,最后由多位数码管显示出来。
2、框图:(三)设计要求1、显示数字为3位,精度为0.1公里,即(00.0——99.9公里)。
2、数码管要有小数点显示,即个位与十位间的小数点要亮起来。
3、要标明你所设计的条件(轮周长、辐条数等),给出根据条件不同进行调整的方法。
4、结构简单、所用芯片尽量少、成本低、易于制作。
5、所用芯片与元件尽量在参考元器件范围内选择(实验室没有的需自行解决)6、要制作一个模拟的(或真实的)测试模型,以便进行实际的测试。
尽量做到结构合理、可靠,结构设计要作为考核的重要部分。
(四)发挥部分从实用角度考虑,尝试加上你认为可以完善、改进的功能(如节电功能、显示清零等)。
(五)参考元器件和芯片CD40106;CD4518(或CD4017,74LS161等);74LS21,74LS08,CD4011(或74LS00);CD4553,CD4543;共阴(共阳)数码管;NPN(PNP)开关管;红外光电传感器等;电阻,电容若干二、设计方案此实验分为4个部分:光控电路设计及脉冲整形、轮辐计数电路、0.1公里计数电路、数码管显示电路(包括译码驱动)。
首先将红外传感器接收到的轮辐脉冲整形成规则的方波,然后接入轮辐计数器中。
脉冲整形电路选用CD40106。
在考虑轮辐计数分频器的时候,想到了CD4518和161两种芯片。
自行车里程表设计【毕业论文+文献综述+开题报告】
I
The Design of Bicycle Odometer
Abstract
In the process of moving bicycles, bicycle odometer is for users to provide timely information on important dynamic driving instrument, its performance has a direct impact on traffic and personal safety. Traditional mechanical odometer due to the impact of flexible shaft makes high-speed driving, causing instability odometer directions, reflecting the slow or even fail. The vehicle user can not be timely and accurate real-time information collected from vehicles, which can not grasp the state of the vehicle, could easily lead to accidents and threats to personal safety. At the same time more and more electric bicycle, to avoid accidents caused by speed because of more pressing needs, so the odometer for more effective design is very important. T
自行车速度里程表设计
单片机最小系统设计
复位电路的设计 AT89S52单片机的复位输入的引脚RET为AT89S52提 供初始化的手段。它可以使程序从指定处开始执行, 就是从程序存储器中的0000H地址单元开始执行其程 序。本设计的复位电路是采用按键复位的电路。单片 机复位通过按动按钮S1产生高电平复位称手动复位。 上电时,刚接通电源,电容C1相当于瞬间短路,+5V 立即加到RET端,该高电平使AT89S52全机自动复位, 这就是上电复位;若运行过程中需要程序从头执行, 只需按动开关即可。
1和C2的电容值为30pf。外 接电容值的大小会影响振荡器的高低、振荡器的稳定 性、起振的快速性和温度的稳定性。而外接晶体的振 荡频率的大小,主要取决于单片机的工作频率范围, 每一种单片机都有自己的最大工作频率,外接的晶体 振荡频率不大于单片机的最大工作频率即可。此外, 如果单片机有串行通信,则应该选择振荡频率除以串 行通信频率可以除尽的晶体。本设计晶振采用12MHz, 则计数周期:
在整个设计的过程中,软件设计必须与硬件设 计相结合。基于霍尔传感器的自行车速度里程 表的软件设计包括上电初始化程序、中断子程 序、速度调用子程序、里程调用子程序、LCD 显示子程序、延时子程序等几大部分。由于要 实现很多功能,所以采用模块化设计。
里程计算子程序和速度计算子程序
调试故障及原因分析
时钟晶振电路的设计 时钟是单片机的心脏,单片机各功能部件的运行都是 以时钟频率为基准地工作。因此,时钟频率直接影响 单片机的速度,时钟电路的质量影响单片机系统的稳 定性。AT89S52片内由一个反相放大器构成振荡器, 可以由它产生时钟。本设计采用内部时钟方式。单片 机内部有个用于构成振荡器的高增益反相的放大器, 此高增益反相放大器的输入为芯片引脚XTAL1,而输 出端为引脚XTAL2。这两个引脚跨接石英晶体振荡器 和电容,就会构成一个稳定的自激振荡器。
EDA技术自行车里程表
北京印刷学院EDA技术课程设计报告设计名称:自行车里程与速度计的设计设计题目:自行车里程与速度计的设计专业:电子信息工程专业班级:学生姓名:学号:指导老师:时间:可设置数字钟设计报告一、设计任务要求1、能接收传感器传送的信号。
2、能自动地按照设置好的型号,计算出速度值和行驶的里程数。
3、能在数码管上显示速度值和里程值。
4、能通过按键选择自行车的型号。
5、速度和里程的显示由按键切换。
6、写出方案整体说明(硬件连线说明,操作说明等),经指导教师认可后,按该设计方案编写程序并完成调试工作。
二、设计方案1、系统功能(基本功能,附加功能)1)、基本功能a.实现速度的测量(单位:米/秒)。
b.具有测量行程的功能(单位:米)。
c.测得的数据由LED数码管显示。
2)、附加功能a.可以进行速度单位切换(单位:公里/小时)。
b.可以进行测量行程单位切换(单位:公里)。
c.速度过快的警告功能。
2、操作说明1)、调节时间调节时间由{mod1,mod0}和turn三个按键进行控制,{mod1,mod0}的键值组合实现时、分、秒调节和正常显示之间的切换,turn键用来完成调节。
{mod1,mod0}的键值组合为00时为正常计时状态;{mod1,mod0}的键值组合为01时时间停止走动,进入调分状态,并且此时分钟开始以500ms的频率闪烁,表示此时开始调节分,此时每拨动一下turn键,分加一;调整好分后,再将{mod1,mod0}的键值组合调为10开始时的调节,此时闪烁,同样有turn键来调整时;调节时后,再把{mod1,mod0}的键值组合调为11时,秒开始闪烁,直接由turn键实现秒归零。
2)、速度单位切换(公里/小时)。
由unit1来实现速度单位切换(单位:公里/小时),unit1为低电平时显示为(单位:米/秒),将unit1置高将显示为(单位:公里/小时)。
3)、行程单位切换(单位:公里)。
由unit1来实现行程单位切换(单位:公里),unit1为低电平时显示为(单位:米),将unit1置高将显示为(单位:公里)。
再谈自制多功能自行车速度里程表
再谈自制多功能自行车速度里程表引言在现代社会,自行车已成为一种常见且受欢迎的交通工具。
为了更好地掌握自行车的行驶状态,特别是速度和里程等信息,人们不断探索和研发各种多功能自行车速度里程表。
本文将再次深入探讨如何制作一款多功能自行车速度里程表,并分析其应用前景与优势。
多功能自行车速度里程表的制作方法制作一款多功能自行车速度里程表需要以下几个步骤:步骤一:选购必要的元件和工具•Arduino单片机:作为核心控制器,用于接收和处理各种传感器的数据。
•传感器:包括速度传感器、里程传感器和温度传感器等,用于监测自行车的行驶状态。
•OLED显示屏:用于显示速度、里程和其他信息。
•连接线和焊接工具:用于将各个组件连接在一起。
步骤二:连接元件并编写程序1.将Arduino单片机与传感器进行连接,确保各个传感器正常工作。
2.使用Arduino开发环境编写程序,实现数据的读取、处理和显示等功能。
步骤三:安装和调试1.将自制的多功能自行车速度里程表安装在自行车上,确保传感器与自行车的轮子和车架正确接触。
2.运行程序,检查速度、里程和其他信息是否正常显示。
3.对必要的参数进行调整,如时间、距离单位等,以满足个人需求。
多功能自行车速度里程表的应用前景与优势应用前景随着人们对健康和环境的关注度越来越高,自行车作为一种绿色出行方式,受到越来越多人的青睐。
多功能自行车速度里程表的应用前景非常广阔,可以用于以下几个方面:1.运动健身:通过实时监测速度和里程,鼓励骑行者坚持锻炼,提高运动效果。
2.交通安全:速度和里程的监测可以帮助骑行者合理安排骑行路线和时间,减少交通事故风险。
3.旅行记录:记录每次骑行的速度和里程,留下美好的回忆和行程纪实。
优势相比市场上一些商用的自行车速度里程表,自制的多功能自行车速度里程表具有以下几个优势:1.个性化定制:可以根据个人需求选择合适的传感器和显示信息,使得自行车速度里程表更贴合个人需求。
2.成本效益:相比商用产品,自制多功能自行车速度里程表的成本更低,且可以选择高性价比的元件。
自行车里程速度计设计
毕业设计(论文)题目:自行车里程速度计设计学院:电子信息学院专业班级:自动化2011级4班指导教师:王敏职称:讲师学生姓名:杨龙飞学号:41103010414摘要随着自行车行业和电子技术的发展,自行车速度里程计技术也在不断进步和提高,不仅可以显示速度里程,还可以显示热量消耗、心跳等参数,在大家注重环境保护和运动健康的今天,速度里程计不仅可以使运动者运动适量,还可以达到健康运动和代步的最佳效果,因此设计了以单片机为基础的自行车速度里程计,让人们能清楚地知道当前的速度、里程等物理量,而且单片机体积小、可靠性高、价格便宜。
该设计重点阐述了系统的工作原理、硬件构成、各部分的主要功能以及软件的结构和实现。
硬件包括主控模块、数据采集模块、数据处理模块、显示模块等组成,采用STC89C52单片机为主要控制芯片,运用自行车车轮上的传感器进行计数,通过一定时间间隔对信号的采集,结合自行车本身车轮参数,送入单片机并由单片机对采集信号进行分析计算,最终在液晶显示器LCD上显示车辆行驶的里程和速度;软件部分用C语言编程,采用模块化设计思想,并在keil和proteus 中进行调试和仿真。
自行车里程速度计的设计本着安全、方便、性价比高、人性化的原则进行,可使现代生活显著提高。
关键词:单片机,LCD1602,霍尔传感器,里程计ABSTRACTAs the bicycle industry and the development of electronic technology, bicycle speed odometer technology is also in constant progress and improve, not only can display speed range, can also display parameters such as heat consumption, heart rate, in everybody pays attention to environmental protection and health/fitness today, speed odometer can not only make people exercise right amount motion, also can to achieve the desired effect of the health sports and walking, thus designed on the basis of the single chip microcomputer bike speed odometer, let people can clearly know the current speed, mileage and other physical quantities, in addition, SCM has small size, high reliability and cheaper price.The design expounds the working principle, hardware composition, main functions of each part and the software structure and implementation. Hardware includes main control module, data acquisition module, data processing module, display module and so on, Using the STC89C52 single-chip microcomputer as main control chip, using sensors on bicycle wheels to count, sending the signals collected by a certain time interval and the bike itself parameters to the single chip microcompute. Finally Using single chip microcomputer to collect signal analysis and display.Software part in C language programming Adopting the idea of modular design, and debugging and simulation in the keil and proteus. Bicycle mileage speedometer design in line with safe, convenient and cost-effective, humanized principle, can make modern life improved significantly.KEYWORDS:singlechip, LCD1602, Hall sensor, odometer目录第1章绪论 (1)1.1 课题背景 (1)1.2 系统要求 (1)1.3 课题实现方法 (2)第2章系统框图及方案介绍 (3)2.1 总体方案比较 (3)2.2 总体方案选择 (3)2.2.1 系统总体框图 (3)2.2.2 系统总体设计 (3)2.3 各模块设计与选择 (4)2.3.1 单片机的选择 (4)2.3.2 显示模块的选择 (5)2.3.3 传感器的选择 (5)2.3.4 时钟芯片的选择 (6)2.3.5 按键模块的选择 (6)第3章硬件设计 (7)3.1 单片机最小系统 (7)3.1.1 最小系统接线图 (7)3.1.2 时钟电路 (7)3.1.3 复位电路 (8)3.2 显示模块 (8)3.2.1 液晶显示电路 (8)3.2.2 显示器LCD1602的介绍 (9)3.3 传感器模块 (11)3.3.1 霍尔传感器工作原理 (11)3.3.2 霍尔传感器的特性 (12)3.3.3 测速方法 (13)3.4 时钟模块 (13)3.4.1 时钟电路 (13)3.4.2 时钟芯片介绍 (14)3.4.3 DS1302的工作原理 (14)3.4.4 DS1302的控制字节 (14)3.4.5 数据输入输出(I/O) (15)3.5 按键模块 (15)3.6 系统总设计图 (15)第4章系统软件设计与实现 (17)4.1 C语言介绍 (17)4.2 软件实现的功能 (18)4.3 主流程图 (18)4.5 显示子程序设计 (19)4.6 速度、里程处理流程设计 (20)4.6.1 处理流程图 (20)4.6.2 算法流程 (21)4.7 按键处理流程设计 (22)第5章系统调试与仿真 (23)5.1 软件调试 (23)5.1.1 Keil简介 (23)5.1.2 程序调试 (23)5.1.3调试中的问题 (23)5.2 硬件仿真 (24)5.2.1 Proteus简介 (24)5.2.2 Proteus与Keil联调 (25)5.2.3硬件仿真中的问题 (26)5.3实物实现 (27)第6章总结 (29)参考文献 (31)附录.....................................................................................错误!未定义书签。
基于单片机的多功能自行车里程表的设计_毕业设计论文 精品
基于单片机的多功能自行车里程表的设计摘要本文设计了一种基于霍尔元件的自行车的速度和里程测量系统。
以A T89C52单片机为核心,A44E霍尔传感器测转数,从而实现对自行车里程、速度的测量统计,采用AT24C02实现在系统掉电的时候保存里程信息,并可以将自行车的里程和速度的物理量用LED显示出来。
硬件部分是利用霍尔元件将自行车每转一圈的脉冲数传入单片机系统,然后单片机系统将信号经过处理送往显示装置;软件部分用汇编语言进行编程,采用模块化设计思想。
关键词:速度;里程;霍尔元件;A T89C52单片机AbstractI am based on the design of a Holzer element to the bicycle's speed and mileage measurement system in this thesis. The main content is take A T89C52 single chip as the core, A44E Holzer sensor in measuring speed, thus realizing the bicycle mileage and speed measurement statistics, the use of AT24C02 realize in save mileage information when the system power off, and can be displaying the bicycle mileage and speed of the physical quantity in the LED. The hardware part of the Holzer element will take the pulse number of every turn to bike transfer to SCM system, then SCM system will signal is processed to display device; use the assembly language programming in the software part,啊pplication the idea of modularization.Keywords: Speed; course; Holzerelement; A T89C52 SCM目录第一章前言 .................................................................................................................... 11.1课题背景.................................................................................................................. 11.2课题设计的任务和要求.......................................................................................... 11.3课题设计的内容...................................................................................................... 1第二章自行车里程表的总体设计方案 .. (2)2.1霍尔传感器 (2)2.2设计思路 (2)2.3硬件设计 (2)2.4软件设计 (3)第三章自行车里程表的电路设计 (5)3.1测量系统 (5)3.2数据处理系统 (6)3.3时钟电路的设计 (8)3.4显示电路设计 (8)第四章软件部分设计 (9)4.1系统总程序设计 (9)4.2数据处理程序设计 (9)第五章总结 (11)参考文献 (12)附表 (13)第一章前言1.1 课题背景自行车是一种普遍的交通工具。
光电式自行车速度里程表设计,毕业论文
光电式自行车速度里程表设计摘要随着科技的迅速发展,单片机的应用也越来越广泛,并带动传统控制检测技术不断更新。
现在的里程表大多是电子式的,用数码管或液晶显示器即时显示,显示更加直观。
电子式里程表采用接触车速传感器代替软轴传动,可使里程表的安装位置不受距离限制,进一步有效地克服了机械式里程表中的诸多不足。
方案采用了一种以单片机AT89C51为主控机,使用光电传感器进行自行车里程、速度测量的装置。
传感器将不同车速产生的不同频率的脉冲信号输入到单片机进行控制与计算,再采用LCI)液晶显示模块进行显示,使得自行车的速度与里程数据能直观的显示给使用者。
本设计主要包括自行车轮脉冲采集、键盘输入和数据显示等部分,主程序用C语言编写,完成各项功能及数据的处理。
本里程表的设计具有结构简单,成本低廉,显示清噺,稳定可靠等优点。
并且可以进行扩充,更方便于使用者。
关键词光电传感器单片机液晶显示器里程表THE DESIGN OF PHOTOELECTRICBICYCLE ODOMETERABSTRACTWith the rapid deve 1 opment 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 disadvantages of mileage in the table.The plan adopts the system and configuration of com bin ing the microcontroller AT89C51 as the main control computer ,using the photoelectric sensor bicycle 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 whee 1 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 the prob1ems existing in the design, explained And then to hardware and software design and implementation of the part made earnest analysis, Then presented system mode 1 ing process and the corresponding systembased on this model, the control simulation, and the simulation results are compared・KEY WORDS odometer photoelectric sensor MCU LCD目录摘要 (I)ABSTRACT (11)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.1AT89C51单片机介绍 (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.1LCD液晶显示器 (13)3.5.2显示接口电路设计 (15)3. 6报警电路 (17)3.7键盘控制 (17)4软件设计 (18)4.1测量算法概述 (18)4.2中斷子程序的设计 (19)4.3数据处理子程序的设计 (20)4.3. 1里程计算子程序 (21)4.3. 2.速度计算子程序 (21)4.4显示子程序的设计 (22)5设计总结 (23)5. 1实现目标与特点 (24)5.2结论及不足 (25)致 (26)参考文献 (27)附录 (28)附录I系统电路原理图 (28)附录II设计源程序 (29)word版木.1绪论1.1问题由来我国是人口大国,也是自行车大国,随着生活节奏的不斷加快,自行车已经不仅仅是运输、代步的工具,现在则是代表着绿色、环保、节能。
基于单片机的自行车速度与里程表设计
基于单片机的自行车速度与里程表设计一、引言自行车作为一种常见的代步工具,随着人们对健康环保的追求,越来越受到青睐。
然而,骑行过程中常常会想知道自己的速度和里程,以便更好地掌握骑行状态和计划行程。
本文将介绍一种基于单片机的自行车速度与里程表设计,通过该设计可以实时获取自行车的速度和里程信息。
二、设计原理1. 速度计原理基于单片机的自行车速度计的设计原理是利用车轮旋转的次数和时间间隔来计算速度。
通过安装磁铁和霍尔传感器在车轮上,当车轮旋转时,霍尔传感器会感应到磁铁的磁场变化,并产生相应的信号。
单片机通过计算两次信号的时间间隔,然后根据车轮的周长计算出速度。
2. 里程计原理基于单片机的自行车里程计的设计原理是通过记录车轮旋转的次数,然后根据车轮的周长计算出里程。
同样地,通过安装磁铁和霍尔传感器在车轮上,当车轮旋转时,霍尔传感器会感应到磁铁的磁场变化,并产生相应的信号。
单片机每次检测到信号时,就将里程加一,并根据车轮的周长计算出实际里程。
三、硬件设计1. 单片机选择在设计中,我们可以选择一款适用的单片机作为控制核心。
常见的选择有51系列单片机、Arduino等。
根据实际需求和设计复杂度,选择合适的单片机进行编程和控制。
2. 传感器选择作为速度与里程计的关键部分,传感器的选择至关重要。
在车轮上安装磁铁和霍尔传感器,可以通过检测磁铁的旋转来计算车轮的速度和里程。
选择合适的霍尔传感器可以提高检测的准确性和稳定性。
3. 显示屏和按键为了方便用户查看速度和里程信息,可以选择合适的显示屏,如LCD液晶屏或LED数码管。
同时,可以添加按键用于用户设置和调整。
四、软件设计1. 信号检测与计算通过编程,设置单片机对霍尔传感器的信号进行检测,当检测到信号变化时,记录下时间戳,并计算时间间隔。
2. 速度计算根据时间间隔和车轮的周长,计算出实际速度。
可以选择不同的单位进行显示,如千米/小时或英里/小时。
3. 里程计算根据车轮旋转的次数,每次旋转时将里程加一,并根据车轮的周长计算出实际里程。
电子系统设计报告设计题目自行车里程表的设计
电子系统设计报告设计题目自行车里程表的设计自行车里程表一:明确设计要求1.可以适用不同尺寸自行车,轻便、省电、全天候野外使用,总里程<999.99km 2.可以轮流显示或选择显示(显示数制为十进制数):里程——当前行驶里程;速度——当前3.6秒内平均速度(单位:km/h);最大速度——本次行驶中的最大速度(单位:km/h);最大加速度——本次行驶中的最大加速度(单位:m/2s);行驶时间——当前行驶累计时间(时、分、秒)北京时间――实际的北京时间(时、分、秒)3.考虑到要求省电全天候野外使用,选用一个3V电源4.体积小、结构可靠,便于安装及使用根据以上设计要求,可以画出自行车里程表的面板图如下:功能说明:各按钮(除时、分的调时间按钮)为电平输出(时、分脉冲输出),按下为高电平;电源接通后,最上面的工作指示灯亮,此直接用硬件电路实现,不包括在控制系统各按钮旁为LED灯,灯亮原理同电源灯;里程等单位显示LED灯采用控制系统信号输出控制二:确定系统方案将整个自行车里程表分为以下几个模块:系统时钟模块、计时与时间显示模块、传感模块、里程显示模块、最大加速度显示模块、最大速度显示模块、速度显示模块下面根据设计要求对各模块设计要求:(1)系统时钟模块产生1Hz和32Hz的系统时钟脉冲和其他后面所需要时钟脉冲(2)传感模块用霍尔器件产生里程脉冲,并要有行驶信号(3)计时与时间显示模块六位数码管分别显示时、分、秒,有校时按钮以及显示北京时间和行驶时间的切换功能(4)里程显示模块工作在7位里程记录,精确到0.1m,显示到0.01km(舍入方式)即5位显示(5)速度显示模块记录当前时间之前3.6s内的平均速度(定义为当前平均速度)(6)最大速度显示模块记录行程中最大当前速度(7)最大加速度显示模块记录行程中最大加速度根据系统方案可画出系统总体方框图,如下图所示三:设计数据子系统选择合适的器件以实现上述各模块电路 (1)系统时钟模块器件: CD4060-14位二进制异步计数器(带振荡器) 74LS74-双上升沿D 触发器 石英晶体32768Hz用CD4060和石英晶体构成振荡器并分频102,得到32Hz 脉冲,再经74LS161和74LS74二分频输出秒脉冲,同时利用32Hz 脉冲分频得到3.6s 脉冲及10/3.6 s 脉冲。
自行车里程速度表的工作原理及设计
自行车里程速度表的工作原理及设计
现在,很多人都把骑自行车作为一项锻炼身体的运动项目,如果在自行车上加装一个里程速度表,就可以知道自己骑车的速度和行程,从而很好地控制运动量。
本文介绍一种用单片机制作的自行车里程速度表。
里程和速度显示可进行切换,采用三位数码管显示,最大可显示里程为99.9km。
显示最高速度可为99.9km/h。
该里程速度表也可以用在电动自行车和速度不超过
100km/h的摩托车上。
一、电路原理
电路如图1所示。
由检测传感器、单片机电路和数码显示电路等组成。
检测传感器由永久磁铁和开关型霍尔集成电路UGN3020.组成。
UGN3020由霍尔元件、放大器、整形电路及集电极开路输出电路等组成。
其功能是把磁信号转换成电信号。
图2a是其内部框图。
霍尔元件H为磁。
基于单片机自行车里程表的设计
-
1
引言
2
系统设计
3
关键技术点
4
实验结果与讨论
5
结论
1
引言
在当今社会,自行车作 为一种环保、健康的交 通工具,仍然在人们的 生活中占据着重要的地 位
引言
对于骑行者来说,了解 自己的骑行距离和速度 是非常重要的
基于51单片机的自行车 里程表设计,可以实现 对骑行距离和速度的精 确测量和显示,为骑行 者提供实用的骑行数据
按键处理:通过按键设置和 调整里程表的数据
3
关键技术点
关键技术点
码盘的安装与调整
码盘应安装在车轮的中心线上,以保证准确检测车轮的转动。同时,需要注 意调整码盘与单片机的接口,确保信号传输的稳定性
数据处理算法
根据脉冲信号的数量和时间间隔,可以采用不同的数据处理算 法来计算骑行的距离和速度。常用的算法包括中点法和快慢速 处理法。需要根据实际应用场景选择合适的算法
4
实验结果与讨论
实验结果与讨论
1
通过实际测试和实验,基于51单片机的自行车里程表能够实现对骑 行距离和速度的精确测量和显示
实验结果表明,该设计具有较高的稳定性和可靠性,能够满足实际 应用的需求
2
3
然而,在实验过程中也发现了一些问题,如码盘的安装位置和信号 传输的稳定性等,需要在后续的设计中进行改进和完善
LCD显示屏的驱动
LCD显示屏需要使用专用的驱动芯片进行控制。需要注意驱动 芯片与51单片机的接口连接和时序配合,以确保显示数据的正 确性和稳定性
按键的处理
按键需要检测其状态并处理相应的操作。可以采用中断方式或 查询方式进行检测,根据实际需要选择合适的方式
自行车里程计数表的设计
S o f t wa r e Ap p l i c a t i o n a n d De s i g n
自行车里程计数表的设计
朱 军
( 中南大学 ,长沙 4 1 0 0 8 3 )
摘 要 :该 自行 车里程表 系统是 以芯 片 A T 8 9 C 5 1为核 心 ,采用霍 尔传感器作 为采 集信 号的工具 ,将采集的信 号转化为不同的频 率 f 的脉冲信号,经过 5 1单片机控制 处理之后 ,得 到相应 需要 的数据 即 自行车的速度 以及里程数 ,
一
文章编号 :1 6 7 4 - 7 7 1 2 ( 2 0 1 4 ) t 4 — 0 1 9 5 — 0 1
读取模块、定时器中断服务模块以及其他功能模块组成。
( 一 )频率测量 部分 。本设计我们 把 8片磁钢放在 自行 车 的转轴上 ,由于磁 钢共分为 8片 ,磁 场将会 改变 8 次 ,磁 场 强度 大时输 出高电平,磁场低 时输 出为低 电平 。所 以将 会 产 生 8个方波 ,既每输 出 8 个 方波代表 白行车转动 了一周 。 般的 自行车车轮在 R = O . 2 5 m时 ,通过 C = 2 ⅡR计算得 出车轮 的周长 C = I . 5 m 。由于每一 圈霍尔传感 器将 输出 8个脉冲 ,当 自行车行驶 1 K M时会转动 6 6 7次 ,这样每 1 K M将 回产 生 5 3 3 6 个 脉冲 ,单 片机对这 5 3 3 6 个 脉冲计数 ,当达到这个数时单片 机将会产生中断。 外部信号 由 T 1 引脚输入 ,每产生依次负跳变 计数 器加 1 , 每输入 6 6 7 个脉 冲时计数器发 生溢出 中断 ,在 中斯 服务程序 中将 P 1 . 0取反依次 。 T l 计数方式工作模式 1的模式字为 T M O D = 5 0 H ,T O 不用 , T M O D的低 4位可 以任意取 ( 但不能进入模式 3 ),现取 0 。 计算 T 1的计 数 初值 :X = 2 1 6 —6 6 7 = 6 4 8 6 9 D = E 4 0 0 H ;T L 1 的初 值 位 O O H ,T H 1为 E 4 H 。 ( 二 )键盘控制部分 。键盘是实现人机对话 的必要设备, 用户可用键盘 向计算机输入数据或命令。本系统采用独立键盘
基于单片机的自行车码表设计
基于单片机的自行车码表设计一、自行车码表的功能需求一个实用的自行车码表通常需要具备以下功能:1、速度测量:能够实时准确地测量自行车的行驶速度。
2、里程计算:累计骑行的总里程。
3、时间显示:包括骑行时间和当前时间。
4、平均速度计算:提供一段时间内的平均骑行速度。
5、最高速度记录:记录骑行过程中的最高速度。
为了实现这些功能,我们需要选择合适的传感器和单片机来构建系统。
二、硬件设计1、传感器选择速度传感器:常见的有霍尔传感器和光电传感器。
霍尔传感器通过检测磁场变化来测量车轮的转动,而光电传感器则通过检测光的遮挡来实现。
在本设计中,我们选用霍尔传感器,将其安装在车轮辐条上,对应的磁铁安装在车架上。
当车轮转动时,霍尔传感器会输出脉冲信号。
时钟芯片:用于提供准确的时间信息,如 DS1302 芯片。
2、单片机选型考虑到成本和性能要求,我们选择常用的 STC89C52 单片机。
它具有丰富的 I/O 口资源,能够满足本设计的需求。
3、显示模块采用液晶显示屏(LCD),如 1602 液晶模块。
它能够清晰地显示数字和字符,方便骑行者查看数据。
4、电源模块由于自行车在骑行过程中会有震动,所以选择可充电的锂电池作为电源,并通过稳压芯片将电压稳定在单片机和其他模块所需的工作电压范围内。
三、软件设计1、主程序流程系统初始化,包括单片机内部寄存器的设置、传感器和显示模块的初始化等。
循环读取传感器的数据,并进行计算和处理。
将处理后的数据发送到显示模块进行显示。
2、速度计算算法根据霍尔传感器输出的脉冲信号的频率,结合车轮的周长,计算出自行车的行驶速度。
里程通过对速度进行积分计算得到。
3、时间处理程序读取时钟芯片的数据,获取当前时间和骑行时间,并进行相应的显示和存储。
四、系统调试1、硬件调试检查电路连接是否正确,有无短路或断路现象。
测量电源电压是否稳定,各模块的工作电压是否正常。
2、软件调试使用单片机开发工具(如 Keil)进行程序的编译和下载。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
课程单片机原理及应用课程设计题目自行车里程表的设计主要内容、基本要求、主要参考资料等1、主要内容:根据单片机课程所学内容,结合其他相关课程知识,设计一个自行车里程表,以加深对单片机知识的理解,锻炼实践动手能力,为以后的毕业设计和工作打下坚实基础。
2、基本要求:以AT89C2051型单片机为核心,实时测量并显示自行车行驶过程中两项运动参数:速度和里程。
所测量各值可单独显示,测量值误差小于1%。
超速行驶(设置两各可选择的限速参数:10m/s,8m/s)时,能自动发出声光报警。
3、主要参考资料:[1] 张毅坤,陈善久.单片微型计算机原理及应用.西安:西安电子科技大学出版社,2002.[2] 张友德,赵志英,徐时亮.单片微机原理应用与实验.上海:复旦大学出版社,2000.[3] 伟福Lab2000P系列单片机仿真实验系统说明书.完成期限2010.3.15-2010.3.19指导教师专业负责人2010年3 月13日目录第一章概述 (2)第二章硬件设计 (3)2.1系统组成结构框图 (3)2.2具体硬件电路及工作原理 (3)2.3 AT89C2051单片机简介 (4)2.3.1芯片概述 (4)2.4其他外围硬件电路 (6)2.4.1电源电路 (6)2.4.2霍尔传感器 (6)2.4.3 4位串行静态显示电路 (7)第三章软件设计 (8)3.1主程序设计 (8)3.2 外中断0和 T1定时溢出中断服务子程序设计 (8)3.3 速度/里程显示控制子程序设计 (8)3.4系统完整源程序 (9)总结 (10)参考文献 (11)附录 (12)附录1 整体电路图 (12)附录2 源程序 (13)第一章概述本设计介绍的速度与里程表设计以单片机和光电传感器为核心。
传感器将不同车速转变成的不同频率的脉冲信号输入到单片机进行控制与计算,再采用LED 模块进行显示,使得电动自行车的速度与里程数据能直接的显示给使用者。
该设计能实时地将所测的速度与累计里程数显示出来,主要是将传感器输入到单片机的脉冲信号的频率(传感器将不同车速转变成不同频率的脉冲信号)实时地测量出来,考虑到信号的衰减、干扰等影响,在信号送入单片机前应对其进行放大整形,然后通过单片机计算出速度和里程,再将所得的数据存储到串口数据存储器,并由LED显示模块交替显示所测速度与里程。
本设计的里程数的算法是一种大概的算法(假设在一定时间内自行车是匀速行进,平均速度与时间的乘积即为里程数)。
本系统由信号预处理电路、单片机AT89C2051、系统化LED显示模块、串口数据存储电路和系统软件组成。
其中信号预处理电路包含信号放大、波形变换和波形整形。
对待测信号进行放大的目的是降低对待测信号的幅度要求;波形变换和波形整形电路则用来将放大的信号转换成可与单片机相连的TTL信号;通过单片机的设置可使内部定时器T1对脉冲输入引脚T0进行控制,这样能精确地算出加到T0引脚的单位时间内检测到的脉冲数;设计中速度显示采用LED模块,通过速度换算得来的里程数采用I2C总线并通过E2PROM来存储,既节省了所需单片机的口线和外围器件,同时也简化了显示部分的软件编程。
设计时,应综合考虑测速精度和系统反应时间。
本设计用测量脉冲频率来计算速度,因而具有较高的测速精度。
在计算里程时取了自行车的理想状态。
实际中,误差控制在几米之内,相对于整个里程来说不是很大。
为了保证系统的实时性,系统的速度转换模块和显示数据转BCD码模块都采用快速算法。
另外,还应尽量保证其他子模块在编程时的通用性和高效性。
本设计的速度和里程值采用6位显示,并包含两个小数位。
第二章硬件设计2.1系统组成结构框图根据功能要求,首先要进行的是总体方案的设计于论证,构思一个符合实际要求的系统,如图2.1所示。
系统由测量模块、功能选择模块、显示模块、供电模块和单片机小系统构成。
功能选择后启动测量,大片及实时采集、处理后显示。
图2.1 系统组成结构框图2.2具体硬件电路及工作原理具体硬件电路如图2.2所示。
太慢;P1.6输出低电平时,控制灯D4亮,表示此时的显示值时里程(否则为速度);P1.7控制超速报警电路,其为高电平表示行驶速度正常,为低电平时,三极管9012导通,驱动蜂鸣器报警。
2.3 AT89C2051单片机简介2.3.1芯片概述AT89C2051是一个低电压,高性能CMOS 8位单片机,片内含2k bytes的可反复擦写的只读Flash程序存储器和128 bytes的随机存取数据存储器(RAM),器件采用ATMEL公司的高密度、非易失性存储技术生产,兼容标准MCS-51指令系统,片内置通用8位中央处理器和Flash存储单元,功能强大AT89C2051单片机可为您提供许多高性价比的应用场合。
AT89C2051是一个功能强大的单片机,但它只有20个引脚,15个双向输入/输出(I/O)端口,其中P1是一个完整的8位双向I/O口,两个外中断口,两个16位可编程定时计数器,两个全双向串行通信口,一个模拟比较放大器。
同时AT89C2051的时钟频率可以为零,即具备可用软件设置的睡眠省电功能,系统的唤醒方式有RAM、定时/计数器、串行口和外中断口,系统唤醒后即进入继续工作状态。
省电模式中,片内RAM将被冻结,时钟停止振荡,所有功能停止工作,直至系统被硬件复位方可继续运行。
管角配置图2.3所示。
图2.3 2051引脚图主要功能介绍(1)兼容MCS51指令系统(2) 15个双向I/O口(3)两个16位可编程定时/计数器(4)时钟频率0-24MHz(5)两个外部中断源(6)可直接驱动LED(7)低功耗睡眠功能(8)可编程UARL通道(9) 2k可反复擦写(>1000次)Flash ROM(10)6个中断源(11)2.7-6.V的宽工作电压范围(12)128x8bit内部RAM(13)两个串行中断(14)两级加密位(15)内置一个模拟比较放大器电池组经7805稳压后得到+5V电压给单片机系统和霍尔传感器供电。
2.4.2霍尔传感器霍尔传感器是利用霍尔效应把磁输入信号转换成电信号的器件。
本系统采用JK8002D霍尔接近开关,他是一种非接触型无触点开关,系统通过它探测外部的磁场的强弱变化,继而控制开关输出。
磁场由外部的磁钢产生。
JK8002D霍尔接近开关的内部原理图和输入/输出特性如图(5)和图(6)所示。
JK8002D霍尔接近开关的输入量是磁感应强度B,当B值达到一定的程度(如Bl)时,霍尔开关内部的触发器翻转,其输出电平状态也随之翻转。
当探头与磁钢距离由远而近为8mm时,霍尔元件输出端输出一个无抖动的低电平(约为0.2V),当两者距离足够远时,霍尔元件输出端输出一个无抖动的I/O 在节第三章软件设计3.1主程序设计主程序流程图见图3.1。
开机后系统自检,正常时LED显示“——”,同时等待自行车行驶。
轮子开始转圈后,系统进行记录和计算,并根据速度/里程开关的选择显示数值。
图3.1 主程序流程图3.2 外中断0和 T1定时溢出中断服务子程序设计外中断0服务子程序用于对输入脉冲的个数即轮子转圈的次数计数。
每计数一次,系统保存圈数值的同时保存定时器的计时值,并根据功能开关键实时显示相应的值。
T1定时溢出中断服务子程序用于实时统计记一次数的经历时间。
T1定时的基准时间设为20ms,假设记一次数中T1中断的次数为C,1.8/(20C)ms即当前自行车行驶的速度。
用内部定时加外中断的方法实现了对输入脉冲信号的测量,这是本系统最关键的程序部分。
3.3 速度/里程显示控制子程序设计最大允许速度由限速切换开关S4控制,超速使单片机的P1.7输出低电平报警。
若行驶速度太慢(<0.5m/s),灯D3不断闪烁,LED交替显示“Erro”、“Sudu”和当前速度值,以引起骑车者的注意。
速度显示值的单位有km/h和每m/s,由功能键S5切换。
对于里程值,为了较精确地显示,程序设置了不同里程范围时所显示的小数点后数字的位数:里程为10m~99m,显示2位小数;里程为100m~999m,显示1位小数。
3.4系统完整源程序如附录1总结本设计以AT89C2051为核心,通过光电传感器来检测自行车的运转情况进而实现电动自行车的速度,里程的计算及里程的累计,存储,最后用6位的LED 能直观的将速度与里程显示给用户,并且在速度高于一定的值时可自动向用户报警,从而达到智能速度里程表。
这次课程设计使我掌握了很多实践知识,在老师和同学的帮助下对单片机有了进一步的了解。
通过这次课程设计使我懂得了理论与实际相结合是很重要的,只有理论知识是远远不够的,只有把所学的理论知识与实践相结合起来,从理论中得出结论,进而提高自己的实际动手能力和独立思考的能力。
整个设计过程可以说不是很顺利,因为有很多知识已经淡忘,还有很多新的东西没有掌握,所以这次设计在不断的复习、学习中度过,使我受益匪浅,也使我对单片机的运用有了进一步的了解和掌握,也为今后的学习生活和工作打下良好的基础。
参考文献[1] 张毅坤,陈善久.单片微型计算机原理及应用.西安:西安电子科技大学出版社,2002.[2] 张友德,赵志英,徐时亮.单片微机原理应用与实验.上海:复旦大学出版社,2000.[3] 伟福Lab2000P系列单片机仿真实验系统说明书.附录附录1 整体电路图附录2 源程序自行车里程表/* 各引脚用途及系统功能说明P1.0 速度和里程切换:1显示速度,0显示里程P1.1 限速度切换:1 10m/s;0 8m/sP1.2 km/h和 m/s的切换:P1.4 指示显示器单位为km/hP1.5 速度太慢灯闪烁警告P1.6 0时灯亮,指示里程;为以灯不亮,显示速度P1.7 超速度报警距离最大值为9999m6H圈、 38H圈、 22C圈、 15B6圈0m=<S<10m 10m=<S<100m 100m=<S<1000m 1000m=<S<10000m周长0707H 00B4H 0012H 0012H/0AH//变量定义//XIAOSHU EDU 57H ;小数点位数单元GEWEI EDU 40H ;显示单元SHIWEI EDU 41H ;BAIWEI EDU 42H ;QIANWEI EDU 43H ;QSHU1 EDU 43H ;QSHU0 EDU 61H ;自行车圈数存储单元高位QSHU0 EDU 62H ;自行车圈数存储单元低位SJIAN0 EDU 6CH ; T1定时溢出存储单元高位SJIAN1 EDU 6DH ; T1定时溢出存储单元低位//主程序//ORG 000HAJMP STARTORG 0003HAJMP INTEX0ORG 001BHAJMP IT11ORG 0030HSTART: MOV SP,#75H ;设置堆栈指针MOV SCON,#00H ;串行口工作方式MOV GEWEI,#0AH ;开机显示MOV SHIWEI,#0AHMOV BAIWEI,#0AHMOV QIANWEI,#0AHACALL DIS11SETB P3.2 ;外中断0为输入查询方式JB P3.2 ;等待第一个有效脉冲(下降沿)到来ACALL CLEARRAM ;调用系统准备显示初始化子程序STLOOP: JNB P1.0,ST1 ; p1.0=0,显示速度ACALL DISPLAYS ; P1.0=1, 显示里程SJMP STLOOP ;循环显示ST1: ACALL DISPLAYV ;第一个下降沿来后显示速度AJMP STLOOP ;循环显示//系统准备显示初始化子程序//CLEARRAM: MOV TMOD,#10H ; T1用于定时,工作于模式1 MOV TH1,#0B1H ;定时20ms初始值SETB P1.2 ; P1.2-P1.0为输入SETB P1.1SERB P1.0CLR A ;相应内RAM空间清零MOV 21H,A ;速度/里程的BCD码高位清0MOV 22H,A ;速度/里程的BCD码低位清0MOV QSHU1,A ;圈数空间清0MOV QSHU0,AMOV 6AH,A ; T1溢出次数暂存单元高位清0 MOV 6BH,A ; T1溢出次数暂存单元低位清0 MOV SJIAN0,A ;计数器空间清零MOV SJIAN1,AMOV XIAOSHU,#01H ;默认显示3位小数SETB IT0 ;设置外中断为边沿触发方式SETB PT1 ; T1优先级最高SETB EA ;开总中断SETB ET1 ;开T1中断SETB EX0 ;开外0中断//外中断0服务子程序//INTEX0: PUSH ACC ;累加器堆栈保护PUSH PSW ;状态字堆栈保护INC QSHU0 ;圈加1SETB P1.7 ;置1不报警CLR A ;清ACJNE A,QSHU0,SUBX0 ;计数没溢出转SUBX0INC QSHU1 ;溢出进位(61H加1)SUBX0: CLR TR1 ;关计时,读轮子转一圈的时间 MOV 6AH,SJIAN0 ;时间暂存MOV 6BH,SJIAN1MOV TH1,#0B1H ;定时器T1重付初值MOV TL1,#0DFHCLR AMOV SJIAN0,A ;清计时空间MOV SJIAN1,ASETB TR1 ;重新计时POP PSW ;状态字恢复POP ACC ;累加器恢复RETI ;中断返回//T1定时器溢出时中断服务子程序//IT11: PUSH ACC ;堆栈保护PUSH PSWINC SJIAN1 ;定时20毫秒溢出次数MOV A,SJIAN1 ;读一圈定时的次数CJNE A,#0BBH,SUBT1 ;速度太慢(<0.5),处理AJMP SUBT2SUBT1: JC SUBT2INC 69H ;(69H)为奇数,LED显示“Erro” MOV A,69H ;再显示具体速度的值JB ACC.0 ERRO ;(69H)为偶数,LED显示“Sudu” MOV GEWEI,#05H ;再显示具体速度的值MOV SHIWEI,#0BHMOV BAIWEI,#0DHMOV QIANWEI,#0BHMOV XIAOSHU,#0BHACALL DIS11SJMP FS12ERRO: MOV GEWEI,#0CHMOV SHIWEI,#OBHMOV BAIWEI,#0BHMOV QIANWEI,#0DHACALL DIS21;“Erro”或“sudu”和具体速度大值交替闪烁显示FS12: MOV R2,#01H ;CLR P1.5ACALL DELAY2SETB P1.5ACALL DELAY2DJNZ R2,FLASHSUBT2: MOV TH1,#0B1HMOV TL1,#0DFHSETB TR1POP PSWPOP ACCRETI//里程显示控制子程序//DISPLAYS:CLR P1.6ACALL JULIMOV A,QSHU1CJNE A,#02H,DIAOYONG AJMP PANDY DIAOYONG:JNC PANDY1AJMP BUDYPANDY: MOV A,QSHU0CJNE A,#2CH,PANDY2 AJMP PANDY1PANDY2: JC BUDYPANDY1: MOV R6,#00hMOV R7,#0AHACALL JULI2ACALL BCDCACALL FENKAIACALL DIS21ACALL DELAY1RETBUDY: MOV R6,#00hMOV R7,#01hACALL JULI2ACALL BCDCACALL FENKAIACALL DIS11ACALL DELAY1ACALL DELAY1RET//速度显示控制子程序// DISPLAYV:SETB P1.6ACALL SUDUACALL BCDCACALL FENKAIMOV XIAOSHU,#01HRET//处理子程序1//JULI: PUSH PSWPUSH ACCMOV R2,QSHU1MOV R3,QSHU0JNZ GAOMOV A,QSHU0CJNE A,#06H,PAN1AJMP PAN2PAN1: JNC PAN2PAN2: MOV A,QSHU0CJNE A,#38H,PAN3 AJMP GAOPAN3: JC CZB4GAO: AJMP CZ12CZ707: MOV R6,#07HMOV R7,#07HMOV XIAOSHU,#01H AJMP KAISHICZB4: MOV R6,#00HMOV R7,#0B4HMOV XIAOSHU,#02H AJMP KAISHICZ12: MOV R6,#00HMOV R7,#00HMOV XIAOSHU,#03H KAISHI为两字节乘两字节程序段KAISHI: MOV A,R3MOV B,R7MUL ABMOV R4,BMOV R5,BMOV A,R3MOV B,R6MUL AABADD A,R4MOV R4,ACLR AADDC A,BMOV B,R7MUL ABADD A,R4MOV R4,AMOV A,R3ADDC A,BMOV R3,ACLR ARLC AXCH A,R2MOV B,R6MUL ABADD A,R3MOV R3,AADDC A,BMOV 50H,R2 MOV 51H,R3 MOV 52H,R4 MOV 53H,R5 POP PSWPOP ACCRET//处理里程子程序2// Juli2: PUSH PSWPUSH ACCMOV R2,50H MOV R3,51H MOV R4,52H MOV R5,53H DIVD11: CLR CMOV A,R3 SUBB A,R7 MOV A,R2 SUBB A,R6 JC DVD11 SETB OVRETDVD111: MOV B,#10H DVD211: CLR CMOV A,R5 MOV R5,A MOV A,R4 RLC AMOV R4,A MOV A,R3 RLC AMOV R3,A XCH A,R2 XCH A,R2 MOV F0,C CLR CSUBB A,R7 MOV R1,A MOV A,R2 SUBB A,R6 ANL C,/F0 JC DVD311MOV A,R1MOV R3,AINC R5DVD311: DJNZ B,DVD211MOV A,R4MOV R2,AMOV A,R5MOV R3,ACLR OVMOV 30H,R2MOV 31H,R3POP ACCPOP PSWNOPRET//十六进制转换乘BCD子程序// BCDC: PUSH ACCPUSH PSWMOV R6,30HMOV R7,31HCLR AMOV R3,AMOV R4,AMOV R5,AMOV R2,#10HHB322: MOV A,R7RLC AMOV R7,AMOV A,R6RLC AMOV R6,AMOV A,R5DA AMOV R5,AMOV A,R4ADDC A,R4DA AMOV R4,AMOV A,R3ADDC A,R3DJNZ R2,HB322MOV 20H,R3MOV 21H,R4MOV 22H,R5POP PSWPOP ACCNOPRET//算速度十六进制值子程序// SUDU: PUSH PSWPUSH ACCJB P1.2,KMSJMP JUBUKM: MOV R2,#00HMOV R3,#04HMOV R4,#0F1HMOV R5,#0A0HCLR P1.4SJMP QUANJUJUBU: MOV R2,#00HMOV R3,#001HMOV R4,#05FHMOV R5,#090HCLR P1.4 QUANJU: MOV A,6BHJB P1.1,XIAN10CJNE A,#0BH,BUXIANG SJMP JC0XIAN10: CJNE A,#09H,BUXIANG SJMP JC0 BUXIANG: JC JC0SJMP BUJGJC0: MOV A,6AHCJNE A,#00H,BUJGAJMP JIANGGAO JIANGGAO: CLR P1.7MOV GEWEI,#0CHMOV SHIWEI,#0BHMOV BAIWEI,#0BHMOV QIANWEI,#0DH ACALL DIS21ACALL DELAY1MOV GEWEI,#0EHMOV SHIIWEI, #0EH MOV BAIWEI,#0EHMOV QIANWEI,#0EH ACALL DIS21SJMP QUANJUBUJU: MOV A,6BHCJNE A,#0AFH,LING0 AJMP LING1LING0: JC LING1AJMP BUJINGLING1: MOV A,6AHCJNE A,#00J,BULING0 AJMP BULING1 BULING0: JC BULING1 BULING: MOV SJIAN0,#00HMOV SJIAN1,#00HRET//4字节除2字节除法子程序// BULING1: MOV R6,6AHMOV R7,6BHDIVD: CLR CMOV A,R3SUBB A,R7MOV A,R2SUBB A,R6JC DVD1SETB OVRETDVD1: MOV B,#10HDVD2: CLR CMOV A,R5RLC AMOV R5,AMOV A,A4RLC AMOV R4,AMOV A,R3RLC AMOV R3,AXCH A,R2XCH A,R2MOV F0,CCLR CSUBB A,R7MOV R1,AMOV A,R2SUBB A,R6JC DVD3MOV R2,AMOV A,R1MOV R3,AINC R5DVD3: DJNZ B,DVD2MOV A,R4MOV R2,AMOV A,R5MOV R3,ACLR OVMOV 30H,R2MOV 31H,R3POP ACCPOP PSWSETB P1.7NOPRET//压缩BCD码转乘非压缩BCD码子程序// FENKAI: MOV R7,#02HMOV R0,#GEWEIMOV R1,#21HFENKAI1: MOV A,@R1ANL A,#0F0HSWAP AMOV @R0,AINC R0MOV A,@R1ANL A,#0FHMOV @R0,AINC R0INC R1DJNZ R7,FENKAI1RET//延时子程序//DELAY1: MOV R6,#0FFHDEL: MOV R7,#0FFHDJNZ R7,$DJNZ R6,DE;RETDELAY2: MOV R6,#02FHMOV R7,#0FFHDJNZ R7,$RET//4位串行静态显示子程序//DIS21: MOV R7,#04HMOV R0,#GEWEILED1_21: MOV A,@R0MOV DPTR,#DATA_7SEG22LED1_221: MOVC A,@A+DPTRMOV SBUF,AJNB TI,$CLR TIINC R0DJNZ R7,LED1_21RETDATA_7SEG22DB081H,0EDH,043H,049H,02DH,019H,011H,0CDH,001H,009H,07FH,077H,013H,071, 0FFH;0 1 2 3 4 5 6 7 8 9 - r o E 空显;= = = = = = = = = = = = = = = = = = = = = = = = =DIS11: MOV R7,#04HMOV R6,XIAOSHUMOV R0,#GEWEILED1_11:MOV A,@R0DJNZ R6,LED6MOV DPTR,#DATA_7SEG3SJMP LED1_31LED6: MOV DPTR,#DATA_7SEG2LED1_31: MOVC A,@A+DPTRMOV SBUF,AJNB TI,$CLR TIINC R0DJNZ R7,LED1_11RETDATA_7SEG2DB081H,0EDH,043H,049H,02DH,019,011H,0CDH,001H,009H,07FH,0A1H,0R9H,061H ; 0 1 2 3 4 5 6 7 8 9 - U J dDATA_7SEG3DB 080H,0ECH,042H,048H,02CH,018H,010H,0CCH,000H,008H,07FH; 0. 1. 2. 3. 4. 5. 6 7. 8. 9. -指导教师:年月日。