wwwxxx国产_337p日本欧洲亚洲大胆张筱雨_免费在线看成人av_日本黄色不卡视频_国产精品成熟老女人_99视频一区_亚洲精品97久久中文字幕_免费精品视频在线_亚洲色图欧美视频_欧美一区二三区

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 9860|回復: 9
打印 上一主題 下一主題
收起左側

簡易數字密碼鎖proteus仿真+單片機源代碼

  [復制鏈接]
跳轉到指定樓層
樓主
如感興趣,請指教!
1、設計一個簡易電子密碼鎖。
2、用矩陣鍵盤組成0~9數字鍵、確認鍵、刪除鍵;用8位共陽數碼管組成顯示電路提示信息。
3、輸入密碼,在數碼管上顯示,當6位密碼輸入完時按下確認鍵,對輸入密碼與設定密碼
   進行比對,若正確,則開鎖,此處用LED發光二極管一秒作為提示,若密碼不正確,則
   發出“嘀嘀”聲。
仿真原理圖如下(proteus仿真工程文件可到本帖附件中下載)


單片機源程序如下:
  1. #include<reg52.h>
  2. typedef unsigned char u8;
  3. typedef unsigned int u16;
  4. u8 which,buff[6];
  5. u8 s_1,s_2,s_3,s_4,s_5,s_6;
  6. sbit DI=P3^6;
  7. sbit LED=P3^7;
  8. u8 code right[]={1,2,3,4,5,6};
  9. u8 code distab[]={
  10. 0xc0,0xF9,0xA4,0xB0,0x99,                                 
  11. 0x92,0x82,0xF8,0x80,0x90,                       
  12. 0x88,0x83,0xC6,0xA1,0x86,                       
  13. 0x8E,0xFF,0x0C,0x89,0x7F,0xBF};
  14. void delayms(u8 xms)
  15. {
  16.         u16 i,j;
  17.         for(i=xms;i>0;i--)
  18.                 for(j=110;j>0;j--);
  19. }
  20. void di()
  21. {
  22.         DI=0;
  23.         delayms(500);
  24.         DI=1;
  25.         delayms(500);
  26. }

  27. u8 conn()
  28. {
  29.         if((buff[0]==right[0])&&(buff[1]==right[1])&&(buff[2]==right[2])&&
  30.                 (buff[3]==right[3])&&(buff[4]==right[4])&&(buff[5]==right[5]))
  31.         return 1;
  32.         else return 0;
  33. }
  34. void display(u8 num)
  35. {
  36.         if(which>0)
  37.         switch(which)
  38.                 {
  39.                         case 1:if(num==21)which=0;s_1=num;if(num==20)which=0;buff[0]=s_1;         break;
  40.                         case 2:if(num==21)which=1;s_2=num;if(num==20)which=1;buff[1]=s_2;         break;
  41.                         case 3:if(num==21)which=2;s_3=num;if(num==20)which=2;buff[2]=s_3;         break;
  42.                         case 4:if(num==21)which=3;s_4=num;if(num==20)which=3;buff[3]=s_4;    break;
  43.                         case 5:if(num==21)which=4;s_5=num;if(num==20)which=4;buff[4]=s_5;    break;
  44.                         case 6:if(num==21)which=5;s_6=num;if(num==20)which=5;buff[5]=s_6;         break;
  45.                         case 7:                which=6;
  46.                                                 if(num==21)
  47.                                                 {
  48.                                                         if(conn()==0)
  49.                                                         {
  50.                                                                 di();di();di();
  51.                                                                 LED=1;
  52.                                                         }
  53.                                                         else
  54.                                                         {
  55.                                                                 LED=0;delayms(500);delayms(500);LED=1;
  56.                                                         }
  57.                                                         which=0;
  58.                                                 }
  59.                                                 break;
  60.                         default:        which=6;                                                 break;
  61.                 }
  62.                 else di();
  63. }
  64. void dis()
  65. {
  66.         switch(which)
  67.         {
  68.          case 1:P0=distab[s_1];        P2=0x80;delayms(5);        P0=0xff;  P2=0x00;         break;
  69.          case 2:P0=distab[s_1];        P2=0x40;delayms(5);        P0=0xff;
  70.                          P0=distab[s_2];        P2=0x80;delayms(5);        P0=0xff;  P2=0x00;         break;
  71.          case 3:P0=distab[s_1];        P2=0x20;delayms(5);        P0=0xff;
  72.                          P0=distab[s_2];        P2=0x40;delayms(5);        P0=0xff;  
  73.                         P0=distab[s_3];        P2=0x80;delayms(5);        P0=0xff;  P2=0x00;         break;
  74.          case 4:P0=distab[s_1];        P2=0x10;delayms(5);        P0=0xff;
  75.                          P0=distab[s_2];        P2=0x20;delayms(5);        P0=0xff;  
  76.                         P0=distab[s_3];        P2=0x40;delayms(5);        P0=0xff;  
  77.                          P0=distab[s_4];        P2=0x80;delayms(5);        P0=0xff;  P2=0x00;         break;
  78.          case 5:P0=distab[s_1];        P2=0x08;delayms(5);        P0=0xff;
  79.                          P0=distab[s_2];        P2=0x10;delayms(5);        P0=0xff;  
  80.                         P0=distab[s_3];        P2=0x20;delayms(5);        P0=0xff;  
  81.                          P0=distab[s_4];        P2=0x40;delayms(5);        P0=0xff;  
  82.                         P0=distab[s_5];        P2=0x80;delayms(5);        P0=0xff;  P2=0x00;         break;
  83.          case 6:P0=distab[s_1];        P2=0x04;delayms(5);        P0=0xff;
  84.                          P0=distab[s_2];        P2=0x08;delayms(5);        P0=0xff;  
  85.                         P0=distab[s_3];        P2=0x10;delayms(5);        P0=0xff;  
  86.                          P0=distab[s_4];        P2=0x20;delayms(5);        P0=0xff;  
  87.                         P0=distab[s_5];        P2=0x40;delayms(5);        P0=0xff;  
  88.                         P0=distab[s_6];        P2=0x80;delayms(5);        P0=0xff;  P2=0x00;         break;
  89.         }
  90. }
  91. void matrixkeyscan()                                           //matrix矩陣
  92. {
  93.         u8 temp,key;                                                   //temp臨時變量
  94.         P1=0xfe;                                                           //將第一行電平置低,其余行全為高
  95.         temp=P1;                                                           //讀取P3口當前狀態的置賦予臨時變量temp,用于后面計算
  96.         temp=temp&0xf0;                                                   //判斷temp的高四位是否有0,如果temp的高四位有0,那么與運算后
  97.                                                                                     //結果必然不等于0xf0;temp的高四位實際上是矩陣鍵盤的4個列線
  98.                                                                                     //從而通過temp與0xf0"&"運算后的結果是否為0xf0來判斷第一行是否
  99.                                                                                     //有按鍵按下
  100.         if(temp!=0xf0)                                                //“temp&0xf0”的結果,如果temp不等于0xf0,說明有鍵被按下
  101.         {
  102.                 delayms(10);                                       
  103.                 temp=P1;                                           //重新讀一次P3口數據
  104.                 temp=temp&0xf0;                                   //重新進行一次與運算
  105.                 if(temp!=0xf0)
  106.                 {
  107.                         temp=P1;
  108.                         switch(temp)
  109.                         {
  110.                                 case 0xee:        key=0;        which+=1;        break;
  111.                                 case 0xde:        key=1;        which+=1;        break;
  112.                                 case 0xbe:        key=2;        which+=1;        break;
  113.                                 case 0x7e:        key=3;        which+=1;        break;
  114.                         }
  115.                         while(temp!=0xf0)                           //等待按鍵釋放
  116.                         {
  117.                                 temp=P1;
  118.                                 temp=temp&0xf0;
  119.                         }
  120.                         display(key);
  121.                 }
  122.         }
  123.         P1=0xfd;
  124.         temp=P1;
  125.         temp=temp&0xf0;
  126.         if(temp!=0xf0)
  127.         {
  128.                 delayms(10);
  129.                 temp=P1;
  130.                 temp=temp&0xf0;
  131.                 if(temp!=0xf0)
  132.                 {
  133.                         temp=P1;
  134.                         switch(temp)
  135.                         {
  136.                                 case 0xed:        key=4;        which+=1;break;
  137.                                 case 0xdd:        key=5;        which+=1;break;
  138.                                 case 0xbd:        key=6;        which+=1;break;
  139.                                 case 0x7d:        key=7;        which+=1;break;
  140.                         }
  141.                         while(temp!=0xf0)
  142.                         {
  143.                                 temp=P1;
  144.                                 temp=temp&0xf0;
  145.                         }
  146.                         display(key);
  147.                 }
  148.         }
  149.         P1=0xfb;
  150.         temp=P1;
  151.         temp=temp&0xf0;
  152.         if(temp!=0xf0)
  153.         {
  154.                 delayms(10);
  155.                 temp=P1;
  156.                 temp=temp&0xf0;
  157.                 if(temp!=0xf0)
  158.                 {
  159.                         temp=P1;
  160.                         switch(temp)
  161.                         {
  162.                                 case 0xeb:        key=8;        which+=1;break;
  163.                                 case 0xdb:        key=9;        which+=1;break;
  164. //                                case 0xbb:        key=10;        which+=1;break;
  165. //                                case 0x7b:        key=11;        which+=1;break;
  166.                         }
  167.                         while(temp!=0xf0)
  168.                         {
  169.                                 temp=P1;
  170.                                 temp=temp&0xf0;
  171.                         }
  172.                         display(key);
  173.                 }
  174.         }
  175.         P1=0xf7;
  176.         temp=P1;
  177.         temp=temp&0xf0;
  178.         if(temp!=0xf0)
  179.         {
  180.                 delayms(10);
  181.                 temp=P1;
  182.                 temp=temp&0xf0;
  183.                 if(temp!=0xf0)
  184.                 {
  185.                         temp=P1;
  186.                         switch(temp)
  187.                         {
  188.                                 case 0xe7:        key=20;        break;
  189.                                 case 0xd7:        key=21; which+=1;        break;
  190. //                                case 0xb7:        key=14;        which+=1;break;
  191. //                                case 0x77:        key=15;        which+=1;break;
  192. ……………………

  193. …………限于本文篇幅 余下代碼請從51黑下載附件…………
復制代碼

所有資料51hei提供下載:
mimasuo.rar (210.87 KB, 下載次數: 186)




評分

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

查看全部評分

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

使用道具 舉報

沙發
ID:261805 發表于 2017-12-14 23:09 | 只看該作者
我是新手,不太明白為什么那些按鍵可以不用和別的元件連接起來?
回復

使用道具 舉報

板凳
ID:205137 發表于 2017-12-15 15:30 | 只看該作者
丨Star 發表于 2017-12-14 23:09
我是新手,不太明白為什么那些按鍵可以不用和別的元件連接起來?

按鍵是和單片機連接的,用連接線標號模式連的,這樣看起來能夠簡潔一點。
回復

使用道具 舉報

地板
ID:6813 發表于 2019-11-28 22:35 | 只看該作者
打不開啊
回復

使用道具 舉報

5#
ID:451155 發表于 2019-12-8 12:48 | 只看該作者
66666厲害了
回復

使用道具 舉報

6#
ID:659524 發表于 2019-12-11 10:55 來自觸屏版 | 只看該作者
sukichang 發表于 2019-11-28 22:35
打不開啊

能不能發一份資料
回復

使用道具 舉報

7#
ID:664974 發表于 2019-12-16 15:58 來自觸屏版 | 只看該作者
好想做一個試試
回復

使用道具 舉報

8#
ID:514746 發表于 2020-6-19 13:19 | 只看該作者
作者 你好 你這個仿真是在幾點幾版本上畫的啊?
回復

使用道具 舉報

9#
ID:784081 發表于 2020-6-22 07:50 | 只看該作者
這個打不開啊,proteus和keil版本是不是太低了
回復

使用道具 舉報

10#
無效樓層,該帖已經被刪除
11#
ID:1082257 發表于 2023-6-7 11:00 | 只看該作者
這個怎么改密碼欸
回復

使用道具 舉報

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

本版積分規則

小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術交流QQ群281945664

Powered by 單片機教程網

快速回復 返回頂部 返回列表
久久不射影院| 亚洲影院免费| 国产激情99| 国产熟女高潮视频| 欧美中文字幕在线播放| 日韩欧美黄色动漫| 国内成人精品2018免费看| 精品国产导航| 国产鲁鲁视频在线观看特色| 公交车上扒开嫩j挺进去| 在线观看免费视频一区| 丰满少妇一区二区三区| 国产黄色激情视频| 91九色综合久久| 国产亚洲精品久久久久久牛牛 | 最新国产一区| 99色在线观看| 一级片免费看| 四虎精品视频| 美女黄页在线观看| 最近中文字幕在线mv视频在线| av无码久久久久久不卡网站| 91视频免费进入| 欧美日韩成人精品| 日韩欧美成人一区| 亚洲成人免费视频| 91麻豆免费视频| 99精品视频免费| 秋霞在线一区| 手机看片久久| 欧美成人三区| 好紧好硬好湿我太爽了| 国产免费自拍视频| 国产免费的av| 国产精品2020| 男人天堂av电影| 少妇人妻互换不带套| 婷婷久久伊人| 国产精品视频免费一区| 91在线视频免费91| 蜜臀精品久久久久久蜜臀| 91成人观看| 男男gay无套免费视频欧美| 国产精品高清乱码在线观看| 成人资源www网在线最新版| 成人狠狠色综合| 91网站观看| 亚洲精品人成电影网| av高清一区二区| 成人公开免费视频| 久久久全国免费视频| 先锋影音av在线| 成人免费无码大片a毛片| 中文字幕久久av| 欧美性大战久久久久xxx| 最新不卡av| 欧美成人一区二区在线| 91久久久久久久久久久| 欧美自拍大量在线观看| 欧美另类xxx| 一区二区三区精品99久久| 亚洲国产日韩一区| 日韩欧美国产一区二区在线播放| 欧美性videosxxxxx| 精品久久久久久国产| 亚洲精品日日夜夜| 亚洲精品免费在线| 亚洲欧美激情插| 亚洲欧美日韩中文字幕一区二区三区| 国产午夜精品一区二区三区视频| 91小视频在线观看| 26uuu精品一区二区| 99在线热播精品免费| 成人av电影在线观看| 国产suv精品一区二区三区| 久久99热国产| 国产精品一区专区| 成人激情校园春色| www.日韩大片| 国产婷婷色一区二区三区在线| 久久蜜臀中文字幕| 久久日韩精品一区二区五区| 久久久久综合网| 亚洲国产精品t66y| 性欧美video另类hd尤物| 免费视频观看成人| 日韩中文在线| 国产精品中文字幕制服诱惑| 成人h动漫精品一区二区器材| 99久久人爽人人添人人澡| 成人涩涩网站| 国产亚洲第一伦理第一区| 日韩欧美一区二区三区在线视频 | 黑人巨大精品欧美一区二区三区 | 精品一区二区精品| 国产乱国产乱300精品| 丁香亚洲综合激情啪啪综合| 99精品视频在线观看| 欧美国产欧美综合| 亚洲国产精品久久久久婷婷884| 精品久久久久久中文字幕| 精品视频一区二区三区免费| 精品少妇一区二区三区视频免付费 | 亚洲精品国产免费| 亚洲欧美www| 免费99精品国产自在在线| 午夜精品福利视频| 91精品国产综合久久香蕉最新版 | 国产第一页第二页| 国产日韩久久久| 好吊色视频一区二区| 亚洲精品乱码电影在线观看| 九色91蝌蚪| 嫩草影院2018| 五月天婷婷在线视频| 黄视频免费在线看| 一区二区亚洲视频| 成人av影视| 黄页网站在线播放| 精品美女在线观看视频在线观看| 涩涩网在线视频| 亚洲成人五区| 欧美高清不卡| 国产美女精品在线| 亚洲欧洲日本在线| 欧美日韩精品欧美日韩精品一| 亚洲精品按摩视频| 韩国三级日本三级少妇99| 91精品国产高清久久久久久91裸体 | 69成人在线| 亚洲我射av| 久久性感美女视频| 青草国产精品久久久久久| 国产亚洲精品精华液| 一本色道久久加勒比精品| 精品福利在线导航| 午夜精品久久久久久99热软件| 国产精品免费看一区二区三区 | 国产偷拍一区二区| 国产成a人亚洲精v品| 黄色污网站在线免费观看| 日韩另类在线| 全国精品免费看| 日韩有码一区二区三区| 久久女同互慰一区二区三区| 91久久人澡人人添人人爽欧美| 亚洲一区二区久久久| 国产精品一区久久久| 麻豆中文字幕在线观看| 91亚洲一线产区二线产区| 久久精品波多野结衣| 视频一区二区免费| 高清孕妇孕交╳╳交| 黑人极品ⅴideos精品欧美棵| 国产精品传媒| 日韩精品亚洲一区| 一区二区三区欧美视频| 日韩成人在线视频| 91精品视频在线播放| 成人午夜精品久久久久久久蜜臀| 黄色性生活一级片| 国产情侣激情自拍| 中文字幕人妻一区二区| www.国产一区二区| 夜夜夜操操操| 久久久久久国产精品免费无遮挡 | 黄色片视频在线观看| 996久久国产精品线观看| 国产精品jizz在线观看美国| 国产人久久人人人人爽| 精品国产伦一区二区三区观看体验| 日本久久久久久久久| 国产在线观看欧美| 日韩欧美视频免费观看| 亚洲 美腿 欧美 偷拍| 福利资源在线久| 国产一区二区三区精品在线观看| 久久久久国产精品午夜一区| 一区二区三区在线视频免费| 色诱女教师一区二区三区| 免费国产在线精品一区二区三区| 亚洲精品成人无码毛片| 国产影视一区二区| 97香蕉久久| 成人爽a毛片免费啪啪红桃视频| 激情综合亚洲精品| 5858s免费视频成人| 91欧美激情另类亚洲| 亚洲一区二区福利视频| 在线播放亚洲精品| 日韩男人天堂| 成人性生交大片免费看中文视频| 国产精品一区二区久激情瑜伽| 欧美人动与zoxxxx乱| 国产精品久久激情| 欧美精品性生活| 亚洲一线在线观看| 中文字幕在线视频免费观看| 成人性生交大片免费看中文视频 | 亚洲精品蜜桃乱晃| 99精品热6080yy久久| 欧美三级xxx| 国产精品video| 最新天堂中文在线| 亚洲国产精品国自产拍久久| 国产在线播放av| 日本在线电影一区二区三区| 1000精品久久久久久久久| 九九久久国产精品| 久久九九免费视频| 日本在线观看不卡| 中日韩一级黄色片| av小次郎收藏| 国产欧美自拍一区| 国产精品三级av在线播放| 久久天堂电影网| 免费看一级大黄情大片| 男操女视频网站| 天堂av在线播放| 图片区亚洲欧美小说区| 亚洲成人一区在线| 国产主播在线一区| ass精品国模裸体欣赏pics| 精品国产高清a毛片无毒不卡| 国产伦精品一区二区三区视频金莲| 国产精品2区| 久久精品亚洲精品国产欧美 | 久久久精品麻豆| 精品久久无码中文字幕| caopo在线| 日韩不卡一二三区| 欧美精品在线一区二区三区| 精品一区在线播放| 青青草手机在线观看| 激情视频免费| 91亚洲自偷观看高清| 色噜噜狠狠成人网p站| 国产一区二区高清不卡| 久久国产波多野结衣| 米奇在线777| 久久久久久美女精品| 欧美色国产精品| 欧美一区二区三区在线免费观看 | www黄色日本| 色综合久久久久久| 成人软件在线观看| 国产亚洲美州欧州综合国| 热99久久精品| www国产视频| 九色91蝌蚪| 国产成人精品一区二区免费看京 | 国产精品欧美一区二区| 黄色av片三级三级三级免费看| 色偷偷亚洲第一成人综合网址 | 欧美午夜精品电影| 亚洲成人第一| 久久av高潮av| 亚洲黄色片视频| 日韩一区二区三区免费视频| 国产精品私人影院| 亚洲精品www| 精品视频无码一区二区三区| 高清av中文在线字幕观看1| 精品176极品一区| 亚洲欧美激情插| 国产自产在线视频一区| 一二三区免费视频| 日本色护士高潮视频在线观看| 不卡一区二区中文字幕| 日韩免费黄色av| 成人高潮免费视频| 韩国中文字幕在线| 成人短视频下载 | 国产精品亚洲无码| 四虎激情影院| 欧美自拍视频| 777久久久精品| 亚洲 自拍 另类小说综合图区| 最近免费中文字幕大全免费第三页| 国产精品一区二区美女视频免费看| 亚洲综合图片区| 日韩av不卡播放| 动漫av一区二区三区| 免费欧美网站| 欧美视频自拍偷拍| 日本福利视频在线| 91激情视频| 影音先锋成人在线电影| 亚洲欧美国产另类| 黄色在线观看av| 色哟哟在线观看| 久久综合给合久久狠狠狠97色69| 国产精品视频入口| 国产小视频一区| 欧美日韩亚洲在线观看| 亚洲午夜未删减在线观看| 日本aaa视频| 成人免费网址| 亚洲福利视频导航| 国产午夜福利100集发布| www.色婷婷| 精品一区二区在线视频| 国产欧美日韩视频| 99久久婷婷国产一区二区三区| 六月丁香久久丫| 亚洲欧美变态国产另类| 我不卡一区二区| а√在线中文网新版地址在线| 亚洲va欧美va天堂v国产综合| 黄色免费观看视频网站| av免费播放| 成人动漫中文字幕| 五月天色一区| 女生裸体免费视频| 久久国产三级精品| 国产原创精品| 国产精品久久人| 免费观看一级特黄欧美大片| 91沈先生播放一区二区| 中文字幕人成高清视频| 国产黄在线看| 中文乱码免费一区二区| 波多野结衣 作品| 99re6在线视频| bt7086福利一区国产| 亚洲欧美日韩国产yyy| 污污美女网站| 老司机午夜精品视频| 成人黄色免费片| 蜜桃在线一区二区| 国产精品mv在线观看| 国产精品旅馆在线| 国产麻豆免费观看| 亚洲精品午夜| 精品国产一区二区三区不卡| 无码人妻一区二区三区精品视频| 日韩有码电影| 国产精品资源网| 亚洲啪啪av| 国产大奶在线| 国产一区二区三区久久久| 国产精品一二三在线| 久久不卡免费视频| av在线播放一区| 在线观看日韩av先锋影音电影院| 日韩精品xxx| 不卡在线视频| 色88888久久久久久影院按摩| 日本黄色三级大片| 男男做性免费视频网| 国产精品久久久久国产精品日日 | 中文字幕在线播放一区二区| av免费在线观看网站| 亚洲婷婷在线视频| 制服丝袜中文字幕第一页 | 国产偷国产偷亚洲清高网站| av网站有哪些| 男人亚洲天堂| 精品女同一区二区| 久久精品老司机| 国产精品igao视频网网址不卡日韩| 欧美久久婷婷综合色| 欧美美女性生活视频| 成人片免费看| 日韩小视频在线观看专区| 高h视频免费观看| 亚洲精品第一| 欧美丰满少妇xxxxx| 五月天激情国产综合婷婷婷| 色鬼7777久久| 色婷婷av一区| www.日本久久| 欧美在线va视频| 亚洲福利视频久久| 少妇的滋味中文字幕bd| 欧美色999| 亚洲第一视频网| 欧美日韩一级在线| 91在线免费观看| 亚洲欧洲美洲综合色网| 丝袜老师办公室里做好紧好爽| 高潮毛片在线观看| 欧美性xxxx| 美女网站色精品尤物极品姐弟| 色999国产精品| 亚洲国产古装精品网站| 一二三区免费视频| 日韩高清成人在线| 国产精品久久久久久久久久三级| 99久久久久久久| 老司机精品视频在线播放| 国产精品久久久久久久久久 | 日本一区二区三区四区| 久久视频免费在线| 欧美精品电影| 欧美午夜在线一二页| 国产亚洲自拍av| 五月天亚洲色图| 亚洲三级黄色在线观看| 亚洲精品国产精品乱码不卡|