基于单片机的自行车测速系统设计_第1页
基于单片机的自行车测速系统设计_第2页
基于单片机的自行车测速系统设计_第3页
基于单片机的自行车测速系统设计_第4页
基于单片机的自行车测速系统设计_第5页
已阅读5页,还剩43页未读 继续免费阅读

下载本文档

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

文档简介

1、基于单片机的自行车测速系统基于单片机的自行车测速系统 摘要 伴随着科技的发展和居民生活水平的不断提高,自行车已然不是普通的代步、运输工具,而已成为了大众的休闲、锻炼、娱乐的第一选择。所以我所设计的自行车简易数字里程表就基本能够满足现在大众的需求在锻炼的同时监测自身的锻炼量和安全,其可以让人们清楚地知道自身当前骑行速度、总骑行里程等物理量。此篇论文重点讲述的是一种基于单片机的自行车速度里程表的设计。以 STC89C52单片机为主要元件,使用A44E 霍尔传感器来测量自行车转数,从而完成对自行车里程/速度的测量,显示屏采用1602LCD自行车的里程数及速度。文章阐述了自行车的速度里程表的硬件电路与

2、软件部分。硬件部分是采用霍尔元件将自行车每转一圈所产生的的脉冲数传入单片机系统,然后单片机系统将信号经过处理送至显示屏。软件部分采用C语言进行编程,采用模块化设计思想。该系统硬件电路简单,子程序具有通用性,完全符合设计要求。关键词 里程/速度 霍尔元件 单片机 LCD显示Bicycle speed measuring system based on MCUAbstract With the development of science and technology and the improvement of living standards, the bicycle is not only

3、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 peoples life, so that they can learn the speed and the mileage of the bicycle. In this paper, the bicycle mileage/spe

4、ed 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 instru

5、ment 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

6、 the mode of modules. The system has simple hardware, common sub-program, and meets the demand of design.Keywords Mileage / speed, Hall element, Single chip microcomputer, LCD II目录引言1第1章概论21.1设计的目的与意义21.2技术的发展概况31.3设计的主要方向3第2章系统硬件平台的设计42.1 总体设计方案说明42.2 单片机最小系统52.2.1 STC89C52单片机52.2.2 时钟电路62.2.3 复位电路

7、72.3 显示模块72.4 霍尔传感器及其测量原理102.5 DS1302时钟芯片102.6 蜂鸣器及其电路12第3章系统软件的设计与实现143.1 主程序流程图143.2 显示流程图143.3 速度处理流程图153.4时钟芯片程序流程图16第4章安装调试与性能测量184.1 程序编写软件184.1.1 Keil C51简介184.1.2应用Keil软件进行程序调试184.2电路仿真184.2.1 仿真软件简介184.2.2 仿真结果194.3硬件调试19结论21致谢语22参考文献23附录2444引言从自行车被缔造到使用已经历经了两百多年的历史,在这里历史的长河中人类不曾停下尝试与研发的脚步,

8、从如同玩具木马般的木头车演变至今日的种类繁多用途各异款式新颖的休闲、运动自行车,自行车被缔造的用途也从开始的交通、代步工具转换成为休闲、娱乐、运动等多方面的用途1。伴随着人民生活质量的提高与当今社会的科学技术发展,自行车已然不再是普通的出行工具,而跃升成为强生健体、休闲娱乐、观光旅行一种选择。所以现在的自行车需要具备更多的功能以满足人们不断增强的需求。自行车简易数字里程表的出现就是为了满足一些把自行车作为锻炼的一群人所需求的辅助工具而面世的,他的功能也从只能显示里程进而发展到可以显示速度与时间。这一次的设计采用了MCS-51系列的单片机,因为单片机近几年的发展技术已经相当的成熟了,运用其进行自

9、行车的测速系统设计是可以轻松实现的2,并且其体积小的特点也可以使得设计更加的小巧方便而不影响测速的准确性和显示的正确性。此次课题的主要设计思路是利用单片机进行处理,霍尔元件的其他元器件进行测量与数据的存储,并通过1602显示屏显示速度、时间与里程数的自行车速度里程表。此次的文章先对我要进行设计的课题任务进行方案的探讨以及可行性的论证,其中包括了硬软件的方案的设计;从而根据探讨出的结论进行了速度里程表的硬件设计,其中就有单片机、传感器的选择与显示电路与时间电路的设计;之后进行软件方面思路的设计用流程图简明的表示出来;最后也是相对而言的重要一步是进行仿真并对出现的问题进行分析处理并总结此次的设计3

