C51程序的设计自行车里程计速度计
基于单片机的自行车速度里程实时显示系统设计

基于单片机的自行车速度里程实时显示系统设计随着时代的发展,机动车的数量越来越多,由于机动车的动力是汽油,而汽油的燃烧会直接向空气中排放二氧化碳等有害气体,导致空气污染越来越严重,是我们吸入的空气中有毒。
为了减少有毒气体的排放,是我们的空气稍微清新点,在不是特别需要情况下,人们在尽量减少机动车辆的使用。
此时自行车成为人们旅游代步必不可少的工具工具。
一方面自行车的使用无有毒气体的排放,不会对空气造成污染,另一方面骑自行车还可以起到锻炼身体的作用。
因此对自行车速度里程实时显示系统的设计的研究显得尤为重要。
自行车速度里程实时显示系统设计完成后可以对当时你骑车速度与里程进行准确的反映。
自行车速度里程实时显示系统是以单片机为核心,采用霍尔传感器非接触式侧电机转速,其中传感器接受到的的信息在LCD1602液晶上进行显示。
LCD1602液晶上行显示速度,下行对里程进行显示。
其中的电机的速度是可调的,因为电机的电路中连接滑动变阻器,通过移动滑动变阻器的阻片改变电路中的电阻大小,可以改变电路中的电流,从而改变电机两端的电压。
电机的速度随着电压的改变,速度随之进行改变。
本设计的C语言程序在keil软件中进行编译的,keil软件对C语言提供了编译与调试的环境。
对我们编译C语言非常有帮助。
对keil软件很好地把握对我们编写C语言大有裨益。
其中设计的硬件部分是由单片机、电路板、LCD显示、霍尔传感器等组成。
对这些元件的焊接需要有良好的焊接功底,通过这次的焊接对我们焊接的技术有一个很好地锻炼。
是我们对于元件的焊接有了一定的了解。
对我们日后的学习以及工作都很有帮助。
关键词:电阻;单片机;传感器;LCD显示。
目录1绪论 (1)1.1研究背景及目的 (1)1.2研究方法 (1)2系统总体方案设计 (2)2.1系统分析 (2)2.1.1 电机转速的测量 (2)2.1.2 电机转速的处理 (3)2.1.3 电机转速的显示 (3)2.2设计思路和方案 (3)2.3系统的构成 (4)2.3.1 原理框图 (5)3硬件电路设计 (6)3.1电源电路 (6)3.2单片机最小系统 (6)3.2.1 复位电路 (7)3.2.2 晶振电路 (7)3.2.3 P0口的上位电阻 (8)3.2.4 31脚EA/Vpp接电源 (8)3.3LCD显示模块 (8)3.4系统硬件设计 (9)4系统软件设计 (11)4.1程序设计流程图 (11)4.2应用程序设计 (12)5联调与测试 (13)5.1 仿真 (13)5.2 硬件调试与焊接 (15)5.2.1 调试 (15)5.2.2 焊接注意事项 (18)结论 .......................................................................... (19)附录A (21)附录B (22)附录C (23)附录D (24)1 绪论1.1 研究背景及目的随着社会的进步,科技的发展,机动车的数量越来越多,但机动车排放的也逐渐污染着我们的生活的环境.这一点令我们十分不满意.此时由于自行车队空气无污染,在一定程度上骑自行车还可以锻炼身体。
自行车速度里程计(软件设计)

