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

標題: 簡易數字密碼鎖proteus仿真+單片機源代碼 [打印本頁]

作者: 我心II永恒    時間: 2017-12-14 11:42
標題: 簡易數字密碼鎖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)





作者: 丨Star    時間: 2017-12-14 23:09
我是新手,不太明白為什么那些按鍵可以不用和別的元件連接起來?
作者: 我心II永恒    時間: 2017-12-15 15:30
丨Star 發表于 2017-12-14 23:09
我是新手,不太明白為什么那些按鍵可以不用和別的元件連接起來?

按鍵是和單片機連接的,用連接線標號模式連的,這樣看起來能夠簡潔一點。
作者: sukichang    時間: 2019-11-28 22:35
打不開啊
作者: jamtio    時間: 2019-12-8 12:48
66666厲害了
作者: 李總不    時間: 2019-12-11 10:55
sukichang 發表于 2019-11-28 22:35
打不開啊

能不能發一份資料
作者: 113265    時間: 2019-12-16 15:58
好想做一個試試
作者: Rainson    時間: 2020-6-19 13:19
作者 你好 你這個仿真是在幾點幾版本上畫的啊?
作者: RHQL    時間: 2020-6-22 07:50
這個打不開啊,proteus和keil版本是不是太低了
作者: chenandli    時間: 2023-6-7 11:00
這個怎么改密碼欸




