文档库 最新最全的文档下载
当前位置:文档库 › 基于单片机的自行车里程表设计论文附程序

基于单片机的自行车里程表设计论文附程序

基于单片机的自行车里程表设计论文附程序
基于单片机的自行车里程表设计论文附程序

自行车里程表

设计论文

【摘要】以AT89S52型单片机为核心,实时测量并显示自行车行驶过程中的各项参数。

【关键词】单片机LCD干簧管累计里程速度

【作品要求】

设计一个可以适用自行车的轻便、省电、全天候野外使用的自行车里程表。(1)基计要求

总里程〈999.99km;

可以轮流显示或选择显示(用十进制数):

里程——当前行驶里程;

速度——当前平均速度km/h;

最大速度——本次行驶中的最大速度;

时间——当前行驶累计时间,时、分、秒;

电源不高于5V,体积小、结构可靠,便于安装及使用。

(2)发挥部分

可以显示最大加速度;用可编程器件实现;用单片机实现

【方案设计与讨论】

1.速度测量原理

测量自行车的速度的原理有两种:

1)测量一定时间间隔t1里自行车车轮转过的圈数qs。假设车轮周长为tc,

则速度V=tc*qs/t1

2)测量自行车车轮转过一圈的时间t2,则速度V=tc/t2

本里程表是根据原理2计算速度的。

2.传感器的选择

1)红外对管。把红外对管分别安装在自行车车轮的两侧,当车轮转动时,

辐条会阻挡红外对管的光路,接收管输出低电平,单片机根据此信号可

计算里程、速度等。红外对管的优点是测量精度高,缺点是安装比较复

杂和容易受外来光线、灰尘等的影响。

2)开关型霍尔传感器。霍尔传感器是利用霍尔效应把磁输入信号转换成电

信号的器件。把开关型霍尔传感器安装在自行车贴近车轮的支架上,磁

钢安装在辐条上,当磁钢靠近霍尔传感器的时候,传感器输出一个无抖

动的低电平,单片机根据此信号可计算里程、速度等。霍尔传感器的优

点是稳定和安装简易,缺点是成本较高。

3)干簧管。干簧管是一种磁敏的有触点无源电子开关元件,应用在里程表

上的原理与开关型霍尔传感器类似,把干簧管安装在自行车贴近车轮的

支架上,磁钢安装在辐条上,当磁钢靠近霍尔传感器的时候,干簧管闭

合,单片机根据此信号可计算里程、速度等。干簧管的优点是成本低廉

和安装简易,缺点是比较脆弱和不够稳定。

本里程表选用干簧管作为传感器。给干簧管套上废弃笔杆,可克服其脆弱的缺点;软件防抖可克服其不够稳定的缺点。

3.显示模块的选择

1)动态扫描LED数码管显示。里程表的显示内容以数字为主,利用LED

数码管可基本满足使用要求,且成本较低。但是用动态扫描的方式驱动

数码管,亮度太低,在阳光下几乎看不见显示内容,失去使用价值。

2)串行静态LED数码管显示。把单片机的串行口设置为方式0(同步移位

寄存器),输出显示信息,可实现LED数码管的静态显示,其亮度令人

满意。但由于要使用74HC164/74LS164串并转换芯片驱动LED数码管,因此会带来体积大、成本高、功耗高等的缺点。

3)LCD液晶显示模块。液晶显示模块具有体积小、功耗低、显示内容丰富

等特点,现在字符型液晶显示模块已经是单片机应用设计中最常用的信

息显示器件了。

本里程表使用1602 LCD作为显示模块。

【功能描述】

以AT89S52型单片机为核心,实时测量并显示自行车行驶过程中的各项参数,包括当前行驶累计时间、当前行驶累计里程(m/km自动调整)、当前速度(km/h)、最大速度(km/h)、平均速度(km/h)、加速度(m/s2)、当前时间等,各参数分屏显示。可更改自行车轮胎直径,适应不同的自行车,通用性好。本里程表具有时钟功能,不安装在自行车上时也可作为时钟使用,实用性高。

【操作说明】

里程表板面如上图所示,包括电源2pin排针、干簧管3pin排针、液晶显示器、液晶背光开关、电源开关、电源LED指示灯、功能按钮SW1-SW5、Reset 按钮。

接通电源或按Reset后,显示欢迎画面:

DigitalBikeMeter

Welcome….

2秒后进入时钟设置画面:

Set Time

00:00:00

按SW1-SW3调整时钟后,按SW4确认。

接着进入自行车轮胎半径设置画面:

Set Bike Tire L=

55cm

默认设置为55cm,对应22英寸自行车轮胎半径。

按SW1、SW2调整轮胎直径后,按SW4确认,里程表开始工作。

各项参数分成四屏选择显示,按动SW5(Disp)按以下次序进行切换:

【结构框图】

系统由干簧管、设置选择模块、显示模块、蜂鸣器模块、供电模块和单片机小系统构成。由设置选择模块选择显示模式后,单片机实时采集、处理后显示。

【具体硬件电路及工作原理】

S::

当前行驶累计里程(单位自动调整) S<1000m,格式xxx.x m, S>1000m,格式xxx.xx km ) Time :当前行驶累计时间

V: 当前速度(km/h ) Vm: 最大速度(km/h )

Va: 平均速度(km/h ) a: 加速度(m/s2)

Time Now 当前时间

里程、速度、加速度等都是由干簧管测量。已知自行车轮胎的直径tl,轮子每转动一圈,安装在车轮辐条上的磁钢接近干簧管一次,干簧管闭合,送一个下降沿信号给单片机的外部中断0,产生一次中断,圈数qs加1。两个相邻的下降沿信号的时间由单片机定时器1计时(设为ssj),那么计算累计里程S和当前速度V的公式为:

S=tl*3.14*qs V=tl*3.14/ssj

若速度大于28.8km/h(8m/s)则P2.4输出低电平,蜂鸣器报警,提示速度过大。处理速度数据时同时刷新最大速度及计算Vm、平均速度Va、加速度a。

单片机定时器0定时时间为50ms,每20次刷新系统时钟及计算累计行驶时间。

【相关元器件及其简介】

(1)AT89S52单片机简介

AT89S52是一种低功耗、高性能CMOS 8位微控制器,具有8K 在系统可编程Flash 存储器。使用Atmel 公司高密度非易失性存储器技术制造,与工业80C51 产品指令和引脚完全兼容。片上Flash允许程序存储器在系统可编程,亦适于常规编程器。在单芯片上,拥有灵巧的8 位CPU 和在系统可编程Flash,使得AT89S52为众多嵌入式控制应用系统提供高灵活、超有效的解决方案。

