ImageVerifierCode 换一换
格式:DOCX , 页数:95 ,大小:161.28KB ,
资源ID:10652213      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bingdoc.com/d-10652213.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(多功能自行车测速仪设计毕业设计.docx)为本站会员(b****1)主动上传,冰点文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰点文库(发送邮件至service@bingdoc.com或直接QQ联系客服),我们立即给予删除!

多功能自行车测速仪设计毕业设计.docx

1、多功能自行车测速仪设计毕业设计参赛作品名称:多功能自行车测速仪参赛作者单位:北京大学 毕业设计(论文)原创性声明和使用授权说明原创性声明本人郑重承诺:所呈交的毕业设计(论文),是我个人在指导教师的指导下进行的研究工作及取得的成果。尽我所知,除文中特别加以标注和致谢的地方外,不包含其他人或组织已经发表或公布过的研究成果,也不包含我为获得 及其它教育机构的学位或学历而使用过的材料。对本研究提供过帮助和做出过贡献的个人或集体,均已在文中作了明确的说明并表示了谢意。作 者 签 名: 日 期: 指导教师签名: 日期: 使用授权说明本人完全了解安阳工学院关于收集、保存、使用毕业设计(论文)的规定,即:按照

2、学校要求提交毕业设计(论文)的印刷本和电子版本;学校有权保存毕业设计(论文)的印刷本和电子版,并提供目录检索与阅览服务;学校可以采用影印、缩印、数字化或其它复制手段保存论文;在不以赢利为目的前提下,学校可以公布论文的部分或全部内容。作者签名: 日 期: 一、作品设计背景2二、作品功能简介2三、系统硬件设计3四、MCU软件设计8五、上位机软件bike V1.0设计8六、作品实物及测试106113621463156416七、结语16附录1 电路图17附录2 源程序18多功能自行车测速仪一、产品设计背景随着人们生活水平的逐渐提高,人们对于生活质量的要求也日益增加,尤其是对健身的要求。自行车在中国普遍

3、作为代步工具。而在国外,自行车却是一项十分受欢迎的健身运动。因为它无污染,价位低廉,老少皆宜。而且在运动过程中可以充分享受到大自然,对于忙碌的现代人来说,无疑是一种较好的放松方法。在中国这种情况也在慢慢发生变化。因此爱好自行车运动的人十分学要一款能测速的装置,以知道自己的运动情况。并根据外界条件,如温度,风速等进行适当的调节,已达到最佳运动的效果。 而对于自行车运动员来说,最为关心的莫过于一段时间内的训练效果。因为教练要根据一段时间内运动员的训练效果进行评估,从而进行适当的调整已使运动员达到最佳的状态。因此需要一种装置进行对训练中各种参数的测定记录。本作品就是针对此而设计的。二、产品功能简介

4、对自行车进行实时速度的测量。显示出速度值。 能针对不同的车型进行选择。从而采用不同的模块进行测量。 能测量出当前环境的温度,以供使用者决定是否适宜进行运动。 显示当前日期时间,可以任意设定当前工作时间。 显示行车里程,运动时间。 可以自行设定采样频率 记录一段时间内的定时采样速度,存入制定单元。通过与PC机进行通讯,将数据传送到PC机中用如见进行处理,分析。得出运动或训练的情况。 配套软件bike v1.0可以将本次运动的速度绘制成速度曲线,以供参考。并可以将数据转存入数据库保存以备日后查询使用 配套软件bike v1.0充分考虑到广大自行车爱好者对于自行车运动的热衷,因此加入了对自行车运动的

5、介绍,当今流行车型的简介以及进行自行车运动的注意事项和自行车旅行的相关知识。 并会逐渐对该软件加以升级,使其功能更加完善,以满足广大使用者的需求。 可以进入系统休眠方式以节省电能,并随时激活唤醒系统重新进行工作。可以调节液晶对比度,可以打开背景灯显示。三、系统硬件设计 3.1系统框图通过传感器对外部物理量进行测量,再将物理信号转换为电信号,输入单片机,单片机对所输入的电信号进行处理,最后输出显示,并可以通过与上位机通讯将数据采集到电脑中。本设计中用到的主要部件包括单片机AT89C52、DS12887时钟芯片、DS18B20温度传感器、欧姆龙公司的EE-SX671型光电传感器、MAX232通信芯

