单片机设计_自行车码表(AT89C51, LCD1602, DS1302,霍尔传感器)

想要更多项目私wo!!!

一、电路设计

       系统采用51单片机+LCD1602液晶+DS1302时钟模块+霍尔传感器+电机+按键模块+蜂鸣器报警模块设计而成。

        产品自带单片机上电复位电路、手动复位电路(复位按键)、晶振电路(给单片机提供时钟周期)。
      LCD1602可以显示当前的速度,里程,时间。
      可以设置轮子直径。
      具有超速报警功能,可以设置报警速度并具有保存功能,当实际的速度大于当前的速度时就会由蜂鸣器产生报警。
      可以查看总路程。
      可以按键修改当前的时间。
      采用进口时钟芯片DS1302,走时非常精确。板载3V纽扣电池,断电重新上电无需重新设置时间。

二、运行结果

三、部分代码

#include <reg52.h>                 //调用单片机头文件
#define uchar unsigned char  //无符号字符型 宏定义        变量范围0~255
#define uint  unsigned int         //无符号整型 宏定义        变量范围0~65535
#include "eeprom52.h"

/******************主程序**********************/           
void main()
{
        beep = 0;
        delay_1ms(200) ;
        P0 = P1 = P2 = P3 = 0xff;  //IO口初始为电平
        init_ds1302_io();
        init_ds1302();
        init_1602();      //1602初始化
        init_int0();
        time_init();          //定时器0初始化程序
        init_eeprom();         //开机初始化保存的数据*
        while(1)
        {         //  shudu = 11;
                key();                         //按键程序
                if(key_can < 10)
                {
                        key_with();        

                }
                if(flag_200ms == 1)
                {
                        flag_200ms = 0;
                        read_time();                  //读时间
                        if(menu_1 == 0)
                                init_1602_ds1302();   //显示时钟
                        menu_dis();          //计算速度函数
                        clock_h_l();        //报警函数
                }
        }
}


/*********************外部中断0中断服务程序************************/
void int0() interrupt 0
{
        static uchar value;
        switch(value)
        {
                case 0:
                        t1_num = 0;                 //第一次就把变量清零
                        TH1 = 0;
                        TL1 = 0;
                        break;
                case 1:
                                t2_num = t1_num;  //保存
                                TH11 = TH1;
                                TL11 = TL1;
                                flag_en = 1;
                        break;
        }               
        value ++;
        if(value >= 2)
                value =0;
        /************
                2.1   16.6
                2          15.8
                1.9   15.0
        ************/
}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/802789.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

Java面试题--JVM大厂篇之深入解析JVM中的Serial GC:工作原理与代际区别

目录 引言&#xff1a; 正文&#xff1a; 一、Serial GC工作原理 年轻代垃圾回收&#xff08;Minor GC&#xff09;&#xff1a; 老年代垃圾回收&#xff08;Major GC或Full GC&#xff09;&#xff1a; 二、年轻代和老年代的区别 年轻代&#xff08;Young Generation&a…

数据库基础-进阶

数据库管理&#xff1a; *sql语句 数据库用来增删改查的语句 *** 备份 数据库的数据进行备份 * 主从复制&#xff0c;读写分离&#xff0c;高可用 原理 数据库的概念和相关的语法和规范&#xff1a; 数据库&#xff1a;组织&#xff0c;存储&#xff0c;管理数据的仓库。 数据…

Python用Pyqt5制作音乐播放器

具体效果如下 需要实现的功能主要的几个有&#xff1a; 1、搜索结果更新至当前音乐的列表&#xff0c;这样播放下一首是搜素结果的下一首 2、自动播放 3、滚动音乐文本 4、音乐进度条 5、根据实际情况生成音乐列表。我这里的是下面的情况&#xff0c;音乐文件的格式是 歌…

Calibration相机内参数标定

1.环境依赖 本算法采用张正友相机标定法进行实现&#xff0c;内部对其进行了封装。 环境依赖为 ubuntu20.04 opencv4.2.0 yaml-cpp yaml-cpp安装方式&#xff1a; &#xff08;1&#xff09;git clone https://github.com/jbeder/yaml-cpp.git #将yaml-cpp下载至本地 &a…

Fastjson解析JSON时key对应的value存在多个英文双引号解决

情景 如上图所示&#xff0c;经常在解析json时会出现因双引号报错的问题。 fastjson解决方案 JSONObject jsonfile JSONObject.parseObject(json, Feature.OrderedField);JSONArray jsonArray jsonfile.getJSONObject("result").getJSONArray("items");…

Linux网络编程-socket套接字使用详解

1.概念 在Linux中&#xff0c;套接字&#xff08;socket&#xff09;是一种通信机制&#xff0c;用于实现不同进程之间或同一主机上的不同线程之间的数据交换。它是网络编程的基础&#xff0c;允许应用程序通过网络进行通信&#xff0c;也可以在同一台机器上的不同进程间进行通…

ajax实时监控input搜索框并给提示词的事实举例的超全版本(上-不用字典树)

前言 感觉前面直接放概念和字典树还是差了点&#xff0c;有的看了概念还是没有思路的&#xff0c;于是写这篇文章来举例子&#xff0c;首先这不不包含字典树的版本&#xff0c;用字典树的版本等下会发。 需要的技术 jsp和ajax简单的理解&#xff0c;做示例的后端框架是sprin…

