新聞中心

        EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > 單片機(jī)控制的密碼鎖設(shè)計(jì)(含電路圖及源程序)

        單片機(jī)控制的密碼鎖設(shè)計(jì)(含電路圖及源程序)

        作者: 時(shí)間:2011-06-04 來源:網(wǎng)絡(luò) 收藏

        //初始化51的寄存器
        TMOD=0x20; //用T1計(jì)時(shí) 8位自動(dòng)裝載定時(shí)模式
        TH1=0x19; //500微秒溢出一次; 250=(256-x)*12/11.0592 -> x=19
        TL1=0x19;
        EA=1; //開中斷
        ET1=1;
        TR1=0; //開定時(shí)器T1
        while(1)
        { key_val=scan_key(); //按鍵輸入,有鍵按下key_val為0-7,無鍵按下key_val為255。
        if (key_val!=key_val_old)
        { key_val_old=key_val;
        if (key_val!=255 cnt_state!=2)
        { audio_out=0;
        delay(100); //延時(shí)去抖動(dòng)
        audio_out=1;
        switch (key_val)
        { case 0:
        case 1:
        case 2:
        case 3:
        case 4:
        case 5:
        if(key_index6) //密碼為6位,超過6位視為輸入無效
        { show_val[key_index]=key_val;
        key_index++; }
        break;
        case 6: //確認(rèn)鍵
        if(check_input_pw())
        {//密碼正確
        error_num=0; //密碼輸入錯(cuò)誤次數(shù)清零
        //---------
        pw_error=1; //密碼錯(cuò)誤指示燈滅
        relay_open=0; //開鎖驅(qū)動(dòng)信號(hào)燈亮
        open_lock=0; //已開鎖信號(hào)燈亮
        //---------
        delay(50000); //兩聲短“滴”聲
        audio_out=0;
        delay(50000);
        audio_out=1;
        delay(50000);
        audio_out=0;
        delay(50000);
        audio_out=1;
        //---------
        cnt_state=1; //下一狀態(tài)處于4秒計(jì)時(shí)的狀態(tài)
        TR0=1; //啟動(dòng)定時(shí)
        }
        else
        { if (error_num2)
        {error_num++; //輸入錯(cuò)誤次數(shù)小于3次時(shí),沒錯(cuò)一次error_num增一
        pw_error=0; //密碼錯(cuò)誤指示燈亮
        //-----------
        delay(20000);//一聲長“滴”聲,提示錯(cuò)誤
        audio_out=0;
        delay(60000);
        audio_out=1;
        //-----------
        init_variant();//清除所有輸入,等待下一次輸入
        }
        else //輸入錯(cuò)誤次數(shù)超過3次
        { alarm_out=0; //報(bào)警燈亮
        pw_error=0; //密碼錯(cuò)誤指示燈亮
        error_num=0; //密碼輸入錯(cuò)誤次數(shù)清零
        //----------
        audio_out=0; //長鳴聲報(bào)警
        delay(60000);
        delay(60000);
        delay(60000);
        delay(60000);
        delay(60000);
        delay(60000);
        delay(60000);
        delay(60000);
        delay(60000);
        audio_out=1;
        //-------------
        TR1=1; //打開定時(shí)器計(jì)時(shí)
        cnt_state=2; //下一狀態(tài)處于15秒計(jì)時(shí)的狀態(tài)
        }
        }
        break;
        case 7://取消鍵
        init_variant();
        break;
        }
        }
        }
        led_show();
        }
        }
        //-----程序結(jié)束-----------------

        本文引用地址:http://www.104case.com/article/172702.htm

        電路圖符號(hào)相關(guān)文章:電路圖符號(hào)大全



        上一頁 1 2 3 下一頁

        評(píng)論


        相關(guān)推薦

        技術(shù)專區(qū)

        關(guān)閉
        主站蜘蛛池模板: 大同县| 修文县| 巢湖市| 襄垣县| 南康市| 玉溪市| 鲁甸县| 什邡市| 衡山县| 思南县| 鄢陵县| 武乡县| 怀宁县| 香港| 宁武县| 西丰县| 大石桥市| 贵德县| 合川市| 塔河县| 张掖市| 开化县| 香格里拉县| 合肥市| 若尔盖县| 寿阳县| 调兵山市| 阳谷县| 大姚县| 卓尼县| 锦州市| 磴口县| 天津市| 依兰县| 石狮市| 芦溪县| 开鲁县| 凉山| 辉南县| 博野县| 房产|