《单片机课程设计报告·智能家居安全系统.pdf》由会员分享,可在线阅读,更多相关《单片机课程设计报告·智能家居安全系统.pdf(15页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、单点课【杨勇】-安全用电单片机课程设计报告智能家居防盗系统姓 名:石 颖孙日晟唐春龙班 级:09 电信 1学 号:200930580122/23/24指导老师:姜 晟邓小玲日期:2012.05.252012.06.08华南农业大学工程学院1单点课【杨勇】-安全用电目目录录No table of contents entries found.No table of contents entries found.1 1、摘、摘要要21世纪是一个信息化的社会,它与人们的生活的关系也日益紧密。信息化的社会不仅改变了人们的生活方式,也对传统住宅提出了挑战。人们对家居的要求早已不只是物理空间,更为追求的是
2、一个安全,方便,舒适的居家环境。本设计为密码锁智能家居防盗系统,采用Atmel的8位单片机AT89S52为主控芯片,报警源是恶意输入错误密码三次。硬件部分包括单片机主控制系统、密码门禁模块、数据存储模块、报警模块、程序下载模块。主控制系统中采用Atmel的8位单片机AT89S52,该单片机性能优良,能满足一般的普通应用;密码门禁及报警系统部分采用了44矩阵键盘输入以及采用EEPROM芯片AT24C02作为掉电后可以存储密码,从而保证了系统的安全性与实用性;程序下载模块则是利用串口线下载。本设计的特点是技术成熟,性能稳定,操作简单,界面清晰,而且报警精度好,安全指数高,符合智能家居安防的设计目的
3、。关键词:AT89S52 单片机 密码门禁2单点课【杨勇】-安全用电2 2、方案的比、方案的比较较与与选择选择2.1 方案 1:数字电路控制家具安全系统用以双 JK 触发器构成的数字逻辑电路作为密码控制系统的核心控制,共设了 9 个数字输入键,还有确认键和取消键等。如果用户输入密码错误,则电路将报警;若电路连续报警三次,即密码输入错误 3 次,电路将锁定键盘并长时间报警。这样可以防止他人潜入进入家居住宅。2.2 方案 2:AT89S52 为核心控制家居安全系统密码输入单片机AT89S52复位电路显示电蜂鸣报警(包括指示灯)路程序下载模块单片机编程设计灵活,借助丰富的 IO 端口和控制的准确性,
4、除了能实现基3单点课【杨勇】-安全用电本的密码锁功能,还能添加密码修改存储、蜂鸣、闪烁提示等各种各样的附加功能。单片机外接输入密码键盘,还有 1602 液晶用于显示作用。用户需要开门时,先按键盘开锁键之后按键盘的数字键 09 输入密码。密码输完后按下确认键。如果密码输入正确则开锁,不正确则报警提示并重新输入密码。三次错误时自动蜂鸣报警。除此之外,还可进行修改密码操作。为了确认安全方案甲设计简单且操作容易,但没有可发展空间,而且后期修改几乎是不可能的;方案乙有极大的扩展余裕,设计灵活,可以自由嵌入各模块,同时可以通过修改程序来改变功能。综上,选择方案乙。3 3、主要系、主要系统统元器件介元器件介
5、绍绍3.13.1 主控芯片主控芯片 AT89S52AT89S52AT89S52 是一个低功耗,高性能 CMOS 8 位单片机,具有 8K 在系统可编程 Flash 存储器。使用 Atmel 公司高密度非易失性存储器技术制造,与工业 80C51 产品指令和引脚完全兼容。片上 Flash 允许程序存储器在系统可编程,亦适于常规编程器。在单芯片上,拥有灵巧的 8 位 CPU 和在系统可编程 Flash,使得 AT89S52 在众多嵌入式控制应用系统中得到广泛应用。3.1.1 AT89S52 性能简介图 3-1 AT89S52 芯片引脚图(DIP 封装)AT89S52 具有以下 标准功能:8k 字节
6、Flash,256 字节 RAM,32 位 I/O 口线,看门狗定时器,2 个数据指 针,三个 16 位 定时器/计数器,一个 6 向量 2 级中断结构,全双工串行口,片内晶振及 时钟电 路。另外,AT89S52可降至 0Hz 静态逻 辑4单点课【杨勇】-安全用电操作,支持 2 种软件可选择节电 模式。空 闲模式下,CPU 停止工作,允 许 RAM、定时器/计数器、串口、中断 继续工 作。掉电保护方式下,RAM 内容被保存,振荡器被冻结,单片机一切工作停止,直到下一个中断或硬件复位为止。其主要功能特性:兼容 MCS-51 指令系统1000 次擦写周期32 个可编程 I/O 口8K 字节在系统可
7、编程 Flash 存储器3 个 16 位可编程定时/计数器时钟频率 0-33MHz六个中断源看门狗定时器低功耗空闲和掉电模式掉电标识符全双工 UART 串行通道3 级加密程序存储器双数据指针掉电后中断可唤醒3.1.2 AT89S52 引脚简介说明VCC:电源电压GND:地P0 口:P0 口是一个 8 位漏极开路的双向 I/O 口。P1 口、P2 口和 P3 口:都是具有内部上拉电阻的 8 位双向 I/O 口,它们的输出缓冲器能驱动 4 个 TTL 逻辑电平。RST:复位输入。当振荡器工作 时,RST 引脚出 现两个机器周期以上高 电平将是 单片机复位。ALE/PROG:当访问外部程序存 储器或
8、数据存 储器时,ALE(地址 锁存允许)输出脉冲用于 锁存地址的低 8 位字节。PSEN:程序 储存允许(PSEN)输出是外部程序存 储器的读选通信号,当AT89S52由外部程序存 储器取指令(或数据)时,每个机器周期两次PSEN 有效,即 输出两个脉冲,在此期 间,当访问外部数据存 储器,将跳 过两次 PSEN 信号。EA/VPP:外部访问允许,欲使 CPU 仅访问 外部程序存 储器(地址 为 0000H-FFFFH),EA 端必须保持低 电平(接地)。XTAL1:振荡器反相放大器及内部时钟发生器的输入端。XTAL2:振荡器反相放大器的输出端。3.2 LCD16023.2 LCD1602 显
9、显示器示器1602 型 LCD 显示模块具有体积小,功耗低,显示内容丰富等特点。1602 型 LCD 可以显示 2 行 16 个字符,有 8 位数据总线 D0-D7 和 RS,R/W,EN 三个控制端口,工作电压为 5V。3.2.1 接口信号说明表 3-1、1602 型 LCD 的接口信号说明编符引脚说明号号1V电源地SS2V电源正极DD3V液晶显示偏压信号04R数据/命令选择端S(H/L)编号9210111254DData I/O3DData I/ODData I/O号DData I/O符引脚说明5单点课【杨勇】-安全用电5/W67081REDD读写选择端(H/L)3使能信号4Data I/
10、O5Data I/O616171LA1LKDDBBData I/OData I/O背光源正极背光源负极3.2.2 主要技术参数表 3-2 为 1602 型 LCD 的主要技术参数显示容量芯片工作电压工作电流模块最佳工作电压字符尺寸16X2 个字符4.55.5V2.0mA(5.0V)5.0V2.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.3 A
11、T24C023.3 AT24C02 串行串行 EEPROMEEPROMEEPROM(Electrically Erasable Programmable Read-Only Memory),电可擦可编程只读存储器-一种掉电后数据不丢失的存储芯片。EEPROM 可以在电脑上或专用设备上擦除已有信息,重新编程。一般用在即插即用。它是可用 户更改的只 读存储器(ROM),其可通过高于普通 电压的作用来擦除和重编程(重写)。不像 EPROM 芯片,EEPROM 不需从 计算机中取出即可修改。AT24CXX 是美国 ATMEL 公司的低功耗 CMOS 串行 EEPROM,典型的型号有AT24C01A/0
12、2/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存储器的特点是功耗小、成本低、电源范围宽,静态电源电流约30uA2110uA,具有标准的 I C 总线接口,是应用广泛的小容量存储器之一。6单点课【杨勇】-安全用电图 3-2 AT24C02 芯片引脚逻辑上图是 AT24C02 的
13、引脚图,这个芯片是一个 8 脚芯片,内部存储器有 256 字节。引脚功能介绍如下:A0(引脚 1):器件地址的 A0 位,是器件地址的最低位,器件地址排列是A6 A5 A4 A3A2 A1 A0 R/W。A1(引脚 2):器件地址的 A1 位。A2(引脚 3):器件地址的 A2 位。GND(引脚 4):地线。SDA(引脚 5):数据总线引脚。SCL(引脚 6):时钟总线引脚。TEST(引脚 7):测试引脚,Vcc(引脚 8):电源线引脚。4 4、电电路硬件介路硬件介绍绍4.14.1 电电路介路介绍绍本设计主要由单片机、矩阵键盘、液晶显示器和密码存储等部分组成。其中矩阵键盘用于输入数字密码和修改
14、密码等功能的实现。由用户通过连接单片机的矩阵键盘输入密码,后经过单片机对用户输入的密码与自己保存的密码进行对比,从而判断密码是否正确,若错误就报警。超过 3 次就长报警。密码输入单片机AT89S52路复位电显示电蜂鸣报警(包括指示灯)路程序下载模块4.1.1 电源输入部分密码锁主要控制部分电源需要用 5V 直流电源供电,其电路如图 4-3 所示。里面与一个常闭常开的电路开关连接。7单点课【杨勇】-安全用电4.1.2 复位部分单片机复位是使 CPU 和系统中的其他功能部件都处在一个确定的初始状态,并从这个状态开始工作。单片机在启动时复位,可以使 CPU 及系统各部件处于确定的初始状态,并从初态开
15、始工作。89 系列单片机的复位信号是从 RST 引脚输入到芯片内的施密特触发器中的。当系统处于正常工作状态时,且振荡器稳定后,如果 RST 引脚上有一个高电平并维持 2 个机器周期(24 个振荡周期)以上,则 CPU 就可以响应并将系统复位。单片机系统的复位方式有:手动按钮复位和上电复位。本设计采用按键复位。4.1.3 键盘输入部分本设计采用的是矩阵式按键键盘,它由行线和列线组成,也称行列式键盘,按键位于行列的交叉点上,密码锁的密码由键盘输入完成,与独立式按键键盘相比,要节省很多 I/O口。本设计中使用的这个 4*4 键盘不但能完成密码的输入还能作特别功能键使用,比如修改密码后退功能等。键盘的
16、每个按键功能可以在程序设计中设置。4.1.4 显示部分本设计的显示部分由液晶显示器 LCD1602 取代普通的数码管来完成,可以提高密码锁的密码显示效果能力,令用户更加明白显示内容。当需要对家居住宅进行开锁时,按下键盘上的数字键 09 输入密码,每按下一个数字键后在显示器上显示一个“*”,输入多少位就显示多少个“*”。当密码输入完成时,按下确认键,如果输入的密码正确的话,LCD 子显示“Right!”,家居被打开;如果密码不正确,LCD 显示屏会显示“First error!”,同理第二次错就是8单点课【杨勇】-安全用电“Second error!”,第三次显示“Third error!”,并
17、质疑“Are you Host?”。通过 LCD显示屏,可以清楚的判断出密码锁所处的状态。其显示部分引脚接口如下图所示:4.1.5 发光二极管部分LED 发光二极管有红灯、黄灯和绿灯,红灯负责报警,包括输入错误密码和感应到有人闯进住宅。当密码正确时,绿灯才会闪亮,随后黄灯亮表示门锁开启,10S 之后,黄灯关闭。电路如下:4.1.6 蜂鸣报警部分此电路可以发出蜂鸣声报警,引起家居住宅主人的注意。如下图所示:9单点课【杨勇】-安全用电4.1.7EEPROM 密码存储部分当密码修改之后,可以存储到此芯片,掉电后不会丢失。4.1.8程序下载电路通过下载电路,可以把需要应用的程序载入到单片机芯片 AT8
18、9S52 之中进行调试。10单点课【杨勇】-安全用电4.24.2 电电路流程路流程图图系统软件设计由主程序、初始化程序、LCD 显示程序、键盘扫描程序、键功能程序、密码设置程序和延时程序等组成。如图所示为主程序流程图,开始接上电源,程序进行初始化设置,然后在键盘上输入密码,此系统进行键盘扫描,然后启动程序,进行保护,再次在键盘上输入密码,系统进行扫描,如和之前一样,则执行程序,如不是,则执行另一种程序,最后结束。开始初始化外部存储密码载入键 盘扫描键 功 能程序关 闭程序结束5 5、电电路仿真分析路仿真分析5.15.1 初始化后的界面情况初始化后的界面情况5.25.2 密密码码正确情况正确情况
19、11单点课【杨勇】-安全用电欢迎语5.35.3 密密码错误码错误情况情况第一次输入错误第二次输入错误第三次输入错误5.45.4 密密码码修改情况修改情况12单点课【杨勇】-安全用电6.6.电电路板的制作、路板的制作、焊焊接、接、调试调试6.16.1 电电路板制作路板制作在制作电路板之前,先画好 PCB 电路图。注意点有三个:1、元件的封装。注意焊盘的大小和焊盘之间的距离。2、注意线宽大小,本设计把线宽调至 0.8mm。3、布局和布线。注意尽量少飞线和单层 PCB 板布线。电路板制作有以下 5 步:(1)打印电路图:先设置相关的参数,后在油性纸面上进行 PCB 电路图的打印,将图纸打印好之后后,
20、注意不要刮落到碳粉。(2)过塑:把打印的 PCB 图紧紧贴到电路板上,并且用胶纸来黏好。之后把电路板放到13单点课【杨勇】-安全用电过塑机上进行过塑,约 2040 次。若印得不太理想,但是基本脉络都在,则可以使用油性笔进行线路修补。(3)腐蚀:把过塑好的电路板放到盐酸与双氧水的混合物上面进行腐蚀。腐蚀过后,电路板要用清水清洗。(4)用洗板水把碳粉清理干净,此时可以看到清晰的铜线线路。(5)对焊盘中间进行钻孔,钻孔之后就是最终完成的电路板。6.26.2 电电路板路板焊焊接接电路板制作好后,便可以进行焊接了。焊接时要注意下问题:(1)检查一下电路板铜线是否存在隔断,若存在,则进行焊锡把隔断的铜线线
21、路进行相连。(2)对照原理图以及 PCB 图来进行焊接。(3)注意排阻和电容的极性,插座的方向等问题。(4)焊锡时注意某些相近的管脚是否相连导致短路。6.36.3 电电路板路板调试调试在调试之前,先逐一把芯片插进相应的插槽。注意芯片的管脚是否插入正确。做完一切之后就进行电路的调试。(1)程序不能下载。检查发现是管脚没有焊接完好。(2)程序下载正常,电路不能工作。检查发现是复位电路的问题。单片机是高电平复位,而程序设计时设想是低电平复位。仿真时并没有出现问题,这一切告诉我们不可过分相信仿真结果。最终把按键触发复位,改成上电复位。(3)接上电源后,液晶屏亮却没有字幕显示,只有两行空白。用电表检查发
22、现线路完好,不存在断路和短路问题。最后发现是电位器阻值过大,导致液晶显示不正常。通过修改电位器阻值,可以让液晶显示显示正常。14单点课【杨勇】-安全用电7 7、实验实验心得与体会心得与体会这次的单片机设计过程很幸苦,但收获很大。之前有做过类似的设计,所以还是能很快上手的,首先是确定我们要做的是智能家居防盗,找资料这倒还好,在设计电路图和程序设计仿真就很困难,有点做不来,因为自己编程能力很一般,最后几个人一起努力搞定,在制PCB 版第一次失败了,最后找到原因也做好了,程序下 载的时候也出错了,经过调试最后终于做出来了,虽然做的不太顺利,但是收获还是挺多,也做成功了,增 强了我们的信心,也为我们单片机的学习画上了一个圆满的句号。15