6、片以及液晶显示器。 3、2 时钟芯片DS12887DS12887是美国达拉斯半导体公司最新推出的时钟芯片,采用CMOS技术制成,把时钟芯片所需的晶振和外部锂电池相关电路集于芯片内部。采用DS12887芯片设计的时钟电路勿需任何外围电路并具有良好的微机接口。DS12887芯片具有微功耗、外围接口简单、精度高、工作稳定可靠等优点,可广泛用于各种需要较高精度的实时时钟场合中。 这里我们将DS12887的数据线与单片机的P0口相连,将其片选线与P2.0相连,这样便可通过R0或R1寄存器实现时钟芯片与单片机的数据传输。注意在DS12887的RESET端应连接上电复位电路,因为只有当该脚保持低电平时间大于

7、200ms,DS12887才能有效工作。DS12887的IRQ端脚为其中断信号输出口,低电平有效,可作微处理的中断输入。没有中断条件满足时,IRQ处于高阻态。IRQ线是漏极开路输入,要求外接上接电阻。时钟芯片的有多种中断处理方式,例如周期中断,闹钟中断,更新中断等,这里我们利用它的更新中断,即时间每过1秒中,DS12887的更新中断便会从IRQ端输出,而IRQ引脚则与单片机的INT1中断相连,这样每当DS12887发出时间上的中断请求单片机便可从它的INT1中断得知,随之立刻进入中断子程序,在这个中断程序中对光电传感器所发出的脉冲信号进行计数处理,这样就可以得到速度以及里程等所要测量的量。 由

8、于在测速系统中时间的测定非常重要,因此DS12887可以说是本设计的核心部件,它的使用好坏直接影响着最终测量的精确度,所以在调试时务必细心,尽量在熟悉DS12887的各种功能后在开始编程。3、3 温度传感器DS1820DSl820数字温度计提供9位(二进制)温度读数指示器件的温度信息经过单线接口送入DSl820或从DSl820送出因此从主机CPU到DSl820仅需一条线(和地线)DSl820的电源可以由数据线本身提供而不需要外部电源因为每一个DSl820在出厂时已经给定了唯一的序号因此任意多个DSl820可以存放在同一条单线总线上这允许在许多不同的地方放置温度敏感器件DSl820的测量范围从-

9、55到+125增量值为0.5可在l s(典型值)内把温度变换成数字。由于DS1820采用单总线结构因此外围电路非常简单,通过一上拉电阻R5即可与单片机相连。这里我们将DS1820的数据引脚DQ与单片机的T0口(即P3.4)相连,通过这条数据线接收温度测量值。虽然DS1820的外围电路十分简单,但是凡事哪能完美,可以说这是以繁杂的编程换来的。DS1820以其严格而繁难的时序要求著称。因为它只有一根数据线,即数据与命令字都要在同一条线上传输,所以DS1820制定了严格的时序,大家在使用时务必严格按照说明书上的要求对其进行操作,否则时序要是不正确,DS1820就罢工。笔者在调试的时候大部分时间都花在

10、了调试DS1820上。通过切身的体会,我觉的最好变一到两个通用的延时子程序,在DS1820的编程中就可以直接调用延时程序,以保证时序的准确。 3、4 EE-SX671型光电传感器 EE-SX671型光电传感器是欧姆龙公司所生产的光电开关型传感器。其四个引脚中我们只需用其中的三个:电源端,接地端以及信号输出端。在车子行驶过程中,车轮带动码盘旋转,由于码盘上刻有等分的孔,在连续的透光与挡光过程中,该传感器便连续输出标准的脉冲信号。 由电路图可知,将传感器的输出信号经过光耦接到单片机的T1口,再设定T1为计数器工作方式,这样就可以对所接收到的脉冲进行计数,进而计算出速度里程等。注意一定要将光电传感器

