基于51单片机汽车智能灯光控制系统设计
汽车智能灯光控制系统设计
- 基于51单片机汽车智能灯光控制系统仿真设计
- 功能介绍
- 硬件设计
- 仿真图
- 原理图
- 源程序:
- 显示函数
- 光照处理
- 器件清单:
- 设计说明书:
- 设计背景
- 目标、研究内容和技术要求
- 设计资料清单
基于51单片机汽车智能灯光控制系统仿真设计
(protues仿真+程序+原理图+PCB+设计说明书)
仿真图proteus 7.8
程序编译器:keil 4/keil 5
编程语言:C语言
设计编号:C0049
硬件构成:
51单片机
LCD1602液晶
光敏电阻
超声波
ADC0832
LED灯
功能介绍
1.按键说明:从左边第一个起,减键、加键、设置键。单独一个控制为复位按键。
2.LCD1602液晶第一行显示超声波的距离,第二行显示光线的强弱。
3.可以设定超声波和光敏的下限值,并具有掉电保存功能,数据保存在STC单片机的内部。
4.用光敏传感器测光线亮度,低于设置值时自动开启灯光。
5.用超声波测距离,低于设置值时自动将远光灯变成近光灯,大于设置值时又会自动变换成远光。
硬件设计
根据本次设计的要求,设计出一款基于51单片机的自动切换远近光灯的设计。所以本次设计硬件部分,中央处理器采用了STC89C52RC单片机,另外使用两个灯珠代表远近光灯,感光部分采用了光敏电阻,因为光敏电阻输出的是电压模拟信号,单片机不能直接处理模拟信号,所以经过ADC0832进行转化成数字信号,还有显示部分采用了LCD1602液晶,还增加按键部分电路,可以选择手自动切换远近光灯,最后还是用了超声模块进行检测距离。
仿真图
原理图
源程序:
显示函数
void display() //显示函数{if(state==0) //如果是非设置状态{LCD1602_write(0,0x80); //第一行LCD1602_writebyte("distance:"); //显示距离if(S>99) LCD1602_write(1,0x30+S/100%10);else LCD1602_writebyte(" ");if(S>9) LCD1602_write(1,0x30+S/10%10);else LCD1602_writebyte(" ");LCD1602_write(1,0x30+S%10);LCD1602_writebyte("cm ");LCD1602_write(0,0xC0); //第二行LCD1602_writebyte("light:"); //显示光照强度if(light>99) LCD1602_write(1,0x30+light/100%10);else LCD1602_writebyte(" ");if(light>9) LCD1602_write(1,0x30+light/10%10);else LCD1602_writebyte(" ");LCD1602_write(1,0x30+light%10);LCD1602_writebyte("% ");}else //设置状态{LCD1602_write(0,0x80); //第一行LCD1602_writebyte("dis_set:"); //设置距离if(state==1&&s0) LCD1602_writebyte(" "); //闪烁效果else{if(S_set>99) LCD1602_write(1,0x30+S_set/100%10);else LCD1602_writebyte(" ");if(S_set>9) LCD1602_write(1,0x30+S_set/10%10);else LCD1602_writebyte(" ");LCD1602_write(1,0x30+S_set%10);}LCD1602_writebyte("cm ");LCD1602_write(0,0xC0); LCD1602_writebyte("lig_set:"); //设置光照if(state==2&&s0) LCD1602_writebyte(" ");else{if(light_set>99) LCD1602_write(1,0x30+light_set/100%10);else LCD1602_writebyte(" ");if(light_set>9) LCD1602_write(1,0x30+light_set/10%10);else LCD1602_writebyte(" ");LCD1602_write(1,0x30+light_set%10);}LCD1602_writebyte("% ");}}
光照处理
void AD_dispose() //光照处理
{if(ad_count<10) //读十次光照数据,取平均值,起到滤波的作用{ad_dat+=A_D(1);ad_count++;}else{light=ad_dat/10;light=(light*100)/255; //最大是255,所以这里扩大100倍除以255,可以得到百分比数据ad_count=0;ad_dat=0;}
}
main函数
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; //远光}}}
器件清单:
设计说明书:
设计背景
随着日益成熟的交通网络的发展,汽车成为了人类出行不可缺少的交通工具。交通事故的频繁发生成为了人们日渐担忧的问题,人们更加关心汽车的安全性能。根据报道的数据显示,我国夜间发生的交通事故中,70%左右是由于违章使用氙气灯造成灯光炫目,使驾驶员无法看清前方路况而发生的。照明系统是汽车主动安全的重要组成部分之一,如今汽车前照灯灯光光型单一的传统照明系统已经无法跟上当前汽车安全性能发展的趋势;所以,为了减少交通事故的发生,考虑到汽车的人性化设计。本文采用 STC89C52 单片机设计了一款自动切换远近光的汽车前照灯系统。这种前照灯系统更加智能化,能消除存在的安全隐患。
目标、研究内容和技术要求
结合所学课程的基础专业知识和基本技能,熟悉单片机机其他硬件的相关知识,完成以下工作:
第一步,查阅资料,选择合适的硬件,确定硬件系统框图
第二步,使用AD画图;
第三步,画图程序流程图,并使用KEIL完成程序的编写。
第四步,调试。
实现功能
1、检测环境光强。
2、实现自动切换远近光灯。
3、增加手动切换远近光。
4、使用液晶显示实时数据
设计资料清单
全部资料
基于51单片机汽车智能灯光控制系统设计相关推荐
- 基于51单片机的智能空调控制系统设计(仿真+代码+原理图+报告+视频讲解)
基于51单片机的智能空调控制系统 这里写目录标题 1 开发环境 讲解演示视频 2 功能说明介绍 3 仿真图 4 程序 4.1 工程文件 4.2 代码 5 原理图 6 元器件清单 7 视频讲解 8 资料 ...
- 51单片机风扇转动c语言代码,基于51单片机的智能风扇控制系统设计.doc
完美.WORD格式.整理 范文.范例.指导 基于51单片机智能风扇控制系统的设计与实现 摘要:随着气温的逐渐上升,风扇的需求量也逐渐扩大.传统风扇不能根据外界温度的变化对风扇转速快慢进行调整,也不能对 ...
- 【资料分享】基于51单片机的智能指纹考勤系统设计-原理图-PCB-程序-报告、基于51单片机和MAX1898的智能手机充电器设计
1661[毕设课设]基于51单片机的智能指纹考勤系统设计-原理图-PCB-程序-报告 摘 要 随着科学技术的不断发展带动着电子行业的地位越来越重,现在电子产品几乎在社会的各个领域都可以见到.这些技术的 ...
- 基于STC89C52单片机的智能车控制系统设计
目 录 1系统概述 1 1.1设计目的和意义 1 1.2设计思路 2 1.3系统需求分析 2 1.3.1市场需求 2 1.3.2实现功能 2 1.4开发环境 3 1.5运行环境 3 2总体设计 4 2 ...
- 基于51单片机的智能加湿器控制proteus仿真系统设计
本设计 51单片机智能加湿器控制系统proteus仿真(仿真+源码+原理图) 仿真图proteus 7.8 程序编译器:keil 4/keil 5 编程语言:C语言 设计编号C0043 资料下载链接( ...
- 【51单片机】智能地磅控制系统设计
文章目录 一.主要功能 二.硬件资源 1.硬件准备 2.硬件连接 三.软件设计 1.软件结构 2.主要代码 四.实验现象 联系作者 一.主要功能 系统运行后,LCD12864显示初始界面,当红外传感器 ...
- 单片机c语言电梯程序设计,基于51单片机的模拟电梯控制系统设计.doc
摘要:本文介绍了一种电梯模拟控制系统,包括怎样利用对STC89C52进行编程从而对电梯实现自由控制的方式.该系统采用了STC89C52芯片进行控制,用单片机进行编程,能实现的功能非常多而且方便设计,并 ...
- 基于51单片机的自动浇花系统设计/基于51单片机的智能抽奖系统控制设计/基于51单片机的数字时钟与日历显示控制设计 毕业设计
1147基于51单片机的自动浇花系统设计 设计思路:通湿度传感器实时监测湿度,通过LCD显示出实时的湿度采集值,可以通过按键设定目标界限,当达到这个界限值时,浇花系统的电机装置运行. 电路包含:LCD ...
- 智能窗帘传感器c语言程序,基于单片机的智能窗帘控制系统设计(附程序代码)
基于单片机的智能窗帘控制系统设计(附程序代码)(论文18000字,程序代码) 摘要:二十一世纪初以来,科学技术不断发展,智能家居涌现于各家各户,人们越来越重视生活质量的提高.但是传统的手动开合窗帘耗时 ...
- 基于单片机c语言的豆浆机,基于单片机的智能豆浆机控制系统设计(附实物图,电路原理图,程序)...
基于单片机的智能豆浆机控制系统设计(附实物图,电路原理图,程序)(任务书,开题报告,中期检查表,毕业论文11800字) 摘要 由于市面上的豆浆机不具有长时间保温的功能,打浆完成后残渣很多,而且打浆用时 ...
最新文章
- UM功能实现和配置技巧(上)--语音邮件、传真功能
- 开发有新意的短视频,你就是荣耀王者
- 字符串大小写互换方法
- UVa 11466 - Largest Prime Divisor
- php调用hive,如何进行hive的简单操作
- Allegro 17.4设置中文界面
- synchronized和ReentrantLock区别,用新的lock有什么好处?举例说说
- 男女之间应该保留多少隐私
- mac vscode 背景半透明_给 vscode 添加半透明毛玻璃效果
- 解决一个容易忽略的点:pandas无法读取excel的全部列
- java swt 双屏_SWT(JFace)体验之打开多个Form
- 大数据开发工程师岗位分析
- 罗格斯的计算机科学博士奖学金,罗格斯大学计算机工程博士专业排名全网最新深刻分析...
- MySQL语句练习---由简入繁
- MPP(大规模并行处理)简介
- ios上webview与浏览器webview
- 【java笔记】java中的常用容器
- 《尽在双11——阿里巴巴技术演进与超越》全书精华摘录
- 洞察HRM新时代的挑战:得人心者,得天下
- codeup27978 除法算式(NOIP1995普及组第1题)
热门文章
- 网站访问统计分析工具之罗列比较
- JavaScript键盘鼠标监听功能
- MySQL最新版MySQL8.0百度云下载
- 怎么将几张pdf合并成一张_怎么把多个PDF合并成一个PDF?分享合并PDF文件最简单的方法...
- 【新版】掩日免杀windows Defender
- 简单的U盘病毒清理工具 v0.5
- 用matlab来计算函数,Matlab函数求导教程
- maven配置私服后Cannot download sources, 无法下载源码
- 转载:完全卸载SQL Server 2005的方法
- SSD和FTL概述:SSD主控维护FTL