基于51单片机的车速检测【速度,里程,数码管】(仿真) 您所在的位置:网站首页 车速怎么测量 基于51单片机的车速检测【速度,里程,数码管】(仿真)

基于51单片机的车速检测【速度,里程,数码管】(仿真)

2024-07-10 00:57| 来源: 网络整理| 查看: 265

给大家提供一些资料详细解释,有需要的自行提取,网盘地址我放在下面

 链接:https://pan.baidu.com/s/1NigBeujDZTCFL0hdMiu7yg?pwd=syxp  提取码:syxp 

车速测量

1、使用霍尔传感器测量车速,设计调理电路

2、显示车速,统计行驶里程,里程可通过按键清零

#include "lcd1602.h" void delay_uint(uint i) { while(i--); } /******************************************************************** * 名称 : write_com(uchar com) * 功能 : 1602命令函数 * 输入 : 输入的命令值 * 输出 : 无 ***********************************************************************/ void write_com(uchar com) { e=0; rs=0; rw=0; P0=com; delay_uint(20); e=1; delay_uint(20); e=0; } /******************************************************************** * 名称 : write_data(uchar dat) * 功能 : 1602写数据函数 * 输入 : 需要写入1602的数据 * 输出 : 无 ***********************************************************************/ void write_data(uchar dat) { e=0; rs=1; rw=0; P0=dat; delay_uint(20); e=1; delay_uint(20); e=0; } /******************************************************************** * 名称 : write_string(uchar hang,uchar add,uchar *p) * 功能 : 改变液晶中某位的值,如果要让第一行,第五个字符开始显示"ab cd ef" ,调用该函数如下 write_string(1,5,"ab cd ef;") * 输入 : 行,列,需要输入1602的数据 * 输出 : 无 ***********************************************************************/ void write_string(uchar hang,uchar add,uchar *p) { if(hang==1) write_com(0x80+add); else write_com(0x80+0x40+add); while(1) { if(*p == '\0') break; write_data(*p); p++; } } /******************************************************************** * 名称 : init_1602() * 功能 : 初始化1602液晶 * 输入 : 无 * 输出 : 无 ***********************************************************************/ void init_1602() { write_com(0x38); //数据总线为8位,显示2行,5x7点阵 write_com(0x0c); //开显示,有光标,光标闪烁 write_com(0x06); //光标自动右移 delay_uint(1000); //等待设置完成 }

资料借鉴于此纷传



【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

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