AT89S52具有以下标准功能: 8k字节Flash,256字节RAM,32 位I/O 口线,看门狗定时器,2 个数据指针,三个16 位定时器/计数器,一个6向量2级中断结构,全双工串行口,片内晶振及时钟电路。另外,AT89S52 可降至0Hz 静态逻辑操作,支持2种软件可选择节电模式。空闲模式下,CPU停止工作,允许RAM、定时器/计数器、串口、中断继续工作。掉电保护方式下,RAM内容被保存,振荡器被冻结,单片机一切工作停止,直到下一个中断或硬件复位为止。

(2)1602LCD液晶显示模块

液晶显示模块具有体积小、功耗低、显示内容丰富等特点,现在字符型液晶显示模块已经是单片机应用设计中最常用的信息显示器件了。

本里程表使用常见的1602字符型LCD模块。1602可以显示2行16个字符,有8位数据总线D0-D7,和RS、R/W、E三个控制端口,工作电压为5V,并且带有字符对比度调节和背光。

(3)干簧管

干式舌簧管简称干簧管,是利用磁场信号来控制的一种线路开关元件。干式舌簧管以其结构固有的特点,目前已被广泛应用到各种自动化和微型化的自动控制零件及通讯检测设备中,作为灵敏而快速的开闭及转换电路的执行工件。

在本里程表中,干簧管安装在自行车贴近辐条的支架上,磁钢安装在辐条上。当磁钢远离干簧管时,干簧管断开,单片机外部中断0(P3.2)保持高电平。当磁钢靠近干簧管时,干簧管闭合,送一个下降沿信号给单片机的外部中断0,产生一次中断。

【系统调试过程简述】

自行车里程表的原理比较简单,我编好一个比较简单但是核心的程序(只计算里程和速度)在Keil C上仿真,经过短暂的调试就成功了,这证明我关于里程表的最核心的想法是正确的,这给了我后面的制作和调试很大的信心。

紧接着是在单片机上搭建硬件,重点是按键防抖动。我的模式选择按钮是接到单片机的外部中断的,一开始我按照普通按钮的防抖动的方法测试,没有成功。于是在中断服务程序的开始关闭中断,末尾再开中断,还是不行。后来在中断服务程序的末尾加了这样一句:

IE1=0;

其作用就是清除中断标志。因为即使单片机的外部中断是关闭的,但只要在中断服务程序执行期间按键抖动,中断标志又会置1,若没有清除中断标志,退出中断服务程序后又会执行一次服务程序,这样按一次按键就会执行两次中断

服务程序。

我的里程表的最初版本是利用串行LED数码管显示作为显示模块的(简介请参阅附录二)。但制成后发现体积太大,而且功耗比较高,不适合用于要求小巧、坚固、耐用的自行车里程表上。

后来改用1602LCD,里程表体积大幅度减小,经测试,背光开启时电流为45mA左右,背光关闭时为25mA左右,2500mah AA×4的电池组供电最多可达100小时,可以满足使用要求。

附录程序流程图及程序代码

程序代码

#include

#define uchar unsigned char

/****************************************************************

引脚定义:

P20=SW1时钟设置时更改“时”,直径设置时更改十位

P21=SW2 时钟设置时更改“分”的十位,直径设置时更改个位

P22=SW3 时钟设置时更改“分”的个位

P23=Enter确认更改设置

P32=Disp 正常工作时更改显示模式

********************************************************************* *******/

sbit P20=P2^0;

sbit P21=P2^1;

sbit P22=P2^2;

sbit P23=P2^3;

sbit P32=P3^2;

sbit RS=P3^7;

sbit RW=P3^6;

sbit E=P3^5;

sbit busy=P1^7;

/****************************************************************

变量定义:

i 延时变量

qsls 圈数临时变量,用于判断里程显示选用m还是km作为单位

qs 圈数

sj 累计行驶时间,单位为秒

totallc 累计里程

pjsd 平均速度

ssji 定时器T120ms中断次数,用于计算速度等

sji 本次速度对应的20ms中断次数

sjiold 上次速度对应的20ms中断次数

aa 加速度

sd2 当前速度

mxsd 用于更新最大速度

mxsd2 最大速度对应的20ms次数

tc 轮胎周长

*s 字符串显示子程序字符指针

line 字符串显示子程序列数

row 字符串显示子程序行数

com 写控制字

dat 显示码字

gw 累计里程、当前速度、累计时间、最大速度、平均速度、加速度的个位

sw 累计里程、当前速度、累计时间、最大速度、平均速度、加速度的十位

bw 累计里程、当前速度、累计时间、最大速度、平均速度、加速度的百位

qw 累计里程、当前速度、累计时间、最大速度、平均速度、加速度的千位

ww 累计里程、累计时间的万位

sww 累计里程、累计时间的十万位

ssj 定时器T0 50ms中断次数,每20次sj加1

cgw 当前时间(时钟)的个位

csw 当前时间(时钟)的十位

cbw 当前时间(时钟)的百位

cqw 当前时间(时钟)的千位

cww 当前时间(时钟)的万位

csww 当前时间(时钟)的十万位

cww2 当前时间(时钟)的辅助万位

MODE 显示模式

tr1 轮胎设置变量1(十位)

tr2 轮胎设置变量2(个位)

********************************************************************* *******/

unsigned int i,qsls;

unsigned long qs,sj,totallc,pjsd,ssji,sji,sjiold,aa,sd2,mxsd,mxsd2,tc;

uchar

*s,line,row,com,dat,gw,sw,bw,qw,ww,sww,ssj,cgw,csw,cbw,cqw,cww,csww,cww2,M ODE,tr1,tr2;

/***********************************void

wait()*****************************

该函数的作用是对LCD进行检测,看LCD是否处于忙的状态.当bflag=1时表示忙,

此时不可以向LCD进行读写操作.而当busy=0时,表示可以向它读写数据.

********************************************************************* *******/

void wait()

{P1=0xff;

RW=1; RS=0;

do{E=0;E=1;}while(busy==1);

}

/**************************************void

dispone()*******************************

该函数的作用是向LCD写入数据并显示出来.

********************************************************************* **************/

void dispone(dat)

{P1=dat;

RW=0; RS=1;

E=0; E=1;

wait();

}

/**********************************void

wrcom()*******************************

该函数的作用是向LCD写入控制字.

********************************************************************* *********/

void wrcom(com)

{P1=com;

RW=0; RS=0;

E=0; E=1;

wait();

}

/***************************************void

init_LCD()*******************************

该函数的作用是初始化LCD.

********************************************************************* ********************/

void init_LCD()

{wrcom(0x01);

wrcom(0x06);

wrcom(0x38);

wrcom(0x0c);

}

/****************************************void

dispmore()********************************

该函数的作用是向LCD写入一串数据,并把数据串显示出来.

********************************************************************* *********************/

void dispmore(line,row,uchar dat[],i) //格式为dispmore(第几行,第几列,开始要显示的字符地址,显示几个字符);

{uchar com;

s=dat;

if(line==1)

{com=0x80+row-1;

wrcom(com);

while((i--)!=0&&com<=0x8f)

{dispone(*s);

com++;

s++;

}

}

else

{com=0xc0+row-1;

wrcom(com);

while((i--)!=0&&com<=0xcf)

{dispone(*s);

com++;

s++;

}

}

}

