久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费

 找回密碼
 立即注冊(cè)

QQ登錄

只需一步,快速開始

搜索
查看: 226|回復(fù): 0
打印 上一主題 下一主題
收起左側(cè)

單片機(jī)的指紋密碼鎖出錯(cuò)

[復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
做一個(gè)指紋密碼鎖,仿真方面老是出錯(cuò),液晶也不顯示字幕,是哪里的問題,懇請(qǐng)各位老師指出,程序如下:

#include <reg52.h>
#include <intrins.h>
#include"24C0x.h"
#include"LCD12864.h"
#define uchar unsigned char
#define uint unsigned int

#define buffer1ID  0x01
#define buffer2ID  0x02
#define queren  0x88
#define tuichu  0x18
#define shanchu 0x82

#define User 1               
void fan();                          

sbit B0=B^0;
sbit B7=B^7;
sbit k2=P3^7;
sbit jidianqi=P3^6;
sbit BUZZ=P2^0;

//extern unsigned char times[];
uchar  Member=1,sec;
uchar ERROR_TIME=0;
/*
uchar  code buffer[User][6]=
{
{"000000"}
};        */
bit succeed_mm=0;        
bit count_down=0;
bit alarm=0;        
uchar dz[4];
uchar time[4];                        
uchar mima[6];
uchar mima_kai[6];
uchar mimag[6];
uchar mimaID[6]={1,2,3,4,5,6};
uchar out_time=0;

uchar Address1=20,tempx=20;
uchar Address2=20;   

uchar data K;
uchar data Key;

uint PageID;
uchar data querenma=11;
uchar sum[2];
int summaf,summas;

uchar  xdata UserPassword[2][7]={0};//ÃÜÂë                0ÊǹÜÀíÔ±ÃÜÂ룬1ÊÇ¿ªËøÃÜÂë
uchar  xdata DSY_BUFFER[16] ={0};//»º´æ


void Red_Init(void);

//¼ì²âÂö³å¿í¶È
unsigned char check(void);

unsigned char redchange(unsigned char rednum);


void delayms(unsigned int z)
{
        unsigned int x,y;
        for(x=z;x>0;x--)
                for(y=110;y>0;y--);
}

/********************************************************************
* Ãû³Æ : Chack(uchar User_Number)
* ¹¦ÄÜ : µ¥Ò»Óû§ÃÜÂë¼ì²â
* ÊäÈë : User_Number
* Êä³ö : ÃÜÂëÕýÈ·Óë´íÎ󣬴íÎó·µ»Ø0£¬ÕýÈ··µ»Ø1
********************************************************************/
uchar Chack(uchar User_Number)
{
        uchar flag, i,temp[6],Address;
        Address=User_Number*6;
        for(i=0;i<6;i++)
        {
                temp=x24c02_read(Address);
                delayms(10);
                Address++;
        }
        for(i=0;i<6;i++)
        {
                if(temp==UserPassword[User_Number])
                        flag=1;
                else
                {
                         flag=0;
                        break;
                }                        
        }
//        flag=1;
                return flag;
}

/********************************************************************
* Ãû³Æ : PassWord_Chack()
* ¹¦ÄÜ : ËùÓÐÓû§ÃÜÂë¼ì²â
* ÊäÈë : ÎÞ
* Êä³ö : ÃÜÂëÕýÈ·Óë´íÎ󣬴íÎó·µ»Ø0£¬ÕýÈ··µ»Ø1
********************************************************************/
/*uchar PassWord_Chack()
{
        uchar i=0;
        while(i<User)
        {
                if(Chack(i)==1)
                {
                        Member=i+1;
                        return 1;
                }
                i++;        
        }
        return 0;        
}  */
/********************************************************************
* Ãû³Æ : PassWord_Chack()
* ¹¦ÄÜ : ËùÓÐÓû§ÃÜÂë¼ì²â
* ÊäÈë : ÎÞ
* Êä³ö : ÃÜÂëÕýÈ·Óë´íÎ󣬴íÎó·µ»Ø0£¬ÕýÈ··µ»Ø1
********************************************************************/
/*uchar kaiPassWord_Chack()
{
        uchar i=1;
        while(i<superUser)
        {
                if(kaiChack(i)==1)
                {
        //                Member=i+1;
                        return 1;
                }
                i++;        
        }
        return 0;        
}         */

void delay(uint tt)
{  uchar i;
   while(tt--)
   {
   for(i=0;i<125;i++);
   }
}
/********************************************************************
* Ãû³Æ : UART_Init()
* ¹¦ÄÜ : µ¥Æ¬»ú´®¿Ú³õʼ»¯
* µ¥Æ¬»ú£º¾§Õñ11.0592MHz ²¨ÌØÂÊΪ9600bps
* Ö¸ÎÆÄ£¿é£º²¨ÌØÂÊΪ9600bps£¬
********************************************************************/        
void UART_Init()
{
        SCON= 0x50;               //´®¿Ú·½Ê½1        //REN=1; ÔÊÐí½ÓÊÕ
        PCON=0x00;                //SMOD=0
        TMOD= 0x21;               //¶¨Ê±Æ÷1¶¨Ê±·½Ê½2
        TH1= 0xFD;                //11.0592MHz  Ä£¿éĬÈϲ¨ÌØÂÊΪ9600bps
        TL1= 0xFD;                                                                                 
        TR1= 1;                   //Æô¶¯¶¨Ê±Æ÷
        TH0=0x4b;
        TL0=0xff;
        ET0=1;
        TR0=1;
        EA=1;      
}

unsigned char Keycan(void) //°´¼üɨÃè³ÌÐò P1.0--P1.3ΪÐÐÏß P1.4--P1.7ΪÁÐÏß
{
  unsigned char rcode, ccode;
  P1 = 0xF0;      // ·¢È«0ÐÐɨÃèÂ룬ÁÐÏßÊäÈë
  if((P1&0xF0) != 0xF0) // ÈôÓмü°´ÏÂ
  {
    delay(1);// ÑÓʱȥ¶¶¶¯
    if((P1&0xF0) != 0xF0)
    {  rcode = 0xFE;         // ÖðÐÐɨÃè³õÖµ
    while((rcode&0x10) != 0)
    {
       P1 = rcode;         // Êä³öÐÐɨÃèÂë
      if((P1&0xF0) != 0xF0) // ±¾ÐÐÓмü°´ÏÂ
      {
       ccode = (P1&0xF0)|0x0F;
           BUZZ=0;
           delayms(20);
           BUZZ=1;
       //do{;}
           while((P1&0xF0) != 0xF0); //µÈ´ý¼üÊÍ·Å
       return ((~rcode) + (~ccode)); // ·µ»Ø¼ü±àÂë
      }
    else
    rcode = (rcode<<1)|0x01; // ÐÐɨÃèÂë×óÒÆÒ»Î»
    }
    }
  }  
  return 0; // ÎÞ¼ü°´Ï£¬·µ»ØÖµÎª0
}

void KeyDeal(unsigned char Key)
{  //unsigned char n;
   if(Key!=0)
{

                   switch(Key)
                   {
                   case 0x11: K=1; break;         
                   case 0x21: K=2; break;  
                   case 0x41: K=3; break;  
                   case 0x81:  break;      
                   case 0x12: K=4; break;
                   case 0x22: K=5; break;
                   case 0x42: K=6; break;
                   case 0x82: K=34;break;        //ɾ³ý        
                   case 0x14: K=7; break;
                   case 0x24: K=8; break;
                   case 0x44: K=9; break;
                   case 0x84:  break;                 //ÊäÈë¿ªËøÃÜÂë
                   case 0x18: K=35; break;        //Í˳ö        
                   case 0x28: K=0; break;
                   case 0x48:  K=11; break;
                   case 0x88:  break;               
                   default: break;
                   }
  }
}



//*************************************//
void SFG_GetEcho()                              //ÎÕÊÖ
{
   uchar i;
   SBUF=0xef;
   while(TI==0);
   TI=0;
   SBUF=0X01;
   while(TI==0);
   TI=0;

   SBUF=0XFF;
   while(TI==0);
   TI=0;
   SBUF=0XFF;
   while(TI==0);
   TI=0;
   SBUF=0XFF;
   while(TI==0);
   TI=0;
   SBUF=0XFF;
   while(TI==0);
   TI=0;

   SBUF=0X01;
   while(TI==0);
   TI=0;

   SBUF=0X00;
   while(TI==0);
   TI=0;
   SBUF=0X03;
   while(TI==0);
   TI=0;

   SBUF=0X53;
   while(TI==0);
   TI=0;

   SBUF=0X00;
   while(TI==0);
   TI=0;
   summaf=0x57;
   SBUF=summaf;
   while(TI==0);
   TI=0;

   for(i=0;i<9;i++)
   {
    while(RI==0);
    RI=0;}

   while(RI==0);
   RI=0;
   querenma=SBUF;
   while(RI==0);
   RI=0;
   sum[1]=SBUF;
   while(RI==0);
   RI=0;
   sum[0]=SBUF;
   summas=(sum[1]<<8)+sum[0];                                                                        
}


//***************************************//

void SFG_getimage()                              //¼ÈëÖ¸ÎÆÍ¼Ïñ
{
   uchar i;
   SBUF=0xef;
   while(TI==0);
   TI=0;
   SBUF=0X01;
   while(TI==0);
   TI=0;

   SBUF=0XFF;
   while(TI==0);
   TI=0;
   SBUF=0XFF;
   while(TI==0);
   TI=0;
   SBUF=0XFF;
   while(TI==0);
   TI=0;
   SBUF=0XFF;
   while(TI==0);
   TI=0;

   SBUF=0X01;
   while(TI==0);
   TI=0;

   SBUF=0X00;
   while(TI==0);
   TI=0;
   SBUF=0X03;
   while(TI==0);
   TI=0;

   SBUF=0X01;
   while(TI==0);
   TI=0;

   SBUF=0X00;
   while(TI==0);
   TI=0;
   summaf=0x05;
   SBUF=summaf;
   while(TI==0);
   TI=0;

   for(i=0;i<9;i++)
   {
    while(RI==0);
    RI=0;}

   while(RI==0);
   RI=0;
   querenma=SBUF;
   while(RI==0);
   RI=0;
   sum[1]=SBUF;
   while(RI==0);
   RI=0;
   sum[0]=SBUF;
   summas=(sum[1]<<8)+sum[0];                                                                        
}

void SFG_genchar(uchar bufferID) //Éú³ÉÌØÕ÷²¢´æÓÚcharbuffer1/2  µ÷ÓÃºóµ¥Æ¬»ú²¨ÌØÂʱ仯@@@
{
   uchar i;
   SBUF=0xef;
   while(TI==0);
   TI=0;
   SBUF=0X01;
   while(TI==0);
   TI=0;

   SBUF=0XFF;
   while(TI==0);
   TI=0;
   SBUF=0XFF;
   while(TI==0);
   TI=0;
   SBUF=0XFF;
   while(TI==0);
   TI=0;
   SBUF=0XFF;
   while(TI==0);
   TI=0;

   SBUF=0X01;
   while(TI==0);
   TI=0;

   SBUF=0X00;
   while(TI==0);
   TI=0;
   SBUF=0X04;
   while(TI==0);
   TI=0;

   SBUF=0X02;
   while(TI==0);
   TI=0;

   SBUF=bufferID;
   while(TI==0);
   TI=0;

   summaf=0x07+bufferID;
   sum[0]=summaf;
   sum[1]=summaf>>8;
   SBUF=sum[1];
   while(TI==0)
   TI=0;
   SBUF=sum[0];
   while(TI==0)
   TI=0;

   for(i=0;i<9;i++)
   {
    while(RI==0);
    RI=0;}
   while(RI==0);
   RI=0;
   querenma=SBUF;
   while(RI==0);
   RI=0;
   sum[1]=SBUF;
   while(RI==0);
   RI=0;
   sum[0]=SBUF;
   summas=(sum[1]<<8)+sum[0];                                                                        
}

void SFG_fastsearch(uchar bufferID)  //ËÑË÷Ö¸ÎÆ·µ»ØÖ¸ÎÆIDºÅ   sum¡¢pagenum>255¶¼»áʹ³ÌÐò¿¨@@@
{
   uchar i,ID1,ID2;
   SBUF=0xef;
   while(TI==0);
   TI=0;
   SBUF=0X01;
   while(TI==0);
   TI=0;
   SBUF=0XFF;
   while(TI==0);
   TI=0;
   SBUF=0XFF;
   while(TI==0);
   TI=0;
   SBUF=0XFF;
   while(TI==0);
   TI=0;
   SBUF=0XFF;
   while(TI==0);
   TI=0;

   SBUF=0X01;
   while(TI==0);
   TI=0;

   SBUF=0X00;
   while(TI==0);
   TI=0;
   SBUF=0X08;
   while(TI==0);
   TI=0;

   SBUF=0X1b;
   while(TI==0);
   TI=0;

   SBUF=bufferID;
   while(TI==0);
   TI=0;

   SBUF=0X00;
   while(TI==0);
   TI=0;
   SBUF=0;
   while(TI==0);
   TI=0;

   SBUF=0X00;
   while(TI==0);
   TI=0;
   SBUF=180;
   while(TI==0);
   TI=0;

   summaf=9+0x1b+bufferID+180;
   sum[0]=summaf;
   sum[1]=summaf>>8;
   SBUF=sum[1];
   while(TI==0);
   TI=0;
   SBUF=sum[0];
   while(TI==0);
   TI=0;

   for(i=0;i<9;i++)
   {
    while(RI==0);
    RI=0;}
               
   while(RI==0);
   RI=0;
   querenma=SBUF;

   while(RI==0);
   RI=0;
   ID1=SBUF;
   while(RI==0);
   RI=0;
   ID2=SBUF;                                  //½ÓÊÕµ½µÄIDºÅ
   while(RI==0);
   RI=0;
   while(RI==0);
   RI=0;

   while(RI==0);
   RI=0;
   sum[1]=SBUF;
   while(RI==0);
   RI=0;
   sum[0]=SBUF;
   summas=(sum[1]<<8)+sum[0];                                                                        
   //PageID=ID1;
   PageID=(ID1<<8)+ID2;
}

void SFG_enroll()                                 //×Ô¶¯×¢²áÄ£°å·µ»Ø´æ´¢ID  =¼ͼÏñ+ºÏ²¢Éú³ÉÄ£°å+´¢´æÄ£°å
{
   uchar i,ID1,ID2;
   SBUF=0xef;
   while(TI==0);
   TI=0;
   SBUF=0X01;
   while(TI==0);
   TI=0;

   SBUF=0XFF;
   while(TI==0);
   TI=0;
   SBUF=0XFF;
   while(TI==0);
   TI=0;
   SBUF=0XFF;
   while(TI==0);
   TI=0;
   SBUF=0XFF;
   while(TI==0);
   TI=0;

   SBUF=0X01;
   while(TI==0);
   TI=0;

   SBUF=0X00;
   while(TI==0);
   TI=0;
   SBUF=0X03;
   while(TI==0);
   TI=0;

   SBUF=0X10;
   while(TI==0);
   TI=0;

   SBUF=0X00;
   while(TI==0);
   TI=0;
   summaf=0x14;
   SBUF=summaf;           //УÑéºÍ
   while(TI==0);
   TI=0;

   for(i=0;i<9;i++)
   {
    while(RI==0);
    RI=0;}
   while(RI==0);
   RI=0;
   querenma=SBUF;
   while(RI==0);
   RI=0;
   ID1=SBUF;
   while(RI==0);
   RI=0;
   ID2=SBUF;

   while(RI==0);
   RI=0;
   sum[1]=SBUF;
   while(RI==0);
   RI=0;
   sum[0]=SBUF;
   summas=(sum[1]<<8)+sum[0];                                                                        
   //PageID=ID1;
   PageID=(ID1<<8)+ID2;
}
void SFG_deletchar(uint pageID)   //ɾ³ýÖ¸ÎÆ                     Ð£ÑéºÍÔÚ2×Ö½ÚµÄÒ³Âë´¦Ó¦·Ö¸ßµÍ×Ö½ÚÏà¼Ó
{
   uchar i,ID1,ID2;
   SBUF=0xef;
   while(TI==0);
   TI=0;
   SBUF=0X01;
   while(TI==0);
   TI=0;

   SBUF=0XFF;
   while(TI==0);
   TI=0;
   SBUF=0XFF;
   while(TI==0);
   TI=0;
   SBUF=0XFF;
   while(TI==0);
   TI=0;
   SBUF=0XFF;
   while(TI==0);
   TI=0;

   SBUF=0X01;
   while(TI==0);
   TI=0;

   SBUF=0X00;
   while(TI==0);
   TI=0;
   SBUF=0X07;
   while(TI==0);
   TI=0;

   SBUF=0X0c;
   while(TI==0);
   TI=0;

   ID1=pageID;ID2=pageID>>8;
   SBUF=ID2;
   while(TI==0);
   TI=0;
   SBUF=ID1;
   while(TI==0);
   TI=0;

   SBUF=0X00;
   while(TI==0);
   TI=0;
   SBUF=1;
   while(TI==0);
   TI=0;

   summaf=0x15+ID1+ID2;
   sum[0]=summaf;
   sum[1]=summaf>>8;
   SBUF=sum[1];
   while(TI==0);
   TI=0;
   SBUF=sum[0];
   while(TI==0);
   TI=0;

   for(i=0;i<9;i++)
   {
    while(RI==0);
    RI=0;}
   while(RI==0);
   RI=0;
   querenma=SBUF;
   while(RI==0);
   RI=0;
   sum[1]=SBUF;
   while(RI==0);
   RI=0;
   sum[0]=SBUF;
   summas=(sum[1]<<8)+sum[0];                                                                        
}

void SFG_identify()                                //×Ô¶¯ÑéÖ¤Ö¸ÎÆ     Â¼Í¼Ïñ+Éú³ÉÌØÕ÷+ËÑË÷
{
   uchar i,ID1,ID2;
   SBUF=0xef;
   while(TI==0);
   TI=0;
   SBUF=0X01;
   while(TI==0);
   TI=0;

   SBUF=0XFF;
   while(TI==0);
   TI=0;
   SBUF=0XFF;
   while(TI==0);
   TI=0;
   SBUF=0XFF;
   while(TI==0);
   TI=0;
   SBUF=0XFF;
   while(TI==0);
   TI=0;

   SBUF=0X01;
   while(TI==0);
   TI=0;

   SBUF=0X00;
   while(TI==0);
   TI=0;
   SBUF=0X03;
   while(TI==0);
   TI=0;

   SBUF=0X11;
   while(TI==0);
   TI=0;

   SBUF=0X00;
   while(TI==0);
   TI=0;
   summaf=0x15;
   SBUF=summaf;           //УÑéºÍ
   while(TI==0);
   TI=0;

   for(i=0;i<9;i++)
   {
    while(RI==0);
    RI=0;}
   while(RI==0);
   RI=0;
   querenma=SBUF;
   while(RI==0);
   RI=0;
   ID1=SBUF;
   while(RI==0);
   RI=0;
   ID2=SBUF;

   while(RI==0);
   RI=0;
   while(RI==0);
   RI=0;                          //µÃ·Ö

   while(RI==0);
   RI=0;
   sum[1]=SBUF;
   while(RI==0);
   RI=0;
   sum[0]=SBUF;
   summas=(sum[1]<<8)+sum[0];                                                                        
   //PageID=ID1;
   PageID=(ID1<<8)+ID2;
}
void shuazhiwen()
{
    uchar IDs1,IDs2,IDs3;         
        LcmClearTXT();
        PutStr(1,1,"Çë°´ÊÖÖ¸¿ªËø");      
        SFG_identify();
        count_down=1;
        while(querenma==2)
        {
                SFG_identify();
                if(out_time>=10)
                {
                        out_time=0;
                        count_down=0;
                        succeed_mm=0;
                        goto out_fingerprint;
                }
               
        }
        
        if(querenma==0)
   {
                   out_time=0;
                count_down=0;
                ERROR_TIME=0;
                BUZZ=1;
                alarm=0;
                LcmClearTXT();
                PutStr(1,2,"ÃÅÒÑ´ò¿ª");
                IDs1=PageID/100;
                IDs2=PageID/10%10;
                IDs3=PageID%10;
                PutStr(2,1,"±àºÅΪ:");
                WriteCommand(0x8D);                //Ö¸¶¨µÚÈýÐÐÏÔʾλÖÃ
                WriteData(0x30+IDs1);
                WriteData(0x30+IDs2);
                WriteData(0x30+IDs3);
                jidianqi=0;
                delay(5000);
                jidianqi=1;        
                succeed_mm=0;
        }
           else if(querenma==9)
                 {
                        LcmClearTXT();
                        ERROR_TIME++;
                        if(ERROR_TIME>=3)
                        {
                        alarm=1;
                }
                        PutStr(1,1,"ûËÑË÷µ½Ö¸ÎÆ");
                        PutStr(2,1,"ÇëÖØÐ°´ÊÖÖ¸");
                        out_time=0;
                        count_down=0;
                }
                   else
                {
                        LcmClearTXT();
                        PutStr(1,1,"½ÓÊÕ°ü³ö´í");
                        out_time=0;
                        count_down=0;
                }
                delay(2000);
out_fingerprint:
        LcmClearTXT();
   //         while(Keycan()==0);
}
void addfinger()
{
        uchar IDa1,IDa2,IDa3;
        LcmClearTXT();
        PutStr(1,2,"Çë°´ÊÖÖ¸");   
        SFG_getimage();
        while(querenma!=0)
        SFG_getimage();
        SFG_genchar(buffer1ID);
        UART_Init();
        SFG_fastsearch(buffer1ID);
        while(querenma==1)
        SFG_fastsearch(buffer1ID);
        if(querenma==0)
        {
                LcmClearTXT();
                PutStr(1,1,"¸ÃÖ¸ÎÆÒÑ´æ´¢");
                PutStr(3,0,"  °´ÈÎÒâ¼ü¼ÌÐø");
            while(Keycan()==0);
        }
        else if(querenma==9)
                {
                        LcmClearTXT();
                        PutStr(1,1,"ÇëÔٴΰ´ÊÖÖ¸");
                        SFG_enroll();
                        while(querenma==2)
                        SFG_enroll();
                        LcmClearTXT();
                        if(querenma==0)
                        {
                                IDa1=PageID/100;IDa2=PageID/10%10;IDa3=PageID%10;
                                PutStr(1,1,"Ö¸ÎÆ²É¼¯³É¹¦");
                                PutStr(2,1,"±àºÅΪ:");
                                WriteCommand(0x8D);
                                WriteData(0x30+IDa1);WriteData(0x30+IDa2);WriteData(0x30+IDa3);
                          }
                  else if(querenma!=0)
                          {
                                PutStr(1,1,"Ö¸ÎÆ²É¼¯Ê§°Ü");
                                PutStr(2,1,"ÇëÖØÐ²Ù×÷");
                         }
                PutStr(3,0,"  °´ÈÎÒâ¼ü¼ÌÐø");
            while(Keycan()==0);
                   }
        LcmClearTXT();
}
void deletfinger()
{
        uchar i,j=0;
        LcmClearTXT();
        PutStr(1,0,"ÊäÈëɾȥµÄÖ¸ÎÆºÅ");
        PutStr(3,0," BÍ˸ñ     DÈ·ÈÏ");
        for(i=0;i<5;i++)dz=0;        
           Key=Keycan();
           while(Key!=queren)
           {
             Key=Keycan();
             KeyDeal(Key);
                 if(K==35) goto out2;
             delay(30);                                                              //°´¼üÓж¶¶¯@@@
             if(Key==0)K=10;
             if((K>=0)&&(K<=9))
             {
              dz[j]=K;
                  if(j<3)
                  {        
                                WriteCommand(0x88+j);                //Ö¸¶¨µÚÈýÐÐÏÔʾλÖÃ
                                WriteData(0x30+dz[j]);        
                  }
              ++j;
                  if(j==4)
              j=3;                                                                                                   //@@#yinhuang
             }   //ÏÔʾLCD12864²¢ÐÐÏÔʾ
                 if(K==34)                //°´ÁËɾ³ý¼ü
                  {
                    if(j==0)
                        {
                                WriteCommand(0x88);                //Ö¸¶¨µÚÈýÐÐÏÔʾλÖÃ
                                WriteData(0x20);
                        }
                        else
                        {
                                --j;
                                WriteCommand(0x88+j);            //Ö¸¶¨µÚÈýÐÐÏÔʾλÖÃ
                                WriteData(0x20);
                        }
                }
        }
        if(j>=2)
        PageID=dz[2]+dz[1]*10+dz[0]*100;
        if(j==1)
        PageID=dz[1]+dz[0]*10;
        if(j==0)
        PageID=dz[0];
        SFG_deletchar(PageID);
        if(querenma==0)
        {
                LcmClearTXT();
                PutStr(1,1,"É¾È¥Ö¸ÎÆºÅ³É¹¦£¡");
        }
        else
        {
                LcmClearTXT();
                PutStr(1,2,"É¾È¥Ö¸ÎÆºÅʧ°Ü£¡");  
        }
        PutStr(2,0,"  °´ÈÎÒâ¼ü¼ÌÐø");
        while(Keycan()==0);
out2:
        LcmClearTXT();
        K=0;
}

void gaimima()
{
        uchar i,j=0,mima1[6],mima2[6];
        uchar k,temp;
resum_modification:
        LcmClearTXT();
        PutStr(1,1,"ÇëÊäÈëÐÂÃÜÂë");
        PutStr(3,0," BÍ˸ñ     DÈ·ÈÏ");
        for(i=0;i<6;i++)mima1=0;                                                                        
           Key=Keycan();
      while(Key!=queren)
           {
             Key=Keycan();
             KeyDeal(Key);
                 if(K==35) goto out3;
             delay(30);                                                              
             if(Key==0)K=10;
             if((K>=0)&&(K<=9))
             {
              mima1[j]=K;
                  if(j<6)
                  {        
                                WriteCommand(0x89+j);                //Ö¸¶¨µÚÈýÐÐÏÔʾλÖÃ
                                WriteData(0x0f);        
                  }
              ++j;
                  if(j==7)
              j=6;                                                                                                   //@@#yinhuang
             }   //ÏÔʾLCD12864²¢ÐÐÏÔʾ
                 if(K==34)                //°´ÁËɾ³ý¼ü
                  {
                    if(j==0)
                        {
                                WriteCommand(0x89);                //Ö¸¶¨µÚÈýÐÐÏÔʾλÖÃ
                                WriteData(0x20);
                        }
                        else
                        {
                                --j;
                                WriteCommand(0x89+j);            //Ö¸¶¨µÚÈýÐÐÏÔʾλÖÃ
                                WriteData(0x20);
                        }
                }
        }
        LcmClearTXT();
        LcmClearTXT();
        j=0;
        PutStr(1,0,"ÇëÔÙ´ÎÊäÈëÐÂÃÜÂë");
        PutStr(3,0," BÍ˸ñ     DÈ·ÈÏ");
        for(i=0;i<6;i++)mima2=0;                                                                        
           Key=Keycan();
      while(Key!=queren)
           {
             Key=Keycan();
             KeyDeal(Key);
             delay(30);                                                              
             if(Key==0)K=10;
             if((K>=0)&&(K<=9))
             {
              mima2[j]=K;
                  if(j<6)
                  {               
                                WriteCommand(0x89+j);                //Ö¸¶¨µÚÈýÐÐÏÔʾλÖÃ
                                WriteData(0x0f);        
                  }
              ++j;
                  if(j==7)
              j=6;                                                                                                   //@@#yinhuang
             }   //ÏÔʾLCD12864²¢ÐÐÏÔʾ
                 if(K==34)                //°´ÁËɾ³ý¼ü
                  {
                    if(j==0)
                        {
                                WriteCommand(0x89);                //Ö¸¶¨µÚÈýÐÐÏÔʾλÖÃ
                                WriteData(0x20);
                        }
                        else
                        {
                                --j;
                                WriteCommand(0x89+j);            //Ö¸¶¨µÚÈýÐÐÏÔʾλÖÃ
                                WriteData(0x20);
                        }
                }
        }
        LcmClearTXT();
        if((mima1[0]==mima2[0])&&(mima1[1]==mima2[1])&&(mima1[2]==mima2[2])&&(mima1[3]==mima2[3])&&(mima1[4]==mima2[4])&&(mima1[5]==mima2[5]))
        {
                for(i=0;i<6;i++)
                mimaID=mima1;
                /////////////////////////////////////////////////////
                for(i=0;i<6;i++)           //ÃÜÂëÏÞÖÆÔÚ6λÒÔÄÚ
                {
                        UserPassword[0]=mima1;                                 
                }
                temp=(Member-1)*6;        
                delayms(5);
                for(k=0;k<6;k++)
                {
                        x24c02_write(temp,UserPassword[0][k]);
                        delayms(10);
                        temp++;
                }  
                //////////////////////////////////////////////////////
                PutStr(0,1,"ÃÜÂëÐ޸ijɹ¦");
                PutStr(3,0,"  °´ÈÎÒâ¼ü¼ÌÐø");
                while(Keycan()==0);
        }
        else
        {
                j=0;
                PutStr(0,0,"  ÃÜÂëÐÞ¸Äʧ°Ü  ");
                PutStr(1,0,"Á½´ÎÊäÈëµÄÃÜÂë²»");
                PutStr(2,0,"Ò»Ö£¬ÇëÖØÐ²Ù×÷");      
                PutStr(3,0,"  °´ÈÎÒâ¼ü¼ÌÐø");
                while(Keycan()==0);
                goto resum_modification;
        }
out3:
        LcmClearTXT();
        K=0;
}
void gaimima_kaisuo()
{
        uchar i,j=0,mima1[6],mima2[6];
        uchar k,temp;
resum_modification1:
        LcmClearTXT();
        PutStr(1,1,"ÇëÊäÈëÐÂÃÜÂë");
        PutStr(3,0," BÍ˸ñ     DÈ·ÈÏ");
        for(i=0;i<6;i++)mima1=0;                                                                        
           Key=Keycan();
      while(Key!=queren)
           {
             Key=Keycan();
             KeyDeal(Key);
                 if(K==35) goto out4;
             delay(30);                                                              
             if(Key==0)K=10;
             if((K>=0)&&(K<=9))
             {
              mima1[j]=K;
                  if(j<6)
                  {        
                                WriteCommand(0x89+j);                //Ö¸¶¨µÚÈýÐÐÏÔʾλÖÃ
                                WriteData(0x0f);        
                  }
              ++j;
                  if(j==7)
              j=6;                                                                                                   //@@#yinhuang
             }   //ÏÔʾLCD12864²¢ÐÐÏÔʾ
                 if(K==34)                //°´ÁËɾ³ý¼ü
                  {
                    if(j==0)
                        {
                                WriteCommand(0x89);                //Ö¸¶¨µÚÈýÐÐÏÔʾλÖÃ
                                WriteData(0x20);
                        }
                        else
                        {
                                --j;
                                WriteCommand(0x89+j);            //Ö¸¶¨µÚÈýÐÐÏÔʾλÖÃ
                                WriteData(0x20);
                        }
                }
        }
        LcmClearTXT();
        LcmClearTXT();
        j=0;
        PutStr(1,0,"ÇëÔÙ´ÎÊäÈëÐÂÃÜÂë");
        PutStr(3,0," BÍ˸ñ     DÈ·ÈÏ");
        for(i=0;i<6;i++)mima2=0;                                                                        
           Key=Keycan();
      while(Key!=queren)
           {
             Key=Keycan();
             KeyDeal(Key);
             delay(30);                                                              
             if(Key==0)K=10;
             if((K>=0)&&(K<=9))
             {
              mima2[j]=K;
                  if(j<6)
                  {               
                                WriteCommand(0x89+j);                //Ö¸¶¨µÚÈýÐÐÏÔʾλÖÃ
                                WriteData(0x0f);        
                  }
              ++j;
                  if(j==7)
              j=6;                                                                                                   //@@#yinhuang
             }   //ÏÔʾLCD12864²¢ÐÐÏÔʾ
                 if(K==34)                //°´ÁËɾ³ý¼ü
                  {
                    if(j==0)
                        {
                                WriteCommand(0x89);                //Ö¸¶¨µÚÈýÐÐÏÔʾλÖÃ
                                WriteData(0x20);
                        }
                        else
                        {
                                --j;
                                WriteCommand(0x89+j);            //Ö¸¶¨µÚÈýÐÐÏÔʾλÖÃ
                                WriteData(0x20);
                        }
                }
        }
        LcmClearTXT();
        if((mima1[0]==mima2[0])&&(mima1[1]==mima2[1])&&(mima1[2]==mima2[2])&&(mima1[3]==mima2[3])&&(mima1[4]==mima2[4])&&(mima1[5]==mima2[5]))
        {
                for(i=0;i<6;i++)
                mimaID=mima1;
                /////////////////////////////////////////////////////
                for(i=0;i<6;i++)           //ÃÜÂëÏÞÖÆÔÚ6λÒÔÄÚ
                {
                        UserPassword[1]=mima1;                                 
                }
                temp=(Member-1)*6;        
                delayms(5);
                for(k=0;k<6;k++)
                {
                        x24c02_write(temp,UserPassword[1][k]);
                        delayms(10);
                        temp++;
                }  
                //////////////////////////////////////////////////////
                PutStr(0,1,"ÃÜÂëÐ޸ijɹ¦");
                PutStr(3,0,"  °´ÈÎÒâ¼ü¼ÌÐø");
                while(Keycan()==0);
        }
        else
        {
                j=0;
                PutStr(0,0,"  ÃÜÂëÐÞ¸Äʧ°Ü  ");
                PutStr(1,0,"Á½´ÎÊäÈëµÄÃÜÂë²»");
                PutStr(2,0,"Ò»Ö£¬ÇëÖØÐ²Ù×÷");      
                PutStr(3,0,"  °´ÈÎÒâ¼ü¼ÌÐø");
                while(Keycan()==0);
                goto resum_modification1;
        }
out4:
        LcmClearTXT();
        K=0;
}

void zhu()
{           
    LcmClearTXT();
        PutStr(1,2,"ÃÅÒÑ´ò¿ª");
           jidianqi=0;
        delay(5000);
        jidianqi=1;
//        PutStr(3,0,"  °´ÈÎÒâ¼ü¼ÌÐø");
//        while(Keycan()==0);
        K=35;
}
         
void xiugaimima()
{
        LcmClearTXT();
        while(Keycan()!=tuichu)
      {         
                PutStr(0,0,"°´1:Ð޸ĿªËøÃÜÂë");
                PutStr(1,0,"°´2:Ð޸ĹÜÀíÃÜÂë");
                 
                KeyDeal(Keycan());
                if(K==35) goto out5;
            switch(K)
            {
                 case 1:        Member=2;gaimima_kaisuo();  break;
                 case 2:    Member=1;gaimima();        break;
             default: break;
            }
      }
out5:
          LcmClearTXT();
          K=0;
}
void guanliyuan()
{ uchar i,j=0,x=1;
           uchar Right_flag;
resum_guanliyuan:
    LcmClearTXT();
                PutStr(1,0,"ÇëÊäÈë¹ÜÀíÔ±ÃÜÂë");        

                PutStr(3,0," BÍ˸ñ     DÈ·ÈÏ");
           for(i=0;i<6;i++)mima=0;                                                                        
           Key=Keycan();
      while(Key!=queren)
           {
             Key=Keycan();
                 if(Key==tuichu) goto out1;
             KeyDeal(Key);
             delay(30);                                                              
             if(Key==0)K=10;
             if((K>=0)&&(K<=9))
             {
              mima[j]=K;

                  if(j<6)
                  {        
                   WriteCommand(0x89+j);                //Ö¸¶¨µÚÈýÐÐÏÔʾλÖÃ
               WriteData(0x0f);        

                  }
              ++j;
                  if(j==7)
              j=6;                                                                                                  
             }   //ÏÔʾLCD12864²¢ÐÐÏÔʾ
                 if(K==34)                //°´ÁËɾ³ý¼ü
                  {
                    if(j==0)
                        {
                      WriteCommand(0x89);                //Ö¸¶¨µÚÈýÐÐÏÔʾλÖÃ
                  WriteData(0x20);
                        }
                        else
                        {
                          --j;
                      WriteCommand(0x89+j);            //Ö¸¶¨µÚÈýÐÐÏÔʾλÖÃ
                  WriteData(0x20);
                        }
                  }
           }
    LcmClearTXT();


          for(i=0;i<6;i++)
         {
            UserPassword[0]=mima;
        
          }
         if(j==6){Right_flag=Chack(0); }
          if (Right_flag==1)
         {
                     Right_flag=0;
                  ERROR_TIME=0;
                  alarm=0;
                  BUZZ=1;
     while(Keycan()!=tuichu)
      {         
                PutStr(0,0,"°´1:  Ôö¼ÓÖ¸ÎÆ");
                PutStr(1,0,"°´2:  É¾È¥Ö¸ÎÆ");
                PutStr(2,0,"°´3:  ÐÞ¸ÄÃÜÂë");
                PutStr(3,0,"°´4:  ÊÖ¶¯¿ªËø");
                 
                KeyDeal(Keycan());
                if(K==35) goto out1;
            switch(K)
            {
             case 1:    addfinger();K=6; break;
             case 2:    deletfinger();    break;
                 case 3:        xiugaimima();  break;
                 case 4:    zhu();        break;
             default: break;
            }
      }
     }
    else
    {
                j=0;
                ERROR_TIME++;
                if(ERROR_TIME>=3)
                {
                        alarm=1;
                }
                PutStr(1,2,"ÃÜÂë´íÎó");
                PutStr(2,0,"  ÇëÖØÐ²Ù×÷£¡");
                PutStr(3,0,"  °´ÈÎÒâ¼ü¼ÌÐø");
             while(Keycan()==0);
                 goto resum_guanliyuan;
    }
  Key=0;
out1:
  LcmClearTXT();
}

void kaisuomm()
{ uchar i,j=0,x=1;
           uchar Right_flag;
resume:           PutStr(1,0,"ÇëÊäÈë¿ªËøÃÜÂë  ");
                PutStr(3,0," BÍ˸ñ     DÈ·ÈÏ");
           for(i=0;i<6;i++)mima_kai=0;                                                                        
           Key=Keycan();
           
      while(Key!=queren)
           {
             Key=Keycan();
                 if(Key==tuichu) goto out;
             KeyDeal(Key);
             delay(30);                                                              
             if(Key==0)K=10;
             if((K>=0)&&(K<=9))
             {
              mima_kai[j]=K;               

                  if(j<6)
                  {        
                   WriteCommand(0x89+j);                //Ö¸¶¨µÚÈýÐÐÏÔʾλÖÃ
               WriteData(0x0f);        

                  }
              ++j;
                  if(j==7)
              j=6;                                                                                                  
             }   //ÏÔʾLCD12864²¢ÐÐÏÔʾ
                 if(K==34)                //°´ÁËɾ³ý¼ü
                  {
                    if(j==0)
                        {
                      WriteCommand(0x89);                //Ö¸¶¨µÚÈýÐÐÏÔʾλÖÃ
                  WriteData(0x20);
                        }
                        else
                        {
                          --j;
                      WriteCommand(0x89+j);            //Ö¸¶¨µÚÈýÐÐÏÔʾλÖÃ
                  WriteData(0x20);
                        }
                  }
           }
//    LcmClearTXT();


          for(i=0;i<6;i++)
         {
            UserPassword[1]=mima_kai;
        
          }
         if(j==6){Right_flag=Chack(1); }
          if (Right_flag==1)
         {
                     Right_flag=0;
                   succeed_mm=1;
                   ERROR_TIME=0;
                   BUZZ=1;
                   alarm=0;
//     while(Keycan()!=tuichu)
      {         
                PutStr(1,0,"  ÇëË¢ÊÖÖ¸¿ªËø");
                PutStr(3,0,"                ");
               
      }
     }
    else
    {
                j=0;
                ERROR_TIME++;
                if(ERROR_TIME>=3)
                {
                        alarm=1;
                }
               
//                PutStr(1,0,"                ");
                PutStr(1,0,"    ÃÜÂë´íÎó  ");
                PutStr(2,0,"  ÇëÖØÐÂÊäÈ룡");
                PutStr(3,0,"  °´ÈÎÒâ¼ü¼ÌÐø  ");
             while(Keycan()==0);
                 LcmClearTXT();
                 goto resume;
    }
  Key=0;
out:
  LcmClearTXT();
}

void fan()
{
        if(succeed_mm==0)
        {
                PutStr(0,2,"»¶Ó­Ê¹ÓÃ");
                PutStr(1,1,"Ö¸ÎÆÊ¶±ðϵͳ");
                PutStr(2,0,"                ");
                PutStr(3,0," A¹ÜÀí     C¿ªËø");
        }
        
  Key=Keycan();
  if(Key==0x84)
  {
          LcmClearTXT();
          kaisuomm();
        LcmClearTXT();
//        K=0;
  }
        
if(/*k2==1&&*/succeed_mm==1)                //Ö¸ÎÆË¢»ú
  {
          LcmClearTXT();
        shuazhiwen();
        LcmClearTXT();
  }
  if(Key==0x81)                        //¹ÜÀíÔ±²Ù×÷
  {
        LcmClearTXT();
        guanliyuan();
    LcmClearTXT();
  }
}        

void main()
{         

//PSB=0;
        UART_Init();           //´®¿Ú³õʼ»¯                  
          x24c02_init();     //24C02³õʼ»¯
        LcmInit();               //LCD12864³õʼ»¯                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            
        LcmClearTXT();           //LCD12864ÇåÆÁ        
        while(1)
                {
                        fan();
                        delay(100);                  
                }        
}

void T0_time() interrupt 1
{
        uchar jishi;
        TH0=0x4b;
        TL0=0xff;
        jishi++;
        if(jishi%2==0&&alarm==1)
        {
                BUZZ=!BUZZ;
        }
        if(jishi>=20)
        {
                jishi=0;
                if(count_down==1)
                out_time++;
        }
}


分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏1 分享淘帖 頂 踩
回復(fù)

使用道具 舉報(bào)

本版積分規(guī)則

手機(jī)版|小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術(shù)交流QQ群281945664

Powered by 單片機(jī)教程網(wǎng)

快速回復(fù) 返回頂部 返回列表
主站蜘蛛池模板: 国产免费播放视频 | 国产精品女人久久久 | 国产一区二区三区四区三区四 | 成人激情视频网 | 欧美日韩一区二区视频在线观看 | 韩日一区 | 国产在线二区 | 亚洲国产精品一区在线观看 | 另类 综合 日韩 欧美 亚洲 | 国产一区二区三区久久久久久久久 | 久久免费福利 | 亚洲国产一区二区三区 | 国产精品久久视频 | 精品国产99 | 麻豆亚洲| 久久青视频 | av免费入口 | 亚洲成人综合在线 | 国产1区2区在线观看 | 国产大片黄色 | 亚洲福利免费 | 亚洲视频在线观看 | 中文在线一区二区 | 99国产在线| 国产97久久| 国产精品高潮呻吟久久 | 欧美日韩久久 | 懂色中文一区二区在线播放 | www久| 九九热免费在线观看 | 日本成人免费观看 | av手机在线看 | 久久久久久久网 | 国产传媒视频在线观看 | 91免费看片神器 | 国产91精品久久久久久久网曝门 | 日韩成人av在线 | h视频免费在线观看 | av网站在线免费观看 | 久久男人 | 国产在线精品一区二区 |