基于51单片机汽车自动照明灯超声波光敏远近光灯设计

1、系统功能介绍

  • 系统构成:

    • 本设计由STC89C52单片机+光照检测电路(光敏电阻)+超声波HC-SR04模块电路+4位高亮白色LED灯+黄绿LED指示灯电路+拨动开关电路+电源电路组成。
  • 系统功能:

    • 1、通过光敏电阻模块检测光照强度,正常情况下,白天灯不亮,晚上的时候开启远光灯,且光照阈值可以通过传感器上的电位器调节。
    • 2、产品有自动模式和手动模式两种模式,模式通过拨动开关选择,具有模式指示灯。
    • 3、自动模式:通过超声波模块检测距离,如果距离小于30cm,那么远光灯转化为近光灯,超过30cm,近光灯转化为远光灯。
    • 4、手动模式,通过两个按键切换远近光灯。
  • 可根据本篇文章完成毕业设计的开题报告、任务书、设计等

2、资料下载

3、系统电路介绍

3.1、STC89C52单片机核心系统电路设计

  • STC89C52RC是STC公司生产的一种低功耗、高性能CMOS8位微控制器,具有8K字节系统可编程Flash存储器。STC89C52使用经典的MCS-51内核,但是做了很多的改进使得芯片具有传统51单片机不具备的功能。在单芯片上,拥有灵巧的8 位CPU 和在系统可编程Flash,使得STC89C52为众多嵌入式控制应用系统提供高灵活、超有效的解决方案。具有以下标准功能:8k字节Flash,512字节RAM, 32 位I/O 口线,看门狗定时器,内置4KB EEPROM,MAX810复位电路,3个16 位定时器/计数器,4个外部中断,一个7向量4级中断结构(兼容传统51的5向量2级中断结构),全双工串行口。另外 STC89C52 可降至0Hz 静态逻辑操作,支持2种软件可选择节电模式。空闲模式下,CPU 停止工作,允许RAM、定时器/计数器、串口、中断继续工作。掉电保护方式下,RAM内容被保存,振荡器被冻结,单片机一切工作停止,直到下一个中断或硬件复位为止。最高运作频率35MHz,6T/12T可选。

STC89C52主要特性如下:

  • (1)8K字节程序存储空间;
  • (2)512字节数据存储空间;
  • (3)内带4K字节EEPROM存储空间;
  • (4)可直接使用串口下载

单片机最小系统电路图如下图所示

实物图:

3.2、LED信号指示灯电路设计

  • LED灯即发光二极管,它是半导体二极管的一种,可以把电能转化成光能。发光二极管与普通二极管一样是由一个PN结组成,也具有单向导电性。在电路中,电阻的作用是限流,保护LED灯。只要单片机的控制引脚拉低,则LED灯亮,否则,LED灯不亮。

电路原理图:

实物图:

3.3、光照检测模块电路设计

  • 本系统选择光照传感器模块对光照进行检测。

传感器参数:

  • (1)可以检测周围环境的亮度和光强
  • (2)灵敏度可调(图中蓝色数字电位器调节)
  • (3)工作电压3.3V-5V
  • (4)输出形式 a 模拟量电压输出,b 数字开关量输出(0和1)
  • (5)电源指示灯(红色)和数字开关量输出指示灯(绿色)
  • (6)比较器采用LM393芯片,工作稳定

使用说明:

  • (1)光敏电阻模块对环境光强最敏感,一般用来检测周围环境的亮度和光强。
  • (2)模块在无光条件或者光强达不到设定阈值时,DO口输出高电平,当外界环境光强超过设定阈值时,模块D0输出低电平;
  • (3)小板数字量输出D0可以与单片机直接相连,通过单片机来检测高低电平,由此来检测环境的光强改变;
  • (4)小板数字量输出DO可以直接驱动本店继电器模块,由此可以组成一个光电开关;
  • (5)小板模拟量输出AO可以和AD模块相连,通过AD转换,可以获得环境光强更精准的数值

电路原理图:

实物图:

3.3、HC-SR04超声波避障传感器电路设计

  • 本设计选择的超声波模块为HC-SR04 超声波模块,此本模块性能稳定,测度距离精确。可以提供20-400cm的非接触式距离感测功能,测量精度科大3mm,模块包括超声波发射器、超声波接收器和控制电路。能和国外的SRF05,SRF02等超声波测距模块相媲美。模块高精度,盲区(2cm)超近,稳定的测距是此产品成功走向市场的有力根据!

模块接线方式:

  • (1) VCC接5V电源
  • (2)trig(控制端)接单片机I/O口
  • (3)echo(接收端)接单片机I/O口
  • (4)GND接地线

电路原理图:

实物图:

4、程序设计

4.1、系统初始化

void SYSInit()
{
	Init_Timer0();        //定时器0初始化
	Ledy=0;	   //远光灯
	Ledj=0;	   //近光灯
	Leds=0;	   //手动灯
	Ledz=0;	   //自动灯
   	DelayMs(100);
	Ledy=1;	   //远光灯
	Ledj=1;	   //近光灯
	Leds=1;	   //手动灯
	Ledz=1;	   //自动灯
}

4.2、超声波计算距离

void Init_Timer0(void)
{
	TMOD |= 0x01;	  //使用模式1,16位定时器,使用"|"符号可以在使用多个定时器时不受影响		     
	TH0=(65536-20000)/256;		  //重新赋值 20ms
	TL0=(65536-20000)%256;
	EA=1;            //总中断打开
	ET0=1;           //定时器中断打开
	TR0=1;           //定时器开关打开
}

void Timer0_isr(void) interrupt 1 
{
	TH0 = 0x0FC;
    TL0 = 0x66;

	sysslot++;
	if(sysslot%50==0)    //定时出发超声波
	{
		TripFlag=1;
	}
	if(Val_Edg==1)         //第一次检测到高电平 是触发
	{
		TestCount++;  //开始记录高电平数据
		Test_Flag=1; //置位
	}
	if(Test_Flag==1)
	{
		if(Val_Edg!=1)   //开始变为低电平
		{
			DIS_MM=TestCount*340/2;   //MM 计算测量长度测试距离=(高电平时间*声速(340M/S))/2;  
			Test_Flag=0;
			TestCount=0;
		}
	}
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

点灯师

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值