标题: 基于51单片机汽车智能灯光控制系统设计 仿真程序 [打印本页]

作者: 还有个一股    时间: 2024-12-26 17:25
标题: 基于51单片机汽车智能灯光控制系统设计 仿真程序
一、设计项目
根据本次设计的要求,设计出一款基于51单片机的自动切换远近光灯的设计。
技术条件与说明:
1. 设计硬件部分,中央处理器采用了STC89C51RC单片机;
2. 使用两个灯珠代表远近光灯,感光部分采用了光敏电阻,因为光敏电阻输出的是电压模拟信号,单片机不能直接处理模拟信号,所以经过ADC0832进行转化成数字信号;
3. 显示部分采用了LCD1602液晶,还增加按键部分电路,可以选择手自动切换远近光灯;
4. 用超声模块进行检测距离;
二、设计要求
1. 要有硬件选型与硬件电路设计;
2. 体现出电路原理图、流程图、仿真图、元件清单、调试步骤;
3. 设计报告一份,6000字以上,按指导的要求书写。
三、设计期限及时间进度安排
1.设计开始时期:2024年11月18日
2.设计完成时期:2024年11月29日
3.进度安排:
第1-2天:下达任务书,查阅资料,确定设计方案与硬件选型;
第3-5天:完成硬件电路设计;
第6-7天:完成软件设计;
第8-10天:完成系统测试,撰写、完善设计报告。

目  录
一、引言        
1.1摘 要        
1.2课题研究意义        
二、控制系统方案设计        2
2.1汽车智能远近光灯设计简介        
2.2系统设计的工作原理        
三、硬件设计        
3.1 单片机简介        
3.2LCD1602液晶简介        
3.3 ADC0832简介        
3.4 超声波测距模块        
四、软件设计        
4.1开发环境        
4.2 主程序        
4.3 液晶显示流程        
4.4 PCB和原理图        
致谢        12
参考文献        
附录14

一、引言
1.1摘 要
考虑到汽车的安全性能,设计了一款采用 STC89C52 单片机为电子控制单元核心的汽车前照灯远近光自动切换系统。该系统主要由光强检测系统和单片机系统组成。详细介绍了系统的基本原理、理论分析及硬件设计,并提出了软件的实现方法。其中,硬件系统模块包括处理器模块、传感器模块、显示模块。该前照灯系统较智能化,确保了汽车夜间行车的安全性。
1.2课题研究意义
随着日益成熟的交通网络的发展,汽车成为了人类出行不可缺少的交通工具。交通事故的频繁发生成为了人们日渐担忧的问题,人们更加关心汽车的安全性能。根据报道的数据显示,我国夜间发生的交通事故中,70%左右是由于违章使用氙气灯造成灯光炫目,使驾驶员无法看清前方路况而发生的。照明系统是汽车主动安全的重要组成部分之一,如今汽车前照灯灯光光型单一的传统照明系统已经无法跟上当前汽车安全性能发展的趋势;所以,为了减少交通事故的发生,考虑到汽车的人性化设计。本文采用 STC89C52 单片机设计了一款自动切换远近光的汽车前照灯系统。这种前照灯系统更加智能化,能消除存在的安全隐患。

二、控制系统方案设计
2.1汽车智能远近光灯设计简介
夜间行驶的车辆相会时,很多驾驶员由于疏忽或者缺乏会车常识而不进行远近光灯的切换,带来了很大的安全隐患。这样,有些车辆为了减少安全隐患,提高车辆夜间行车的安全性能,在前照灯电路中采用了自动变光系统。该系统主要由光敏管(光敏电阻)及放大器单元(感光器)、灵敏度调节器、远/近光继电器、变光开关、闪光超车开关等部件组成结合光电检测技术、坡路检测技术、路况智能检测技术,设计实现了汽车远近光灯智能切换系统。试验表明,该系统可以灵敏地实现在会车时也可以准确地远近光灯的自动切换。
2.2系统设计的工作原理
整体系统的工作分了两种模式,手动和自动模式,手动状态就是可以根据用户主动按按键去控制打开关闭远近光灯,自动状态下,首先需要通过按键来设置远近光灯自动切换的距离和开启远近光灯的光强阈值数据,由光敏电阻来检测当前环境的光强,当前光强小于我们所设置的光强阈值,说明此时环境光比较暗,开启灯光,但是,开启远光还是近光灯就由超声测距得到的数据来决定,如果所测得的数据小于我们所设置的距离数据,说明前方人或其他物体,此时开启近光灯,否则开启远光灯。
实物图


