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

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

QQ登錄

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

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

基于51單片機(jī)的電子密碼鎖程序

[復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
ID:688300 發(fā)表于 2020-10-17 21:00 | 只看該作者 |只看大圖 回帖獎(jiǎng)勵(lì) |倒序?yàn)g覽 |閱讀模式

結(jié)果圖:
                                 

一、目的概述(收集相關(guān)資料、選設(shè)計(jì)方案、電路設(shè)計(jì)):
本設(shè)計(jì)是以STC89C52單片機(jī)為控制核心的電子密碼鎖,屬于單片機(jī)的應(yīng)用。做本設(shè)計(jì)有助于對(duì)單片機(jī)矩陣鍵盤,數(shù)碼管以及串行通信原理的深入了解。電子鎖由于其保密性高,使用靈活性好,安全系數(shù)高,受到了廣大用戶的青睞。
系統(tǒng)設(shè)計(jì)方案為:
1)系統(tǒng)設(shè)置6 位密碼,密碼通過(guò)鍵盤輸入,若密碼正確,則將鎖打開(kāi)。
2)密碼可由用戶自己設(shè)定,在開(kāi)鎖狀態(tài)下,用戶可自行修改密碼。

3)具有自動(dòng)報(bào)警功能,密碼輸入錯(cuò)誤時(shí),報(bào)警由揚(yáng)聲器發(fā)出“滴滴”報(bào)警聲。而密碼輸入正確則是“叮咚”聲。

系統(tǒng)設(shè)計(jì)結(jié)構(gòu)圖:
               
本設(shè)計(jì)由主控芯片51單片機(jī),單片機(jī)時(shí)鐘電路,鍵盤,數(shù)碼管組成。單片負(fù)責(zé)控制整個(gè)系統(tǒng)的控制執(zhí)行過(guò)程。開(kāi)鎖成功由數(shù)碼管顯示OPEN,以及蜂鳴器“叮咚”表示,開(kāi)鎖失敗由數(shù)碼管顯示Err,以及蜂鳴器“滴滴”表示。

二、實(shí)驗(yàn)原理圖
電路設(shè)計(jì):


程序設(shè)計(jì):(只展示核心部分)
主程序

1.  //4×4 鍵盤及8 位數(shù)碼管顯示構(gòu)成的電子密碼鎖  
2.  void main() //主程序
3.  {  
4.      uchar key;  
5.      Timer0_Init();  
6.      while(1)  
7.      {  
8.          key = KeyScan();  
9.          password(key);  
10.     }  
11. }  

核心程序:數(shù)碼管的動(dòng)態(tài)掃描顯示

12. void Display()  
13. {  
14.     uchar i;  
15.     Segment_sel=0x00;//消隱  
16.     switch(i)    //位選,選擇點(diǎn)亮的數(shù)碼管,  
17.     {  
18.         case(0):  
19.             LSA=0;LSB=0;LSC=0; break;  
20.         case(1):  
21.             LSA=1;LSB=0;LSC=0; break;  
22.         case(2):  
23.             LSA=0;LSB=1;LSC=0; break;  
24.         case(3):  
25.             LSA=1;LSB=1;LSC=0; break;  
26.         case(4):  
27.             LSA=0;LSB=0;LSC=1; break;  
28.         case(5):  
29.             LSA=1;LSB=0;LSC=1; break;     
30.     }  
31. }  

核心程序:矩陣鍵盤的掃描輸入

32. uchar KeyScan()  
33. {  
34.     for(i=0;i<8;i++)  
35.     {  
36.         P1 = P1Pin[ i];  
37.         Button = P1;  
38.         if(Button != P1Pin[ i])  
39.         {  
40.             Delayms(5);  
41.             Button = P1;  
42.             if(Button != P1Pin[ i])  
43.             {  
44.                 KeyState=1;  
45.                 key8 = Button;  
46.             }  
47.             while(Button != P1Pin[ i])  
48.             { Button = P1; }  
49.         }  
50.     }  
51.     switch(key8)  
52.     {  
53.         case 0x77:{key = 1;break;}  
54.         case 0x7b:{key = 2;break;}  
55.         case 0x7d:{key = 3;break;}  
56.         case 0xb7:{key = 4;break;}  
57.         case 0xbb:{key = 5;break;}  
58.         case 0xbd:{key = 6;break;}  
59.         case 0xd7:{key = 7;break;}  
60.         case 0xdb:{key = 8;break;}  
61.         case 0xdd:{key = 9;break;}  
62.         case 0xeb:{key = 0;break;}  //0  
63.         case 0x7e:{key = 10;break;}  //÷  
64.         case 0xbe:{key = 11;break;}  //×  
65.         case 0xde:{key = 12;break;}  //+  
66.         case 0xee:{key = 13;break;}  //-  
67.         case 0xed:{key = 14;break;}  //=  
68.         case 0xe7:{key = 15;break;}  //ENTER  
69.         default:{key = 0xff;break;}  
70.     }  
71.     return key;  
72. }  