10、。 本次的设计主要的硬件电路包括了单片机及其外围电路和显示采用的液晶显示电路。这一次的软件设计比较多其中有芯片的初始化程序、定时中断子程序、显示子程序等,这些程序都由C语言编写并写入单片机中进行运行。 第1章 概论1.1设计的目的与意义自行车是由人的双脚轮流进行踩踏脚踏带动链条驱动轮子进行运动的以人自身问动力的具有两个轮子的交通工具,俗称自由车、脚踏车或单车(在日本称为“自転车”;在中国大陆、台湾通常称其为“自行车”或“脚踏车”,又因中国大陆最早的自行车是国外过来,所以又称其为“洋车儿”,有些地方仍旧这么称呼;在港澳则通常称其为“单车”)。自行车因其方便快捷的使用方式和简单轻松的维修方式,被人

11、们普遍的使用。不仅能成为代步工具也能成为货物运输的器材,如今又是体育锻炼的最佳选择之一4。19世纪初第一批次的真正的能进入人们生活中的实用行自行车终于出现。自行车立马风靡欧洲成为当时被欧洲人所喜爱的代步交通工具。自行车从发明出来到现在已经有两百多年的历史了,已经从大众普遍认为的交通、运输的工具的身份中发生了悄无声息的转变。在现在的科技发展和人民生活水平的提高下,各种交通运输工具应运而生,而自行车也慢慢退出了之前的舞台,但是就在这样的背景下,自行车在运动、锻炼、娱乐等方面发挥出了不一样的作用。在现在的人人环保的意识深入人心后,自行车又有了发挥空间。中国毫无疑问是一个人口众多的国家,自行车在中国的

12、发展也就理所当然的促进了中国成为世界上自行车保有量最多的国家。自行车其构造的简单,操作的方便,促使人们对其产生了喜爱。同时骑自行车也可以作为一种休闲运动,是人们锻炼身体的一种重要的方式,而且在运动过程中可以充分享受到大自然,对于忙碌的现代人来说,无疑是一种较好的放松方法。也正是因为有这种需要拓展了对自行车本身以外的要求,它能显示当前车子行驶的速度、里程、时间、,甚至还有GPS全球定位系统、MP3等娱乐功能。自行车运动需要一种对骑行的速度、路程进行监测的的装置,通过记录的数据,才能充分的了解运动员自己的训练成绩及训练过程,并根据数据分析结果以进行适当调节运动方式,以求达到最佳运动效果。这次是为了

13、设计一款操作简单成本低的测速仪,为的是解决自行车骑行者在骑行时能够了解当前的行驶状态,然后根据周围环境,能够做出正确的判断和操作,提高骑行者的安全性。这一次的设计所采用的测速系统是以单片机作为核心元器件的系统,单片机在这系统中需要完成数据的输入、处理以及输出,完全符合设计所需要的要求。1.2技术的发展概况近几年的科技发展使得微型计算机可靠性的提高和价格的下降,而单片机技术的发展也突飞猛进,运用单片机进行转速的测量也不是难事,但是大部分的运用还处于工业运用状态,单片机测量转速的生活化转变还是少之又少。转率的测量方式多样,因采用了霍尔芯片可以采集脉冲,从而根据脉冲完成对转速的测量,其中测量的方法主

14、要有:M法(测频法)、T法(测周期法)和MPT法(频率周期法)。而这次的设计采用了测频法,也就是M法5。检测转速使用霍尔脉冲法,即将霍尔传感器所接受的霍尔脉冲接收送入单片机,单片机进行设定程序的计算就可以得出速度和路程信息。因为这次的题目为测速,所以对装置有着相对的要求,因为需要对路程以及速度进行统计所以对测速装置有着分辨能力出众、精度高河测量周期短的要求,而基于霍尔元件的脉冲发生器就具有这些特点而且霍尔元件还具有成本低、结构简单、操作方便、性能好等特点。现在已经陆续有许多的自行车测速仪里程表被设计出来,但大多数功能较为单一的只进行速度和里程的显示,但之后随着人们的需求增高将会有更多的功能被加

