基于51单片机实现简易密码锁功能

发布时间:2023-02-01  

具体功能的实现:

按下不同的按键,在LCD1602显示屏中可以出现不同的数字密码,如果输入错误,会显示ERR,反之显示ON;如果密码输错3次,则蜂鸣器报警30s同时在此期间无法输入密码。按键的功能有重置密码,取消,确认三种功能。

器件:AT89C51,排阻,LCD1602,若干电阻,电源,按键,蜂鸣器,三极管

Proteus仿真原理图:

知识介绍:

存储器介绍:

存储器主要芯片AT24C02:

AT24C02是一个2K位串行CMOS E2PROM, 内部含有256个8位字节,CATALYST公司的先进CMOS技术实质上减少了器件的功耗。AT24C02有一个16字节页写缓冲器。该器件通过IIC总线接口进行操作,有一个专门的写保护功能。

②为什么蜂鸣器要接NPN晶体管?

加NPN型三极管进行驱动,因为单片机的引脚驱动能力有限,蜂鸣器的功率比较大,所以需要通过三极管来驱动。

③为什么P0口接上拉电阻?

因为P0口是准双向口,即是开漏输出的,当P0口作为并行口使用时,只能输出低电平,不能输出高电平,需要接一个上拉电阻才能输出高电平。

主要代码(C语言)KEIL5实现:

主函数代码:

#include

#include "Delay.h"

#include "LCD1602.h"

#include "MatrixKey.h"

#include "Beep.h"

#include "AT24C02.h"


unsigned char KeyNum;

unsigned int password,count; 

unsigned int scount; 

unsigned int rightpass ; 

sbit led = P3^0;

sbit P22 = P2^2;


void main()

{  

  P22 = 0;

  rightpass = 2001;

  LCD_Init(); 

  while(1)

  {

      

      KeyNum = MatrixKey();

      LCD_ShowString(1,1,"PASSWORD");

      if(KeyNum)

    {

      

        if(KeyNum <= 10) 

      {

        

            led = 1;

            if(count < 4)

          {

            password*=10; 

            password += KeyNum % 10; 

            count++;    

          }

        LCD_ShowNum(2,1,password,4); 

      }

        if(KeyNum == 13)

      {

        rightpass = password;

        password = 0;

        count = 0;   

        LCD_ShowNum(2,1,password,4);

      }    

        if(KeyNum == 11) 

      {

      

            if(password == rightpass)   

          {

              LCD_ShowString(1,14,"ON "); 

              led = 0;

              password = 0;

              count = 0;  

              LCD_ShowNum(2,1,password,4);

          }else{                       

              LCD_ShowString(1,14,"ERR"); 

              scount++;

                if(scount == 3)  

              {

                int i = 60;   

                while(i--)    

                {

                  Beep();

                }

                Delay(30000); 

                scount = 0; 


              }

                password = 0;

                count = 0;  

                LCD_ShowNum(2,1,password,4);

          }

        

      }

        if(KeyNum == 12)

      {

        password = 0;

        count = 0;

        LCD_ShowNum(2,1,password,4);

      }  

      

   }  

  }

}


文章来源于:电子工程世界    原文链接
本站所有转载文章系出于传递更多信息之目的,且明确注明来源,不希望被转载的媒体或个人可与我们联系,我们将立即进行删除处理。

相关文章

    以STC89C52单片机为核心的电子密码锁设计;引言 电子密码锁是现代生活中常用的加密工具。它克服了机械式密码锁密码量少、安全性能差的缺点,尤其是微控制器的智能电子密码锁;不仅具有电子密码锁......
    基于RFID技术的电子密码锁是怎样设计实现的;1.引言 随着信息技术的发展,人们安全意识的增强,电子锁技术得到了迅猛的发展。电子锁系统早已超越了单纯的门道及钥匙管理,并已......
    如何实现一种基于STM32单片机的电子密码锁设计;一、功能简介 本项目使用Proteus8仿真STM32单片机控制器,使用LCD1602液晶、矩阵按键、蜂鸣器、EEPROM模块、继电......
    采用AT89C2051和AT89S52单片机实现红外遥控电子密码锁的设计;随着科学技术的进步和社会经济的发展,电子密码锁取代传统的机械锁已成为一种必然的趋势。以往基于单片机的密码锁系统,直接将编好的密码......
    钥匙为IC卡式,整个读卡单元由CIPH09芯片、24C01A密码存储器、卡座以及外围电路组成,原理图如图4所示。     小结 在本文多功能电子密码锁系统的基础上结合单片机的串行通讯功能,可以将多个家庭的密码锁......
    用户插入已编程的代码来访问一个房间; 它是一个密码锁系统,有密码而且可以启用多个用户访问。 在基于51单片机的门储物柜,只允许授权人员进入限制区域的门禁系统。 该系统由8位微控制器AT89C2051具有ROM的2K字节......
    基于单片机的指纹门禁设计;功能: 研究内容:本课题以单片机为核心采用C语言来开发一指纹电子密码锁。系统拟在Altium Designer9开发平台上设计原理图,并绘制PCB并制成单片机开发板,然后......
    基于51单片机实现简易密码锁功能;具体功能的实现: 按下不同的按键,在LCD1602显示屏中可以出现不同的数字密码,如果输入错误,会显示ERR,反之显示ON;如果密码输错3次,则蜂鸣器报警30s同时在此期间无法输入密码......
    基于51单片机的蓝牙密码锁;原理图: PCB图: 程序运行图: 部分程序: #include #include #include #include <12864.h>......
    如何利用单片机设计一款产品;现在的电子设备几乎离不开单片机,在大学里有学了这么久的单片机。那如何利用单片机来设计一款产品呢?今天来和大家探讨一下。 1 制定需求 首先......

我们与500+贴片厂合作,完美满足客户的定制需求。为品牌提供定制化的推广方案、专属产品特色页,多渠道推广,SEM/SEO精准营销以及与公众号的联合推广...详细>>

利用葫芦芯平台的卓越技术服务和新产品推广能力,原厂代理能轻松打入消费物联网(IOT)、信息与通信(ICT)、汽车及新能源汽车、工业自动化及工业物联网、装备及功率电子...详细>>

充分利用其强大的电子元器件采购流量,创新性地为这些物料提供了一个全新的窗口。我们的高效数字营销技术,不仅可以助你轻松识别与连接到需求方,更能够极大地提高“闲置物料”的处理能力,通过葫芦芯平台...详细>>

我们的目标很明确:构建一个全方位的半导体产业生态系统。成为一家全球领先的半导体互联网生态公司。目前,我们已成功打造了智能汽车、智能家居、大健康医疗、机器人和材料等五大生态领域。更为重要的是...详细>>

我们深知加工与定制类服务商的价值和重要性,因此,我们倾力为您提供最顶尖的营销资源。在我们的平台上,您可以直接接触到100万的研发工程师和采购工程师,以及10万的活跃客户群体...详细>>

凭借我们强大的专业流量和尖端的互联网数字营销技术,我们承诺为原厂提供免费的产品资料推广服务。无论是最新的资讯、技术动态还是创新产品,都可以通过我们的平台迅速传达给目标客户...详细>>

我们不止于将线索转化为潜在客户。葫芦芯平台致力于形成业务闭环,从引流、宣传到最终销售,全程跟进,确保每一个potential lead都得到妥善处理,从而大幅提高转化率。不仅如此...详细>>