单片机课程设计报告智能家居安全系统Word文件下载.docx
《单片机课程设计报告智能家居安全系统Word文件下载.docx》由会员分享,可在线阅读,更多相关《单片机课程设计报告智能家居安全系统Word文件下载.docx(15页珍藏版)》请在冰豆网上搜索。
![单片机课程设计报告智能家居安全系统Word文件下载.docx](https://file1.bdocx.com/fileroot1/2023-1/21/a3ac34df-d192-47af-b5da-8d8b94f05746/a3ac34df-d192-47af-b5da-8d8b94f057461.gif)
4.1.2复位部分8
4.1.3键盘输入部分9
4.1.4显示部分9
4.1.5LED发光二极管部分9
4.1.6蜂鸣报警部分9
4.1.7EEPROM密码存储部分9
4.1.8程序下载电路10
4.2电路流程图10
5电路仿真分析12
5.1初始化后的界面情况12
5.2密码错误情况12
5.3密码正确情况12
5.4密码修改情况13
6电路板制作、焊接、调试14
6.1电路板制作14
6.2电路板焊接14
6.3电路板调试14
7课程设计心得16
1、摘要
21世纪是一个信息化的社会,它与人们的生活的关系也日益紧密。
信息化的社会不仅改变了人们的生活方式,也对传统住宅提出了挑战。
人们对家居的要求早已不只是物理空间,更为追求的是一个安全,方便,舒适的居家环境。
本设计为密码锁智能家居防盗系统,采用Atmel的8位单片机AT89S52为主控芯片,报警源是恶意输入错误密码三次。
硬件部分包括单片机主控制系统、密码门禁模块、数据存储模块、报警模块、程序下载模块。
主控制系统中采用Atmel的8位单片机AT89S52,该单片机性能优良,能满足一般的普通应用;
密码门禁及报警系统部分采用了4×
4矩阵键盘输入以及采用EEPROM芯片AT24C02作为掉电后可以存储密码,从而保证了系统的安全性与实用性;
程序下载模块则是利用串口线下载。
本设计的特点是技术成熟,性能稳定,操作简单,界面清晰,而且报警精度好,安全指数高,符合智能家居安防的设计目的。
关键词:
AT89S52单片机密码门禁
2、方案的比较与选择
2.1方案1:
数字电路控制家具安全系统
用以双JK触发器构成的数字逻辑电路作为密码控制系统的核心控制,共设了9个数字输入键,还有确认键和取消键等。
如果用户输入密码错误,则电路将报警;
若电路连续报警三次,即密码输入错误3次,电路将锁定键盘并长时间报警。
这样可以防止他人潜入进入家居住宅。
2.2方案2:
AT89S52为核心控制家居安全系统
单片机编程设计灵活,借助丰富的IO端口和控制的准确性,除了能实现基本的密码锁功能,还能添加密码修改存储、蜂鸣、闪烁提示等各种各样的附加功能。
单片机外接输入密码键盘,还有1602液晶用于显示作用。
用户需要开门时,先按键盘开锁键之后按键盘的数字键0-9输入密码。
密码输完后按下确认键。
如果密码输入正确则开锁,不正确则报警提示并重新输入密码。
三次错误时自动蜂鸣报警。
除此之外,还可进行修改密码操作。
为了确认安全
方案甲设计简单且操作容易,但没有可发展空间,而且后期修改几乎是不可能的;
方案乙有极大的扩展余裕,设计灵活,可以自由嵌入各模块,同时可以通过修改程序来改变功能。
综上,选择方案乙。
3、主要系统元器件介绍
3.1主控芯片AT89S52
AT89S52是一个低功耗,高性能CMOS8位单片机,具有8K在系统可编程Flash存储器。
使用Atmel公司高密度非易失性存储器技术制造,与工业80C51产品指令和引脚完全兼容。
片上Flash允许程序存储器在系统可编程,亦适于常规编程器。
在单芯片上,拥有灵巧的8位CPU和在系统可编程Flash,使得AT89S52在众多嵌入式控制应用系统中得到广泛应用。
3.1.1AT89S52性能简介
图3-1AT89S52芯片引脚图(DIP封装)
AT89S52具有以下标准功能:
8k字节Flash,256字节RAM,32位I/O口线,看门狗定时器,2个数据指针,三个16位定时器/计数器,一个6向量2级中断结构,全双工串行口,片内晶振及时钟电路。
另外,AT89S52可降至0Hz静态逻辑操作,支持2种软件可选择节电模式。
空闲模式下,CPU停止工作,允许RAM、定时器/计数器、串口、中断继续工作。
掉电保护方式下,RAM内容被保存,振荡器被冻结,单片机一切工作停止,直到下一个中断或硬件复位为止。
其主要功能特性:
①兼容MCS-51指令系统②1000次擦写周期
③32个可编程I/O口④8K字节在系统可编程Flash存储器
⑤3个16位可编程定时/计数器⑥时钟频率0-33MHz
⑦六个中断源⑧看门狗定时器
⑨低功耗空闲和掉电模式⑩掉电标识符
⑾全双工UART串行通道⑿3级加密程序存储器
⒀双数据指针⒁掉电后中断可唤醒
3.1.2AT89S52引脚简介说明
VCC:
电源电压
GND:
地
P0口:
P0口是一个8位漏极开路的双向I/O口。
P1口、P2口和P3口:
都是具有内部上拉电阻的8位双向I/O口,它们的输出缓冲器能驱动4个TTL逻辑电平。
RST:
复位输入。
当振荡器工作时,RST引脚出现两个机器周期以上高电平将是单片机复位。
ALE/PROG:
当访问外部程序存储器或数据存储器时,ALE(地址锁存允许)输出脉冲用于锁存地址的低8位字节。
PSEN:
程序储存允许(PSEN)输出是外部程序存储器的读选通信号,当AT89S52由外部程序存储器取指令(或数据)时,每个机器周期两次PSEN有效,即输出两个脉冲,在此期间,当访问外部数据存储器,将跳过两次PSEN信号。
EA/VPP:
外部访问允许,欲使CPU仅访问外部程序存储器(地址为0000H-FFFFH),EA端必须保持低电平(接地)。
XTAL1:
振荡器反相放大器及内部时钟发生器的输入端。
XTAL2:
振荡器反相放大器的输出端。
3.2LCD1602显示器
1602型LCD显示模块具有体积小,功耗低,显示内容丰富等特点。
1602型LCD可以显示2行16个字符,有8位数据总线D0-D7和RS,R/W,EN三个控制端口,工作电压为5V。
3.2.1接口信号说明
表3-1、1602型LCD的接口信号说明
编号
符号
引脚说明
1
VSS
电源地
9
D2
DataI/O
2
VDD
电源正极
10
D3
3
V0
液晶显示偏压信号
11
D4
4
RS
数据/命令选择端(H/L)
12
D5
5
R/W
读写选择端(H/L)
13
D6
6
E
使能信号
14
D7
7
D0
15
BLA
背光源正极
8
D1
16
BLK
背光源负极
3.2.2主要技术参数
表3-2为1602型LCD的主要技术参数
显示容量
芯片工作
电压
工作电流
模块最佳
工作电压
字符尺寸
16X2个字符
4.5~5.5V
2.0mA(5.0V)
5.0V
2.95X4.35(WXH)mm
读状态:
输入:
RS=L,RW=L,E=H输出:
D0-D7=状态字
读数据:
RS=H,RW=H,E=H输出:
无
写指令:
RS=L,RW=L,D0-D7=指令码,E=高脉冲输出:
D0-D7=数据
写数据:
RS=H,RW=L,D0-D7=数据,E=高脉冲输出:
3.3AT24C02串行EEPROM
EEPROM(ElectricallyErasableProgrammableRead-OnlyMemory),电可擦可编程只读存储器--一种掉电后数据不丢失的存储芯片。
EEPROM可以在电脑上或专用设备上擦除已有信息,重新编程。
一般用在即插即用。
它是可用户更改的只读存储器(ROM),其可通过高于普通电压的作用来擦除和重编程(重写)。
不像EPROM芯片,EEPROM不需从计算机中取出即可修改。
AT24CXX是美国ATMEL公司的低功耗CMOS串行EEPROM,典型的型号有AT24C01A/02/04/08/16等5种,它们的存储容量分别是1024/2048/4096/8192/16384位;
也就是128/256/512/1024/2048字节;
使用电压级别有5V,2.7V,2.5V,1.8V。
AT24C02是一个CMOS标准的EEPROM存储器,是AT24CXX系列(AT24C01/02/04/08/16)成员之一,这些EEPROM存储器的特点是功耗小、成本低、电源范围宽,静态电源电流约30uA~110uA,具有标准的I2C总线接口,是应用广泛的小容量存储器之一。
图3-2AT24C02芯片引脚逻辑
上图是AT24C02的引脚图,这个芯片是一个8脚芯片,内部存储器有256字节。
引脚功能介绍如下:
A0(引脚1):
器件地址的A0位,是器件地址的最低位,器件地址排列是A6A5A4A3A2A1A0R/W。
A1(引脚2):
器件地址的A1位。
A2(引脚3):
器件地址的A2位。
GND(引脚4):
地线。
SDA(引脚5):
数据总线引脚。
SCL(引脚6):
时钟总线引脚。
TEST(引脚7):
测试引脚,
Vcc(引脚8):
电源线引脚。
4、电路硬件介绍
4.1电路介绍
本设计主要由单片机、矩阵键盘、液晶显示器和密码存储等部分组成。
其中矩阵键盘用于输入数字密码和修改密码等功能的实现。
由用户通过连接单片机的矩阵键盘输入密码,后经过单片机对用户输入的密码与自己保存的密码进行对比,从而判断密码是否正确,若错误就报警。
超过3次就长报警。
4.1.1电源输入部分
密码锁主要控制部分电源需要用5V直流电源供电,其电路如图4-3所示。
里面与一个常闭常开的电路开关连接。
4.1.2复位部分
单片机复位是使CPU和系统中的其他功能部件都处在一个确定的初始状态,并从这个状态开始工作。
单片机在启动时复位,可以使CPU及系统各部件处于确定的初始状态,并从初态开始工作。
89系列单片机的复位信号是从RST引脚输入到芯片内的施密特触发器中的。
当系统处于正常工作状态时,且振荡器稳定后,如果RST引脚上有一个高电平并维持2个机器周期(24个振荡周期)以上,则CPU就可以响应并将系统复位。
单片机系统的复位方式有:
手动按钮复位和上电复位。
本设计采用按键复位。
4.1.3键盘输入部分
本设计采用的是矩阵式按键键盘,它由行线和列线组成,也称行列式键盘,按键位于行列的交叉点上,密码锁的密码由键盘输入完成,与独立式按键键盘相比,要节省很多I/O口。
本设计中使用的这个4*4键盘不但能完成密码的输入还能作特别功能键使用,比如修改密码后退功能等。
键盘的每个按键功能可以在程序设计中设置。
4.1.4显示部分
本设计的显示部分由液晶显示器LCD1602取代普通的数码管来完成,可以提高密码锁的密码显示效果能力,令用户更加明白显示内容。
当需要对家居住宅进行开锁时,按下键盘上的数字键0-9输入密码,每按下一个数字键后在显示器上显示一个“*”,输入多少位就显示多少个“*”。
当密码输入完成时,按下确认键,如果输入的密码正确的话,LCD子显示“Right!
”,家居被打开;
如果密码不正确,LCD显示屏会显示“Firsterror!
”,同理第二次错就是“Seconderror!
”,第三次显示“Thirderror!
”,并质疑“AreyouHost?
”。
通过LCD显示屏,可以清楚的判断出密码锁所处的状态。
其显示部分引脚接口如下图所示:
4.1.5发光二极管部分
LED发光二极管有红灯、黄灯和绿灯,红灯负责报警,包括输入错误密码和感应到有人闯进住宅。
当密码正确时,绿灯才会闪亮,随后黄灯亮表示门锁开启,10S之后,黄灯关闭。
电路如下:
4.1.6蜂鸣报警部分
此电路可以发出蜂鸣声报警,引起家居住宅主人的注意。
如下图所示:
4.1.7EEPROM密码存储部分
当密码修改之后,可以存储到此芯片,掉电后不会丢失。
4.1.8程序下载电路
通过下载电路,可以把需要应用的程序载入到单片机芯片AT89S52之中进行调试。
4.2电路流程图
系统软件设计由主程序、初始化程序、LCD显示程序、键盘扫描程序、键功能程序、密码设置程序和延时程序等组成。
如图所示为主程序流程图,开始接上电源,程序进行初始化设置,然后在键盘上输入密码,此系统进行键盘扫描,然后启动程序,进行保护,再次在键盘上输入密码,系统进行扫描,如和之前一样,则执行程序,如不是,则执行另一种程序,最后结束。
5、电路仿真分析
5.1初始化后的界面情况
5.2密码正确情况
欢迎语
5.3密码错误情况
第一次输入错误
第二次输入错误
第三次输入错误
5.4密码修改情况
6.电路板的制作、焊接、调试
6.1电路板制作
在制作电路板之前,先画好PCB电路图。
注意点有三个:
1、元件的封装。
注意焊盘的大小和焊盘之间的距离。
2、注意线宽大小,本设计把线宽调至0.8mm。
3、布局和布线。
注意尽量少飞线和单层PCB板布线。
电路板制作有以下5步:
(1)打印电路图:
先设置相关的参数,后在油性纸面上进行PCB电路图的打印,将图纸打印好之后后,注意不要刮落到碳粉。
(2)过塑:
把打印的PCB图紧紧贴到电路板上,并且用胶纸来黏好。
之后把电路板放到过塑机上进行过塑,约20~40次。
若印得不太理想,但是基本脉络都在,则可以使用油性笔进行线路修补。
(3)腐蚀:
把过塑好的电路板放到盐酸与双氧水的混合物上面进行腐蚀。
腐蚀过后,电路板要用清水清洗。
(4)用洗板水把碳粉清理干净,此时可以看到清晰的铜线线路。
(5)对焊盘中间进行钻孔,钻孔之后就是最终完成的电路板。
6.2电路板焊接
电路板制作好后,便可以进行焊接了。
焊接时要注意下问题:
(1)检查一下电路板铜线是否存在隔断,若存在,则进行焊锡把隔断的铜线线路进行相连。
(2)对照原理图以及PCB图来进行焊接。
(3)注意排阻和电容的极性,插座的方向等问题。
(4)焊锡时注意某些相近的管脚是否相连导致短路。
6.3电路板调试
在调试之前,先逐一把芯片插进相应的插槽。
注意芯片的管脚是否插入正确。
做完一切之后就进行电路的调试。
(1)程序不能下载。
检查发现是管脚没有焊接完好。
(2)程序下载正常,电路不能工作。
检查发现是复位电路的问题。
单片机是高电平复位,而程序设计时设想是低电平复位。
仿真时并没有出现问题,这一切告诉我们不可过分相信仿真结果。
最终把按键触发复位,改成上电复位。
(3)接上电源后,液晶屏亮却没有字幕显示,只有两行空白。
用电表检查发现线路完好,不存在断路和短路问题。
最后发现是电位器阻值过大,导致液晶显示不正常。
通过修改电位器阻值,可以让液晶显示显示正常。
7、实验心得与体会
这次的单片机设计过程很幸苦,但收获很大。
之前有做过类似的设计,所以还是能很快上手的,首先是确定我们要做的是智能家居防盗,找资料这倒还好,在设计电路图和程序设计仿真就很困难,有点做不来,因为自己编程能力很一般,最后几个人一起努力搞定,在制PCB版第一次失败了,最后找到原因也做好了,程序下载的时候也出错了,经过调试最后终于做出来了,虽然做的不太顺利,但是收获还是挺多,也做成功了,增强了我们的信心,也为我们单片机的学习画上了一个圆满的句号。