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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

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

單片機1602密碼鎖程序仿真 源碼及論文

[復制鏈接]
跳轉到指定樓層
樓主
單片機1602密碼鎖程序仿真

目 錄
第1節 引言…………………………………………………………………………1
    1.1  電子密碼鎖述……………………………………………………………1
    1.2  本設計主要任務…………………………………………………………1
    1.3  系統主要功能……………………………………………………………2
第2節 系統硬件設計………………………………………………………………3
2.1  系統的硬件構成及功能 …………………………………………………3
2.2  AT89C2051單片機及其引腳說明………………………………………3
第3節 系統軟件設計………………………………………………………………5
3.1  系統主程序設計(流程圖)……………………………………………5
3.2  軟件設計思想……………………………………………………………5
3.3  儲單元的分配……………………………………………………………5
3.4  系統源程序………………………………………………………………6
3.5  系統應用說明……………………………………………………………9
3.6  小結………………………………………………………………………9
結束語……………………………………………………………………10
參考文獻 ………………………………………………………………………11
附錄 ……………………………………………………………………………12

本設計主要任務
(1)共8位密碼,每位的取值范圍為1~8。
(2)用戶可以自行設定和修改密碼。
(3)按每個密碼鍵時都有聲、光提示。
(4)若鍵入的8位開鎖密碼不完全正確,則報警5秒鐘,以提醒他人注意。
(5)開鎖密碼錯3次要報警10分鐘,報警期間輸入密碼無效,以防竊賊多次試探密碼。
(6)鍵入的8位開鎖密碼完全正確才能開鎖,開鎖時要有1秒的提示音。
(7)密碼鍵盤上只允許有8個密碼按鍵和1個發光管。鎖內有備用電池,只有內部上電復位時才能設置或修改密碼,因此,僅在門外按鍵是不能修改或設置密碼的。
(8)密碼設定完畢后要有2秒的提示音。
     以上是初步設定的電子密碼鎖的主要功能。

