音影先锋亚洲天堂网|电影世界尽头的爱完整版播放|国产 熟女 91|高清无码免费观看欧美日韩|韩国一区二区三区黄色录像|美女亚洲加勒比在线|亚洲综合网 开心五月|7x成人在线入口|成人网站免费日韩毛片区|国产黄片?一级?二级?三级

單片機(jī)電子密碼鎖的設(shè)計(jì)

出處:xwj 發(fā)布于:2011-09-02 21:46:05 | 4850 次閱讀

  密碼鎖是鎖的一種,開啟時(shí)用的是一系列的數(shù)字或符號(hào)。密碼鎖的密碼通常都只是排列而非真正的組合。部分密碼鎖只使用一個(gè)轉(zhuǎn)盤,把鎖內(nèi)的數(shù)個(gè)碟片或凸輪轉(zhuǎn)動(dòng);亦有些密碼鎖是轉(zhuǎn)動(dòng)一組數(shù)個(gè)刻有數(shù)字的撥輪圈,直接帶動(dòng)鎖內(nèi)部的機(jī)械。

1.實(shí)驗(yàn)任務(wù)


  根據(jù)設(shè)定好的密碼,采用二個(gè)按鍵實(shí)現(xiàn)密碼的輸入功能,當(dāng)密碼輸入正確之后,鎖就打開,如果輸入的三次的密碼不正確,就鎖定按鍵3秒鐘,同時(shí)發(fā)現(xiàn)報(bào)警聲,直到?jīng)]有按鍵按下3種后,才打開按鍵鎖定功能;否則在3秒鐘內(nèi)仍有按鍵按下,就重新鎖定按鍵3秒時(shí)間并報(bào)警。


2.電路原理圖


電子密碼鎖的電路圖

3.系統(tǒng)板上硬件連線


 ?。?).把“單片機(jī)系統(tǒng)”區(qū)域中的P0.0/AD0用導(dǎo)線連接到“音頻放大模塊”區(qū)域中的SPK IN端子上;
 ?。?).把“音頻放大模塊”區(qū)域中的SPK OUT端子接喇叭和;
 ?。?).把“單片機(jī)系統(tǒng)”區(qū)域中的P2.0/A8-P2.7/A15用8芯排線連接到“四路靜態(tài)數(shù)碼顯示”區(qū)域中的任一個(gè)ABCDEFGH端子上;
 ?。?). 把“單片機(jī)系統(tǒng)“區(qū)域中的P1.0用導(dǎo)線連接到“八路發(fā)光二極管模塊”區(qū)域中的L1端子上;
  (5). 把“單片機(jī)系統(tǒng)”區(qū)域中的P3.6/WR、P3.7/RD用導(dǎo)線連接到“獨(dú)立式鍵盤”區(qū)域中的SP1和SP2端子上;


4.程序設(shè)計(jì)內(nèi)容


 ?。?). 密碼的設(shè)定,在此程序中密碼是固定在程序存儲(chǔ)器ROM中,假設(shè)預(yù)設(shè)的密碼為“12345”共5位密碼。
 ?。?). 密碼的輸入問題:
  由于采用兩個(gè)按鍵來完成密碼的輸入,那么其中一個(gè)按鍵為功能鍵,另一個(gè)按鍵為數(shù)字鍵。在輸入過程中,首先輸入密碼的長(zhǎng)度,接著根據(jù)密碼的長(zhǎng)度輸入密碼的位數(shù),直到所有長(zhǎng)度的密碼都已經(jīng)輸入完畢;或者輸入確認(rèn)功能鍵之后,才能完成密碼的輸入過程。進(jìn)入密碼的判斷比較處理狀態(tài)并給出相應(yīng)的處理過程。
 ?。?).按鍵禁止功能:初始化時(shí),是允許按鍵輸入密碼,當(dāng)有按鍵按下并開始進(jìn)入按鍵識(shí)別狀態(tài)時(shí),按鍵禁止功能被激活,但啟動(dòng)的狀態(tài)在3次密碼輸入不正確的情況下發(fā)生的。


5.C語言源程序


#include
unsigned char code ps[]={1,2,3,4,5};
unsigned char code dispcode[]={0x3f,0x06,0x5b,0x4f,0x66,
                               0x6d,0x7d,0x07,0x7f,0x6f,0x00,0x40};