自行车速度里程计(软件设计)本科生毕业设计论文题目 : 自行车速度里程计(软件设计) 姓名 :学号 :班级 :年级 :专业 :系 :指导教师 :完成时间 :作者声明本人以信誉郑重声明:所呈交的学位毕业设计,论文,~是本人在指导教师指导下由本人独立撰写完成的~没有剽窃、抄袭、造假等违反道德、学术规范和其他侵权行为。
文中引用他人的文献、数据、图件、资料均已明确标注出~不包含他人成果及为获得东华理工大学或其他教育机构的学位或证书而使用过的材料。
对本设计,论文,的研究做出重要贡献的个人和集体~均已在文中以明确方式标明。
本毕业设计,论文,引起的法律结果完全由本人承担。
本毕业设计,论文,成果归东华理工大学所有。
特此声明。
毕业设计,论文,作者,签字,:签字日期: 年月日本人声明:该学位论文是本人指导学生完成的研究成果~已经审阅过论文的全部内容~并能够保证题目、关键词、摘要部分中英文内容的一致性和准确性。
学位论文指导教师签名:年月日自行车速度里程计(软件设计)****The Software Design of Bicycle Speed Odometer******2015年 06 月08日摘要随着人们自身和外界慢慢向前发展,自行车在人们手中也从最开始的交通工具,变成了休闲、娱乐还有锻炼的工具。
自行车作为现代人们环保出行的工具,应该具备更多的功能,例如速度和里程显示等。
自行车一旦有了速度里程计,骑车人就可以轻松地知道自己当下的骑行状况,更有安全感。
这篇论文主要介绍如何对自行车速度里程计进行的软件设计。
在设计的过程中,主要是考虑对51系列单片机进行编程设计,使其在霍尔元件和LED显示器等的配合下,实现速度和里程的显示。
软件部分采用整体到局部的设计思路,分模块设计。
设计模块的子程序有:主程序、计算子程序、中断服务子程序、延时子程序和显示子程序等几大主要子程序。
设计的软件编程用简单易学的C语言编写,可读性和可移植性强。
自行车里程与速度计设计

题目自行车里程与速度计的设计学生姓名王忠建学号 1213014071所在学院物电学院专业班级电子信息工程指导教师梁芳完成地点物电学院实验室2016 年 5 月 22 日自行车里程与速度计的设计作者:王忠建(陕西理工学院物理与电信工程学院电子信息工程专业,2012级3班,陕西汉中 723000)指导教师:梁芳[摘要]设计主要阐述一种基于霍尔元件的自行车速度里程表的设计。
以 STC89C51单片机为核心,A44E 霍尔传感器测转数,实现对自行车里程/速度的测量,采用LCD1602显示自行车的里程数及速度。
文章详细介绍了自行车的速度里程表的硬件电路。
硬件部分利用霍尔元件将自行车每转一圈的脉冲数传入单片机系统,然后单片机系统将信号经过处理送显示。
软件部分用C语言进行编程,采用模块化设计思想。
该系统硬件电路简单,子程序具有通用性,完全符合设计要求。
[关键字]里程/速度;霍尔元件;单片机;LCD显示Design of the bicycle mileage and speed meterAuthor:ZhongJianWang(Grade12,Class3,Major electronics and information engineering,School of Physics and Telecommunication Engineering,Shaanxi University of Technology,Hanzhong 723000,Shaanxi)Tutor: FangLiang[Abstract] In this paper, the bicycle mileage/speed design based on the Hall element is elaborated. By STC89C52as kernel, using A44E Hall element to measure revolution, the measure and statistic are achieved.Saved by 1602LCD , the bicycle speed can be displayed on LED. In this article, the hardware circuit design of bicycle mileage/speed instrument are introduced in detail. About the hardware, the pulse number is transmitted of one cycle of the bicycle into Single Chip Microcomputer system. Then the signal processed by Single Chip Microcomputer system is sent to display scream. About the software, in C language; the program is designed in the mode of modules. The system has simple hardware, common sub-program, and meets the demand of design.[Key words] Mileage / speed; Hall element; Single chip microcomputer; LCD目录1 引言 01.1 自行车的历史与发展 01.2本设计研究的方法与意义 02 系统硬件平台的设计 (1)2.1 总体设计方案说明 (1)2.2 单片机最小系统 (2)2.2.1 AT89C51单片机 (3)2.2.3 复位电路 (4)2.3 显示模块 (5)2.4 霍尔传感器的测量原理 (6)2.5 DS1302时钟芯片 (7)3 系统软件的设计与实现 (8)3.1 主程序流程图 (8)3.2 显示流程图 (8)3.3 速度里程计算和处理流程图 (9)3.4 电路仿真 (10)3.4.1 仿真软件简介 (10)3.4.2 仿真结果 (10)4 安装调试与性能分析 (12)4.1系统仿真调试 (12)4.2 调试故障及原因分析 (13)5 设计总结与展望 (15)5.1设计总结 (15)5.2 展望 (15)致谢 (16)参考文献 (17)附录A (18)附录B (23)1 引言1.1 自行车的历史与发展随着居民生活水平的不断提高,自行车不再仅仅是普通的运输、代步的工具,而是成为人们娱乐、休闲、锻炼的首选。
基于单片机的自行车里程表及速度仪的毕业设计