/****************************************void

ttimep()********************************

累计行驶时间数据处理及显示子程序

********************************************************************* *********************/

void ttimep()

{

sww=sj/36000;

ww=sj%36000/3600;

qw=sj%3600/600;

bw=sj%600/60;

sw=sj%60/10;

gw=sj%10;

wrcom(0xc1);

dispone('T');

dispone('i');

dispone('m');

dispone('e');

dispone(' ');

dispone(' ');

dispone(sww+0x30);

dispone(ww+0x30);

dispone(':');

dispone(bw+0x30);

dispone(':');

dispone(sw+0x30);

dispone(gw+0x30);

}

/****************************************void

timer1()********************************

T1中断服务子程序,每20ms中断一次,ssji加1,根据公式S=tc*qs和V=tc/ssj 计算累计里程和

********************************************************************* *********************/

void timer1() interrupt 3

{

ssji++;

TH1=0xb1;

TL1=0xdf;

}

/****************************************void

lcp()********************************

累计里程数据处理和显示子程序,若<999m则单位为m,若>999m则单位为km ********************************************************************* *********************/

void lcp()

{

qsls=100000/tc;

if(qs>qsls){

sww=qs*tc/10000000;

ww=qs*tc%10000000/1000000;

qw=qs*tc%1000000/100000;

bw=qs*tc%10000000/10000;

sw=qs*tc%10000/1000;

wrcom(0x81);

dispone('S');

dispone(' ');

dispone(' ');

dispone(' ');

dispone(' ');

dispone(sww+0x30);

dispone(ww+0x30);

dispone(qw+0x30);

dispone('.');

dispone(sw+0x30);

dispone(' ');

dispone('k');

dispone('m');

}

else{

qw=qs*tc%100000/10000;

bw=qs*tc%10000/1000;

sw=qs*tc%1000/100;

gw=qs*tc%100/10;

wrcom(0x81);

dispone('S');

dispone(' ');

dispone(' ');

dispone(' ');

dispone(' ');

dispone(' ');

dispone(' ');

dispone(qw+0x30);

dispone(bw+0x30);

dispone(sw+0x30);

dispone('.');

dispone(gw+0x30);

dispone(' ');

dispone('m');

}

}

/****************************************void

pjsdp()********************************

平均速度数据处理及显示子程序

********************************************************************* *********************/

void pjsdp()

{

pjsd=qs*tc*36/sj;

qw=pjsd%100000/10000;

bw=pjsd%10000/1000;

sw=pjsd%1000/100;

gw=pjsd%100/10;

wrcom(0x82);

dispone('V');

dispone('a');

dispone(' ');

dispone(' ');

dispone(qw+0x30);

dispone(bw+0x30);

dispone('.');

dispone(sw+0x30);

dispone(gw+0x30);

dispone(' ');

dispone('k');

dispone('m');

dispone('/');

dispone('h');

}

/****************************************void

sdp()********************************

当前速度数据处理及显示子程序

********************************************************************* *********************/

void sdp()

{

if(sji!=0)

sd2=tc*1800/sji;

else sd2=0;

qw=sd2%100000/10000;

bw=sd2%10000/1000;

sw=sd2%1000/100;

gw=sd2%100/10;

wrcom(0x82);

dispone('V');

dispone(' ');

dispone(' ');

dispone(' ');

dispone(qw+0x30);

dispone(bw+0x30);

dispone('.');

dispone(sw+0x30);

dispone(gw+0x30);

dispone(' ');

dispone('k');

dispone('m');

dispone('/');

dispone('h');

}

/****************************************void

mxsdp()********************************

最大速度数据处理及显示子程序

********************************************************************* *********************/

void mxsdp()

{

if(mxsd!=0)

mxsd2=tc*1800/mxsd;

else mxsd2=0;

qw=mxsd2%100000/10000;

bw=mxsd2%10000/1000;

sw=mxsd2%1000/100;

gw=mxsd2%100/10;

wrcom(0xc2);

dispone('V');

dispone('m');

dispone(' ');

dispone(' ');

dispone(qw+0x30);

dispone(bw+0x30);

dispone('.');

dispone(sw+0x30);

dispone(gw+0x30);

dispone(' ');

dispone('k');

dispone('m');

dispone('/');

dispone('h');

}

/****************************************void

clkp()********************************

当前时间(时钟)数据处理及显示子程序

********************************************************************* *********************/

void clkp()

{

wrcom(0xc4);

dispone(csww+0x30);

dispone(cww+0x30);

dispone(':');

dispone(cqw+0x30);

dispone(cbw+0x30);

dispone(':');

dispone(csw+0x30);

dispone(cgw+0x30);

}

/****************************************void

apfz()********************************

加速度数据处理及显示子程序辅助程序

********************************************************************* *********************/

void apfz()

{

wrcom(0xc2);

dispone('a');

wrcom(0xc6);

dispone(qw+0x30);

dispone(bw+0x30);

dispone('.');

dispone(sw+0x30);

dispone(gw+0x30);

dispone(' ');

dispone('m');

dispone('/');

dispone('s');

dispone('2');

}

/****************************************void

ap()********************************

加速度数据处理及显示子程序

********************************************************************* *********************/

void ap()