unsigned char pslen=9;
unsigned char templen;
unsigned char digit;
unsigned char funcount;
unsigned char digitcount;
unsigned char psbuf[9];
bit cmpflag;
bit hibitflag;
bit errorflag;
bit rightflag;
unsigned int second3;
unsigned int aa;
unsigned int bb;
bit alarmflag;
bit exchangeflag;
unsigned int cc;
unsigned int dd;
bit okflag;
unsigned char oka;
unsigned char okb;
void main(void)
{
  unsigned char i,j;
  P2=dispcode[digitcount];
  TMOD=0x01;
  TH0=(65536-500)/256;
  TL0=(65536-500)%6;
  TR0=1;
  ET0=1;
  EA=1;
  while(1)
    {
      if(cmpflag==0)
        {
          if(P3_6==0) //function key
            {
              for(i=10;i>0;i--)
              for(j=248;j>0;j--);
              if(P3_6==0)
                {
                  if(hibitflag==0)
                    {
                      funcount++;
                      if(funcount==pslen+2)
                        {
                          funcount=0;
                          cmpflag=1;
                         }
                       P1=dispcode[funcount];
                    }
                    else
                      {
                         second3=0;
                      }
                  while(P3_6==0);
                }
            }
          if(P3_7==0) //digit key
            {
              for(i=10;i>0;i--)
              for(j=248;j>0;j--);
              if(P3_7==0)
                {
                  if(hibitflag==0)
                    {
                      digitcount++;                     
                      if(digitcount==10)
                        {
                          digitcount=0;
                        }
                      P2=dispcode[digitcount];
                      if(funcount==1)
                        {
                          pslen=digitcount;
                          templen=pslen;
                        }
                        else if(funcount>1)
                          {
                            psbuf[funcount-2]=digitcount;
                          }
                    }
                    else
                      {
                        second3=0;
                      }
                  while(P3_7==0);
                }
            }
        }
        else
          {
            cmpflag=0;
            for(i=0;i
              {
                if(ps[i]!=psbuf[i])
                  {
                    hibitflag=1;
                    i=pslen;
                    errorflag=1;
                    rightflag=0;
                    cmpflag=0;
                    second3=0;
                    goto a;
                  }
              }
            cc=0;
            errorflag=0;
            rightflag=1;
            hibitflag=0;
a:          cmpflag=0;
          }

    }
}
void t0(void) interrupt 1 using 0
{
  TH0=(65536-500)/256;
  TL0=(65536-500)%6;
  if((errorflag==1) && (rightflag==0))
    {
      bb++;
      if(bb==800)
        {
          bb=0;
          alarmflag=~alarmflag;
        }
      if(alarmflag==1)
        {
          P0_0=~P0_0;
        }
      aa++;
      if(aa==800)
        {
          aa=0;
          P0_1=~P0_1;
        }
      second3++;
      if(second3==6400)
        {
          second3=0;
          hibitflag=0;
          errorflag=0;
          rightflag=0;
          cmpflag=0;
          P0_1=1;
          alarmflag=0;
          bb=0;
          aa=0;
        }
    }
  if((errorflag==0) && (rightflag==1))
    {
      P0_1=0;
      cc++;
      if(cc<1000)
        {
          okflag=1;
        }
        else if(cc<2000)
          {
            okflag=0;
          }
          else
            {
              errorflag=0;
              rightflag=0;
              hibitflag=0;
              cmpflag=0;
              P0_1=1;
              cc=0;
              oka=0;
              okb=0;
              okflag=0;
              P0_0=1;
            }
      if(okflag==1)
        {
          oka++;
          if(oka==2)
            {
              oka=0;
              P0_0=~P0_0;
            }
        }
        else
          {
            okb++;
            if(okb==3)
              {
                okb=0;
                P0_0=~P0_0;
              }
          }
    }
}

電子密碼鎖的性能特點(diǎn)

  1.保密性好: 編碼量多,遠(yuǎn)遠(yuǎn)大于彈子鎖。隨機(jī)開鎖成功率幾乎為零。    

  2.密碼可變: 用戶可以經(jīng)常更改密碼,防止密碼被盜,同時(shí)也可以避免因人員的更替而使鎖的密級(jí)下降。

  3.誤碼輸入保護(hù): 當(dāng)輸入密碼多次錯(cuò)誤時(shí),報(bào)警系統(tǒng)自動(dòng)啟動(dòng)。

  4. 電子密碼鎖操作: 簡(jiǎn)單易行,一學(xué)即會(huì)。

  5. 干擾碼功能: 在輸入正確密碼前可輸入任意碼?!?/FONT>

  6. 安保功能: 如果連續(xù)輸錯(cuò)4次密碼將會(huì)自動(dòng)斷電3分鐘。

  7. 緊急開啟功能: 出門時(shí)無需其他操作,只需的把手動(dòng)作,可機(jī)械的開啟門,所以遇到火災(zāi)等應(yīng)急狀況下也迅速,安全的開啟門。

  8. 入侵感應(yīng)功能: 在門上鎖的狀態(tài)下,有人破鎖而入時(shí),會(huì)發(fā)出強(qiáng)力的報(bào)警音。

  9. 火災(zāi)報(bào)警功能: 在室內(nèi)如果溫度達(dá)到75°左右,將會(huì)發(fā)出強(qiáng)力的報(bào)警音,同時(shí)鎖會(huì)自動(dòng)開啟。

  10. 雙重鎖定功能: 外部強(qiáng)制鎖定,在內(nèi)部不能開啟,適用于外出時(shí),防止有人入侵。 內(nèi)部強(qiáng)制鎖定,在外部不能開啟,讓您在家時(shí)更安心、安全。

  11. 弱電提醒當(dāng)電量不足時(shí): 在啟動(dòng)開門時(shí),會(huì)有美妙的音樂提示您及時(shí)更換電池。

  12. 自動(dòng)上鎖功能: 采用全自動(dòng)鎖芯,門關(guān)后6秒內(nèi)自動(dòng)上鎖,外出更加安全。

  13. 外部顯示功能: 當(dāng)密碼輸入錯(cuò)誤,鎖舌沒正常鎖到位,室內(nèi)反鎖,弱電等情況下,外部都有提示功能。



  
4次

版權(quán)與免責(zé)聲明

凡本網(wǎng)注明“出處:維庫電子市場(chǎng)網(wǎng)”的所有作品,版權(quán)均屬于維庫電子市場(chǎng)網(wǎng),轉(zhuǎn)載請(qǐng)必須注明維庫電子市場(chǎng)網(wǎng),http://m.58mhw.cn,違反者本網(wǎng)將追究相關(guān)法律責(zé)任。

本網(wǎng)轉(zhuǎn)載并注明自其它出處的作品,目的在于傳遞更多信息,并不代表本網(wǎng)贊同其觀點(diǎn)或證實(shí)其內(nèi)容的真實(shí)性,不承擔(dān)此類作品侵權(quán)行為的直接責(zé)任及連帶責(zé)任。其他媒體、網(wǎng)站或個(gè)人從本網(wǎng)轉(zhuǎn)載時(shí),必須保留本網(wǎng)注明的作品出處,并自負(fù)版權(quán)等法律責(zé)任。

如涉及作品內(nèi)容、版權(quán)等問題,請(qǐng)?jiān)谧髌钒l(fā)表之日起一周內(nèi)與本網(wǎng)聯(lián)系,否則視為放棄相關(guān)權(quán)利。

廣告
OEM清單文件: OEM清單文件
*公司名:
*聯(lián)系人:
*手機(jī)號(hào)碼:
QQ:
有效期:

掃碼下載APP,
一鍵連接廣大的電子世界。

在線人工客服

買家服務(wù):
賣家服務(wù):
技術(shù)客服:

0571-85317607

網(wǎng)站技術(shù)支持

13606545031

客服在線時(shí)間周一至周五
9:00-17:30

關(guān)注官方微信號(hào),
第一時(shí)間獲取資訊。

建議反饋

聯(lián)系人:

聯(lián)系方式:

按住滑塊,拖拽到最右邊
>>
感謝您向阿庫提出的寶貴意見,您的參與是維庫提升服務(wù)的動(dòng)力!意見一經(jīng)采納,將有感恩紅包奉上哦!