多功能自行车码表设计.docx

上传人:b****0 文档编号:9141292 上传时间:2023-05-17 格式:DOCX 页数:129 大小:1.01MB
下载 相关 举报
多功能自行车码表设计.docx_第1页
第1页 / 共129页
多功能自行车码表设计.docx_第2页
第2页 / 共129页
多功能自行车码表设计.docx_第3页
第3页 / 共129页
多功能自行车码表设计.docx_第4页
第4页 / 共129页
多功能自行车码表设计.docx_第5页
第5页 / 共129页
多功能自行车码表设计.docx_第6页
第6页 / 共129页
多功能自行车码表设计.docx_第7页
第7页 / 共129页
多功能自行车码表设计.docx_第8页
第8页 / 共129页
多功能自行车码表设计.docx_第9页
第9页 / 共129页
多功能自行车码表设计.docx_第10页
第10页 / 共129页
多功能自行车码表设计.docx_第11页
第11页 / 共129页
多功能自行车码表设计.docx_第12页
第12页 / 共129页
多功能自行车码表设计.docx_第13页
第13页 / 共129页
多功能自行车码表设计.docx_第14页
第14页 / 共129页
多功能自行车码表设计.docx_第15页
第15页 / 共129页
多功能自行车码表设计.docx_第16页
第16页 / 共129页
多功能自行车码表设计.docx_第17页
第17页 / 共129页
多功能自行车码表设计.docx_第18页
第18页 / 共129页
多功能自行车码表设计.docx_第19页
第19页 / 共129页
多功能自行车码表设计.docx_第20页
第20页 / 共129页
亲,该文档总共129页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

多功能自行车码表设计.docx

《多功能自行车码表设计.docx》由会员分享,可在线阅读,更多相关《多功能自行车码表设计.docx(129页珍藏版)》请在冰点文库上搜索。

多功能自行车码表设计.docx

多功能自行车码表设计

多功能自行车测速仪

多功能自行车测速仪

-1-

多功能自行车测速仪

一、产品设计背景……………………………………2

二、产品功能简介……………………………………2

三、系统硬件设计……………………………………3

四、MCU软件设计……………………………………8

五、上位机软件bikeV1.0设计……………………8

六、产品实物及测试…………………………………10

6.1<测速模式>……………………………………13

6.2<数据传输>……………………………………14

6.3<其它功能>……………………………………15

6.4<退出系统>……………………………………16

七、结语………………………………………………16

附录1电路图…………………………………………17

附录2源程序…………………………………………18

-1-

多功能自行车测速仪

-1-

多功能自行车测速仪

多功能自行车测速仪使用说明书

一、产品设计背景

随着人们生活水平的逐渐提高,人们对于生活质量的要求也日益

增加,尤其是对健身的要求。

自行车在中国普遍作为代步工具。

而在

国外,自行车却是一项十分受欢迎的健身运动。

因为它无污染,价位

低廉,老少皆宜。

而且在运动过程中可以充分享受到大自然,对于忙

碌的现代人来说,无疑是一种较好的放松方法。

在中国这种情况也在

慢慢发生变化。

因此爱好自行车运动的人十分学要一款能测速的装

置,以知道自己的运动情况。

并根据外界条件,如温度,风速等进行

适当的调节,已达到最佳运动的效果。

而对于自行车运动员来说,最为关心的莫过于一段时间内的训练

效果。

因为教练要根据一段时间内运动员的训练效果进行评估,从而

进行适当的调整已使运动员达到最佳的状态。

因此需要一种装置进行

对训练中各种参数的测定记录。

本作品就是针对此而设计的。

二、产品功能简介

⒈对自行车进行实时速度的测量。

显示出速度值。

⒉能针对不同的车型进行选择。

从而采用不同的模块进行测量。

⒊能测量出当前环境的温度,以供使用者决定是否适宜进行运

动。

⒋显示当前日期时间,可以任意设定当前工作时间。

