《基于单片机的电子密码锁设计精编版》由会员分享,可在线阅读,更多相关《基于单片机的电子密码锁设计精编版(56页珍藏版)》请在金锄头文库上搜索。
1、精品资料推荐目录设计总说明IIntroductionI第一章 绪论11.1 设计背景11.2 电子密码控制简介11.3 电子密码控制的发展趋势21.4 本设计所要实现目标的简述2第二章 控制方案的设计、选择32.1 采用数字电路控制32.2 采用以单片机为核心的控制方案4第三章 主要元器件介绍及I2C总线与串行通信说明53.1 主控芯片AT89C5153.1.1 AT89C51性能简介53.1.2 AT89C51引脚功能简介53.2 LCD1602显示器83.2.1 LCD结构及引脚功能83.2.2 LCD显示指令系统93.3 晶体振荡器93.4 I2C总线说明及M24C01串行EEPROM1
2、03.4.1 I2C总线的硬件结构103.4.2 I2C总线工作原理:113.4.3 存储器24C01133.5 串口通信14第四章 系统硬件构成164.1 设计原理164.2 键盘输入部分174.2.1 矩阵式键盘的结构与工作原理184.3 复位部分194.4 晶振部分204.5 显示部分204.6 开锁部分和报警部分21第五章 系统软件构成225.1 系统软件流程图的设计225.1.1 主程序流程图225.1.2 按键功能流程图245.1.3 设置密码流程图245.1.4 开锁流程图255.2 Proteus和keil开发软件的功能介绍285.2.1 Proteus的简介285.2.2 P
3、roteus的实用功能295.2.3 Keil的简介315.2.4 Keil软件的使用方法325.2.5 系统的仿真运行33第六章 结论36参考文献37致谢38附录A39附录 B40I第一章 绪论 1.1 设计背景安全问题是现代社会各界普遍关注的焦点之一。目前,常见的安全产品有指纹识别系统、IC卡辨识系统以及红外防盗系统等。这些系统一般用于保密要求较高或供个人使用的保险柜。虽然产品的安全性高,但由于其生产成本高,携带、安装及使用不方便等缺点,在一定程度上限制了这类产品的普及和推广。具有防盗报警功能的电子密码控制系统逐渐代替传统的机械式密码控制系统,克服了机械式密码控制的密码量少、安全性能差的缺
4、点,使电子密码控制系统无论在技术上还是在性能上都大大提高了一步。随着大规模集成电路技术的发展,特别是单片机的问世,出现了带微处理器的智能密码控制系统,它除具有传统电子密码控制系统的功能外,还引入了智能化管理、专家分析系统等功能,从而使密码控制系统具有很高的安全性、可靠性,应用日益广泛。基于单片机的电子密码锁使用C51单片机来实现多功能密码模块。这种电路设计具有加密更快速、可靠性更高、成本更低的特点,特别适合用于家庭、办公室、学生宿舍等场所,具有很强的社会推广价值。电子密码锁是由电子电路控制锁体的新型锁具,它采用键盘方式输入开锁密码,操作方便。在科学技术不断发展的今天,电子密码锁具有它独特的市场
5、,本设计基于单片机,设计了一款简单适用具有开锁和报警功能的电子密码锁。1.2 电子密码控制简介电子密码控制是一种通过密码输入来控制电路或是芯片工作,从而控制机械开关的闭合,完成开锁、闭锁任务的电子产品。电子密码控制不论性能还是安全性都已大大超过了机械类。其特点如下:1) 保密性好,编码量多,远远大于机械控制。随机开锁成功率几乎为零。2) 密码可变,用户可以随时更改密码,防止密码被盗,同时也可以避免因人员的更替而使控制的保密性下降。3) 误码输入保护,当输入密码多次错误时,报警系统自动启动。4) 无活动零件,不会磨损,寿命长。5) 使用灵活性好,不像机械锁必须佩带钥匙才能开锁。6) 电子密码控制
6、系统具有操作简单易行,一学即会的特点。1.3 电子密码控制的发展趋势由于电子器件所限,以前开发的电子密码控制系统,其种类不多,保密性差,最基本的就是只依靠最简单的模拟电子开关来实现的,制作简单但很不安全,后来便是基于EDA来实现的,其电路结构复杂,电子元件繁多,也有使用早先的20引脚的2051系列单片机来实现的,但密码简单,易破解。随着电子元件的进一步发展,电子密码控制系统也出现了很多的种类,功能日益强大,使用更加方便,安全保密性更强,由以前的单密码输入发展到现在的,密码加感应元件,实现了更为真正的电子加密,用户只有密码或电子钥匙中的一样,是打不开锁的,随着电子元件的发展及人们对保密性需求的提
7、高出现了越来越多的电子密码控制系统 。由于数字、字符、图形图像、人体生物特征和时间等要素均可成为电子信息,组合使用这些信息能够使电子防盗密码控制获得更高的保密性,如防范森严的金库,需要使用复合信息密码的电子防盗密码控制系统。组合使用信息也能够使电子防盗密码控制系统获得无穷扩展的可能。可以看出组合使用电子信息是电子密码控制系统今后发展的趋势 。1.4 本设计所要实现目标的简述本设计采用单片机为主控芯片,结合外围电路,组成电子密码控制系统,用户想要打开锁,必先通过提供的键盘输入正确的密码才可以,密码输入错误有提示,为了提高安全性,当密码输入错误三次将报警。密码可以由用户自己修改设定,锁打开后才能修
8、改密码。修改密码之前必须再次输入密码,在输入新密码时候需要二次确认,以防止误操作。第二章 控制方案的设计、选择2.1 采用数字电路控制 图2-1 数字密码锁电路控制方案用以74LS112双JK触发器构成的数字逻辑电路作为密码控制系统的核心控制,共设了9个用户输入键,其中只有4个是有效的密码按键,其它的都是干扰按键,若按下干扰键,键盘输入电路自动清零,原先输入的密码无效,需要重新输入;如果用户输入密码的时间超过10秒(一般情况下,用户不会超过10秒,若用户觉得不便,还可以修改)电路将报警20秒,若电路连续报警三次,电路将锁定键盘2分钟,防止他人的非法操作 。采用数字电路设计方案时设计虽然简单,但
9、控制的准确性和灵活性差。故不采用。电路由两大部分组成:密码锁电路和备用电源(UPS),其中设置UPS电源是为了防止因为停电造成的密码锁电路失效,使用户免遭麻烦。密码锁电路包含:键盘输入、密码修改、密码检测、开锁电路、执行电路、报警电路、键盘输入次数锁定电路。2.2 采用以单片机为核心的控制方案 图2-2 单片机控制方案由于单片机种类繁多,各种型号都有其一定的应用环境,因此在选用时要多加比较,合理选择,以期获得最佳的性价比。一般来说在选取单片机时从下面几个方面考虑:性能、存储器、运行速度、I/O口、定时/计数器、串行接口、模拟电路功能、工作电压、功耗、封装形式、抗干扰性、保密性,除了以上的一些还
10、有一些最基本的,比如:中断源的数量和优先级、工作温度范围、有没有低电压检测功能、单片机内有无时钟振荡器、有无上电复位功能等。在开发过程中单片机还受到:开发工具、编程器、开发成本、开发人员的适应性、技术支持和服务等等因素 。基于以上因素本设计选用单片机AT89C51作为本设计的核心元件,利用单片机灵活的编程设计和丰富的I/O端口,及其控制的准确性,实现基本的密码控制功能。在单片机的外围电路外接输入键盘用于密码的输入和一些功能的控制,外接LCD1602显示器用于显示作用。当用户需要开锁时,按键盘的数字键09输入密码。密码输完后按下开锁键,如果密码输入正确则开锁,不正确显示密码错误重新输入密码,当三
11、次密码错误则发出报警;同时本设计支持串行通信,可以在PC机上实现远程操控。当用户需要修改密码时,先按下键盘设置键后,如果未开锁则需要输入原来的密码,只有当输入的原密码正确后才能设置新密码。新密码输入无误后按确认键使新密码将得到存储,密码修改成功 。可以看出方案二的控制灵活,准确性好,且保密性强还具有扩展功能,根据现实生活的需要此次设计采用此方案。 第三章 主要元器件介绍及I2C总线与串行通信说明3.1 主控芯片AT89C51AT89C51是一个低功耗,高性能CMOS 8位单片机,片内含4k Bytes的可反复擦写1000次的Flash只读程序存储器,器件采用ATMEL公司的高密度、非易失性存储
12、技术制造,兼容标准MCS-51指令系统及AT80C51引脚结构,芯片内集成了通用8位中央处理器和ISP Flash存储单元,功能强大的微型计算机的AT89C51可为许多嵌入式控制应用系统提供高性价比的解决方案。 3.1.1 AT89C51性能简介AT89C51具有如下特点:40个引脚,4k Bytes Flash片内程序存储器,128 bytes的随机存取数据存储器(RAM),32个外部双向输入/输出(I/O)口,5个中断优先级2层中断嵌套中断,2 个16位可编程定时计数器,2个全双工串行通信口,片内时钟振荡器。3.1.2 AT89C51引脚功能简介芯片引脚图如下图3-1。 3-1 AT89C
13、51芯片引脚图VCC:电源电压 GND:地 P0口:P0口是一组8位漏极开路型双向I/O口,也即地址/数据总线复用口,作为输出口用时,每位能驱动8个TTL逻辑门电路,对端口写“1”可作为高阻抗输入端口。在访问外部数据存储器或程序存储器时,这组口线分时转换地址(低8位)和数据总线复用,在访问期间激活内部上拉电阻。在Flash编程时,P0口接收指令字节,而在程序校验时,输出指令字节,校验时,要求外接上拉电阻。P1口:P1是一个带内部上拉电阻的8位双向I/O口,P1的输出缓冲级可驱动(吸收或输出电流)4个TTL逻辑门电路。对端口写“1”,通过内部的上拉电阻把端口拉到高电平,此时可作输入口。作输入口使
14、用时,因为内部存在上拉电阻,某个引脚被外部信号校验期间,P1接收低8位地址。P2口:P2是一个带有内部上拉电阻的8位双向I/O口,P2的输出缓冲级可驱动4个TTL逻辑门电路。对端口写“1”,通过内部的上拉电阻把端口拉到高电平,此时可作输入口,作输入口使用时,因为内部存在上拉电阻,某个引脚被外部信号拉低时会输出一个电流I。在访问位地址的外部数据存储器(如执行:MOVX Ri 指令)时,P2口线上的内(也即特殊功能寄存器,在整个访问期间不改变。Flash 编程或校验时,P2也接收高位地址和其它控制信号。P3口:P3口是一组带有内部上拉电阻的8位双向I/O口。P3口输出缓冲级可驱动(吸收或输出电流)4个TTL逻辑门电路。对P3口写入“1”时,它们被内部上拉电阻拉高并可作为输入端口。作输入端口时,被外部拉低的P3口将用上拉电阻输出电流I。P3口除了作为一般的I/O口线外,更重要的用途是它的第二功能,P3口的第二功能如下表3-2。 表3-2 P3口的第二功能端口功能第二功能端口引脚第二功能RXD(P3.0)串行输入口T0(P3.4)定时/计数器0外部输入TXD(P3.1)串行输出口T1(P3.5)定时/计数器1外部输入INT0(P3.2)外中断0WR(P3.6)外部数据存储器写选通INT1(P3.3)