核心程序:輸入密碼以及校對(duì)和處理

73. void password(uchar key)//0~9 數(shù)字鍵,10 輸入密碼,11 設(shè)置密碼,12 刪除上一個(gè)數(shù),13 重新輸入 15 確定  
74. {  
75.     uchar i=0;  
76.     if(KeyState==1)  
77.     {  
78.         switch(state)  
79.         {  
80.             case 0:  
81.             {  
82.                 if(key == 10)  
83.                 {  
84.                     state = 1;  
85.                     LSA=1;LSB=1;LSC=1;  
86.                     Segment_sel=0xff;  //顯示8  
87.                 }  
88.                 else if(key == 11)  
89.                 {  
90.                     state = 2;  
91.                     LSA=1;LSB=1;LSC=1;  
92.                     Segment_sel=0xfd;  //顯示P  
93.                 }  
94.                 break;  
95.             }  
96.             case 1:  
97.             {  
98.                 if(key>=0 && key <= 9)  //輸入  
99.                 {  
100.                     InPassword[5]=InPassword[4];  
101.                     InPassword[4]=InPassword[3];  
102.                     InPassword[3]=InPassword[2];  
103.                     InPassword[2]=InPassword[1];  
104.                     InPassword[1]=InPassword[0];  
105.                     InPassword[0]=smgduan[key];  
106.                     KeyState=0;  
107.                 }  
108.                 else if(key == 15)  //確定  
109.                 {  
110.                     if(Compare(InPassword))  
111.                     {  
112.                         for(i=17;i<23;i++)  
113.                             InPassword[ i]=smgduan;  
114.                         Delayms(1000);  
115.                     }//open  
116.                     else  
117.                     {   
118.                         for(i=23;i<27;i++)  
119.                             InPassword[ i]=smgduan;  
120.                         Delayms(1000);  
121.                     }//err  
122.                 state = 0;  
123.                 }  
124.                 else if(key == 13)  //重新輸入  
125.                 {  
126.                     for(i=0;i<6;i++)  
127.                         InPassword[ i] = 0xff;  // 全亮  
128.                     Delayms(1000);  
129.                     state = 0;  
130.                 }  
131.                 break;  
132.             }  
133.     else//如果沒(méi)有按鍵按下  
134.     {  
135.         if(state == 0)  
136.         {  
137.             Segment_sel= 0x00;// 不顯示  
138.         }  
139.     }  
140. }  

C語(yǔ)言代碼51hei下載地址:
電子密碼鎖程序.zip (1.79 KB, 下載次數(shù): 92)

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

使用道具 舉報(bào)

沙發(fā)
ID:884666 發(fā)表于 2021-2-26 15:57 來(lái)自觸屏版 | 只看該作者
你好,請(qǐng)問(wèn)我下載以后為什么蜂鳴器一直叫,按鍵也沒(méi)效果
回復(fù)

使用道具 舉報(bào)

本版積分規(guī)則

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

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

快速回復(fù) 返回頂部 返回列表
主站蜘蛛池模板: 日韩欧美国产一区二区三区 | 一级毛片免费看 | h在线免费观看 | 女女百合av大片一区二区三区九县 | 国产精品久久久久久久久久 | 久草在线视频中文 | 国产一级毛片视频 | 国产精品123区 | 91精品国产综合久久久久蜜臀 | 国产精品成人一区二区三区夜夜夜 | 亚洲福利在线视频 | 亚洲精选一区 | 日韩一区二区三区在线观看 | 亚洲国产高清高潮精品美女 | 午夜影院官网 | 久久九九网站 | 在线精品亚洲欧美日韩国产 | www.黄色在线观看 | 成人在线播放网站 | 久久亚洲国产精品 | 国产精品99久久久精品免费观看 | www天天操| 天堂一区二区三区四区 | 成人福利电影 | 中文字幕在线观看一区 | 在线观看亚洲精品视频 | 国产日韩欧美精品一区二区 | 一区二区三区网站 | 久久久久成人精品 | 国产一区二区三区在线看 | 国产精品黄色 | 久久婷婷麻豆国产91天堂 | 久久亚洲一区 | 欧洲精品在线观看 | 亚洲综合电影 | 中文字幕蜜臀av | 国产伦一区二区三区视频 | av三级在线观看 | 在线精品一区二区三区 | 天天爽夜夜爽精品视频婷婷 | 日韩电影中文字幕在线观看 |