三、硬件设计
根据本次设计的要求,设计出一款基于51单片机的自动切换远近光灯的设计。所以本次设计硬件部分,中央处理器采用了STC89C52RC单片机,另外使用两个灯珠代表远近光灯,感光部分采用了光敏电阻,因为光敏电阻输出的是电压模拟信号,单片机不能直接处理模拟信号,所以经过ADC0832进行转化成数字信号,还有显示部分采用了LCD1602液晶,还增加按键部分电路,可以选择手自动切换远近光灯,最后还是用了超声模块进行检测距离。整体硬件框图如下:
3.1单片机简介
单片机是STC公司最新推出的一种新型51内核的单片机。片内含有Flash程序存储器、SRAM、UART、SPI、PWM等模块。封装图如下图:

(1)高集成度,体积小,高可靠性 单片机将各功能部件集成在一块晶体芯片上,集成度很高,体积自然也是最小的。单片机程序指令,常数及表格等固化在ROM中不易破坏,许多信号通道均在一个芯片内,故可靠性高。  
(2)控制功能强 为了满足对对象的控制要求,单片机的指令系统均有极丰富的条件:分支转移能力,I/O口的逻辑操作及位处理能力,非常适用于专门的控制功能。
(3)低电压,低功耗,便于生产便携式产品 。为了满足广泛使用于便携式系统,许多单片机内的工作电压仅为1.8V~3.6V,而工作电流仅为数百微安。

3.2LCD1602液晶简介
显示部分则主要用于显示温度与温度的上下限度。在日常生活中,我们对液晶显示器并不陌生。液晶显示模块已作为很多电子产品的通用器件,如在计算器、万用表、电子表及很多家用电子产品中都可以看到,显示的主要是数字、专用符号和图形。在单片机与人的人机交流界面中,一般的输出方式有以下几种:发光管、LED数码管、液晶显示器。本设计中采用的是液晶显示器作为输出器件的。
在单片机系统中应用液晶显示器作为输出有以下几个优点:
显示质量高:由于液晶显示器每一个点在收到信号后就一直保持那种色彩和亮度,恒定发光,而不像阴极射线管显示器(CRT)那样需要不断刷新新亮点。因此,液晶显示器画质高且不会闪烁。
数字式接口液晶显示器都是数字式的,和单片机系统的接口更加简单可靠,操作更加方便。
体积小、重量轻:液晶显示器通过显示屏上的电极控制液晶分子状态来达到显示的目的,在重量上比相同显示面积的传统显示器要轻得多
低功耗:相对而言,液晶显示器的功耗主要消耗在其内部的电极和驱动IC上,因而耗电量比其它显示器要少得多。
字符型液晶显示模块是一种专门用于显示字母、数字、符号等点阵式LCD,目前常用16*1,16*2,20*2和40*2行等的模块。本设计采用的液晶显示器为1602字符型液晶显示器。
LCD显示的基本原理:
点阵图形式液晶由M×N个显示单元组成,假设LCD显示屏有64行,每行有128列,每8列对应1字节的8位,即每行由16字节,共16×8=128个点组成,屏上64×16个显示单元与显示RAM区1024字节相对应,每一字节的内容和显示屏上相应位置的亮暗对应。例如屏的第一行的亮暗由RAM区的000H——00FH的16字节的内容决定,当(000H)=FFH时,则屏幕的左上角显示一条短亮线,长度为8个点;当(3FFH)=FFH时,则屏幕的右下角显示一条短亮线;当(000H)=FFH,(001H)=00H,(002H)=00H,……(00EH)=00H,(00FH)=00H时,则在屏幕的顶部显示一条由8段亮线和8条暗线组成的虚线。这就是LCD显示的基本原理。

