基于51单片机的自行车里程表

发布者:科技奇思最新更新时间:2021-10-23 来源: eefocus关键字:51单片机  自行车里程表  LCD1602 手机看文章 扫描二维码
随时随地手机看文章

一.硬件方案

本设计的硬件主要由51单片机+最小系统+LCD1602液晶显示模块+霍尔测速模块+电机模块+电位器调速模块+蜂鸣器模块+LED指示灯模块+按键模块+时钟模块+AT24C02存储芯片:

二.设计功能

(1)采用霍尔传感器非接触式测电机转速;

(2)电机(3v直流小电机)的速度可通过电位器调节速度,来模拟自行车速度快慢;

(3)采用DS1302时钟芯片准确计时,AT24C02掉电存储设置的数据;

(4)采用LCD1602液晶显示,年月日、时分、星期、总里程、当前速度;

(5)按键可以设置时间、轮胎半径和超速报警值;

(6)四个按键功能:设置时间、加、减、设置半径,加减键同时按下可清零里程。


三.设计原理图

(1)原理图主要采用AD软件进行设计,如图:

(2)Protues仿真图如下:

(3)PCB图如下:

四.软件设计

主程序源码


void main()

{

//初始化

Ds1302_Init();

lcd_init();

initeeprom();

//读取初始参数

READS();

//定时器初始化

// InitTimer0();

init();

lcd_init();

before_sec=time_buf1[6];

while(1)

{

if(Mode==0&&bike_set==0)

{

display();

BJ_SAFE();

}

KEY();

}

}


void EXINT0() interrupt 0

{

count++;

}


void time0() interrupt 1

{

uchar m,n;

TH0=0x3c;

TL0=0xb0; //50ms

m++;

if(LED_SEC==1)

{

n++;

if(n>=10)

{

n=0;

LED_SEC=0;

}

}

if(m>=10)

{

m=0;

Mileage=Mileage+10*(Velocity/3.6)/2; //里程m=里程+速度km/h/3.6/2

Velocity=count *2*3.14*RADIUS /100000*2*3600  /40;//将500ms的距离经过运算得到km/h,将速度/100,方便显示

count=0;

}

}

关键字:51单片机  自行车里程表  LCD1602 引用地址:基于51单片机的自行车里程表

上一篇:基于51的单片机GPS定位系统设计
下一篇:基于51单片机的蓝牙电子秤设计

推荐阅读最新更新时间:2024-11-12 12:24

