自行车测速、里程计
- 格式:doc
- 大小:132.50 KB
- 文档页数:9
学号:中州大学毕业设计设计题目:基于单片机的自行车里程速度计设计学院:专业:班级:姓名:指导教师:日期:年月日摘要1目前自行车已成为人们娱乐、休闲、锻炼的首选,尤其是对于用来锻炼的人们,自行车速度里程计让他们清楚地知道当前的速度、里程等物理量,更好的用于锻炼。
本论文主要阐述一种基于霍尔元件的自行车速度里程计设计。
以AT89C51 单片机为核心,A44E 霍尔传感器测转数,实现对自行车速度里程计测量统计。
该速度里程计将传感器输入到单片机的脉冲信号的宽度实时地测量出来,然后通过单片机计算出速度和行程,再将所得的数据存储到串口数据存储器,采用CAT24WC32 实现在系统掉电的时候保存速度和行程信息,并由串口液晶显示模块实时显示出所测速度和行程。
本设计介绍了自行车速度/里程测试仪的硬件电路和软件设计。
硬件部分利用霍尔元件将自行车每转一圈的脉冲数传入单片机系统,然后单片机系统将信号经过处理送显示。
软件部分用汇编语言进行编程,采用模块化设计思想。
该系统硬件电路简单,子程序具有通用性,完全符合设计要求。
关键词:速度/里程;霍尔元件;单片机;LCD液晶显示Abstract2Now the bicycle has become the first choice of entertainmenting and exercising. Especially for people to exercise,The bicycle speed/trip can fulfill the basic need of people’s life, so that they can learn the speed and the mileage of the bicycle. In these paper, the bicycle speed/trip design based on the Hall element is elaborated. By AT89C51 as kernel, using A44E Hall element to measure revolution, the measure and statistic are achieved. The range informations are saved by CAT24WC32 when the power is off, the bicycle speed can be displayed on LCD. In this article, the hardware circuit and software design of bicycle speed/trip 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 assemble language, the program is designed in the mode of modules. The system has simple hardware, common sub-program, and meet the demand of design.Key words: speed/trip; Hall element; Single Chip Microcomputer; LCD目录一、概述1、设计目的 (1)32、课题简介 (1)二、系统设计1、总体设计方案 (2)2、硬件部分简介 (3)(1)AT89c51芯片简介 (3)(2)硬件设计 (4)3、软件部分 (5)(1)初始化程序 (6)(2)主程序 (8)(3)中断程序 (9)(4)里程、速度处理程序 (11)(5)显示子程序 (14)(6)延时子程序 (16)三、调试 (17)1、硬件调试 (17)2、软件调试 (17)四、操作说明 (19)五、参考文献 (20)六、心得体会 (21)七、附录 (22)1、元器件清单 (22)2、整体原理图 (23)3、完整程序 (24)自行车里程计/速度计的设计一、概述41、设计目的本设计采用AT89C51单片机作控制,利用霍尔元件等器件设计一个可用LED 数码管显示当前自行车行驶的距离及速度并具有超速报警功能的自行车里程/速度表,使其作为自行车的一种辅助工具,让自行车的功用更强大,给人们带来更多的方便。
编号:201234140123 本科毕业论文基于单片机的自行车里程测速仪设计毕业设计(论文)原创性声明和使用授权说明原创性声明本人郑重承诺:所呈交的毕业设计(论文),是我个人在指导教师的指导下进行的研究工作及取得的成果。
尽我所知,除文中特别加以标注和致谢的地方外,不包含其他人或组织已经发表或公布过的研究成果,也不包含我为获得及其它教育机构的学位或学历而使用过的材料。
对本研究提供过帮助和做出过贡献的个人或集体,均已在文中作了明确的说明并表示了谢意。
作者签名:日期:指导教师签名:日期:使用授权说明本人完全了解XX大学关于收集、保存、使用毕业设计(论文)的规定,即:按照学校要求提交毕业设计(论文)的印刷本和电子版本;学校有权保存毕业设计(论文)的印刷本和电子版,并提供目录检索与阅览服务;学校可以采用影印、缩印、数字化或其它复制手段保存论文;在不以赢利为目的前提下,学校可以公布论文的部分或全部内容。
作者签名:日期:I摘要随着居民生活水平的不断提高,自行车不再仅仅是普通的运输、代步的工具,而是成为人们娱乐、休闲、锻炼的首选。
自行车测速仪能够满足人们最基本的需求,让人们能清楚地知道当前的速度、里程、时间等物理量。
本文介绍了一种基于单片机控制的简易自动自行车速度以及里程计算系统,包括自行车里程表的硬件构成,软件逻辑以及程序代码。
该里程测速系统以AT89C51作为系统控制核心,采用霍尔传感器来检测信号,通过一定时间间隔内对信号的采集,结合自行车本身车轮参数,经过单片机对采集信号进行分析计算,最终在LCD上显示车辆行驶里程、平均速度和瞬时速度,并且具有超速报警功能。
该系统硬件电路简单,子程序具有通用性,完全符合设计要求。
为了便于扩展和更改,软件的设计采用模块化结构,使程序设计的逻辑关系更加简洁明了,使硬件在软件的控制下协调运作。
正文中首先简单描述系统硬件工作原理,且附以系统硬件设计框图,论述了本次毕业设计所应用的各硬件接口技术和各个接口模块的功能及工作过程, 并具体描述了AT89C51接口的软、硬件调试;其次阐述了程序的流程和实现过程。
SIGMA BC506 自行车码表使用说明功能介绍:1、可显示速度、骑行距离(最大99,999KM)、骑行时间(最大999:59小时)、累计骑行里程(最大99,999KM),时钟功能。
2、手动和自动显示功能。
自动显示(AUTO),自动显示功能开启后,能间隔1秒,顺序显示骑行距离、时间、总里程和时钟。
下面简单介绍一下使用方法:一、功能显示。
1、自动显示。
按动功能按钮(码表下方大按钮),只至出现AUTO字样,此时码表自动显示骑行距离、时间、总里程和时钟,间隔时间为1秒。
2、手动显示。
按动功能按钮,出现KM字样,表示此时显示的是旅行距离;按动功能按钮,出现闹钟图案,表示此时显示的是旅行时间,精确显示到秒;按动功能按钮,出现Σ字样,表示此时显示的是从装上码表开始的累计骑行距离。
3、码表清零。
按住功能按钮不小于3秒,此时码表上的数字闪烁,继续按住不动直到清零,清零不影响累计骑行距离。
二、设定。
此功能决定着码表的正确使用,非常关键。
主要功能是输入车轮周长,调校时钟、改变速度单位、开启自动显示功能等。
进入设置界面。
按住码表背面的设置按钮3秒,出现SET字样,即进入设置界面,此时下面显示的四位数字为车轮周长,此时按动功能按钮,将进入下一个功能的设置界面。
下面以设置车轮周长为例,介绍此功能的使用。
在设置界面下,按动设置按钮,码表上的数字将开始闪动,表示此时可以输入数字,按动功能按钮,闪动的数字会改变,我的车胎是26*2.1,应在第一个数字位输入2,等待第二个数字闪动,按动功能按钮,第二位输入1,依次在第三位和第四位输入3,即周长为2133。
按照以上的方法,可以调校时钟等,因方法一样不再重复。
退出设置界面。
按动设置键3秒,即可恢复到使用状态。
附表,Wheel Size Chart47-305 16*1.75*2 0790 1272 325-630 27*11/4 1366 219947-406 20*1.75*2 0988 1590 28-630 27*11/4fiftry 1350 217437-540 24*13/8A 1210 1948 40-622 28*1.5 1381 222447-507 24*1.75*2 1184 1907 47-622 28*1.75 1409 226823-571 26*1 1225 1973 40635 28*11/2 1407 226540-559 26*1.5 1258 2026 37-622 28*13/8*15/8 1370 220544-559 26*1.6 1274 2051 18-622 700*18c 1306 210247-559 26*1.75*2 1286 2070 20-622 700*20c 1313 211450-559 26*1.9 *1298 2089 23-622 700*23c 1325 213354-559 26*2.00 1313 2114 25-622 700*25c 1333 214657-559 26*2.125 1325 2133 28-622 700*28c 1335 214937-560 26*13/8 1307 2105 32-622 700*32c 1350 217437-584 26*13/8*11/2 1296 2086 37-622 700*35c 1370 220520-571 26*3/4 1214 1954 40-622 700*40c 1381 224 Mph km/h。
届.别. 2013届学号毕业设计基于单片机设计的自行车测速系统姓名系别、专业导师姓名、职称完成时间1目录摘要 .............................................................. 3矚慫润厲钐瘗睞枥庑赖。
Abstract............................................................ 3聞創沟燴鐺險爱氇谴净。
1 绪论 ........................................................... 4残骛楼諍锩瀨濟溆塹籟。
1.1 课题背景 ................................................. 5酽锕极額閉镇桧猪訣锥。
1.2 课题主要任务及内容........................................ 5彈贸摄尔霁毙攬砖卤庑。
1.3 任务分析与实现............................................ 5謀荞抟箧飆鐸怼类蒋薔。
2 系统设计 ....................................................... 6厦礴恳蹒骈時盡继價骚。
2.1 硬件方案设计.............................................. 6茕桢广鳓鯡选块网羈泪。
2.2 软件方案设计.............................................. 7鹅娅尽損鹌惨歷茏鴛賴。
2.3 硬件电路设计.............................................. 8籟丛妈羥为贍偾蛏练淨。
2.3.1 概述................................................ 8預頌圣鉉儐歲龈讶骅籴。
编号:河南大学2011届本科毕业论文自行车里程速度计的设计The Design Of The Bicycle trip /speed tester 论文作者姓名:高兵作者学号:070440055所在学院:计算机与信息工程学院所学专业:自动化导师姓名职称:肖兴达(副教授)论文完成时间:2011年5月20日2011年5月20日目录摘要 (I)Abstract (II)第1章绪论 (1)1.1 课题研究的目的 (1)1.2 课题的主要任务及内容 (1)第2章自行车里程速度计总体方案设计 (2)2.1 任务分析与实现 (2)2.2 自行车里程速度计硬件方案设计 (2)2.2.1 整体方案论证 (2)2.2.2 系统的组成 (3)第3章单片机AT89C51简介 (4)3.1 单片机的组成和特点 (4)3.2 AT89C51的主要特性和实物图 (4)3.3 AT89C51的引脚功能介绍 (6)3.4 单片机定时/计数功能介绍 (8)第4章测速传感器的选型 (10)4.1 开关型霍尔传感器的工作原理 (10)4.2 A44E集成开关型霍尔传感器介绍 (11)4.3 传感器的检测原理和检测电路 (12)第5章整体硬件电路设计 (13)5.1 单片机最小系统设计 (13)5.1.1复位电路的设计 (13)5.1.2 时钟晶振电路的设计 (14)5.2 传感器检测电路的设计 (16)5.3 电源电路的设计 (17)5.4 键盘电路的设计 (18)5.5 外部存储电路的设计 (19)5.5.1 存储器CAT24WC32概述 (19)5.5.2 CAT24WC32引脚功能介绍 (20)5.5.3 I²C总线协议介绍 (21)5.5.4 CAT24WC32和AT89C51的硬件连接设计 (23)5.6 显示电路的设计 (23)5.6.1 EDM1190A的特点 (24)5.6.2 主要技术参数 (24)5.6.3 引脚介绍 (24)5.6.4 EDM1190A的数据传输原理 (25)5.7 声光报警电路的设计 (27)第6章软件设计 (29)6.1 软件设计概述 (29)6.2 主程序设计 (29)6.3 中断子程序的设计 (31)6.4 键盘子程序的设计 (32)6.4.1 功能选择键S1程序的设计 (32)6.4.2 增加键S2程序的设计 (32)6.4.3 减少键S3程序的设计 (33)6.5 数据处理子程序的设计 (34)6.5.1 速度计算子程序的设计 (34)6.5.2 里程计算子程序的设计 (35)6.6 显示子程序的设计 (36)6.7 I²C协议下读/写E²PROM程序的设计 (36)结论与展望 (37)致谢 (39)主要参考文献 (39)附录一元器件清单 (40)附录二系统原理图 (41)附录三系统源程序 (42)摘要目前自行车已成为人们娱乐、休闲、锻炼的首选,尤其是对于用来锻炼的人们,自行车速度里程计让他们清楚地知道当前的速度、里程等物理量,更好的用于锻炼。
浅谈自行车里程计/速度计的设计作者:耿子庆来源:《科教导刊》2011年第15期摘要本文主要利用单片机AT89C51研制自行车里程计和速度计仪器,此仪器可应用于电动自行车、摩托车、汽车等机动车仪表上。
此仪器能够准确显示出速度和里程,操作使用很方便。
因此本设计采用了以AT89C51单片机为核心低成本,高精度,微型化数字显示里程计/速度计的硬件电路方法。
中图分类号:TP368.4 文献标识码:ADiscussion about Design of the Bicycle Odometer / SpeedometerGENG Ziqing(Jilin Finance School, Jilin, Jilin 132011)AbstractThis paper mainly uses single-chip microcomputer AT89C51 odometer and developed bicycle speedometer instruments, this instrument can be applied to electric bicycles, motorcycles, cars, etc. on the meter motor vehicles. This instrument can accurately show speed and mileage, operate very convenient. Therefore the design uses AT89C51 with low cost, high accuracy, miniaturization digital display odometer/ speedometer hardware circuit method.Key wordsAT89C51; crystals; TC4024; minimum system自行车里程计和速度计经常应用于电动自行车、摩托车、汽车等机动车仪表上。
摘要随着居民生活水平的不断提高,自行车不再仅仅是普通的运输、代步的工具,而是成为人们娱乐、休闲、锻炼的首选。
自行车的速度里程表能够满足人们最基本的需求,让人们能清楚地知道当前的速度、里程等物理量。
本论文主要阐述一种基于霍尔元件的自行车的速度里程表的设计。
以AT89C52单片机为核心,A44E 霍尔传感器测转数,实现对自行车里程/速度的测量统计,采用24C02实现在系统掉电的时候保存里程信息,并能将自行车的里程数及速度用LED实时显示。
文章详细介绍了自行车的速度里程表的硬件电路和软件设计。
硬件部分利用霍尔元件将自行车每转一圈的脉冲数传入单片机系统,然后单片机系统将信号经过处理送显示。
软件部分用汇编语言进行编程,采用模块化设计思想。
该系统硬件电路简单,子程序具有通用性,完全符合设计要求。
关键词:里程/速度;霍尔元件;单片机;LED显示ABSTRACTWith the developing of people’s life, the bicycle is not only the universal tool of transportation and substitute for walking, but becomes the first choice of entertainment and exercising. The bicycle mileage/speed can fulfill the basic need of people’s life, so that they can learn the speed and the mileage of the bicycle. In this paper, the bicycle mileage/speed design based on the Hall element is elaborated. By AT89C52 as kernel, using A44E Hall element to measure revolution, the measure and statistic are achieved. The range information is saved by 24C02 when the power is off, the bicycle speed can be displayed on LED. In this article, the hardware circuit and software 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 assemble 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; LED目录摘要 (I)第一章绪论 (1)1.1课题简介 (1)1.2 单片机发展趋势 (1)1.3课题的主要任务及容 (3)第二章系统总体方案设计 (4)2.1设计总体思想 (4)2.2硬件方案设计 (6)2.3软件方案设计 (8)第三章硬件电路设计 (10)3.1概述 (10)3.2传感器及其测量系统 (10)3.2.1霍尔传感器的测量原理 (11)3.2.2集成开关型霍尔传感器 (12)3.3单片机的原理及应用 (13)3.3.1单片机原理简介 (13)3.3.2单片机的引脚功能介绍 (15)3.3.3单片机中断系统介绍 (18)3.3.4单片机定时/计数功能介绍 (20)3.4其他元器件的选择 (21)3.4.1存储器的选择 (21)3.4.2 触发器的选择 (22)3.4.3 74LS244芯片的介绍 (24)3.5单片机外围电路的设计 (24)3.5.1时钟电路的设计 (24)3.5.2复位电路的设计 (26)3.5.3显示电路的设计 (27)3.6 本章小结 (29)第四章软件程序设计 (30)4.1总体论述 (30)4.2总体程序设计 (30)4.3中断子程序的设计 (33)4.4数据处理子程序的设计 (34)4.5显示子程序的设计 (35)第五章系统调试与分析 (38)5.1系统仿真调试 (38)5.2调试故障及原因分析 (39)5.3设计总结 (41)5.4改进与创新 (41)致 (43)参考文献 (45)附录 (47)第一章绪论1.1课题简介自行车被发明及使用到现在已有两百多年的历史,这两百年间人类在不断的尝试与研发过程中,将玩具式的木马车转换到今日各式新颖休闲运动自行车,自行车发展的目的也从最早的交通代步的工具转换成休闲娱乐运动的用途。
1 、引言 (3)2 、AT89C52单片机 (4)2.1 AT89C52单片机简介 (4)2.2 AT89C52的管脚及其含义 (4)3 、TC4024 (8)4、 24C01芯片 (9)4.124C01简介 (9)4.224C01的特性: (10)5 、硬件电路的设计 (11)5.1系统硬件电路 (11)5.2系统的工作原理 (12)6、软件设计 (13)6.1系统内存的规划 (13)6.2系统的主要程序设计 (13)7 、系统调试 (16)7.1硬件调试 (16)7.2软件调试 (16)参考文献 (18)1 引言传感器,英文名字为Sensor或Transducer,亦称换能器、变换器。
在科技迅速发展的今天,传感器越来倍受重视。
在日常生活、航天、航空,常规武器、交通运输,机械制造、化工、生物医学工程、自动化检测工程及计量等各项领域都被广泛应用。
目前,传感器已向新材料开发,集成化、智能化、数字化、新工艺,高精度化及高稳定、高可靠化等技术发展。
特别是霍尔传感器,鉴于它的价廉、易于使用,使它广泛运用于里程计、速度计等。
单片微型计算机简称单片机,又称微控制器,特别适用于控制领域。
通常单片机由单块集成电路构成,内部包含有计算机的基本部件:CPU(中央处理器),存储器和I/O接口电路等。
因此,单片机只需要与适当的软件及外部设备相结合,便可以成为一个单片机控制系统。
目前,场上销售的单片机有4位、8、16位、32位,并且单片机朝着高性能多种方向发展,尤其是8位单片机以经成为当前单片机的主流,主要体现在CPU功能增强、内部资源增多、引脚的功能化、低电压和低功好耗化上。
单片机因为其体积小、功能强,可靠性高,灵活方便等优点,所以可以用于各个领域,对各行各业的技术改造和产品更新换代起到重要的推动作用。
本人经过学习,用AT89C52设计了一个自行车里程/速度计。
本设计可轮流显示自行车行使的里程和速度, 采用TC4024芯片作为计数器以及2C401存储数据,3个单级共阴数码管作为显示系统。
自行车里程速度表的工作原理及设计
现在,很多人都把骑自行车作为一项锻炼身体的运动项目,如果在自行车上加装一个里程速度表,就可以知道自己骑车的速度和行程,从而很好地控制运动量。
本文介绍一种用单片机制作的自行车里程速度表。
里程和速度显示可进行切换,采用三位数码管显示,最大可显示里程为99.9km。
显示最高速度可为99.9km/h。
该里程速度表也可以用在电动自行车和速度不超过
100km/h的摩托车上。
一、电路原理
电路如图1所示。
由检测传感器、单片机电路和数码显示电路等组成。
检测传感器由永久磁铁和开关型霍尔集成电路UGN3020.组成。
UGN3020由霍尔元件、放大器、整形电路及集电极开路输出电路等组成。
其功能是把磁信号转换成电信号。
图2a是其内部框图。
霍尔元件H为磁。
目录内容摘要 (1)关键词 (1)1.概述 (1)2.硬件设计 (2)2.1单片机AT89S51 (2)2.1.1单片机AT89S51简介 (2)2.1.2单片机AT89S51引脚 (2)2.2芯片24C02 (4)2.3霍尔开关44E (5)2.4液晶1602 (5)2.5系统硬件电路 (7)2.5.1系统原理图 (7)2.5.2单片机和复位晶振电路 (8)2.5.3液晶1602电路 (9)2.5.4 ISP下载口 (10)2.5.5 AT24C02芯片 (11)2.5.6 电源电路、排插、排阻等其他电路 (11)2.5.7 电路PCB图 (13)3.程序设计 (13)3.1头文件、管脚定义和函数声明 (13)3.2中断 (14)3.3函数主体 (15)3.3.1 Main函数 (15)3.3.2 LCD1602 (17)3.3.3 AT24C02 (17)3.4硬件应用层驱动 (18)4 系统调试 (21)4.1 系统实物图 (21)4.2 程序的下载与调试 (21)4.2.1AT89S52 ISP 功能简介 (21)4.2.2 烧写程序 (23)4.2.3 软件的调试 (24)5 总结 (24)参考文献 (25)Abstract (25)Keywords (26)自行车里程、速度计的设计【内容摘要】随着人们生活水平的日益提高,自行车除了作为代步工具之外,又渐渐的多了很多附加价值,成为了人们一种娱乐、休闲和锻炼的手段之一。
在不断提倡低碳环保的趋势下,自行车出行的优越性越来越突出,自行车里程/速度计能够满足人们最基本的需求,让人们能清楚地知道当前的速度、里程等物理量。
本论文主要阐述一种基于霍尔元件的自行车里程/速度计的设计。
以 AT89C51 单片机为核心,A44E 霍尔传感器测转数,实现对自行车里程/速度的测量统计,采用 24C02 实现在系统掉电的时候保存里程信息,并能将自行车的里程数及速度用LCD1602实时显示。
光电式自行车速度里程表设计摘要随着科技的迅速发展,单片机的应用也越来越广泛,并带动传统控制检测技术不断更新。
现在的里程表大多是电子式的,用数码管或液晶显示器即时显示,显示更加直观。
电子式里程表采用接触车速传感器代替软轴传动,可使里程表的安装位置不受距离限制,进一步有效地克服了机械式里程表中的诸多不足。
方案采用了一种以单片机AT89C51为主控机,使用光电传感器进行自行车里程、速度测量的装置。
传感器将不同车速产生的不同频率的脉冲信号输入到单片机进行控制与计算,再采用LCD液晶显示模块进行显示,使得自行车的速度与里程数据能直观的显示给使用者。
本设计主要包括自行车轮脉冲采集、键盘输入和数据显示等部分,主程序用C语言编写,完成各项功能及数据的处理。
本里程表的设计具有结构简单,成本低廉,显示清晰,稳定可靠等优点。
并且可以进行扩充,更方便于使用者。
关键词光电传感器单片机液晶显示器里程表THE DESIGN OF PHOTOELECTRICBICYCLE 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 disadvantages of mileage in the table.The plan adopts the system and configuration of combining 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 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 the problems 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.KEY WORDS odometer photoelectric sensor MCU LCD目录摘要 (I)ABSTRACT .................................................................... I I 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单片机外围电路介绍 (12)3.4.1复位电路 (12)3.4.2晶振电路 (13)3.5显示部分 (14)3.5.1 LCD液晶显示器 (13)3.5.2 显示接口电路设计 (15)3.6报警电路 (17)3.7键盘控制 (18)4软件设计 (18)4.1测量算法概述 (18)4.2中断子程序的设计 (19)4.3数据处理子程序的设计 (21)4.3.1里程计算子程序 (21)4.3.2.速度计算子程序 (22)4.4显示子程序的设计 (23)5设计总结 (25)5.1实现目标与特点 (25)5.2结论及不足 (26)致谢 (27)参考文献 (27)附录 (28)附录I系统电路原理图 (28)附录II设计源程序 (29)1 绪论1.1 问题由来我国是人口大国,也是自行车大国,随着生活节奏的不断加快,自行车已经不仅仅是运输、代步的工具,现在则是代表着绿色、环保、节能。
毕业论文基于单片机的自行车里程测速仪设计院系:信息工程学院姓名:学号:专业:年级:指导教师:职称:完成日期:摘要随着居民生活水平的不断提高,自行车不再仅仅是普通的运输、代步的工具,而是成为人们娱乐、休闲、锻炼的首选。
自行车测速仪能够满足人们最基本的需求,让人们能清楚地知道当前的速度、里程、时间等物理量。
本文介绍了一种基于单片机控制的简易自动自行车速度以及里程计算系统,包括自行车里程表的硬件构成,软件逻辑以及程序代码。
该里程测速系统以AT89C51作为系统控制核心,采用霍尔传感器来检测信号,通过一定时间间隔内对信号的采集,结合自行车本身车轮参数,经过单片机对采集信号进行分析计算,最终在LCD上显示车辆行驶里程、平均速度和瞬时速度,并且具有超速报警功能。
该系统硬件电路简单,子程序具有通用性,完全符合设计要求。
为了便于扩展和更改,软件的设计采用模块化结构,使程序设计的逻辑关系更加简洁明了,使硬件在软件的控制下协调运作。
正文中首先简单描述系统硬件工作原理,且附以系统硬件设计框图,论述了本次毕业设计所应用的各硬件接口技术和各个接口模块的功能及工作过程, 并具体描述了AT89C51接口的软、硬件调试;其次阐述了程序的流程和实现过程。
仿真实验表明所设计的硬件电路及软件程序是正确的,满足设计要求。
关键词:里程/速度;霍尔元件;单片机;LCDIAbstractWith the development of people’s life, the bicycle is not only the universal tool of transportation and substitute for walking, but becomes the first choice of entertainment and exercising. The bicycle speedometer can fulfill the basic need of people’s life, so that they can learn the speed, the mileage, time of the bicycle.This article describes a simple microcontroller-based control automatically bike speed and mileage calculation system, including bicycle odometer hardware structure, software logic, and program code. Velocity system of the mileage uses AT89C51 as the control core, uses the hall sensors to detect the signal within a certain time interval the signal acquisition, combined with a bicycle wheel parameters after a single-chip signal acquisition, analysis and calculation, the mileage, average speed and instantaneous speed will finally display on the LCD, and the system has speed alarm function. The system hardware circuit is simple, the subroutine is versatile, which fully meets the design requirements.For the sake of easy to expand with the design adoption mold a logic for turning construction, making procedure designing relation that change, software more shorter and more easier to understand. Make hardware control in software descended to moderate the operation. The text inside describes the system hardware work principle in brief first, and attach with the system hardware design frame diagram, discuss this graduate design a function for applied each hardware connecting a people the technique connects with each one a mold piece and work processes, combine to describe in a specific way the AT89C51 electric circuit connects oscular and soft, the hardware adjusts to try. Expatiated the process of the procedure the next in order with realizes process. The simulation results have proved that the hardware circuits design and software program is correct, and the system can meet the designing requirement completely.Keywords: Mileage / speed; Hall element; MCU; LCDII目录1 绪论 (1)1.1 课题研究的目的和意义 (1)1.2 国内外的发展现状分析 (1)1.3 研究的主要内容 (2)2 系统总体设计 (3)2.1 系统总体设计思路 (3)2.2 结构框图 (3)2.3 速度测量原理 (4)2.4 传感器的选择 (4)2.5 显示模块的选择 (4)2.6 操作说明 (5)2.7 工作原理 (5)3 硬件电路设计 (6)3.1 系统总电路图 (6)3.2 AT89C51单片机简介 (7)3.3 1602LCD液晶显示模块 (9)3.4 霍尔元件 (11)3.4.1 霍尔元件简介 (11)3.4.2 霍尔传感器测量原理 (12)3.4.3 转速测量方法 (13)3.5 晶振复位电路 (13)3.6 报警电路 (14)4 软件程序设计 (15)4.1 测量算法概述 (15)4.2 主程序设计 (15)4.3 中断子程序设计 (17)5 调试与仿真 (18)III5.1 Proteus及Keil软件简介 (18)5.1.1 Proteus软件 (18)5.1.2 Keil软件 (18)5.2 应用Keil软件进行程序调试 (19)5.3 Proteus软件仿真 (19)5.4 仿真结果 (19)6 结论 (23)参考文献 (24)致谢 (25)附录 (26)IV绪论1 绪论1.1 课题研究的目的和意义中国人口众多,还是发展中国家,经济不发达制约了大多数人的消费水平,人们使用的交通工具主要还是自行车,它轻巧便捷,使用简单,很受人们的喜爱,同时也可以作为休闲运动工具,是人们锻炼身体的好工具。
一、概述1.1设计目的本设计采用AT89C52单片机作控制,利用霍尔元件等器件设计一个可用LED数码管显示当前自行车行驶的距离及速度并具有超速报警功能的自行车里程/速度表,使其作为自行车的一种辅助工具,让自行车的功用更强大,给人们带来更多的方便。
1.2课题简介自行车被发明及使用到现在已有两百多年的历史,在这两百年间人类在不断的尝试与研发过程中,自行车发展的目的也从最早的代步工具转换成休闲娱乐的用途,随着生活水平的提高,人们希望自行车的功能更强大,而里程计/速度计正满足了这个需求。
现在先进的里程/速度计不仅能显示实时的速度和里程,还显示时间,甚至具有测量骑车人的心跳、显示骑车人热量消耗等功能。
由于时间有限,本设计完成的功能减为两个,即测量并通过LED数码管进行动态显示当前的速度和里程,并在超速时发出警报。
要求达到的各项指标及实现方法如下:1. 利用霍尔传感器产生里程数的脉冲信号。
2. 对脉冲信号进行计数。
实现:利用单片机自带的计数器T1对霍尔传感器脉冲信号进行计数。
3. 对数据进行处理,要求用LED显示里程总数和即时速度。
实现:利用软件编程,对数据进行处理得到需要的数值。
最终实现目标:自行车的速度里程表具有里程、速度测试与显示功能,采用单片机作控制,显示电路可显示里程及速度。
二、系统设计2.1总体设计方案采用AT89C52芯片,用霍尔元件将车轮的转速转换成电脉冲,经过处理后送入单片机。
里程及速度的测量,是经过AT89C52的定时/计数器测出总的脉冲数和每转一圈的时间,再经过单片机的计算得出,计算结果通过LED显示器显示出来。
传感器是获取自然或生产领域息的关键器件,是现代信息系统和各种设备不可缺少的信息采集工具。
磁传感器是一种将磁学量信号转变为电信号的器件或装置。
随着信息产业、工业自动化、医疗仪器等的飞速发展和计算机应用的普及,需要大量的传感器将被测或被控的非电信号转换成可与计算机兼容的电信号。
作为输入信号,这就给磁传感器的快速发展提供了机遇,形成了磁传感器的产业。
我比较喜欢骑自行车出去走走,以前也做了个自行车测速(里程)计,用4位数码管输出数据的,它的优点是驱动简单,电压范围广,可用3.7V的锂电池直接供电,整个电路结构简单,耗能低,但它的缺点也是显而易见的,数码管在阳光下,无法看清楚,而且只有一组4位数据,不能同时查看速度及里程,不方便。由于购得更小的液晶模块,所以近期用液晶做输出显示器件,做了一个新的里程(速度)计。在阳光下清晰,晚上可用背光,2行共16个字符,并带存储器。有系统运行时间显示,外中断信号与写数据信号、电池低指示。 整体尺寸为65X35X12。加上电池(880mah),厚度要增加3mm,电池接上码表正在测试,已运行14个小时,理论可运行40多小时。
(原文件名:http_imgload.jpg) 引用图片
// 1602 2*16字符 第一行0x80 第二行0xc0 // 模式(km/h) 12.5kmh | 999.99km // 24C02存储 0x00-0x03: 99 99 99 99 cm // 0x2e,0x6b,0x6d,0x06,0x07,0x20,0x3d 0x30-0x39开始是数字0-9 // . , k , m , ┗ ,/h ,black, = //------头-------------------------------------------------------- //申明 #include "REG2051.H" #include "INTRINS.H" #define uchar unsigned char #define uint unsigned int //轮周长1.98m及各位值 0.5ms取 1.98*(1/0.5)*1000*10 #define girth 39600 #define girth_h 1 #define girth_l 98 //单片机IO连接 #define LCM0802B_IO P1 sbit LCM0802B_RS = P3^7; sbit LCM0802B_RW = P3^5; sbit LCM0802B_EN = P3^4; sbit KEY = P3^3; sbit SIGN = P3^2; sbit AT24C02_SDA = P3^1; sbit AT24C02_SCL = P3^0; //液晶驱动函数定义 void LCM_RD_BUSY(void); //读忙信号 void LCM_WR_CMD(uchar); //写操作命令 void LCM_WR_DAT(uchar); //写数据 void LCM_WR(uchar,uchar); //输出一个字符 //存储IC驱动函数定义 void AT24C02_START(void); //开启 void AT24C02_STOP(void); //停止 void AT24C02_CK(void); //时钟 void AT24C02_WR_byte(uchar); //写入单字节 uchar AT24C02_RD_byte(void); //读入单字节 uchar AT24C02_RD(uchar); //从24c02的地址address中读取一个字节数据 void AT24C02_WR(uchar,uchar); //向24c02的address地址中写入一字节数据info //函数定义 void _init(void); //软硬件初始化 void AT24C02_WRAMD(void); //24c02写入RAM数据 void _nus(uchar); //us延时 void _nms(uchar); //ms延时 void dis_dis(void); //距离数据输出 //变量定义 uchar d_var[4]={0,0,0,0}; //距离的cm值0x00-0x03双数计算 uint timej; //时间周期个数 uint int_tp; //周期个数传递 bit flg_cal; //允许计算 bit sf; //s指示标志 uint sj; //s指示计数 bit sen; //有更新数据
//---- 中断 ----------------------------------------------------- //500us周期定时函数 void T0_SEV(void) interrupt 1 using 1 { TR0 = 0; ET0 = 0; TH0 = 0xff; TL0 = 0x5a; //计时初值 timej++; //超过3.5S无中断相应,即判断速度为0,则最低速度2.04km/h if(timej == 7000){ int_tp = timej; timej = 0; flg_cal = 1; } if(sj>0){ sj--; }//s计数递减 ET0 = 1; TR0 = 1; } //外部中断函数 void Int0_SEV(void) interrupt 0 using 0 { EX0 = 0; int_tp = timej; timej = 0; flg_cal = 1;//读取计数周期数 EX0 = 1; }
//------主体-------------------------------------------------------- //主函数 void main() { _init(); //初始化 while(1){ if(!KEY){ _nms(2); //去抖延时 if(!KEY){ uchar key_tp = 200; EA = 0; timej = 0; do{ key_tp--; _nms(3); }while(!KEY&&key_tp>0); //长短按计时循环 EA = 1; if(key_tp==0){ d_var[0] = 0; d_var[1] = 0; d_var[2] = 0; d_var[3] = 0; //清零 _nus(20); dis_dis(); //输出距离 }//长按 //短按长按都要写入数据 sj = 3000; sf = 1; LCM_WR(0x80,0x06); //0x06 AT24C02_WRAMD(); //24c02写入RAM数据 //等待释放按键 while(!KEY){ while(!KEY); _nms(2); } } }//按键功能,长按清除历程信息,短按切换ms与kmh if(flg_cal){ //清零 输出十分位" 0.0" if(int_tp == 7000){ LCM_WR(0x81,0x20); LCM_WR(0x82,0x30); LCM_WR(0x84,0x30); } else{//正常计算输出 sen = 1; //速度 if(int_tp>143){ int_tp = girth/int_tp; int_tp = (int_tp*18)/5; // kmh=3.6*ms LCM_WR(0x84,(int_tp%10)+0x30); //输出十分位 int_tp = int_tp/10; LCM_WR(0x82,(int_tp%10)+0x30); //输出个位 if(int_tp<10) LCM_WR(0x81,0x20); //输出十位0时清除 else LCM_WR(0x81,(int_tp/10)+0x30); //输出十位 }//在99.9km/h范围内 //距离 步长1.98m d_var[3] += girth_l; if(d_var[3]>99){ d_var[3]-=100; d_var[2]++; } d_var[2] += girth_h; if(d_var[2]>99){ d_var[2]-=100; if(d_var[1]==99){ d_var[1]=0; if(d_var[0]==99) d_var[0]=0; else d_var[0]++; } else d_var[1]++; } dis_dis(); //输出距离 } int_tp = 0; flg_cal = 0;//复位 }//输出计算的主要数据 if(sj == 0){ sj = 3000; if(sen){ //有更新数据才写入 sen = 0; LCM_WR(0x80,0x06); //0x06 sf = 1; AT24C02_WRAMD(); //写入存储器 } } if(sf && sj<2000){ sf = 0; LCM_WR(0x80,0x20); } //写存储器闪更新 }//主循环 }
void _init(void) { EA = 0; _nus(255); //等待外围设备完成加电 //初始化液晶,显示"?" LCM_WR_CMD(0x01); //清屏幕0x01 LCM_WR_CMD(0x38); //设置数据线模式0x38 8位 两行 5X7 LCM_WR_CMD(0x0C); //设置显示状态0x0C 整体显示开 光标关 光标闪烁关 LCM_WR_CMD(0x06); //设置输入方式0x06 增量方式 不移位 LCM_WR_CMD(0x80); //设置光标初始位 //LCM_WR(0x80,0x3f);//屏幕初始化输出"?" //输出 bike mile LCM_WR(0x80,0x3d); LCM_WR(0x81,0x62); LCM_WR(0x82,0x69); LCM_WR(0x83,0x6b); LCM_WR(0x84,0x65); LCM_WR(0x85,0x3d); LCM_WR(0x86,0x3d); LCM_WR(0x87,0x3d);//=bike=== LCM_WR(0xc0,0x3d) ;LCM_WR(0xc1,0x3d); LCM_WR(0xc2,0x3d); LCM_WR(0xc3,0x6d); LCM_WR(0xc4,0x69); LCM_WR(0xc5,0x6c); LCM_WR(0xc6,0x65); LCM_WR(0xc7,0x3d);//===mile= //初始化液晶自定义字符库 LCM_WR_CMD(0x70); //自定义字符'┗' 在0x06 LCM_WR_DAT(0x00); LCM_WR_DAT(0x00); LCM_WR_DAT(0x00); LCM_WR_DAT(0x10); LCM_WR_DAT(0x18); LCM_WR_DAT(0x1C); LCM_WR_DAT(0x1E); LCM_WR_DAT(0x00); LCM_WR_CMD(0x78); //自定义字符'/h' 在0x07 LCM_WR_DAT(0x04); LCM_WR_DAT(0x14); LCM_WR_DAT(0x14); LCM_WR_DAT(0x16); LCM_WR_DAT(0x15); LCM_WR_DAT(0x15); LCM_WR_DAT(0x15); LCM_WR_DAT(0x00); //初始化24c02 AT24C02_SCL = 1; _nop_(); AT24C02_SDA = 1; _nop_(); _nms(4); //读24c02到RAM 初始化 d_var[] d_var[0] = AT24C02_RD(0x00); d_var[1] = AT24C02_RD(0x01); d_var[2] = AT24C02_RD(0x02); d_var[3] = AT24C02_RD(0x03); if(d_var[0]>99 || d_var[1]>99 || d_var[2]>99 || d_var[3]>99){ d_var[0] = 0; d_var[1] = 0; d_var[2] = 0; d_var[3] = 0;//清零 AT24C02_WRAMD(); }//错误数据判断 读取24c02中的距离数据,如果有数据>99,则出错,复位0 KEY = 1; SIGN = 1; //串口初始化 TMOD = 0x01; //定时中断0允许 方式0 使能off TH0 = 0xff; TL0 = 0x5a; //500us (65536-166) /256=255 %256=90 ET0 = 1; TR0 = 0; PX0 = 1; IT0 = 1; EX0 = 0; //外中断0 跳变触 使能off //变量初始化 timej = 0; int_tp = 0; flg_cal = 0; sf = 0; sj = 3000; sen = 0;