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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 7528|回復: 3
打印 上一主題 下一主題
收起左側(cè)

密碼鎖的設(shè)計(4*4行列式鍵盤)含源代碼、原理圖

  [復制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
ID:283948 發(fā)表于 2018-2-13 14:11 | 只看該作者 |只看大圖 回帖獎勵 |倒序瀏覽 |閱讀模式
課上所做的行列式鍵盤的設(shè)計應(yīng)用--密碼鎖的設(shè)計
設(shè)計4*4的行列式鍵盤,輸入六位密碼后按確定鍵,當密碼正確時綠燈亮,當密碼錯誤時紅燈亮。
包含keil軟件書寫的源程序代碼、proteus繪制的電路原理圖以及整體文檔壓縮文件。




單片機源碼:
  1. #include<reg51.h>
  2. #include<intrins.h>
  3. #define uint unsigned int
  4. #define uchar unsigned char

  5. uchar code table[]={0x3f,0x06,0x5b,0x4f,
  6.                                         0x66,0x6d,0x7d,0x07,
  7.                                         0x7f,0x6f,0x08};
  8. uchar data dis_num[6]={2,4,6,7,8,0};
  9. uchar data in_num[6]={10,10,10,10,10,10};
  10. uchar num,num1;

  11. void key();
  12. void display();
  13. void delay(uint);
  14. void compare();
  15. void rst();

  16. sbit relay=P1^0;
  17. sbit L0=P3^0;
  18. sbit L1=P3^1;
  19. sbit L2=P3^2;
  20. sbit L3=P3^3;
  21. sbit C0=P3^4;
  22. sbit C1=P3^5;
  23. sbit C2=P3^6;
  24. sbit C3=P3^7;

  25. main()
  26. {
  27. while(1)
  28.         {
  29.         key();
  30.         if(num==10)           compare();

  31.         else if(num==11)    rst();

  32.         display();
  33.         }
  34. }

  35. void rst()
  36. {
  37. uchar x;
  38. for(x=0;x<6;x++) in_num[x]=10;
  39. num1=0;
  40. relay=1;
  41. }

  42. void compare()
  43. {
  44. uchar x,y=0;
  45. for(x=0;x<6;x++)
  46.         {
  47.         if(in_num[x]!=dis_num[x]) y++;
  48.         if(y!=0) break;
  49.         }
  50. if(y==0) relay=0;
  51. else rst();
  52. }

  53. void key()
  54. {
  55. P3=0x0f;
  56. if((P3&0x0f)!=0x0f)
  57.         {
  58.         delay(15);
  59.         if((P3&0x0f)!=0x0f)
  60.                 {

  61.                 if(L0==0)                 num=0;
  62.                 else if(L1==0)         num=1;
  63.                 else if(L2==0)         num=2;
  64.                 else num=3;        
  65.                
  66.                 P3=0xf0;
  67.                 if(C0==0)                 num=0+num*4;
  68.                 else if(C1==0)         num=1+num*4;
  69.                 else if(C2==0)         num=2+num*4;
  70.                 else num=3+num*4;
  71.                 P3=0x0f;
  72.                 while((P3&0X0f)!=0x0f);
  73.                 }
  74.         if(0<=num<9)
  75.                 {
  76.                 if(num1<6) in_num[num1++]=num;
  77.                 }
  78.         }
  79. }

  80. void display()
  81. {
  82. uchar i;
  83. P2=0xbf;
  84. for(i=0;i<6;i++)
  85.         {
  86.         P0=table[in_num[i]];
  87.         P2=_cror_(P2,1);
  88.         delay(1);
  89.         P0=0x00;
  90.         }
  91. }

  92. void delay(uint x)
  93. {
  94. uint a,b;
  95. for(a=x;a>0;a--)
  96.         for(b=110;b>0;b--);
  97. }        

復制代碼

全部資料51hei下載地址:
密碼鎖.zip (49.6 KB, 下載次數(shù): 94)



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

使用道具 舉報

沙發(fā)
ID:954263 發(fā)表于 2021-7-18 04:45 | 只看該作者
仿真是失敗的,可能是差了點東西
回復

使用道具 舉報

板凳
ID:328014 發(fā)表于 2021-7-20 04:27 | 只看該作者
本帖最后由 51hei團團 于 2021-7-20 04:44 編輯
2657575938 發(fā)表于 2021-7-18 04:45
仿真是失敗的,可能是差了點東西

我仿真成功了,輸入密碼 按ok后 綠燈亮了.. 你是不是密碼輸錯了,對了 要用Proteus7.5打開,看我錄制的gif

51hei.gif (142.78 KB, 下載次數(shù): 108)

51hei.gif
回復

使用道具 舉報

地板
ID:991030 發(fā)表于 2021-12-16 09:35 | 只看該作者
樓主可以給程序加上注解嗎,不是看的很懂
回復

使用道具 舉報

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

本版積分規(guī)則

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

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

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 国产无人区一区二区三区 | 久久亚洲一区二区 | 国产精品国产成人国产三级 | 色综合视频 | 日日噜噜夜夜爽爽狠狠 | 国产精品美女久久久久久免费 | 99久热在线精品视频观看 | 亚洲一区二区三区国产 | 欧美成人免费在线视频 | 日本不卡一二三 | 一级片网站视频 | 九九av| 亚洲一区二区视频在线播放 | 午夜在线观看视频 | 婷婷色国产偷v国产偷v小说 | 久久久噜噜噜久久中文字幕色伊伊 | 国产精品久久久久久久久久不蜜臀 | 午夜精品久久久久久久星辰影院 | www国产亚洲精品 | 精品国产女人 | 成人精品一区 | 日韩中文字幕区 | 午夜影视大全 | 成年女人免费v片 | 成人国产免费视频 | 91在线视频播放 | 午夜成人免费视频 | 性色视频在线观看 | 91视频久久 | 不卡一二区 | 网黄在线| av黄在线观看 | 精品久久久久国产免费第一页 | 久久久久久久久久久国产 | 日韩毛片 | 超级乱淫av片免费播放 | 午夜视频一区二区 | 欧美午夜精品理论片a级按摩 | 日韩精品在线看 | 国产精品区一区二 | 美女久久|