




已阅读5页,还剩48页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
基于单片机的密码锁设计 i 摘摘 要要 随着电子产品向智能化和微型化的不断发展,电子密码锁已广泛用于生活中,单片 机已成为电子产品研制和开发中首选的控制器。由于单片机具有体积小,耗电少,控制 精度高,运行可靠等特点,所以广泛应用于实际生产中。为了更好地推广电子锁在各个 领域中的应用,在此根据任务要求设计了一种基于 at89c51 单片机控制的电子密码锁。 并介绍了 at24c04 存储器和 1602 显示器及工作原理、设计思想以及硬件电路和软件程 序等。装置应用 at89c51 单片机,通过单片机编写程序,并用 lcd1602 显示密码。显 示屏上可以显示当前输入的六位数字。当输入密码正确时,对应的指示灯亮,显示器上 显示 password ok;当密码输入错误的次数超过三次时,蜂鸣器发出报警信号同时显示器 上显示 password error。 关键字:密码锁,单片机,关键字:密码锁,单片机,at24c04 存储器,存储器,lcd1602 基于单片机的密码锁设计 ii abstract along with the electronic product miniaturization to the intelligent and continuous development electronic password lock has been widely used in life, scm has become the electronic product research and development in the preferred controller. because the scm has the advantages of small volume, low power consumption, high control precision, reliable operation and so on, so it is widely applied in actual production. in order to better promote the electronic lock in various fields of application, then according to the requirements of task design based on at89c51mcu control of the electronic code lock. this paper introduces at24c04memory and a 1602display and the principle of work, design concept and the hardware circuit and software program. application of single chip microcomputer device at89c51, through the program, and lcd1602 display code. the display can display the current input six numbers. when the input password is correct, the corresponding indicator light, display password ok; when the password input error more than three times, the buzzer sends out alarm signal at the same time display on password error. key words: password lock, mcu, memoryat24c04, lcd1602 基于单片机的密码锁设计 1 目目 录录 摘 要i abstractii 第一章 绪论1 1.1 课题的背景和意义1 1.2 电子密码锁的趋势2 第二章 系统总体设计方案3 2.1 密码锁具体设计要求3 2.2 总体设计方案选定3 第三章 硬件系统设计5 3.1 系统芯片介绍5 3.1.1 单片机 at89c51 功能介绍5 3.1.2 存储芯片 at24c04 介绍7 3.1.3lcd1602 显示器介绍8 3.2 硬件电路设计9 3.2.1 键盘输入电路9 3.2.2 电源输入电路10 3.2.3 掉电存储电路10 3.2.4 晶振电路11 3.2.5 复位电路12 3.2.6 显示电路12 3.2.7 报警电路13 3.2.8 开锁电路13 3.3 电路设计总图14 第四章 软件系统设计16 4.1 主程序流程图16 4.2 按键软件设计17 4.2.1 按键功能程序流程图17 基于单片机的密码锁设计 2 4.2.2 按键功能子程序17 4.3 密码设置软件设计18 4.3.1 密码设置程序流程图18 4.3.2 密码设置子程序18 4.4 开锁软件设计19 4.4.1 开锁程序流程图19 4.4.2 开锁功能子程序19 第五章 系统制作及调试20 5.1 焊接注意事项20 5.2 硬件调试问题及解决方法21 结 论22 参 考 文 献23 致 谢24 附录 a 25 附录 b40 基于单片机的密码锁设计 1 第一章第一章 绪论绪论 1.1 课题的背景和意义 随着电子技术和计算机技术的飞速发展,单片机性能不断完善,性能价格比显著提 高,技术日趋完善。由于单片机具有体积小、重量轻、价格便宜、功耗低、控制功能强 及运算速度快等特点,因而在国民经济建设、军事及家用电器等各个领域均得到了广泛 的应用。本设计利用单片机及附加电子元器件实现数据采集和控制算法来完成某一实际 功能,检验并提高对整体电路设计和把握能力,了解单片机系统设计流程,以及电路板 的实际制作和调试能力。 同时也加强对数字电路、模拟电路和单片机等课程知识的实际 应用能力,也为同类产品的进一步发展奠定理论和实践基础。 随着人们生活水平的提高和安全意识的加强,对安全的要求也就越来越高。锁自古 以来就是把守护门的铁将军,人们对它要求甚高,既要安全可靠的防盗,又要使用方便, 这也是制锁者长期以来研制的主题。随着电子技术的发展,各类电子产品应运而生,电 子密码锁就是其中之一。据有关资料介绍,电子密码锁的研究从 20 世纪 30 年代就开始 了,在一些特殊场所早就有所应用。这种锁是通过键盘输入一组密码完成开锁过程。研 究这种锁的初衷,就是为提高锁的安全性。由于电子锁的密钥量(密码量)极大,可以 与机械锁配合使用,并且可以避免因钥匙被仿制而留下安全隐患。电子锁只需记住一组 密码,无需携带金属钥匙,免除了人们携带金属钥匙的烦恼,而被越来越多的人所欣赏。 电子锁的种类繁多,例如数码锁,指纹锁,磁卡锁,ic 卡锁,生物锁等。但较实用的还 是按键式电子密码锁。 电子密码控制是一种通过密码输入来控制电路或是芯片工作,从而控制机械开关的 闭合,完成开锁,闭锁任务的电子产品。电子密码锁控制不论性能还是安全性都已大大 超过了机械类。其特点如下: (1)保密性好,远远高于机械锁控制。随机开锁成功率几乎为零。 (2)密码可变,用户可以随时更改密码,防止密码被盗,同时也可以避免因人员的更替 而使控制的保密性下降。 (3)误码输入保护,当输入密码多次错误时,报警系统自动启动。 (4)无活动零件,不会磨损,寿命长。 (6)使用灵活性好,不像机械锁必须佩带钥匙才能开锁。 基于单片机的密码锁设计 2 (7)电子密码锁控制系统具有操作简单易行,一学即会的特点。 1.2 电子密码锁的趋势 电子密码锁应用于金融业,其根本的作用是“授权” ,即被“授权”的人才可以存取 钱、物。广义上讲,金融业的“授权”主要包括以下三种层次的内容:1、授予保管权, 如使用保管箱、保险箱和保险柜;2、授予出入权,如出入金库、运钞车和保管室;3、 授予流通权,如自动存取款。目前,金融行业电子密码锁的应用主要集中在前两个层面 上。下面将介绍几种在金融行业中使用较多的电子密码锁以及它们的技术发展方向。当 然,以上所说的授权技术再高超,都必须由精良的“锁具”担当承载结构部件,实现开 启、闭锁的功能,而且承担实体防护作用,抵抗住或尽量延迟破坏行为,让电子密码锁 “软、硬不吃” 。 一般情况下,锁具防盗的关键是锁身外壳、闭锁的部件的强度、锁止 型式、配合间隙和布局。提高电子密码锁之防护能力的必然途径是报警,在金融业的许 多场所有人值守、有电视监控,具有报警功能,可以综合物理防范和人力防范两种作用。 报警的前提是具备探测功能,根据电子密码锁的使用场所和防护要求,可选择多种多样 的探测手段。在中国的城市金融业中,实现联网报警已经成为对各金融网点的基本要求。 根据国内外的实践经验,金融业实行安全防范风险等级很有必要,即依据使用的防盗报 警器材的性能、安装布局和人员值守状况等,可以评估被防护物或区域的防护能力,得 出风险等级,其中,电子密码锁的性能至关重要。 由于数字、字符、图形图像、人体生物特征和时间等要素均可成为钥匙的电子信息, 组合使用这些信息能够使电子密码锁获得高度的保密性,如防范森严的金库,需要使用 复合信息密码的电子密码锁,这样对盗贼而言是“道高一尺、魔高一丈” 。组合使用信息 也能够使电子密码锁获得无穷扩展的可能,使产品多样化,对用户而言是“千挑百选、 自得其所” 。 基于单片机的密码锁设计 3 第二章第二章 系统总体设计方案系统总体设计方案 2.1 密码锁具体设计要求 (1)本设计为了防止密码被窃取要求在密码输入时在 lcd 屏幕上显示*号。 (2)设计开锁密码为六位密码的电子密码锁。 (3)输入密码错误超过限定的三次时,电子密码锁锁定并报警。 (4)44 的矩阵键盘其中包括 0-9 的数字键和 a-f 的功能键。 (5)修改密码前必须再次输入原始密码,输入新密码时 lcd 显示屏上显示输入的数字, 以防止误操作。 2.2 总体设计方案选定 方案一:采用数字电路控制方案 用以 74ls112 双 jk 触发器构成的数字逻辑电路作为密码控制系统的核心控制,共设 了 9 个用户输入键,其中只有四个是有效的密码按键,其它的都是干扰按键,若按下干 扰键,键盘输入电路自动清零,原先输入的密码无效,需要重新输入;如果用户输入密 码的时间超过 10 秒,电路将报警 10 秒,若连续报警三次,电路将锁定键盘 1 分钟,防 止他人的非法操作。采用数字电路设计方案时设计虽然简单,但控制的准确性和灵活性 差。故不采用。 方案二:采用单片机控制方案 由于单片机种类繁多,各种型号都有其一定的应用环境,因此在选用时要多加比较, 合理选择,最后获得最佳的性价比。一般来说在选取单片机时从下面几个方面考虑:性 能、存储器、运行速度、i/o 口、定时/计数器、串行接口、模拟电路功能、工作电压、功 耗、封装形式、抗干扰性、保密性,除了以上的这些还有一些最基本的,比如:中断源 的数量和优先级、工作温度范围、有没有低电压检测功能、单片机内有无时钟振荡器、 有无上电复位功能等。在开发过程中单片机还受到:开发工具、编程器、开发成本、开 发人员的适应性、技术支持和服务等等因素。基于以上因素本设计选用单片机 at89c51 作为本设计的核心元件,利用单片机灵活的编程设计和丰富的 i/o 端口,及其控制的准确 性,实在基本的密码控制功能。在单片机的外围电路外接输入键盘用于密码的输入和一 些功能的控制,外接 lcd 显示器用于显示作用。当用户需要开锁时,先按键盘开锁键之 后按键盘的数字键 0-9、a-f 输入密码。密码输完后按下确认键,如果密码输入正确则开锁, 不正确时显示灯不亮,重新输入密码,当第三次密码输入错误则发出报警;当用户需要 基于单片机的密码锁设计 4 修稿密码时, 先按下键盘设置键后输入原来的密码,只有当输入的原密码正确后才能设置新密码,新 密码输入后需在显示屏上显示密码以防止误操作,也可以按显示密码键确认是否输入错 误。 明显可以看出方案二的控制灵活,准确性好,且保密性强还具有扩展功能,根据现 实生活的需要此次设计采用方案二,即利用单片机 at89c51 以及其外围接口电路完成密 码锁的设计。 基于单片机的密码锁设计 5 第三章第三章 硬件系统设计硬件系统设计 3.1 系统芯片介绍 3.1.1 单片机 at89c51 功能介绍 at89c51 是美国 atmel 公司生产的低功耗,高性能 cmos8 位单片机,片内含 4k bytes 的可系统编程的 flash 只读程序存储器,器件采用 atmel 公司的高密度、非易失性 存储技术生产,兼容标准 8051 指令系统及引脚。它集 flash 程序存储器,既可在线编程 (isp)也可以用传统方法进行编程及通用 8 位微处理器于单片芯片中,atmel 公司的 功能强大,低价位 at89c51 单片机可为您提供许多高性价比的应用场合,可灵活应用于 各种控制领域。 主要特征:主要特征: 1. 内部含 flash 存储器。 2.89 系列单片机的内部结构和 80c51 相近。 3. 工作原理和指令系统完全相同。 4. 8031cpu 和 mcs-51 兼容。 5. 全静态工作:0hz24khz。 6. 128*8 位内部 ram。 7. 32 条可编程 i/o 线。 8. 两个 16 位定时器/计数器。 9. 6 个中断源。 10. 可编程串行通道。 11. 低功耗的闲置和掉电模式。 12. 片内振荡器和时钟电路。 图 3-1 at89c51 芯片引脚图 管脚说明:管脚说明: vcc:供电电压 gnd:接地 基于单片机的密码锁设计 6 p0 口:p0 口为一个 8 位漏极开路双向 i/o 口,每脚可吸收 8ttl 门电流。当 p1 口的管脚 第一次写 1 时,被定义为高阻输入。p0 能够用于外部程序数据存储器,它可以被 定义为数据/地址的第八位。在 flash 编程时,p0 口作为原码输入口,当 flash 进行 校验时,p0 输出原码,此时 p0 外部必须被拉高。 p1 口:p1 口是一个内部提供上拉电阻的 8 位双向 i/o 口,p1 口缓冲器能接受输出 4ttl 门电流。p1 口管脚写入 1 后,被内部上拉为高,可用作输入,p1 口被外部下拉 为低电平时,将输出电流,这是由于内部上拉的缘故。在 flash 编程和校验时, p1 口作为第八位地址接收。 p2 口:p2 口为一个内部上拉电阻的 8 位双向 i/o 口,p2 口缓冲器可接收,输出 4 个 ttl 门电流,当 p2 口被写“1”时,其管脚被内部上拉电阻拉高,且作为输入。并因 此作为输入时,p2 口的管脚被外部拉低,将输出电流。这是由于内部上拉的缘故。 p2 口当用于外部程序存储器或 16 位地址外部数据存储器进行存取时,p2 口输出 地址的高八位。 在给地址“1”时,它利用内部上拉优势,当对外部八位地址数 据存储器进行读写时,p2 口输出其特殊功能寄存器的内容。p2 口在 flash 编程和 校验时接受高八位地址信号和控制信号。 p3 口:p3 口管脚是 8 个带内部上拉电阻的双向 i/o 口,可接受输出 4 个 ttl 门电流。当 p3 口写入“1”后,他们被内部上拉为高电平,并用作输入。作为输入,由于外部 下拉为 低电平,p3 口将输出电流(ill)这是由于上拉的缘故。p3 口也可作为 at89c51 的一些特殊功能口,如下表 3-1 所示: 表 3-1 p3 口管脚备选功能 管脚备选功能: p3.0 rxd(串行输入口) p3.1 txd(串行输出口) p3.2/int0(外部中断 0) p3.3/int1(外部中断 1) p3.4t0 (计时器 0 外部输入) p3.5t1 (计时器 1 外部输入) p3.6/wr(外部数据存储器写选通) p3.7/rd(外部数据存储器读选通) p3 口同时为闪烁编程和编程校验接受一些控制信号。 rst:复位输入。当振荡器复位器件时,要保持 rst 脚两个机器周期的高电平时间。 ale/prog:当访问外部存储器时,ale 允许的输出电平用于锁存地址的低 8 位 基于单片机的密码锁设计 7 字节。即使不访问外部存储器,ale 仍以时钟震荡频率的 1/6 输出固定的正脉冲信 号,因此它可对外输出时钟或用于定时目的。 psen:程序存储允许(psen)输出是外部存储器的读选通信号,当 at89c51 由外部程 序存储器取指令(或数据)时,每个机器周期两次 psen 有效,即输出两个脉冲。 当访问外部数据存储器,没有两次有效的 psen 信号。 ea/vpp:外部访问允许。欲使 cpu 仅访问外部程序存储器(地址为 0000hffffh) , ea 端必须保持低电平(接地) 。需注意的是:如果加密位 lb1 被编程,复位时内 部会锁存 ea 端状态。如 ea 端为高电平(接 vcc 端) ,cpu 则执行内部程序存储 器中的指令。flash 存储器编程时,该引脚加上+12v 的编程电压 vpp。 xtal1:振荡器反相放大器及内部时钟发生器的输入端。 xtal2:振荡器反相放大器的输出端。 3.1.2 存储芯片 at24c04 介绍 如图为 at24c04 的芯片引脚图 3-2: 图 3-2 at24c02 芯片引脚图 特点:低压和标准电压运行模式 -2.7 (vcc=2.7v to 5.5v) -1.8 (vcc=1.8v to 5.5v) 内建 128*8 存储序列,2 线制串行接口,双向数据传送协议,100khz(1.8v,2.5v,2.7v)和 400khz(5v)兼容,写同步时钟(最大 10ms),高可靠性,极限:1m 写时钟周期,数据 保存:100 年,不断推进的芯片等级扩大了设备的可用温度范围。 at24c04 提供电可擦除的串行 1024 位存储或可编程只读存储器(eeprom)128 字 (8 位/字)。芯片在低压的工业与商机应用中进行了最优化。 设备操作:clock 和 data 变化:sda 管脚通常外部要拉高。sda 管脚上的数据 只能在 scl 低期间改变。数据在 scl 高期间改变定义为一个开始或停止信号。 基于单片机的密码锁设计 8 开始状态:在任何操作之前必须有一个开始信号-在 scl 为高时 sda 上产生一个 下降沿。 停止状态:scl 为高时 sda 产生一个上升沿是停止信号,停止信号后将停止所有通 信。 在一个读的序列之后,停止信号将让 eeprom 进入备用电源模式。 3.1.3lcd1602 显示器介绍 液晶显示模块已作为很多电子产品的通用器件,如在计算器、万用表、电子表及很 多家用电子产品中都可以看到,显示的主要是数字、专用符号和图形。1602 型 lcd 显示 模块具有体积小,功耗低,显示内容丰富等特点。1602 型 lcd 可以显示 2 行 16 个字符, 有 8 位数据总线 d0-d7 和 rs,r/w,en 三个控制端口,工作电压为 5v,并且具有字符对 比度调节和背光功能。 接口信号说明:1602 型 lcd 的接口信号说明如表 3-2 所示: 表 3-2 lcd1602 接口信号说明 编号符号引脚说明编号符号引脚说明 1vss电源地9d2数据 2vdd电源正极10d3数据 3vl液晶显示偏压11d4数据 4rs数据/命令选择12d5数据 5r/w读/写选择13d6数据 6e使能信号14d7数据 7d0数据15bla背光源正极 8d1数据16blk背光源负极 1602 型 lcd 主要技术参数: 显示容量:16*2 个字符 芯片工作电压:4.5-5.5v 工作电流:2.0ma(5.0v) 模块最佳工作电压:5.0v 字符尺寸:2.95*4.35(w*h)mm 1602 型 lcd 基本操作程序如下表 3-3 所示: 基于单片机的密码锁设计 9 表 3-3 lcd1602 基本操作程序 读状态输入rs=l,r/w=h,e=h输出 d0d7=状态字 写指令输入 rs=l,r/w=l,d0d7=指令码,e=高脉 冲 输出无 读数据输入rs=h,r/w=h,e=h输出 d0d7=数据 写数据输入 rs=h,r/w=l,d0d7=数据,e=高脉冲 输出无 3.2 硬件电路设计 本设计主要由单片机、矩阵键盘、液晶显示器和密码存储部分组成。其中矩阵键盘 用于输入数字密码和进行各种功能的实现。由用户通过连接单片机的矩阵键盘输入密码, 后经过单片机对用户输入的密码与自己保存的密码进行对比,从而判断密码是否正确, 然后控制引脚的高低电平传到开锁电路或者报警电路控制开锁还是报警。 本系统共有两个部分构成,即硬件部分与软件部分。其中硬件部分由电源输入电路、 键盘输入电路、复位电路、晶振电路、掉电存储电路、显示电路、报警电路和开锁电路 组成;软件部分由主程序、初始化程序、lcd 显示程序、键盘扫描程序、启动程序、关 闭程序、键功能程序、密码设置程序、eeprom 读写程序和延时程序等组成。其原理总 框图如图 3-3 所示: 图 3-3 电子密码锁原理框图 基于单片机的密码锁设计 10 3.2.1 键盘输入电路 由于本设计所用到的按键数量较多而不适合用独立按键式键盘。采用的是矩阵按键 键盘,它由行线和列线组成,也称行列式键盘,按键位于行列的交叉点上,密码锁的密 码由键盘输入完成,与独立式按键键盘相比,要节省很多 i/o 口。本设计中使用的这个 4*4 键 盘不但能完成密码的输入还能作特别功能键使用,比如清空显示功能等。键盘的每个按 键功能在程序设计中设置,其大体功能(看键盘按键上的标记)及与单片机引脚接法如 图 3-4 所示: 图 3-4 键盘输入电路原理图 3.2.2 电源输入电路 密码锁主要控制部分电源需要 5v 直流电源供电,其电路如图 3-5 所示,而 5v 电源 输入时往往伴有杂波,所以加一个 2.2uf 的电容滤波。这样输出的电压一般能满足要求。 图 3-5 电源输入电路原理图 基于单片机的密码锁设计 11 3.2.3 掉电存储电路 at24c04 是 atmel 公司的 2kb 字节的电可擦除存储芯片,采用两行串行的总线和 单片机通讯,电压最低可以到 2.5v,额定电流为 1ma,静态电流 10ua(5.5v),芯片内 的资料可以在断电的情况下保存 40 年以上,而且采用 8 脚的 dip 封装,使用方便。其电 路如图 3-6 所示: 图 3-6 掉电存储电路原理图 其中 5 脚、6 脚接单片机的 p3.4 和 p3.5 引脚。at24c04 中带有片内地址寄存器,每 写入或读出一个数据字节后,该地址寄存器自动加 1,以实现对下一个存储单元的读写, 所有字节均以单一操作方式读取。 3.2.4 晶振电路 at89c51 中有一个用于构成内部振荡器的高增益反相放大器,引脚 xtal1 和 xtal2 分别是该放大器的输入端和输出端。这个放大器与作为反馈元件的片外石英晶体 或陶瓷谐振器一起构成自激振荡器。外接石英晶体(或陶瓷谐振器)及电容 c1、c2 接在 放大器的反馈回路中构成并联振荡电路。对外接电容 c1、c2 虽然没有十分严格的要求, 但电容容量的大小会轻微影响振荡频率的高低、振荡器工作的稳定性、起振的难易程度 及温度稳定性。如果使用石英晶体,我们推荐电容使用 30pf10pf,而如使用陶瓷谐振器 建议选择 40pf10pf。用户也可以采用外部时钟。这种情况下,外部时钟脉冲接到 xtal 端,即内部时钟发生器的输入端,xtal2 则悬空。由于外部时钟信号是通过一个 2 分频触发器后作为内部时钟信号的,所以对外部时钟信号的占空比没有特殊要求,但最 小高电平持续时间和最大的低电平持续时间应符合产品技术条件的要求。晶振电路如图 3-7 所示: 基于单片机的密码锁设计 12 图 3-7 晶振电路原理图 3.2.5 复位电路 单片机复位是使 cpu 和系统中的其他功能部件处在一个确定的初始状态,并从这个 状态开始工作,例如复位后 pc=0000h,使单片机从第一个单元取指令。无论是在单片机 刚开始接上电源时,还是断电后或者发生故障后都要复位。在复位期间(即 rst 为高电 平期间),p0 口为高阻态,p1-p3 口输出高电平;外部程序存储器读选通信号 psen 无效。 地址锁存信号 ale 也为高电平。根据实际情况选择如图 3-8 所示的手动复位电路。 图 3-8 复位电路原理图 3.2.6 显示电路 为了提高密码锁的密码显示效果能力。本设计的显示部分由液晶显示器 lcd1602 取 代普通的数码管来完成。只有按下键盘上的开启按键后,显示器才处于开启状态。同理 只有按下关闭按键后显示器才处于关闭状态。否则显示器将一直处于初始状态,当需要 对密码锁进行开锁时,按下键盘上的开锁按键后利用键盘上的数字键 0-9 输入密码,每按 基于单片机的密码锁设计 13 下一个数字键后在显示器上显示一个*,输入多少位就显示多少个*。当密码输入完成时, 按下确认键,如果输入的密码正确,单片机其中 p2.3 引脚会输出低电平,使三极管 q2 到导通,电磁铁吸合,电子密码锁被打开,如果密码不正确,p2.3 输出的是高电平,电 子密码锁不能被打开。其显示引脚接口如图 3-9 所示: 图 3-9 显示电路原理图 3.2.7 报警电路 报警部分由陶瓷压电发声装置及外围电路组成,加电后不发声,当有按键按下时, “叮”声,每按一下,发声一次,密码输入正确时,发声直接开锁,当密码输入错误时, 单片机的 p3.6 引脚为低电平,三极管 q1 导喇叭发出噪鸣声报警。如图 3-10 所示: 基于单片机的密码锁设计 14 图 3-10 报警电路原理图 3.2.8 开锁电路 通过单片机开锁执行机构,电路驱动电磁锁吸合,从而达到开锁的目的。其原理图 如图 3-11 所示: 图 3-11 密码锁开锁机构示意图 当用户输入的密码正确时,单片机便输出开门信号,送到开锁驱动电路,然后驱动 电磁锁,达到开门的目的。其实际电路如图 3-12 所示: 图 3-12 密码锁开锁机构示意图 基于单片机的密码锁设计 15 3.3 电路设计总图 proteus 软件是 labcenter electronics 公司的一款电路设计与仿真软件,它包括 isis、ares 等软件模块,ares 模块主要用来完成 pcb 的设计,而 isis 模块用来完成 电路原理图的布图与仿真。proteus 的软件仿真基于 vsm 技术,它与其他软件最大的不同 也是最大的优势就在于它能仿真大量的单片机芯片,比如 mcs-51 系列、pic 系列等等, 以及单片机外围电路,比如键盘、led、lcd 等等。通过 proteus 软件的使用我们能够轻 易地获得一个功能齐全、实用方便的单片机实验室。本密码锁采用 proteus 进行电路图设 计,经 过元件选型,用万能实验版进行硬件焊接,以实现硬件部分。图 3-13 为 proteus 设计的密 码锁电路图整体抓图。 基于单片机的密码锁设计 16 图 3-13 整体电路原理图 基于单片机的密码锁设计 17 第四章第四章 软件系统设计软件系统设计 本系统软件设计由主程序、初始化程序、lcd 显示程序、键盘扫描程序、键功能程 序、密码设置程序、eeprom 读写程序和延时程序等组成。 4.1 主程序流程图 如图 4-1 所示为主程序流程图,开始接上电源,程序进行初始化设置,然后在键盘上 输入密码,此系统进行键盘扫描,密码正确,开锁成功,密码错误 3 次出错报警,选择 是否修改密码,若要修改密码,先输入旧密码,密码正确后设置新密码,错误时报警, 需要按键确认新密码,确认后,密码修改成功,否则结束最终返回。然后启动程序,进 行保护,再次在键盘上输入密码,系统进行扫描,如果和之前一样,则执行相同程序, 如不是,则执行另一种程序。 图 4-1 主程序流程图 基于单片机的密码锁设计 18 4.2 按键软件设计 4.2.1 按键功能程序流程图 如图 4-2 为按键功能流程图,在按键当中,有与输入、修改、设置、显示、返回的程 序相对应的按键,并按顺序与输入的数相比较,当输入正确时,进入密码程序,错误时 自动返回重新输入密码,输入新密码确认后,可进行重新设置密码,最后确认程序。 图 4-2 按键功能流程图 4.2.2 按键功能子程序 见附录 a 基于单片机的密码锁设计 19 4.3 密码设置软件设计 4.3.1 密码设置程序流程图 如图 4-3 为密码设置流程图,开始按下设置键,输入旧密码,如果累计三次输入错误 进行报警程序。如输入正确,可以修改密码,在显示屏上确认新密码输入正确后,则更 改成功。如果显示的密码与设置的新密码不一样,则修改密码失败,重新返回设置新密 码。 图 4-3 密码设置流程图 4.3.2 密码设置子程序 见附录 a 基于单片机的密码锁设计 20 4.4 开锁软件设计 4.4.1 开锁程序流程图 如图 4-4 所示为开锁程序流程图,开始时按开锁键,输入密码,如果输入正确,则开 锁成功。如果输入错误累计达到三次,则执行报警程序。 图 4-4 开锁流程图 4.4.2 开锁功能子程序 见附录 a 基于单片机的密码锁设计 21 第五章第五章 系统制作及调试系统制作及调试 5.1 焊接注意事项 lcd 的注意事项 1. 采用焊接方法将金属基 pin 安装于 lcd 时,从玻璃末端到 pcb 的焊接位置的长度至 少 5mm,焊接温度必须在 260一下,且焊接时间必须在 10 秒以内,以免焊接过程 中对装置的损坏,确保焊接性能。在 230,30 秒条件下,90%的焊料须紧密附着于 pin 上。 2. 对 lcd 基板或基 pin 焊接位置的调整必须在安装前完成。严禁猛烈移动基 pin,否则 会机械地破坏 lcd 屏与基 pin 之间的连接点。焊接时平放 lcd,尽量不让 lcd 受力。 3. 焊接 lcd 基板时,将其小心、平衡地插入 pcb 插槽,以避免损坏基 pin 或 lcd 基 板。 4. 焊接时,lcd 基板不应长时间置于焊锡蒸汽中,清洗 pcb 时,必须避免污染 lcd 基 板,否则可能损坏显示器表面的偏光片及封口胶。 5. 显示器表面的保护膜直到焊接完成才可揭掉,禁止手指及其它硬物接触偏关片,禁止 水和其它化学物质沾污装置,因为这些物质会污染显示器表面。 单片机焊接主要事项: 89c51 单片机与其它单片机,dsp, arm 芯片相比较而言是脆弱的,如果焊接时不小心 就很可能把芯片损坏!所以要用比较好的恒温可调的烙铁,功率在 30 瓦左右,温度控制 在 260 到 300 度。采用点焊而不用拉焊,焊接时烙铁放在每个引脚的时间不能太长(最 好低于 3 秒)。上面提到的方法还不能确保芯片完好,对芯片有危害的还有带电烙铁的 静电感应。烙铁质量不是太好的,焊接时可以把烙铁插头拔掉。 其他的电子器件焊接须知: 一般分四步骤进行。准备焊接:清洁被焊元件处的积尘及油污,再将被焊元器件 周围的元器件左右掰一掰,让电烙铁头可以触到被焊元器件的焊锡处,以免烙铁头伸向 焊接处时烫坏其他元器件。焊接新的元器件时,应对元器件的引线镀锡。加热焊法: 将沾有少许焊锡和松香的电烙铁头接触被焊元器件约几秒钟。若是要拆下印刷板上的元 器件,则待烙铁头加热后,用手或镊子轻轻拉动元器件,看是否可以取下。清理焊接 面:若所焊部位焊锡过多,可将烙铁头上的焊锡甩掉(注意不要烫伤皮肤,也不要甩到 印刷电路板上)。用光烙锡头“沾”些焊锡出来。若焊点焊锡过少、不圆滑时,可以用 基于单片机的密码锁设计 22 电烙铁头“蘸”些焊锡对焊点进行补焊。检查焊点:看焊点是否圆滑、光亮、牢固, 是否有与周围元器件连焊的现象。 焊接流程按照图 3-13 所示的电子密码锁的硬件联接原理图按下列顺序依次焊接: (1) 焊接单片机的晶振电路、复位电路等单片机的最小系统的外围电路。 (2) 焊接 lcd 的相应管脚并把 lcd 的管脚单片机相连接。 (3) 焊接键盘的按键电路。 (4) 焊接电子密码锁的密码输入错误的报警电路。 (5) 焊接密码锁的开锁机构电路。 (6) 焊接其他接口及辅助电路。 (7) 焊接接地及高电平。 5.2 硬件调试问题及解决方法 本设计在焊接调试时遇到的问题及解决方法: 单片机的最小系统问题: 电源、晶振电路和复位电路都无异常。 其它系统焊接时的问题: (1) 接通电源后 lcd 无反应,各个引脚均属正常。推断可能是初始化程序出现问题。 经检查得知是 lcd 显示器的 15 和 16 管脚控制背光功能,连接好后能显示字符。 (2) 接通电源开门灯和报警电路就会工作,分析原因是单片机刚开始各个管脚输出高 电平。 (3) 存储电路的上拉电阻接到单片机的 p3.3 和 p3.4 接口上,导致插上电源后电源电路 的显示灯不亮。 基于单片机的密码锁设计 23 结结 论论 本次设计是带液晶显示的电子密码锁电路。主要由 at89c51 单片机控制整个电路, 包含单片机系统、矩阵键盘、led 显示和报警系统组成。系统能完成开锁、显示密码、 修改密码等基本的密码锁的功能。除上述基本的密码锁功能外,还有掉电存储功能 。本 系统成本低廉,功能实用,应用范围广。此次毕业
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
评论
0/150
提交评论