当前位置: 首页 > news >正文

基于51单片机的光强控制LED灯亮灭

目录

具体实现功能

设计介绍

资料内容

全部内容

资料获取


具体实现功能

具体功能:
(1)按下按键K后光敏电阻进行光照检测,LCD1602显示光照强度值;
(2)光照值小于15时,上面2个LED灯亮;光照值达到20-24时,下面2个LED交替闪烁;光照值达到25以上时,4个LED灯循环点亮;
(3)按下按键K1后延迟15s(LCD1602显示倒计时),关闭所有LED灯。

仿真演示视频:

基于51单片机的光强控制LED灯亮灭-仿真视频

设计介绍

51单片机简介

51单片是一种低功耗、高性能CMOS-8位微控制器,拥有灵巧的8位CPU和可编程Flash,使得51单片机为众多嵌入式控制应用系统提供灵活、高效的解决方案。

本设计所使用的芯片可兼容以下所有的51系列单片机(包括AT系列和STC系列)。

资料内容

仿真实现(protues8.7)

本设计利用protues8.7软件实现仿真设计,具体如图。

程序(Keil5)

本设计利用KEIL5软件实现程序设计。

主函数如下:

///
void main()				//主函数
{TMOD=0X01;			//设置计数器工作方式0TH0=0XDC;	//定时10msTL0=0X00;ET0=1;TR0=0;led1=0;led2=0;led3=0;led4=0;set=0;while(1)						 //进入循环{for(m=0;m<50;m++)			//读50次AD值sum = adc0832(0)+sum;		//读到的AD值,将读到的数据累加到sumtemp=sum/120;				//跳出上面的for循环后,将累加的总数除以50得到平均值tempif (temp > K_ZERO) temp = (temp - K_ZERO)/2.0;              //首先减去零点漂移,一般是130mVelsetemp= 0; sum=0; 						//平均值计算完成后,将总数清零Display_1602(temp);	 //显示AD数值和报警值if(set==1){if(temp<=19){led1=1;led2=1;led3=0;led4=0;}if(temp>=25){DelayMs(50);led1=1;DelayMs(50);led1=0;DelayMs(50);led2=1;DelayMs(50);led2=0;DelayMs(50);led3=1;DelayMs(50);led3=0;DelayMs(50);led4=1;DelayMs(50);led4=0;}if((temp>=20)&&((temp<=24))){led1=0;led2=0;led3=1;DelayMs(100);led3=0;DelayMs(100);led4=1;DelayMs(100);led4=0;}}Key();}
}

程序运行结果如图:

全部内容

全部资料包括程序(keil5)、protues仿真(protues8.7)、设计说明、软硬件设计框图、答辩PPT、开发资料、资料使用介绍、仿真视频、最小系统介绍视频等。

资料获取

https://docs.qq.com/doc/DT1ZKQUtTenNLY1Zq

http://www.xdnf.cn/news/926785.html

相关文章:

  • C++11 Token Bucket (令牌桶)算法的锁无实现及应用
  • 《前缀和》题集
  • 0基础破解Typora,使用正版已激活Typora
  • GIC700组件
  • 计算机组成原理-存储器的概述
  • 按字典序排列最小的等效字符串
  • Linux -- 进程信号
  • DFS(深度优先搜索)
  • 从游戏到自动驾驶:互联网时代强化学习如何让机器学会自主决策?
  • 基于STM32的DHT11温湿度远程监测LCD1602显示Proteus仿真+程序+设计报告+讲解视频
  • Global Security Markets 第 10 章衍生品知识点总结​
  • 第一章 计算机系统构成及硬件基础知识
  • 【2025】typora 安装及破解
  • < 自用文 OS有关 新的JD云主机> 国内 京东云主机 2C4G 60G 5Mb 498/36月 Ubuntu22
  • XGBoost时间序列预测之-未来销量的预测
  • 跳跃游戏 dp还是线段树优化
  • 论文调研_BCSD综述论文调研
  • IOS性能优化
  • Shell 命令及运行原理 + 权限的概念(7)
  • SpringBoot 框架实现文件上传下载分享
  • 泛型接口:允许在接口中使用类型参数
  • gis 高程影像切片地图发布geoserver
  • 深圳SMT贴片工艺优化关键步骤
  • 财务后台系统
  • Python Day44 学习(日志Day12复习)
  • 嵌入式部分BSP相关实现
  • LeetCode 每日一题 2025/6/2-2025/6/8
  • 从golang的sync.pool到linux的slab分配器
  • Android开发 系统签名jks制作和问题汇总
  • 实现简易动效