版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、<p><b> 課 程 設(shè) 計(jì)</b></p><p> 課程名稱 單片機(jī)原理 </p><p> 題目名稱 密碼鎖 </p><p> 學(xué)生學(xué)院 信息工程 </p><p> 專業(yè)班級(jí) </p>
2、<p> 學(xué) 號(hào) </p><p> 學(xué)生姓名 </p><p> 指導(dǎo)教師 </p><p> 2012 年 6 月 8 日</p><p><b> 密碼鎖</b></p
3、><p><b> 一設(shè)計(jì)構(gòu)思:</b></p><p> 單片機(jī)控制的密碼鎖設(shè)計(jì)。STC89C52單片機(jī)P1引腳外接獨(dú)立式按鍵S1-S8,分別代表數(shù)字鍵0-5、確定鍵、取消鍵。單片機(jī)從P3.0-P3.3輸出4個(gè)信號(hào),分別為1個(gè)電磁開鎖驅(qū)動(dòng)信號(hào)和密碼錯(cuò)誤指示、報(bào)警輸出、已開鎖指示信號(hào),分別用發(fā)光二極管L1-L4指示。P3.4接一有源蜂鳴器,用于實(shí)現(xiàn)提示音。</p
4、><p> ?。?)初始密碼為123450,輸完后按確定鍵開鎖,取消鍵清除所有輸入,每次按鍵有短“滴”聲按鍵提示音。</p><p> ?。?)密碼輸入正確后,輸出一個(gè)電磁鎖開鎖信號(hào)與已開鎖信號(hào),并發(fā)出兩聲短“滴”聲提示。4秒后開鎖信號(hào)與已開鎖指示清零。</p><p> ?。?)密碼輸入錯(cuò)誤時(shí),發(fā)出一聲長(zhǎng)“滴”聲錯(cuò)誤指示提示音,并密碼錯(cuò)誤指示燈亮,三次密碼錯(cuò)誤時(shí),發(fā)出
5、長(zhǎng)鳴聲報(bào)警,并密碼錯(cuò)誤指示燈亮,報(bào)警指示燈亮,此后15秒內(nèi)無法再次輸入密碼,15秒過后,清除所有報(bào)警和指示。</p><p> ?。?)5秒內(nèi)無任何操作后,清除所有輸入內(nèi)容,等待下次輸入。</p><p><b> 二系統(tǒng)設(shè)計(jì):</b></p><p> (1)分析構(gòu)思要求。寫出系統(tǒng)整體設(shè)計(jì)思路</p><p>
6、根據(jù)題目的要求,需要考慮如下幾個(gè)任務(wù):按鍵的輸入,密碼的判斷,密碼輸入正確或錯(cuò)誤的計(jì)時(shí)、輸出信號(hào)的控制等。</p><p> 鍵盤的輸入:由于需要輸入6個(gè)數(shù)字作為密碼,先要判斷按鍵時(shí)數(shù)字鍵還是功能鍵,若判斷為數(shù)字鍵按下,則需要將每次鍵盤的輸入內(nèi)容依次暫存在一個(gè)數(shù)組中。在每次按鍵輸入時(shí),需要啟動(dòng)定時(shí)器實(shí)現(xiàn)待機(jī)計(jì)時(shí)(5秒)。若5秒內(nèi)沒有輸入內(nèi)容則清除已輸入的內(nèi)容。</p><p> 密碼的
7、判斷和計(jì)時(shí):在按下確認(rèn)鍵之后,要將輸入的內(nèi)容與初始密碼核對(duì),如果密碼正確,輸出相應(yīng)的指示,同時(shí)還要啟動(dòng)定時(shí)器實(shí)現(xiàn)4s的計(jì)時(shí)。如果密碼錯(cuò)誤,錯(cuò)誤計(jì)數(shù)變量增1,同時(shí)輸出密碼指示信號(hào),若錯(cuò)誤次數(shù)超過3s,則輸出報(bào)警等信號(hào),同時(shí)啟動(dòng)定時(shí)器實(shí)現(xiàn)15秒的計(jì)時(shí)。</p><p> 輸出信號(hào)的控制主要根據(jù)按鍵輸入與密碼的核對(duì)情況來決定。</p><p><b> 整體程序設(shè)計(jì)思想:</
8、b></p><p> 程序分為主程序和中斷服務(wù)程序兩個(gè)主要部分,主程序完成變量和單片機(jī)特殊功能寄存器的初始化后,進(jìn)入一個(gè)循環(huán)結(jié)構(gòu)。在循環(huán)中,首先判斷有無按鍵按下,若有按鍵則判斷是否數(shù)字鍵還是功能鍵,根據(jù)按鍵的情況執(zhí)行相應(yīng)的功能。然后根據(jù)密碼是否正確的判斷情況,執(zhí)行相應(yīng)的操作。循環(huán)中最后將需要顯示的內(nèi)容通過動(dòng)態(tài)掃描在數(shù)碼管上顯示。 </p><p> 中斷服務(wù)程序只要實(shí)現(xiàn)三個(gè)狀態(tài)
9、的計(jì)時(shí),待機(jī)時(shí)需要計(jì)時(shí)5秒,密碼正確需要計(jì)時(shí)5s,密碼3次輸入錯(cuò)誤需要計(jì)時(shí)15秒。當(dāng)前處于何種計(jì)時(shí),由主程序根據(jù)密碼判斷結(jié)果來決定。</p><p> ?。?)選擇單片機(jī)型號(hào)和所需外圍器件型號(hào),設(shè)計(jì)單片機(jī)硬件電路原理圖</p><p> 采用MCS51系列單片機(jī)At89S51作為主控制器,外圍電路器件包括數(shù)碼管驅(qū)動(dòng)、蜂鳴器的輸出驅(qū)動(dòng)、獨(dú)立式鍵盤以及發(fā)光二極管的輸出等。</p>
10、<p> 數(shù)碼管驅(qū)動(dòng)采用2個(gè)四聯(lián)共陰極數(shù)碼管顯示,由于單片機(jī)驅(qū)動(dòng)能力有限,采用74HC244作為數(shù)碼管的驅(qū)動(dòng)。在74HC244的7段碼輸出線上串聯(lián)100歐姆電阻起限流作用。</p><p> 蜂鳴器的驅(qū)動(dòng)采用PNP三極管8550來驅(qū)動(dòng),低電平有效。</p><p> 獨(dú)立式按鍵使用上提拉電路連接,在沒有鍵按下時(shí),輸出高電平。發(fā)光二極管串聯(lián)500歐姆電阻再接到電源上,當(dāng)輸
11、入為低電平時(shí),發(fā)光二極管導(dǎo)通發(fā)光。</p><p> 硬件電路原理圖如圖3-9所示。</p><p> ?。?)分析軟件任務(wù)要求,寫出程序設(shè)計(jì)思路,分配單片機(jī)內(nèi)部資源,畫出程序流程圖</p><p> 軟件任務(wù)要求主要包括按鍵掃描、密碼判斷、動(dòng)態(tài)掃描輸入的內(nèi)容、計(jì)時(shí)、指示信號(hào)輸出以及蜂鳴器提示音的輸出等。主程序主要完成變量與寄存器的初始化、按鍵的掃描與判斷、密碼
12、的判斷以及數(shù)碼管動(dòng)態(tài)掃描顯示等。主程序流程圖如圖3-10所示。</p><p> 圖3-10 密碼鎖的主程序流程圖</p><p> 中斷服務(wù)程序主要完成三種定時(shí)的計(jì)時(shí)工作,包括①按鍵之后啟動(dòng)的待機(jī)計(jì)時(shí),當(dāng)待機(jī)超過5s則清除已輸入的內(nèi)容。②密碼輸入正確之后的計(jì)時(shí),4s之后清除開鎖驅(qū)動(dòng)信號(hào)與已開鎖指示信號(hào)。 ③密碼輸入錯(cuò)誤3次的計(jì)時(shí),計(jì)時(shí)15s,在則15s內(nèi)無法再次輸入密碼,15秒過后清
13、除所有報(bào)警與指示。中斷服務(wù)程序流程圖如圖3-11所示。</p><p> 圖3-11 密碼鎖中斷服務(wù)程序流程圖</p><p> 單片機(jī)資源的分配與變量的定義:</p><p> 密碼的輸入與判斷需要定義4個(gè)變量。原始密碼存儲(chǔ)在數(shù)組init_val[6]中。鍵盤輸入的密碼存儲(chǔ)在數(shù)據(jù)show_val[6]中,變量 key_index的值表示當(dāng)前按鍵是六位密碼中的
14、哪一位,每輸入一個(gè)密碼數(shù)字該變量增一。密碼輸入錯(cuò)誤的次數(shù)暫存在變量error_num中。</p><p> 計(jì)時(shí)功能需要5個(gè)變量。模式變量cnt_state存儲(chǔ)計(jì)時(shí)屬于什么狀態(tài),0表示待機(jī)計(jì)時(shí),1表示密碼正確的計(jì)時(shí),2表示密碼錯(cuò)誤3次的計(jì)時(shí)。三個(gè)變量(cnt_val_15s,cnt_val_5s, cnt_val_4s)分別實(shí)現(xiàn)待機(jī)、密碼正確和密碼錯(cuò)誤3次后的計(jì)時(shí)工作。定時(shí)器T1每250ms產(chǎn)生一次中斷,變量T
15、1_cnt記錄定時(shí)器溢出中斷的次數(shù),當(dāng)記錄到4000時(shí)表示計(jì)時(shí)1秒。</p><p> (4)設(shè)計(jì)系統(tǒng)軟件調(diào)試方案、硬件調(diào)試方案及軟硬件聯(lián)合調(diào)試方案</p><p> 硬件調(diào)試方案:在設(shè)計(jì)平臺(tái)中,將單片機(jī)的P1.0-P1.7分別與8個(gè)獨(dú)立式鍵盤通過插線連接起來,將P3.0-P3.3分別與4個(gè)發(fā)光二極管連接起來,P3.4與蜂鳴器的輸入連接起來。</p><p>
16、 由于本設(shè)計(jì)沒有設(shè)計(jì)串口下載,所以通過在偉福中將程序文件編譯成目標(biāo)文件后,將下載線通過實(shí)驗(yàn)板平臺(tái)的下載線接口上,運(yùn)行“MCU下載程序”,再將單片機(jī)安裝在密碼鎖設(shè)計(jì)板上。</p><p><b> 三程序設(shè)計(jì):</b></p><p> C51 COMPILER V6.12 LOCK
17、 06/08/2012 22:32:46 PAGE 1 </p><p> C51 COMPILER V6.12, COMPILATION OF MODULE LOCK</p><p> OBJECT MODULE PLACED IN .\lock.OBJ</p><p> COMPILER INVOKED
18、 BY: E:\keil2\C51\BIN\C51.EXE .\lock.c DEBUG OBJECTEXTEND</p><p> stmt level source</p><p> 1 #include <reg52.h></p><p> 2 /*變量的定義: </p><p
19、> 3 show_val[6]: 顯示的值</p><p> 4 init_val[6]: 密碼初始值</p><p> 5 key_val: 返回按鍵的值255-表示無按鍵按下</p><p> 6 key_index: 當(dāng)前按鍵是哪一位密碼<
20、;/p><p> 7 T1_cnt: 定時(shí)器計(jì)數(shù)溢出數(shù)</p><p> 8 cnt_val_15s: 報(bào)警計(jì)時(shí)的數(shù)值</p><p> 9 cnt_val_5s: 待機(jī)時(shí)間計(jì)時(shí)</p><p> 10 cnt_val_4s: 輸入
21、正確,等待秒清除開鎖信號(hào)</p><p> 11 cnt_state: 計(jì)時(shí)狀態(tài)</p><p> 12 error_num: 錯(cuò)誤次數(shù)</p><p> 13 led_seg_code:數(shù)碼管段碼</p><p> 14 */</
22、p><p> 15 //說明key0=P1^0;key1=P1^1;key2=P1^2;key3=P1^3;</p><p> 16 key4=P1^4;key5=P1^5;enter=P1^6;esc=P1^7; </p><p> 17 sbit relay_o
23、pen=P3^0; //電磁鎖開鎖驅(qū)動(dòng)</p><p> 18 sbit pw_error=P3^1; //密碼錯(cuò)誤信號(hào)</p><p> 19 sbit alarm_out=P3^2; //報(bào)警輸出</p><p> 20 sbit open_lock=P3^3;
24、//已開鎖指示信號(hào)</p><p> 21 sbit audio_out=P3^4; //有源蜂鳴器</p><p> 22 unsigned char data cnt_val_15s,cnt_val_5s,cnt_val_4s,cnt_state;</p><p> 23 unsigned
25、int data T1_cnt;</p><p> 24 unsigned char data key_val,key_index,key_val_old;</p><p> 25 unsigned char data state_val,error_num;</p><p> 26 unsigned c
26、har data show_val[6];</p><p> 27 char code init_val[6]={1,2,3,4,5,0};</p><p> 28 char code led_seg_code1[6]={0xdc,0xd7,0x9f,0xd7,0x9f,0x00};</p><p> 29
27、 //4位</p><p> 30 char code led_seg_code2[11]={0xd7,0x11,0xcd,0x5d,0x1b,0x5e,</p><p> 0xda,0x15,0xdf,0x5f,0x00};</p><p> 31 //2位</p><p> 32
28、 char code led_seg_code3[11]={0xcf,0x03,0x5d,0x5b,0x93,</p><p> 0xda,0x9e,0x43,0xdf,0xdb,0x00};</p><p> 33 </p><p> 34 //led_seg_code[0-9]代表-9 led_seg_code[10]
29、=0x00數(shù)碼管不顯示任何內(nèi)容</p><p> 35 //--------延時(shí)程序----------------</p><p> 36 void delay(unsigned int i)//延時(shí)</p><p> 37 { while(--i); }</p><p> 38
30、 //--------清除輸入內(nèi)容----------</p><p> 39 void init_variant()</p><p> 40 {unsigned char i;</p><p> 41 1 for(i=0;i<6;i++)</p><p>
31、42 1 show_val[i]=10; //led_seg_code[10]=0x00表示數(shù)碼管不顯示任何內(nèi)容</p><p> 43 1 key_index=0; //沒有任何輸入或清除所有輸入時(shí),保存當(dāng)前鍵的位置</p><p> 44 1 }</p><p> 45 //-
32、--------按鍵掃描---------------</p><p> 46 unsigned char scan_key()</p><p> 47 { unsigned char i,k;</p><p> 48 1 i=P1;</p><p> 49 1
33、 if ((i==0xff) && (cnt_state!=2))</p><p> 50 1 { k=255; } //無鍵按下</p><p> 51 1 else //有鍵按下</p><p> 52 1 { delay(300); //延時(shí)去抖動(dòng)&
34、lt;/p><p> 53 2 i=P1;</p><p> 54 2 if(i==0xff)</p><p> 55 2 {k=255;}</p><p> 51 COMPILER V6.12 LOCK
35、 06/08/2012 22:32:46 PAGE 2 </p><p> 56 2 else</p><p> 57 2 { TR1=1; //有鍵按下則開定時(shí)器,啟動(dòng)待機(jī)計(jì)時(shí)</p><p> 58 3 cn
36、t_val_5s=0;</p><p> 59 3 switch (i)</p><p> 60 3 { case 0xfe: k=0; break;</p><p> 61 4 case 0xfd: k=1; break;</p><p> 62
37、 4 case 0xfb: k=2; break;</p><p> 63 4 case 0xf7: k=3; break;</p><p> 64 4 case 0xef: k=4; break;</p><p> 65 4 cas
38、e 0xdf: k=5; break;</p><p> 66 4 case 0xbf: k=6; break;</p><p> 67 4 case 0x7f: k=7; break;</p><p> 68 4 }</p><p> 69
39、 3 }</p><p> 70 2 }</p><p> 71 1 return k;</p><p> 72 1 }</p><p> 73 //---------數(shù)碼管顯示---------------</p><
40、p> 74 void led_show()</p><p> 75 {P0=led_seg_code3[show_val[0]];</p><p> 76 1 P2=0xfe;//1</p><p> 77 1 delay(400);</p><p> 78
41、 1 P0=led_seg_code3[show_val[1]];</p><p> 79 1 P2=0x1f;//2</p><p> 80 1 delay(400);</p><p> 81 1 P0=led_seg_code2[show_val[2]];</p><p>
42、; 82 1 P2=0xf7;//3</p><p> 83 1 delay(400);</p><p> 84 1 P0=led_seg_code2[show_val[3]];</p><p> 85 1 P2=0xfb;//4</p><p> 86 1
43、 delay(400);</p><p> 87 1 P0=led_seg_code2[show_val[4]];</p><p> 88 1 P2=0xfd;//5</p><p> 89 1 delay(400);</p><p> 90 1 P0=led_seg
44、_code2[show_val[5]];</p><p> 91 1 P2=0x2f;//6</p><p> 92 1 delay(400);</p><p> 93 1 }</p><p> 94 //--------定時(shí)器T1中斷服務(wù)程序--------------
45、---</p><p> 95 void timer1() interrupt 3 //T1中斷</p><p> 96 { T1_cnt++;</p><p> 97 1 if(T1_cnt>3999) //如果計(jì)數(shù)>3999, 計(jì)時(shí)s</p><p&g
46、t; 98 1 { T1_cnt=0;</p><p> 99 2 switch (cnt_state)</p><p> 100 2 { case 0: //待機(jī),需要計(jì)時(shí)s</p><p> 101 3 if(cnt_val_5s<5)</
47、p><p> 102 3 { cnt_val_5s++;}</p><p> 103 3 else</p><p> 104 3 { cnt_val_5s=0;</p><p> 105 4
48、 init_variant();//待機(jī)計(jì)時(shí)到秒時(shí),清除輸入的內(nèi)容</p><p> 106 4 TR1=0; //停止計(jì)時(shí)</p><p> 107 4 }</p><p> 108 3 break;&
49、lt;/p><p> 109 3 case 1://密碼輸入正確,需要計(jì)時(shí)s </p><p> 110 3 if(cnt_val_4s<4)</p><p> 111 3 { cnt_val_4s++;}</p><p> 11
50、2 3 else</p><p> 113 3 { cnt_val_4s=0;</p><p> 114 4 init_variant();//密碼輸入正確,計(jì)時(shí)到秒時(shí),清除輸入的內(nèi)容</p><p> 115 4
51、 open_lock=1; //已開鎖信號(hào)清零</p><p> 116 4 relay_open=1; //開鎖信號(hào)清零</p><p> 117 4 cnt_state=0; </p><p> 51 COMPILER V6.12
52、LOCK 06/08/2012 22:32:46 PAGE 3 </p><p> 118 4 TR1=0; //停止計(jì)時(shí)</p><p> 119 4
53、 }</p><p> 120 3 break;</p><p> 121 3 case 2: //密碼輸入錯(cuò)誤次,計(jì)時(shí)s</p><p> 122 3 if(cnt_val_15s<15)</p><p> 123 3
54、 { cnt_val_15s++;}</p><p> 124 3 else</p><p> 125 3 { cnt_val_15s=0;</p><p> 126 4 init_variant()
55、;//三次密碼錯(cuò)誤時(shí),計(jì)時(shí)秒,清除輸入的內(nèi)容</p><p> 127 4 open_lock=1; // 清除所有指示和報(bào)警</p><p> 128 4 relay_open=1;</p><p> 129 4 al
56、arm_out=1;</p><p> 130 4 pw_error=1;</p><p> 131 4 cnt_state=0;</p><p> 132 4 TR1=0; //停止計(jì)時(shí)</p>
57、<p> 133 4 }</p><p> 134 3 break;</p><p> 135 3 } </p><p> 136 2 }</p><p> 137 1 }<
58、/p><p> 138 //--------判斷鍵盤輸入內(nèi)容與密碼是否一致------</p><p> 139 unsigned char check_input_pw()</p><p> 140 { unsigned char i,k;</p><p> 141 1
59、 k=1;</p><p> 142 1 for(i=0;i<6;i++)</p><p> 143 1 { k=(k && (show_val[i]==init_val[i])); }</p><p> 144 1 return k;</p><p>
60、145 1 }</p><p> 146 //---------主程序----------------</p><p> 147 main()</p><p> 148 { //初始化各變量</p><p> 149 1 audio_out=1;<
61、/p><p> 150 1 P3=0xff;//燈滅</p><p> 151 1 cnt_val_15s=0;</p><p> 152 1 cnt_val_5s=0;</p><p> 153 1 cnt_val_4s=0;</p><p> 1
62、54 1 cnt_state=0; </p><p> 155 1 //0-待機(jī)計(jì)時(shí)s狀態(tài);1-密碼正確,計(jì)時(shí)s狀態(tài);2-三次密碼錯(cuò)誤,處于計(jì)時(shí)秒狀態(tài)。</p><p> 156 1 T1_cnt=0;</p><p> 157 1 error_num=0;</p><p&g
63、t; 158 1 key_val_old=255;</p><p> 159 1 init_variant();</p><p> 160 1 //初始化的寄存器</p><p> 161 1 TMOD=0x20; //用T1計(jì)時(shí)8位自動(dòng)裝載定時(shí)模式</p><p>
64、162 1 TH1=0x19; //250微秒溢出一次; 250=(256-x)*12/11.0592 -> x=19</p><p> 163 1 TL1=0x19;</p><p> 164 1 EA=1; //開中斷</p><p> 165 1 ET1=1;<
65、;/p><p> 166 1 TR1=0; //開定時(shí)器T1</p><p> 167 1 P1=0xff;</p><p> 168 1 while(1)</p><p> 169 1 { unsigned int i=0;</p><p>
66、; 170 2 key_val=scan_key(); //按鍵輸入,有鍵按下key_val為-7,無鍵按下key_val為。</p><p> 171 2 if (key_val!=key_val_old)</p><p> 172 2 { key_val_old=key_val;</p><p>
67、; 173 3 if (key_val!=255&& cnt_state!=2)</p><p> 174 3 { audio_out=0;</p><p> 175 4 delay(300); //延時(shí)去抖動(dòng)</p><p> 176 4
68、 audio_out=1;</p><p> 177 4 switch (key_val)</p><p> 178 4 { case 0:</p><p> 179 5 case 1:</p><p> 51 COMPILER V6.12
69、 LOCK 06/08/2012 22:32:46 PAGE 4 </p><p> 180 5 case 2:</p><p> 181 5 case 3:</p>&
70、lt;p> 182 5 case 4:</p><p> 183 5 case 5:</p><p> 184 5 if(key_index<6) //密碼為位,超過位視為輸入無效</p><p> 185 5
71、 { show_val[key_index]=key_val;</p><p> 186 6 key_index++; }</p><p> 187 5 break;</p><p> 188 5 case 6: //確認(rèn)鍵<
72、/p><p> 189 5 if(check_input_pw())</p><p> 190 5 {//密碼正確</p><p> 191 6 error_num=0; //密碼輸入錯(cuò)誤次數(shù)清零</p><p>
73、; 192 6 //---------</p><p> 193 6 pw_error=1; //密碼錯(cuò)誤指示燈滅 </p><p> 194 6 relay_open=0; //開鎖驅(qū)動(dòng)信號(hào)燈亮</p><
74、p> 195 6 open_lock=0; //已開鎖信號(hào)燈亮</p><p> 196 6 //---------</p><p> 197 6 delay(50000); //兩聲短"滴"聲</p><
75、p> 198 6 audio_out=0;</p><p> 199 6 delay(50000);</p><p> 200 6 audio_out=1;</p><p> 201 6
76、 delay(50000);</p><p> 202 6 audio_out=0;</p><p> 203 6 delay(50000);</p><p> 204 6 audio_out=1;</p>
77、<p> 205 6 //---------</p><p> 206 6 cnt_state=1; //下一狀態(tài)處于秒計(jì)時(shí)的狀態(tài)</p><p> 207 6 TR0=1; //啟動(dòng)定時(shí)</p><p>
78、208 6 }</p><p> 209 5 else</p><p> 210 5 { if (error_num<2)</p><p> 211 6 {error_num++; /
79、/輸入錯(cuò)誤次數(shù)小于次時(shí),沒錯(cuò)一次error_num增一</p><p> 212 7 pw_error=0; //密碼錯(cuò)誤指示燈亮</p><p> 213 7 //-----------</p><p> 214 7
80、 delay(20000);//一聲長(zhǎng)"滴"聲,提示錯(cuò)誤</p><p> 215 7 audio_out=0;</p><p> 216 7 delay(60000);</p><p> 217 7
81、 audio_out=1;</p><p> 218 7 //-----------</p><p> 219 7 for(i=0;i<6;i++)</p><p> 220 7 {show_val[i]=l
82、ed_seg_code1[i];</p><p> 221 8 }</p><p> 222 7 led_show();</p><p> 223 7 init_variant();</p><p> 224 7
83、 pw_error=1;//清除所有輸入,等待下一次輸入</p><p> 225 7 }</p><p> 226 6 else //輸入錯(cuò)誤次數(shù)超過次</p><p> 227 6 { ala
84、rm_out=0; //報(bào)警燈亮</p><p> 228 7 pw_error=0; //密碼錯(cuò)誤指示燈亮</p><p> 229 7 error_num=0; //密碼輸入錯(cuò)誤次數(shù)清零</p><p> 230 7
85、 //----------</p><p> 231 7 audio_out=0; //長(zhǎng)鳴聲報(bào)警</p><p> 232 7 delay(60000);</p><p> 233 7 delay(6
86、0000);</p><p> 234 7 delay(60000);</p><p> 235 7 delay(60000);</p><p> 236 7 delay(60000);</p>&
87、lt;p> 237 7 delay(60000);</p><p> 238 7 delay(60000);</p><p> 239 7 delay(60000);</p><p> 240 7
88、 delay(60000);</p><p> 241 7 audio_out=1;</p><p> 51 COMPILER V6.12 LOCK 06/08/
89、2012 22:32:46 PAGE 5 </p><p> 242 7 //-------------</p><p> 243 7 TR1=1; //打開定時(shí)器計(jì)時(shí)</p><p> 244 7
90、 cnt_state=2; //下一狀態(tài)處于秒計(jì)時(shí)的狀態(tài)</p><p> 245 7 }</p><p> 246 6 }</p><p> 247 5 break;</p><p> 248 5
91、 case 7://取消鍵</p><p> 249 5 init_variant();</p><p> 250 5 break;</p><p> 251 5 }</p><p> 252
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 眾賞文庫(kù)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 單片機(jī)-密碼鎖課程設(shè)計(jì)
- 單片機(jī)課程設(shè)計(jì)-密碼鎖
- 單片機(jī)課程設(shè)計(jì)--密碼鎖
- 單片機(jī)課程設(shè)計(jì)-密碼鎖
- 單片機(jī)課程設(shè)計(jì)---密碼鎖
- 密碼鎖單片機(jī)課程設(shè)計(jì)
- 單片機(jī)課程設(shè)計(jì)-密碼鎖
- 單片機(jī)課程設(shè)計(jì)--電子密碼鎖
- 單片機(jī)課程設(shè)計(jì)---數(shù)字密碼鎖
- 單片機(jī)課程設(shè)計(jì)--電子密碼鎖
- 單片機(jī)課程設(shè)計(jì)---數(shù)字密碼鎖
- 單片機(jī)課程設(shè)計(jì)-數(shù)字密碼鎖
- 單片機(jī)課程設(shè)計(jì)電子密碼鎖
- 基于51單片機(jī)密碼鎖課程設(shè)計(jì)報(bào)告
- 基于51單片機(jī)密碼鎖課程設(shè)計(jì)報(bào)告
- 51單片機(jī)課程設(shè)計(jì)--電子密碼鎖控制系統(tǒng)設(shè)計(jì)
- 單片機(jī)課程設(shè)計(jì)---基于51單片機(jī)的四位密碼鎖設(shè)計(jì)
- 單片機(jī)課程設(shè)計(jì)報(bào)告--電子密碼鎖
- 單片機(jī)課程設(shè)計(jì)--電子密碼鎖報(bào)告
- 單片機(jī)課程設(shè)計(jì)---電子密碼鎖報(bào)告
評(píng)論
0/150
提交評(píng)論