11、的输出信号调好,使其成为标准的脉冲信号,这样T1计数器才能正常的工作。再调试的时候可先不接入EE-SX671,可先用信号发生器产生所需要的脉冲信号来进行模拟,待全部调试好后再接入EE-SX671。在使用EE-SX671之前最好用示波器看一下输出波形是否规整达到要求。一般情况下,输出的就是标准的脉冲信号,如果发现有点偏差可通过外连调理电路将其整理一番。而且最好用电压表的交流档打一下,看一下峰值,是否达到T1口的电平识别范围。 EE-SX671最后要安装到车上,所以事先最好准备一个易弯曲的铁片用螺母将其与EE-SX671连接然后在固定于车上,这样可以保证在车子行驶过程中不发生晃动。 3、5液晶显示

12、 由于现在的液晶模块应用已经十分广泛,其使用方法大同小异,所以笔者不准备祥加介绍。大家可根据自己的熟悉程度自行选择显示器件。如果对于液晶不熟悉,完全可以使用数码管作为显示媒介。这里我把自己的液晶显示界面给大家看开机画面 5、电源这里我们采用9V的电池供电,用LM7805进行稳压处理,将9V稳降到5V以供单片机以及各芯片使用。有条件的可以购买电源模块为系统供电。经测试9V电池完全可以满足实际需要。 6、与微机通信 笔者在设计该仪器时,想将所测得的数据传送到电脑中,再用高级语言对数据进行处理,比如速度,在绘制出速度曲线,这样对于教练或是广大自行车爱好者来说,就可以很清晰地看到自己在训练过程中的情况

13、。 这里笔者采用大家熟知的串口通讯方式,采用MAX232作为电平转换芯片。相信大家已经很熟悉了,笔者就不赘述了。四、MCU软件设计这里采用汇编语言进行编程,软件的任务量比较大,涉及到计速算法,具体会在附录的源程序中详细说明,这里不多述了。五、上位机软件bike V1.0设计 在用高级语言处理上,笔者采用VB捆绑数据库将采集得数据转存入数据库中,这样就可以保存每一次的训练数据,以备日后查用。后来索性就编了一个小软件,除了上述功能外,还增加了一些对于自行车运动的常识和知识。用串口线将测速仪与电脑连接后,即可进行数据的传输。在PC机上即可进行数据的接收处理,并可以转存入数据库。 本作品采用9V电池供

14、电,使用时务必保证电池电量充足,将电池按要求接到系统电源接口处。 拨动开关,使系统工作,将出现如下开机画面: 开机画面待系统自检4秒后便进入系统主菜单,如前图所示。共有四大功能模块:1 测速模式:系统的主工作界面,进行速度及相关量的检测2 数据传输:将所记录的数据传入PC机,再由配套软件bike v1.0进行处理,包括绘制曲线及转存入数据库3 其它功能:可以进行时间设定及查看版本信息4 退出系统:使系统进入节能休眠模式各功能模块详细测试说明【注】为方便叙述,将产品的功能按键从左自右依次定义为号键、号键、号键、号键。(一)在主菜单下按号键(SET)即进入,出现如下子菜单: 车型选择 在此子菜单下

15、先进行车型的选择,您可以选择26型和275型两钟目前最常见的车型进行测量 按号键可以返回主菜单如按号键即选择275型,系统会根据您的不同选择为您准确选定参数进行测量。紧接着会出现如下菜单:采样频率设定在本菜单中,询问您希望设定的采样频率,这样系统便会按照您的设定时间,每隔固定的时间便向系统内部的RAM中自动写入当前的速度值。在选定采样时间后系统便会进入主测量界面:主测量界面【注】此时确保您正确接入传感器,否则速度,里程便显示零 在此界面处,随时按下号键(EXIT),系统便会返回主界面。在采样时间设定处,当设定好时间后,系统会自动将内部存储单元清零。(二)在主菜单下按号键即进入,出现如下子菜单:

16、 数据传输菜单按号键即进入数据传输模式,在您将测速仪与电脑连接后系统会自动将您刚才运动过程中存储在系统中的速度值传到电脑中以供处理。按号键,返回主菜单。当画面显示【数据传输完毕!】时,表示数据已传输完毕,系统会自动返回主菜单。【注】在进行数据传输时,为保证正确传输,请务必用串口线将测速仪与电脑连接牢靠。(三)在主菜单下按号键即进入,出现如下子菜单: 其它功能菜单按号键即进入,出现如下设定画面: 时间设定画面此时按号键可以选择修改单元,按号键(UP),加值;按号键(DOWN),减值。修改完毕后,按号键确定,OK处光标闪烁反显,后返回上一级菜单。(四)在主菜单下按号键即进入,系统即进入节能休眠模式

