亚洲春色中文字幕久久久-三上亚,一吻二脱三床四吻胸,国产真实伦对白视频全集,在线毛片观看,精品成品入口黄网,国产毛aⅴ片久久久,亚洲AV色香蕉一区二区三区老师,萧皇后A级艳片,色情日本视频更新,99久久亚洲精品日本无码

 找回密碼
 立即注冊(cè)

QQ登錄

只需一步,快速開(kāi)始

搜索
查看: 12408|回復(fù): 15
打印 上一主題 下一主題
收起左側(cè)

基于51單片機(jī)和LCD1602的電子密碼鎖設(shè)計(jì) 實(shí)物和仿真程序都有

  [復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主

本設(shè)計(jì)主要任務(wù)

(1)共8位密碼,每位的取值范圍為1~8。
(2)用戶(hù)可以自行設(shè)定和修改密碼。
(3)按每個(gè)密碼鍵時(shí)都有聲、光提示。
(4)若鍵入的8位開(kāi)鎖密碼不完全正確,則報(bào)警5秒鐘,以提醒他人注意。
(5)開(kāi)鎖密碼錯(cuò)3次要報(bào)警10分鐘,報(bào)警期間輸入密碼無(wú)效,以防竊賊多次試探密碼。
(6)鍵入的8位開(kāi)鎖密碼完全正確才能開(kāi)鎖,開(kāi)鎖時(shí)要有1秒的提示音。
(7)密碼鍵盤(pán)上只允許有8個(gè)密碼按鍵和1個(gè)發(fā)光管。鎖內(nèi)有備用電池,只有內(nèi)部上電復(fù)位時(shí)才能設(shè)置或修改密碼,因此,僅在門(mén)外按鍵是不能修改或設(shè)置密碼的。
(8)密碼設(shè)定完畢后要有2秒的提示音。
以上是初步設(shè)定的電子密碼鎖的主要功能。
本系統(tǒng)主要由單片機(jī)系統(tǒng)、鍵盤(pán)、報(bào)警系統(tǒng)組成。系統(tǒng)能完成開(kāi)鎖、超時(shí)報(bào)警、超次鎖定、管理員解密、修改用戶(hù)密碼基本的密碼鎖的功能。除上述基本的密碼鎖功能外,還具有調(diào)電存儲(chǔ)、聲光提示等功能,依據(jù)實(shí)際的情況還可以添加遙控功能。本系統(tǒng)成本低廉,功能實(shí)用。本設(shè)計(jì)要完成的軟件任務(wù)主要有:一是鍵盤(pán)輸入的識(shí)別;二是8位LED的顯示;三是密碼的比較、修改、存儲(chǔ);;四是報(bào)警和開(kāi)鎖控制電平的輸出。
根據(jù)以上任務(wù),結(jié)合硬件結(jié)構(gòu),可以將鍵盤(pán)輸入的識(shí)別用來(lái)作為系統(tǒng)的監(jiān)控程序(主程序),用顯示程序來(lái)延時(shí),不斷查詢(xún)鍵盤(pán)。如果有鍵按下,就得到相應(yīng)的鍵值。結(jié)合當(dāng)前系統(tǒng)所處的狀態(tài),調(diào)用不同的操作模塊,實(shí)現(xiàn)相應(yīng)的功能。而執(zhí)行模塊主要有數(shù)字輸入模塊、確定鍵模塊、修改鍵模塊、顯示模塊及報(bào)警模塊。
存儲(chǔ)單元的分配
該密碼鎖中RAM存儲(chǔ)單元的分配方案如下:
31H~38H:依次存放8位設(shè)定的密碼,首位密碼存放在31H單元;
R0:指向密碼地址;
R2:已經(jīng)鍵入密碼的位數(shù);
R3:存放允許的錯(cuò)碼次數(shù)3與實(shí)際錯(cuò)碼次數(shù)的差值;
R4至R7:延時(shí)用;
00H:錯(cuò)碼標(biāo)志位。
對(duì)于ROM存儲(chǔ)單元的分配,由于程序比較短,而且占用的存儲(chǔ)空間比較少,因此,在無(wú)特殊要求時(shí),可以從0030H單元(其它地址也可以)開(kāi)始存放主程序。
若按鍵AN1~AN7分別代表數(shù)碼1~7,按鍵AN0代表數(shù)碼8。在沒(méi)有鍵按下時(shí),P1.0~P1.7全是高電平1,若某個(gè)鍵被按下,相應(yīng)的口線就變?yōu)榈碗娖?。假如設(shè)定的密碼是61234578,當(dāng)按鍵AN6被按下時(shí),P1.6變?yōu)榈碗娖剑琍1端口其余口線為高電平,此時(shí)從P1端口讀入的數(shù)值為10111111,存到31H單元的密碼值就是10111111,也就是BFH。依此類(lèi)推,存到32H至38H單元的密碼值分別是FDH、FBH、F7H、EFH、DFH、7FH、FEH。開(kāi)鎖時(shí)必須先按AN6,使從P1口讀入的第一個(gè)密碼值與31H單元存儲(chǔ)的設(shè)定值相同,再順序按AN1、AN2、AN3、AN4、AN5、AN7、AN0才能開(kāi)鎖。否則不能開(kāi)鎖,同時(shí)開(kāi)始報(bào)警。