{

if (sjiold==sji)

{gw=sw=bw=qw=0;

apfz();}

else if(sjiold

{aa=360*tc*(sji-sjiold)/sji/sjiold/(sji+sjiold);

qw=aa/1000;

bw=aa%1000/100;

sw=aa%100/10;

gw=aa%10;

wrcom(0xc5);

dispone('-');

apfz();}

else if(sjiold>sji)

{aa=360*tc*(sjiold-sji)/sji/sjiold/(sji+sjiold);

qw=aa/1000;

bw=aa%1000/100;

sw=aa%100/10;

gw=aa%10;

wrcom(0xc5);

dispone(' ');

apfz();}

}

/****************************************void

int0()********************************

外部中断0(干簧管)中断服务程序

********************************************************************* ********************/

void int0() interrupt 0

{

EX0=0;

qs++; //圈数+1

TR1=0;

sjiold=sji; //停止T1计时

sji=ssji;

if (mxsd!=0) //更新最大速度

{

if (sji

}

else mxsd=sji;

TH1=0xb1; //重置T1定时常数

TL1=0xdf;

ssji=0;

TR1=1; //T1重新开始计时

switch(MODE)

{

case 0:wrcom(0x01);lcp();ttimep();break;

case 1:wrcom(0x01);sdp();mxsdp();break;

case 2:wrcom(0x01);pjsdp();ap();break;

case 3:wrcom(0x01);dispmore(1,5,"Time Now",8);clkp();break;

default:break;

}

for(i=0;i<32000;i++);

IE0=0;

EX0=1;

}

/****************************************void

int1()********************************

显示模式选择按钮(Disp)中断服务子程序

********************************************************************* *********************/

void int1() interrupt 2

{

EX1=0;

if(++MODE>3) MODE=0;

switch(MODE)

{

case 0:wrcom(0x01);lcp();ttimep();break;

case 1:wrcom(0x01);sdp();mxsdp();break;

case 2:wrcom(0x01);pjsdp();ap();break;

case 3:wrcom(0x01);dispmore(1,5,"Time Now",8);clkp();break;

default:break;

}

for(i=0;i<32000;i++);

IE1=0;

EX1=1;

}

/****************************************vvoid

timer0()********************************

T0中断服务子程序,主要用于计算累计行驶时间,50ms一次中断,每20次sj++,更新累计行驶时间(单位秒)

********************************************************************* **********************/

void timer0() interrupt 1

{

TH0=0x3c;

TL0=0xb0;

if(++ssj>19)

{

sj++;

ssj=0;

cgw++;

if(cgw>9){cgw=0;csw++;

if(csw>5){csw=0;++cbw;

if(cbw>9){cbw=0;++cqw;

if(cqw>5){cqw=0;

cww2++;if(cww2>23)cww2=0;csww=cww2/10;cww=cww2%10;

}

}

}

}

if (MODE==0) {lcp();ttimep();}

if (MODE==3) clkp();

}

}

/****************************************void

main()********************************

主程序,初始化LCD,显示欢迎信息,更改时钟、直径设置,开中断、计时器等

********************************************************************* *********************/

void main()

{

init_LCD();

dispmore(1,1,"-Digital Meter-",16);

for(i=0;i<25000;i++);

dispmore(2,1," Welcome ",16);

for(i=0;i<25000;i++);

dispmore(2,1," Welcome. ",16);

for(i=0;i<25000;i++);

dispmore(2,1," Welcome.. ",16);

for(i=0;i<25000;i++);

dispmore(2,1," Welcome... ",16);

for(i=0;i<25000;i++);

dispmore(2,1," Welcome.... ",16);

for(i=0;i<25000;i++);

dispmore(2,1," Welcome..... ",16);

for(i=0;i<30000;i++);

wrcom(0x01);

MODE=0;

qs=0;

P2=0xff;

cgw=csw=cbw=cqw=cww=csww=cww2=0;

电动车里程表设计

本文介绍的速度与里程表设计以单片机和光电传感器为核心。传感器将不同车速转变成的不同频率的脉冲信号输入到单片机进行控制与计算,再采用LED模块进行显示,使得电动自行车的速度与里程数据能直观的显示给使用者。 系统概述 本系统由信号预处理电路、单片机AT89C2051、系统化LED显示模块、串口数据存储电路和系统软件组成。其中信号预处理电路包含信号放大、波形变换和波形整形。对待测信号进行放大的目的是降低对待测信号的幅度要求;波形变换和波形整形电路则用来将放大的信号转换成可与单片机相连的TTL信号;通过单片机的设置可使内部定时器T1对脉冲输入引脚T0进行控制,这样能精确地算出加到T0引脚的单位时间内检测到的脉冲数;设计中速度显示采用LED模块,通过速度换算得来的里程数采用I2C总线并通过E2PROM来存储,既节省了所需单片机的口线和外围器件,同时也简化了显示部分的软件编程。 系统的原理框图如图1所示。

图1 系统的原理框图 工作原理 该设计能实时地将所测的速度与累计里程数显示出来,主要是将传感器输入到单片机的脉冲信号的频率(传感器将不同车速转变成不同频率的脉冲信号)实时地测量出来,考虑到信号的衰减、干扰等影响,在信号送入单片机前应对其进行放大整形,然后通过单片机计算出速度和里程,再将所得的数据存储到串口数据存储器,并由LED显示模块交替显示所测速度与里程。本设计的里程数的算法是一种大概的算法(假设在一定时间内自行车是匀速行进,平均速度与时间的乘积即为里程数)。 设计时,应综合考虑测速精度和系统反应时间。本设计用测量脉冲频率来计算速度,因而具有较高的测速精度。在计算里程时取了自行车的理想状态。实际中,误差控制在几米之内,相对于整个里程来说不是很大。为了保证系统的实时性,系统的速度转换模块和显示数据转BCD码模块都采用快速算法。另外,还应尽量保证其他子模块在编程时的通用性和高效性。本设计的速度和里程值采用6位显示,并包含两个小数位。 系统的硬件设计 脉冲发生源 本设计采用了ST1101红外光电传感器,进行非接触式检测。当有物体挡在红外光电发光二极管和高灵敏度的光电晶体管之间时,传感器将会输出一个低电平,而当没有物体挡在中间时则输出为高电平,从而形成一个脉冲。 该系统在自行车后轮的轴处保持着与轮子旋转切面平行的方向延伸附加一个铝盘,在这个铝盘的边沿处挖出若干个圆形过孔,把传感器的检测部分放在圆孔的圆心位置。每当铝盘随着后轮旋转的时候,传感器将向外输出若干个脉冲。把这些脉冲通过一系列的波形整形成单片机可以识别的TTL电平,即可算出轮子即时的转速。

自行车里程表的设计【开题报告】

毕业设计(论文)开题报告 题目:自行车里程表的设计 专业:电子信息工程 一、选题的背景、意义 192个国家的谈判代表召开峰会,商讨《京都议定书》一期承诺到期后的后续方案,即2012009年12月7日开是在丹麦首都哥本哈根召开的《哥本哈根世界气候大会》,来自2年至2020年的全球减排协议,就未来应对气候变化的全球行动签署新的协议。气候变化已经成为全世界共同关注的焦点问题,节能减排迫在眉睫,全球各个国家都在为节能减排做进一步的努力。加之2008年爆发的经济危机的影响之深远,让每一个身处社会的人都心有余悸。但是在这经济危机爆发的时刻,人来面临的能源问题,远比经济危机要让大家头痛得许多,中国正在积极推动企业的节能减排,提高全社会节能减排的意识。 电电动自行车是绿色节能的交通工具,在城城市化发展的进程中电动自行车满足了消消费者出行半径增大的需求。经过15年的快速发展,电动自行车产业已经进入了成熟期,产品的质量不断提高,技术创新成果普遍应用。中国已成为全球电动自行车的制造、消费大国,目前中国市场年产销量超过2000万辆,整个产业链的经济规模达到1000亿以上,从业人员近500万人。整车企业1000余家、6000余家相关联配套企业、100000家经销商、市场保有量达 1.2亿辆,电动自行车成为中国一个重要的产业,也是中国老百姓主要的交通工具。目前平均每四户居民家庭中就有一辆电动自行车,电动自行车已经成为城乡人民生活中的一种重要的消费品。2009年以来,面对世界金融危机的挑战,电动自行车产业依然保持了平稳发展。中国自行车协会助力车专业委员会的统计,50家主要生产电动自行车的企业,1-8月份累计总产量为656万辆,同比增长13%。另外,根据国家统计局的统计,1-8月份行业规模以上企业电动自行车产量累计生产为445.5万辆,同比增长8.7%。两个不同口径的统计数字均说明,2009年的前8个月行业仍然是增长的态势。 1989年清华第一台电动自行车样机到现在二十年的时间,中国电动自行车行业经历了从无到有,从小到大的过程,目前年产量已达2000万辆以上,社会总需求量在5亿辆以上。随着城市扩大化的发展进程,电动自行车已经逐渐成为百姓出行不可或缺的代步工具。2009年10月,国家标准管理委员会公布了《电动摩托车和电动轻便摩托车

电子车速里程表的设计

电子车速里程表的设计 摘要 随着电子技术的迅猛发展,电子式里程表得以广泛应用,现在很多轿车仪表已经使用电子车速里程表。本设计介绍一种基于AT89C51单片机的智能电子里程表。该电子式里程表是一种数字式仪表,主要由车速表和里程表两部分组成,其传感器采用霍尔传感器的脉冲信号检测与转换。此里程表不仅可显示车辆行驶的总里程,也可显示一段时间的阶段里程,还可显示车速,以及实现超速报警等功能,并具有较强的再开发能力。 本文详细描述了利用霍尔传感器和AT89C51单片机开发测速系统的过程,重点对传感器在单片机下的硬件连接,软件编程以及各模块系统流程进行了详尽分析,对各部分的电路也一一进行了介绍,该系统可以方便的实现实时速度、里程的采集和显示,它使用起来相当方便,具有精度高、量程宽、灵敏度高、体积小、功耗低等优点,有利于我们日常生活和汽车生产业的发展,也可以当作测速处理模块嵌入其它系统中,作为其他主系统的辅助扩展。该系统结构简单,抗干扰能力强,适合于恶劣环境下进行速度里程测量,有广泛的应用前景。 关键词:AT89C51,数码管显示器,霍尔传感器,速度里程表

目录 1 绪论 (1) 1.1 课题描述 (1) 1.2 基本工作原理及框图 (1) 2 相关芯片及硬件电路设计 (2) 2.1 AT89C51芯片 (2) 2.1.1 AT89C51的主要特性 (2) 2.1.2 AT89C51的管脚说明 (3) 2.2 霍尔速度传感器 (4) 2.2.1 霍尔传感器工作原理 (4) 2.2.2 霍尔效应 (4) 2.2.3 霍尔元件 (4) 2.3 单片机最小系统及电路 (5) 2.4 车速信号处理电路 (6) 2.5 显示电路 (8) 2.5 系统原理图 (9) 3 系统的软件及程序设计 (9) 3.1 主程序程序框图 (9) 3.2 调试及仿真 (11) 总结 (12) 致谢 (13) 参考文献 (14) 附录 (15)

基于单片机的电动车里程表设计说明

《基于单片机的电动车里程表设计》 目录 引言 (1) 1.总体设计 (2) 2.设计任务及要求 (2) 3.电路原理 (2) 4.硬件系统模块 (3) 4.1芯片的选择 (6) 4.2结构框图 (7) 5.软件系统设计 (7) 5.1控制系统源程序 (11) 6.调试 (13) 7.参考文献 (13)

引言 里程表广泛应用于各类机车,传统的机械式里程表虽然稳定可靠,但功能单一、易受磨损。随着电子技术的迅猛发展,电子式里程表得以广泛应用,现在很多轿车仪表已经使用电子车速里程表,从保护环境和经济条件许可等因素综合来看,电动自行车目前乃至今后都有着广阔的发展空间。目前市面上电动自行车的速度表和里程表都是机械的,看起来不够直观与方便。如果能用液晶显示屏直接显示出来里程数和速度值,就可节省用户的时间及精力处理自行车行进过程中的突发事件。 本设计介绍一种基于单片机的智能电子里程表。该电子式里程表是一种数字式仪表,主要由车速表和里程表两部分组成,其传感器采用无接触测量的光电传感器。传感器将不同车速转变成的不同频率的脉冲信号输入到单片机进行控制与计算,再采用液晶显示器模块进行显示,使得电动自行车的速度与里程数据能直观的显示给使用者。它不仅可显示车辆行驶的总里程,还可显示当前车速,以及实现超速报警等功能,并具有较强的再开发能力。它的实现方式是,通过安装在汽车转轴上的测量盘,用光电式转速传感器检测转速的脉冲信息,在脉冲状态下,将转速的变化转换成光通量的变化,再通过光电转换元件将光通量的变化转换成电量的变化,接着通过频率测量电路将脉冲信号输入到单片机中,然后依据电量与转速的函数关系实现转速测量,再通过计算,从而得出里程、车速的信息,并由液晶显示器显示出来。

基于单片机的自行车速度里程表设计

摘要 随着居民生活水平的不断提高,自行车不再仅仅是普通的运输、代步的工具,而是成为人们娱乐、休闲、锻炼的首选。自行车速度/里程表能够满足人们最基本的需求,让人们能清楚地知道当前的速度、里程等物理量。本论文主要阐述一种基于霍尔元件的自行车速度/里程表的设计。以AT89S52 单片机为核心,A04E 霍尔传感器测转数,实现对自行车里程/速度的测量统计,并能将自行车的里程数及速度用LED实时显示。文章详细介绍了自行车速度/里程表的硬件电路和软件设计。硬件部分利用霍尔元件将自行车每转一圈的脉冲数传入单片机系统,然后单片机系统将信号经过处理送显示。软件部分用C语言进行编程,采用模块化设计思想。该系统硬件电路简单,子程序具有通用性,完全符合设计要求。 关键词:里程/速度;霍尔元件;单片机;LED显示

Abstract With 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 entertainmenting 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 these paper, the bicycle mileage/speed design based on the Hall element is elaborated. By AT89S52 as kernel, using A04E Hall element to measure revolution, the measure and statistic are achieved. 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 C language, the program is designed in the mode of modules. The system has simple hardware, common sub-program, and meet the demand of design. Keywords: Mileage / speed; Hall element; Single Chip Microcomputer; LED

基于单片机的里程表设计

《单片机原理及应用A》课程设计学院:电气工程学院 题目:基于单片机的里程表设计 起止时间:2016年8月22日至2016年9月9日 学生姓名: 专业班级: 指导教师: 教研室主任: 院长: 2016年8月20日

《单片机原理及应用A》课程设计 任务书 学院:电气工程学院 题目:基于单片机的里程表设计 起止时间:2016年8月22日至2016年9月9日 学生姓名: 专业班级: 指导教师: 教研室主任: 院长: 2016年8月20日

摘要:本次设计是采用MSC-51系列单片机中的STC89C52RC和YL-57霍尔传感器模块以及24C02B(E2PROM)模块构成的低成本电子式里程表。单片机STC89C52RC是一款低功耗、高性能的CMOS8位单片机,由于它强大的功能和低价位,因此在很多领域都是用它。YL-57霍尔传感器模块是有磁场切割就有TTL 电平信号输出,该模块包括一个74HC04和一块3144霍尔传感器,该产品具有品质卓越、超快响应、抗干扰能力强、性价比极高等优点。设计主要包括硬件电路的设计和系统软件的设计。 硬件电路主要包括单片机、霍尔磁感应检测模块、显示模块、蜂鸣器以及控制设备等5部分。由LCD1602液晶模块构成系统显示模块;测速控制电路由YL-57霍尔传感器模块和预设速度值比较警告电路组成,同时将行驶里程数存入E2PROM使里程数断电不丢失;用户根据需要预先输入车轮周长和限速速速,测量实际行驶速度,发出警告信号(蜂鸣器蜂鸣),敦促驾驶员减速行驶。 软件部分包括了主程序、显示子程序、E2PROM读写子程序。 关键词:STC89C52RC;YL-57霍尔传感器模块;24C02B(E2PROM) 模块

自行车码表

出口澳大利亚/加拿大自行车码表 MULTI-FUNCTION CYCLECOMPUTER OEM , W/O BATTERY BLISTER CARD 马表说明书 请在使用时仔细阅读以下说明: FUNCTIONS 功能 1.Current Speed流速 2.24Hour Clock二十四小时计时器 3.Total Distance (ODO)全行程 4.Trip Time(TM)单次骑行时间 5.Maximum Speed (MXS) 最大时速 6.Average Speed(AVS)平均速度 7.Trip time (TM) 单次行程时间 8.Scan(SCAN)浏览 9.Kilometer/Mile conversion公里/英里转换 1O.Wheel Circumeference Setting 车轮周长设置 11.LCD Auto Clear 显示屏自动清除 12.Speed Trend 速度趋势 13.Auto Stop/Start自动开关 Main Units主件 1.Liquid Crystal Display液晶显示器 2.Mode Button模式按钮: use to Select the functions 用于选择功能 3.Set Button设置按钮: use to set the digit 用于设置数字 4.Battery Case Over电池盒 5.Cycle Computer Accessories马表配件 Mounting the cycle computer main unit bracket 安装马表的主件为支架Attach the bracket in the handlebar by means of the screw procided, the enclosed rubber pad can be used if the handle bar shouldn't provide the required thickness, tighten the screw and make sure the bracket is steady. 用螺丝拧支架在车手上,倘若车手管有点细可以用所附的像胶垫塞一下.拧紧螺丝确保支架装牢. Mounting the sensor unit and magnet 安装传感器和磁铁 Attach the magnet to the spoke on the front wheel with the screw. Attach the sensor to the inner side of the front fork, adjust their relative position, ensure that the magnet is directly at the bulge near the top of the sensor and the distance between them is less 5mm. 用螺丝装磁铁在前轮的辐丝上.传感器装到前叉内侧,整调好它们相对应的位置. 确 保磁铁在近于传感器上面及它与传感器的距离少于5MM就可以直接膨胀. Tighten all cable clip and screw to make all parts steady. 系紧线索并且拧紧螺丝,确保所有的零件都固定好 Operation 操作 1.Setting wheel circumference, clock and metric of British unit. 设置轮子周长,时钟,公制或英制.

基于单片机的自行车里程表设计样本

摘要 随着居民生活水平不断提高,自行车不再仅仅是普通运送、代步工具,而是成为人们娱乐、休闲、锻炼首选。自行车里程表可以满足人们最基本需求,让人们能清晰地懂得当前速度、里程等物理量。重要阐述一种基于霍尔元件自行车里程表设计。以AT89C52 单片机为核心,A44E 霍尔传感器测转数,实现对自行车里程/速度测量记录,采用24C02 实当前系统掉电时候保存里程信息,并能将自行车里程数及速度用LED实时显示。文章详细简介了自行车里程表硬件电路和软件设计。硬件某些运用霍尔元件将自行车每转一圈脉冲数传入单片机系统,然后单片机系统将信号通过解决送显示。软件某些用汇编语言进行编程,采用模块化设计思想。该系统硬件电路简朴,子程序具备通用性,完全符合设计规定。 核心词:里程/速度;霍尔元件;单片机;LED显示

Abstract With 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 entertainmenting 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 these 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 informations are 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 meet the demand of design. Key words:Mileage / speed;Hall element;Single Chip Microcomputer;LED

汽车速度里程表的设计

汽车速度里程表的设计 摘要:在车辆高速行驶的过程中,车速里程表是为驾驶员及时提供动态驾驶信息的重要仪表,它的好坏直接影响到车辆行驶安全。而传统的车速里程表存在两大缺陷:一是用软轴驱动的传统车速里程表在车辆高速行驶状态下,软轴高速旋转,由于软轴钢丝应力极限的限制,常常造成钢丝软轴的疲劳断裂,从而使车速里程表失效;二是由于软轴布线过长,出现形变过大和运动迟滞现象,导致动态指示迟钝或指示错误。为了更加及时可靠的为驾驶员提供动态驾驶信息,保证车辆行驶安全,客服传统软轴驱动车速里程表故障率高、动态指示迟钝等问题,运用先进的电子技术、传感器测量技术和计算机智能技术,改进传统的里程表是非常必要的。 关键字:单片机,霍尔传感器,车速里程表 Abstract:In the process of high-speed vehicles, vehicle speed odometer is important instrument driver to provide dynamic driving information, which directly affects the running safety of vehicles. The speedometer tradition has two defects: one is the traditional speedometer flexible shaft driving the vehicle high speed running condition, the shaft rotating speed, the flexible shaft steel wire stress limit, often resulting in fatigue fracture of the wire flexible shaft, so that the speedometer failure; two is a flexible wiring is too long due to deformation, appear too large and the motion lag, lead to dynamic indicating slow or indication error. In order to be more reliable and timely to the driver's driving dynamic information, guarantee the driving safety, the problem of high failure rate, the speedometer dynamic indicating slow traditional flexible shaft driving, the use of electronic technology, sensor technology and computer intelligence technology advanced, the improvement of the traditional odometer is very necessary. Key words:The microcontroller, hall sensors, memory,The speedometer

电子车速里程表的设计开题报告综述

毕业(设计)论文 开题报告 论文题目电子车速里程表 院(系) 宁夏理工学院 专业自动化 学生姓名赵龙 班级自动化08102 指导教师牛少杰

开题报告 学号0810******** 姓名赵龙指导教师牛少杰系别电气信息工程系专业/班级自动化08102 毕业设计(论文)题目电子车速里程表 题目类型√工程设计□技术开发□软件工程□理论研究和方法应用□管理模式设计□其他 选题目的及意义本次设计的意义目的有以下几方面: 1、深刻理解单片机串口并口中断等方面的知识,微机小系统的设计。 2、学习并运用电路硬件方面的知识,如信号的放大过滤,如何让传感器存储芯片或其他器件在合适的电压电流下工作。 3、运用C语言在单片机上编程。如信号的检测,按键消抖,模数转换,液晶显示,子程序结构程序设计的运用。 4、设计一种体积小,功耗低,功能多,性能稳定,性价比高的电子车速里程表,促进汽车电子仪表的发展。

设计(研究)现状和发展趋势 随着汽车工业发展,电子式仪表及新型传感器是各类车型汽车的首选配套产品,市场前景广阔。目前国外汽车车速里程表已广泛采用电子式机芯结构,而国内汽车仪表一直是机械式车速里程表的天下,少数采用动圈式电子仪表。国外电子产品占整车成本的30%,然而我国汽车行业起步较晚,技术十分落后,电子产品仅占整车成本的5%。例如国外汽车早已装配电子式仪表,而我国汽车仍在应用传统的机械仪表,可靠性很差。目前汽车仪表控制电子化是一种发展趋势,由先进的传感器与显示装置构成的电子仪表已开始全面取代传统的机电式仪表,成为现代汽车的明显标志。 一般汽车的常规仪表有车速里程表、转速表、机油压力表、水温表、燃油表、充电表等。仪表板中最常用的是车速里程表,目前很多轿车仪表已经使用电子车速表,它通过变速器上的速度传感器获取信号,通过脉冲频率的变化使指针偏转或者显示数字。随着汽车电子半导体技术的发展,多功能、高精度、高灵敏度、读数直观的电子数字显示及图像显示的仪表已不断应用于汽车。汽车仪表的功能已不仅仅是单纯的显示,而是通过对汽车各部件参数的监测和计算机处理相配套,从而达到控制汽车各种运行工况的目的。因而电子式里程表的广泛应用将会很大的提高中国的汽车电子技术水平。

自行车里程表_数电实验

数字类:自行车里程表 一、课程设计要求 (一)设计任务 设计、制作一个根据车轮周长、辐条数等参数来记录行驶里程的简易里程表。 要求具有可调整的手段,以适应不同车型。 (二)参考设计方案 1、首先使用红外光电传感器对转动的车轮辐条进行测量,产生基本技术脉冲。若以0.1公里作为里程表的计数单位,则需测量出车轮的周长、一周有多少根辐条、没走0.1 公里要有多少根辐条通过传感器。若将此计数值转化为里程表的一个计数脉冲,提供给一个多位十进制里程计数器,则记录分辨率就为0.1公里,最后由多位数码管显示出来。 2、框图:

(三)设计要求 1、显示数字为3位,精度为0.1公里,即(00.0——99.9公里)。 2、数码管要有小数点,即个位与十位间的小数点要亮起来。 3、要标明你所设计的条件(轮周长、辐条数等),给出根据条件不同进行调 整的方法。 4、结构简单、所用芯片尽量少、成本低、易于制作。 5、所用芯片与元件尽量在参考元器件围选择(实验室没有的需自行解决) 6、要制作一个模拟的(或真实的)测试模型,以便进行实际的测试。尽量 做到结构合理、可靠,结构设计要作为考核的重要部分。 (四)发挥部分 从使用角度考虑,尝试加上你认为可以完善、改进的功能(如节电功能、显示清零等)。 (五)参考元件 CD40106;CD4518(或CD4017,74LS161等);74LS21,74LS08,CD4011(或74LS00);CD4553,CD4543;共阴(共阳)数码管;NPN(PNP)开关管;红外光电传感器等;电阻,电容若干

二、设计方案及仿真 (一)实验初步设计 由题可知,该实验主要分为4个部分:红外传感器及脉冲整形电路、轮辐计数电路、0.1公里计数电路、数码管显示电路(包括译码驱动)。 首先要将红外传感器接收到的轮辐脉冲整形成为规则的方波,整形可以用施密特触发器,当车的轮辐扫过红外传感器后,红外传感器将感应得到的脉冲送到施密特触发器进行整形,然后接入设计的轮辐计数器中,后经过轮辐计数器与0.1公里计数器完成计数,再由数码显示管显示里程。 根据提供的参考元件,初步确定了以下方案: 以CD40106为脉冲整形,若干CD4518作为轮辐计数器,CD4553为三位十进制计数器作为0.1公里计数电路,即从00.0计到99.9,CD4543作为7段共阴数码管驱动芯片,LG5631AH作为共阴数码显示管显示里程。 根据车轮半径以及车轮转动一周红外传感器感应到的辐条数,可以计算出每走0.1公里要有多少根辐条通过传感器,从而确定进制及所需CD4518数量。 在我们的实验中按照车轮的辐条数n=28,半径D=49cm计算。 车轮周长C=πD=3.1415926×49cm=1.539m 设轮辐计数器为N进制,有C/n×N=100m 解得: N=910 可得脉冲计数器为910进制,即每当传感器感应到910根辐条时系统应记0.1公里,计数器自动清零,周而复始从而达到计数的目的,CD4518一片里面有两个计数电路,共需三个计数电路即两片CD4518。 (二)红外光电传感器及脉冲整形电路 1.设计要求:当轮辐扫过红外传感器后,接收到的脉冲信号通过施密特触发器进行整形,得到标准的方波信号,再输入到轮辐计数器中。 2. 实现:输入脉冲由红外传感器提供,通过光偶的传递将信号输入到 CD40106中进行整形得到规则的方波信号。 上图为红外光电传感器的输出脉冲 下图为经过施密特触发器整形过后的规则方波信号 3.芯片资料及部分电路 1)红外光电传感器由光耦合器发光二极管和光敏晶体管组成,其输出特 性与晶体管相似,但其电流传输比I C /I D 比晶体管的电流放大倍数β小得 多,一般只有0.1~0.3,响应时间一般约为10μs。 2)CD40106芯片资料 CD40106引脚图

基于单片机自行车的里程测速仪

《基于单片机的 自行车里程表、测速仪》单片机大作业 09电子2班 薛强 学号:423

目录摘要 第一章系统设计 1.1 设计任务和要求 1.1.1设计任务 1.1.2 基本要求 1.2 总体设计方案 1.2.1系统总体设计思路 1.2.2方案设计与讨论 1.3功能描述 1.4操作说明 1.5结构框图 1.6原理说明 第二章硬件设计 2.1 硬件电路 2.2 主要元件介绍 第三章软件设计 3.1 系统主程序流程图 3.2 仿真截图 3.3 源程序代码

基于80C51单片机的 自行车里程表、测速仪 摘要:本文介绍了一种基于单片机控制的简易自动自行车速度以及里程计算系统,包括自行车里程表的硬件构成,软件逻辑以及程序代码。该里程测速系统以AT89C51作为系统控制核心,采用光电传感器来检测信号,通过一定时间间隔内对信号的采集,结合自行车本身车轮参数,经过单片机对采集信号进行分析计算,最终在LCD以及LED上显示车辆行驶里程、平均速度和瞬时速度,并且具有超速报警功能。 关键词:自行车测速;单片机;光电传感器,LCD/LED显示 一、系统设计 1.1 设计任务和要求 1.1.1设计任务 设计一个自行车里程表、测速仪,可以将自行车一段时间内的行驶里程,瞬时速度,平均速度在LCD上显示出来,有一个能用LCD显示的腕式自行车里程显示器,传感器采用霍尔元器件,安装在自行车的车轮上; 1.1.2 基本要求 能实时显示当前的车速和行驶里程; 能去除或保留原先的里程数; 电池供电。 1.2 总体设计方案 1.2.1系统总体设计思路 本系统实现自行车运行过程中对行驶里程、当前瞬时速度、平均速度进行测量和显示。总体设计思路如图1所示。系统包括控制器模块、信号检测采集模块、显示模块、电源模块四部分。

开题报告 电子式里程表.pdf

计算机系毕业设计 开题报告 报告日期:2004 年 3 月26日 姓名:李林学科专业:自动化 论文题目:电子式里程表 题目类型:工程设计 题目来源:结和生产实际 一、在选题过程中已查阅的文献资料(列出文献资料),还做了哪些调研、准备工作? [1] 吴绍琳.孙祖达.检测与转换技术[M]. 西安:西安交通大学出版社,1990:432~437 [2] 梁森.王侃夫.黄杭美. 自动检测与转换技术[M].北京:机械工业出版社,2002:155~156 [3] 刘灿军.实用传感器[M].北京:国际工业出版社,2004:237~243 [4] 戴焯.传感与检测技术[M].武汉:武汉理工大学出版社,2003:123~124 [5] 宋文绪.杨帆.传感器与检测技术[M].北京:高等教育出版社,2004:269~272 [6] 陈润泰.许琨.检测技术与智能仪表[M]. 长沙:中南工业大学出版社,1995:79~167 [7] 张福学.传感器应用及其电路精选(上册)[M].北京:电子工业出版社,1992:48~53 [8] 白驹珩.雷晓平.单片计算机及其应用[M].成都:电子科技大学出版社,2003:18~145 [9] 朱定华. 微机原理与接口技术[M].北京:北方交通大学出版社, 2002:45~87 [10] 黄遵熹. 单片机原理接口与应用[M]. 西安:西北工业大学出版社,2000:113~114 [11] 徐惠明.安德宁.单片微型计算机原理[M].北京:北京邮电学院出版社,1992:147~149 [12] 田良.王尧. 综合电子设计与实践[M]. 南京:东南大学出版社, 2002:29~188 [13] Lyshevski,Sergey Edward,Control Systems Theory with Engineering Applications[M], Boston:Birkhauser Boston,2001:63~128

基于单片机的自行车速度及里程表设计

毕业论文(设计) 题目:基于单片机的自行车速度及里程表设计 系部名称:信息工程系专业班级:电气102 学生姓名:曹康学号: 201007084218 指导教师:姜宏伟教师职称:副教授 201 年月日

摘要 随着自行车行业和电子技术的发展,自行车里程速度计技术也在不断进步和提高,用户对自行车里程速度计的要求也越来越高,因此设计了自行车里程速度计。本文主要研究了以单片机为基础的自行车里程速度器的设计。采用STC89C52单片机为主要控制芯片,运用自行车车轮上的传感器进行计数,通过一定时间间隔对信号的采集,结合自行车本身车轮参数,经过单片机对采集信号进行分析计算,最终在液晶显示器LCD上显示车辆行驶的里程和速度,同时运用其他按键分别自行车单里程计数,瞬时速度、最大速度和平均速度显示以及超速报警。该设计重点阐述了系统的工作原理、硬件构成、各部分的主要功能以及软件的结构和实现。自行车里程速度计的设计本着安全、方便、节能、人性化的原则进行,可使现代生活显著提高。 关键词:自行车,STC89C52, LCD1602,霍尔传感器

Bicycle mileage velocity meter based on MCU ABSTRACT Along with the development of the bicycle industry and electronic technology, bicycle speedometer technology is also in constant progress and improve, user demand for bicycle mileage is more and more is also high, so I chose bicycle mileage speedometer This article mainly introduced take the monolithic integrated circuit as the foundation rental car fare register design. Uses the 89C52 monolithic integrated circuit for the primary control chip, using the pressed key signal imitation rental car wheel counting signal, simultaneously utilizes other pressed keys to control the rental car movement to carry passengers separately/the spatial vehicle condition, the kilometer idea regulation/waiting time and the traveling schedule expense amount to the demonstration. The system used three groups of nixietubes, the utilization dynamic display technology has demonstrated the distance in kilometer, the standby period and the expense separately. Meanwhile carries on the design using the software programming to the monolithic integrated circuit timer, produces the waiting timed pulse signal. this article elaborated with emphasis system's principle of work, the hardware constitution, various part of major functions as well as software's structure and realizes. The mileage log system with STC89C52 as control core, using sensors to detect signals, by a certain time interval signal collection, in combination with itself, bicycle wheel parameters through single chip microcomputer for the analysis of the collected signal, finally displayed on the LCD screen LCD vehicle mileage and speed, overspeed alarm。The design of this multi-function window will be in line with the principles of safe, convenient, energy saving, user-friendly, and it will make modern life significantly improved. Keywords:Bicycle;STC89C52; LCD1602;Hall sensor

简易自行车数字里程表设计

本科毕业论文 题目:简易自行车数字里程表设计

摘要 本文对自行车里程表的结构、设计原理进行了介绍,并应用芯片LM339和AT89S51设计、制作了自行车里程表。文章介绍了所用芯片的存储结构、各管脚的功能,对各个模块的工作原理进行了分析。并对自行车里程表进行了展望。 本文先对里程表设计当中所需设备作了详细介绍,对设计中存在的问题进行了说明;而后对硬件和软件部分的设计和实现作了认真的分析;然后给出了系统的建模过程及相应的系统模型,在此基础上进行了控制仿真,并对仿真效果进行了比较。 本里程表的设计具有结构简单,成本低廉,显示清晰,稳定可靠等优点。并且可进行扩充,加入时速表的功能,更加方便的了解你现在所处的情况。 【关键词】光电对管;单片机A T89S51 ;LM339;键盘;

Abstract In this paper, the structure and principle of traditional bicycle odometer are introduced, and applying LM339 and ATS89S51 has designed and made a bicycle odometer .The article has introduced what be memory structure of used chip , every function of pin ,and has carried out analysis on operating principle of each modules, and has been in progress to design of bicycle odometer to look into the distance. This article first right Odometer designs required equipment, details of the design issues of; Later on hardware and software design and implementation carefully analyzed; Then the system modeling process and the corresponding model, based on the control simulation, Simulation results also were compared. Odometer the design of the structure is simple, low cost, showing clear, stable and reliable results. And can be expanded to speed the function table and more convenient understand you are now stand. Keywords: photoelectric cell; AT89S51;LM339; keys;

相关文档