色婷婷AⅤ一区二区三区|亚洲精品第一国产综合亚AV|久久精品官方网视频|日本28视频香蕉

          新聞中心

          EEPW首頁(yè) > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > 密碼鎖設(shè)計(jì)(4×4鍵盤及8位數(shù)碼管)

          密碼鎖設(shè)計(jì)(4×4鍵盤及8位數(shù)碼管)

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

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

          用4×4組成0-9數(shù)字鍵及確認(rèn)鍵構(gòu)成的。

          用8位組成顯示電路提示信息,當(dāng)輸入密碼時(shí),只顯示“8.”,當(dāng)密碼位數(shù)輸入完畢按下確認(rèn)鍵時(shí),對(duì)輸入的密碼與設(shè)定的密碼進(jìn)行比較,若密碼正確,則門開,此處用LED發(fā)光二極管亮一秒鐘做為提示,同時(shí)發(fā)出“叮咚”聲;若密碼不正確,禁止按鍵輸入3秒,同時(shí)發(fā)出“嘀、嘀”報(bào)警聲;若在3秒之內(nèi)仍有按鍵按下,則禁止按鍵輸入3秒被重新禁止。

          2.電路原理圖

          點(diǎn)擊瀏覽下一頁(yè)

          圖4.33.1

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

          (1)把“單片機(jī)系統(tǒng)”區(qū)域中的P0.0-P0.7用8芯排線連接到“動(dòng)態(tài)數(shù)碼顯示”區(qū)域中的ABCDEFGH端子上。

          (2)把“單片機(jī)系統(tǒng)“區(qū)域中的P2.0-P2.7用8芯排線連接到“動(dòng)態(tài)數(shù)碼顯示”區(qū)域中的S1S2S3S4S5S6S7S8端子上。

          (3)把“單片機(jī)系統(tǒng)”區(qū)域中的P3.0-P3.7用8芯排線連接到“4×4行列式鍵盤”區(qū)域中的R1R2R3R4C1C2C3C4端子上。

          (4)把“單片機(jī)系統(tǒng)”區(qū)域中的P1.0用導(dǎo)線連接到“八路發(fā)光二極管模塊”區(qū)域中的L2端子上。

          (5)把“單片機(jī)系統(tǒng)”區(qū)域中的P1.7用導(dǎo)線連接到“音頻放大模塊”區(qū)域中的SPK IN端子上。

          (6)把“音頻放大模塊”區(qū)域中的SPK OUT接到喇叭上。

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

          (1)4×4行列式鍵盤識(shí)別技術(shù):有關(guān)這方面內(nèi)容前面已經(jīng)討論過,這里不再重復(fù)。

          (2)8位數(shù)碼顯示,初始化時(shí),顯示“P   ”,接著輸入最大6位數(shù)的密碼,當(dāng)密碼輸入完后,按下確認(rèn)鍵,進(jìn)行密碼比較,然后給出相應(yīng)的信息。在輸入密碼過程中,顯示器只顯示“8.”。當(dāng)數(shù)字輸入超過6個(gè)時(shí),給出報(bào)警信息。在密碼輸入過程中,若輸入錯(cuò)誤,可以利用“DEL”鍵刪除剛才輸入的錯(cuò)誤的數(shù)字。

          (3)4×4行列式鍵盤的按鍵功能分布圖如圖4.33.2所示:

          點(diǎn)擊瀏覽下一頁(yè)

          圖4.33.2

          5.C語(yǔ)言源程序

          #include AT89X52.H>

          unsigned char ps[]={1,2,3,4,5};

          unsigned char code dispbit[]={0xfe,0xfd,0xfb,0xf7,

          0xef,0xdf,0xbf,0x7f};

          unsigned char code dispcode[]={0x3f,0x06,0x5b,0x4f,0x66,

          0x6d,0x7d,0x07,0x7f,0x6f,

          0x77,0x7c,0x39,0x5e,0x79,0x71,

          0x00,0x40,0x73,0xff};

          unsigned char dispbuf[8]={18,16,16,16,16,16,16,16};

          unsigned char dispcount;

          unsigned char flashcount;

          unsigned char temp;

          unsigned char key;

          unsigned char keycount;

          unsigned char pslen=5;

          unsigned char getps[6];

          bit keyoverflag;

          bit errorflag;

          bit rightflag;

          unsigned int second3;

          unsigned int aa,bb;

          unsigned int cc;

          bit okflag;

          bit alarmflag;

          bit hibitflag;

          unsigned char oka,okb;

          void main(void)

          {

          unsigned char i,j;

          TMOD=0x01;

          TH0=(65536-500)/256;

          TL0=(65536-500)%6;

          TR0=1;

          ET0=1;

          EA=1;

          while(1)

          {

          P3=0xff;

          P3_4=0;

          temp=P3;

          temp=temp 0x0f;

          if (temp!=0x0f)

          {

          for(i=10;i>0;i--)

          for(j=248;j>0;j--);

          temp=P3;

          temp=temp 0x0f;

          if (temp!=0x0f)

          {

          temp=P3;

          temp=temp 0x0f;

          switch(temp)

          {

          case 0x0e:

          key=7;

          break;

          case 0x0d:

          key=8;

          break;

          case 0x0b:

          key=9;

          break;

          case 0x07:

          key=10;

          break;

          }

          temp=P3;

          P1_1=~P1_1;

          if((key>=0) (key10))

          {

          if(keycount6)

          {

          getps[keycount]=key;

          dispbuf[keycount+2]=19;

          }

          keycount++;

          if(keycount==6)

          {

          keycount=6;

          }

          else if(keycount>6)

          {

          keycount=6;

          keyoverflag=1;//key overflow

          }


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

          關(guān)鍵詞: 密碼鎖 數(shù)碼管 4×4鍵盤

          評(píng)論


          相關(guān)推薦

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

          關(guān)閉