加入交流群  

扫一扫,添加管理员微信
备注:参考设计,即可被拉入群
和也在搞设计小伙伴们碰一碰

收藏 

评论 

toothache 发布

【课程设计】基于51单片机的智能家居报警系统

 
设计简介
先放一张高清图
2.0更新说明:
修正LCD1602固定孔距为3.1MM,1.0版本为2.5MM导致M3螺丝很难穿进去。
在CH340与51单片机之间的TX-RX增加一个二极管,1.0版本未加,导致CH340倒灌电流,使得MCU无法断电切一直处于复位状态,无法烧录程序。
修正矩阵键盘印丝,1.0版本在按矩阵键盘时会挡住此时的按键值,容易按错。
修正印丝错误、修正封装错误、微调布线。
 
 
以下带括号部分截取自实验报告
一、课程设计内容
1、智能家居报警系统设计
2.利用矩阵键盘和存储芯片 24c02 实现密码锁功能,包括正确密码进入欢迎界面、
修改密码、输入错误密码 3 次锁死 15 秒、密码掉电存储;
3.利用温度传感器和蜂鸣器实现超温报警功能,包括温度数据读取与显示、温度
阈值设置、超温蜂鸣器报警;
4.正常状态时利用 LCD1602 显示温度数据,激活键盘后进入密码锁,退出密码锁
后返回正常状态
5.未解锁状态下有人靠近时触发报警器
 
二、目的
1、增进对单片机的感性认识,加深对单片机理论方面的理解;
2、掌握单片机的内部功能模块的应用,如定时器/计数器、中断、存贮器、I/O
、A/D 转换等;
3、了解和掌握单片机应用系统的软硬件设计过程及实现方法。
设计方案
1. STC89C51 作为主控芯片研究思路
STC89C51 单片机控制系统的主要功能包括:实现密码锁门 、温度监控、万
年历显示功能、靠近警报。
主体电路:STC89C51、LCD1602 液晶显示模块、DS18B20 温度传感器模块、
24c02 模块、人体红外传感模块、矩阵键盘模块,通过矩阵键盘输入,实现对各
个模块的智能控制,实现现智能家居警报系统的一部分功能。
设计输入部分:这一模块主要是以 STC89C1 单片机 P2、P1 I/O 扩展独立键盘
和矩阵键盘实现对机的输入,实现对各个模块的输入。
设计输出部分:这一模块主要是以 LCD1602 液晶显示模块实现单片机控制过
程的信息显示。
设计控制部分:主要由 STC89C51 单片机的外部中断扩展电路和 I/O 口扩展
电路组成。)
 
各模块说明:
焊接好初次烧录程序时,需初始化密码,因此需要将程序中初始化密码的函数取消注释,然后烧录到单片机中,然后再将初始化密码的函数注释掉,再烧录一次到单片机中即可正常使用。初始化函数说明:初始化函数的作用是预先写入一组密码到24C02芯片中,方便后续对密码的操作,由于此函数每次使用时都会将密码设置为预定的值,所以该函数只需烧录一次就可在24C02中设置好密码。如果每次上电都启用这个函数,就会导致每次上电都将密码初始化,导致修改密码失效,即无法保存修改的密码。
矩阵键盘:各个按键的键值已用印丝注明,如果输错数字可使用左移按键回到上一位,右移选择下一位(主要是修改日历和时间用),输入完成后按确认键即可保存。
独立按键:当按下一个按键时,对应功能的指示灯会亮起,如果想退出该功能只需再按一次即可,可以在一个功能启动时,按另一个按键进入另一个功能。
蜂鸣器:用于报警和简单指示(修改密码时会发出不同声调的声音提示)。
DS18B20:用于读取环境温度,设置报警温度最高为99.
红外接收管:用于接收红外遥控器的控制,遥控器能完全控制该系统。(这个课设里没要求,但是有这个稍微比键盘上的按键要方便一点)
门锁指示灯:亮起时表明已已解锁,熄灭表示上锁。
24C02:用于保存密码、温限、日期和时间(由于不是时钟芯片,因此只能在使用功能保存时间时才能存入,即如果系统时间过了五分钟,但未按修改时间进行存入,则下次上电时显示的时间还是五分钟前)
LCD1602:显示所有信息,旁边有背光调节电阻,如果看不清或者没有数值,则需要手动调整背光。
热释电模块预留插座:可以用杜邦线插入热释电人体感应模块,但是精度不怎么样,容易失灵或者乱报警。
CH340:用于烧录程序,下载程序时需重新上电单片机,即按两下电源按键。
 
