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