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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

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

基于51單片機電子密碼鎖,Proteus8.6仿真+程序keil5

[復制鏈接]
跳轉到指定樓層
樓主
ID:539024 發表于 2021-7-9 17:45 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
1、在鎖開的狀態下輸入密碼,設置的密碼共4位,矩陣鍵盤分別代表數字1290,輸入的密碼用數碼管顯示,最后輸入的密碼顯示在最右邊的數碼管上,即每輸入一位數,密碼在數碼管上的顯示左移一位。可刪除輸入的數字,刪除的是最后輸入的數字,每刪除一位,密碼在數碼管的顯示右移一位,并在左邊空出的位上補充“0”
2、用一位輸出電平的狀態代表鎖的開閉狀態,綠色發光管指示。
3、為保證密碼鎖主人能打開密碼鎖,設置一個萬能密碼(1111),在主人忘記密碼時使用。
初始密碼是1234;

仿真原理圖如下(proteus仿真工程文件可到本帖附件中下載)


單片機源程序如下:
  1. #include <reg52.h>
  2. #include <intrins.h>
  3. #include <stdio.h>

  4. typedef unsigned char uchar;
  5. typedef unsigned int  uint;

  6. sbit we1 = P2^0 ;
  7. sbit we2 = P2^1        ;
  8. sbit we3 = P2^2        ;
  9. sbit we4 = P2^3 ;

  10. sbit kai_s = P2^6;
  11. sbit guan_s = P2^7;
  12. sbit beep = P2^5;          //蜂鳴器
  13. uchar code table[]={0xc0,0xf9,0xa4,0xb0,
  14.                                         0x99,0x92,0x82,0xf8,
  15.                                         0x80,0x90,0x88,0x83,
  16.                                         0xc6,0xa1,0x86,0x8e};

  17. uchar anj=0,flag=0,mi=0;
  18. uchar temp,key;
  19. bit xiu=0;
  20. int anj1=0, mima = 1234,mima1=0;                  
  21. //延時子函數
  22. void delay1(uint z)
  23. {
  24.         uint x,y;
  25.         for(x=0;x<z;x++)
  26.                 for(y=0;y<110;y++);
  27. }
  28. void display1(int a)                        //顯示程序
  29. {
  30.         P0 = 0xff;
  31.         we1=1;
  32.         P0=table[a/1000];
  33.         delay1(5);
  34.         we1=0;

  35.         P0 = 0xff;
  36.         we2=1;
  37.         P0=table[a/100%10];
  38.     delay1(5);
  39.         we2=0 ;

  40.         P0=0xff;
  41.         we3=1;
  42.         P0=table[a/10%10];
  43.         delay1(5);
  44.         we3=0 ;

  45.         P0=0xff;
  46.         we4=1;
  47.         P0=table[a%10];
  48.         delay1(5);
  49.         we4=0 ;


  50. }
  51. void display2()
  52. {
  53.         P0 = 0xbf;
  54.         we1=1;
  55.         we2=1;
  56.         we3=1;
  57.         we4=1;

  58. }


  59. void anjian()
  60. {
  61.         if(key<10&&mi<4)
  62.          {
  63.                  if(xiu==0)
  64.                 {
  65.                         anj1 = anj1 * 10 + key;
  66.                         mi++;
  67.                 }
  68.                 if(xiu==1)
  69.                 {
  70.                         mima1 = mima1 * 10 + key;
  71.                         mi++;
  72.                 }
  73.           }
  74.     else if( key==13 && mi>0)          //退格
  75.             {
  76.                           if(xiu==0)
  77.                           {
  78.                                  anj1        = anj1/10;
  79.                              mi--;
  80.                          }
  81.                          else                                 //修改密碼
  82.                          {
  83.                                   mima1 = mima1/10;
  84.                                  mi--;
  85.                          }
  86.           }
  87.          else if(key==12)                     //確認
  88.          {
  89.                    if(anj1==1111 || anj1==mima)
  90.                           {
  91.                                 kai_s=1;
  92.                                 guan_s=0;
  93.                                 mi=0;
  94.                           }
  95.                         else
  96.                         {
  97.                                 beep=0;
  98.                                 delay1(100);
  99.                                 beep=1;
  100.                           delay1(100);
  101.                           beep=0;
  102.                                 delay1(100);
  103.                                 beep=1;
  104.                           delay1(100);
  105.                         }
  106.                         if(xiu==1)
  107.                         {
  108.                                 mima=mima1;
  109.                                 xiu=0;
  110.                                 kai_s=0;
  111.                                 guan_s=1;
  112.                                 anj1=0;
  113.                                 mi=0;
  114.                         }
  115.           }

  116.           else if( key==14)                    //關鎖
  117.           {
  118.                   kai_s=0;
  119.                 guan_s=1;
  120.                 anj1=0;
  121.                 mi=0;
  122.           }
  123.            else if( kai_s==1&&key==16)                    //修改密碼
  124.           {
  125.                         xiu = 1;

  126.           }
  127. }


  128. /**************************矩陣鍵盤函數*********/
  129. //矩陣按鍵掃描子函數
  130. uchar keyscan()
  131. {
  132.         key=0xff;
  133.         P1=0xfe; //將第一行線置低電平
  134.         temp=P1;//讀JPJK的當前狀態到 temp
  135.         temp&=0xf0;// temp = temp & 0xf0 按位與
  136.         if(temp!=0xf0)
  137.         {
  138.                 delay1(10);//延時去抖
  139.                 temp=P1;
  140.                 temp&=0xf0;
  141.           if(temp!=0xf0)//第一行有鍵被按下
  142.                 {
  143.                         temp=P1;//讀被按下的鍵
  144.                         switch(temp)
  145.                         {
  146.                                 case 0xee:         key=1;
  147.                                                         break;
  148.                                 case 0xde:         key=2;
  149.                                                         break;
  150.                                 case 0xbe:         key=3;
  151.                                                         break;
  152.                                 case 0x7e:         key=100;   //顯示密碼
  153.                                                         break;
  154.                         }
  155.                         while(temp!=0xf0)//等待按鍵釋放
  156.                         {
  157.                                 temp=P1;
  158.                                 temp&=0xf0;
  159.                        
  160.                         }
  161.                         if(key==100)    //顯示密碼
  162.                         {
  163.                                 flag++;
  164.                                 if(flag==2)flag=0;
  165.                         }
  166.                         anjian();
  167.                 }
  168.         }
  169.         P1=0xfd; //將第二行線置低電平
  170.         temp=P1;//讀JPJK的當前狀態到 temp
  171.         temp&=0xf0;// temp = temp & 0xf0
  172.         if(temp!=0xf0)
  173.         {
  174.                 delay1(10);//延時去抖
  175.                 temp=P1;
  176.                 temp&=0xf0;
  177.           if(temp!=0xf0)//第二行有鍵被按下
  178.                 {
  179.                         temp=P1;//讀被按下的鍵
  180.                         switch(temp)
  181.                         {
  182.                                 case 0xed:         key=4;
  183.                                                         break;
  184.                                 case 0xdd:         key=5;
  185.                                                         break;
  186.                                 case 0xbd:         key=6;
  187.                                                         break;
  188.                                 case 0x7d:         key=16;           //修改密碼
  189.                                                         break;
  190.                         }
  191.                         while(temp!=0xf0)//等待按鍵釋放
  192.                         {
  193.                                 temp=P1;
  194.                                 temp&=0xf0;
  195.                        
  196.                         }
  197.                         anjian();
  198.                 }
  199.         }
  200.         P1=0xfb; //將第 三行線置低電平
  201.         temp=P1;//讀JPJK的當前狀態到 temp
  202.         temp&=0xf0;// temp = temp & 0xf0
  203.         if(temp!=0xf0)
  204.         {
  205.                 delay1(10);//延時去抖
  206.                 temp=P1;
  207.                 temp&=0xf0;
  208.           if(temp!=0xf0)//第三行有鍵被按下
  209.                 {
  210.                         temp=P1;//讀被按下的鍵
  211.                         switch(temp)
  212.                         {
  213.                                 case 0xeb:         key=7;
  214.                                                         break;
  215.                                 case 0xdb:         key=8;
  216.                                                         break;
  217.                                 case 0xbb:         key=9;
  218.                                                         break;
  219.                                 case 0x7b:         key=12;  //確認
  220.                                                         break;
  221.                         }
  222.                         while(temp!=0xf0)//等待按鍵釋放
  223.                         {
  224.                                 temp=P1;
  225.                                 temp&=0xf0;
  226.                                
  227.                         }
  228.                     anjian();
  229.                 }
  230.         }
  231.         P1=0xf7; //將第四行線置低電平
  232.         temp=P1;//讀JPJK的當前狀態到 temp
  233.         temp&=0xf0;// temp = temp & 0xf0
  234.         if(temp!=0xf0)
  235.         {
  236.                 delay1(10);//延時去抖
  237.                 temp=P1;
  238.                 temp&=0xf0;
  239.           if(temp!=0xf0)//第四行有鍵被按下
  240.                 {
  241.                         temp=P1;//讀被按下的鍵
  242.                         switch(temp)
  243.                         {
  244.                                 case 0xe7:         key=10;         //空建
  245.                                                         break;
  246.                                 case 0xd7:         key=0;
  247.                                                         break;
  248.                                 case 0xb7:         key=13;        //退格
  249.                                                         break;
  250.                                 case 0x77:         key=14;         //關鎖
  251.                                                         break;
  252.                         }
  253.                         while(temp!=0xf0)//等待按鍵釋放
  254.                         {
  255.                                 temp=P1;
  256.                                 temp&=0xf0;
  257.                        
  258.                         }
  259.                    anjian();
  260.                 }
  261.         }
  262.            return key; //返回按下的鍵
  263. }

  264. /*********************************END OF LINE***************************/
  265. //主函數
  266. void main()
  267. {         
  268.         kai_s=0;   
  269.   guan_s=1;
  270.         while(1)
  271.         {
  272.                   keyscan();    //按鍵掃描
  273.                  if(flag&&xiu==0) display1(anj1);   
  274.                  else if(flag&&xiu==1)        display1(mima1);
  275.                  else          display2();
  276.         }
  277. }
