中文字幕 另类精品,亚洲欧美一区二区蜜桃,日本在线精品视频免费,孩交精品乱子片免费

<sup id="3hn2b"></sup>

    1. <sub id="3hn2b"><ol id="3hn2b"></ol></sub><legend id="3hn2b"></legend>

      1. <xmp id="3hn2b"></xmp>

      2. 新聞中心

        EEPW首頁 > 嵌入式系統(tǒng) > 設計應用 > AVR單片機密碼鎖程序

        AVR單片機密碼鎖程序

        作者: 時間:2012-08-02 來源:網(wǎng)絡 收藏

        switch(key)//確定有按鍵按下了就判斷下到底是哪個值
        {

        case 0xEE:qing=0;
        key=0x0;
        break;
        case 0xDE:qing1=1;
        key=0x1;
        break;
        case 0xBE:qing2=2;
        key=0x2;
        break;
        case 0x7E:qing3=3;
        key=0x3;
        break;
        case 0xED:
        key=0x4;
        break;
        case 0xDD:
        key=0x5;
        break;
        case 0xBD:
        key=0x6;
        break;
        case 0x7D:
        key=0x7;
        break;
        case 0xEB:
        key=8;
        break;
        case 0xDB:
        key=9;
        break;
        case 0xBB:
        key=0xA;
        break;
        case 0x7B:
        key=0xB;
        break;
        case 0xE7:
        key=0xC;
        break;
        case 0xD7:
        key=0xD;
        break;
        case 0xB7:
        key=0xE;
        break;
        case 0x77:
        key=0xF;
        break;
        }
        }
        }
        return key;//返回按鍵值
        }
        /******************************************************/
        /*******************密碼判斷子程序*********************/
        /******************************************************/
        void mi()
        {
        switch(num)
        {
        case 1://只有按鍵標志位為1時,說明按下的是第1次
        if(qing==yin)//此時第1位密碼比較變量與初始密碼變量比較,是否相等
        {
        temp++;//如果相等則將比較標志位加1,以作記號
        qing=0xff;//作完記號后,將比較變量賦值,以便它再次記數(shù)標志位變量
        }
        break;//返回
        case 2://只有按鍵標志位為2時,說明按下的是第2次
        if(qing1==yin1)
        {
        temp++;
        qing1=0xff;
        }
        break;
        case 3://只有按鍵標志位為3時,說明按下的是第3次
        if(qing2==yin2)
        {
        temp++;
        qing2=0xff;
        }
        break;
        case 4://只有按鍵標志位為4時,說明按下的是第4次
        if(qing3==yin3)
        {
        temp++;
        qing3=0xff;
        }
        break;
        }
        if(temp==4)//如果比較標志位變量為4,則說明以上4個密碼是對的,此時蜂鳴器響起
        bbt();//調(diào)用蜂鳴器響起子程序
        }
        /***********************************************/
        /*******************主程序*********************/
        /***********************************************/
        void main()
        {
        uchar ik=16;//定義局部變量
        temp=0;//蜂鳴器計數(shù)變量變0
        num=0;//計數(shù)器清0
        yin=0;//密碼1
        yin1=1;//密碼2
        yin2=2;//密碼3
        yin3=3;//密碼4
        qing=qing1=qing2=qing3=0;//密碼比較變量清0
        DDRB=0xff;//設置PB口為輸出
        DDRC=0xff;//設置PC口為輸出
        while(1)
        {
        ik=key_scan();//將按鍵返回值給變量IK
        /*****************第15個鍵按下時處理的程序*****************/
        if(ik==15)//如果按下了第15個鍵,就將按下的次數(shù)清0,即進入初始化
        {
        num=0;//清0計數(shù)器
        temp=0;//清0計數(shù)器
        qing=qing1=qing2=qing3=0;//密碼比較變量清0
        }
        /*****************數(shù)碼管顯示部分*****************/
        if(ik16)//如果返回值小于16就在數(shù)碼
        xian(ik); //調(diào)用顯示子程序
        else//如果返回值不小于16,就顯示黑屏
        xian(16);
        /*****************密碼判斷部分*****************/
        mima();
        }
        }

        蜂鳴器相關文章:蜂鳴器原理

        上一頁 1 2 下一頁

        關鍵詞: AVR 密碼鎖 矩陣鍵盤

        評論


        相關推薦

        技術專區(qū)

        關閉