⒌显示行车里程,运动时间。

-1-

多功能自行车测速仪

⒍可以自行设定采样频率

⒎记录一段时间内的定时采样速度,存入制定单元。

通过与PC

机进行通讯,将数据传送到PC机中用如见进行处理,分析。

得出运

动或训练的情况。

⒏配套软件bikev1.0可以将本次运动的速度绘制成速度曲线,

以供参考。

并可以将数据转存入数据库保存以备日后查询使用

⒐配套软件bikev1.0充分考虑到广大自行车爱好者对于自行

车运动的热衷,因此加入了对自行车运动的介绍,当今流行车型的简

介以及进行自行车运动的注意事项和自行车旅行的相关知识。

并会逐渐对该软件加以升级,使其功能更加完善,以满足广大使

用者的需求。

⒑可以进入系统休眠方式以节省电能,并随时激活唤醒系统重

新进行工作。

可以调节液晶对比度,可以打开背景灯显示。

三、系统硬件设计

系统框图

被测量对象

传感器

单片机系统

PC机通信处理

数据处理并显示

通过传感器对外部物理量进行测量,再将物理信号转换为电信号,

-2-

多功能自行车测速仪

输入单片机,单片机对所输入的电信号进行处理,最后输出显示,并

可以通过与上位机通讯将数据采集到电脑中。

本设计中用到的主要部件包括单片机AT89C52、DS12887时钟芯

片、DS18B20温度传感器、欧姆龙公司的EE-SX671型光电传感器、

MAX232通信芯片以及液晶显示器。

1、时钟芯片DS12887

DS12887是美国达拉斯半导体公司最新推出的时钟芯片,采用

CMOS技术制成,把时钟芯片所需的晶振和外部锂电池相关电路集于

芯片内部。

采用DS12887芯片设计的时钟电路勿需任何外围电路并

具有良好的微机接口。

DS12887芯片具有微功耗、外围接口简单、精

度高、工作稳定可靠等优点,可广泛用于各种需要较高精度的实时时

钟场合中。

这里我们将DS12887的数据线与单片机的P0口相连,将其片选线

与P2.0相连,这样便可通过R0或R1寄存器实现时钟芯片与单片机

的数据传输。

注意在DS12887的RESET端应连接上电复位电路,因

为只有当该脚保持低电平时间大于200ms,DS12887才能有效工作。

DS12887的IRQ端脚为其中断信号输出口,低电平有效,可作微处理

的中断输入。

没有中断条件满足时,IRQ处于高阻态。

IRQ线是漏极

开路输入,要求外接上接电阻。

时钟芯片的有多种中断处理方式,例

如周期中断,闹钟中断,更新中断等,这里我们利用它的更新中断,

即时间每过1秒中,DS12887的更新中断便会从IRQ端输出,而IRQ

引脚则与单片机的INT1中断相连,这样每当DS12887发出时间上的

-3-

多功能自行车测速仪

中断请求单片机便可从它的INT1中断得知,随之立刻进入中断子程

序,在这个中断程序中对光电传感器所发出的脉冲信号进行计数处

理,这样就可以得到速度以及里程等所要测量的量。

由于在测速系统中时间的测定非常重要,因此DS12887可以

说是本设计的核心部件,它的使用好坏直接影响着最终测量的精确

度,所以在调试时务必细心,尽量在熟悉DS12887的各种功能后在开

始编程。

2、温度传感器DS1820

DSl820数字温度计提供9位(二进制)温度读数指

示器件的温度信息经过单线接口送入DSl820或从

DSl820送出因此从主机CPU到DSl820仅需一条线

(和地线)DSl820的电源可以由数据线本身提供而不

需要外部电源因为每一个DSl820在出厂时已经给定

了唯一的序号因此任意多个DSl820可以存放在同一

条单线总线上这允许在许多不同的地方放置温度敏

感器件DSl820的测量范围从-55到+125增量值为0.5

可在ls(典型值)内把温度变换成数字。