17、,系统出现如下画面 结束画面在休眠模式下,按号键(WAKE)即可激活唤醒系统。六、结语以上是对本产品的功能及使用说明。诚然,本次开发的这款产品还有许多亟待改进的地方。包括功能上及软件的设计上。这是本人大三的时候开发的一个基于51单片机的作品,现在看来可以改进的地方很多,比如在体积上,可一选用更小封装的单片机,而且对于手持设备应该低功耗,比如可采用TI的430系列的单片机,这样就可以用钮扣电池供电,使用时间可以更长。最后非常感谢本网站能举办这样的活动,这对于普及单片机技术以及提高广大爱好者的动手能力都非常有益!附录1 电路附录2 源程序;*总程序*;Controller:ST7920 ;MCU:

18、AT89C52 ,晶体频率:11.0592MHz;LCM:128*64;LCM型号:带中文字库的128X64-5ZK;LCM 接口:1:GND 2:VCC 3:V0 4.RS 5:RW 6:E 7-14:DB0-DB7 15:PSB 16:NC 17:RST 18:Vout ;*;*功能引脚命名*D_PORT EQU P1 ;数据口RS EQU P2.1 ;液晶指令与数据寄存器设置位RW EQU P2.2 ;液晶读写控制位E EQU P2.3 ;液晶使能端COM EQU 20H ;指令寄存器DAT EQU 21H ;数据寄存器TD EQU P3.4 ;DS1820数据引脚WAKE EQU PS

19、W.5 ;液晶复位标志FX_KEY EQU PSW.1 ;液晶光标反显开关,FX_KEY=1一直反显;FX_KEY=0反显一次后关闭;*相关使用单元说明*;25H光标移动计数器;2EH用来保护读时钟芯片的R0;22h用来存放时钟的BCD码;2DH用来存放修改时间时的汉字查询标志位;2FH存放温度十位 ;30H存放温度各位;85H用做判断使用内部RAM还是时钟RAM的标志位,0为内部,1为时钟;37H用做保存时钟芯片的RAM地址;84H用做保存内部RAM的地址;* ;*里程和速度的基本命名* TAB2 EQU 08H ;30H用来查汉字时钟表时使用LUNZ_Z EQU 09H ;31H中存轮周长

20、整数部分LUNZ_X EQU 0AH ;32H中存小数部分SPD_Z EQU 0BH ;33H中存速度的整数部分SPD_X EQU 0CH ;34H中存小数部分LC_Z EQU 0DH ;35h中存里程的整数部分LC_X EQU 0EH ;36h中存小数部分LC_JW EQU 0FH ;37H中存里程计算时的一个小数向整数部分进位的标志位SPD_SUM EQU 10H ;38H中存速度的和(三妙内的)SPD_PDW EQU 11H ;39H中存速度平均值的判断位(三次)LC_XZB EQU 12H ;41H中存里程显示部分的整数的百位LC_XZS EQU 13H ;42H中存里程显示部分的整数

21、的十位LC_XZG EQU 14H ;43H中存里程显示部分的整数的个位LC_XSF EQU 15H ;44H中存里程显示部分的小数的十分位SPD_XZS EQU 16H ;45H中存速度显示部分的整数的十位SPD_XZG EQ17H ;46H中存速度显示部分的整数的个位SPD_XSF EQU 18H ;47H中存速度显示部分的小数的十分位KM_JW EQU 19H ;48H中存里程向千米进位时的标志位KM EQU 1AH ;49H中存里程的公里数CAI EQU 1BH ;50H中是存采样频率的数值QIAN_Z EQU 1CH ;51H中存前一秒时的里程整数。(用于计算速度)HOU_Z EQU

22、 1DH ;52H中存现在时刻的里程的整数(用于计算速度)QIAN_X EQU 1EH ;53H中存前一秒时的里程小数;54H中存现在时刻的里程的小数。HOU_X EQU 1FH ;54H中存现在时刻的里程的小数。QBZW_Z EQU 23H ;55H中存里程整数部分前一秒时的进位标志位HBZW_Z EQU 24H ;56H存整数部分后一秒的进位标志位QBZW_X EQU 26H ;57H中存里程小数部分前一秒的进位标志位HBZW_X EQU 27H ;58H中存小数部分后一秒的进位标志位SPD_SUMX EQU 28H ;59H中存速度的平均值的小数部分SDJS EQU 29H ;61H中存