3.3ADC0832简介
ADC0832是国半导体公司生产的一种8位分辨率、双通道A/D转换芯片。由于它体积小,兼容性强,性价比高而深受单片机爱好者及企业欢迎,其目前已经有很高的普及率。学习并使用ADC0832可是使我们了解A/D转换器的原理,有助于我们单片机技术水平的提高。
ADC0832具有以下特点:
● 8位分辨率;
● 双通道A/D转换;
● 输入输出电平与TTL/CMOS相兼容;
● 5V电源供电时输入电压在0~5V之间;
● 工作频率为250KHZ,转换时间为32μS;
● 一般功耗仅为15mW;
● 8P、14P—DIP(双列直插)、PICC多种封装;
● 商用级芯片温宽为0°C to +70°C?,工业级芯片温宽为40℃ to +85℃
下面看看它的引脚及功能说明。
ADC0832引脚说明  
(1) /CS片选使能,低电平有效。  
(2) CHO模拟通道0,差分输入时,作为IN+或IN-使用。
(3) CH1模拟输入通道1,差分输入时,作为IN+或IN-使用。
(4) GND 电源地。  
(5) DI数据信号输出,选择通道控制。
(6) DO数据信号输出,转换数据输出。
(7) Vcc/Vre电源输入及参考电压输入(复用)。
(8) CLK芯片时钟信号
ADC0832为8位分辨率A/D转换芯片,其最高分辨可达256级,可以适应一般的模拟量转换要求。其内部电源输入与参考电压的复用,使得芯片的模拟电压输入在0~5V之间。芯片转换时间仅为32μS,据有双数据输出可作为数据校验,以减少数据误差,转换速度快且稳定性能强。独立的芯片使能输入,使多器件挂接和处理器控制变的更加方便。通过DI数据输入端,可以轻易的实现通道功能的选择。
正常情况下ADC0832与单片机的接口应为4条数据线,分别是CS、CLK、DO、DI。但由于DO端与DI端在通信时并未同时有效并与单片机的接口是双向的,所以电路设计时可以将DO和DI并联在一根数据线上使用。
3.4超声波测距模块
声波是一种机械波,它可以在气体、液体和固体等介质中传播。超声波是指频率高于20 kHz,在弹性介质中传播的一种机械振荡。正常人的听觉可以听到20赫兹(Hz) -20千赫兹(kHz)的声波,低于20赫兹的声波称为次声波或亚声波,超过20千赫兹的声波称为超声波。超声波是声波大家族中的一员,和可闻声本质上是一致的,它们的共同点都是一种机械振动,通常以纵波的方式在弹性介质内传播,是一种能量和动量的传播形式,其不同点是超声频率高,波长短,在一定距离内沿直线传播具有良好的束射性和方向性。郎之万第一次采用居里兄弟发现的压电晶体作为超声波发射和接收的核心部件,是超声波技术发展的一个里程碑。产生超声波的装置有机械型超声换能器(例如气哨、汽笛和液哨等)、利用电磁感应和电磁作用原理制成的电动超声换能器、以及利用压电晶体的电致伸缩效应和铁磁物质的磁致伸缩效应制成的电声换能器等。超声波按照波沿传送方向的波动方式可分为纵波,横波,表面波和板波。我们常见的是纵和横波,本设计中用到的超声波是纵波。纵波是指介质中的质点的振动方向与波的传播方向相互平行或一致的波,用L表示。当介质质点受到交变拉压应力作用时,质点之间产生相应的伸缩变形,从而形成纵波。这时介质质点疏密相间,故纵波又成为压缩波或疏密波。凡能承受拉伸或压缩应力的介质都能传播纵波。固体介质既可承受拉力又可承受压缩力,因此固体介质可以传播纵播。液体和气体介质虽不能承受拉力,但能承受压应力产生体积或容积的变化,因此液体和气体也可传播纵波。
HC-SR04超声波传感器
超声波传感器是利用超声波的特性研究而成的传感器。超声波是一种振动频率高于声波的机械波,由换能晶片在电压的激励下发生振动产生的,它具有频率高、波长短、绕射现象小,特别是方向性好、能够成为射线而定向传播等特点。超声波对液体、固体的穿透本领很大,尤其是在阳光不透明的固体中,它可穿透几十米的深度。超声波碰到杂质或分界面会产生显著反射形成反射成回波,碰到活动物体能产生多普勒效应。因此超声波检测广泛应用在工业、国防、生物医学等方面以超声波作为检测手段,必须产生超声波和接收超声波。完成这种功能的装置就是超声波传感器,习惯上称为超声换能器,或者超声探头。  超声波探头主要由压电晶片组成,既可以发射超声波,也可以接收超声波。小功率超声探头多作探测作用。它有许多不同的结构,可分直探头(纵波)、斜探头(横波)、表面波探头(表面波)、兰姆波探头(兰姆波)、双探头(一个探头反射、一个探头接收)等。
超声波传感器的主要性能指标,包括:
①工作频率。工作频率就是压电晶片的共振频率。当加到它两端的交流电压的频率和晶片的共振频率相等时,输出的能量最大,灵敏度也最高。
②工作温度。由于压电材料的居里点一般比较高,特别是诊断用超声波探头使用功率较小,所以工作温度比较低,可以长时间地工作而不产生失效。医疗用的超声探头的温度比较高,需要单独的制冷设备。
③灵敏度。主要取决于制造晶片本身。机电耦合系数大,灵敏度高;反之,灵敏度低。  本文采用HC-SR04超声波传感器,其主要技术参数为: 使用电压:DC---5V 静态电流:小于2mA 电平输出:高5V,低0V 感应角度:不大于15度 探测距离:2cm—4m 精度:0.2cm
超声波测距
利用单片机输出一个触发信号,把触发信号输入到超声波测距模块,再由超声波测距模块的发射器向某一方向发射超声波,在发射的同时单片机通过软件开始计时,超声波在空气中传播,遇到障碍物返回,接收器接收到反射波产生一个信号反馈给单片机,此时计时停止。在常温25℃时,超声波在空气中的传播速度为346m/s,根据计时器记录的时间t,就可以计算出发射点距障碍物的距离(s),即:s=346t/2。  
该部分采用HC-SR04超声波测距模块,该模块可提供2cm-400cm的非接触式距离感测功能,测距精度可达到0.2cm,模块包括超生波发射器,接收器与控制电路。工作原理:  
① 采用IO口TRIG触发测距,给至少给10us的高电平;
② 模块自动发送8个40khz的方波,自动检测是否有信号返回;
③ 有信号返回,通过IO口ECHO输出一个高电平,高电平持续的时间就是超声波从发射到返回的时间。  测试距离=(高电平持续时间*声速(346m/s))/2 。时序图如下:
以上时序图表明,只需提供一个10us以上的脉冲信号,该模块内部将发出8个40KHz周期电平并检测回波。一旦检测到有回波信号则输出回响信号。回响信号的脉冲宽度与所测的距离成正比。由此通过发射信号到接收到回响信号的时间间隔可以计算得到距离[8]。   优点:超声波检测障碍物的精度高,反映灵敏,受外界干扰小,计算简单、易于做到实时控制。