重庆三峡学院毕业设计(论文)题目基于单片机的自行车里程表及速度仪的设计院系专业电子信息工程年级 2 0 1 0 级学生姓名学生学号指导教师职称副教授完成毕业设计(论文)时间 2013 年 12 月目录第一章绪论 (1)1.1选题背景与研发意义 (1)1.2课题的发展情况 (1)1.3 研究的主要内容 (2)第二章开发工具介绍 (2)2.1 KEIL介绍 (2)2.2 Proteus介绍 (3)2.3 单片机 (4)第三章硬件电路的设计 (7)3.1 相关元器件及其简介 (7)3.1.1 AT89C51单片机简介 (7)3.1.2 LCD液晶显示模块 (7)3.1.3传感器的选择 (8)3.1.4霍尔传感器 (9)3.2 总体设计方案 (10)3.2.1 系统总体设计思路 (10)3.2.2 方案设计与讨论 (10)3.3 模块电路 (11)第四章系统的软件设计 (12)4.1系统的主流程图 (12)4.2仿真截图 (13)结论 (16)致谢 (16)参考文献 (17)英文摘要 (18)附录 (19)基于单片机的自行车里程表及速度仪的设计摘要本文介绍了基于单片机控制的简易自动自行车里程以及速度的计算系统,包括自行车里程表的硬件构成、软件逻辑以及程序代码。
该自行车测速系统以AT89C51作为系统控制核心,采用霍尔传感器来检测信号,通过一定时间间隔内对信号的采集,结合自行车本身车轮参数,经过单片机对采集信号进行分析计算,最终在LCD以及LED上显示车辆行驶里程、平均速度和瞬时速度,并且具有超速报警功能。
关键字:自行车测速单片机霍尔传感器 LCD显示 LED显示第一章绪论1.1选题背景与研发意义中国人口众多,还是发展中国家,经济不发达制约了大多数人的消费水平,人们休闲时使用的交通工具主要还是自行车,它便捷轻巧,使用简单,深受人们的喜爱,作为休闲运动工具,是人们锻炼身体的好工具,好伙伴。
但随着时间的推移,人们追求的是具有更多功能的自行车它能显示当前车子行驶的速度,里程,行驶时间,最高行驶速度,甚至还有GPS定位系统。
51单片机自行车测速(含实时时间,温度显示,断电保存等)

单片机课程设计报告自行车测速仪学院信息工程学院专业信息工程(电子信息工程方向)年级班别 2010级(4)班学号 3110002980学生姓名 XXX指导教师 XXX申请成绩 XXX2012年12 月1、设计要求:自行车测速仪(传感器必须自己做)(每班最多8人选此题,难度系数:中;此题除非所有硬件自己做,并用于实际自行车上,否则不能得优或良)基本功能:能实时显示自行车的行驶速度附加功能:实时时钟,行驶里程累计2.设计思路:首先是选择基于51单片机来设计这个产品,这个产品主要的功能是用来测量自行车的车速,既然要测车速,那就要用到传感器,所以选择了红外光电传感器,它的检测头里也装有一个发光器和一个收光器,但前方没有反光板。
正常情况下发光器发出的光收光器是找不到的。
当检测物通过时挡住了光,并把光部分反射回来,收光器就收到光信号,输出一个开关信号。
在没有遮挡物时,传感器输出端输出一个高电平,当有遮挡物时,输出端就会输出低电平,那样就可以利用单片机的计数功能,把传感器输出的信号输入到单片机的外部脉冲输入端,可以通过测试脉冲数来算出车速,具体实现是利用单片机的计数功能实现下降沿计数,然后在两秒内统计出自行车走过的圈数,算出自行车车轮的周长,再乘以圈数,再除以时间两秒,就得到车速,然后在lcd上面显示,还可以算出自行车的路程,也利用单片机的定时中断功能可以设置和显示实时时间,还可以利用单片机上自带的温度传感器ds18b20测出实时温度,在lcd上显示出来。
3.任务分工:XXX(100%)4.设计步骤:1.先完成lcd的显示代码,使单片机上的lcd能正常显示数字,字符。
2,利用单片机的定时计数功能,首先在lcd上显示实时时间能每秒加一。
3.通过对按键的扫描检测,实现对实时时间的设置。
例如按下按键,使能设置时间(断开计时中断),再分别设置三个按键分别实现对小时,分钟,秒的设置(按下一次加一)。
4.通过单片机的计数功能,即外部脉冲信号输入到引脚P3.5(T1),电平从1到0跳变,则计数器加一。
51单片机自行车测速包括实时、温度显示、断电保存等.doc