由于DS1820采用单总线结构因此外围电路非

常简单,通过一上拉电阻R5即可与单片机相连。

这里我们将DS1820

的数据引脚DQ与单片机的T0口(即P3.4)相连,通过这条数据线

接收温度测量值。

虽然DS1820的外围电路十分简单,但是凡事哪能完美,可以

-4-

多功能自行车测速仪

说这是以繁杂的编程换来的。

DS1820以其严格而繁难的时序要求著

称。

因为它只有一根数据线,即数据与命令字都要在同一条线上传输,

所以DS1820制定了严格的时序,大家在使用时务必严格按照说明书

上的要求对其进行操作,否则时序要是不正确,DS1820就罢工。

者在调试的时候大部分时间都花在了调试DS1820上。

通过切身的体

会,我觉的最好变一到两个通用的延时子程序,在DS1820的编程中

就可以直接调用延时程序,以保证时序的准确。

3、EE-SX671型光电传感器

EE-SX671型光电传感器是欧姆龙公

司所生产的光电开关型传感器。

其四个

引脚中我们只需用其中的三个:

电源

端,接地端以及信号输出端。

在车子行

驶过程中,车轮带动码盘旋转,由于码

盘上刻有等分的孔,在连续的透光与挡光过程中,该传感器便连续输

出标准的脉冲信号。

由电路图可知,将传感器的输出信号经过光耦接到单片机的T1口,

再设定T1为计数器工作方式,这样就可以对所接收到的脉冲进行计

数,进而计算出速度里程等。

注意一定要将光电传感器的输出信号调

好,使其成为标准的脉冲信号,这样T1计数器才能正常的工作。

调试的时候可先不接入EE-SX671,可先用信号发生器产生所需要的

脉冲信号来进行模拟,待全部调试好后再接入EE-SX671。

在使用

-5-

多功能自行车测速仪

EE-SX671之前最好用示波器看一下输出波形是否规整达到要求。

般情况下,输出的就是标准的脉冲信号,如果发现有点偏差可通过外

连调理电路将其整理一番。

而且最好用电压表的交流档打一下,看一

下峰值,是否达到T1口的电平识别范围。

EE-SX671最后要安装到车上,所以事先最好准备一个易弯曲的铁

片用螺母将其与EE-SX671连接然后在固定于车上,这样可以保证在

车子行驶过程中不发生晃动。

4、液晶显示

由于现在的液晶模块应用已经十分广泛,其使用方法大同小异,

所以笔者不准备祥加介绍。

大家可根据自己的熟悉程度自行选择显示

器件。

如果对于液晶不熟悉,完全可以使用数码管作为显示媒介。

里我把自己的液晶显示界面给大家看一下

开机画面

5、电源

-6-

多功能自行车测速仪

这里我们采用9V的电池供电,用LM7805进行稳压处理,将9V

稳降到5V以供单片机以及各芯片使用。

有条件的可以购买电源模块

为系统供电。

经测试9V电池完全可以满足实际需要。

6、与微机通信

笔者在设计该仪器时,想将所测得的数据传送到电脑中,再用高

级语言对数据进行处理,比如速度,在绘制出速度曲线,这样对于教

练或是广大自行车爱好者来说,就可以很清晰地看到自己在训练过程

中的情况。

这里笔者采用大家熟知的串口通讯方式,采用MAX232作为电

平转换芯片。

相信大家已经很熟悉了,笔者就不赘述了。

四、MCU软件设计

这里采用汇编语言进行编程,软件的任务量比较大,涉及到计速

算法,具体会在附录的源程序中详细说明,这里不多述了。

五、上位机软件bikeV1.0设计

在用高级语言处理上,笔者采用VB捆绑数据库将采集得数据转

存入数据库中,这样就可以保存每一次的训练数据,以备日后查用。

后来索性就编了一个小软件,除了上述功能外,还增加了一些对于自

行车运动的常识和知识。