23、:轮周长每周脉冲数SD EQU 2AH ;62H中存脉冲数和61h中相乘后的高八位TEP EQU 2BH ;63h中存的是主程序中判断是否到一分钟的标志位,用于读温度传感器CUN EQU 2CH ;64H中每到一秒加一,当和cai里的数相等时遍向ram中保存一个速度值;*程序地址编排* ORG 0000H AJMP MAIN ;主程序入口 ORG 0003H LJMP WAKE_UP ;INT0中断入口 ORG 0013H LJMP SUDU ;INT1中断入口 ORG 001BH LJMP JISUAN ;T1中断入口 ;*主程序入口地址 ORG 0040HMAIN: MOV SP,#60H

24、 MOV DPTR,#START LCALL PIC_SHOW ;显示开始画面 LCALL TEMPER ;测试温度 MOV SPD_Z,#00H MOV SPD_X,#00H MOV LC_Z,#00H MOV LC_X,#00H MOV LC_JW,#00H MOV SPD_SUM,#00H MOV SPD_PDW,#00H MOV LC_XZB,#00H MOV LC_XZS,#00H MOV LC_XZG,#00H MOV LC_XSF,#00H MOV SPD_XZS,#00H MOV SPD_XZG,#00H MOV SPD_XSF,#00H MOV KM_JW,#00H MOV

25、KM,#00H MOV QBZW_Z,#00H MOV HBZW_Z,#00H MOV QBZW_X,#00H MOV HBZW_X,#00H MOV QIAN_Z,#00H MOV HOU_Z,#00H MOV QIAN_X,#00H MOV HOU_X,#00H MOV SPD_SUMX,#00H MOV SD,#00H MOV TEP,#00H MOV TAB2,#00H ;相关单元的初始化 MOV CUN,#00H MOV 2FH,#02H MOV 30H,#09H MOV R1,#85H MOV R1,#0 MOV 37H,#0EH MOV R1,#84H MOV R1,#38HTI

26、ME: CLR P2.0 ;时钟芯片的初始化 MOV R0,#0AH MOV A,#70H MOVX R0,A MOV R0,#0BH MOV A,#96H MOVX R0,A MOV R0,#0CH MOVX A,R0 ;基本寄存器的初始化 MOV R0,#00H MOV A,#00H MOVX R0,A ;秒单元的初始化 MOV R0,#02H MOV A,#00H MOVX R0,A ;分单元的初始化 MOV R0,#04H MOV A,#00H MOVX R0,A ;时单元的初始化 MOV R0,#06H MOV A,#05H MOVX R0,A ;星期单元的初始化 MOV R0,#0

27、7H MOV A,#05h MOVX R0,A ;日单元的初始化 MOV R0,#08H MOV A,#05H MOVX R0,A ;月单元的初始化 MOV R0,#09H MOV A,#05H MOVX R0,A ;年单元的初始化 MOV R0,#0AH MOV A,#20H MOVX R0,A MOV R0,#0BH MOV A,#16H MOVX R0,A ;启动时钟芯片 ;*以上是时钟芯片的初始化;*主菜单显示模块*ZHU_MENU: LCALL INIT_LCM MOV COM,#80H MOV DPTR,#STRING_ZHU LCALL PUT_STRING CLR FX_KEY

28、 ;FX_KEY=0反显一次后关闭 clr EA ;关中断 SETB P2.4 SETB P2.5 SETB P2.6 SETB P2.7CHOICE_ZHU: JNB P2.4,CESU_JUMP JNB P2.5,CHUANSHU_JUMP JNB P2.6,FUNCTION_JUMP JNB P2.7,EXIT_JUMP AJMP CHOICE_ZHUCESU_JUMP: LJMP CESU_MENU ;进入【测速功能】模块CHUANSHU_JUMP: LJMP CHUANSHU_MENU ;进入【数据传输】模块FUNCTION_JUMP: LJMP FUNCTION_MENU ;进入【其它功能】模块EXIT_JUMP: LJMP EXIT_MENU ; 【退出系统】;*

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2