资讯详情

0011基于单片机电子密码锁控制系统设计

数据下载地址

2.1 设计分析

电子密码应实现以下功能:

(1)可以从键盘中输入密码,并在显示器上相应显示‘*’;

(2)能判断密码是否正确,正确解锁,错误输出相应信息;

(3)能够修改密码;

(4)停电或单片机复位后,可保存以前的操作,如密码修改;

(5)操作错误达到一定次数后可报警。

根据以上分析,本次电子密码锁设计的主要重点如下:4x4矩阵键盘设计,LCD信息显示、密码断电存储和密码比较处理。当然,除了这些部分,还有一些LED功能模块,如指示和报警。

本设计应按以下步骤实现:

第一步:选择材料和设备。

第二步:根据单片机原理和模拟电子技术基础的理论知识PROTEUS

中画仿真图。

第三步:检查仿真图,确保所有功能都能实现。

第四步:根据需要实现的功能逻辑绘制程序流程图。

第五步:根据程序流程图和PROTEUS模拟图,使用KEIL编写和调试软件程序。

第六步:将KEIL和PROTEUS联合仿真、调试,检查所有功能是否实现。

根据实际情况,设计中用发光二极管代替电磁锁,二极管亮代表锁,二极管不亮代表锁。

 while(1)   {      KeyDown();  按键扫描      ///===========正常输入密码操作======================      if (KeyValue<=9 && !set_flg && !LOCK_flg) //按下按钮      {        input_Value[i]=KeyValue;             if (Right_flg0)     {  clear_window();      Right_flg0=0;     }      LcdWriteCom(0x80 i);  ///显示当前按钮的值     LcdWriteData('*');      i  ;        if(i>=4)  //判断     {      Right_flg0=0;        for (j=0;j<4;j  )     {         if (input_Value[j]!=saved_Value[j])         Right_flg0=1;         }     clear_window();     if(!Right_flg0)    正确输入密码     {        BUZZER=0;  //声音报警       delay_ddll = 1;       LcdWriteCom(0x80 i 2);       LcdWriteData('O');       LcdWriteData('K');       At24c02Write(6,0); 清除错误输入次数      }     else     {        BUZZER=1;       LcdWriteCom(0x80 i 2);       LcdWriteData('E');       LcdWriteData('R');        temp00=At24c02Read(6);  存储输入错误次数       if (temp00>=2)       //连续输入错误超过3次       {            LOCK_flg=1;      RELAY=0;  /指示灯起来      LcdWriteCom(0x80 i 2);         LcdWriteData('L');         LcdWriteData('K');                }       At24c02Write(6,temp00 1);                }      i=0;           }      }   ///===========正常输入密码操作 end======================      ///===========修改密码操作======================      if (KeyValue<=9 && set_flg && !LOCK_flg) //按下按钮 KeyValue!=66      {     input_Value[k]=KeyValue;          LcdWriteCom(0x80 k);  ///显示当前按钮的值     LcdWriteData('*');       k  ;      if(k>=4)  //判断      {       if (set_flg==2)       {                  for (j=0;j<4;j  )       {         saved_Value[j]=input_Value[j];         At24c02Write(j 1,saved_Value[j]);                                               }       clear_window();          set_flg=0;       LED = 0;  ///设置状态指示灯亮起       delay_ddll =1; //        LcdWriteCom(0x80 k 2); //      LcdWriteData('O'); //      LcdWriteData('K');       }         if (set_flg==1)       {///============================================                     Right_flg=0;          for (j=0;j<4;j  )       {         if(input_Value[j]!=saved_Value[j])           Right_flg=1;               }       clear_window();       if(!Right_flg)    /////旧密码输入正确       {          set_flg=2;         ///可以进行下一步操作                 LcdWriteCom(0x80 0x40);  //         LcdWriteData('N');         LcdWriteData('E');         LcdWriteData('W');         }       else       {          LcdWriteCom(0x80 k 2);         LcdWriteData('E');         LcdWriteData('R');                  temp00=At24c02Read(6);  存储输入错误次数         if (temp00>=2)          {              LOCK_flg=1;        RELAY=0;  /指示灯起来        LcdWriteCom(0x80 i 2);           LcdWriteData('L');           LcdWriteData('K');                  }         At24c02Write(6,temp00 1);           }       }   ///============================================                  k=0;      			 }
		   }
	  ///===========修改密码操作 end======================

		   if (KeyValue==0x0A && !LOCK_flg)  //有按键按下	 
		   {
			   clear_window();
			   set_flg=1;
			   LcdWriteCom(0x80+0x40);  //
			   LcdWriteData('O');
			   LcdWriteData('L');
			   LcdWriteData('D');

		 	   k=0;  //=================		    			 
		   }
	 =============############================================
		   else if (KeyValue==0x0B && !LOCK_flg)  //有按键按下,关上锁,清除窗口!LCK
		   {	
			  BUZZER=1;
			  clear_window();		    			 
		   }
		  
		  if (delay_ddll)
		  {
		  	   delay_ddll++;
			   if (delay_ddll>2000)
			   {
			   	   LED = 1;
				   BUZZER = 1;
				   delay_ddll = 0;
			   }
		  }
	   =============================================
		 Lcd1602_Delay1ms(1);

		}

 

标签: 二极管n052at2324c的二极管

锐单商城拥有海量元器件数据手册IC替代型号,打造 电子元器件IC百科大全!

锐单商城 - 一站式电子元器件采购平台