用串口线将测速仪与电脑连接后,即可进行数据的传输。

在PC

机上即可进行数据的接收处理,并可以转存入数据库。

-7-

多功能自行车测速仪

传输参数设定

自行车知识介绍

数据库

软件主界面

数据曲线的绘制

-8-

多功能自行车测速仪

六、作品实物及测试

产品实物图

串口通信

液晶对比度

调节

液晶背景灯

总体效果图【1】

电源接口

复位

总开关

总体效果图【2】

-9-

多功能自行车测速仪

本作品采用9V电池供电,使用时务必保证电池电量充足,将电

池按要求接到系统电源接口处。

拨动开关,使系统工作,将出现如下开机画面:

开机画面

待系统自检4秒后便进入系统主菜单,如前图所示。

共有四大

功能模块:

1.测速模式:

系统的主工作界面,进行速度及相关量的检测

2.数据传输:

将所记录的数据传入PC机,再由配套软件

bikev1.0进行处理,包括绘制曲线及转存入数据库

3.其它功能:

可以进行时间设定及查看版本信息

4.退出系统:

使系统进入节能休眠模式

-10-

多功能自行车测速仪

各功能模块详细测试说明

【注】为方便叙述,将产品的功能按键从左自右依次定义为①号键、

②号键、③号键、④号键。

(一)在主菜单下按①号键(SET)即进入<测速模式>,出现如下子

菜单:

车型选择

在此子菜单下先进行车型的选择,您可以选择26型和275型

两钟目前最常见的车型进行测量

按③号键可以返回主菜单

如按②号键即选择275型,系统会根据您的不同选择为您准确

选定参数进行测量。

紧接着会出现如下菜单:

-11-

多功能自行车测速仪

采样频率设定

在本菜单中,询问您希望设定的采样频率,这样系统便会按照

您的设定时间,每隔固定的时间便向系统内部的RAM中自动写入当

前的速度值。

在选定采样时间后系统便会进入主测量界面:

主测量界面

【注】此时确保您正确接入传感器,否则速度,里程便显示零

-12-

多功能自行车测速仪

在此界面处,随时按下④号键(EXIT),系统便会返回主界面。

在采样时间设定处,当设定好时间后,系统会自动将内部存储单元清

零。

(二)在主菜单下按②号键即进入<数据传输>,出现如下子菜单:

数据传输菜单

按①号键即进入数据传输模式,在您将测速仪与电脑连接后系统会

自动将您刚才运动过程中存储在系统中的速度值传到电脑中以供处

理。

按②号键,返回主菜单。

当画面显示【数据传输完毕!

】时,表示数据已传输完毕,系统会

自动返回主菜单。

【注】在进行数据传输时,为保证正确传输,请务必用串口线将测

速仪与电脑连接牢靠。

-13-

多功能自行车测速仪

(三)在主菜单下按③号键即进入<其它功能>,出现如下子菜单:

其它功能菜单

按①号键即进入<时间设定>,出现如下设定画面:

时间设定画面

此时按①号键可以选择修改单元,按②号键(UP),加值;按③号键

(DOWN),减值。

修改完毕后,按④号键确定,OK处光标闪烁反显,

后返回上一级菜单。

-14-

多功能自行车测速仪

(四)在主菜单下按④号键即进入<退出系统>,系统即进入节能休眠

模式,系统出现如下画面

结束画面

在休眠模式下,按⑤号键(WAKE)即可激活唤醒系统。

六、结语

以上是对本产品的功能及使用说明。

诚然,本次开发的这款产品

还有许多亟待改进的地方。

包括功能上及软件的设计上。

这是本人大三的时候开发的一个基于51单片机的作品,现在看

来可以改进的地方很多,比如在体积上,可一选用更小封装的单片机,

而且对于手持设备应该低功耗,比如可采用TI的430系列的单片机,

这样就可以用钮扣电池供电,使用时间可以更长。

