序
🔥 毕业设计和毕业答辩的要求和难度不断提升,传统的毕设题目缺少创新和亮点,往往达不到毕业答辩的要求,这两年不断有学弟学妹告诉学长自己做的项目系统达不到老师的要求。
为了大家能够顺利以及最少的精力通过毕设,学长分享优质毕业设计项目,今天要分享的是:楼道LED灯的智能调节控制系统设计
1 系统硬件设计
1.1 系统整体电路
AT89C51是一种8位微控制器,它的特点是低电压、高性能CMOS。芯片包括可重写4个k字节的闪存和128字节的随机访问数据存储器(RAM)。该设备采用高密度、非易失性存储技术制造,与标准MCS-51指令系统兼容。该芯片具有8位CPU和闪存单元。
该系统使用AT89C51单芯片微计算机作为控制器的核心,外围接口由信号处理电路、LED显示电路、时间显示等部分组成,如图1所示。
图1-1 系统硬件电路原理图
1.2 人体红外信号采集电路
热电红外传感器无须接触人体,只需要检测出人体周围的红外线并用电压信号表示。将菲涅耳透镜放置在热电传感器前,可以显著提高接收信号速度,并增加探测距离和距离。然而,一开始热电传感器的信号变化并不显著,变化速度缓慢且振幅较低,如果直接用作照明系统的控制信号便无法直观的表示出来。为了能够表示出来,可以通过特殊信号处理热电传感器的输出信号,并且可以将热电传感器的输出信号的不规则波形转换为适于单芯片微计算机处理的数字信号。
BIS0001用于处理热电传感器的输出信号的信号处理电路。使用热电红外传感器和一些外部成分可以形成无源热红外开关。图2示出了人类红外信号获取电路的配置框图。
图2 人体红外信号采集电路组成框图
由BIS0001构成的信号处理电路如图3所示。
图3 BIS0001的热释电红外开关应用电路图
图3是OP1运算放大器在第一级放大热电红外传感器的初始信号,经过一系列处理后,双向放大器COP1和Cop2检测到有效触发信号vs,启动延时定时器,再通过晶体管T1放大输出信号VO,控制负载上的继电器和开关。R3是用于检测环境照度的光敏电阻。在用作点亮控制的情况下,动作模式选择开关是在明亮的情况下减小R3,将销9的输入设为低电平来切断触发信号对SW1。如果SW1与端子1相连,然后以重复触发模式,再连接到两个端子,则芯片处于非重复触发模式。输出延迟时间TX由外部R9和C7设置,值为TX`-87767';24576xr9c7型;触发锁定时间ti根据R10和C6的大小设置,值为ti8776;24xr10c6型。
1.3 光照检测电路
当环境光强时,由于R13的电阻小,所以如果点A的水平低且外部环境光弱,则感光电阻R13的电阻值大,并且点A的电平高。将该级别发送到MCU,如图4所示,控制程序是否实现点亮。
图4 光照检测电路
1.4 延时时间选择电路
系统将延迟时间选择电路设置到AT89C52的P1。目的是在周围光线弱的时候,照明装置会自动延迟后出去。电路有4次延迟时间,对应的是P1.0~P3.0。P1.0~P3.0关闭时若没有开关,系统将按照初始值来对P1.0~P1.3开关关闭延迟,程序从P1.3~P1.0中检测。如果端口被检测为低水平,系统将根据当前港口设定的值而延迟。设置时间关系值如表1所示。
表1 端口时间设置表
端口 | 口 | P1.0 | P1.1 | P1.2 | P1.3 |
时间 | /min | 15 | 20 | 25 | 30 |
1.5 输出控制电路
单芯片微计算机检测光检测电路和传感器处理电路的输出信号,并通过单芯片微计算机的P2.0输出输出输出控制信号。室内环境光强或弱,房间里没有人的时候,P2.0输出高水平。此时,三端双向可控硅开关V1被切断,而继电器J1不工作,因此连接到220V的照明装置不被点亮。当察觉到室内光线弱、传感器在房间时,P2.0输出低电平。此时,三端双向可控硅开关V1导通,并且继电器J1操作。然后,通过继电器对照明装置施加220V的交流电,如图5所示使照明装置正常点亮。
图5 输出信号控制电路
2 系统软件设计
2.1 软件设计流程
软件部分的主要在于对光学检测方向的输出信号进行处理和对热电传感器信号的处理。当光线强的时候,电路对光检测电路继续检测,检测电路的输出状态。当光线变弱时,电路进一步对电路的输出状态Vo信号进行检测。当房间里处于有人状态,如果VO等级高的话,系统会按照设定的时间点灯,为了延迟控制照明装置。如果在延迟时间中再次检测到有人存在,则系统在延迟时间内没有检测到房间中,该延迟时间根据所设置的时间来延迟,则控制所述点亮设备以重新检测信号处理电路的输出状态Vo。图6示出了系统软件设计过程。
图6系统软件设计流程图
2.2 软件设计程序
通过KeilC51软件编写了红外传感器信号处理部分主程序,经编译和运行后,程序正确,可以运行,程序如下:
voidmain(void)
{
P2=0xff;P3=0xff;P1=0xff;
SetTime=SetSecond*20; //计算倒计时时间,每次中断50ms,20次为1秒,200次为10秒
TMOD = 0x01; //设置定时器1模式
TH0 =(65535-50000)/256;
TL0 =(65535-50000)%256; //定时器加载初始值
EA=1; //允许中断触发
ET0=1; //允许定时器1中断
TR0=0; //停止定时器1计时
while(1)
{
if(IR==0) //有人体信号
{
delayms(20); //延时,防止误触发
if(IR==0) //有人体信号
{
fIR=1;TR0=1;//启动定时器1,设置人体红外信号标志位为1
LAMP=0; //照明灯点亮
}
}
else fIR=0; //没有人体红外信号,设置人体红外信号标志位为0
}
}
将程序下载到单片机内进行测试,在检测到有人的时候,单片机的P2^0灯亮起,程序正确运行,说明此次程序设计符合设计要求和思路,达到了预期要求。实物图如图7所示。
图7单片机P2^0灯亮起实物图
如果学弟学妹们在毕设方面有任何问题,随时可以私信我咨询哦,有问必答!学长专注于单片机相关的知识,可以解决单片机设计、嵌入式系统、编程和硬件等方面的难题。
愿毕业生有力,陪迷茫着前行!