15、入如MP3播放功能、短信收发功能、GPS导航定位功能、网络功能等各种需求的不同而被加入其中,使得自行车测速更加的人性化、现代化、生活化,性价比更加的高。1.3设计的主要方向即使用单片机实现:利用霍尔传感器所测量出的得转速信号转换成为单片机所能识别的数字信号,将信号导入单片机之中,单片机根据所编辑的程序进行运算得出在一定时间内的数字脉冲的频率,再根据计数器中的数值进行计算得到里程数的数值通过单片机的管教进行输出,输入至显示屏中显示出速度里程,单片机再单独提取时间芯片中的数据传输至显示屏显示。系统框图如图1-1所示。图1-1 系统框图第2章 系统硬件平台的设计2.1 总体设计方案说明本设计的任务是

16、:使用AT89C52单片机为重要的处理核心,使用霍尔元件将自行车轮胎的物理量转速转换为数字量数据电脉冲,经过处理后送置单片机中完成计算输出显示。速度与里程的测量采用了单片机中的定时/计数器,通过其所计算出的脉冲数与所设定的单位时间(成本设计为1s),经过单片机中所编辑的程序所计算得出,最终的结果在显示屏中显示。本系统的总体思路如下:假设开始时在单片机中设定的轮圈周长为L,在自行车轮圈上设置a个永久性磁铁,便可得到里程的最大误差为L/a。经过综合的分析,在该设计中取值a=1。当永久性磁铁每经过霍尔传感器一次即自行车车轮每转过一周,霍尔传感器便可以采集到一个电脉冲信号,并通过单片机的P3.2引脚即

17、中断0端输入,从而单片机的计数器/定时器便可以得到一次计数中断。每一次的中断便是由于霍尔传感器前有磁铁经过,又因为a取值为1所以为转过一周,即里程值便可通过乘积求得 6。计数器计算出转动的次数与所用时间T,便可以轻松计算出每个时间T的速率。如果自行车的速度超过了设定的数值时,系统发出信号,蜂鸣器响起。要求达到的各项指标及实现方法如下:1. 使用霍尔传感器得到轮圈所转动的次数的脉冲信号。2. 对脉冲信号进行计数。实现:利用单片机中自带的计数器对霍尔传感器所提供脉冲信号进行统计。3. 对所获得的数据进行处理,并通过显示屏显示出里程数和即时速度。实现:利用软件所编辑的程序,对数据进行相关的处理从而得

18、到速度里程等相关的数据。最终实现目标:完成采用单片机作为控制元器件的一个具有速度、里程检测并能将其显示的自行车速度里程表。流程图如图2-1所示。 图2-1 系统框图2.2 单片机最小系统2.2.1 STC89C52单片机单片机在一块芯片上集成了CPU、ROM、RAM、以及多种外围功能接口,具有价格低、体积小、可靠性高、功能强、使用快捷灵活等特点。以单片机为核心的各种智能化电子设备,具有成本低,周期短,已与更新换代,维修方便等优点,已经成为各种电子设计中所采用的普遍手段。AT89C52单片机的基本构成如图2-2所示。图2-2 单片机的基本构成由时钟电路、ROM、RAM、定时器/计数器、并行接口、

19、串行接口和中断系统组成一个单片机,由时钟电路提供系统震荡单片机进行运行,并行与串行接口进行数据的传输,定时器与计数器进行数据的统计,RAM、ROM进行数据的存储,CPU进行程序的运行与数据的处理。具有以下标准功能:8k字节Flash,512字节RAM,32位I/O口线,看门狗定时器,内置4KBEEPROM,MAX810复位电路,三个16位定时器/计数器,一个6向量2级中断结构,全双工串行口。最高运作频率35Mhz,6T/12T可选。STC89C52单片机引脚图如图2-3所示。 图2-3 STC89C52单片机主电源引脚2根:VCC(40引脚)电源输入,接5V电源。GND(20引脚)接地线。外接

20、晶振引脚2根:XTAL1(引脚19)片内振荡电路的输入端。XTAL2(引脚20)片内振荡电路的输出端。控制引脚4根:RST/VPP(引脚9)复位引脚,即当复位引脚收到两个机械周期的高电平信号时,系统将会使单片机复位。ALE/PROG(引脚30)地址锁存允许信号。PSEN(引脚29)外部存储器读选通信号,就是选通外部扩展的程序存储器,当程序运行时取指令时有效,对于程序存储器只有读没有写。EA/VPP(引脚31)程序存储器的内外部选通,即在高低电平时分别从内外部存储器读取指令。可编程输入/输出引脚32根:STC89C52单片机有4组8位的可编程I/O口,分别位P0、P1、P2、P3口,每个接口都有

