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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 5387|回復: 17
打印 上一主題 下一主題
收起左側

指紋密碼鎖 求程序

[復制鏈接]
跳轉到指定樓層
樓主
大神們,有沒有指紋密碼鎖的程序,參考一下
分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏1 分享淘帖 頂 踩
回復

使用道具 舉報

沙發
ID:82765 發表于 2017-10-10 13:16 | 只看該作者
提示: 作者被禁止或刪除 內容自動屏蔽
回復

使用道具 舉報

板凳
ID:111634 發表于 2017-10-10 14:47 | 只看該作者
指紋密碼還是按鍵密碼?指紋密碼首先要有指紋讀取傳感器,在哪兒?
回復

使用道具 舉報

地板
ID:238056 發表于 2017-10-10 17:42 | 只看該作者
zl2168 發表于 2017-10-10 14:47
指紋密碼還是按鍵密碼?指紋密碼首先要有指紋讀取傳感器,在哪兒?

對的  就是你發的這個  需要指紋傳感器的
回復

使用道具 舉報

5#
ID:238056 發表于 2017-10-10 17:45 | 只看該作者
zl2168 發表于 2017-10-10 14:47
指紋密碼還是按鍵密碼?指紋密碼首先要有指紋讀取傳感器,在哪兒?

鍵盤和指紋開鎖,你有這個密碼鎖的資料嗎。程序啥的
回復

使用道具 舉報

6#
ID:238056 發表于 2017-10-10 17:48 | 只看該作者
zl2168 發表于 2017-10-10 14:47
指紋密碼還是按鍵密碼?指紋密碼首先要有指紋讀取傳感器,在哪兒?

你好,我還想問一下你有這個指紋模塊的鏈接嗎
回復

使用道具 舉報

7#
ID:82765 發表于 2017-10-10 21:47 | 只看該作者
提示: 作者被禁止或刪除 內容自動屏蔽
回復

使用道具 舉報

8#
ID:238439 發表于 2017-10-10 21:59 | 只看該作者
我也想看下這個程序,光密碼的好寫 指紋就不好弄了
回復

使用道具 舉報

9#
ID:238150 發表于 2017-10-10 23:37 | 只看該作者
百度上應該有
回復

使用道具 舉報

10#
ID:238150 發表于 2017-10-10 23:38 | 只看該作者
我也想知道紅外遙控密碼鎖的
回復

使用道具 舉報

11#
ID:111634 發表于 2017-10-11 07:43 | 只看該作者
本帖最后由 zl2168 于 2017-10-11 07:55 編輯

指紋密碼與按鍵密碼的區別僅在于如何讀取密碼數據,后續操作基本相同。我沒有指紋密碼鎖案例,只有按鍵密碼鎖案例,給你參考一下吧!
功能齊全的電子密碼鎖
電子密碼鎖1.rar (1.13 MB, 下載次數: 33)
Proteus仿真一下,確認有效,驗證上述功能。
電路設計

功能設計

程序設計

以上摘自張志良編著《80C51單片機實用教程》ISBN 978-7-04-044532-9,高教社出版。書中電路和程序設計有詳細說明,程序語句條條有注解。仿真電路和Hex文件能在清華出版社網站免費下載,程序源代碼只能到書上看了。到圖書館借,或到新華書店翻閱,或到網上書店打折購買。
回復

使用道具 舉報

12#
ID:238056 發表于 2017-10-11 15:52 | 只看該作者
jjddyj 發表于 2017-10-10 23:38
我也想知道紅外遙控密碼鎖的

#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  0x86
#define shanchu 0x84

#define User 1                                    

void fan();
        
sbit B0=B^0;
sbit B7=B^7;
sbit k2=P3^7;
sbit jidianqi=P3^6;
sbit Feng=P2^0;
        
extern unsigned char times[];
uchar  Member=1,sec;
uchar  ErrorCount;
//////////////////////////紅外相關//////////////////////////
//時間計算
#define Imax 14000    //此處為晶振為11.0592時的取值,
#define Imin 8000    //如用其它頻率的晶振時,
#define Inum1 1450    //要改變相應的取值。
#define Inum2 7000
#define Inum3 3000
//解碼變量
unsigned char Im[4]={0x00,0x00,0x00,0x00};

//全局變量
uchar f;
unsigned long m,Tc;
unsigned char IrOK;
//////////////////////////紅外相關//////////////////////////
uchar  code buffer[User][6]=
{
{"000000"}
};
        
        
uchar dz[4];
uchar time[4];                        
uchar mima[6];
uchar mimag[6];
uchar mimaID[6]={1,2,3,4,5,6};


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[7]={0};//密碼
uchar  xdata DSY_BUFFER[16] ={0};//緩存