51单片机自行车测速包括实时、温度显示、断电保存等单片机课程设计报告——自行车转速表研究所信息工程研究所信息工程专业(电子信息工程方向)年级12月XXXX1.设计要求:自行车转速表(传感器必须由自己制造)(每班最多8名候选人,难度系数:中国;除非所有的硬件都是自己制造并用于实际的自行车,否则这个问题的基本功能是无法实现的。
自行车行驶速度实时显示的附加功能:实时时钟,里程累积2。
设计理念:首先是设计基于51单片机的产品。
该产品的主要功能是测量自行车的速度。
因为需要传感器来测量自行车的速度,所以选择了红外光电传感器。
它的探测头也装有一个光发射器和一个光接收器,但前面没有反射器。
在正常情况下,无法找到光发射器发射的光接收器。
当检测对象通过时,它阻挡光并部分反射回光,光接收器接收光信号并输出开关信号。
当无障碍物时,传感器的输出端输出高电平,当有障碍物时,输出端输出低电平,这样传感器输出的信号就可以利用单片机的计数功能输入到单片机的外部脉冲输入端,通过检测脉冲数来计算车速,具体实现是利用单片机的计数功能对下降沿进行计数,然后对自行车在两秒钟内经过的圈数进行计数,计算出自行车车轮的lcd上显示速度。
自行车的距离也可以计算。
还可以利用单片机的定时器中断功能设置和显示实时时间。
内置在单片机中的温度传感器ds18bXXXX也可以在12月份使用1.设计要求:自行车转速表(传感器必须由自己制造)(每班最多8名候选人,难度系数:中国;除非所有的硬件都是自己制造并用于实际的自行车,否则这个问题的基本功能是无法实现的。
自行车行驶速度实时显示的附加功能:实时时钟,里程累积2。
设计理念:首先是设计基于51单片机的产品。
该产品的主要功能是测量自行车的速度。
因为需要传感器来测量自行车的速度,所以选择了红外光电传感器。
它的探测头也装有一个光发射器和一个光接收器,但前面没有反射器。
在正常情况下,无法找到光发射器发射的光接收器。
当检测对象通过时,它阻挡光并部分反射回光,光接收器接收光信号并输出开关信号。
基于单片机的自行车速度与里程表设计

基于单片机的自行车速度与里程表设计一、引言自行车作为一种常见的代步工具,随着人们对健康环保的追求,越来越受到青睐。
然而,骑行过程中常常会想知道自己的速度和里程,以便更好地掌握骑行状态和计划行程。
本文将介绍一种基于单片机的自行车速度与里程表设计,通过该设计可以实时获取自行车的速度和里程信息。
二、设计原理1. 速度计原理基于单片机的自行车速度计的设计原理是利用车轮旋转的次数和时间间隔来计算速度。
通过安装磁铁和霍尔传感器在车轮上,当车轮旋转时,霍尔传感器会感应到磁铁的磁场变化,并产生相应的信号。
单片机通过计算两次信号的时间间隔,然后根据车轮的周长计算出速度。
2. 里程计原理基于单片机的自行车里程计的设计原理是通过记录车轮旋转的次数,然后根据车轮的周长计算出里程。
同样地,通过安装磁铁和霍尔传感器在车轮上,当车轮旋转时,霍尔传感器会感应到磁铁的磁场变化,并产生相应的信号。
单片机每次检测到信号时,就将里程加一,并根据车轮的周长计算出实际里程。
三、硬件设计1. 单片机选择在设计中,我们可以选择一款适用的单片机作为控制核心。
常见的选择有51系列单片机、Arduino等。
根据实际需求和设计复杂度,选择合适的单片机进行编程和控制。
2. 传感器选择作为速度与里程计的关键部分,传感器的选择至关重要。
在车轮上安装磁铁和霍尔传感器,可以通过检测磁铁的旋转来计算车轮的速度和里程。
选择合适的霍尔传感器可以提高检测的准确性和稳定性。
3. 显示屏和按键为了方便用户查看速度和里程信息,可以选择合适的显示屏,如LCD液晶屏或LED数码管。
同时,可以添加按键用于用户设置和调整。
四、软件设计1. 信号检测与计算通过编程,设置单片机对霍尔传感器的信号进行检测,当检测到信号变化时,记录下时间戳,并计算时间间隔。
2. 速度计算根据时间间隔和车轮的周长,计算出实际速度。
可以选择不同的单位进行显示,如千米/小时或英里/小时。
3. 里程计算根据车轮旋转的次数,每次旋转时将里程加一,并根据车轮的周长计算出实际里程。
基于STC89C51单片机的自行车里程计数器设计

图 2:主程序流程图
基于单片机的自行车里程表计数器使 用 STC89C51 单 片 机,DS1302 时 钟 芯 片, AT24C02 串行存储器,独立按键,A3144E 霍 尔元件,LCD1602 液晶显示屏,报警器组成。 其系统结构如图 1 所示。
单片机负责处理霍尔传感器传来的电脉 冲,并且将处理好的数据传给显示器,在显示 器上显示结果。采集车轮转动圈数的信息是由 霍尔传感器来负责,并且把采集到的数据发送 给单片机。独立按键会负责单片机的复位操作, 设定时间,设定安全速度,里程数清零等。蜂 鸣器就是负责提示用户已超过设定的安全速度 的报警响铃。
更好的知道计算机新技术的发展。
【关键词】大数据 计算机 信息处理技术 存 储技术
新时代下,随着计算机技术和网络的飞 速发展,信息化已经成为现代化发展的必然需 求。社会各行各业都有大量的数据需要存储, 因此对于这些海量信息的处理是一件复杂而繁 琐的工作,传统的处理技术已经不能满足当前
人们的需求,因此,在当前“大数据”时代下, 计算机处理技术有了新的定义,并且赋予了其 新的功能,计算机处理技术需要不断提高才能 更好的为“大数据”服务,并且对于数据的采 集、存储及安全构建中所应用的技术提出了更 高的要求,而这些技术也是当前“大数据”时 代背景下信息处理技术的核心和关键。本文着 眼于“大数据”,对于计算机信息处理技术及 其发展做出了详细的阐述。
样也是当前数据不断发展的保障。
本文首先对“大数据”进行了阐述,
讲 述 了 在“ 大 数 据” 处 理 中 相 关
的 技 术, 如 信 息 存 储 技 术、 信 息
采 集 技 术 及 信 息 安 全 技 术 等。 并
对“ 大 数 据” 环 境 下, 计 算 机 的
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
河南机电高等专科学校《C51程序设计》大作业设计题目:自行车速度/里程计班级:医电091学号:090411146姓名:李文全成绩:2011年11月25日目录一、设计任务1.设计目的 (1)2.课题简介 (1)二、系统设计1.总体设计方案 (1)2.硬件部分简介 (2)(A)AT89c51芯片简介 (2)(B)硬件设计 (3)3.软件部分 (3)(A)初始化程序 (5)(B)主程序 (6)(C)中断程序 (8)(D)里程、速度处理程序 (10)(E)显示子程序 (12)(F)延时子程序 (14)三、调试 (15)1、硬件调试 (15)2、软件调试 (15)四、总结 (16)五、电路原理图 (16)六、源程序 (18)七、参考文献 (22)I自行车里程计/速度计的设计一、设计任务1.设计目的本设计采用AT89C51单片机作控制,利用霍尔元件等器件设计一个可用LED数码管显示当前自行车行驶的距离及速度并具有超速报警功能的自行车里程/速度表,使其作为自行车的一种辅助工具,让自行车的功用更强大,给人们带来更多的方便。
2.课题简介自行车被发明及使用到现在已有两百多年的历史,在这两百年间人类在不断的尝试与研发过程中,自行车发展的目的也从最早的代步工具转换成休闲娱乐的用途,随着生活水平的提高,人们希望自行车的功能更强大,而里程计/速度计正满足了这个需求。
现在先进的里程/速度计不仅能显示实时的速度和里程,还显示时间,甚至具有测量骑车人的心跳、显示骑车人热量消耗等功能。
由于时间有限,本设计完成的功能减为两个,即测量并通过LED数码管进行动态显示当前的速度和里程,并在超速时发出警报。
要求达到的各项指标及实现方法如下:1. 利用霍尔传感器产生里程数的脉冲信号。
2. 对脉冲信号进行计数。
实现:利用单片机自带的计数器T1对霍尔传感器脉冲信号进行计数。
3. 对数据进行处理,要求用LED显示里程总数和即时速度。
实现:利用软件编程,对数据进行处理得到需要的数值。
最终实现目标:自行车的速度里程表具有里程、速度测试与显示功能,采用单片机作控制,显示电路可显示里程及速度。
二、系统设计1.总体设计方案采用AT89C51芯片,用霍尔元件将车轮的转速转换成电脉冲,经过处理后送入单片机。
里程及速度的测量,是经过AT89C51的定时/计数器测出总的脉冲数和每转一圈的时间,再经过单片机的计算得出,计算结果通过LED显示器显示出来。
传感器是获取自然或生产领域中信息的关键器件,是现代信息系统和各种设备不可缺少的信息采集工具。
磁传感器是一种将磁学量信号转变为电信号的器件或装置。
随着信息产业、工业自动化、医疗仪器等的飞速发展和计算机应用的普及,需要大量的传感器将被测或被控的非电信号转换成可与计算机兼容的电信号。
作为输入信号,这就给磁传感器的快速发展提供了机遇,形成了磁传感器的1产业。
其中最具代表的磁传感器就是霍尔传感器,在自动检测系统中,利用霍尔传感器测转数是一种最基本的测量工作。
单片机是本次设计的核心部件,它是信号从采集到输出的桥梁,而且包括计算、定时、信息处理等功能。
当轮子每转一圈,通过开关型霍尔元件传感器采集到一个脉冲信号,并从引脚12即P3.2外部中断0端输入,传感器每获取一个脉冲信号即对系统提供一次计数中断。
每次中断代表车轮转动一圈,中断数n轮圈的周长为L的乘积为里程值。
计数器T1计算每转一圈所用的时间t,就可以计算出即时速度v。
当里程键按下时,里程指示灯亮,LED切换显示当前里程,与当速度键按下时,速度指示灯亮,LED切换显示当前速度,若自行车超速,系统发出报警信号,指示灯闪烁。
里程数据自动记忆,也可用于电动自行车、摩托车、汽车等机动车仪表上。
设计包括硬件、软件两部分,硬件电路包括AT89C51单片机的外围电路以及LED显示电路等,这里对硬件部分只做简单介绍,主要阐述的是软件部分的设计,包括数据初始化程序的设计、主程序的设计、处理子程序的设计、显示子程序的设计;最后针对仿真过程遇到的问题进行了具体说明与分析,对本次设计进行总结。
2.硬件部分介绍(A)AT89C51芯片简介AT89C51是一种带4K字节闪存可编程可擦除的只读存储器即为(FPEROM—Flash 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(串行输出口) 2 P3.2 /INT0(外部中断0)P3.3 /INT1(外部中断1)P3.4 T0(记时器0外部输入)P3.5 T1(记时器1外部输入)P3.6 /WR(外部数据存储器写选通)P3.7 /RD(外部数据存储器读选通)RST:复位输入。
当振荡器复位器件时,要保持RST脚两个机器周期的高电平时间。
ALE/PROG:当访问外部存储器时,地址锁存允许的输出电平用于锁存地址的地位字节。
在FLASH编程期间,此引脚用于输入编程脉冲。
/PSEN:外部程序存储器的选通信号。
在由外部程序存储器取指期间,每个机器周期两次/PSEN有效。
但在访问外部数据存储器时,这两次有效的/PSEN信号将不出现。
(B)硬件设计本次设计信号的捕获采用的是霍尔传感器。
霍尔器件具有许多优点,它们的结构牢固、体积小、重量轻、寿命长、安装方便、功耗小、频率高(可达1MHz)、耐震动、不怕灰尘、油污、水汽及烟雾等的污染或腐蚀。
霍尔线性器件的精度高、线性度好;霍尔开关器件无触点、无磨损、输出波形清晰、无抖动、无回跳、位置重复精度高。
取用各种补偿和保护措施的霍尔器件工作温度范围宽,可达-55℃~150℃。
XTAL1和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口,从而实现里程和速度的动态显示。
自行车的速度里程表的硬件电路设计是基础部分,它包括信号的捕获、放大、整形,单片机的计算处理,数码管的实时显示和单片机外围基本电路的设计,两大主要器件就是传感器和单片机。
3.软件部分 3模块化结构设计即是根据要求和硬件设计的结构,将整个系统的功能分成许多小的功能模块,再根据这些小的功能模块进行程序编写的过程。
这样的设计方法,使得系统的整个功能和各部分的功能趋于明朗化。
当系统出现问题,就可以根据功能设置找出问题的根源,从而更快地解决问题。
所以说,在整个设计过程中,软件设计必须与硬件设计紧密地结合在一起。
软件设计包括初始化程序、主程序、行车过程中里程和速度计算子程序、延时子程序、中断服务子程序、显示子程序等。
系统软件总体流程图如图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的开启时间刚好为转一圈的时间,根据轮子的周长就可以计算出自行车的速度。
图3.1 系统整体流程图4主要内存单元及用处:50H:EEPROM器件寻址字节存放单元51H:EEPROM传送字节数存放单元30H:EEPROM发送数据缓冲单元40H:EEPROM读出数据存放单元0A0H:EEPROM寻址字节写入0A1H:EEPROM寻址字节读出62H:DPTR计数扩展高8位6CH:定时器T1计数扩展高8位6DH:定时器T1计数扩展高8—16位60H、61H、62H:里程计数单元68H、69H、6AH、6BH:存放自行车每圈时间数70H、71H、72H、73H:显示BCD码数据存放用11H--15H:存放被除数16H—19H:存放除数(A)初始化程序初始化程序主要完成以下工作:将T1设为外部控制定时器方式;外部中断0及外部中断1设为边沿触发方式;将部分内存单元清0;设置轮子周长;开中断及定时器;将EEPROM中的数据调入内存。
CLEARMEN:MOV TMOD,#90H ;T1为16位外部控制定时器MOV SP,#75H ;堆栈从75H开始SETB PX0 ;外部中断0优先级为1SETB IT0 ;外部中断0用边沿触发SETB IT1 ;外部中断1用边沿触发CLR A ;清AMOV20H,A ;清内存中特定单元MOV6CH,A ;清内存中特定单元MOV6DH,A ;清内存中特定单元MOV70H,A ;清内存中特定单元MOV71H,A ;清内存中特定单元MOV72H,A ;清内存中特定单元MOV73H,A ;清内存中特定单元MOV60H,A ;清内存中特定单元MOV61H,A ;清内存中特定单元MOV62H,A ;清内存中特定单元MOV63H,A ;清内存中特定单元DEC A ;A为0FFHMOV68H,A ;内存置数据0FFHMOV69H,A ;内存置数据0FFH 5MOV6AH,A ;内存置数据0FFHMOV6BH,A ;内存置数据0FFHMOV P1,A ;P1口置1CLEAR1: JB P1.2,KEY1 ;根据P1.2设置状态MOV21H,#0FHLJMP CLEAR2 ;转CLEAR2KEY1: JB P1.3,KEY2 ;根据P1.3设置状态MOV21H,#12HLJMP CLEAR2KEY2: JB P1.6,KEY3 ;根据P1.6设置状态MOV21H,#14HLJMP CLEAR2KEY3: JB P1.7,ERR ;根据P1.7设置状态MOV21H,#19HCLEAR2: SETB TR1 ;开定时器T1SETB EA ;开中断允许SETB EX0 ;开外中断0SETB ET1 ;开定时中断T1SETB P3.1 ;关报警器LCALL VIICREAD ;将EEPROM中原里程数据调入内存RETERR: CPL P3.1 ;未设置车轮周长,开始报警LCALL DL5S ;延时5SLJMP 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则说明没有选择车轮直径,此时开始报警,并调用延时子程序。