毕业设计 单片机教室智能照明控制系统(源码+硬件+论文)

本文主要是介绍毕业设计 单片机教室智能照明控制系统(源码+硬件+论文),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

文章目录

  • 0 前言
  • 1 主要功能
  • 2 硬件设计(原理图)
  • 3 核心软件设计
  • 4 实现效果
  • 5 最后


0 前言

🔥
这两年开始毕业设计和毕业答辩的要求和难度不断提升,传统的毕设题目缺少创新和亮点,往往达不到毕业答辩的要求,这两年不断有学弟学妹告诉学长自己做的项目系统达不到老师的要求。

为了大家能够顺利以及最少的精力通过毕设,学长分享优质毕业设计项目,今天要分享的是

🚩 毕业设计 单片机教室智能照明控制系统(源码+硬件+论文)

🥇学长这里给一个题目综合评分(每项满分5分)

  • 难度系数:3分
  • 工作量:3分
  • 创新点:4分

🧿 项目分享:

https://gitee.com/sinonfin/sharing

在这里插入图片描述

1 主要功能

  • (1)使用4个LED灯模拟教室的照明灯,在符合条件开启时,人数小于10人亮一个灯,10-20人亮二个灯,20-30人亮三个灯,大于30人则全亮四个灯。
  • (2)教室使用两个红外对管来检测是否有人进入并进行人数统计,人数可以统计到二位数99人,并实时将人数显示到液晶屏LCD上,液晶屏同时显示实时日期/时间/星期。
  • (3)利用光敏电阻检测教室的光线强弱;
  • (4)系统分自动/手动模式,可以通过按键切换模式,并有LED指示当前所在模式,在自动模式下,可以设定定时时间段,在定时时间段内,

当教室有人(人数大于0)的情况下,如果光线暗弱则自动打开照明灯,照明灯点亮个数根据人数而定,不在定时时间段或者教室无人的情况下,关闭所有照明灯,另外在手动模式下,可以通过手动开关控制照明灯的亮灭,人数统计部分仍然生效。

在这里插入图片描述

2 硬件设计(原理图)

在这里插入图片描述

在这里插入图片描述

3 核心软件设计

软件逻辑流程如下

在这里插入图片描述

在这里插入图片描述

篇幅有限,不过多复述详细设计细节,详细的设计分享在论文中。。。

关键代码

//寄存器宏定义 
#define WRITE_SECOND 0x80 
#define WRITE_MINUTE 0x82 
#define WRITE_HOUR 0x84 
#define READ_SECOND 0x81 
#define READ_MINUTE 0x83 
#define READ_HOUR 0x85 
#define WRITE_PROTECT 0x8E 
//位寻址寄存器定义 
sbit ACC_7 = ACC^7//管脚定义 
sbit SCLK = P3^5// DS1302时钟信号 7脚 
sbit DIO= P3^6// DS1302数据信号   6脚 
sbit CE = P3^7// DS1302片选 5脚 
//地址、数据发送子程序 
void Write1302 ( unsigned char addr,dat ) 
{ 
unsigned char i,temp; 
CE=0//CE引脚为低电平,数据传送中止 
SCLK=0//清零时钟总线 
CE = 1//CE引脚为高电平,逻辑控制有效 
//发送地址 
for ( i=8; i>0; i-- ) //循环8次移位 
{ 
SCLK = 0; 
temp = addr; 
DIO = (bit)(temp&0x01)//每次传输低字节 
addr >>= 1//右移一位 
SCLK = 1} 
//发送数据 
for ( i=8; i>0; i-- ) 
{ 
SCLK = 0; 
temp = dat; 
DIO = (bit)(temp&0x01); 
dat >>= 1; 
SCLK = 1} 
CE = 0} 
//数据读取子程序 
unsigned char Read1302 ( unsigned char addr ) 
{ 
unsigned char i,temp,dat1,dat2; 
CE=0; 
SCLK=0; 
CE = 1//发送地址 
for ( i=8; i>0; i-- ) //循环8次移位 
{ 
SCLK = 0; 
temp = addr; 
DIO = (bit)(temp&0x01)//每次传输低字节 
addr >>= 1//右移一位 
SCLK = 1} 
//读取数据 
for ( i=8; i>0; i-- ) 
{ 
ACC_7=DIO; 
SCLK = 1; 
ACC>>=1; 
SCLK = 0} 
CE=0; 
dat1=ACC; 
dat2=dat1/16//数据进制转换 
dat1=dat1%16//十六进制转十进制 
dat1=dat1+dat2*10return (dat1)} 
//初始化DS1302 
void Initial(void) 
{ 
Write1302 (WRITE_PROTECT,0X00)//禁止写保护 
Write1302 (WRITE_SECOND,0x56)//秒位初始化 
Write1302 (WRITE_MINUTE,0x34)//分钟初始化 
Write1302 (WRITE_HOUR,0x12)//小时初始化 
Write1302 (WRITE_PROTECT,0x80)//允许写保护 
}

