基于单片机的自行车码表设计(共44页).doc





《基于单片机的自行车码表设计(共44页).doc》由会员分享,可在线阅读,更多相关《基于单片机的自行车码表设计(共44页).doc(44页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、精选优质文档-倾情为你奉上基于单片机的自行车码表设计摘 要 随着人们生活水平的不断提高,自行车已经不仅仅是运输、代步的工具,其辅助功能也变得越来越重要。因此,人们希望自行车的娱乐、休闲、锻炼的功能越来越多,能带来大家更多的健康与快乐。自行车码表作为自行车的一大辅助工具迅速发展起来。科学、美观、合理设计自行车里程表有一定的实用价值。它能合理计算出速度及公里数,使运动者运动适量,达到健康运动与代步的最佳效果。码表能尽可能真实地反映骑行状况,便于车手及时调整自己的举动。 本设计以AT89C51单片机为主控制芯片,128*64 LCD为显示终端显示自行车时速、里程等信息及系统设置等,统设置菜单能够人工
2、设置设备安装信息以提高测量精度,提供时速、里程、平均速度、时间等信息,时还附加一报警功能,当行驶到预设里程和速度时,系统会自动报警,提醒已经达到预设运动量。 本设计主要包括自行车轮脉冲采集、键盘输入和数据显示等部分,主程序用C语言编写,完成各项功能及数据的处理,通过Keil C来完成程序的编写和下载,通过单片机实验开发板具体实现自行车码表各项功能。关键词 ST1101 AT89C51 LCD ZLG7290 报警THE DESIGN OF BASING ON MCU BICYCLE STOPWATCHABSTRACT With the improvement of life level, bi
3、ke is not only the transport tool but also its auxiliary function become more and more import. Therefore, people hope that the function of amusement, leisure and exercise of bike become more and more; and bring more health and happy. As one import auxiliary function of bike stopwatch develops quickl
4、y. The design of stopwatch is scientific, reasonable and beautiful; and it also has its practical value. Stopwatch can calculate speed and distance, reflects true exercise state; based on this exerciser can adjusts exercise strength so that it can reach the best effect of healthy exercise. This proj
5、ect takes AT89C51 MCU as main control chip and takes 128*64 LCD as terminal display which displays speed per hour, distance and system set. In the system set menu people can set install information to improve measure precision. Besides, it appends alerting function. When reach the distance and speed
6、 set in advance, the system will alert automatically to remind exerciser that he has reached exercise strength set in advance. This project mainly includes bicycle wheel pulse acquisition, keyboard input and data shows. The main program is compiled by C language which is to do initialization and key
7、board dealing; the compiler and download of program are done by Keil C, and the various functions of the bicycle are realized concretely by the SCM experiment development board.KEY WORDS ST1101 AT89C51 LCD ZLG7290 alert专心-专注-专业目 录前言 随着人们生活水平的逐渐提高,人们对于生活质量的要求也日益增加,尤其是对健身的要求。自行车在中国普遍作为代步工具。而在国外,自行车却是一
8、项十分受欢迎的健身运动。因为它无污染,价位低廉,老少皆宜。而且在运动过程中可以充分享受到大自然,对于忙碌的现代人来说,无疑是一种较好的放松方法。在中国这种情况也在慢慢发生变化。因此爱好自行车运动的人十分学要一款能测速的装置,以知道自己的运动情况。并根据外界条件,如温度,风速等进行适当的调节,已达到最佳运动的效果。而对于自行车运动员来说,最为关心的莫过于一段时间内的训练效果。因为教练要根据一段时间内运动员的训练效果进行评估,从而进行适当的调整已使运动员达到最佳的状态。因此需要一种装置进行对训练中各种参数的测定记录。 码表主要针对那些业余爱好者,他们运动一般会选择晴朗凉爽的天气进行运动,所以温度和
9、风速对运动员几乎没影响,只要能精确的测量速度和里程以及时间即可。并能在运动员达到预期运动量后能准确提醒运动员已达到预期要求。 本设计以AT89C51单片机为主控芯片,把霍尔传感器传来的脉冲信号进行处理,预算,精确的计算出行驶的速度和里程,然后在传送给LCD显示器,从LCD上显示出运动的一系列数据,而且还可以通过显示器进行人机对话,可以通过显示器和键盘进行一些参数的设置,比如像将要安装的自行车的轮圈的半径设置,以及预设运动量的和时间的设置。这些都需要通过显示器进行设置,其中的时间是用芯片内自带的计数器进行计数的。 本设计是以AT系列单片机为主控制芯片,采用霍尔元件检测小车行驶速度。程序用C语言编
10、写,由主程序、外部中断服务程序、定时器中断服务程序、延时子程序等模块组成。主程序主要完成程序的初始化和键盘处理,外部中断服务程序由测量、计算、读数等部分组成。1 绪论1.1 开发背景及意义1.1.1 课题背景 随着人们生活水平的不断提高,自行车已经不仅仅是运输、代步的工具,其辅助功能也变得越来越重要。因此,人们希望自行车的娱乐、休闲、锻炼的功能越来越多,能带来大家更多的健康与快乐。在这个背景下,自行车里程表作为自行车的一大辅助工具迅速发展起来.科学、美观、合理设计自行车里程表有一定的实用价值.它能合理计算出速度及公里数,使运动者运动适量,达到健康运动与代步的最佳效果. 码表能尽可能真实地反映骑
11、行状况,便于车手及时调整自己的举动,也便于收集骑行数据供自己或队友们进行参考和对比。 自行车码表一般由安装于前车圈钢条上的感应磁铁、前叉上的感应器、顺着前叉蜿蜒而上的连接线、置于握把上面的码表座和座上面的码表。码表的工作原理是:车圈旋转时感应器捕捉到感应磁铁带来的信息,通过连接线传输至码表,码表对此进行处理后计算出时速、里程等信息并显示。它能够让我们比较精确的知道自己的当前速度、骑行时间、单次里程、总里程、平均速度、最高速度等。1.1.2 课题的意义本设计就是针对普通运动员在运动中不能很好的把握自己达到了多大的速度,行驶了多远的距离而设计的。以往的码表只能进行测量速度,里程,时间,温度等数据,
12、虽然能实现很多的功能,但是其中的一些功能不适合自行车业余爱好者,浪费资源,而且性价比也低,而且也不能很好的把握当前运动量,从而不能很好的实现娱乐和锻炼的效果。而本设计却能实现娱乐和锻炼的双重效果,而且相对业余爱好者性价比更高。1.2 Keil C 介绍 Keil C51 Vision3集成开发环境是Keil Software,Inc/Keil Elektronik GmbH开发的基于80C51内核的微处理器软件开发平台,内嵌多种符合当前工业标准的开发工具,可以完成从工程建立到管理、编译、链接、目标代码的生成、软件仿真、硬件仿真等完整的开发流程尤其是C编译工具在产生代码的准确性和效率方面达到了较
13、高的水平,而且可以附加灵活的控制选项,在开发大型项目时非常理想。 Keil C51集成开发环境的主要功能有以下几点: (1) Vision3是一个集成开发环境,它将项目管理、源代码编辑和程序调试等组合在一个功能强大的环境中。 (2) C51国际准化C交叉编译器,从C源代码产生可重定位的目标模块。 (3) A51宏汇编器,从80C51汇编源代码产生可重定位的目标模块。 (4) BL51链接器/定位器,组合由C51和A51产生的可重定位的目标模块,生成绝对目标模块。 (5) LIB51库管理器,从目标模块生成连接器可以使用的库文件。 (6) OH51目标文件至HEX格式的转换,从绝对目标模块生成H
14、ex文件。 (7) RTX-51实时操作系统,简化了复杂的实时应用软件项目的设计。 此软件可以完成从工程建立到管理、编译、链接、目标代码的生成、软件仿真、硬件仿真等完整的开发流程尤其是C编译工具在产生代码的准确性和效率方面达到了较高的水平。支持在线仿真,纯软件信仿真,多种调试方式(单步、全速等),其应用相对简单,很容易就可以掌握该软件的基本操作用法,可以用C语言和汇编两种语言进行编程,还可混编,支持C语言的编程对初学者提供了很大方便,在调试过程中,可通过相关工具,直接查看变量的即时结果,目标代码的生成也容易。1.3 设计内容1. 以AT89C51单片机为主控制芯片。2. 以128*64 LCD
15、为显示终端显示自行车时速、里程等信息及系统设置等系统设置菜单。3. 能够人工设置设备安装信息以提高测量精度,提供时速、里程、平均速度、时间等信息。4. 能够预设运动量(比如预设速度,里程),实现报警功能。2 系统方案论证与分析2.1 系统方案2.1.1 系统概述 系统总体设计框图如图2-1所示。本系统由信号预处理电路、单片机AT89C51、128*64LCD显示模块、键盘控制和系统软件组成。其中信号预处理电路包含信号放大、波形变换和波形整形。对待测信号进行放大的目的是降低对待测信号的幅度要求;波形变换和波形整形电路则用来将放大的信号转换成可与单片机相连的TTL信号;通过单片机的设置可使内部定时
16、器T1对脉冲输入引脚T0进行控制,这样能精确地算出加到T0引脚的单位时间内检测到的脉冲数;设计中速度显示采用LCD模块,通过速度换算得来的里程数采用I2C总线并通过E2PROM来存储,既节省了所需单片机的口线和外围器件,同时也简化了显示部分的软件编程。键盘控制信号放大器数字存储电路单片机LCD显示整形电路图2-1 系统总体设计框图2.1.2 系统原理 该设计能实时地将所测的速度与累计里程数显示出来,主要是将传感器输入到单片机的脉冲信号的频率(传感器将不同车速转变成不同频率的脉冲信号)实时地测量出来,考虑到信号的衰减、干扰等影响,在信号送入单片机前应对其进行放大整形,然后通过单片机计算出速度和里
17、程,再将所得的数据存储到串口数据存储器,并由LCD 显示模块显示所测速度与里程。本设计的里程数的算法是一种大概的算法(假设在一定时间内自行车是匀速行进,平均速度与时间的乘积即为里程数)。设计时,应综合考虑测速精度和系统反应时间。本设计用测量脉冲频率来计算速度,因而具有较高的测速精度。在计算里程时取了自行车的理想状态。本设计的速度和里程值采用8 位显示,并包含两个小数位。2.2 采集信息部分以及传感器的选择 信息采集部分可以选用的传感器种类很多,例如磁感应传感器,光电感应传感器,金属传感器等,而考虑到实际可操作性以及设计要求方面,本设计选用的传感器为光电传感器。 霍尔传感器由永久磁铁和开关型霍尔
18、集成电路组成。霍尔集成电路由霍尔元件、放大器、整形电路及集电极开路输出等部分组成,其功能是把磁信号转换成电信号,霍尔元件为磁敏元件,当垂直于霍尔元件的磁场强度发生变化时,其两端的电压就会发生变化,经放大和整形即可输出脉冲电信号。ST1101采用高输出的红外光电二极管与高灵敏度光敏晶体管组成,其特点是性能可靠,体积小,结构简单,广泛应用于码表,其主要参数如表2-1所示。表2-1 主要参数输入正向电流IF50mA反向电压Vr6v耗散功率P75mW输出集-射电压Vceo25V射-集电压Veco6V集电极功耗Pc50mW2.3 主控芯片选择码表主要以单片机为主控芯片,而能实现其功能的芯片却有很多,本设
19、计选用的是AT89C51。AT89C51是一个低电压,高性能CMOS 8位单片机,带有4K字节的可反复擦写的程序存储器(PENROM)和128字节的存取数据存储器(RAM),这种器件采用ATMEL公司的高密度、不容易丢失存储技术生产,并且能够与MCS-51系列的单片机兼容。片内含有8位中央处理器和闪烁存储单元,有较强的功能的AT89C51单片机能够被应用到控制领域中。AT89C51提供以下的功能标准:4K字节闪烁存储器,128字节随机存取数据存储器,32个I/O口,2个16位定时/计数器,1个5向量两级中断结构,1个串行通信口,片内震荡器和时钟电路。另外,AT89C51还可以进行0HZ的静态逻
20、辑操作,并支持两种软件的节电模式。闲散方式停止中央处理器的工作,能够允许随机存取数据存储器、定时/计数器、串行通信口及中断系统继续工作。掉电方式保存随机存取数据存储器中的内容,但震荡器停止工作并禁止其它所有部件的工作直到下一个复位。2.4 数据处理并显示模块2.4.1 多位LED数码管显示 一、数码管动态显示有多位LED数码管显示时,为了简化电路,降低成本,将所有位的段选线并联在一起,由FPGA的一个8位的I/O口控制,而每一位LED数码管的公共阴极或者公共阳极分别由FPGA的其它的I/O口线控制。对于8位的LED数码管显示,可用采用程序控制的方法,通过不断的移位发送选中要显示的数码管。可见在
21、整个显示模块中至少要9根I/O口线。因为是动态显示,所以需要定时刷新LED数码管。为了稳定的显示,在多位LED数码管显示时需要有很高的数据刷新频率,否则会导致显示效果有些闪烁。二、数码管静态显示在多位LED数码管显示时,为了能够显示效果较好,简化电路,把每一位LED数码管的公共阴极或公共阳极通过串行限流电阻后接地或者接+5V,而每位LED数码管的段选线(a、b、c、d、e、f、h)与一片74LS164的4位并行输出口相连接。因为FPGA是并行工作的,故此时FPGA同时发送36个数据用于锁定9个显示的数码管。这样不用通过不断地刷新来改变显示数据,也没有延时,数码管也不会因为频率低而闪烁,只有FP
22、GA发送的数据改变时数码管才发生相应改变。2.4.2 128*64 LCD显示一、128*64LCD串口方式显示当PSB脚接低电位时,模块将进入串行模式。从一个完整的串行传输流程来看,一开始先传输起始字节,它需先接收到五个连续的1(同步位字符串),在起始字节,此时传输计数将被重置并且串行传输将被同步,再跟随的两位字符串分别指定传输方向位(RW)及寄存器选择位(RS),最后第八位则为0。在接收到同步位及RW和RS资料的起始字节后,每一个八位的指令将被分为两个字节接收到:高4位(DB7DB4)的指令资料将会被放在第一个字节的LSB(最低有效位)部分,而低4位(DB3DB0)的指令资料则会被放在第二
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 单片机 自行车 码表 设计 44

限制150内