久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 5161|回復(fù): 6
打印 上一主題 下一主題
收起左側(cè)

電子密碼鎖設(shè)計24c01+12864,希望能幫到大家

  [復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
ID:164371 發(fā)表于 2017-6-13 21:52 | 只看該作者 |只看大圖 回帖獎勵 |倒序瀏覽 |閱讀模式
仿真原理圖如下(proteus仿真工程文件可到本帖附件中下載):


單片機(jī)源程序如下:
  1. #include<reg51.h>
  2. #include<keyinput.h>
  3. #include<12864.h>
  4. #include<24C01.h>

  5. #define uchar unsigned char
  6. #define uint unsigned int
  7. sbit LED1=P1^5;
  8. sbit LED2=P1^6;
  9. sbit INIT=P2^2;
  10. sbit SOUND=P1^7;

  11. uchar idata key[6]={0,0,0,0,0,0};
  12. uchar idata iic[6]={0,1,2,3,4,5};

  13. /************************ 密碼校驗函數(shù) **************************/
  14. void press(uchar *s) {
  15.            uchar dat;
  16.        P3=0xf0;                                                                //第一位密碼
  17.            while(P3==0xf0);
  18.        dat=key_scan();
  19.            if((dat!=0x0a)&&(dat!=0x0b))
  20.          {   *s=dat;
  21.                          Left();
  22.                          star_12864(star,0x05,16);
  23.              }
  24.            s++;                  
  25.            P3=0xf0;                                                          //第二位密碼
  26.            while(P3==0xf0);                                                 
  27.        dat=key_scan();
  28.            if((dat!=0x0a)&&(dat!=0x0b))
  29.          {   *s=dat;
  30.                          Left();
  31.                          star_12864(star,0x05,24);
  32.                   }
  33.            s++;       
  34.            P3=0xf0;                                                          //第三位密碼
  35.            while(P3==0xf0);                                                 
  36.        dat=key_scan();
  37.            if((dat!=0x0a)&&(dat!=0x0b))
  38.          {   *s=dat;
  39.                          Left();
  40.                          star_12864(star,0x05,32);
  41.                   }
  42.            s++;       
  43.            P3=0xf0;                                                          //第四位密碼
  44.            while(P3==0xf0);                                                 
  45.            dat=key_scan();
  46.            if((dat!=0x0a)&&(dat!=0x0b))
  47.          {   *s=dat;
  48.                          Left();
  49.                          star_12864(star,0x05,40);
  50.                   }
  51.            s++;       
  52.            P3=0xf0;                                                          //第五位密碼
  53.            while(P3==0xf0);                                                 
  54.        dat=key_scan();
  55.            if((dat!=0x0a)&&(dat!=0x0b))
  56.          {   *s=dat;
  57.                          Left();
  58.                          star_12864(star,0x05,48);
  59.                   }
  60.            s++;       
  61.            P3=0xf0;                                                          //第六位密碼
  62.            while(P3==0xf0);                                                 
  63.        dat=key_scan();
  64.            if((dat!=0x0a)&&(dat!=0x0b))
  65.          {   *s=dat;
  66.                          Left();
  67.                          star_12864(star,0x05,56);
  68.                   }
  69.            do{P3=0xf0;                                                        //鍵入Enter鍵盤繼續(xù)執(zhí)行下面語句,否則等待
  70.               while(P3==0xf0);                                                 
  71.           dat=key_scan();
  72.               }while(dat!=0x0b);
  73. }

  74. /****************************** 延時10ms函數(shù) *******************************/
  75. void Delay10ms(void) {
  76.         uint i,j,k;
  77.         for(i=5;i>0;i--)
  78.         for(j=4;j>0;j--)
  79.         for(k=248;k>0;k--);

  80. }

  81. /****************************** 主函數(shù) *******************************/
  82. void main() {
  83.       uchar dat;
  84.       uchar i=0,j=0,k;
  85.       uchar x;
  86.           LED1=1;
  87.           LED2=1;
  88.           SOUND=0;
  89.           INIT=1;
  90.       if(INIT==0){                   //密碼初始化,先從IIC器件中讀出密碼以供下面輸入密碼進(jìn)行比較
  91.              x=SendB(iic,0x50,6);
  92.                  Delay10ms();
  93.       }              
  94.       x=ReadB(iic,0x50,6);
  95.       Init_12864();
  96.           for(i=0;i<50;i++){Delay10ms();}
  97.           do{                                  //若密碼不正確,循環(huán)執(zhí)行do{}while()
  98.              LED1=1;
  99.              System();                  //顯示:請輸入密碼
  100.              press(key);
  101.                  if((key[0]==iic[0])&&(key[1]==iic[1])&&(key[2]==iic[2])&&(key[3]==iic[3])&&(key[4]==iic[4])&&(key[5]==iic[5])) //密碼比較,若密碼正確責(zé)進(jìn)入系統(tǒng),若密碼不正確則顯示密碼錯誤,重新輸入密碼
  102.          {
  103.                     true();
  104.                     do {
  105.                        P3=0xf0;                                                        //鍵入1或2繼續(xù)執(zhí)行下面語句,否則等待
  106.                    while(P3==0xf0);                                                 
  107.                dat=key_scan();
  108.                 }while(dat!=0x01&&dat!=0x02);         
  109.                     if(dat==1) {                                       //開鎖
  110.                         LED1=0; j=0;
  111.                                 unlock();
  112.                             for(i=0;i<100;i++){Delay10ms();}
  113.                     continue;
  114.                     }
  115.                     if(dat==2) {                                                        //修改密碼
  116.                        do{
  117.                               j=0;
  118.                                           System();
  119.                                   press(key);
  120.                                   again();
  121.                                   press(iic);
  122.                                       if((key[0]==iic[0])&&(key[1]==iic[1])&&(key[2]==iic[2])&&(key[3]==iic[3])&&(key[4]==iic[4])&&(key[5]==iic[5]))
  123.                                       {
  124.                                           succeed();                                //修改密碼成功
  125.                                                   for(i=0;i<100;i++){Delay10ms();}
  126.                                       Delay10ms();
  127.                               x=SendB(iic,0x50,6);
  128.                                       Delay10ms();       
  129.                           x=ReadB(iic,0x50,6);break;
  130.                                       }
  131.                                       else         {                                            //修改密碼不成功,重新修改
  132.                                               repeat();
  133.                                                   for(i=0;i<100;i++){Delay10ms();}
  134.                                           }
  135.                                  }while(1);   
  136.                     }
  137.                  
  138. ……………………

  139. …………限于本文篇幅 余下代碼請從51黑下載附件…………
復(fù)制代碼

所有資料51hei提供下載:
電子密碼鎖.zip (121.93 KB, 下載次數(shù): 141)



評分

參與人數(shù) 1黑幣 +50 收起 理由
admin + 50 共享資料的黑幣獎勵!

查看全部評分

分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏2 分享淘帖 頂1 踩
回復(fù)

使用道具 舉報

沙發(fā)
ID:82765 發(fā)表于 2017-6-14 09:39 | 只看該作者
提示: 作者被禁止或刪除 內(nèi)容自動屏蔽
回復(fù)

使用道具 舉報

板凳
ID:164371 發(fā)表于 2017-6-14 14:09 | 只看該作者
因為發(fā)送過于匆忙有些引腳的定義大家自己修改一下,程序是絕對沒問題的
回復(fù)

使用道具 舉報

地板
ID:211258 發(fā)表于 2017-6-14 22:33 | 只看該作者
謝謝分享,太好了正好需要
回復(fù)

使用道具 舉報

5#
ID:210484 發(fā)表于 2017-6-15 08:54 | 只看該作者
感謝樓主分享
回復(fù)

使用道具 舉報

6#
ID:803444 發(fā)表于 2020-7-26 21:35 來自手機(jī) | 只看該作者
a8818075 發(fā)表于 2017-6-14 14:09
因為發(fā)送過于匆忙有些引腳的定義大家自己修改一下,程序是絕對沒問題的

朋友,是不是rs...rw...e三個要改,但是改了也不行啊,望指導(dǎo),萬分感謝
回復(fù)

使用道具 舉報

7#
ID:771985 發(fā)表于 2020-8-7 17:36 | 只看該作者
樓主,要設(shè)置多個密碼都能夠開鎖,程序要怎么搞呢
回復(fù)

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規(guī)則

手機(jī)版|小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術(shù)交流QQ群281945664

Powered by 單片機(jī)教程網(wǎng)

快速回復(fù) 返回頂部 返回列表
主站蜘蛛池模板: 日韩中文字幕在线视频 | 久久国产一区 | 视频一区在线播放 | 久久久久久久久国产精品 | 免费黄色大片 | 色眯眯视频在线观看 | 亚洲精品视频在线观看视频 | 中文天堂在线一区 | 成人性生交大片免费看r链接 | 国产成人免费视频 | 亚洲午夜精品一区二区三区他趣 | 久久麻豆精品 | 激情毛片 | 九九亚洲 | 夏同学福利网 | 久久久久久久久久久久久久av | 天堂一区二区三区 | 欧美不卡一区二区三区 | 国产福利91精品 | 日韩欧美在线观看视频网站 | 91网在线播放 | 91精品一区二区 | 人人草天天草 | 久久国产精品精品国产色婷婷 | 日本三级在线网站 | 午夜av免费| 中文字幕亚洲欧美 | 中文字幕一区二区三区在线观看 | 国产一在线观看 | 免费国产视频 | 91在线网 | 成人免费视频播放 | 久热伊人| 亚洲精品久久久久久一区二区 | 国产成人一区二区三区电影 | 欧美精品久久久 | 午夜一级做a爰片久久毛片 精品综合 | 夜夜艹| 欧美视频在线看 | 国产剧情一区 | 免费观看一级视频 |