基于51单片机的汽车智能灯光控制系统

一.硬件方案

本设计硬件部分,中央处理器采用了STC89C52RC单片机,另外使用两个灯珠代表远近光灯,感光部分采用了光敏电阻,因为光敏电阻输出的是电压模拟信号,单片机不能直接处理模拟信号,所以经过ADC0832进行转化成数字信号,还有显示部分采用了LCD1602液晶,还增加按键部分电路,可以选择手自动切换远近光灯,最后还是用了超声模块进行检测距离;电路主要由51单片机+LCD1602液晶+光敏电阻+超声波+ADC0832+LED灯而成;

二.设计功能

(1)按键说明:从左边第一个起,减键、加键、设置键。单独一个控制为复位按键。
(2)LCD1602液晶第一行显示超声波的距离,第二行显示光线的强弱。
(3)可以设定超声波和光敏的下限值,并具有掉电保存功能,数据保存在STC单片机的内部。
(4)用光敏传感器测光线亮度,低于设置值时自动开启灯光。
(5)用超声波测距离,低于设置值时自动将远光灯变成近光灯,大于设置值时又会自动变换成远光

三.设计原理图

(1)原理图主要采用AD软件进行设计,如图:
在这里插入图片描述

(2)Protues仿真图如下:
在这里插入图片描述

四.软件设计

主程序源码

void main()
 {  
   interrupt_int();	//调用定时器初始化函数
   LCD1602_cls();  //调用1602初始化函数
   read_memory();  //调用读存储
   init_measuring(); //调用超声波相应端口初始化
   while(1)
    {
	  display();  //显示函数
	  if(ir_ok)
	   {
	    ir_ok=0;
		 trigger(); //触发超声波启动
		 
		while(echo==0) //等待回声&&TH0<200
		{
		;	
		}	
		measuring(); //进行距离测量
		init_measuring(); //超声波相应端口初始化
		 
	   }
	   if(memory_flag) //如果存储标志位是1
	   {
	   	memory_flag=0;	//清0,
		memory();	   //执行一次存储函数
	   }
	   if(A_M)	  //如果是自动状态
	   {
	   	led1=0;	   //自动模式指示灯点亮
		led2=1;
		police(); //执行自动处理函数
	   }
	   else	  //否则
	   {
	   	led2=0;	 //手动指示灯点亮
		led1=1;
	   }
	   AD_dispose(); //调用AD处理函数
	   switch(beam)	//根据beam的值,切换远近光灯状态
	   {
	   	case 0:LED_1=1;LED_2=1;break;  //关闭
		case 1:LED_1=1;LED_2=0;break;	//近光
		case 2:LED_1=0;LED_2=1;break;  //远光
	   }
	}
 }

资料链接:https://pan.baidu.com/s/166xg2gqZ_BO0MFfXqFvpDQ?pwd=o5fv

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

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

相关文章

C语⾔:内存函数

1. memcpy使⽤和模拟实现&#xff08;对内存块的复制&#xff0c;不在乎类型&#xff09; void * memcpy ( void * destination, const void * source, size_t num ); • 函数memcpy从source的位置开始向后复制num个字节的数据到destination指向的内存位置。 • 这个函数在遇…

卷积神经网络实现手写数字识别 pytorch

卷积神经网络实现手写数字识别 导入相关的库 import torch import torch.nn as nn from torch.autograd import Variable import torch.utils.data as Data import torchvision import matplotlib.pyplot as plt设置相应的超参数 EPOCH1 BATCH_SIZE50 LR0.001 DOWNLOAD_MNIS…

将 KNX 接入 Home Assistant 之二 准备软件

写在前面&#xff1a; 在KNX官网也有关于 Home Assistant 的教程&#xff0c;地址是 Get started with Home Assistant x KNX 需要的东西是 a KNX IP Interface or Routera Raspberry Pian SD Card at least 32 GB 安装 Home Assistant 系统 下载镜像&#xff1a; 地址&…

网络原理-HTTPS协议

在前面说到HTTP中,我们通过抓包,可以看到许多信息内容,其中往往会包含一些敏感信息,这些都是明文传输,当我们的请求被黑客或者不法分子截获后,那就很危险了,因此衍生出了HTTPS协议来对传输数据进行加密。 一、加密原理 基本原理如下&#xff1a; 明文 密钥 > 密文 密文…

【每日刷题】Day50

【每日刷题】Day50 &#x1f955;个人主页&#xff1a;开敲&#x1f349; &#x1f525;所属专栏&#xff1a;每日刷题&#x1f34d; &#x1f33c;文章目录&#x1f33c; 1. 654. 最大二叉树 - 力扣&#xff08;LeetCode&#xff09; 2. 119. 杨辉三角 II - 力扣&#xff08…

Gitlab不允许使用ssh拉取代码的解决方案

一、起因 之前一直是用ssh进行代码拉取&#xff0c;后来公司搞网安行动&#xff0c;不允许ssh进行连接拉取代码了 因为我是用shell写了个小型的CI/CD,部署前端项目用于后端联调的&#xff0c;因此在自动部署时&#xff0c;不方便人机交互&#xff0c;所以需要自动填充账密。 …

如何在群晖NAS安装WPS Office并使用公网地址远程访问处理文档表格

前言 作者简介&#xff1a; 懒大王敲代码&#xff0c;计算机专业应届生 今天给大家聊聊如何在群晖NAS安装WPS Office并使用公网地址远程访问处理文档表格&#xff0c;希望大家能觉得实用&#xff01; 欢迎大家点赞 &#x1f44d; 收藏 ⭐ 加关注哦&#xff01;&#x1f496;&a…