最后非常感谢本网站能举办这样的活动,这对于普及单片机技术

以及提高广大爱好者的动手能力都非常有益!

-15-

多功能自行车测速仪

附录1电路

-16-

多功能自行车测速仪

附录2源程序

;*******总程序*******************

;Controller:

ST7920

;MCU:

AT89C52,晶体频率:

11.0592MHz

;LCM:

128*64

;LCM型号:

带中文字库的128X64-5ZK

;LCM接口:

1:

GND2:

VCC3:

V04.RS5:

RW6:

E7--14:

DB0-DB7

15:

PSB16:

NC17:

RST18:

Vout

;******************************************************

;***********功能引脚命名********************************

D_PORTEQUP1

RSEQUP2.1

;数据口

;液晶指令与数据寄存器设置位

RWEQUP2.2;液晶读写控制位

EEQUP2.3

COMEQU20H

DATEQU21H

;液晶使能端

;指令寄存器

;数据寄存器

TDEQUP3.4

WAKEEQUPSW.5

;DS1820数据引脚

;液晶复位标志

FX_KEYEQUPSW.1;液晶光标反显开关,FX_KEY=1一直反显;

FX_KEY=0反显一次后关闭

-17-

多功能自行车测速仪

;******************相关使用单元说明*****

;25H光标移动计数器

;2EH用来保护读时钟芯片的R0

;22h用来存放时钟的BCD码

;2DH用来存放修改时间时的汉字查询标志位

;2FH存放温度十位

;30H存放温度各位

;85H用做判断使用内部RAM还是时钟RAM的标志位,0为内部,

1为时钟

;37H用做保存时钟芯片的RAM地址

;84H用做保存内部RAM的地址

;******************************************************

;****************里程和速度的基本命名******

TAB2EQU08H

LUNZ_ZEQU09H

LUNZ_XEQU0AH

SPD_ZEQU0BH

SPD_XEQU0CH

LC_ZEQU0DH

LC_XEQU0EH

LC_JWEQU0FH

进位的标志位

;30H用来查汉字时钟表时使用

;31H中存轮周长整数部分

;32H中存小数部分

;33H中存速度的整数部分

;34H中存小数部分

;35h中存里程的整数部分

;36h中存小数部分

;37H中存里程计算时的一个小数向整数部分

-18-

多功能自行车测速仪

SPD_SUMEQU10H

SPD_PDWEQU11H

LC_XZBEQU12H

LC_XZSEQU13H

LC_XZGEQU14H

LC_XSFEQU15H

SPD_XZSEQU16H

SPD_XZGEQ17H

SPD_XSFEQU18H

KM_JWEQU19H

KMEQU1AH

;38H中存速度的和(三妙内的)

;39H中存速度平均值的判断位(三次)

;41H中存里程显示部分的整数的百位

;42H中存里程显示部分的整数的十位

;43H中存里程显示部分的整数的个位

;44H中存里程显示部分的小数的十分位

;45H中存速度显示部分的整数的十位

;46H中存速度显示部分的整数的个位

;47H中存速度显示部分的小数的十分位

;48H中存里程向千米进位时的标志位

;49H中存里程的公里数

CAIEQU1BH

;50H中是存采样频率的数值

QIAN_ZEQU1CH

速度)

;51H中存前一秒时的里程整数。

(用于计算

HOU_ZEQU1DH

算速度)