21、8位(8根引脚),一共32根。PO口(引脚39引脚32):8位双向I/O口线,名称为P0.0P0.7P1口(引脚1引脚8):8位准双向I/O口线,名称为P1.0P1.7 P2口(引脚21引脚28):8位准双向I/O口线,名称为P2.0P2.7 P3口(引脚10引脚17):8位准双向I/O口线,名称为P3.0P3.72.2.2 时钟电路单片机的时钟信号产生的方法有内部时钟方式、外部时钟方式,绝大多数的单片机系统应用的是内部时钟方式。内部时钟方式就是采用单片机自身具有的振荡电路为自身提供时钟信号,采用此种时钟方式需要在XTAL1、XTAL2 的引脚上外接定时元件(一个石英晶体和两个电容),这样内部

22、振荡器便可以产生振荡。所产生的晶振频率一般是在1.2 12MHz 之间进行选择,但是现在的晶振频率有的时候可以达到24MHz甚至更高,但是因为频率的提高功耗也就相对的增高。其中典型的石英晶振取值是11.0592MHz。时钟电路就是一个震荡电路,给单片机一个节拍,单片机基于这个节拍开始进行各种动作。时钟电路本身不控制什么,但是单片机是根据时钟电路给予的震荡而进行相应的工作的。STC89C52系列是1T的8051单片机,STC89C52系统时钟兼容传统8051。系列单片机有两个时钟源:内部R/C振荡时钟和外部晶体时钟。时钟电路如图2-4所示。 图2-4 时钟电路2.2.3 复位电路在单片机的程序运

23、行中几乎不可能一次成功或者运行时保证不发生错误甚至于死机的状况,所以在单片机的系统中都会设置一个复位电路进行程序的跑飞与死机情况的修复。复位电路所采用的原理为当单片机的复位引脚接收到2us以上电平信号,使其电容的充放电时间多于2us,即可进行复位。当振荡器稳定后,给予复位引脚上一个维持两个机械周期的高电平CPU便可的搭配命令进行系统的复位。单片机系统的复位方式有:手动按钮复位和上电复位。复位电路如图2-5所示。 图2-5 复位电路2.3 显示模块1602是字符型液晶显示,为16*2显示,这次的设计因为只需显示总路程、速度、时间等信息,1602显示屏价格较低体积较小符合此次设计的要求。 1602

24、LCD可以分为带背光与不带背光的两个款式7,但是基控制器大部分为HD44780,1602LCD及两者尺寸差别如图2-6所示。 图2-6 液晶显示模块图 1602LCD引脚说明如下:第1脚:VSS接地。第2脚:VDD接5V正电源。第3脚:VO接3K的电位器调整对比度。第4脚:RS为寄存器选择。第5脚:R/W为读写信号线。第6脚:E端为使能端,当E端由高电平跳变成低电平时,液晶模块执行命令。第714脚:D0D7为8位双向数据线接单片机P0口。第15脚:背光源正极接电源。第16脚:背光源负极接地。与单片机的接线如图2-7所示。图2-7 1602与单片机接线1602LCD基本操作时序:1.读状态:输入

25、:RS=L、RW=H、E=H 输出:D0D7=状态字2.写指令:输入:RS=L、RW=L、D0D7=指令码、E=高脉冲 输出:无3.读数据:输入:RS=H、RW=H、E=H 输出:D0D7=数据4.写数据:输入:RS=H、RW=L、D0D7=数据、E=高脉冲 输出:无 操作时序图如图2-8、图2-9所示。图2-8 读操作时序图图2-9 写操作时序图2.4 霍尔传感器及其测量原理霍尔传感器如图2-10所示。 图2-10 霍尔传感器如图2-10所示是霍尔传感器。霍尔传感器是利用霍尔效应(在置于磁场中的导体或半导体通入电流I,如果所通入的电流垂直于磁场B,就会在磁场与电流出现一个电势差Uh并两两垂直

26、,这种现象称为霍尔效应)制成的一种磁敏传感器8。因为需要把转速的信息转化成为单片机所能接受到的信号,所以可以使用霍尔元件将转速的信息转化成为电脉冲经过处理传送至单片机,单片机进行计数,采用M法(测频法),由于转速是单位时间内的转动次数,所以取单位时间为1s,在一秒内转动的次数经过单片机的统计可以得出转速。脉冲信号的数量与电机转速有着如下式表示的关系: V=N*L (2-1) 式(2-1)中:V为自行车车速(m/s),N为车轮单位时间内的脉冲数,L车轮的周长(m)。根据上式即可计算出自行车当前的速度。2.5 DS1302时钟芯片这次的设计中因为要对时间进行显示所以才用了时间芯片,采用的时间芯片为