51单片机程序——按键控制单个数码管显示
#include reg52.h unsigned char code table ={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90,};// 显示数值表0-9 void main (void) { while(1) //主循环 { P1 = 0x01; //打开数码管的位选 P3 = 0xff; switch(P3) //P3口作为独立按键输入端,检测端口电平并做如下判断
[单片机]
39-基于51单片机的热敏电阻测温设计
具体实现功能 系统由STC89C52单片机+热敏电阻+TLC2543AD模块+LCD1602显示模块+报警模块+电源构成。 具体功能: 1、LCD1602显示测得的温度值与设定的温度范围 2、按键可以设置温度范围; 3、超过设置的温度范围,开始报警; 共3个按键:设置、加、减。 设计背景 在人类的生活环境中,温度扮演着极其重要的角色。无论你生活在哪里,从事什么工作,无时无刻不在与温度打着交道。自18世纪工业革命以来,工业发展对是否能掌握温度有着绝对的联系。在冶金、钢铁、石化、水泥、玻璃、医药等等行业,可以说几乎80%的工业部门都不得不考虑着温度的因素。温度对于工业如此重要,由此推进了温度传感器的发展。
[单片机]
39-基于<font color='red'>51单片机</font>的热敏电阻测温设计
8051单片机指令和寻址方式
80C51指令系统专用于80C51系列单片机,具有255种操作码(00H-FFH)除去A5H。 1. 寻址方式 寻址方式就是指指令中给出寻找操作数或操作数所在地址的方法,执行任何指令都需要操作数。 1)立即寻址 MOV DPTR,#1234H; 立即寻址是指在指令中直接给出操作数,出现在指令中的操作数称为立即数,因此被称为立即寻址。 2)直接寻址 MOV A,3AH; 直接寻址是指在指令中直接给出操作数单元地址。功能是将片内RAM的3AH单元内的数据传送内累加器A。 直接寻址方式只能给出8位地址,因此这种寻址方式的寻址范围只限于片内RAM。具体:a.低128单元,在指令中直接以单元地址的形式给出;b.特殊功能寄存器,即可以以单元地
[单片机]
51单片机中断寄存器组选择
大家都知道51单片机有的寄存器R0-R7共有四组。最近1年来,我在与新手朋友交流时发现,很多朋友对寄存器组的使用时经常出现问题。虽然这并不是多难的问题,但如果出现错误,也会造成很严重的后果。 首先介绍一下51的寄存器组: 通过设置PSW寄存器的第3位和第4位可以任意切换寄存器组。在进入中断前,切换寄存器组,可以方便的保护原寄存器组的数据不被中断里的语句破坏,很方便。 RS1 RS0 字节地址 0 0 0组寄存器 00H~07H 0 1 1组寄存器 08H~0FH 1 0 2组寄存器 10H~17H 1 1 3组寄存器 18H~1FH RS1=PSW.4 RS0=PSW.3 常见错误有三
[单片机]
基于51单片机的温湿度控制系统
一.硬件方案 本设计采用51单片机每2秒钟从DHT11温湿度传感器中读入温度和湿度,在液晶屏上即时显示。液晶屏上同时显示温湿度上限值,该上限值保存外外部EEPROM存储器中,掉电不失,并且可以通过四只按键上调或下调。当温度或湿度值超过上限值时,报警信号点亮相应报警灯。该报警信号可以通过三极管驱动继电器,以控制外部风机或加热器。 主要由51单片机+最小系统+LCD1602液晶显示模块+温湿度采集模块+继电器驱动模块+风扇模块+LED指示灯模块+按键模块+AT24C02存储模块+蜂鸣器报警模块;如图: 二.设计功能 (1)AT24c02芯片掉电存储设置的上下限。 (2)四个按键为设置、加、减、确定,实现了阀值的调节。 (3)L
[单片机]
基于<font color='red'>51单片机</font>的温湿度控制系统
51单片机的串口结构
说明 目前主要封装了串口1的实例,采用可移植数据类型,可以同步移植到STM32、STM8等单片机; 需自行实现串口接收回调函数内容; 头文件 #ifndef __SERIAL_H__ #define __SERIAL_H__ #include reg52.h #ifndef uint8_t typedef unsigned char uint8_t; #endif #ifndef uint16_t typedef unsigned int uint16_t; #endif #ifndef uint32_t typedef unsigned long uint32_t; #endif /* 晶振频率 */ #
[单片机]
51单片机入门教程(2)——实现流水灯
一、搭建流水灯电路 在Proteus中搭建流水灯电路如图 二、流水灯程序 我们可以把流水灯看作依次点亮若干个灯。 程序如下: #include reg52.h sbit led1 = P2^0; sbit led2 = P2^1; sbit led3 = P2^2; sbit led4 = P2^3; sbit led5 = P2^4; sbit led6 = P2^5; sbit led7 = P2^6; sbit led8 = P2^7; void main() { //点亮第一个灯 led1 = 1; led2 = 0; led3 = 0; led4 = 0; led5 = 0; l
[单片机]
<font color='red'>51单片机</font>入门教程(2)——实现流水灯
MCS-51单片机实用子程序库(二)
(11) 标号: DIVS 功能:双字节二进制有符号数除法(补码) 入口条件:被除数在R2、R3、R4、R5中,除数在R6、R7中。 出口信息:OV=0时商在R2、R3中,OV=1时溢出。 影响资源:PSW、A、B、R1~R7 堆栈需求: 5字节 DIVS: LCALL MDS ;计算结果的符号和两个操作数的绝对值 PUSH PSW ;保存结果的符号 LCALL DIVD ;计算两个绝对值的商 JNB OV,DVS1 ;溢出否? POP ACC ;溢出,放去结果的符号,保留溢出标志 RET DVS1: POP PSW ;未溢出,取出结果的符号 MOV R4,#0 MOV R5,#0 MDSE: JB F0,MDS2 ;用补码表示结果
[单片机]