歡迎光臨 (http://m.izizhuan.cn/bbs/) Powered by Discuz! X3.1
久久久久一区二区三区四区| 女人18毛片水真多18精品| 亚洲成人一级片| 国产一级黄色电影| 超免费在线视频| 97视频热人人精品免费| 久久综合视频网| 精品美女一区二区| 国产成一区二区| 欧美一级视频免费看| 国产精品久久久免费看| 久草在线最新视频| av亚洲在线| 欧美中文字幕一区二区| 91麻豆国产精品久久| 亚洲精品乱码久久久久久金桔影视 | 在线免费观看一区二区| 天天干天天爽| 成人国产网站| 人人精品人人爱| 欧美亚洲日本国产| 国产成人精品av| 动漫av免费观看| 亚洲欧美自拍视频| 丁香综合五月| 高清一区二区三区av| 国内成+人亚洲+欧美+综合在线| 欧美怡红院视频| 国产在线视频91| 日本特黄在线观看| 亚洲精品成av人片天堂无码| 成a人片在线观看www视频| 日韩国产欧美| 亚洲女人的天堂| 992tv在线成人免费观看| 欧美一级高清免费| 色一情一乱一乱一区91| 久操免费在线视频| 能看av的网址| 中文字幕一区二区三区四区久久| 福利电影一区二区| 亚洲视频在线看| 看全色黄大色大片| 国产精品视频免费播放| 成人在线观看视频app| 中国av一区| 亚洲欧美怡红院| 国模gogo一区二区大胆私拍| av免费网站观看| www.日本在线观看| 成年人网站在线| 日日嗨av一区二区三区四区| 欧美一二三四区在线| 精品国产乱码久久久久久丨区2区 精品国产乱码久久久久久蜜柚 | 亚洲日本香蕉视频| 在线观看的网站你懂的| 亚洲影院免费| 日韩午夜激情视频| 日本欧美色综合网站免费| 国产精品免费人成网站酒店| av在线你懂的| 亚洲区小说区| 亚洲午夜久久久| 91免费的视频在线播放| 精品无码在线视频| 五月天丁香在线| 一本一道久久a久久| 国产欧美一二三区| 欧美在线播放视频| 免费黄色三级网站| 人人影院免费大片| 日本中文字幕在线一区| 亚洲国产欧美在线| 亚洲综合中文字幕在线| 欧美视频1区| 国产一级一片免费播放| 亚洲美女在线免费观看| 97精品一区| 欧美三级视频在线观看| 欧美一区二区视频在线| 影音先锋在线国产| 老司机在线看片网av| 美女看a上一区| 在线视频亚洲欧美| 污网站免费在线| 欧美午夜春性猛交xxxx| 成人免费91| 亚洲日本va在线观看| 91精品久久久久久久久久入口| 欧美图片第一页| 五月天电影免费在线观看一区| 成人中文视频| 91精品国产免费久久综合| 中文字幕在线亚洲精品| 国产男女裸体做爰爽爽| 自拍偷拍亚洲视频| 国产清纯白嫩初高生在线观看91 | 日日鲁鲁鲁夜夜爽爽狠狠视频97| 国产极品久久久| 欧美精品高清| 国产精品欧美久久久久无广告| 国产精品久久久久久久久久尿| 国产毛片欧美毛片久久久| 99re6热在线精品视频播放| 亚洲精品色图| 亚洲视频专区在线| 国产大学生av| 国产网红在线| 免费国产自线拍一欧美视频| 在线观看久久av| 亚洲成人av免费观看| 国产成人在线观看网站| 飘雪影视在线观看免费观看| 久久成人综合网| 午夜精品www| 操她视频在线观看| 国产理论电影在线观看| 国产精品一级片| 欧美专区在线视频| 中文字幕在线观看成人| 好吊日视频在线观看| 91视频国产观看| 亚洲一区亚洲二区| 波多野结衣不卡| 日韩高清在线| 婷婷激情综合网| 日韩精品第1页| 蝴蝶中文综合娱乐网| 欧美有码在线| 精品欧美一区二区在线观看| 青青草原国产在线视频| eeuss影院www在线观看手机| 亚洲福利久久| 色综合久久悠悠| 免费一级suv好看的国产网站| 一区二区高清不卡| 国产三级一区二区三区| 狼狼综合久久久久综合网| 黄色小视频免费观看| 丝袜连裤袜欧美激情日韩| 精品日产卡一卡二卡麻豆| 手机在线观看日韩av| 久艹在线视频| 不卡一二三区首页| 成人18视频| 亚洲黄色在线观看视频| 人人香蕉久久| 日韩精品在线视频美女| 国产国语性生话播放| www.av在线| 国产精品素人一区二区| 日韩欧美电影一区二区| 亚洲国产精品久久久久婷婷软件| 成人激情免费视频| 最近日韩中文字幕中文| 天美传媒免费在线观看| 免费污视频在线| 亚洲国产视频一区二区| 黄色一级片黄色| 51精品免费网站| 超碰在线中文字幕| 欧美视频免费在线| 热99这里只有精品| av资源在线看| 国产一区免费电影| 成人区精品一区二区| 免费观看黄色av| 欧美激情欧美| 久久久综合av| 中文字幕精品无码一区二区| 欧美一级片网址| 亚洲国产精品va在线看黑人| 国产吞精囗交久久久| 97caopron在线视频| 亚洲成a人在线观看| 黄色a级片免费| 又黄又爽无遮挡| 国产午夜亚洲精品理论片色戒| 亚洲一区二区高清视频| 深夜福利小视频| 精品在线一区二区三区| 国产乱码精品一区二区三区日韩精品 | 色天使综合视频| 欧美顶级少妇做爰| 一区二区免费在线观看视频| 亚洲区欧洲区| 在线看日本不卡| 逼特逼视频在线观看| a级网站在线播放| 日韩在线观看免| 黄网站免费在线播放| 国产一区二区小视频| 污污网站在线免费观看| 欧美xxxx中国| 97国产一区二区精品久久呦| 亚洲中文无码av在线| 欧美成人一区在线观看| 日韩在线观看视频免费| 久久久91视频| 97久久综合区小说区图片区| 国产亚洲精品美女久久久| 欧美成人黄色网| 涩爱av色老久久精品偷偷鲁| 亚洲最新av网址| 日本三级网站在线观看| 一区二区中文字幕在线观看| 国产午夜精品视频| 国产欧美日韩另类| 林ゆな中文字幕一区二区| 久久精品视频va| 亚洲欧美一二三区| 久久视频精品| 国产精品欧美激情在线播放| 久久久久久国产精品无码| √天堂8在线网| 欧美日韩国产另类一区| 欧美 日韩 成人| 国精品产品一区| 亚洲天堂av在线免费| 五月婷婷激情网| 精品国产一区二区三区久久久樱花| 欧美精品videossex性护士| 国产精品老熟女视频一区二区| 亚洲激情五月| 亚洲在线视频观看| xxx国产hd| av一区二区三区黑人| 日韩欧美国产综合在线| 欧美色18zzzzxxxxx| 天天爽夜夜爽夜夜爽精品视频| 国产精品99久久久精品无码| 亚洲国产欧美日本视频| 日韩大陆欧美高清视频区| 999这里只有精品| 日韩国产欧美一区二区| 成人激情免费在线| 国产精品入口麻豆完整版| a亚洲天堂av| 久久综合久久色| 色女人在线视频| 亚洲成**性毛茸茸| 九九精品免费视频| 亚洲色图88| 国产成人精品日本亚洲11| 免费人成福利播放| 国产精品私房写真福利视频| 亚洲欧美日韩中文字幕在线观看| 345成人影院| 日韩最新免费不卡| 亚洲欧美另类日韩| 久久成人综合网| 久久黄色片视频| 黄网av在线| 亚洲天堂一区二区三区| 一区二区三区午夜| 鲁大师成人一区二区三区| 亚洲图片在线观看| 欧美日本网站| 欧美一区二区三区视频在线观看| 国产大片aaa| 国语对白精品一区二区| 日韩欧美精品一区二区| 青青草在线视频免费观看| 欧美日韩精品电影| 黄色激情视频在线观看| 欧美区亚洲区| 亚洲国产一区二区在线| 触手亚洲一区二区三区| 粉嫩欧美一区二区三区高清影视| 欧美日韩激情视频在线观看| av伦理在线| 久久在线免费视频| 四虎影在永久在线观看| 久久久久久久综合狠狠综合| 亚洲精品乱码久久久久久9色| 久久久久久亚洲精品美女| 国产精品第七影院| 天天夜夜人人| 在线视频欧美精品| 天堂网av手机版| 日韩高清一级片| 欧美牲交a欧美牲交| 第84页国产精品| 欧美精品videosex牲欧美| 99久久99热久久精品免费看| 亚洲欧美一区二区在线观看| 国产综合精品久久久久成人av| 精品国产精品| 日韩av电影免费观看| 午夜毛片在线| 自拍亚洲一区欧美另类| 亚洲欧美天堂| 中文字幕日本乱码精品影院| av女人的天堂| 99re66热这里只有精品8| 亚洲a∨一区二区三区| 国产成人在线视频免费观看| 色噜噜久久综合伊人一本| 免费在线观看国产黄| 亚洲精品视频免费看| 久久久久亚洲av无码专区体验| 中日韩男男gay无套| a在线视频观看| 亚洲伦理久久| 91九色视频在线| 午夜成人影视| 国产一区二区动漫| 国产网站免费看| 狠狠爱在线视频一区| 亚洲国产成人精品女人久久| 国产一区二区三区四区五区入口| 91精品国产三级| 精品国产乱码| 欧美日韩一级在线| 女厕盗摄一区二区三区| 日本欧美精品在线| 宅男深夜免费观看视频| 亚洲精品99久久久久中文字幕| 亚洲视频色图| 一区二区三区四区亚洲| 免费在线不卡视频| 国产成人a级片| 人妻少妇一区二区| 亚洲人成人一区二区三区| 日本wwww视频| 国产精品主播在线观看| 日韩高清av| 成人国产二区| 4444kk亚洲人成电影在线| √天堂资源地址在线官网| 欧美激情精品久久久久久大尺度| h版电影在线播放视频网站 | 老熟妇一区二区| 亚洲日本视频| 欧美wwwwwww| 成人精品影视| 日本在线xxx| 玖玖精品一区| 三区精品视频观看| 欧美精品高清| 精品久久一区二区三区蜜桃| 台湾佬成人中文网222vvv| 亚洲色图一区二区| 国产又黄又爽又色| av电影一区二区| 国产美女网站视频| 美女视频一区二区三区| 朝桐光av一区二区三区| 日韩午夜黄色| 中文字幕在线观看视频www| 国产精品精品| 亚洲 中文字幕 日韩 无码| 日韩av网址大全| 野外做受又硬又粗又大视频√| 成人偷拍自拍| 台湾无码一区二区| 老司机凹凸av亚洲导航| 97中文字幕在线| 欧美激情极品| 99在线免费视频观看| 日韩av不卡一区| 中国丰满人妻videoshd| 视频国产一区| 久久综合久久色| 久久精品欧美一区| 五月天婷婷亚洲| 亚洲一级一区| 丰满岳乱妇一区二区| 午夜一级久久| 全黄一级裸体片| 久久精品国产亚洲a| 女人黄色一级片| 国产精品自拍在线| 国产高潮流白浆| 99re这里只有精品视频首页| 国产无遮挡免费视频| 久久综合久久99| 精品久久久久久久久久久久久久久久| 国产精品污污网站在线观看| 国产精品无码一区| 亚洲一区二区三区自拍| 开心激情综合网| 欧美日韩在线一区二区| 国产色在线播放| 精品视频—区二区三区免费| 天天爽夜夜爽| 久久视频在线直播| 天堂а√在线8种子蜜桃视频 | 国产欧美在线一区二区| 成人在线爆射| 亚洲精品久久久久久一区二区| 午夜精品在线| 无码精品a∨在线观看中文| 91亚洲国产高清| 老熟女高潮一区二区三区| 日韩av不卡一区二区| 国产suv一区二区三区| 国产欧美在线观看一区| 国产毛片毛片毛片毛片| 色琪琪一区二区三区亚洲区|