27、DS1302,因为其具有可对年、月、周、日、时、分、秒进行计时的功能正符合了这次设计对时间进行显示的要求,其工作电压为2.5V5.5V。DS1302与STC89C52的连接线有三条线如图2-11所示。图2-11 时钟芯片RST是复位/片的选择线,当RST输入的驱动电平为高电平时,启动数据的传输功能。RST输入有两种功能:其一,当RST接通的是控制逻辑时,地址命令序列就可以送入位移寄存器中;其二,RST可以进行停止数据的传输。当RST处于高电平时,可以进行对时钟芯片的操作,所有的数据传输还将被初始化。当在传输数据的过程中RST被置为了低电平,那么这一次的数据截会被终止传送,输入输出引脚就会变为高

28、阻态。其中需要注意的是在通电运行的时候,在VCC还未超过2V之前,必须保持RST置为低电平。还有就是只有当SCLK处于低电平时,RST才能被置为高电平。DS1302引脚图如图2-12所示。图2-12 DS1302引脚图各引脚说明如下:X1、X2(2、3号引脚):晶振引脚GND(4号引脚):接地引脚RST(5号引脚):复位引脚I/O(6号引脚):数据输入/输出引脚SCLK(7号引脚):串行时钟引脚Vcc1、Vcc2(8、1号引脚):电源供电引脚DS1302控制字如表2-1所示。表2-1 DS1302控制字765432101RAMA4A3A2A1A0RD1. 位0(最低有效位):如果要进行写操作则

29、要为逻辑0表示,如果要进行读操作要进行逻辑1表示。2. 位5至位1(A4A0):指示操作单元的地址。3. 位6:当位6为0时可以进行存取日历时钟数据,而当为1时则为进行存取RAM数据。4. 位7:在控制字中的最高位有效位只有为1时才能进行数据的写操作。需要注意的是控制字的输出是从最低位开始的,并且在控制字输出后的下一个时钟上升沿数据才开始写入DS1302,数据的输入也是从最低位(位0)开始的。同样的道理,DS1302的数据读取也是一样的,在输入8位控制字指令的下一个时钟下降沿开始读取数据,也是从最低位(位0)开始读取。DS1302有关日历、时间的寄存器如表2-2所示。表2-2 DS1302日历

30、、时间寄存器RWBIT7BIT6BIT5BIT4BIT3BIT2BIT1BIT0RANGE81h80hCH10SecondsSeconds00-5983h82h10MinutesMinutes00-5985h84h12/24010HourHour1-12/0-23AM/ PM87h86h0010DateDate1-3189h88h00010MonMon1-128Bh8Ah00000Day1-78Dh8Ch10YearYear00-998Fh8EhWP000000091h90hTCSTCSTCSTCSDSDSRSRS这张表是DS1302内部的7个与时间、日期有关的寄存器图和一个写保护寄存器,我们

31、所做的就是将初始设置的时间数据写入秒寄存器、小时寄存器以及控制寄存器,然后再不断地读取秒寄存器、小时寄存器以及控制寄存器来获取实时时间。2.6 蜂鸣器及其电路蜂鸣器是一个常见的电子发声器件,高度一体化的结构使其体积小巧,蜂鸣器一般具有两个引脚,采用直流电供电,广泛的运用于各种电子产品的发生器件中9。实物如图2-13所示。图2-13 蜂鸣器实物图因为此次设计需要对超速进行报警所以采用了蜂鸣器当速度超过了设定的速度界限时进行报警。蜂鸣器得电报警电路如图2-14所示。图2-14 蜂鸣器电路图当电源接入蜂鸣器后,多谐振荡器工作产生1.52.5kHz的振荡信号催动阻抗匹配器进行工作,而后阻抗匹配器推动蜂

