<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          新聞中心

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

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

          作者: 時間:2012-09-14 來源:網(wǎng)絡(luò) 收藏

          //初始化51的寄存器
          TMOD=0x20; //用T1計(jì)時 8位自動裝載定時模式
          TH1=0x19; //500微秒溢出一次; 250=(256-x)*12/11.0592 -> x=19
          TL1=0x19;
          EA=1; //開中斷
          ET1=1;
          TR1=0; //開定時器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); //延時去抖動
          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; //密碼輸入錯誤次數(shù)清零
          //---------
          pw_error=1; //密碼錯誤指示燈滅
          relay_open=0; //開鎖驅(qū)動信號燈亮
          open_lock=0; //已開鎖信號燈亮
          //---------
          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ì)時的狀態(tài)
          TR0=1; //啟動定時
          }
          else
          { if (error_num2)
          {error_num++; //輸入錯誤次數(shù)小于3次時,沒錯一次error_num增一
          pw_error=0; //密碼錯誤指示燈亮
          //-----------
          delay(20000);//一聲長“滴”聲,提示錯誤
          audio_out=0;
          delay(60000);
          audio_out=1;
          //-----------
          init_variant();//清除所有輸入,等待下一次輸入
          }
          else //輸入錯誤次數(shù)超過3次
          { alarm_out=0; //報(bào)警燈亮
          pw_error=0; //密碼錯誤指示燈亮
          error_num=0; //密碼輸入錯誤次數(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; //打開定時器計(jì)時
          cnt_state=2; //下一狀態(tài)處于15秒計(jì)時的狀態(tài)
          }
          }
          break;
          case 7://取消鍵
          init_variant();
          break;
          }
          }
          }
          led_show();
          }
          }
          //-----程序結(jié)束-----------------

          本文引用地址:http://www.ex-cimer.com/article/170863.htm

          電路圖文章專題:電路圖符號大全


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



          上一頁 1 2 3 下一頁

          評論


          相關(guān)推薦

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

          關(guān)閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();