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

標題: 單片機1602密碼鎖程序仿真 源碼及論文 [打印本頁]

作者: TUNEZP    時間: 2017-5-24 17:53
標題: 單片機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)







歡迎光臨 (http://www.zg4o1577.cn/bbs/) Powered by Discuz! X3.1
主站蜘蛛池模板: 免费一看一级毛片 | 岛国精品| 欧美综合一区二区三区 | 成人三级在线观看 | 天堂一区二区三区四区 | 国产一二区在线 | 欧美一区二区免费在线 | 人妖一区 | 成人午夜免费福利视频 | 狠狠视频 | 中文区中文字幕免费看 | 久久这里有精品 | 国产精品福利在线 | 成人在线免费观看av | 国产午夜一级 | 亚洲一区二区免费电影 | 国产精品久久 | 69xxx免费| 亚洲国产一区在线 | 99re在线视频 | 国产在线一区观看 | 人干人操| 在线看片福利 | 国产精品成av人在线视午夜片 | 中文字幕高清av | 欧美精品一区三区 | 激情五月婷婷综合 | 国产不卡在线播放 | 久久国产欧美日韩精品 | 免费看a | 99久久久无码国产精品 | 偷偷操视频 | 五月激情久久 | 精产国产伦理一二三区 | 中文字幕一区二区三区四区五区 | 色综合一区二区三区 | 日韩av在线免费 | 黄色男女网站 | 亚洲高清av | 澳门永久av免费网站 | 午夜影院在线观看 |