课设 - 基于单片机的多功能密码锁设计

版权声明:原创作品,转载请注明来源及本文链接! https://blog.csdn.net/weixin_42625444/article/details/84641368

该密码锁是以STC89C52单片机为核心,加上需要的硬件部分,实现密码的设定、保存、检测,从而控制电路的闭合是否进行开锁的决定。单片机通过用户输入的密码,转化成键码,与保存在24C02芯片中的密码进行比较,本次设定的初始密码为六位密码,这就可以有300多万组密码可以更改和选择,安全性大大的增加,可选密码组是连续排列的,输入的密码正确,继电器吸和,二极管发光,代表着密码锁开启;如果密码输入不正确,则由蜂鸣器发出报警信号,多次错误会锁定键盘,直到再次复位才能使用。

密码锁主要由单片机、键盘、外部硬件等器件构成。这里面矩阵键盘的作用是用户输入密码,修改密码等。本次设计用继电器代替电磁锁,实际使用时只要继电器变成电磁锁即可,当然也可以用继电器的常开触点去控制电磁铁吸合线圈,单片机将每次开锁操作和此时电磁执行器的驱动电流值作为状态信息发送给单片机的芯片处理,同时将接收来自无限循环的密码识别程序的报警信息也发送给智能报警器,从而使整个密码锁正常运行。

电源电路提供的一个直流电压。由于单片机工作需要一个振荡频率,所以需要晶振电路来提供一个基准频率。复位电路是一种使电路恢复到起始状态的电路,这里是让单片机与其他部件都保持在一个特定的状态下,当供电后按下开关就会复位。键盘接口电路部分提供输入密码的功能。开锁电路顾名思义,当密码正确输入后,单片机会发出开锁请求,继电器吸和二极管发光代表着门成功打开。报警电路是密码输入错误时,蜂鸣器发出声响报警。

通过键盘扫描模块,既可以显示密码又能够修改密码,通过键盘扫描模块将密码输入到STC89C52单片机中,通过LCD显示器将我们需要的数据显示出来。该系统还拥有掉电存储,报警等功能,掉电存储可以增加密码锁的实用性。报警模块部分,当我们输入的密码正确时,密码锁开锁,显示模块的灯会亮,当我们输入的密码错误时,则会由蜂鸣器发出报警音,提示错误。

1 硬件电路设计

1.1 主控制模块

单片机最小系统包括单片机、复位电路、时钟电路构成。STC89C52 单片机的工作电压范围:4V-5.5V,所以通常给单片机外界5V直流电源。

单片机最小系统包括单片机、复位电路、时钟电路构成。单片机最小系统就是指能使单片机正常工作的最低配置。

1.2 键盘电路

键盘需要通过接口电路和CPU相连接,CPU可以采用查询接口或者中断的方式来判断用户是否使用键盘,然后确定使用的键是在什么位置。无论是查询方式还是中断方式都要用到单片机的I/O口。因为矩阵键盘相比于独立键盘占用更少的I/O口,所以在需要使用多个键的时候,一般采用矩阵键盘的方式来实现多按键的功能。本系统采用4*4矩阵式键盘,键盘连接方式如图所示:

1.3 液晶显示电路

LCD1602作为一种字符型液晶显示器,它是一种点阵式液晶显示器,它是专门用于显示字母、数字、符号等的。LCD1602的显示容量为16*2个字符(既每行16个字符,共计两列),LCD的芯片工作电压在4.5~5.5V之间,工作电流为2.0mA(5.0V),模块的最佳工作电压为5.0V。另外需要注意的是,LCD显示器要想正常的工作,必须提供足够的电流,所以,在本次设计中,为了保证LCD正常显示,在数据端口上加了一个电阻,来保证顺利进行。本设计采用液晶显示屏LCD进行显示,具体连接方式如图所示。

1.4 存储芯片电路

AT24C02的工作电压在1.8V~5.5V之间,输入/输出引脚兼容5V。AT24C02是二线串型接口,支持硬件写保护,具有高保护性,读写次数高达100万次,数据可以保存100年。E1~E3作为器件地址选择端口,这本次设计中,全部接地。VCC可以接入1.8V~6.0V的工作电压,这里接入5V电压。VSS接地端,这里接入电源负极。WP是专门写保护的端口,当WP=1时,只能读取,不能写入,当WE=0时才可以进行正常的读写功能。SCL是串行时钟输入端,SDA是串行数据、地址线,用于传送和接受数据,是一个双向的端口。P2.5为串行时钟输入线接口,P2.6为数据线接口。A0,A1,A2接地,所以单片机在读AT24C02时,器件地址为:10100001B=0A1H;在写AT24C02时,器件地址为:10100000B=0A0H。WP=0,允许单片机进行读写操作。

AT24C02系列是典型的I2C串行总线的EEPROM,本系统采用此芯片进行数据存储,存储系统连接如图所示:

1.5 报警电路

本次设计中,报警部分由蜂鸣器及外围电路组成,通过控制蜂鸣器发声来实现报警的功能。蜂鸣器是一种采用直流电压供电的电子讯响器,当P3.7口有脉冲信号输入时,蜂鸣器即会发音。通过控制输入脉冲的频率还能控制蜂鸣器的发音频率。如图所示。

1.6 密码锁电路

在单片机密码锁中,输入正确的密码,锁就会打开。本次设计降低成本不用电磁锁,用继电器和二极管来替代。当密码输入正确时,灯亮起,继电器吸和,象征着密码锁打开。所以用如图所示的电路代替电磁锁开锁机构。

2 软件程序设计

2.1 主程序流程图

2.2 键盘扫描子程序

2.3 显示模块子程序

2.4 开锁子程序

2.5 报警子程序

2.6 掉电存储子程序

在设计中我们必须首先熟悉和掌握单片机的结构及工作原理,单片机的接口技术及相关外围芯片的外特性,控制方法。以单片机核心的电路设计的基本方法和技术了解表关电路参数的计算方法。同时,学习使用单片机了解计算机原理与结构的最佳选择。 在本次设计中,所有的设计要求都得到了实现,可以在LCD显示器上以“*”形式显示密码,修改密码,掉电存储等功能也全都实现。再输入密码的过程中,可以清空密码、倒退,长时间不操作会有锁定密码锁的功能。

获取课设全部资料,扫码关注发送【51锁】,更多云盘学习资料等你下载。


猜你喜欢

转载自blog.csdn.net/weixin_42625444/article/details/84641368