推荐帖子

改变的不只是标签 认识神秘的RFID技术
技术发展到一定程度就成为一种法术,RFID是一个典型的例子:一位顾客挑选了装满整整一个购货车的商品,走到超市出口的时候,不需要任何条码扫描,几秒中的功夫,总货款被清清楚楚地显示在屏幕上;当一位顾客穿着“耐克”运动鞋走过一个街头液晶广告牌,原先播放的可口可乐广告一下子切换成阿尔卑斯山的旅游风光片,还有画外音对这位顾客说:“去这么美好的地方,还是穿耐克鞋好。”事实上,RFID本身并非一项特别先进的技术。RFID(RadioFrequencyIdentification)的全称是无线射
JasonYoo RF/无线
触摸键问题请教
请教版主:今年5月份前做了一个触摸键项目用的是103K3做的,项目已做完效果不错,这两天又有一个新项目要用到触摸键,但现在新建工程文件设置好后编译出现以下错误,不知道是怎么回事??请指教??#errorclnkDebug\\example.lkf:1nodefaultplacementforsegment.TSL_IO_ALCODEThecommand:clnk-lC:\\ProgramFiles\\COSMIC\\CXSTM8\\Lib-oDe
63745006 stm32/stm8
2024年软磁柔性石材市场规模与发展趋势分析
软瓷柔性石材具有柔软的特性,可以满足各类异形建筑的设计需求,具备良好的耐候性和耐久性。柔性石材在建筑装饰领域有广泛的应用,包括外墙装饰、内墙装饰、家具饰面等。它能够呈现逼真的石材效果,具有较低的成本和施工效率,同时还具备良好的耐候性。据路亿市场策略调研,2023年全球软磁柔性石材市场规模大约为百万美元,预计2030年达到百万美元,2024-2030期间年复合增长率(CAGR)为%。就销量而言,2023年全球软磁柔性石材销量为,预计2030年将达到,年复合增长率为%。2023
LPI路亿 工控电子
哪位达人知道U盘模拟光驱的原理啊??
在网上可以搜到使用量产工具来实现U盘模拟光驱的教程,可是没有对其原理性的解释……哪位牛人可以告诉我?主控芯片中做了什么改变,存储芯片中做了什么改变?仅仅是文件系统格式的问题??哪位达人知道U盘模拟光驱的原理啊??好东西,可惜不会;MARK,我也学习下。帮顶下。usb设备上报描述符可以上报成scsi,hid,蓝牙等类型,如果自己做,可以报任何一种类型,别的人硬件就不知道了。没人理……结贴散分走人
robshine 嵌入式系统
【记录】基于ARM,Linux开发——by ywlzh
@ywlzh【记录】--基于ARM,Linux开发前的准备工作ARM,Linux,搭建一个字符设备驱动程序的框架(慢慢改进)ARM,linux开发控制硬件之还是那个LED【记录】ARM-linux开发之按键控制【记录】ARM-Linux开发之输入子系统还是用按键做例【记录】ARM-linux开发之platfrom【记录】ARM-Linux开发之USB驱动鼠标控制【记录-成长】架设一个简单的网络服务器【记录】基于ARM,Linu
okhxyyo ARM技术
MSP430G2553单片机有6种功耗模式
MSP430G2553单片机有6种功耗模式MSP430G2553单片机有6种功耗模式
Aguilera 微控制器 MCU
小广播
设计资源 培训 开发板 精华推荐

最新单片机文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

换一换 更多 相关热搜器件

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved