【精品】单片机设计自行车里程速度计

更新时间:2023-07-20 19:25:01 阅读量: 实用文档 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

单片机中自行车速度、里程计的设计

摘要

随着居民生活水平的不断提高,自行车不再仅仅是普通的运输、代步的工具,而是成为人们娱乐、休闲、锻炼的首选。自行车里程/速度计能够满足人们最基本的需求,让人们能清楚地知道当前的速度、里程等物理量。本论文主要阐述一种基于霍尔元件的自行车里程/速度计的设计。以 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.

Keywords: Mileage speed; Hall element; Single Chip Microcomputer; LED

引 言

随着居民生活水平的不断提高,自行车的使用不再仅仅是普通的运输、代步的工具,而是成为人们娱乐、休闲、锻炼的首选工具。因此,人们希望自行车的功能更强大,能给人们带来更多的方便。自行车里程、速度计作为自行车的一大

辅助工具也正是随着这个趋势而迅速发展的,其功能也逐渐从单一的里程显示发展到速度、时间显示,甚至有的还具有测量骑车人的心跳、显示骑车人热量消耗等功能,让人能清楚地知道当前的速度、时间、里程等物理量。本设计采用了MCS—51系列单片机设计一种体积小、操作简单的便携式自行车里程速度计,它能自动地显示当前自行车行走的距离及运行的速度,本设计还带有超速声光报警提示、切换显示时蜂鸣提示,能给骑车人带来很大的方便。

一、设计任务及要求

以AT89C52单片机为核心,采用霍尔传感器,实现对自行车行驶里程、速度的测量,并能选择显示自行车行驶里程值。可以实现对自行车车轮大小的设置等。自行车超过一定限速时可以进行声光报警提示。

二、电路原理

外中断用于对轮子圈数的计数输入,轮子每转一圈,霍尔传感器输出一个低电平脉冲。根据脉冲信号的个数计算出里程,并送数码管显示;外中断用于控制定时器T1的启停,当输入为0时关闭定时器。此控制信号是将轮子圈数的计数脉冲经二分频后形成,这样每次定时器T1的开启时间正好为轮子转一圈的时间,根据轮子的周长就可以计算出自行车的速度。电路如图1所示。P0口和P2口用于七段LED数码管的段码及扫描输出。P1.0口和P1.1口分别用于显示里程状态和速度状态。P1.2,P1.3,P1.6和P1.7口分别用于设置轮圈的大小。P3.0口的开关用于确定显示的方式。当开关闭合时,显示速度;断开时,显示里程。11脚(TXD)输出用于速度超速时的报警。

电路原理图(图1)

三、硬件系统设计

以AT89C52单片机为核心,A44E霍尔传感器测转数,实现对自行车里程速度的测量统计,采用24C01实现在系统掉电的时候保存里程信息,并将自行车的里程数及速度用LED实时显示。利用霍尔元件将自行车每转一圈的脉冲数传入单片机系统,然后单片机系统将信号经过处理进行编程。

1、芯片的选择

AT89C52是一个低电压,高性能CMOS 8位单片机,片内含8k bytes的可反复擦写的Flash只读程序存储器和256 bytes的随机存取数据存储器(RAM),器件采用ATMEL公司的高密度、非易失性存储技术生产,兼容标准MCS-51指令系统,片内置通用8位中央处理器和Flash存储单元,功能强大的AT89C52单片机可为您提供许多较复杂系统控制应用场合。

AT89C52有40个引脚,32个外部双向输入/输出(I/O)端口,同时内含2个外中断口,3个16位可编程定时计数器,2个全双工串行通信口,2个读写口线,AT89C52可以按照常规方法进行编程,但不可以在线编程(S系列的才支持在线编程)。其将通用的微处理器和Flash存储器结合在一起,特别是可反复擦写的Flash存储器可有效地降低开发成本。

AT89C52有PDIP、PQFP/TQFP及PLCC等三种封装形式,以适应不同产品的需求。

主要功能特 兼容MCS51指令系统;

8k可反复擦写(>1000次)Flash ROM;

32个双向I/O口;

256x8bit内部RAM;

3个16位可编程定时/计数器中断;

时钟频率0-24MHz;

2个串行中断;

可编程UART串行通道;

2个外部中断源;

共8个中断源;

2个读写中断口线;

3级加密位;

低功耗空闲和掉电模式;

软件设置睡眠和唤醒功能。

功能特性