void Red_Init(void);
#include "zhiwen.h"
//檢測脈沖寬度
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*10;
        for(i=0;i<6;i++)
        {
                temp=x24c02_read(Address);
                delayms(10);
                Address++;
        }
        for(i=0;i<6;i++)
        {
                if(temp==UserPassword)
                        flag=1;
                else         
                        flag=0;               
        }
                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;        
}
   
void delay(uchar 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
        IT1=1;
        EX1=1;
        TH0=0;
        TL0=0;
        TR0=0;
        TMOD= 0x21;               //定時器1定時方式2
        TH1= 0xFD;                //11.0592MHz  模塊默認波特率為9600bps
        TL1= 0xFD;                                                                                 
        TR1= 1;                   //啟動定時器
        EA=1;      
}
   
unsigned char Keycan(void) //按鍵掃描程序 P1.0--P1.3為行線 P1.4--P1.7為列線
{
  unsigned char rcode, ccode;
  P1 = 0x0f;      // 發全0行掃描碼,列線輸入
  if((P1&0x0f) != 0x0f) // 若有鍵按下
  {
    delay(1);// 延時去抖動
    if((P1&0x0f) != 0x0f)
    {  rcode = 0xFE;         // 逐行掃描初值
    while((rcode&0x10) != 0)
    {
       P1 = rcode;         // 輸出行掃描碼
      if((P1&0x0f) != 0x0f) // 本行有鍵按下
      {
       ccode = (P1&0x0f)|0x0f;
       //do{;}
           while((P1&0x0f) != 0x0f); //等待鍵釋放
            Feng=0;
        delay(100);
        Feng=1;
       return ((~rcode) + (~ccode)); // 返回鍵編碼
      }
    else
    rcode = (rcode<<1)|0x01; // 行掃描碼左移一位
    }
    }
  }
  if(IrOK==1)
  {
   IrOK=0;
   Feng=0;
   delay(100);
   Feng=1;
   switch (Im[2])
   {
    case 0x16: return 0x28;break;                  //0
        case 0x0c: return 0x11;break;                         //1
        case 0x18: return 0x71;break;                                //2
        case 0x5e: return 0x41;break;                                  //3
        case 0x08: return 0x12;break;                                        //4
        case 0x1c: return 0x22;break;                           //5
        case 0x5a: return 0x42;break;                                //6
        case 0x42: return 0x14;break;                                  //7
        case 0x52: return 0x24;break;                                  //8
        case 0x4a: return 0x44;break;                                        //9
        case 0x47: return 0x81;break;                                         //a
        case 0x43: return 0x82;break;                                          //b
        case 0x0d: return 0x74;break;                                           //c
        case 0x15: return 0x88;break;                                                //d
        case 0x19: return 0x48;break;
   }
  }  
  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 0x71: 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 0x74:  break;               
                   case 0x18:  break;               
                   case 0x28: K=0; break;
                   case 0x48:  K=11; break;
                   case 0x88:  break;               
                   default: break;
                   }
  }
}
        

void shuazhiwen()
{
    uchar IDs1,IDs2,IDs3;         
        LcmClearTXT();
        PutStr(1,1,"請按手指開鎖");      
        SFG_identify();
        while(querenma==2)
        SFG_identify();
        if(querenma==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);
                ErrorCount=0;
                Feng=1;
                jidianqi=0;
                delay(2500);
                jidianqi=1;
               
        }
           else if(querenma==9)
                {
                        LcmClearTXT();
                        PutStr(1,1,"沒搜索到指紋");
                        PutStr(2,1,"請重新按手指");
                        ErrorCount=3;
                        Feng=0;
                }
                   else
                {
                        LcmClearTXT();
                        PutStr(1,1,"接收包出錯");
                }
                delay(2000);
   //         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();
                         PutStr(0,0,"按鍵1 : 增加指紋");
                PutStr(1,0,"按鍵2 : 刪去指紋");
                PutStr(2,0,"按鍵3 : 手動開鎖");
                PutStr(3,0,"按鍵4 : 修改密碼");
}
void deletfinger()
{
        uchar i,j=0;
        LcmClearTXT();
        PutStr(1,0,"輸入刪去的指紋號");
        for(i=0;i<5;i++)dz=0;        
           Key=Keycan();
           while(Key!=queren)
           {
             Key=Keycan();
             KeyDeal(Key);
             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);
        LcmClearTXT();
                         PutStr(0,0,"按鍵1 : 增加指紋");
                PutStr(1,0,"按鍵2 : 刪去指紋");
                PutStr(2,0,"按鍵3 : 手動開鎖");
                PutStr(3,0,"按鍵4 : 修改密碼");
}
        
