历史上的今天

今天是:2024年10月12日(星期六)

正在发生

2021年10月12日 | 基于51单片机的汽车智能灯光控制系统

发布者:快乐舞动 来源: eefocus关键字:51单片机  控制系统 手机看文章 扫描二维码
随时随地手机看文章

一.硬件方案

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


主要由51单片机+LCD1602液晶+光敏电阻+超声波+ADC0832+LED灯而成;如图:

在这里插入图片描述

二.设计功能

(1)按键说明:从左边第一个起,减键、加键、设置键。单独一个控制为复位按键。

(2)LCD1602液晶第一行显示超声波的距离,第二行显示光线的强弱。

(3)可以设定超声波和光敏的下限值,并具有掉电保存功能,数据保存在STC单片机的内部。

(4)用光敏传感器测光线亮度,低于设置值时自动开启灯光。

(5)用超声波测距离,低于设置值时自动将远光灯变成近光灯,大于设置值时又会自动变换成远光


三.设计原理图

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

在这里插入图片描述

(2)Protues仿真图如下:

(3)PCB图如下:

四.软件设计

(1)程序流程图

(2)主程序源码


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;  //远光

   }

}

 }

关键字:51单片机  控制系统 引用地址:基于51单片机的汽车智能灯光控制系统

上一篇:基于51单片机的语音万年历设计
下一篇:基于51单片机的音乐盒设计

推荐阅读

中国汽车工业协会发布的数据显示,我国今年1~8月新能源汽车产销分别完成60.7万辆和60.1万辆,比上年同期分别增长75.4%和88%。 新能源车是自主品牌可以实现弯道超车的机会。 目前,中国新能源汽车市场也越来越热闹。近日,造车新势力蔚来汽车与一汽集团旗下的北汽新能源相继上市,冀望借助资本市场加速前行。 虽然传统燃油车市遇冷,但新能源车市在多重...
是德科技日前宣布,Keysight 5G 网络仿真解决方案已被领先的测试机构 PCTEST 选中,用以遵循联邦通信委员会(FCC)强制规定的关键法规对 5G 移动设备进行测试。是德科技是一家领先的技术公司,致力于帮助企业、服务提供商和政府客户加速创新,创造一个安全互联的世界。 是德科技的端到端 5G 测试解决方案使 PCTEST 能够在空中(OTA)测试环境下表征 5G 毫...
公司是做锂电池管理系统的,主要是通信用16串锂电池用的保护板(BMS),产品有485接口,可以上传各种测量和告警信息。最近开始学习单片机,自己动手做了一个BMS监控仪,通过485与自家的BMS通讯获取状态信息并显示在LCD2004上。程序也是自己弄了好久才排除各种bug,现在具备了基本状态信息显示、菜单、16串单体电压显示、各温度显示、BMS状态显示、基本告警...
工程师在使用示波器测量开关电源输出信号时,经常会发现两个测量通道信号之间互相干扰(串扰)。如果可以改变测量方式,就可解决这个困惑,下面PRBTEK教您具体该如何操作:一、概述工程师在使用示波器测量开关电源输出信号时,经常会发现两个测量通道之间互相干扰(串扰)。该情况通常与通道隔离度、测试方法等因素有关,通过一个小实验就可以对比分析。测...

史海拾趣

问答坊 | AI 解惑

单片机转arm7最好的引导材料

一不小心在网上发现这么宝贵的资料,和大家分享下。…

查看全部问答∨

TOSHIBA K1113

TOSHIBA   K1113   的资料,以及能用什么管子可以替换,谢谢…

查看全部问答∨

VC:在PDA上运行的程序怎么样禁止某些按键?WINCE的高手帮帮忙!

如题: 比如我的程序在运行的时候我不能按PDA上的某些功能键(比如主页键,接电话和挂电话的功能键)…

查看全部问答∨

请教大虾们有关ARM处理器在ARM状态下PC的问题

看过书上写着“由于ARM状态下指令总是字对齐的,所以R15值的第0位和第1位总是为0,PC[31:2]用于保存地址” 请问各位大虾,为什么由于是字对齐,所以R15的第0位和第1位总是为0呢?…

查看全部问答∨

关于头文件中寄存器的宏定义,请教!

在看2410的头文件,发现其中有些寄存器用*(volatile unsigned char *) 来定义,而有一些用*(volatile unsigned  *) 来定义,这是为什么呢?这两个有什么区别呢?…

查看全部问答∨

[求助]群星自带的串口转以太网例程问题

我电脑和开发板都使用静态IP,通过一个交换机(switch)连接电脑和开发板.电脑IP为172.16.19.50,开发板IP为172.16.19.222,如果开发板和电脑直接连接(使用一根网线)是可以通过地址172.16.19.222访问到位于开发板的网页,但是同样设置下,通过一个交换机 ...…

查看全部问答∨

【求助】

单片机的VCC在2.7V--3.6V之间,是不是外接晶振频率越高,所需VCC就越大?我用的是MSP430F14X系列的单片机,外部接8M晶振,那我的VCC是不是应该接3.6V?可当我接上3.3V时,单片机也能正常工作,单片机的VCC到底跟外部晶振的频率有什么关系啊?…

查看全部问答∨

户用逆变电源系统的研究与设计

1 引言   我国西北地区国土面积辽阔,太阳能和风能资源非常丰富,其中太阳能年均辐射强度为6000~8400MJ/m2,年均太阳能光照时间为3000~3200h;风力平均为5~6级。西北边远地区经济不发达,且住户非常分散,若为这些用户提供市电,则成本太高 ...…

查看全部问答∨

关于proteus和ARM7的仿真

用proteus对ARM7进行仿真,用IAR来编程,可以通过proteus实现,比如bootloader之类的吗…

查看全部问答∨
小广播
设计资源 培训 开发板 精华推荐

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

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

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

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