• 大小: 87KB
    文件类型: .rar
    金币: 1
    下载: 0 次
    发布日期: 2021-08-06
  • 语言: 其他
  • 标签:

资源简介

根据设定好的密码,采用二个按键实现密码的输入功能,当密码输入正确之后,锁就打开,如果输入的三次的密码不正确,就锁定按键3秒钟,同时发现报警声,直到没有按键按下3种后,才打开按键锁定功能;否则在3秒钟内仍有按键按下,就重新锁定按键3秒时间并报警。

资源截图

代码片段和文件信息

#include  
  
unsigned char code ps[]={12345}; 
unsigned char code dispcode[]={0x3f0x060x5b0x4f0x66 
                         0x6d0x7d0x070x7f0x6f0x000x40}; 
unsigned char pslen=9; 
unsigned char templen; 
unsigned char digit; 
unsigned char funcount; 
unsigned char digitcount; 
unsigned char psbuf[9]; 
bit cmpflag; 
bit hibitflag; 
bit errorflag; 
bit rightflag; 
unsigned int second3; 
unsigned int aa; 
unsigned int bb; 
bit alarmflag; 
bit exchangeflag; 
unsigned int cc; 
unsigned int dd; 
bit okflag; 
unsigned char oka; 
unsigned char okb; 
  
void main(void) 

  unsigned char ij; 
  
  P2=dispcode[digitcount]; 
  TMOD=0x01; 
  TH0=(65536-500)/256; 
  TL0=(65536-500)%256; 
  TR0=1; 
  ET0=1; 
  EA=1; 
  
  while(1) 
    { 
      if(cmpflag==0) 
        { 
          if(P3_6==0) //function key 
            { 
              for(i=10;i>0;i--) 
              for(j=248;j>0;j--); 
              if(P3_6==0) 
                { 
                  if(hibitflag==0)        
                    { 
                      funcount++; 
                          if(funcount==pslen+2)  
                         {
                          funcount=0; 
                          cmpflag=1; 
                         } 
                       P1=dispcode[funcount];  
                    } 
                    else 
                      { 
                         second3=0; 
                      } 
                  while(P3_6==0); 
                } 
           } 
  
          if(P3_7==0) //digit key 
            { 
              for(i=10;i>0;i--) 
              for(j=248;j>0;j--); 
              if(P3_7==0) 
                { 
                  if(hibitflag==0) 
                    { 
                      digitcount++;                      
                      if(digitcount==10) 
                        { 
                          digitcount=0; 
                        } 
                      P2=dispcode[digitcount]; 
                      if(funcount==1) 
                        { 
                          pslen=digitcount; 
                          templen=pslen; 
                        } 
                        else if(funcount>1) 
                          { 
                            psbuf[funcount-2]=digitcount; 
                          } 
                    } 
                    else 
                      { 
                        second3=0; 
                      } 
                  while(P3_7==0); 
                }               
           } 
      }
      else 
           { 
            cmpflag=0; 
            for(i=0;i              { 
                if(ps[i]!=psbuf[i]) 
                  { 
                    hibitflag=1; 
                    i=pslen; 
                    errorflag=1; 
                    rightflag=0; 
                    cmpflag=0; 
                    second3=0; 

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----

     文件      76800  2007-08-23 14:49  32.电子密码锁设计\32.电子密码锁设计.doc

     文件       8393  2007-08-23 14:41  32.电子密码锁设计\Keil-C\lock

     文件       4839  2007-08-23 14:41  32.电子密码锁设计\Keil-C\lock.c

     文件       1792  2007-08-23 14:41  32.电子密码锁设计\Keil-C\lock.hex

     文件         41  2007-08-23 14:41  32.电子密码锁设计\Keil-C\lock.lnp

     文件       8837  2007-08-23 14:41  32.电子密码锁设计\Keil-C\lock.LST

     文件      12183  2007-08-23 14:41  32.电子密码锁设计\Keil-C\lock.M51

     文件       9171  2007-08-23 14:41  32.电子密码锁设计\Keil-C\lock.OBJ

     文件       1025  2007-08-23 14:42  32.电子密码锁设计\Keil-C\lock.Opt

     文件       2134  2007-08-23 14:41  32.电子密码锁设计\Keil-C\lock.plg

     文件       2146  2007-08-20 03:36  32.电子密码锁设计\Keil-C\lock.Uv2

     文件         34  2007-08-23 14:41  32.电子密码锁设计\Keil-C\lock.__i

     文件       6376  2005-03-22 15:22  32.电子密码锁设计\Keil-C\STARTUP.A51

     文件      14048  2007-08-20 03:35  32.电子密码锁设计\Keil-C\STARTUP.LST

     文件        758  2007-08-20 03:35  32.电子密码锁设计\Keil-C\STARTUP.OBJ

     文件      90642  2007-08-23 14:42  32.电子密码锁设计\Last Loaded lock.DBK

     文件      91573  2007-10-16 22:13  32.电子密码锁设计\lock.DSN

     文件        832  2010-05-29 18:47  32.电子密码锁设计\lock.PWI

     目录          0  2010-05-29 21:26  32.电子密码锁设计\Keil-C

     目录          0  2010-05-29 21:26  32.电子密码锁设计

----------- ---------  ---------- -----  ----

               331624                    20


评论

共有 条评论