基于51单片机自行车码表霍尔测速里程显示超速报警方案原理图设计 您所在的位置:网站首页 自行车码表原理图解 基于51单片机自行车码表霍尔测速里程显示超速报警方案原理图设计

基于51单片机自行车码表霍尔测速里程显示超速报警方案原理图设计

2024-06-06 22:18| 来源: 网络整理| 查看: 265

硬件电路的设计

(下方附文件) 系统的功能分析及体系结构设计 3.1.1系统功能分析 本设计由STC89C52单片机核心电路+DS1302时钟电路+5V电机调速控制电路+霍尔测速电路+蜂鸣器报警电路+按键电路+LCD1602液晶显示电路+电源电路组成。 1、通过时钟芯片DS1302获取时间。 2、LCD1602可以显示当前的速度,里程,时间。 3、按键功能:从左边第一个起,减键、加键、选择键、设置键。 4、可以通过电位器对电机进行调速。 5、具有超速报警功能,可以设置报警速度,当实际的速度大于当前的速度时就会由蜂鸣器产生报警。 6、可以查看总路程,并且可以对总路程进行清零操作。 7、可以按键修改当前的时间。 3.1.2系统总体结构 本系统具体框图如下图所示: 在这里插入图片描述

原理图: 在这里插入图片描述 DS1302时钟电路设计 DS1302是美国DALLAS公司推出的一种高性能、低功耗、带RAM的实时时钟电路,它可以对年、月、日、周、时、分、秒进行计时,具有闰年补偿功能,工作电压为2.0V~5.5V。其电路的接口简单、价格低廉、使用方便,被广泛地采用。DS1302具有涓细电流充电能力的电路,主要特点是采用串行数据传输,可为掉电保护电源提供可编程的充电功能,并且可以关闭充电功能。采用普通32.768kHz晶振。采用三线接口与CPU进行同步通信,并可采用突发方式一次传送多个字节的时钟信号或RAM数据。DS1302内部有一个31×8的用于临时性存放数据的RAM寄存器。DS1302是DS1202的升级产品,与DS1202兼容,但增加了主电源/后备电源双电源引脚,同时提供了对后备电源进行涓细电流充电的能力。通过DS1302芯片为本设计提供时间数据。在本电路中,选择32.768KHZ晶振为DS1302提供时钟源,3V纽扣电池保证了DS1302掉电不丢失时间数据,电阻均为上拉电阻,使得DS1302工作更稳定。其电路原理图如下图所示。

在这里插入图片描述 A3144霍尔传感器芯片电路设计 霍尔元件是一种基于霍尔效应的磁传感器,已发展成一个品种多样的磁传感器产品族,并已得到广泛应用。霍尔元件是一种磁传感器。要他们可以检测磁场及其变化,可以在各种与磁场有关的场合中。霍尔器件以霍尔效应为其工作基础。霍尔线性器件的精度高、线性度好。A3144霍尔开关元件属于开关型霍尔传感器(集成霍尔开关),它是把霍尔片产生的霍尔电压放大后驱动触发电路,输出电压是能变化化的方脉冲。霍尔转速传感器的外形图和与磁场的作用关系如下图所示。磁场由磁钢提供,所以霍尔传感器和磁钢需要配对使用。在非磁材料的圆盘边上粘贴一块磁钢,霍尔传感器固定在圆盘外缘附近。圆盘每转动一圈,霍尔传感器便输出一个脉冲。通过单片机测量产生脉冲的频率就可以得出圆盘的转速。

系统软件设计

在这里插入图片描述

#include //调用单片机头文件 #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; //要确定车子是否停下了 unsigned char plu; uint juli_s; //每秒走的距离 uint juli_z; //总路程 float zhijing = 0.55; //直径 0.55M bit flag_1s = 1; //1s uchar menu_1; //菜单设置变量 uchar menu_2; //菜单设置变量 long zong_lc; //总量程 uchar flag_200ms; uint shudu; //定义速度的变量 uint bj_shudu = 40; //报警速度 //这三个引脚参考资料 sbit rs=P2^4; //寄存器选择信号 H:数据寄存器 L:指令寄存器 sbit rw=P2^5; //寄存器选择信号 H:数据寄存器 L:指令寄存器 sbit e =P2^6; //片选信号 下降沿触发 uchar code table_num[]="0123456789abcdefg"; uchar i; sbit beep = P3^7; //蜂鸣器IO口定义 /******************1ms 延时函数*******************/ void delay_1ms(uint q) { uint i,j; for(i=0;i


【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有