AT89C52提供以下标准功能:8字节FLASH闪速存储器,256字竹内部RAM , 32个I/O口线,3个16 位定时/计数器,一个6向量两级中断结构,一个全双工串行通信口,片内振荡器及时钟电路。同时,AT89c52可降至OHz的静态逻辑操作,并支持两种软件可选的节电上作模式。空闲方式停止CPU 的工作,但允许RAM,定时/计数器。串行通信口及中断系统继续工作。掉电方式保存RAM 中的内容,但振荡器停止工作并禁止其它所有部件工作直到下一个硬

件复位。

2、结构框图

结构框图(图2)

按键控制部分功能:自行车转圈的大小设置,速度、里程显示选择设置。 指示灯部分功能:里程状态和速度状态显示。

报警部分功能:超速时采用声音报警提示。

里程、速度测量电路部分功能:速度及里程传感器采用霍尔传元件,实现对自行车里程及速度的计算。

显示部分功能:速度、里程用数码管动态扫描显示,由P0口送出段码,P2口送出位选信号。

四、软件系统设计

1、初始化程序:在本系统初始化程序中,主要完成以下工作:将T1设为外部控制定时器方式;外中断0及外中断1设为边沿触发方式;将部分内存单元清0;设置轮子周长值;开中断能定时器;轮圈设置出错处理程序。P1.2、P1.3、P1.6和P1.7口的开关用于设定轮子的周长,当没有设定时(至少让一个开关闭合),能从引脚11输出一个同期为0.5S的方波信号,用作发光管闪烁及蜂鸣器提醒。

2、主程序:主程序根据引脚10的开关状态选择里程显示或速度显示。(流程图见图3)

3、里程计数程序(外中断0服务程序):外中断0服务用于对阴极2脚输入的圈脉冲进行计数,为十六进制计数器。60H为低位,62H为高位。每计数一次后,对里程数据进行一次存储操作。

4、外中断1服务程序:外中断1服务程序用于处理轮子转动一圈后的计数数据。当标志位(00H)为1时,说明计数器溢出,放入最大时间值(为#0FFH);当标志位为0时,将计数单元(TL1、TH1、)的值放入68H-69H单元。

5、显示子程序:当显示里程时, 先要将圈数计数器中的数据进行运算,求出总里程(km)。当要显示速率时,要将轮子的周长和转一圈的时间数相除,然后换算成Km/h单位。最后放入70H--72H,进行数据的显示。

以下为控制系统源程序节选

; 60H,61H,62H作里程计数单元,6CH,6DH作T1计数扩充单元, ; 68H,69H,6AH,6BH存放自行车每圈时间数,70H,71H,72H,73H ; 做显示BCD码存放数用,11H-15H存放被除数,16H-19H存放除数 ;

;定义

VSDA EQU P1.5 ;EEPROM数据传送口

VSCL EQU P1.4 ;EEPROM时钟传送口

SLA EQU 50H ;EEPROM器件寻址字节存放单元 NUMBYT EQU 51H ;EEPROM传送字节数存放单元 MTD EQU 30H ;EEPROM发送数据缓冲单元 MRD EQU 40H ;EEPROM读出数据存放单元 SLAW EQU 0A0H ;EEPROM寻址字节写

SLAR EQU 0A1H ;EEPROM寻址字节读

DPHH EQU 62H ;DPTR计数扩展高8位

TH1H EQU 6CH ;定时器T1扩展高8位

TH1HH EQU 6DH ;定时器T1扩展高8-16位

……

……

……

五、调试

在调试的过程应注意单片机AT89C52第31脚要接高电平,电源电压一般在5V左右。传感器的安装与调试是一个关键,将它安装在前轮的位置,把一块小永久磁铁固定在车轮的辐条上,AH20作防潮密封后固定在前叉上,使得车轮转动时磁铁从它的前面经过,并使两者相遇时间隔尽量小。安装时,要使磁铁的S极面向AH20的正面。判定磁铁极性方法是:把磁铁的两个极分别靠近AH20的正面,当其3脚电平由高变低时即为正确的安装位置。传感器安装完成后,转动车轮,AH20的3脚应有脉冲信号输出,否则说明两者的间隔偏大,应缩小距离,直至转动时3脚有脉冲信号输出为止。一般间隔为5mm左右,如果间隔小于5mm仍无脉冲信号输出,说明磁铁的磁场强度偏小,应予以更换。

参考文献

附录

六、结束语

本设计采用简单可靠的霍尔元件传感器和AT89C52单片机系统实现了自行车里程、速度的实时测量,测得的数据由LED数码管显示,切换显示时采用发光二极管提示,超速时采用蜂鸣器报警提示。是以AT89C52单片机为核心,可以实现对自行车行驶里程、速度的测量的自行车里程速度计。

本文来源:https://www.bwwdw.com/article/5331.html

Top