32、鸣片产生蜂鸣声。第3章 系统软件的设计与实现3.1 主程序流程图主程序是一个系统的基本框架如同一棵大树的主干,其中调用了许多的子程序进行辅佐但其不能被子程序所调用。程序图运用工序图示符号对生产现场的整个制造过程做详细的记录,以便对零部件、产品在整个制造过程中的生产、加工、检验、储存等环节待作详细的研究与分析,特别适用于分析项目处理中的成本浪费,提高经济效益。此次设计的主程序流程图如图3-1所示。图3-1 主程序流程图3.2 显示流程图 该流程图是客观的表示如何将单片机中的速度路程等信息提取传送至1602显示屏显示的过程。通电后的LCD1602显示屏必须进行一次初始化,之后控制器将停留在等待信号

33、的状态下,等待用户进行信号的输入。显示流程图如图3-2所示。图3-2 显示流程图3.3 速度处理流程图从霍尔元件中读取的脉冲个数无法直接得出速度的值,而需要进行单片机中对霍尔脉冲数所进行的计算才能得出,根据所设定的车轮半径和一秒钟的脉冲个数,可以经过计算的出速度的值,并通过相加的出路程的数值。速度处理是进行速度的显示和监控是否超速的一个显示和报警系统,当计算的速度未超过设定的报警速度时正常显示,反之报警提醒减速行驶。流程图如图3-3所示。图3-3 速度处理流程图3.4时钟芯片程序流程图显示时间的芯片采用的是DS1302,此种芯片可以设置和输出年、月、日、星期、时、分、秒这些信息,因为DS130

34、2内置寄存器储存数据并有外置晶振为芯片提供时钟周期,其工作频率为32.768KHz,所以外置晶振应为32.768KHz。其时间显示流程图如图3-4所示。因为设置时间时不可避免的会出现失误,出现颤抖或松手产生误操作,为了避免这种不必要的失误,故可加入去抖的方法。一般的去抖方法有硬件去抖和软件去抖。但是由于硬件去抖需要的电路更加的繁琐,所以采取了比较方便的软件去抖。简单的说软件去抖就是采用延时使抖动消除,因为抖动都是短暂的采用延时可以将抖动的时间掩盖在很大的程度上避免抖动。防抖动流程如图3-5所示。 图3-5 防抖动流程图 图3-4 时间显示流程图第4章 安装调试与性能测量4.1 程序编写软件4.

35、1.1 Keil C51简介Keil C51是由美国Keil Software公司所研发出来的对于C语言程序进行编写的软件。因为C语言相较于汇编语言具有更加良好识别与编写优势并在功能、结构、可维护性上大大优越于汇编语言,所以受到了广泛的运用。当开始一个新的项目时,在Keil C51中进行简单的操作从数据库选择设备,Vision IDE就会为您配置好所需要的所有设备器材。Keil Vision调试器准确地模拟8051设备的片上外围设备。从模拟中可以进一步的了解所使用的硬件配置,节省了在安装等实际操作中所使用的时间。 与此同时还能使用模拟器在还未获得相应器材的情况下进行设备程序编写与测试。4.1.

36、2应用Keil软件进行程序调试软件的调试就必须在具有相应的开发系统的环境下操作。可以先进行各各分散独立模块程序的调试,而后进行中断程序模块的调试,最后进行主程序得调试将各各子程序带入运行。调试可以从小的范围到大的范围,而一些必要的中间量可以先作标记或者设定,以免出错。一把都会使用到多种的运行方式方式,每次任务执行完毕时,要检查CPU的状态,RAM中的相关内容,输入输出口是否有异常情况等。发现问题时即时解决直至调试成功 10。KeilC51软件的使用步骤是:首先新建一个工程项目文件;其次为工程选择目标器件;再次为所需的工程项目设置相对应的软硬件的调试环境,并依此创建所要使用的程序代码将此写入源程

37、序文件之中保存;最后把所要使用的源程序文件添加到相对应的项目中。4.2 电路仿真4.2.1 仿真软件简介仿真软件利用计算机进行实物仿真的一种技术手段可以在计算机中测试和调整减少在进行实物操作时的不必要的损耗和危险。Proteus软件是一种低投入的电子设计自动化软件,它不单单具有其它EDA工具软件所具有的仿真功能,还可以仿真单片机和单片机的外围器件。Proteus软件有能力提供数字与模拟、交流与直流的仿真而且还可以仿真数千种元器件和多达30多个元件库,有RAM、ROM、键盘、马达、LED、LCD、AD/DA、部分SPI器件、部分IIC器件,编译方面支持Keil和MPLAB等编译器。Proteus