void gaimima()
{
        uchar i,j=0,mima1[6],mima2[6];
        uchar k,temp;
        LcmClearTXT();
        PutStr(1,1,"請輸入新密碼");
        for(i=0;i<6;i++)mima1=0;                                                                        
           Key=Keycan();
      while(Key!=queren)
           {
             Key=Keycan();
             KeyDeal(Key);
             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,"請再次輸入新密碼");
        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=mima1+0x30;                                 
                }
                temp=(Member-1)*10;        
                delayms(5);
                for(k=0;k<6;k++)
                {
                        x24c02_write(temp,UserPassword[k]);
                        delayms(10);
                        temp++;
                }  
                //////////////////////////////////////////////////////
                PutStr(0,1,"密碼修改成功");
                PutStr(3,0,"  按任意鍵繼續");
                ErrorCount=0;
                while(Keycan()==0);
        }
        else
        {
                PutStr(0,0,"  密碼修改失敗  ");
                PutStr(1,0,"兩次輸入的密碼不");
                PutStr(2,0,"一致,請重新操作");      
                PutStr(3,0,"  按任意鍵繼續");
                while(Keycan()==0);
        }
        LcmClearTXT();
                         PutStr(0,0,"按鍵1 : 增加指紋");
                PutStr(1,0,"按鍵2 : 刪去指紋");
                PutStr(2,0,"按鍵3 : 手動開鎖");
                PutStr(3,0,"按鍵4 : 修改密碼");
}


void zhu()
{           
    LcmClearTXT();
        PutStr(1,2,"門已打開");
           jidianqi=0;
        delay(2500);
        jidianqi=1;
        PutStr(3,0,"  按任意鍵繼續");
        while(Keycan()==0);
                         PutStr(0,0,"按鍵1 : 增加指紋");
                PutStr(1,0,"按鍵2 : 刪去指紋");
                PutStr(2,0,"按鍵3 : 手動開鎖");
                PutStr(3,0,"按鍵4 : 修改密碼");
}


void guanliyuan()
{   
      uchar i,j=0,x=1;
             uchar Right_flag;
      LcmClearTXT();
          PutStr(1,1,"請輸入密碼:");        
           for(i=0;i<6;i++)mima=0;                                                                        
           Key=Keycan();
      while(Key!=queren)
           {
             Key=Keycan();
             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=mima+0x30;
        
          }
         if(j==6)
          {
           if(mima[0]==1&&mima[1]==3&&mima[2]==1&&mima[3]==4&&mima[4]==2&&mima[5]==0)
            Right_flag=1;
                else
                Right_flag=0;
                      }
          if (Right_flag==1)
         {
                     Right_flag=0;
                    
                   for(i=0;i<6;i++)mima=0;
                PutStr(0,0,"按鍵1 : 增加指紋");
                PutStr(1,0,"按鍵2 : 刪去指紋");
                PutStr(2,0,"按鍵3 : 手動開鎖");
                PutStr(3,0,"按鍵4 : 修改密碼");
     while(i!=tuichu)
      {         
                 i=Keycan();
        
                KeyDeal(i);  
            switch(K)
            {
             case 1:    addfinger();K=6; break;
             case 2:    deletfinger();    break;
                 case 3:         zhu();        K=8;  break;
                 case 4:    gaimima();        break;
             default: break;
            }
      }
     }
    else
    {

                PutStr(1,2,"密碼錯誤");
                PutStr(2,0,"  請重新操作!");
                PutStr(3,0,"  按任意鍵繼續");
             while(Keycan()==0);
                PutStr(0,0,"按鍵1 : 增加指紋");
                PutStr(1,0,"按鍵2 : 刪去指紋");
                PutStr(2,0,"按鍵3 : 手動開鎖");
                PutStr(3,0,"按鍵4 : 修改密碼");
    }
  Key=0;
   
}
void mimakaisuo()
{
uchar i,j=0,x=1;
             uchar Right_flag;
      LcmClearTXT();
          PutStr(1,0,"請輸入密碼開鎖:");        
           for(i=0;i<6;i++)mima=0;                                                                        
           Key=Keycan();
      while(Key!=queren)
           {
             Key=Keycan();
             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=mima+0x30;
        
          }
         if(j==6){Right_flag=PassWord_Chack(); }
          if (Right_flag==1&&ErrorCount<3)
         {
              Right_flag=0;
                   zhu();ErrorCount=0;  
                 Feng=1;
                  for(i=0;i<6;i++)mima=0;
     }
    else
    {
            if(ErrorCount<3)
                ErrorCount++;
                 if(ErrorCount==3)
                Feng=0;
                 
                PutStr(1,2,"密碼錯誤");
                PutStr(2,0,"  還有  次機會");
                PutStr(3,0,"  按任意鍵繼續");
                WriteCommand(0x8a);
                WriteData(' ');
                WriteData(3-ErrorCount+0x30);
                 
                delay(1000);
         
    }
  Key=0;
  LcmClearTXT();
}
void fan()
{
//        PutStr(1,2,"請先按鍵");
//        PutStr(2,2,"再刷指紋");
  if(Key!=0x81)                        //管理員操作
  {
        PutStr(0,2,"歡迎使用");
        PutStr(1,0,"指紋密碼門禁系統");
        PutStr(2,0,"密碼開鎖請按 C鍵");
        PutStr(3,1,"請按手指開鎖");
   }
  Key=Keycan();
if(k2==1)                //指紋刷機
  {
          LcmClearTXT();
        shuazhiwen();
        LcmClearTXT();
  }
  if(Key==0x81)                        //管理員操作
  {
        LcmClearTXT();
        guanliyuan();
    LcmClearTXT();
  }
  if(Key==0x84&&ErrorCount<3)                        //密碼開鎖
  {
        LcmClearTXT();
        mimakaisuo();
    LcmClearTXT();
  }

}        
     