復制代碼

仿真程序資料51hei提供下載:
電子密碼鎖.zip (125.84 KB, 下載次數: 145)


評分

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

查看全部評分

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

使用道具 舉報

沙發
ID:995326 發表于 2021-12-23 21:34 | 只看該作者
如果加輸入正確顯示pass 錯誤顯示err怎么弄
回復

使用道具 舉報

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

本版積分規則

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

Powered by 單片機教程網

快速回復 返回頂部 返回列表
日韩精品资源二区在线| 色婷婷综合久久久久中文一区二区 | 日韩一区二区电影在线| 最新高清无码专区| 成人高潮a毛片免费观看网站| 成人av一区| 国产99久久九九精品无码免费| 亚洲一区二区三区午夜| 中文字幕在线不卡一区| 国产一区二区三区久久久久久久久| eeuss国产一区二区三区四区| 欧美xxxx网站| 日本乱理伦在线| 免费观看成年在线视频网站| 天天色综合6| 国产一卡二卡3卡4卡四卡在线| 国产视频www| 免费黄色网址在线| 朝桐光av在线| 欧美色图亚洲激情 | 91popny丨九色丨国产| 亚洲videos| 国产精品一二三四五区| 毛片视频网站在线观看| 亚洲精品电影院| 国产呦小j女精品视频| 男人天堂av电影| 性欧美18—19sex性高清| 亚洲黄色av网址| 又粗又黑又大的吊av| 中文字幕一区二区三区5566| 国产一区二区在线观看免费播放| 国产成人精品视| 国内自拍欧美激情| 精品国产一区二区三区久久狼5月| 亚洲国产精品va在线看黑人动漫| 8x8x8国产精品| 91国模大尺度私拍在线视频| 岛国av一区二区在线在线观看| 中文字幕一区二区三中文字幕| 亚洲日本电影在线| 国产精品萝li| 中文字幕av一区二区三区高| 久久婷婷国产综合精品青草| 成人18精品视频| 粉嫩一区二区三区性色av| 国内精品第一页| 激情综合五月婷婷| 久久精品一区二区三区不卡牛牛| av电影在线观看不卡 | 欧美裸体bbwbbwbbw| 亚洲www啪成人一区二区麻豆| 亚洲三级电影网站| 色婷婷综合久久久久中文| 精品99久久久久久| 日韩电影中文字幕av| 亚洲а∨天堂久久精品9966 | 亚洲欧美日本国产| 国产精品久久久久久模特| 91国产视频在线播放| 亚洲少妇中文在线| 亚洲精品一二三区区别| 国产精品一区二区精品视频观看| 调教一区二区| av男人天堂网| 男女爱爱福利视频| 免费永久在线观看黄网| 五月婷在线视频| 丁香六月天婷婷| 亚洲 国产 欧美 日韩| 国产短剧电视剧免费观看| 色多多视频网站| 人人天天夜夜| 137大胆人体在线观看| 欧美一区二区三区在线观看免费| 91在线直播| 婷婷激情一区| 日韩精品久久久久久久软件91| 亚洲国产天堂网精品网站| 成人免费视频播放| 日韩主播视频在线| 午夜精品久久久久久久四虎美女版| 91嫩草国产线观看亚洲一区二区 | kk眼镜猥琐国模调教系列一区二区| 久久成人免费电影| 亚洲精品极品| 一区二区三区网站| 亚洲丝袜啪啪| 久久综合给合| 天堂资源在线| 麻豆蜜桃在线| 日本亚洲精品| 黄色大片在线免费观看| 噼里啪啦在线中文观看| 国产bdsm| 波多野吉衣av| 黄色成人av| 免费一级在线观看| 亚洲男同gay网站| 午夜影院一区| 亚洲国产视频二区| 久久中文字幕av一区二区不卡| 亚州综合一区| 成人爽a毛片| 精品国产一级毛片| 日韩美女毛片| 一区二区电影在线观看| 美女久久一区| 秋霞av亚洲一区二区三| 久久精品123| 国产黑丝在线一区二区三区| 久久福利视频一区二区| 99r国产精品| 99精品视频一区| 亚洲欧美偷拍三级| 欧美日韩一区二区三区在线| 看片网站欧美日韩| 在线观看的日韩av| 欧美三级黄美女| 自拍偷拍欧美| 久久99热狠狠色一区二区| 久久久久久影视| 一本色道亚洲精品aⅴ| 亚洲激情视频网| 欧美床上激情在线观看| xxx一区二区| 国产精品福利久久久| 国产精品av网站| 久久精品日产第一区二区三区精品版 | 日本大片在线看黄a∨免费| 欧美在线中文| 国产欧美日本亚洲精品一4区| 先锋av在线资源| 日日噜噜噜夜夜爽爽狠狠| 久久国产高清视频| 国产一区在线观看免费| 日韩中文字幕高清| 国产剧情久久久| 91在线国产剧情| 四虎最新地址发布| 最新中文在线视频| 快射视频在线观看| 新版的欧美在线视频| 久久男人av| 国产精品99在线观看| 麻豆国产精品一区二区三区| 亚洲天堂免费看| 亚洲精品美女久久| 国产一区在线播放| 国产精品v欧美精品v日韩| 明星裸体视频一区二区| 亚洲一区二区三区午夜| 男人网站在线观看| 波多野结衣日韩| 嫩草嫩草嫩草嫩草嫩草| 蜜桃视频在线观看www社区 | 亚洲欧美乱综合| 亚洲成av人影院| 欧美日韩精品系列| 亚洲人午夜精品免费| 成人日韩在线电影| 亚洲国产一区二区三区在线播| av免费看网址| 国产视频精品视频| 中文字幕一区二区在线视频 | 一区二区三区无毛| 国产精品美女| 亚洲福利一区二区| 久久亚洲国产精品成人av秋霞| 日本成人激情视频| 国产乱码精品一区二区三区卡| 日本免费一区二区三区| 草草久久久无码国产专区| 69xxx免费| 中文精品久久久久人妻不卡| 亚洲小说图片区| 啊啊啊啊啊啊啊视频在线播放| 345成人影院| 黄在线免费看| 全球av集中精品导航福利| 亚洲深夜激情| 亚洲国产中文字幕在线视频综合 | 成人白浆超碰人人人人| 日韩丝袜美女视频| 99久久国产免费免费| 毛片在线视频播放| 99久久人妻无码中文字幕系列| 18精品爽视频在线观看| 动漫av一区二区三区| 中文字幕在线中文字幕二区| 国产精品成人自拍| 日本视频一区二区| 在线观看欧美精品| 久久久在线视频| 男人添女荫道口图片| 日本少妇在线观看| 欧美乱妇18p| 久久精品蜜桃| 日韩精品一区二区久久| 成人午夜在线视频| 免费一级欧美片在线观看| 久久综合九色综合欧美98| 日韩av在线高清| 欧美日韩三区四区| av电影在线播放| 97国产成人无码精品久久久| 大陆一级毛片免费观看| 中文字幕在线观看网站| 成人黄色小视频| 不卡电影免费在线播放一区| 日韩精品视频在线免费观看| 亚洲精品视频一区二区三区| 久草视频免费在线| 国产伊人网av.| 伊人色综合一区二区三区影院视频 | 亚洲视频在线一区二区| 欧美激情一二三| 亚洲欧美日韩精品在线| 国产女人被狂躁到高潮小说| 欧美xxxx性猛交bbbb| 日韩性xxx| 国产成人精品1024| 中文字幕成人精品久久不卡| 日韩精品大片| 久久精品无码一区| 四虎影院影音| 91麻豆国产福利在线观看宅福利| 亚洲精品四区| 精品少妇一区二区三区日产乱码 | 欧美第一黄色网| 在线观看日本一区| 欧美精品一二三四区| www浪潮av99com| 欧美日韩一区二区三区四区不卡 | 狂野欧美性猛交xxxx乱大交| av网址在线免费观看| 五月天久久久| 欧美亚洲免费在线一区| 国产精品劲爆视频| 少妇一级淫片免费放播放| 亚洲日本电影| a级毛片免费| 精品国产91久久久久久浪潮蜜月| 精品久久久国产| 国产精品丝袜高跟| 涩多多在线观看| 男人天堂手机在线观看| 1pondo在线播放免费| 久久看片网站| 国产亚洲精品久久久久久牛牛| 日本一区视频在线观看免费| 日韩在线 中文字幕| 日本三级在线视频| 国产激情精品久久久第一区二区| 久久亚洲精品一区二区| 亚洲图片欧美另类| 羞羞网站在线观看入口免费| 亚洲午夜黄色| 欧美日韩精品电影| 欧美 国产 精品| 无码人妻丰满熟妇区五十路| 91骚色在线| 曰本一区二区三区视频| 欧美视频在线一区二区三区| 中文字幕一区二区三区四区五区人| 日本高清不卡三区| 国产精品99精品| 传媒视频在线| 婷婷综合视频| 亚洲福利视频专区| 日本人69视频| 最好看更新中文字幕| 中文字幕视频精品一区二区三区| 精品久久久免费| 精品一区二区成人免费视频 | 三级黄色录像视频| 国产福利在线视频| 国产欧美不卡| 另类视频在线观看| 少妇久久久久久久久久| 天堂av网在线| 欧美亚洲一级| 亚洲福利小视频| 亚洲涩涩在线观看| 欧美亚洲另类在线观看| 亚洲男人都懂第一日本| 日韩女优av电影在线观看| 国产喷水theporn| 国产香蕉成人综合精品视频| 成人久久综合| 在线国产精品播放| 夜夜夜夜夜夜操| 草裙成人精品一区二区三区| 美国一区二区三区在线播放 | 麻豆av免费观看| 成年女人的天堂在线| 国产三级三级三级精品8ⅰ区| 国自在线精品视频| 青青草手机在线视频| 欧美极品videos大乳护士| 久久亚洲一区二区三区明星换脸| 91精品在线一区| 97免费在线观看视频| 欧美激情黑人| 中文字幕在线不卡| 欧美h视频在线观看| 91网站免费| 日韩制服丝袜av| 成人免费视频网址| 亚洲AV无码乱码国产精品牛牛| 成人看片网站| 艳妇臀荡乳欲伦亚洲一区| 久久久精品国产一区二区三区| 亚洲精品免费在线观看视频| 国产成人精品免费视| 欧美videossex极品| 一级毛片久久久| 亚洲高清色综合| 日韩av女优在线观看| 精品一区不卡| 国产精品视频1区| 蜜臀久久精品久久久久| 国产精品亚洲综合久久| 精品高清视频| 麻豆91免费| 不卡的电视剧免费网站有什么| 久久国产午夜精品理论片最新版本| 激情亚洲色图| 亚洲欧美激情小说另类| 韩国一区二区三区四区| 1769视频在线播放免费观看| 欧美日韩久久久| 国产小视频在线观看免费| 欧美日韩精品一区二区视频| 国产精品视频专区| 最新一本之道波多野结衣| 久久蜜桃香蕉精品一区二区三区| 999精品视频在线| 国产一二三在线| 91麻豆精品国产91久久久久久 | 国内自拍视频在线看免费观看| 久久综合久久综合亚洲| 网站一区二区三区| 最近在线中文字幕| 精品国产一区二区三区久久久狼| 亚洲欧美黄色片| 国产成人精品一区二区三区四区 | 国产成人久久| 成人看片在线| 拍拍拍999自拍偷| 色一区在线观看| 亚洲精品午夜久久久久久久| 日韩一级毛片| 国产超碰91| 免费网站www在线观看| 成人动漫一区二区三区| 欧美日韩在线成人| 色视频在线看| 午夜精品福利一区二区三区av | 偷拍一区二区三区| 92福利视频午夜1000合集在线观看| 亚洲成人黄色片| 欧美aaaaaa午夜精品| 国产av人人夜夜澡人人爽麻豆 | 国产视频三级在线观看播放| 欧美日韩精品一区二区天天拍小说 | 玖玖在线免费视频| 欧美精品三级在线观看| 国产污视频网站| 美腿丝袜亚洲综合| 中文字幕国产传媒| 国产高清日韩| 91视频-88av| 少妇**av毛片在线看| 91精品国产综合久久小美女| 伊人22222| 国产二区国产一区在线观看| 午夜免费一级片| 日韩激情毛片| 欧美日韩精品不卡| www国产在线观看| 欧美第一淫aaasss性| 免费下载黄色软件| 色94色欧美sute亚洲13| 成人一级免费视频| 岛国精品在线播放| 在线免费看黄色片| 日韩精品水蜜桃| 免费看av软件| 国产精品极品美女在线观看| 国产成人精品视频在线| 中文字幕一区二区三区域| 亚洲国产成人精品一区二区| 色婷婷激情五月| 激情五月婷婷综合网| 亚洲色图偷拍视频| 一呦二呦三呦国产精品| 亚洲ai欧洲av| 91sp网站在线观看入口| 精品久久久91|