跳到主要内容

密码式门锁系统(基于8051单片机)

基于8051单片机的密码式门锁系统是一个简单的项目,其中安全的密码将作为门解锁系统的凭证。传统的机械锁和钥匙机制正在被新的先进锁具技术所取代。这些技术是机械和电子设备的集成,并且具有高度的智能化。这些创新锁具系统的一个显著特点是它们的简单性和高效率。

这种自动锁系统由电子控制组件组成,通过密码控制输出负载。该输出负载可以是电机、灯或其他任何机械/电气负载。

1. 系统原理

本系统的核心组件是8051控制器。在此项目中,使用4×4矩阵键盘输入密码。输入的密码将与预设密码进行比较。

如果输入的密码正确,系统将通过旋转门电机打开门,并在LCD上显示门的状态。如果密码错误,门将保持关闭状态,并在LCD上显示“PWD is wrong”。

2. 系统电路图

alt text

3. 所需组件

3.1 硬件需求

  • 8051单片机
  • 8051开发板
  • 8051编程器
  • 4×4矩阵键盘
  • 16×2 LCD
  • L293D电机驱动板
  • 直流电机
  • 10KΩ电位器
  • 连接线
  • 电源
  • 如果不使用8051开发板,则需要以下组件:
    • 11.0592 MHz石英晶体
    • 2×33pF陶瓷电容
    • 2×10KΩ电阻(1/4瓦)
    • 10µF电容(极性电容)
    • 按钮
    • 2×1KΩ电阻(用于上拉)

3.2 软件需求

  • Keil µVision IDE
  • Willar编程器
  • Proteus(用于电路图和仿真)
alt text
alt text
alt text
alt text
alt text

4. 电路设计

基于8051单片机的密码式门锁系统电路设计使用了五个主要组件:单片机、L293D电机驱动器、直流电机、4×4矩阵键盘和16×2 LCD。此处使用的是AT89C52单片机,它是一个8位控制器。该控制器需要+5V直流电源供电。为了向控制器提供稳定的5V直流电压,需要使用7805电源电路。可以使用9V直流电池或12V、1A适配器作为电源。

4.1 复位电路设计:单片机的复位引脚在电源电压处于规定范围内且维持最小振荡电平的情况下保持激活状态。换句话说,为确保电源电压不低于1.2V且复位脉冲宽度大于100ms(对于89C52推荐),需要选择电阻和电容的值,使得 (RC \geq 100ms)。因此,选择了10KΩ电阻和10µF电解电容。

4.2 振荡器电路设计:使用11.0592MHz晶体振荡器为单片机提供外部时钟信号。为了确保平稳运行,需要连接两个30pF到40pF的陶瓷电容。该晶体振荡器连接在单片机的第18脚和第19脚之间。此处使用了两个33pF电容。

4.3 LCD、键盘和电机驱动器的接口:首先,将10KΩ电位器连接到LCD显示屏的对比度调节引脚(第3脚)。LCD的RS、RW和E引脚分别连接到P3.0、GND和P3.2引脚。LCD的八个数据线连接到PORT1。

键盘的四个ROW引脚连接到P2.0到P2.3,四个COLUMN引脚连接到P2.4到P2.7引脚。L293D电机驱动器的IN1和IN2(1A和2A)连接到PORT0的P0.0和P0.1引脚。电机连接在L293D的OUT1和OUT2(1Y和2Y)引脚之间。

4.4 单片机代码编译:一旦电路设计完成并绘制在纸上,下一步是编写和编译代码。此处使用Keil µVision软件用C语言编写程序。

在编写代码之前,需要遵循一般步骤,如创建新项目并选择目标设备或所需的单片机。代码编写完成后,需要将其保存为.c扩展名,然后将其添加到目标文件夹下的源文件组中。按下F7键编译代码。

代码编译完成后,生成一个hex文件。接下来,使用Proteus软件绘制电路。使用外部编程器和Willar软件将代码烧录到单片机中。

5. 系统运行

一旦电路通电,单片机向LCD发送命令以显示“enter password”。此时需要使用键盘输入密码。输入密码后,LCD上显示5个星号,表示控制器已成功读取密码。

接下来,控制器将输入的密码与预设密码进行比较。如果密码匹配,单片机将P0.0引脚置为高电平,P0.1引脚置为低电平,因此电机驱动器接收到电机正向运动的输入信号。

结果,门电机正向旋转以打开门。经过10秒的延迟后,单片机将P0.0引脚置为低电平,P0.1引脚置为高电平,因此电机驱动器接收到电机反向运动的输入信号。结果,门电机反向旋转以关闭门。

如果密码不匹配,单片机保持P0.0和P0.1引脚均为低电平。因此,门电机保持静止,门保持关闭状态。

注意:在连接线路时,确保交流和直流电源之间没有公共连接。

6. 系统算法

  1. 首先,将PORT1声明为LCD数据引脚和控制引脚(RS和E)分别连接到P3.0和P3.2。同时,将PORT2声明为键盘。另外,使用P0.0和P0.1用于电机驱动器。
  2. 然后,在LCD上显示“enter password”消息。
  3. 现在从用户读取五位密码。
  4. 将输入的密码与存储的密码进行比较。
  5. 如果密码正确,则将P0.0引脚置为高电平,P0.1引脚置为低电平以打开门。在此期间,在LCD上显示“Door opening”。
  6. 经过一段时间后,将P0.0引脚置为低电平,P0.1引脚置为高电平以关闭门,之后在LCD上显示“Door closing”。
  7. 如果密码错误,则在LCD上显示“Wrong Password”。
  8. 经过一段时间的延迟后,再次提示输入密码。

7. 系统优点

  • 该系统提供安全性
  • 功耗低
  • 使用常见组件
  • 项目简单易用

8. 系统应用

  • 该简单电路可用于住宅场所以确保更好的安全性。
  • 可用于组织中以确保对高度安全区域的授权访问。
  • 经过轻微修改后,该项目可用于通过密码控制负载的切换。

9. 系统限制

  • 这是一个短程电路,即无法远程操作该电路。
  • 如果忘记密码,则无法打开门。