void main()
{         

//PSB=0;
        UART_Init();           //串口初始化                  
          x24c02_init();     //24C02初始化
        LcmInit();               //LCD12864初始化                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            
        LcmClearTXT();           //LCD12864清屏        
        while(1)
                {
                        fan();
                        delay(100);                  
                }        
}

//外部中斷解碼程序_外部中斷1
void intersvr1(void) interrupt 2
{
TR0=1;
Tc=TL0*256+TH0;//提取中斷時間間隔時長
TH0=0;
TL0=0;         //定時中斷重新置零

if((Tc>Imin)&&(Tc<Imax))
{
        m=0;
        f=1;
        return;
}       //找到啟始碼
if(f==1)
{
        if(Tc>Inum1&&Tc<Inum3)
    {
           Im[m/8]=Im[m/8]>>1|0x80; m++;
    }
    if(Tc>Inum2&&Tc<Inum1)
    {
      Im[m/8]=Im[m/8]>>1; m++; //取碼
           }
           if(m==32)
    {
      m=0;  
      f=0;
      if(Im[2]==~Im[3])
      {
           IrOK=1;
                          TR0=0;
           }
      else IrOK=0;   //取碼完成后判斷讀碼是否正確


…………限于本文篇幅 余下代碼請從51黑下載附件…………
回復

使用道具 舉報

13#
ID:238056 發表于 2017-10-11 16:21 | 只看該作者
cjjcjj1 發表于 2017-10-10 21:47
你好,加我QQ吧 1413753805

好的
回復

使用道具 舉報

14#
ID:478073 發表于 2019-2-25 03:33 | 只看該作者
想看下這個程序,光密碼的好寫 指紋就不好弄了
回復

使用道具 舉報

15#
ID:509953 發表于 2019-4-16 20:18 | 只看該作者
你好,你有了嗎
回復

使用道具 舉報

16#
ID:509953 發表于 2019-4-16 20:18 | 只看該作者
你好,你有程序了嗎?
回復

使用道具 舉報

17#
ID:509953 發表于 2019-4-16 20:19 | 只看該作者
你好,你有程序了嗎?
回復

使用道具 舉報

18#
ID:540100 發表于 2019-7-18 10:33
六位按鍵密碼+12864+藍牙遠控+指紋,有需要加微winwor

19#
ID:705783 發表于 2020-3-10 17:27 來自手機 | 只看該作者
wenwenwenwen 發表于 2017-10-11 15:52
#include
#include
#include"24C0x.h"

請問這個是包含六位按鍵密碼+12864+紅外遙控+指紋的程序嗎?
回復

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規則

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

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 国产在线激情视频 | 国产精品欧美一区二区三区 | 91久久综合 | 亚洲国产成人精品女人久久久 | 欧美成人精品 | 国产精品一区网站 | 日日射影院| 亚洲欧洲精品一区 | 亚洲国产偷 | 午夜久久久久久久久久一区二区 | 超碰8| 欧美激情视频一区二区三区在线播放 | 影视一区 | 亚洲国产情侣自拍 | 亚洲综合视频 | 亚洲精品粉嫩美女一区 | 99国产精品99久久久久久 | 欧美成年视频 | 久久亚洲精品久久国产一区二区 | 日批免费看| 精品在线一区二区 | 91九色婷婷 | 国产乱码精品一区二区三区中文 | 毛片视频网址 | 日韩第一区 | 成人亚洲 | 精品毛片视频 | 日本免费一区二区三区 | 夜夜夜夜夜夜曰天天天 | 亚洲免费在线视频 | 成人做爰999 | 性精品 | 精品国产一区二区三区性色av | 日韩精品一区二区三区中文在线 | 免费在线观看一区二区 | 91.色 | 日韩欧美在线视频 | 成年视频在线观看 | 91免费观看在线 | 国产精品入口麻豆www | 影音先锋成人资源 |