4 实现效果

在这里插入图片描述

在这里插入图片描述

5 最后

包含内容

在这里插入图片描述

🧿 项目分享:

https://gitee.com/sinonfin/sharing

这篇关于毕业设计 单片机教室智能照明控制系统(源码+硬件+论文)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/796939

相关文章

Linux下如何使用C++获取硬件信息

《Linux下如何使用C++获取硬件信息》这篇文章主要为大家详细介绍了如何使用C++实现获取CPU,主板,磁盘,BIOS信息等硬件信息,文中的示例代码讲解详细,感兴趣的小伙伴可以了解下... 目录方法获取CPU信息:读取"/proc/cpuinfo"文件获取磁盘信息:读取"/proc/diskstats"文

Python实现word文档内容智能提取以及合成

《Python实现word文档内容智能提取以及合成》这篇文章主要为大家详细介绍了如何使用Python实现从10个左右的docx文档中抽取内容,再调整语言风格后生成新的文档,感兴趣的小伙伴可以了解一下... 目录核心思路技术路径实现步骤阶段一:准备工作阶段二:内容提取 (python 脚本)阶段三:语言风格调

Java 正则表达式URL 匹配与源码全解析

《Java正则表达式URL匹配与源码全解析》在Web应用开发中,我们经常需要对URL进行格式验证,今天我们结合Java的Pattern和Matcher类,深入理解正则表达式在实际应用中... 目录1.正则表达式分解:2. 添加域名匹配 (2)3. 添加路径和查询参数匹配 (3) 4. 最终优化版本5.设计思

Java调用C++动态库超详细步骤讲解(附源码)

《Java调用C++动态库超详细步骤讲解(附源码)》C语言因其高效和接近硬件的特性,时常会被用在性能要求较高或者需要直接操作硬件的场合,:本文主要介绍Java调用C++动态库的相关资料,文中通过代... 目录一、直接调用C++库第一步:动态库生成(vs2017+qt5.12.10)第二步:Java调用C++

Python实现无痛修改第三方库源码的方法详解

《Python实现无痛修改第三方库源码的方法详解》很多时候,我们下载的第三方库是不会有需求不满足的情况,但也有极少的情况,第三方库没有兼顾到需求,本文将介绍几个修改源码的操作,大家可以根据需求进行选择... 目录需求不符合模拟示例 1. 修改源文件2. 继承修改3. 猴子补丁4. 追踪局部变量需求不符合很

Spring 中 BeanFactoryPostProcessor 的作用和示例源码分析

《Spring中BeanFactoryPostProcessor的作用和示例源码分析》Spring的BeanFactoryPostProcessor是容器初始化的扩展接口,允许在Bean实例化前... 目录一、概览1. 核心定位2. 核心功能详解3. 关键特性二、Spring 内置的 BeanFactory

Python结合Flask框架构建一个简易的远程控制系统

《Python结合Flask框架构建一个简易的远程控制系统》这篇文章主要为大家详细介绍了如何使用Python与Flask框架构建一个简易的远程控制系统,能够远程执行操作命令(如关机、重启、锁屏等),还... 目录1.概述2.功能使用系统命令执行实时屏幕监控3. BUG修复过程1. Authorization

使用Python实现表格字段智能去重

《使用Python实现表格字段智能去重》在数据分析和处理过程中,数据清洗是一个至关重要的步骤,其中字段去重是一个常见且关键的任务,下面我们看看如何使用Python进行表格字段智能去重吧... 目录一、引言二、数据重复问题的常见场景与影响三、python在数据清洗中的优势四、基于Python的表格字段智能去重

Spring AI集成DeepSeek三步搞定Java智能应用的详细过程

《SpringAI集成DeepSeek三步搞定Java智能应用的详细过程》本文介绍了如何使用SpringAI集成DeepSeek,一个国内顶尖的多模态大模型,SpringAI提供了一套统一的接口,简... 目录DeepSeek 介绍Spring AI 是什么?Spring AI 的主要功能包括1、环境准备2

Spring AI与DeepSeek实战一之快速打造智能对话应用

《SpringAI与DeepSeek实战一之快速打造智能对话应用》本文详细介绍了如何通过SpringAI框架集成DeepSeek大模型,实现普通对话和流式对话功能,步骤包括申请API-KEY、项目搭... 目录一、概述二、申请DeepSeek的API-KEY三、项目搭建3.1. 开发环境要求3.2. mav