基于51单片机霍尔自行车码表测速系统电路设计(毕业设计资料)
设计内容:
随着居民生活水平的日益提高,自行车不再仅仅是普通的代步、运输的工具,而是成为人们娱乐、休闲、锻炼的首选。自行车的速度里程表能够满足人们最基本的需求,让人们能清楚地知道当前速度、里程等物理量。目前市面上电动自行车的速度表和里程表都是机械的,看起来不够直观与方便。如果能用数码管直接显示出里程数和速度值,就可以使用户集中精力处理行进过程中的突发事件。
设计要求:
(1)用LCD1602液晶显示当前里程数、速度和时间;
(2)超速报警;
(3)里程可累计,可清零。
3.设计思路
系统的硬件设计
系统硬件框图如图1所示,主要由光电传感器电路、信号处理电路、按键、显示以及EEPROM构成。利用传感器,进行非接触式检测,将不同车速转换成不同频率的脉冲信号,信号处理电路是将传感器的输出信号整形成单片机可以识别的TTL电平,单片机根据输入脉冲信号的频率计算
出当前速度和行驶的里程,走过的里程送单片机内部EEPROM中存储,通过显示器将当前的速度显示出来。该系统的框图如下图所示。 按键
霍尔传感器 单片机 1602显示
时钟电路
图1 系统硬件框图
系统软件设计
本系统软件采用模块化设计方法。整个系统由初始化模块、频率测量模块、速度,里程计算模块、速度显示模块、里程显示模块、数据存储,读取模块、定时器中断服务模块以及其他功能模块组成。
4.预期成果
毕业论文一份;自行车里程表一个。
【资源下载】下载地址如下:
https://docs.qq.com/doc/DTlRSd01BZXNpRUxl
#include <reg52.h> //调用单片机头文件
#define uchar unsigned char //无符号字符型 宏定义 变量范围0~255
#define uint unsigned int //无符号整型 宏定义 变量范围0~65535
sbit clk = P1^3; //ds1302时钟线定义
sbit io = P1^4; //数据线
sbit rst = P1^5; //复位线
//秒 分 时 日 月 年 星期
uchar code write_add[]={0x80,0x82,0x84,0x86,0x88,0x8c,0x8a}; //写地址
uchar code read_add[] ={0x81,0x83,0x85,0x87,0x89,0x8d,0x8b}; //读地址
uchar code init_ds[] ={0x55,0x17,0x15,0x01,0x01,0x13,0x13};
uchar miao,fen,shi,ri,yue,week,nian;
uchar i;
uchar t1_num,t2_num; //计时间中断的次数
unsigned long speed1,juli,time2;
float f_hz ,speed_km,speed_m;
uchar TH11,TL11;
uchar flag_en; //开始计算速度使能
uchar flag_stop_en; //要确定车子是否停下了