功能说明:
解锁上锁键:输入密码,正确时门锁指示灯亮起表示解锁,再次输入密码则指示灯熄灭,表示已上锁。输入错误密码3次会锁机15S,蜂鸣器短暂报警,锁机结束时蜂鸣器同样短暂提示,然后显示输入密码。
改密码:输入6位密码,正确时会进入输入新密码界面,并且有短暂蜂鸣器提示,新密码需输入两次才能完成修改密码。输入错误密码3次会锁机15S,蜂鸣器短暂报警,锁机结束时蜂鸣器同样短暂提示,然后显示输入旧密码。
改温限:输入两位数目标报警温度,最高99,当传感器温度超过设定值时,蜂鸣器将持续报警,直至温度低于设定温度。此时系统响应时间会变慢,因为蜂鸣器发声占用了系统资源,因为没有剩余定时器可用,所以会略微影响其他功能使用。
改时间:依次输入四位数年份、月份、日、小时、分钟,改到任意位置可按确认键保存。左移无法跳跃分隔符号“-”数据存入24C02中,每次修改密码时会写入24C02,以便下次上电读取,无法实时保存时间,因为每次保存都要写入24c02中,如每秒都写入一次,24c02很容易写报废。
第一次烧录程序,需要在源文件中的lock.c里面取消注释初始密码,然后第二次烧录时再将此部分注释。主文件名称为ks.c,要用keil4打开

 

遥控器说明:
 
数字键是完全对应的,+解锁/上锁EQ改密码100+改温限200+改时间-确认NEXT左移PLAY右移
我这个遥控器是这样的,但是其他遥控器可能对应的功能按键不一样,数字按键是一样的。
 
复用接口说明:
P2^0、P2^1:大部分情况为解锁功能标志灯和改密码功能标志灯,但同时也用于模拟IIC给24c02读写数据,所以每次保存或读取数据时,这两个灯都会短暂闪烁。
P3^0、P3^1:作为独立按键,但在下载程序时作为串口使用。
P3^2:通常作为独立按键使用,但也作为外部中断输入,连接红外接收管,当遥控器发出指令时,用于接收数据。
 
P3^4空着的原因,当时我用开发板调试的时候试着将P3^2的按键功能移过来,然后系统就卡死了,于是就放弃了使用这个IO口,不过好像是我开发板的问题,
如果需要添加什么功能,这个IO就当做预留,或者也可以试试将P3^2的按键自己移过来,我就不移了。
 
按键是手焊的,风枪吹的话会吹熔化,所以有点歪歪扭扭的,本来有一瓶洗板水的,但是全部挥发了,所以板子也没洗
板载的按键需要按的时间长一点,大概0.5秒,按快了可能刚好没扫描到键值。遥控器反应就相对快一点。LCD显示更新速度略微慢一点,大概指示灯亮了半秒后才会完全刷新,89C51就这样了。
 
