基于单片机的电子密码锁设计.pdf
《基于单片机的电子密码锁设计.pdf》由会员分享,可在线阅读,更多相关《基于单片机的电子密码锁设计.pdf(56页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、目录目录设计总说明 IIntroduction I第一章绪论 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 总
2、线说明及 M24C01 串行 EEPROM103.4.1 I2C 总线的硬件结构 103.4.2 I2C 总线工作原理:113.4.3 存储器 24C01133.5 串口通信 14第四章系统硬件构成 164.1 设计原理 164.2 键盘输入部分 174.2.1 矩阵式键盘的结构与工作原理 18I/564.3 复位部分 194.4 晶振部分 204.5 显示部分 204.6 开锁部分和报警部分 21第五章系统软件构成 225.1 系统软件流程图的设计 225.1.1 主程序流程图 225.1.2 按键功能流程图 245.1.3 设置密码流程图 245.1.4 开锁流程图 255.2 Prote
3、us 和 keil 开发软件的功能介绍 285.2.1 Proteus 的简介 285.2.2 Proteus 的实用功能 295.2.3 Keil 的简介 315.2.4 Keil 软件的使用方法 325.2.5 系统的仿真运行 33第六章结论 36参考文献 37致谢 37附录 A38附录 B39第一章 绪论1.1 设计背景安全问题是现代社会各界普遍关注的焦点之一。目前,常见的安全产品有指纹识别系统、IC 卡辨识系统以及红外防盗系统等。这些系统一般用于 XX 要求较高或供个人使用的保险柜。虽然产品的安全性高,但由于其生产成本高,携带、安装及使用不方便等缺点,在一定程度上限制了这类产品的普及和
4、推广。具有防盗报警功能的电子密码控制系统逐渐代替传统的机械式密码控制系统,克服了机械式密码控制的密码量少、安全性能差的缺点,使电子密码控制系统无论在技术上还是在性能上都大大提高了一步。随着大规模集成电路技术的发展,特别是单片机的问世,出现了带微处理器的智能密码控制系统,它除具有传统电子密码控制系统的功能外,还引入了智能化管理、专家分析系统等功能,从而使密码控制系统具有很高的安全性、可靠性,应用日益广泛。基于单片机的电子密码锁使用 C51 单片机来实现多功能密码模块。这种电路设计具有加密更快速、可靠性更高、成本更低的特点,特别适合用于家庭、办公室、学生宿舍等场所,具有很强的社会推广价值。电子密码
5、锁是由电子电路控制锁体的新型锁具,它采用键盘方式输入开锁密码,操作方便。在科学技术不断发展的今天,电子密码锁具有它独特的市场,本设计基于单片机,设计了一款简单适用具有开锁和报警功能的电子密码锁。1.2 电子密码控制简介电子密码控制是一种通过密码输入来控制电路或是芯片工作,从而控制机械开关的闭合,完成开锁、闭锁任务的电子产品。电子密码控制不论性能还是安全性都已大大超电子密码控制不论性能还是安全性都已大大超过了机械类。过了机械类。其特点如下:1)XX 性好,编码量多,远远大于机械控制。随机开锁成功率几乎为零。2)密码可变,用户可以随时更改密码,防止密码被盗,同时也可以避免因人员的更替而使控制的 X
6、X 性下降。3)误码输入保护,当输入密码多次错误时,报警系统自动启动。1/564)无活动零件,不会磨损,寿命长。5)使用灵活性好,不像机械锁必须佩带钥匙才能开锁。6)电子密码控制系统具有操作简单易行,一学即会的特点。1.3电子密码控制的发展趋势由于电子器件所限,以前开发的电子密码控制系统,其种类不多,XX 性差,最基本的就是只依靠最简单的模拟电子开关来实现的,制作简单但很不安全,后来便是基于EDA 来实现的,其电路结构复杂,电子元件繁多,也有使用早先的 20 引脚的 2051 系列单片机来实现的,但密码简单,易破解。随着电子元件的进一步发展,电子密码控制系统也出现了很多的种类,功能日益强大,使
7、用更加方便,安全 XX 性更强,由以前的单密码输入发展到现在的,密码加感应元件,实现了更为真正的电子加密,用户只有密码或电子钥匙中的一样,是打不开锁的,随着电子元件的发展及人们对 XX 性需求的提高出现了越来越多的电子密码控制系统。由于数字、字符、图形图像、人体生物特征和时间等要素均可成为电子信息,组合使用这些信息能够使电子防盗密码控制获得更高的 XX 性,如防 X 森严的金库,需要使用复合信息密码的电子防盗密码控制系统。组合使用信息也能够使电子防盗密码控制系统获得无穷扩展的可能。可以看出组合使用电子信息是电子密码控制系统今后发展的趋势。1.4 本设计所要实现目标的简述本设计采用单片机为主控芯
8、片,结合外围电路,组成电子密码控制系统,用户想要打开锁,必先通过提供的键盘输入正确的密码才可以,密码输入错误有提示,为了提高安全性,当密码输入错误三次将报警。密码可以由用户自己修改设定,锁打开后才能修改密码。修改密码之前必须再次输入密码,在输入新密码时候需要二次确认,以防止误操作。第二章 控制方案的设计、选择2.1 采用数字电路控制图 2-1数字密码锁电路控制方案用以 74LS112 双 JK 触发器构成的数字逻辑电路作为密码控制系统的核心控制,共设了 9 个用户输入键,其中只有4 个是有效的密码按键,其它的都是干扰按键,若按下干扰键,键盘输入电路自动清零,原先输入的密码无效,需要重新输入;如
9、果用户输入密码的时间超过 10 秒(一般情况下,用户不会超过10 秒,若用户觉得不便,还可以修改)电路将报警 20 秒,若电路连续报警三次,电路将锁定键盘 2 分钟,防止他人的非法操作。采用数字电路设计方案时设计虽然简单,但控制的准确性和灵活性差。故不采用。电路由两大部分组成:密码锁电路和备用电源(UPS),其中设置 UPS 电源是为了防止因为停电造成的密码锁电路失效,使用户免遭麻烦。3/56密码锁电路包含:键盘输入、密码修改、密码检测、开锁电路、执行电路、报警电路、键盘输入次数锁定电路。2.2 采用以单片机为核心的控制方案图 2-2单片机控制方案由于单片机种类繁多,各种型号都有其一定的应用环
10、境,因此在选用时要多加比较,合理选择,以期获得最佳的性价比。一般来说在选取单片机时从下面几个方面考虑:性能、存储器、运行速度、I/O 口、定时/计数器、串行接口、模拟电路功能、工作电压、功耗、封装形式、抗干扰性、XX 性,除了以上的一些还有一些最基本的,比如:中断源的数量和优先级、工作温度 X 围、有没有低电压检测功能、单片机内有无时钟振荡器、有无上电复位功能等。在开发过程中单片机还受到:开发工具、编程器、开发成本、开发人员的适应性、技术支持和服务等等因素。基于以上因素本设计选用单片机 AT89C51作为本设计的核心元件,利用单片机灵活的编程设计和丰富的I/O 端口,及其控制的准确性,实现基本
11、的密码控制功能。在单片机的外围电路外接输入键盘用于密码的输入和一些功能的控制,外接LCD1602 显示器用于显示作用。当用户需要开锁时,按键盘的数字键 09 输入密码。密码输完后按下开锁键,如果密码输入正确则开锁,不正确显示密码错误重新输入密码,当三次密码错误则发出报警;同时本设计支持串行通信,可以在 PC 机上实现远程操控。当用户需要修改密码时,先按下键盘设置键后,如果未开锁则需要输入原来的密码,只有当输入的原密码正确后才能设置新密码。新密码输入无误后按确认键使新密码将得到存储,密码修改成功。可以看出方案二的控制灵活,准确性好,且 XX 性强还具有扩展功能,根据现实生活的需要此次设计采用此方
12、案。第三章 主要元器件介绍及 I C 总线与串行通信说明23.1 主控芯片 AT89C51AT89C51 是一个低功耗,高性能 CMOS 8 位单片机,片内含 4k Bytes 的可反复擦写1000 次的 Flash 只读程序存储器,器件采用 ATMEL 公司的高密度、非易失性存储技术制造,兼容标准 MCS-51 指令系统及 AT80C51 引脚结构,芯片内集成了通用 8 位中央处理器和 ISP Flash 存储单元,功能强大的微型计算机的 AT89C51 可为许多嵌入式控制应用系统提供高性价比的解决方案。3.1.1 AT89C51 性能简介AT89C51 具有如下特点:40 个引脚,4k B
13、ytes Flash 片内程序存储器,128 bytes的随机存取数据存储器(RAM),32 个外部双向输入/输出(I/O)口,5 个中断优先级 2层中断嵌套中断,2 个 16 位可编程定时计数器,2 个全双工串行通信口,片内时钟振荡器。3.1.2AT89C51 引脚功能简介芯片引脚图如下图 3-1。5/563-1AT89C51 芯片引脚图VCC:电源电压 GND:地P0 口:P0 口是一组 8 位漏极开路型双向 I/O 口,也即地址/数据总线复用口,作为输出口用时,每位能驱动 8 个 TTL 逻辑门电路,对端口写“1”可作为高阻抗输入端口。在访问外部数据存储器或程序存储器时,这组口线分时转换
14、地址(低8 位)和数据总线复用,在访问期间激活内部上拉电阻。在Flash 编程时,P0 口接收指令字节,而在程序校验时,输出指令字节,校验时,要求外接上拉电阻。P1 口:P1 是一个带内部上拉电阻的 8 位双向 I/O 口,P1 的输出缓冲级可驱动(吸收或输出电流)4 个 TTL 逻辑门电路。对端口写“1”,通过内部的上拉电阻把端口拉到高电平,此时可作输入口。作输入口使用时,因为内部存在上拉电阻,某个引脚被外部信号校验期间,P1 接收低 8 位地址。P2 口:P2 是一个带有内部上拉电阻的 8 位双向 I/O 口,P2 的输出缓冲级可驱动 4个 TTL 逻辑门电路。对端口写“1”,通过内部的上
15、拉电阻把端口拉到高电平,此时可作输入口,作输入口使用时,因为内部存在上拉电阻,某个引脚被外部信号拉低时会输出一个电流 I。在访问位地址的外部数据存储器(如执行:MOVX Ri 指令)时,P2 口线上的内(也即特殊功能寄存器,在整个访问期间不改变。Flash 编程或校验时,P2 也接收高位地址和其它控制信号。P3 口:P3 口是一组带有内部上拉电阻的 8 位双向 I/O 口。P3 口输出缓冲级可驱动(吸收或输出电流)4 个 TTL 逻辑门电路。对 P3 口写入“1”时,它们被内部上拉电阻拉高并可作为输入端口。作输入端口时,被外部拉低的 P3 口将用上拉电阻输出电流 I。P3 口除了作为一般的 I
16、/O 口线外,更重要的用途是它的第二功能,P3 口的第二功能如下表 3-2。表 3-2 P3 口的第二功能端口功能RXD(P3.0)TXD(P3.1)INT0(P3.2)INT1(P3.3)第二功能串行输入口串行输出口外中断0外中断1端口引脚T0(P3.4)T1(P3.5)WR(P3.6)RD(P3.7)第二功能定时/计数器0外部输入定时/计数器1外部输入外部数据存储器写选通外部数据存储器读选通RST:复位输入。当振荡工作时,RST 引脚出现两个机器周期上高电平将使单片机复位。ALE/PROG:当访问外部程序存储器或数据存储器时,ALE(地址锁存允许)输出脉冲用于锁存地址的低 8 位字节。即使
17、不再访问外部存储器,ALE 仍以时钟振荡频率的 1/6输出的正脉冲信号,因此它可对外输出时钟或用于定时目地,要注意的是:当访问外部数据存储器时将跳过一个 ALE 脉冲。如有必要,可通过对特殊功能寄存器(SFR)区中的 8EH 单元的 D0 位置位,可禁止 ALE 操作。该位置禁位后,只有一条 MOVX 和 MOVC 指令 ALE 才会被激活。此外,该引脚伎被微弱拉高,单片机执行外部程序时,应设置 ALE无效。PSEN:程序储存允许(PSEN)输出是外部程序存储器的读选通信号,当AT89S51 由外部程序存储器取指令(或数据)时,每个机器周期两次PSEN 有效,即输出两个脉冲。当访问外部数据存储
18、器,高有两次有效的 PSEN 信号。EA/VPP:外部访问允许。欲使 CPU 访问外部程序存储器(地址 0000HFFFFH),EA端必须保持低电平(接地)。需注意的是:如果加密位 LB1 被编程,复位时内部会锁存EA 端状态。如 EA 端为高电平(接 VCC 端),CPU 则执行内部程序存储器中的指令。Flash存储器编程时,该引脚加上12V 的编程电压 VPP。XTAL1:振荡器反相放大器及内部时钟发生器的输入端。XTAL2:振荡器反相放大器的输出端。7/563.2LCD1602 显示器现在的字符型液晶模块已经是单片机应用设计中最常用的信息显示器件了。1602型 LCD 显示模块具有体积小
19、,功耗低,显示内容丰富等特点。1602 型 LCD 可以显示 2行 16 个字符,有 8 位数据总线 D0-D7 和 RS,R/W,EN 三个控制端口,工作电压为 5V,并且具有字符对比度调节和背光功能。3.2.1LCD 结构及引脚功能LCD1602 液晶屏外观示意图如下图 3-3图 3-3 LCD 液晶显示屏LCD 液晶屏引脚功能如下表 3-4 所列:表 3-4 LCD 引脚功能表编号符号引脚说明12345678VSSVDDVEERSR/WED0D1电源地电源正极液晶显示偏压信号编号符号引脚说明91011D2D3D4D5D6D7Data I/OData I/OData I/OData I/O
20、Data I/OData I/O数据/命令选择端12读写选择端(H/L)13使能信号Data I/OData I/O14LCD1602 的引脚中,其中 VSS为地电源,VDD接 5V,VEE为液晶显示器对比度调节端,接正电源时对比度最弱,接地电源时对比度最高,对比度过高时会产生“鬼影”,使用时可以通过 1 个 10K 的电位器调整对比度。RS 为寄存器选择,高电平时选择数据寄存器、低电平时选择指令寄存器。RW 为读写信号线,高电平时进行读操作,低电平时进行写操作。E 端为使能端。D0D7 为 8 位双向数据线。3.2.2 LCD 显示指令系统通过 RS、RW、E 这三个控制脚不同的状态的配合,
21、对LCD1602 的操作主要有两类四种。两类分为读和写,四种是读状态,写指令,读数据,写数据。下面是具体的四种状态:1)读状态,输入:RS=L,RW=H,E=H。输出:D0D7=状态字。2)写指令,输入:RS=L,RW=L,D0-D7=指令,E=高脉冲。输出:无。3)读数据,输入:RS=H,RW=H,E=H。输出:D0D7=数据。4)写数据,输入:RS=H,RW=L,D0D7=数据,E=高脉冲。输出:无。了解这四种状态就可以对 LCD1602 进行操作了。3.3 晶体振荡器晶体振荡器,简称晶振,其作用在于产生原始的时钟频率,这个频率经过频率发生器的放大或缩小后就成了电脑中各种不同的总线频率。以
22、声卡为例,要实现对模拟信号44.1kHz 或 48kHz 的采样,频率发生器就必须提供一个 44.1kHz 或 48kHz 的时钟频率。如果需要对这两种音频同时支持的话,声卡就需要有两颗晶振。但是现在的娱乐级声卡为了降低成本,通常都采用 SCR 将输出的采样频率固定在 48kHz,但是 SRC 会对音质带来损害,而且现在的娱乐级声卡都没有很好地解决这个问题。现在应用最广泛的是石英晶体振荡器。石英晶体振荡器是一种高精度和高稳定度的振荡器,石英晶体振荡器也称石英晶体谐振器,它用来稳定频率和选择频率,是一种可以取代LC 谐振回路的晶体谐振元件。石英晶体振荡器广泛地应用在电视机、影碟机、录像机、无线通
23、讯设备、电子钟表、单片机、数字仪器仪表等电子设备中。为数据处理设备产生时钟信号和为特定系统提供基准信号。在单片机中为其提供时钟频率。石英晶体振荡器是利用石英晶体(二氧化硅的结晶体)的压电效应制成的一种谐振器件,它的基本构成大致是:从一块石英晶体上按一定方位角切下薄片(简称为晶片,它可以是正方形、矩形或圆形等),在它的两个对应面上涂敷上银层用作电极使用,在9/56每个电极上各焊一根引线接到管脚上,再加上封装外壳就构成了石英晶体谐振器,简称为石英晶体或晶体、晶振。其产品一般用金属外壳封装,也有用玻璃壳、陶瓷或塑料封装的。只要在晶体振子板极上施加交变电压,就会使晶片产生机械变形振动,此现象即所谓逆压
24、电效应。当外加电压频率等于晶体谐振器的固有频率时,就会发生压电谐振,从而导致机械变形的振幅突然增大。本设计中采用 11.0592MHZ 做系统的外部晶振,选择的原因在后面串口通信的时候会具体说明。电容取值为 22pF。3.4I2C 总线说明及 M24C01 串行 EEPROMI2C(InterIntegrated Circuit)总线是一种由 PHILIPS 公司开发的两线式串行总线,用于连接微控制器及其外围设备。I2C 总线产生于在 80 年代,最初为音频和视频设备开发,如今主要在服务器管理中使用,其中包括单个组件状态的通信。例如管理员可对各个组件进行查询,以管理系统的配置或掌握组件的功能状
25、态,如电源和系统风扇。可随时监控内存、硬盘、网络、系统温度等多个参数,增加了系统的安全性,方便了管理。3.4.1 I C 总线的硬件结构I2C 串行总线一般有两根信号线,一根是双向的数据线 SDA,另一根是时钟线 SCL。所有接到 I2C 总线设备上的串行数据 SDA 都接到总线的 SDA 上,各设备的时钟线 SCL 接到总线的 SCL 上。为了避免总线信号的混乱,要求各设备连接到总线的输出端时必须是开漏输出或集电极开路输出。设备上的串行数据线SDA 接口电路应该是双向的,输出电路用于向总线上发送数据,输入电路用于接收总线上的数据。而串行时钟线也应是双向的,作为控制总线数据传送的主机,一方面要
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 单片机 电子 密码锁 设计
限制150内