38、软件还提供许多的现实之中所用到的仪器仪表。此外,Proteus还提供了更加形象的图形显示功能,这样就可以直观明了的观察到线路上变化的相关信息 11。4.2.2 仿真结果仿真结果如图4-1所示。 图4-1 仿真结果4.3硬件调试将元器件焊接进入电路版。然后进行硬件的调试。首先进行排除逻辑的故障,可以先对显示屏LCD进行测试,将LCD单独拿出对歌引脚进行测试,看是否与理论相符合,如诺相符则可以正常使用。其中的一些逻辑故障一般是由于设计中的错误或焊接过程中的失误造成的。应将焊接完成的电路版与电路原理图对照,观察是否有错,要特别注意电源模块,防止电源的短路和正负极的错误。如果发现元器件失效,则有可能为

39、电路错误或者元器件的损坏,应先查看元器件周围相关电路是否正确,如为正常则可更换相同元器件。在通电之前确认电源的正负极以及电压的大小,否则可能会造成元器件的损坏,检查Vcc与GND之间的电压伏值,在5V左右则可以算作正常。如果发现高压,在联机调试的时候就会将仿真器件损毁,有时还会将系统中的元件烧坏,这回造成很大的损失和安全隐患。结论本次的设计主要目的是设计一款简易的自行车数字路程表,要求操作简单,显示清楚明了,到现在系统的设计和制作都已经全部完成了,基本达到了设计的要求。在后期的系统调试中也解决了一些问题,仿真的结果基本符合设计的目的。时间的显示和设置达到了预期的目标。但是在时间、条件等方面的因

40、素,这次设计中还是有许多可以改进的方面如显示过于单一且显示的信息过少,霍尔传感器的精度不高可换作精度较高的传感器,制作出来的样品为电路板和元器件的组合不够集成,不够人性化等。从选题以来为了此项设计经历了许多的过程,如:1 资料的查阅,查阅了大量的现有单片机相关资料确定选用现在主流的STC89C52单片机作为此次设计所使用的单片机,查阅了可用于测速的传感器种类选用了霍尔传感器作为测速的传感器。2 总体思路的确定,选定了单片机以及测速元件便可以确定要做怎样的自行车测速系统。3 整体方案的确定,通过总体思路可以确定要做一个可以显示时间、速度、里程以及超速报警的速度里程表,便设计了运用单片极最小系统为

41、基础添加显示屏和蜂鸣器电路的系统原理图。4 电路元件的选取以及采购,通过系统原理图中所需要的元件清单进行元器件的购买,主要采购的元件有STC89C51单片机、霍尔元件、时间芯片DS1302、显示屏LCD1602、蜂鸣器、电阻电容。5 电路板的元件排版及焊接,运用采购的元件和电路原理图进行元器件的排版焊接。因为以前进行过相关课程的学习,所以可以熟练地运用电烙铁进行电路元器件的焊接。6 电路元件的检测,运用万用表的蜂鸣档进行电路元器件的焊接检测,万用表的蜂鸣档是用来检测电路是否为通路的专用检测档位,当万用表所接两端为通路时万用表蜂鸣档发声,反之为断路或有大电阻。7 软件系统的调试,运用Kiel软件

42、与Proteus软件进行电路仿真,根据电路图的位置将元器件在Proteus软件中进行安置,这里要注意的是要先放置核心元件,然后放入其它元件。放置完成后再Keil中进行Debug,可在Proteus中8 设计论文的撰写,整个过程衔接紧密缺一不可,之前所做的一切为了后面所要做的奠定了基础和保障。致谢语首先衷心的感谢我的指导老师阳老师。阳老师认真的教学态度、细心的教学方法让我由衷的感谢。这段时间以来,在阳老师的把关下,圆满的完成了毕业设计。不单单是学习到了许多的有用的知识,而且还学到了很多做人的道理,这些经验我相信在以后的工作生活中还是很有帮助的。此次的设计是在阳老师的悉心指导下完成的,从论文的选题