物流智能锁在物流锁控中的应用设计方案

一、案例介绍与问题剖析 &#xff08;一&#xff09;案例概述 某知名物流企业&#xff0c;拥有广泛的运输网络和多样化的客户群体&#xff0c;涵盖了制造业、零售业等多个领域。然而&#xff0c;随着业务规模的不断扩大&#xff0c;其在货物锁控方面遇到了一系列棘手的问题。…

Java | Leetcode Java题解之第238题除自身以外数组的乘积

题目&#xff1a; 题解&#xff1a; class Solution {public int[] productExceptSelf(int[] nums) {int length nums.length;// L 和 R 分别表示左右两侧的乘积列表int[] L new int[length];int[] R new int[length];int[] answer new int[length];// L[i] 为索引 i 左侧…

[C++] 深度剖析C_C++内存管理机制

文章目录 内存分布内存分布图解 C语言中动态内存管理方式malloc:callocrealloc C内存管理方式内置类型**自定义类型** operator new & operator deleteoperator new & operator delete函数operator newoperator delete **new T[N]** 与**delete[]** **定位new表达式(pl…

JavaScript基础(十四)

函数 很多人一看到这两个字就头大&#xff0c;可能由于多年被数学摧残有不小阴影&#xff0c;放心&#xff0c;我们这里的函数不是那些东西&#xff0c;在编程中我们的函数指的是: 程序的基本单元&#xff0c;是完成特定任务的代码语句块。 我们在写程序时&#xff0c;可能会…

【保姆级】Python项目部署到Linux生产环境(uwsgi+python+flask+nginx服务器)

1.安装python 我这里是3.9.5版本 安装依赖&#xff1a; yum install zlib-devel bzip2-devel openssl-devel ncurses-devel sqlite-devel readline-devel tk-devel gcc make -y 根据自己的需要下载对应的python版本&#xff1a; cd /usr/local wget https://www.python.or…

springboot机场投诉管理平台-计算机毕业设计源码22030

摘要 随着航空运输业的迅速发展&#xff0c;机场的客流量不断增加&#xff0c;旅客对机场服务的质量和效率也提出了更高的要求。为了提高机场的服务质量&#xff0c;及时处理旅客的投诉&#xff0c;建立一个高效、便捷的机场投诉管理平台显得尤为重要。 本项目旨在设计与实现一…

# ffmpeg 工具使用

文章目录 ffmpeg 工具使用1.图片转换2.图片转视频3.截取片段4. 视频格式转换5. 视频转图片方法一&#xff1a;方法二&#xff1a;生成更清晰无压缩的图片方式&#xff1a; ffmpeg 工具使用 windows安装教程&#xff1a;https://blog.csdn.net/csdn_yudong/article/details/129…

Python一对一辅导答疑|Rust 德国

你好&#xff0c;我是悦创。 下面是答疑内容。 在 Rust 中&#xff0c;方法的调用方式通常取决于它们是如何定义的。在你的例子中&#xff0c;print_drink方法最初是作为一个接受Drink类型实例作为参数的关联函数&#xff08;类似于静态方法&#xff09;定义的。后来&#xff…

紫外测熔融实验结果温度和abs作折线图和求一阶导最大值

import numpy as np import pandas as pd from pyecharts.charts import Line from pyecharts import options as opts from matplotlib import pyplot as plt import xlrd # 读取 csv 文件 data pd.read_excel(F:/LJX/lc8.xls)# 假设 csv 文件中有两列数据&#xff1a;x 和 y…

[transformer] Attention is all you need

1、目的 提出一种新的网络结构&#xff0c;不用CNN或者RNN&#xff0c;只基于self-attention 2、方法 * Norm: Layer Normalization 1&#xff09;Encoder -> -> self-attention的k、v、q来自上一个encoder层 2&#xff09;Decoder -> 由于每个位置i的预测只能参考i…

跨境电商与TikTok达人带货:未来合作模式与市场机遇

随着全球社交媒体技术的不断进步和消费者行为的持续变化&#xff0c;跨境电商与TikTok达人合作的模式正展现出前所未有的多元化和专业化趋势。这种合作不仅推动了品牌的国际化进程&#xff0c;也为消费者带来了更加丰富和个性化的购物体验。本文Nox聚星将和大家探讨未来跨境电商…

php反序列化--1--PHP序列化

目录 一、什么是php序列化&#xff1f; 二、在php中怎么进行序列化&#xff1f; 三、不同数据类型的序列化后的表达方式 1、空-NULL 2、整形 3、浮点型 4、boolean型 5、字符型 6、数组 7、对象序列化-公有修饰符 8、对象序列化-私有修饰符 9、对象序列化-保护修饰…

C++ 回溯算法

什么时候不需要startIndex? 全排列&#xff1a;1在[1,2]中已经使用过了&#xff0c;但是在[2,1]中还要在使用一次1&#xff0c;所以处理排列问题就不用使用startIndex了&#xff1b;电话号码的字母组合&#xff1a;如果是多个集合取组合&#xff0c;各个集合之间相互不影响&a…