四、软件设计
4.1开发环境
STC89C52单片机软件开发平台为Keil uvision4 C52,仿真环境为Protues,下载软件为STC_ISP。
Keil C52是美国Keil Software公司出品的52系列兼容单片机C语言软件开发系统,与汇编相比,C语言在功能上、结构性、可读性、可维护性上有明显的优势,因而易学易用。Keil提供了包括C编译器、宏汇编、连接器、库管理和一个功能强大的仿真调试器等在内的完整开发方案,通过一个集成开发环境(uVision)将这些部分组合在一起。运行Keil软件需要WIN98、NT、WIN2000、WINXP等操作系统。
    Protues软件是英国Labcenter electronics公司出版的EDA工具软件。它不仅具有其它EDA工具软件的仿真功能,还能仿真单片机及外围器件。它是目前最好的仿真单片机及外围器件的工具。虽然目前国内推广刚起步,但已受到单片机爱好者、从事单片机教学的教师、致力于单片机开发应用的科技工作者的青睐。Proteus是世界上著名的EDA工具(仿真软件),从原理图布图、代码调试到单片机与外围电路协同仿真,一键切换到PCB设计,真正实现了从概念到产品的完整设计。是目前世界上唯一将电路仿真软件、PCB设计软件和虚拟模型仿真软件三合一的设计平台,其处理器模型支持8052、HC11、PIC10/12/16/18/24/30/DsPIC33、AVR、ARM、8086和MSP430等,2010年即将增加Cortex和DSP系列处理器,并持续增加其他系列处理器模型。在编译方面,它也支持IAR、Keil和MPLAB等多种编译。
STC-ISP 是一款单片机下载编程烧录软件,是针对STC系列单片机而设计的,可下载STC89系列、12C2052系列和12C5410等系列的STC单片机,使用简便,现已被广泛使用。
4.2主程序
整体的程序部分分了按键部分,超声检测部分,液晶显示部分,以及远近光灯驱动部分。

4.3液晶显示流程
液晶显示采用了LCD1602液晶,这是种常用的液晶,驱动起来方便,使用简单,显示数据的整体流程无非是,首先液晶初始化,然后送入要在哪一个地址显示的地址数据,再送如要显示的数据即可,但是要注意的是,1602液晶是字符屏,送入的显示的数据必须是字符。显示流程图如下:
4.4PCB和原理图
  如下图

51hei截图_20241226172103.png (554.05 KB, 下载次数: 0)

51hei截图_20241226172103.png

51hei截图_20241226172122.png (193.19 KB, 下载次数: 0)

51hei截图_20241226172122.png

51hei.png (39.56 KB, 下载次数: 0)

51hei.png

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

931.12 KB, 下载次数: 0

仿真 程序 eda


作者: 2697967506    时间: 2025-1-14 11:19
为什么proteus仿真时候只有distance 0和light 0%,按键都没反应
作者: 花少广    时间: 2025-3-21 07:37
这个代码是有问题的,不要下载。仿真无法正常运行




欢迎光临 (http://www.51hei.com/bbs/) Powered by Discuz! X3.1