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


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

  • 1
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
基于51单片机智能垃圾桶是一种利用单片机技术实现智能化管理的垃圾分类设备。综合应用了电子技术、传感技术和嵌入式系统设计原理。 该智能垃圾桶的主要构成包括:51单片机、各类传感器、电机和开关电等。通过传感器感知垃圾量、环境温度和湿度等数据,并通过单片机进行实时处理和反馈控制,实现对垃圾桶的智能管理和控制。 在工作原理方面,首先,传感器感知垃圾桶内的垃圾量,一旦达到一定阀值,会触发电机的工作,将垃圾桶内的垃圾自动倾倒。同时,传感器还能感知环境温度和湿度等信息,并通过单片机实时监控和控制,例如当环境温度过高或湿度过大时,可以触发报警系统。 在码方面,基于51单片机智能垃圾桶需要编写相应的嵌入式程序,实现传感器的数据采集和控制信号的输出等功能。根据具体需求,可以使用C语言或汇编语言进行编程。码的编写需要根据具体的硬件电路连接和传感器的驱动来实现相应的功能。 原理图和PCB设计则是将电路连线连接和元件布局等图纸化的产物。根据垃圾桶的具体需求,可以设计相应的硬件电路,确定连接关系和元件的布局。通过原理图和PCB设计,可以准确地制作出相应的硬件电路板。 综上所述,基于51单片机智能垃圾桶的设计实现了垃圾的自动分类和自动清理功能,为垃圾处理提供了便利。该垃圾桶的码、原理图和PCB设计非常重要,它们直接决定了垃圾桶的功能和性能。因此,码的编写和硬件设计需要经过仔细考虑和实验验证,以确保垃圾桶的稳定性和可靠性。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值