43、、展开到论文的成型,阳老师都付出了辛勤的汗水,在此向阳老师致以衷心的感谢和由衷的尊敬。在此也感谢在我毕业设计中给过我帮助的同学,在我不知如何下手时给予我的那一些提示。在此为他们在这段时间的费心而表达谢意。在这论文的最后衷心的感谢所有帮助过我的、支持过我的、关心过我的老师、同学、朋友。在此,我要向他们表示我深深的谢意和美好的祝福。参考文献1 丁敏. 电动自行车里程速度计的设计J. 机械管理开发, 20122 毛钟林. 电动自行车数码显示表的设计J. 科技信息,20133 卜研. 考虑人体生物力学特征的山地自行车设计方法研究D. 天津大学, 20094 晏定. 都市运动新元素人力驱动自行车研究D.

44、 湖北工业大学, 20065 马金权 李庆辉 强盛. 一种高精度实时电机转速测量新方法J. 齐齐哈尔大学学报(自然科学版), 20026 尉乔南. 基于AT89C51的防超速防追尾计价器设计J. 管理工程师, 20097 曹怡然. 基于51单片机的高速公路收费系统J. 青年科学(教师版), 20138 李红霞. 霍尔传感器在转速测量中的应用J. 中小企业管理与科技, 20149 史俊海 李进财. 浅议汽车蜂鸣器作用与结构原理J. 农村实用科技信息, 201210 单正娅. 基于人工神经网络及小波分析的心音诊断系统的研究D. 江苏大学,200611 高梅 马睿. 浅谈基于Proteus的电子类实

45、训平台构建J. 数字技术与应用,2015附录实物图程序#include /调用单片机头文件#define uchar unsigned char /无符号字符型 宏定义变量范围0255#define uint unsigned int /无符号整型 宏定义变量范围065535#include eeprom52.h/*ds1302 内部RAM RAM0 1100 000R/W 1读 0写 RAM1 1100 001R/W . RAM30 1111 110R/W */sbit clk = P13; /ds1302时钟线定义sbit io = P14; /数据线sbit rst = P15; /复位

46、线/秒 分 时 日 月 年 星期 uchar code write_add=0x80,0x82,0x84,0x86,0x88,0x8c,0x8a; /写地址uchar code read_add =0x81,0x83,0x85,0x87,0x89,0x8d,0x8b; /读地址uchar code init_ds =0x55,0x17,0x15,0x01,0x01,0x13,0x13; uchar miao,fen,shi,ri,yue,week,nian;uchar i;uchar t1_num,t2_num;/计时间中断的次数unsigned long speed1,juli,time2;

47、float f_hz,speed_km,speed_m;/dlaout time1,speed_km,speed_m;uchar TH11,TL11;uchar flag_en; /开始计算速度使能uchar flag_stop_en; /要确定车子是否停下了uint juli_s; /每秒走的距离uint juli_z; /总路程float zhijing = 0.55; /直径 0.55Mbit flag_1s = 1; /1suchar menu_1; /菜单设置变量uchar menu_2; /菜单设置变量long zong_lc; /总量程uchar flag_200ms;uint

48、shudu; /定义速度的变量uint bj_shudu = 80; /报警速度/这三个引脚参考资料sbit rs=P10; /寄存器选择信号 H:数据寄存器 L:指令寄存器sbit rw=P11; /寄存器选择信号 H:数据寄存器 L:指令寄存器sbit e =P12; /片选信号 下降沿触发uchar code table_num=0123456789abcdefg;uchar i;sbit beep = P37; /蜂鸣器IO口定义/*1ms 延时函数*/void delay_1ms(uint q)uint i,j;for(i=0;iq;i+)for(j=0;j120;j+);/*把数据

49、保存到单片机内部eepom中*/void write_eeprom()SectorErase(0x2000);byte_write(0x2000, bj_shudu % 256);byte_write(0x2001, bj_shudu / 256);byte_write(0x2002, zong_lc % 256);byte_write(0x2003, zong_lc / 256 % 256);byte_write(0x2004, zong_lc / 256 / 256 % 256);byte_write(0x2055, a_a);/*把数据从单片机内部eepom中读出来*/void read_eeprom()uint value;bj_shudu = byte_read(0x2001);bj_shudu = 8;bj_shudu |= byte_read(0x2000);zong_lc = byte_read(0x2004);zong_lc = 16;value = byte_read(0x2003);zong_lc |= (value 8);zong_lc |= byte_read(0x20

温馨提示

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

最新文档

评论

0/150

提交评论