单片机的电子密码锁的设计
摘 要嵌入式系统概念以及技术的发展使得电子密码锁控制系统得到了更快更全面的发展,并且在用户使用度方面实现了大幅度的普及。本课题将主要以电子密码锁控制系统作为研究设计目标,将采用AT89C51芯片作为主控单片机,外部结合液晶屏、EEPROM、报警器以及继电器等模块,设计了一款能够实现密码输入、密码判断、密码保存、错误报警等功能的电子密码锁系统,在课题的设计方法上,本论文采用了层次分明的模块化设计,通过原理图和流程图的形式对各模块的硬件和软件设计原理和方法进行了详细的描述,通过最后的成果分析本系统适合推向未来电子密码锁系统市场,相比于先用产品具有更低的成本和更高的性能。
目 录
引言
(一) 研究背景
(二) 本文主要研究内容
一、系统组成
二、 单片机介绍
三、 系统的硬件设计
(一) 单片机最小系统设计
(二) 存储电路设计
(三) 开锁电路设计
(四) 显示器电路设计
(五) 键盘电路设计
(六) 报警器电路设计
四、 系统的软件设计
(一) 主程序设计
(二) 显示子程序设计
(三) 键盘子程序设计
结束语
参考文献
致 谢
附录一 原理图
附录二 源程序
引言
研究背景
随着中国科技的不断发展,普通的机械密码锁已经无法满足人们的需求了。因为机械密码锁在安全方面比较容易被钻漏洞。电子密码锁会逐渐成为社会的主流,不管是在家里用还是在公司用,又或者是用在合租小区,安全便捷就是它的代名词,完全不会有忘记带优势又或者是钥匙掉了而产生的烦恼了,在这个互联网的时代,只要连一下网就能简单方便的摆脱钥匙的束缚了。
本文主要研究内容
本文主要以电子密码锁控制系统作为研究对象,设计了一款采用51单片机作为主控芯片的自动控制系统,电路模块在设计中主要包括51单片机最小系统电路、显示电路、按键电路、存储电路、开锁电路以及键盘等电路设计。????????
密码
*好棒文|www.hbsrm.com +Q: 3_5_1_9_1_6_0_7_2
锁控制系统将实现如下功能指标:
1.具有通过输入密码来实现开锁/解锁的功能;
2.密码通过ABCD四位英文数字和8位阿拉伯数字组成;
3.密码是可以具备修改功能的;
4.密码输入方式通过键盘输入;
5.输错次数到达一定次数是会发出报警信号;
6.具有手动闭锁功能;
一、系统组成
下图所描述的是本基于单片机的电子密码锁控制系统的硬件结构原理框图,它对本系统在硬件上所表现的内部各模块之间的联系进行了简要展现,下面对结构原理框图进行描述:结构框图最核心的部分是由51单片机芯片、复位电路和时钟电路三个部分组成的最小系统模块,该模块之所以是核心部分,是因为它不但作为整个控制系统的控制器,还要负责对其周围的各模块进行驱动,以此来驱使各模块发挥出其自身功能;键盘模块用于实现密码的输入;EEPROM芯片用于保存密码;液晶屏用于实现参数的显示;继电器用于控制锁阀的开关,这就是各模块的主要功能介绍。
图1 系统组成框图
单片机介绍
本文在多款单片机的对比中,考虑到了自身学习经历、对单片机的使用经验、成本以及片内资源等多个角度,选择出了美国ATMEL公司推出的AT89C51单片机来担任本文的主控微处理器。首先需要说明的是这款单片机是一款宽电压供电芯片,能够以3~6V直流电压进行供电,本文为兼容其它芯片的供电电压,因此采用正5V直流电压为其供电。该型号单片机内部的程序存储器FLASH大小位4K字节,RAM的大小位128字节,经过初期的预算,本控制系统的代码量较少,4K的容量足以使用。在内部资源方面,AT89C51单片机含有两个最大精度可达16位的可配置定时器T0和T1,这两个定时器在其寄存器参数的配置下,可实现8位或者16位的计时、计数功能,并且计时计数的模式也可配置,使用者可根据自身需求通过C语言代码灵活配置定时器的使用。AT89C51单片机内部还集成了一个可配置为同步或者异步的UART模块,该接口是单片机与外部通信的一个常用接口,同时它也是程序下载的一个接口,许多使用者在外部配置RS232、RS485或者RS422芯片就可以方便的实现这三种通信;在外部中断方面,ATMEL公司的设计人员为这款单片机配置了两路具有中断功能的管脚P3.2和P3.3,这两个管脚位复用管脚,通过程序代码的配置,可使其在GPIO管脚和外部中断功能之间切换。
使用这款单片机还有另一个好处——该单片机的功耗较低,在静态时消耗的电流不足0.1mA,因此通过该控制器实现的控制系统绝对能够满族低功耗的要求。另外该单片机的封装形式位40个只差引脚,因此将大幅度降低对PCB文件的布局要求,同时加快硬件的焊接效率。
图2 AT89C51单片机
系统的硬件设计
单片机最小系统设计
单片机的最小系统由单片机、时钟电路、复位电路三部分组成,本系统由于所有芯片和模块都采用正5V直流电压供电,各模块电源之间可以共用,因此可以省却最小系统中的电源模块,下面对晶振模块和时钟模块电路进行设计。
时钟电路设计
如图所示的是AT89C51单片机最小系统中的时钟电路,根据官方资料显示AT89C51单片机能够在0~24MHz的时钟频率下工作,也就是说外部时钟的取值范围非常广泛,对时钟的要求较低,本系统选用了12M直插时钟作为时钟信号的产生源。两个电容与时钟两端直接相连,用于与时钟组成谐振电路,修整时钟的输出频率。
图3 时钟电路
复位电路设计
如图所示的是AT89C51单片机最小系统中的复位电路,由于所有51单片机的RST管脚在外部施加高电平时,内部程序将停止运行,并立即进行软件复位,程序将从头开始重新运行(这一点与电脑的重启相似);而外部施加低电平时,单片机处于正常工作状态复位。电路主要有自动复位电路和手动复位电路。
手动复位电路所要完成的工作就是当使用者按下复位按键后,复位电路能够输出高电平,使得单片机进行复位;而不按动复位按键时,复位电路输出电平,单片机处于正常工作状态,如下图的电路所示,当按键未被按下时由于电容的阻抗无穷大,远大于电阻阻值,因此RST处的电压为0;而按键被按下时,由于按键电路接通将电容两端短路,因此电流流过按键位通往电阻,RST处电压为+5V的高电平,单片机将复位。手动复位电路的原理就是当按下S1按键,电容器C被短路放电,电源通过S1按键开关,直接加到RST(复位端),就是高电平直接送入RST,此时单片机进入“复位状态”。当放开S1按键,电源开始对C电容器充电,此时,充电电流在电阻R上,形成高电平送到RST,单片机仍然是“复位状态”;稍后,充电结束,电流下降为0,电阻R上的电压也降为0,RST也降为低电平,单片机开始正常工作。
图4 复位电路
存储电路设计
存储电路主要实现对八位密码的保存,防止系统掉电后密码数据丢失,通过下图的电路原理图配置,能够实现2k字节的数据量保存,在AT24C02芯片的电路设计上,将其A0~A3以及GND管脚接地,VCC管脚接+5V直流电压,Wp/SCL/SDA三个芯片管脚分别与单片机的P3.5~P3.7三个管脚直接相连,这样就实现了存储电路的设计。
目 录
引言
(一) 研究背景
(二) 本文主要研究内容
一、系统组成
二、 单片机介绍
三、 系统的硬件设计
(一) 单片机最小系统设计
(二) 存储电路设计
(三) 开锁电路设计
(四) 显示器电路设计
(五) 键盘电路设计
(六) 报警器电路设计
四、 系统的软件设计
(一) 主程序设计
(二) 显示子程序设计
(三) 键盘子程序设计
结束语
参考文献
致 谢
附录一 原理图
附录二 源程序
引言
研究背景
随着中国科技的不断发展,普通的机械密码锁已经无法满足人们的需求了。因为机械密码锁在安全方面比较容易被钻漏洞。电子密码锁会逐渐成为社会的主流,不管是在家里用还是在公司用,又或者是用在合租小区,安全便捷就是它的代名词,完全不会有忘记带优势又或者是钥匙掉了而产生的烦恼了,在这个互联网的时代,只要连一下网就能简单方便的摆脱钥匙的束缚了。
本文主要研究内容
本文主要以电子密码锁控制系统作为研究对象,设计了一款采用51单片机作为主控芯片的自动控制系统,电路模块在设计中主要包括51单片机最小系统电路、显示电路、按键电路、存储电路、开锁电路以及键盘等电路设计。????????
密码
*好棒文|www.hbsrm.com +Q: 3_5_1_9_1_6_0_7_2
锁控制系统将实现如下功能指标:
1.具有通过输入密码来实现开锁/解锁的功能;
2.密码通过ABCD四位英文数字和8位阿拉伯数字组成;
3.密码是可以具备修改功能的;
4.密码输入方式通过键盘输入;
5.输错次数到达一定次数是会发出报警信号;
6.具有手动闭锁功能;
一、系统组成
下图所描述的是本基于单片机的电子密码锁控制系统的硬件结构原理框图,它对本系统在硬件上所表现的内部各模块之间的联系进行了简要展现,下面对结构原理框图进行描述:结构框图最核心的部分是由51单片机芯片、复位电路和时钟电路三个部分组成的最小系统模块,该模块之所以是核心部分,是因为它不但作为整个控制系统的控制器,还要负责对其周围的各模块进行驱动,以此来驱使各模块发挥出其自身功能;键盘模块用于实现密码的输入;EEPROM芯片用于保存密码;液晶屏用于实现参数的显示;继电器用于控制锁阀的开关,这就是各模块的主要功能介绍。
图1 系统组成框图
单片机介绍
本文在多款单片机的对比中,考虑到了自身学习经历、对单片机的使用经验、成本以及片内资源等多个角度,选择出了美国ATMEL公司推出的AT89C51单片机来担任本文的主控微处理器。首先需要说明的是这款单片机是一款宽电压供电芯片,能够以3~6V直流电压进行供电,本文为兼容其它芯片的供电电压,因此采用正5V直流电压为其供电。该型号单片机内部的程序存储器FLASH大小位4K字节,RAM的大小位128字节,经过初期的预算,本控制系统的代码量较少,4K的容量足以使用。在内部资源方面,AT89C51单片机含有两个最大精度可达16位的可配置定时器T0和T1,这两个定时器在其寄存器参数的配置下,可实现8位或者16位的计时、计数功能,并且计时计数的模式也可配置,使用者可根据自身需求通过C语言代码灵活配置定时器的使用。AT89C51单片机内部还集成了一个可配置为同步或者异步的UART模块,该接口是单片机与外部通信的一个常用接口,同时它也是程序下载的一个接口,许多使用者在外部配置RS232、RS485或者RS422芯片就可以方便的实现这三种通信;在外部中断方面,ATMEL公司的设计人员为这款单片机配置了两路具有中断功能的管脚P3.2和P3.3,这两个管脚位复用管脚,通过程序代码的配置,可使其在GPIO管脚和外部中断功能之间切换。
使用这款单片机还有另一个好处——该单片机的功耗较低,在静态时消耗的电流不足0.1mA,因此通过该控制器实现的控制系统绝对能够满族低功耗的要求。另外该单片机的封装形式位40个只差引脚,因此将大幅度降低对PCB文件的布局要求,同时加快硬件的焊接效率。
图2 AT89C51单片机
系统的硬件设计
单片机最小系统设计
单片机的最小系统由单片机、时钟电路、复位电路三部分组成,本系统由于所有芯片和模块都采用正5V直流电压供电,各模块电源之间可以共用,因此可以省却最小系统中的电源模块,下面对晶振模块和时钟模块电路进行设计。
时钟电路设计
如图所示的是AT89C51单片机最小系统中的时钟电路,根据官方资料显示AT89C51单片机能够在0~24MHz的时钟频率下工作,也就是说外部时钟的取值范围非常广泛,对时钟的要求较低,本系统选用了12M直插时钟作为时钟信号的产生源。两个电容与时钟两端直接相连,用于与时钟组成谐振电路,修整时钟的输出频率。
图3 时钟电路
复位电路设计
如图所示的是AT89C51单片机最小系统中的复位电路,由于所有51单片机的RST管脚在外部施加高电平时,内部程序将停止运行,并立即进行软件复位,程序将从头开始重新运行(这一点与电脑的重启相似);而外部施加低电平时,单片机处于正常工作状态复位。电路主要有自动复位电路和手动复位电路。
手动复位电路所要完成的工作就是当使用者按下复位按键后,复位电路能够输出高电平,使得单片机进行复位;而不按动复位按键时,复位电路输出电平,单片机处于正常工作状态,如下图的电路所示,当按键未被按下时由于电容的阻抗无穷大,远大于电阻阻值,因此RST处的电压为0;而按键被按下时,由于按键电路接通将电容两端短路,因此电流流过按键位通往电阻,RST处电压为+5V的高电平,单片机将复位。手动复位电路的原理就是当按下S1按键,电容器C被短路放电,电源通过S1按键开关,直接加到RST(复位端),就是高电平直接送入RST,此时单片机进入“复位状态”。当放开S1按键,电源开始对C电容器充电,此时,充电电流在电阻R上,形成高电平送到RST,单片机仍然是“复位状态”;稍后,充电结束,电流下降为0,电阻R上的电压也降为0,RST也降为低电平,单片机开始正常工作。
图4 复位电路
存储电路设计
存储电路主要实现对八位密码的保存,防止系统掉电后密码数据丢失,通过下图的电路原理图配置,能够实现2k字节的数据量保存,在AT24C02芯片的电路设计上,将其A0~A3以及GND管脚接地,VCC管脚接+5V直流电压,Wp/SCL/SDA三个芯片管脚分别与单片机的P3.5~P3.7三个管脚直接相连,这样就实现了存储电路的设计。
版权保护: 本文由 hbsrm.com编辑,转载请保留链接: www.hbsrm.com/dzxx/txgc/1214.html