單片機源程序如下:
  1. #include"reg51.h"
  2. #include"key.h"
  3. #include"lcd.h"
  4. uchar code show_0[]="Please input the password:";
  5. uchar code show_1[]="The mima is:" ;
  6. uchar code show_2[]="********";
  7. uchar code show_3[]="The password is wrong!";
  8. uchar code show_4[]="This is delay 5s";
  9. uchar code show_5[]="Please zai shu yici!";
  10. uchar code show_6[]="you are right!";
  11. uchar code show_7[]="Please input the new mima:";
  12. uchar code show_8[]="Input it again!";
  13. uchar code show_9[]="Establishes successful! ";
  14. uchar code show_10[]="(^_^)";
  15. uchar code show_11[]="shuru guanliyuan mima";
  16. uchar code show_12[]="chao shi baojing";

  17. sbit baojing                        = P1^1;       
  18. sbit jidianqi=P1^0;
  19. int k;
  20. //蜂鳴器
  21. void beep()                //????????
  22. {   uchar  i;
  23.   for(i=0;i<10;i++)
  24.         {
  25.        
  26.                 delay(10);           //??10??
  27.                 baojing =! baojing;
  28.                 delay(10);           //??10??
  29.         }   
  30. }
  31.        
  32.        
  33. void play(uchar *j,uchar q)          //K是顯示的個數,j是地址
  34. {
  35.    uchar  i;
  36.    for(i=0;i<q;i++)
  37.    {
  38.     dat_w(*(j+i));
  39.         delay(20);
  40.    }
  41. }
  42. time0() interrupt 1
  43. {          
  44.                 TH0=(65536-50000)/256;
  45.           TL0=(65536-50000)%256;
  46.           k++;
  47.        
  48.           if(k>=(20*60*3))
  49.                 {  k=0;
  50.                         //jidianqi=0;
  51.                         beep();       
  52.                         clear();
  53.   gotoxy(1,0);
  54.   play(show_12,16);
  55.   gotoxy(2,0);
  56.   play(show_12+17,10);
  57.                  }
  58.        
  59. }
  60. void main()
  61. { uchar  init_pswd[]={0,0,0,0,0,0,0,0};
  62.   uchar  guanli_pswd[]={8,8,8,8,8,8,8,8};
  63.   uchar  pswd[8]={0};
  64.   uchar  pswd_1[8]={0};
  65.   uchar j=0,i=0,sum_1=0,g=0;
  66.         TMOD=0x01;
  67.         TH0=(65536-50000)/256;
  68.         TL0=(65536-50000)%256;
  69.         EA=1;
  70.         ET0=1;
  71.         //beep();
  72.   loop:init();
  73.         i=0;sum_1=0;
  74.     clear();
  75.   gotoxy(1,0);
  76.   play(show_0,16);
  77.   gotoxy(2,0);
  78.   play(show_0+17,10);
  79.   /****密碼輸入****/
  80.   do
  81.   {
  82.     key();
  83.   }
  84.   while(ki!=15);
  85.        
  86.         TR0=1;//定時器開始計時,超時報警
  87.   clear();
  88.   gotoxy(1,0);
  89.   play(show_1,13);
  90.   do
  91.   {
  92.     flag=0;
  93.     key();
  94.                
  95.                 gotoxy(2,0);
  96.         if(flag==1&&ki<=9)
  97.          {
  98.           pswd[i]=ki;
  99.                  i++;
  100.           play(show_2,i);
  101.          
  102.          }
  103.    }       
  104.    while(i<=7);
  105.    for(i=0;i<=7;i++)
  106.    {
  107.      sum_1=init_pswd[i]-pswd[i]+sum_1;//比較密碼是否正確
  108.                  
  109.          }
  110.    
  111.           if(sum_1==0)
  112.           {
  113.           
  114.            clear();
  115.            gotoxy(1,0);
  116.            play(show_6,15);
  117.                    jidianqi=0;
  118.        //beep();                       
  119.         //TR0=0;                        //密碼正確打開繼電器,關閉計時器
  120.            do
  121.            {
  122.            key();
  123.            }
  124.            while(ki!=13);
  125.                  jidianqi=1;
  126.            loop1:clear();
  127.            gotoxy(1,0);
  128.            play(show_7,13);
  129.            gotoxy(2,0);
  130.            play(show_7+13,13);
  131.            /****第一次輸密碼***/
  132.            i=0;
  133.             do
  134.             {
  135.                   flag=0;
  136.           key();
  137.                   if(flag==1&&ki<=9)
  138.              {
  139.                pswd[i]=ki;
  140.                    i++;
  141.                    clear();
  142.                    gotoxy(1,0);
  143.                    play(show_2,i);
  144.                    }
  145.                    }while(i<=7);
  146.                  clear();
  147.                  gotoxy(1,0);
  148.              play(show_8,15);
  149.            /***第二次輸密碼****/
  150.                  i=0;
  151.                  sum_1=0;
  152.             do
  153.             {
  154.                   flag=0;
  155.           key();
  156.                   if(flag==1&&ki<=9)
  157.               {
  158.                pswd_1[i]=ki;
  159.                    i++;
  160.                    clear();
  161.                    gotoxy(1,0);
  162.                    play(show_2,i);
  163.                    }
  164.                     }
  165.                  while(i<=7);
  166.                  for(i=0;i<=7;i++)
  167.                   {
  168.                    sum_1=sum_1+ pswd_1[i]-pswd[i];
  169.                    }
  170.                  if(sum_1==0)
  171.                    {
  172.                     clear();
  173.                            gotoxy(1,2);
  174.                         play(show_9,12);
  175.                         gotoxy(2,2);
  176.                         play(show_9+13,11);
  177.                         for(i=0;i<=7;i++)
  178.                         {
  179.                         init_pswd[i]=pswd[i];
  180.                          }
  181.                          goto  loop ;
  182.                    }
  183.                  if(sum_1!=0)
  184.                    {
  185.                      clear();
  186.                      goto loop1;
  187.                    }
  188.           }       
  189.   if(sum_1!=0)//密碼不正確e
  190.          {
  191.            clear();
  192.                  
  193.            j++;//統計輸錯次數
  194.            if(j==3)
  195.            {
  196.             clear();
  197.           
  198.        beep();//三次輸入密碼失敗,報警

  199.                           
  200.             while(g==0)
  201.                         {
  202.        clear();
  203.   gotoxy(1,0);
  204.   play(show_11,15);
  205.         gotoxy(2,0);
  206.         play(show_11+15,6);
  207.         i=0;sum_1=0;
  208.   do
  209.   {
  210.     flag=0;
  211.                 gotoxy(2,7);
  212.     key();
  213.                 //beep();       
  214.        
  215.                
  216.         if(flag==1&&ki<=9)
  217.          {
  218.           pswd[i]=ki;
  219.                 i++;
  220.           play(show_2,i);
  221.           
  222.          }
  223.    }       
  224.    while(i<=7);
  225.    for(i=0;i<=7;i++)
  226.    {
  227.      sum_1=guanli_pswd[i]-pswd[i]+sum_1;
  228. ……………………

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

所有資料51hei提供下載:
電子密碼鎖1602液晶顯示資料.zip (446.83 KB, 下載次數: 103)


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

使用道具 舉報

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

本版積分規則

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

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 久久久久无码国产精品一区 | 四虎伊人 | 国产一区二区三区免费观看视频 | 亚洲男人网 | 久久久噜噜噜久久中文字幕色伊伊 | 中文字幕啪啪 | 免费国产视频在线观看 | 粉色午夜视频 | 日批日韩在线观看 | 久久99精品视频 | 免费一区二区三区在线视频 | 在线观看av网站永久 | 日韩小视频在线 | 国产一区二区三区免费观看在线 | 亚洲精品一区二三区不卡 | 欧美激情精品久久久久久 | 在线观看国产网站 | 精品免费在线 | 国产高清视频一区 | av网站在线播放 | 国产a爽一区二区久久久 | 亚洲成色777777在线观看影院 | 欧美中文字幕一区二区三区 | 国产一区二区电影 | 欧美美女二区 | 日本一二三区高清 | 久久亚洲一区二区 | 亚洲不卡在线观看 | 美女福利视频网站 | 国产一区欧美一区 | 成人免费淫片aa视频免费 | 欧美久久久网站 | 男人视频网站 | 女同久久另类99精品国产 | 黄色网址免费看 | hitomi一区二区三区精品 | 久久天天躁狠狠躁夜夜躁2014 | 国产黄色av网站 | 亚洲成人毛片 | 免费不卡av | 国产成人精品一区二区 |