水电自动抄表系统是什么?

1.简述&#xff1a;水电自动抄表系统 水电自动抄表系统是一种现代化计量检定解决方法&#xff0c;为提升公用事业服务项目的效率和精确性。传统式手动抄水表方法已经被这类高效率、精准的自动化系统所替代&#xff0c;它能够实时、远程控制地收集解决水电使用数据。 2.系统原…

列表、元组、字典和集合的区别

自学python如何成为大佬(目录):https://blog.csdn.net/weixin_67859959/article/details/139049996?spm1001.2014.3001.5501 在前面介绍了序列中的列表、元组、字典和集合的应用&#xff0c;下面通过表2对这几个数据序列进行比较。 表2 列表、元组、字典和集合的区别 数 据…

【算法】dd爱转转

✨题目链接&#xff1a; dd爱旋转 ✨题目描述 读入一个n∗n的矩阵&#xff0c;对于一个矩阵有以下两种操作 1:顺时针旋180 2:关于行镜像 如 变成 给出q个操作&#xff0c;输出操作完的矩阵 ✨输入描述: 第一行一个数n(1≤n≤1000)&#xff0c;表示矩阵大小 接下来n行&#xff…

【全开源】优校管理系统支持微信小程序+微信公众号+H5

概述 优校管理系统(简称优校管)是基于FastAdmin和ThinkPHP进行开发的中小学信息化管理系统&#xff0c;拥有PC版、UniAPP版(高级授权)。支持微信小程序、H5等多平台&#xff0c;主要用于信息管理、教学管理、素养评价&#xff0c;支持多个学校(标准授权限5个&#xff0c;高级授…

Nat Genet|马丁院士团队利用单细胞和空间多组学描绘宫颈鳞癌免疫微环境图谱

宫颈鳞状细胞癌&#xff08;CSCC&#xff09;是宫颈癌最常见的组织学类型。虽然局部疾病预后良好&#xff0c;但晚期、转移性或复发性CSCC的5年生存率仅为16.5%&#xff0c;晚期宫颈癌中对免疫检查点阻断的反应有限。细胞异质性和可塑性是肿瘤进展和肿瘤免疫微环境(TIME)调节的…

自由应用大本营?开源免费的Android应用商店:F-Droid Client

F-Droid Client&#xff1a;拥抱开源&#xff0c;守护隐私&#xff0c;让自由软件成为您生活的一部分- 精选真开源&#xff0c;释放新价值。 概览 F-Droid Client是一个开源的Android应用商店&#xff0c;它在GitHub上免费提供。这个项目致力于收集和展示各类自由及开源软件&a…

响应式流和reactor框架进阶

响应式流和reactor框架进阶 响应式流创建、转换、处理 本文档主要介绍在响应式编程中如何从流中获取数据并处理。 前提条件 假设您已经能掌握Java基础、Maven使用、Lamda表达式、响应式编程等基础。 如何获取流中数据 &#x1f30f; 说明 1、不要试图从流中获取数据出来&a…

牛客NC391 快乐数【simple 模拟法 Java/Go/PHP】

题目 题目链接&#xff1a; https://www.nowcoder.com/practice/293b9ddd48444fa493dd17da0feb192d 思路 直接模拟即可Java代码 import java.util.*;public class Solution {/*** 代码中的类名、方法名、参数名已经指定&#xff0c;请勿修改&#xff0c;直接返回方法规定的值…

自动化测试和手动测试相比,哪个更具优势?

自动化测试和手动测试都是软件测试中常用的两种方法&#xff0c;它们在不同的场景下具有不同的优势。下面将从各个角度进行详细的比较&#xff0c;以帮助读者更好地了解两种方法。 1. 效率 自动化测试相对于手动测试具有更高的效率。手动测试需要人工操作执行测试步骤、输入测…

3步找回丢失数据,EasyRecovery让数据恢复如此简单!

在数字化时代&#xff0c;数据已成为我们生活和工作中不可或缺的一部分。然而&#xff0c;数据丢失却是一个令人头疼的问题。无论是因为意外删除、硬盘损坏还是系统崩溃&#xff0c;丢失的文件和数据都可能给我们造成巨大的经济损失和时间浪费。因此&#xff0c;如何高效利用现…

M功能-分布式锁-支付平台(五)

target&#xff1a;离开柬埔寨倒计时-218day 珍藏的图片又拿出来了 前言 M系统中的撮合引擎是最最核心的功能&#xff0c;第一版的撮合引擎不是我写的&#xff0c;也没有做交易对的动态分配这样的功能&#xff0c;都是基于抢锁方式来决定谁拥有该交易对的撮合权限&#xff0c;所…

【加密与解密(第四版)】第十四章笔记

第十四章 漏洞分析技术 14.1 软件漏洞原理 缓冲区溢出漏洞&#xff1a;栈溢出 堆溢出、整型溢出&#xff08;存储溢出、计算溢出、符号问题&#xff09; UAF&#xff08;Use-After-Free&#xff09;漏洞 14.2 ShellCode 功能模块&#xff1a;下载执行、捆绑、反弹shell 14.3 …

构造器--5.28

不用一个个属性赋值的方法&#xff1a; 知道了类的创建与使用&#xff0c;但是每次赋值都是一个个调用&#xff0c;我们可以用构造器使得方法简单一点&#xff0c;不用一个个调用属性赋值&#xff0c;直接传参就OK了&#xff1b; 点击类名然后ctrl可以查看构造器 public yanxi…