實(shí)物圖:


proteus仿真原理圖:



單片機(jī)源程序如下:
  1. //南陽(yáng)理工學(xué)院
  2. //學(xué)習(xí)是遺忘的最好的方式
  3. //只花了很少時(shí)間寫(xiě)的,有很多不足的算法與編程序方式,見(jiàn)諒!
  4. #include"at89x51.h"
  5. #include"key.h"
  6. #include"lcd.h"
  7. uchar code show_0[]="Please input the password:";
  8. uchar code show_1[]="The cipher is:" ;
  9. uchar code show_2[]="********";
  10. uchar code show_3[]="The password is wrong!";
  11. uchar code show_4[]="This is the last time,";
  12. uchar code show_5[]="Please try it tomorrow!";
  13. uchar code show_6[]="you are right!";
  14. uchar code show_7[]="Please input the new cipher:";
  15. uchar code show_8[]="Input it again!";
  16. uchar code show_9[]="Establishes successful! ";
  17. uchar code show_10[]="(^_^)";
  18. uchar  init_pswd[]={8,8,8,8,8,8,8,8};
  19. uchar  pswd[8]={0};
  20. uchar  pswd_1[8]={0};
  21. void play(uchar *j,uchar k)          //K是顯示的個(gè)數(shù),j是地址
  22. {
  23.    uchar  i;
  24.    for(i=0;i<k;i++)
  25.    {
  26.     dat_w(*(j+i));
  27.         delay(20);
  28.    }
  29. }
  30. main()
  31. {
  32.   uchar j=0,i=0,sum_1=0;
  33.   loop:init();
  34.   clear();
  35.   gotoxy(1,0);
  36.   play(show_0,16);
  37.   gotoxy(2,0);
  38.   play(show_0+17,10);
  39.   /****密碼輸入****/
  40.   do
  41.   {
  42.     key();
  43.   }
  44.   while(ki!=15);
  45.   clear();
  46.   gotoxy(1,0);
  47.   play(show_1,15);
  48.   do
  49.   {
  50.     flag=0;
  51.     key();
  52.         gotoxy(2,0);
  53.         if(flag==1&&ki<=9)
  54.          {
  55.           pswd[i]=ki;
  56.           play(show_2,i);
  57.           i++;
  58.          }
  59.         if(ki==14)        //14則退出.
  60.           break;
  61.    }       
  62.    while(i<=8);
  63.    for(i=0;i<=7;i++)
  64.    {
  65.      sum_1=init_pswd[i]-pswd[i]+sum_1;
  66.      if(sum_1!=0)
  67.          {
  68.            clear();
  69.            j++;
  70.            if(j==3)
  71.            {
  72.             clear();
  73.             gotoxy(1,0);
  74.             play(show_4,16);
  75.                 gotoxy(2,0);
  76.                 play(show_4+16,14);
  77.                 delay(500);
  78.                 delay(500);
  79.                 clear();
  80.                 gotoxy(1,0);
  81.                 play(show_5+7,16);
  82.                 gotoxy(2,5);
  83.                 play(show_10,5);
  84.             while(1);   //三次輸入密碼失敗,自鎖
  85.            }
  86.            gotoxy(1,0);
  87.            play(show_3,16);
  88.            gotoxy(2,5);
  89.            play(show_3+15,7);
  90.            delay(500);
  91.            clear();
  92.            gotoxy(1,0);
  93.            play(show_8,15);
  94.            goto loop;
  95.           }
  96.           if(sum_1==0)
  97.           {
  98.           
  99.            clear();
  100.            gotoxy(1,0);
  101.            play(show_6,15);
  102.            do
  103.            {
  104.            key();
  105.            }
  106.            while(ki!=13);
  107.            loop1:clear();
  108.            gotoxy(1,0);
  109.            play(show_7,13);
  110.            gotoxy(2,0);
  111.            play(show_7+13,15);
  112.            /****第一次輸密碼***/
  113.            i=0;
  114.             do
  115.             {
  116.                   flag=0;
  117.           key();
  118.                   if(flag==1&&ki<=9)
  119.               {
  120.                pswd[i]=ki;
  121.                    i++;
  122.                    clear();
  123.                    gotoxy(1,0);
  124.                    play(show_2,i);
  125.                    }
  126.                     }while(i<=7);
  127.                  clear();
  128.                  gotoxy(1,0);
  129.              play(show_8,15);
  130.            /***第二次輸密碼****/
  131.                  i=0;
  132.                  sum_1=0;
  133.             do
  134.             {
  135.                   flag=0;
  136.           key();
  137.                   if(flag==1&&ki<=9)
  138.               {
  139.                pswd_1[i]=ki;
  140.                    i++;
  141.                    clear();
  142.                    gotoxy(1,0);
  143.                    play(show_2,i);
  144.                    }
  145.                     }
  146.                  while(i<=7);
  147.                  for(i=0;i<=7;i++)
  148.                   {
  149.                    sum_1=sum_1+ pswd_1[i]-pswd[i];
  150.                    }
  151.                  if(sum_1==0)
  152.                    {
  153.                     clear();
  154.                            gotoxy(1,2);
  155.                         play(show_9,12);
  156.                         gotoxy(2,2);
  157. ……………………

  158. …………限于本文篇幅 余下代碼請(qǐng)從51黑下載附件…………
復(fù)制代碼

所有資料51hei提供下載:
電子密碼鎖 1602顯示仿真程序.zip (292.21 KB, 下載次數(shù): 395)



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

相關(guān)帖子

回復(fù)

使用道具 舉報(bào)

沙發(fā)
ID:308279 發(fā)表于 2018-4-14 22:07 | 只看該作者
沒(méi)有黑幣
回復(fù)

使用道具 舉報(bào)

板凳
ID:396478 發(fā)表于 2018-9-12 14:54 | 只看該作者
謝謝樓主!
回復(fù)

使用道具 舉報(bào)

地板
ID:398790 發(fā)表于 2018-9-18 20:23 | 只看該作者
可以 ,很有用,很難得的八位密碼,找了好久才找到
回復(fù)

使用道具 舉報(bào)

5#
ID:435643 發(fā)表于 2018-12-7 12:20 | 只看該作者
謝謝樓主!學(xué)習(xí)了!
回復(fù)

使用道具 舉報(bào)

6#
ID:443622 發(fā)表于 2018-12-12 12:27 | 只看該作者
為什么下載之后打開(kāi)沒(méi)有
回復(fù)

使用道具 舉報(bào)

7#
ID:439603 發(fā)表于 2018-12-12 18:51 | 只看該作者
密碼鎖實(shí)現(xiàn)外部是要連線的嗎
回復(fù)

使用道具 舉報(bào)

8#
ID:447904 發(fā)表于 2018-12-17 13:30 | 只看該作者
這里面的源代碼和教程是不是都有,詳細(xì)嗎?我是第一次做不知道有困難不?我很需要
回復(fù)

使用道具 舉報(bào)

9#
ID:447904 發(fā)表于 2018-12-17 13:32 | 只看該作者
這個(gè)壓縮包里的文件是不是特別詳細(xì),我是新手,求解答
回復(fù)

使用道具 舉報(bào)

10#
ID:467396 發(fā)表于 2019-1-13 14:46 | 只看該作者
謝謝LZ
回復(fù)

使用道具 舉報(bào)

11#
ID:467396 發(fā)表于 2019-1-13 15:07 | 只看該作者
太實(shí)用了,謝謝!
回復(fù)

使用道具 舉報(bào)

12#
ID:396940 發(fā)表于 2019-3-23 18:51 | 只看該作者
下來(lái)學(xué)習(xí)一下意見(jiàn)看了好幾個(gè)不同的方案 了
回復(fù)

使用道具 舉報(bào)

13#
ID:507769 發(fā)表于 2019-4-16 23:25 | 只看該作者
為什么打不開(kāi),聯(lián)調(diào)死機(jī)?
回復(fù)

使用道具 舉報(bào)

14#
ID:502407 發(fā)表于 2019-4-17 09:59 | 只看該作者
黑幣不夠啦,項(xiàng)目收官階段。求樓主發(fā)郵箱,謝謝啦!郵箱614837496@qq.com
回復(fù)

使用道具 舉報(bào)

15#
ID:470939 發(fā)表于 2019-12-9 17:20 | 只看該作者
可以,感謝,下載學(xué)習(xí)
回復(fù)

使用道具 舉報(bào)

16#
ID:711792 發(fā)表于 2020-3-28 16:21 | 只看該作者
好用,感謝。
回復(fù)

使用道具 舉報(bào)

本版積分規(guī)則

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

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

快速回復(fù) 返回頂部 返回列表