;52H中存现在时刻的里程的整数(用于计

;53H中存前一秒时的里程小数;54H中存现

QIAN_XEQU1EH

在时刻的里程的小数。

HOU_XEQU1FH

QBZW_ZEQU23H

;54H中存现在时刻的里程的小数。

;55H中存里程整数部分前一秒时的进位标志

HBZW_ZEQU24H

;56H存整数部分后一秒的进位标志位

-19-

多功能自行车测速仪

QBZW_XEQU26H

HBZW_XEQU27H

SPD_SUMXEQU28H

SDJSEQU29H

SDEQU2AH

;57H中存里程小数部分前一秒的进位标志位

;58H中存小数部分后一秒的进位标志位

;59H中存速度的平均值的小数部分

;61H中存:

轮周长÷每周脉冲数

;62H中存脉冲数和61h中相乘后的高八位

;63h中存的是主程序中判断是否到一分钟的

TEPEQU2BH

标志位,用于读温度传感器

CUNEQU2CH

;64H中每到一秒加一,当和cai里的数相等

时遍向ram中保存一个速度值

;*****************程序地址编排****************

ORG0000H

AJMPMAIN

ORG0003H

;主程序入口

LJMPWAKE_UP

ORG0013H

;INT0中断入口

;INT1中断入口

;T1中断入口

LJMPSUDU

ORG001BH

LJMPJISUAN

-20-

多功能自行车测速仪

;*********************主程序入口地址

ORG0040H

MAIN:

MOVSP,#60H

MOVDPTR,#START

LCALLPIC_SHOW

LCALLTEMPER

;显示开始画面

;测试温度

MOVSPD_Z,#00H

MOVSPD_X,#00H

MOVLC_Z,#00H

MOVLC_X,#00H

MOVLC_JW,#00H

MOVSPD_SUM,#00H

MOVSPD_PDW,#00H

MOVLC_XZB,#00H

MOVLC_XZS,#00H

MOVLC_XZG,#00H

MOVLC_XSF,#00H

MOVSPD_XZS,#00H

MOVSPD_XZG,#00H

MOVSPD_XSF,#00H

-21-

多功能自行车测速仪

MOVKM_JW,#00H

MOVKM,#00H

MOVQBZW_Z,#00H

MOVHBZW_Z,#00H

MOVQBZW_X,#00H

MOVHBZW_X,#00H

MOVQIAN_Z,#00H

MOVHOU_Z,#00H

MOVQIAN_X,#00H

MOVHOU_X,#00H

MOVSPD_SUMX,#00H

MOVSD,#00H

MOVTEP,#00H

MOVTAB2,#00H

MOVCUN,#00H

;相关单元的初始化

MOV2FH,#02H

MOV30H,#09H

MOVR1,#85H

MOV@R1,#0

MOV37H,#0EH

MOVR1,#84H

MOV@R1,#38H

-22-

多功能自行车测速仪

TIME:

CLRP2.0

;时钟芯片的初始化

MOVR0,#0AH

MOVA,#70H

MOVX@R0,A

MOVR0,#0BH

MOVA,#96H

MOVX@R0,A

MOVR0,#0CH

MOVXA,@R0

MOVR0,#00H

MOVA,#00H

;基本寄存器的初始化

;秒单元的初始化

;分单元的初始化

;时单元的初始化

;星期单元的初始化

MOVX@R0,A

MOVR0,#02H

MOVA,#00H

MOVX@R0,A

MOVR0,#04H

MOVA,#00H

MOVX@R0,A

MOVR0,#06H

MOVA,#05H

MOVX@R0,A

-23-

多功能自行车测速仪

MOVR0,#07H

MOVA,#05h

MOVX@R0,A

MOVR0,#08H

MOVA,#05H

;日单元的初始化

;月单元的初始化

;年单元的初始化

MOVX@R0,A

MOVR0,#09H

MOVA,#05H

MOVX@R0,A

MOVR0,#0AH

MOVA,#20H

MOVX@R0,A

MOVR0,#0BH

MOVA,#16H

MOVX@R0,A

;启动时钟芯片

;*****************以上是时钟芯片的初始化

;***********主菜单显示模块**************ZHU_MENU:

LCALLINIT_LCM

MOVCOM,#80H

MOVDPTR,#STRING_ZHU

LCALLPUT_STRING

-24-

多功能自行车测速仪

CLRFX_KEY

clrEA

;FX_KEY=0反显一次后关闭

;关中断

SETBP2.4

SETBP2

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 经管营销 > 经济市场

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

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