以下是1.0实物图:(焊了个直插的二极管是因为1.0版本设计失误,导致电流倒灌,2.0已更正
空板↓
焊接后↓
视频演示(这个人体感应模块灵敏度太差,老是误触发)
 
参考设计图片
×

!注意:请使用浏览器自带下载,迅雷等下载软件可能无法下载到有效资源。

 
相关器件
器件 类型 描述 数据手册
SEA-1285F-0520-42Ω-40P6.5 蜂鸣器 点击下载
C06CF120J-9UN-X1T 贴片电容(MLCC) 点击下载
CA45-A-6.3V-47uF-K 钽电容 精度:±10% 容值:47uF 额定电压:6.3V ESR串联电阻:5 Ω @ 100kHz 工作温度:-55℃ ~ +125℃ 点击下载
CL21B105KAFNFNE 贴片电容 精度:±10% 容值:1uF 额定电压:25V 温漂系数(介质材料):X7R 材质:X7R 点击下载
CL21B104JBCNNNC 贴片电容 精度:±5% 容值:100nF 额定电压:50V 温漂系数(介质材料):X7R 材质:X7R 点击下载
CL21A106KPFNNNE 贴片电容 精度:±10% 容值:10uF 额定电压:10V 温漂系数(介质材料):X5R 材质:X5R 点击下载
SS14 肖特基二极管 直流反向耐压(Vr):40V 平均整流电流(Io):1A 正向压降(Vf):550mV @ 1A 40V,1A,VF=0.55V@1A 点击下载
77311-102-03LF 排针排母 针脚数:3 连接器类型:排针 排数:1 触头类型:公形引脚 间距:0.100"(2.54mm) 点击下载
LCM1602K-FL-YBW LCD液晶显示模块 16*2 LCD液晶显示屏,1602 LCM,16x2 LCD 外观尺寸: 80x36, 内置LED侧部背光源 黄绿模式,VDD=5V 点击下载
NCD0805G1 发光二极管 照明颜色:绿色 主波长/色坐标:525~537.5nm 色温 - CCT(K):- 点击下载
D-B080508B1-KS2 发光二极管 照明颜色:蓝色 主波长/色坐标:456~457nm 0805蓝灯,高亮:33-36mcd@5mA,波长:456-457nm,耐ESD:1000V 点击下载
17-21SURC/S530-A3/TR8 发光二极管 照明颜色:红色 主波长/色坐标:624~632nm 亮度值Iv=61mcd(Typ) @IF=20mA 点击下载
S8550 三极管 晶体管类型:PNP 集电极电流Ic:500mA 集射极击穿电压Vce:25V 额定功率:300mW PNP 点击下载
SK2301AA1SHB MOS(场效应管) 漏源电压(Vdss):16V 连续漏极电流(Id)(25°C 时):3A 栅源极阈值电压:1.5V @ 250uA 漏源导通电阻:160mΩ @ 3A,4.5V 最大功率耗散(Ta=25°C):- 类型:P沟道 点击下载
0805W8J0471T5E 贴片电阻 阻值(欧姆):470 精度:±5% 功率:1/8W 温度系数:±100ppm/°C 点击下载
0805W8F3300T5E 贴片电阻 阻值(欧姆):330 精度:±1% 功率:1/8W 温度系数:±100ppm/°C 点击下载
0805W8J0473T5E 贴片电阻 阻值(欧姆):47K 精度:±5% 功率:1/8W 温度系数:±100ppm/°C 点击下载
0805W8J0102T5E 贴片电阻 阻值(欧姆):1K 精度:±5% 功率:1/8W 温度系数:±100ppm/°C 点击下载
0805W8F4701T5E 贴片电阻 阻值(欧姆):4.7K 精度:±1% 功率:1/8W 温度系数:±100ppm/°C 点击下载
0805W8F1002T5E 贴片电阻 阻值(欧姆):10K 精度:±1% 功率:1/8W 温度系数:±100ppm/°C 点击下载
3386P-1-502LF 精密可调电阻 阻值(欧姆):5K 点击下载
EXB38V103JV 网络排阻 阻值(欧姆):10K 电阻器数:4 精度:±5% 每元件功率:63mW 温度系数:±200ppm/°C 0603_x4 点击下载
CN1J4KTTD471J 网络排阻 阻值(欧姆):470 电阻器数:4 精度:±5% 每元件功率:1/16W 温度系数:±200ppm/°C 点击下载
PB22E06371-0625 按键开关 自锁/无锁:自锁 开关高度:10.00mm 触点额定电流:100mA 作用力:200±50gf 安装类型:通孔 外形尺寸(长宽):5.80mm x 5.80mm 电路结构:DPDT 点击下载
K2-1107ST-A4SW-06 轻触开关 电路结构:SPST-NO 触点额定电流:50mA @ 12VDC 按钮头类型:Rectangular Button 按钮作用方向:Top Actuated 点击下载
STC89C52RC-40I STC(宏晶) 工作电压:3.3V ~ 5.5V CPU位数:8-Bit CPU内核:8051 主频(MAX):80MHz ROM类型:FLASH 点击下载
CH340C USB芯片 驱动器/接收器数:- 协议类别:USB 2.0 类型:Transceiver 数据速率:2Mbps USB转UART串口,内置晶振,手册有提供将TTL 串口转换为RS232 串口的应用原理图 点击下载
HS0038A2D 红外接收管 波长:- 电流 - 暗:- 频谱范围:- 电流 - 集电极(最大值):- 电压 - 集射极击穿(最大值):- 红外接收头 点击下载
AT24C02 非易失性存储器(ROM) 点击下载
DS18B20+ 温度传感器 局部感温:-55°C ~ 125°C 远程感温:- 传感器类型:Digital, Local 分辨率:11 b 输出类型:1-Wire® 可编程、一导线数字温度传感器,工作电压:3.0V~5.5V 点击下载
TYPEC-304-BCP16 USB连接器 点击下载
M12000E142 贴片晶体谐振器(无源) 等效串联电阻(ESR):80Ω 主频:12MHz 频率公差:±20ppm 负载电容值:12pF 点击下载
群聊设计,与管理员及时沟通

欢迎加入EEWorld参考设计群,也许能碰到搞同一个设计的小伙伴,群聊设计经验和难点。 入群方式:微信搜索“helloeeworld”或者扫描二维码,备注:参考设计,即可被拉入群。 另外,如您在下载此设计遇到问题,也可以微信添加“helloeeworld”及时沟通。

 
查找数据手册?

EEWorld Datasheet 技术支持

论坛推荐 更多
更新时间2024-11-17 15:34:51

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版 版权声明

EEWORLD参考设计中心

站点相关: TI培训 德州仪器(TI)官方视频课程培训

北京市海淀区中关村大街18号B座15层1530室 电话:(010)82350740 邮编:100190

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved