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

          新聞中心

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

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

          作者: 時(shí)間:2011-06-04 來(lái)源:網(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,無(wú)鍵按下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位,超過(guò)6位視為輸入無(wú)效
          { 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);//一聲長(zhǎng)“滴”聲,提示錯(cuò)誤
          audio_out=0;
          delay(60000);
          audio_out=1;
          //-----------
          init_variant();//清除所有輸入,等待下一次輸入
          }
          else //輸入錯(cuò)誤次數(shù)超過(guò)3次
          { alarm_out=0; //報(bào)警燈亮
          pw_error=0; //密碼錯(cuò)誤指示燈亮
          error_num=0; //密碼輸入錯(cuò)誤次數(shù)清零
          //----------
          audio_out=0; //長(zhǎng)鳴聲報(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.ex-cimer.com/article/172702.htm

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



          上一頁(yè) 1 2 3 下一頁(yè)

          評(píng)論


          相關(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); })();