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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 3573|回復: 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成人在线视频 | www.久久久.com| 极品电影院 | 欧美91| 九九久久精品 | 成年人免费网站 | 成人午夜精品 | 精品国产成人 | 欧美黄色一区 | 一区二区三区播放 | 新91| 成人午夜视频在线观看 | 国产亚洲欧美在线视频 | 五月香婷婷 | 啪啪毛片| 成人在线观看欧美 | 人人澡视频 | 国产成人精品久久二区二区 | 成年人免费看 | 日韩高清国产一区在线 | 欧美精品二区 | 国产一区二区在线播放 | 蜜桃一区二区三区 | 在线一级片| 久久国产亚洲精品 | 色综合久久久 | 一区二区三区中文字幕 | 久久国品片 | 国产成人综合亚洲欧美94在线 | 国产精品美女久久久久久不卡 |