版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、<p><b> 單片機原理與應(yīng)用</b></p><p><b> 課程設(shè)計報告 </b></p><p> 題 目 基于51單片機的電子密碼鎖設(shè)計 </p><p> 系 別 物理與電子工程學(xué)院 </p><p> 專 業(yè)
2、 電子信息科學(xué)與技術(shù) </p><p><b> 學(xué)生姓名 </b></p><p><b> 學(xué) 號 </b></p><p> 班 級 </p><p> 2013年 12月26日</p><p><b
3、> 摘要 </b></p><p> 電子密碼鎖是一種通過密碼輸入來控制電路或是芯片工作,從而控制機械開關(guān)的閉合,完成開鎖、閉鎖任務(wù)的電子產(chǎn)品。在保密性、操作的方便性、密碼的可變性、和一些自動化的功能上已經(jīng)遠遠超過了機械密碼鎖。因此其應(yīng)用非常廣泛。而且由于其使用微型計算機的特質(zhì),導(dǎo)致其可以靈活的掛載電子化設(shè)備,比如界面友好的顯示設(shè)備,方便快捷的輸入設(shè)備等。本文簡要介紹了一種基于AT89
4、C51單片機的電子密碼鎖設(shè)計,主要采用匯編程序完成整個軟件的設(shè)計,可以實現(xiàn)簡易的電子密碼鎖功能。 </p><p> 關(guān)鍵詞:4×4矩陣鍵盤;AT89C51;密碼鎖;單片機</p><p><b> 目錄</b></p><p> 一、緒論 …………………………………………………………………………………………3</p>
5、;<p> 二、系統(tǒng)所要完成的功能………………………………………………………………………3</p><p> 三、系統(tǒng)總體方案設(shè)計 …………………………………………………………………………4</p><p> 四、硬件電路設(shè)計 ………………………………………………………………………………6</p><p> 4.1單片機最小系統(tǒng)……………………
6、……………………………………………………6</p><p> 4.2 鍵盤電路設(shè)計……………………………………………………………………………6</p><p> 4.3 LCD顯示電路……………………………………………………………………………8</p><p> 4.4 開鎖電路…………………………………………………………………………………8</p>
7、;<p> 五、軟件設(shè)計 ……………………………………………………………………………………9</p><p> 六、系統(tǒng)調(diào)試……………………………………………………………………………………13</p><p> 七、心得體會……………………………………………………………………………………13</p><p> 參考文獻…………………………………
8、………………………………………………………14</p><p> 附 錄 …………………………………………………………………………………………15</p><p> 源程序清單 ………………………………………………………………………………………15</p><p> 實物圖 ……………………………………………………………………………………………23<
9、;/p><p><b> 一、緒論</b></p><p> 在日常的生活和工作中, 住宅與部門的安全防范、單位的文件檔案、財務(wù)報表以及一些個人資料的保存多以加鎖的辦法來解決。若使用傳統(tǒng)的機械式鑰匙開鎖,人們常需攜帶多把鑰匙, 使用極不方便, 且鑰匙丟失后安全性即大打折扣。隨著科學(xué)技術(shù)的不斷發(fā)展,人們對日常生活中的安全保險器件的要求越來越高。為滿足人們對鎖的使用要求,
10、增加其安全性,用密碼代替鑰匙的密碼鎖應(yīng)運而生。密碼鎖具有安全性高、成本低、功耗低、易操作等優(yōu)點。</p><p> 在安全技術(shù)防范領(lǐng)域,具有防盜報警功能的電子密碼鎖逐漸代替?zhèn)鹘y(tǒng)的機械式密碼鎖,克服了機械式密碼鎖密碼量少、安全性能差的缺點,使密碼鎖無論在技術(shù)上還是在性能上都大大提高一步。隨著大規(guī)模集成電路技術(shù)的發(fā)展,特別是單片機的問世,出現(xiàn)了帶微處理器的智能密碼鎖,它除具有電子密碼鎖的功能外,還引入了智能化管理、
11、專家分析系統(tǒng)等功能,從而使密碼鎖具有很高的安全性、可靠性,應(yīng)用日益廣泛。</p><p> 隨著人們對安全的重視和科技的發(fā)展,許多電子智能鎖(指紋識別、IC卡辨認)已在國內(nèi)外相繼面世。但是這些產(chǎn)品的特點是針對特定的指紋和有效卡,只能適用于保密要求的箱、柜、門等。而且指紋識識別器若在公共場所使用存在容易機械損壞,IC卡還存在容易丟失、損壞等特點。加上其成本較高,一定程度上限制了這類產(chǎn)品的普及和推廣。鑒于目前的技術(shù)
12、水平與市場的接收程度,電子密碼鎖是這類電子防盜產(chǎn)品的主流。 二、系統(tǒng)所要完成的功能</p><p> 基于以上思路,本文主要介紹一種使用 STC公司的 STC11F16XE單片機電子密碼鎖的設(shè)計,其主要具有如下功能: </p><p> 1、密碼確認功能:密碼通過矩陣鍵盤輸入,若密碼輸入正確,則將通過驅(qū)動口發(fā)出高電平信號作為機械制動開鎖的依據(jù)完成開鎖功能。同時在主界面上顯示:“The
13、 keywords is ok!” </p><p> 2、密碼設(shè)置功能:單片機剛剛上電復(fù)位后會通過LCD1602界面提示設(shè)置密碼:“Please set the keywords!”而且設(shè)置的密碼是可重復(fù)的,程序運行中可再次通過輸入相應(yīng)密碼然后修改。</p><p> 3、在密碼輸入錯誤時系統(tǒng)會通過LCD1602界面提示密碼輸入錯誤字符:“The keywords is false!
14、”同時不做開鎖動作。</p><p> 4、本次設(shè)計中利用一只LED代替機械制動系統(tǒng),燈亮表示開鎖,燈滅表示閉鎖。</p><p> 在本次的設(shè)計中,具體實現(xiàn)系統(tǒng)設(shè)計的過程如下:</p><p> 1、完成硬件的設(shè)計。通過PROTEL99SE繪制單片機最小系統(tǒng)板和矩陣鍵盤的原理圖和PCB版圖,然后通過實驗室的腐蝕液腐蝕出來,焊上元件,下載測試程序調(diào)試。<
15、/p><p> 完成軟件的設(shè)計。通過Keil uVision3軟件,編輯好源匯編程序,然后編譯和修改直到編譯器通過為止。</p><p> 把編譯好的HEX文件下載到單片機內(nèi)部運行,通過查找系統(tǒng)功能上的不足和可修改的地方,然后回過去修改源文件,最終成型。</p><p> 三、系統(tǒng)總體方案設(shè)計</p><p> 方案一:采用數(shù)字電路控制。
16、利用數(shù)字電路的邏輯運算功能,然后設(shè)計成電子密碼鎖,也可以完成系統(tǒng)的設(shè)計,甚至直接用FPGA完成設(shè)計就更加方便了。但是如果用FPGA完成則顯得非常的浪費,因為,F(xiàn)PGA一方面價格昂貴,另一方面用功能如此強大的芯片制作功能如此簡單的系統(tǒng)是一種耗費資源的行為,極不可取,故這里不采用此方案。</p><p> 方案二:采用DSP芯片TMS320F2812完成電子密碼鎖的設(shè)計。由于DSP芯片在邏輯運算和數(shù)學(xué)運算上的強大,
17、完成電子密碼鎖的設(shè)計非常容易,而且容易實現(xiàn)。但是DSP芯片TMS320F2812的價格昂貴,故此處不采用此方案。</p><p> 方案三:采用51系列單片機STC11F16XE為核心來完成控制方案,然后實現(xiàn)電子密碼鎖的設(shè)計。我們可以利用單片機靈活的編程設(shè)計和豐富的IO端口,及其控制的準確性,不但能實現(xiàn)基本的密碼鎖功能,還能添加調(diào)電存儲、聲光提示甚至添加遙控控制功能。其原理如圖3-1所示。</p>
18、<p> 圖3-1單片機控制方案</p><p> 通過比較以上三種方案,單片機方案有較大的活動空間,不但能實現(xiàn)所要求的功能而且能在很大的程度上擴展功能,而且還可以方便的對系統(tǒng)進行升級,所以我們采用第三種方案。</p><p> 設(shè)計的效果場景如下:</p><p> 1、輸入密碼用矩形鍵盤,包括數(shù)字鍵、字母鍵和功能鍵。</p>&
19、lt;p> 2、用液晶顯示屏LCD1602顯示字符和操作界面。</p><p> 3、用發(fā)光二極管代替開鎖的電路,發(fā)光表示開鎖,熄滅表示閉鎖。</p><p> 4、打開電源后,顯示器顯示“Please set the keywords!”提示用戶設(shè)置密碼,用戶可以在此時輸入一個8位的密碼。輸入至8位后系統(tǒng)自動跳轉(zhuǎn)到另一界面,顯示字符“The keywords set ok!”
20、</p><p> 5、在完成上面的步驟后,系統(tǒng)再次跳換到另一個界面:“Please input the keywords!”此時系統(tǒng)提示用戶輸入正確的密碼以完成開鎖的功能。用戶此時可以通過矩陣鍵盤來完成輸入密碼的功能。輸入位數(shù)為8位數(shù)。</p><p> 6、若輸入密碼正確則系統(tǒng)會顯示:“The keywords is ok!” ,同時點亮LED燈完成開鎖。否則系統(tǒng)將顯示“The k
21、eywords is false!”并且不做任何動作。</p><p> 在本次設(shè)計中,硬件主要完成單片機最小系統(tǒng)和矩陣鍵盤的設(shè)計,軟件主要由矩陣鍵盤子程序、顯示初始化程序、顯示字符子程序、數(shù)據(jù)比較子程序、數(shù)據(jù)寄存子程序和子程序調(diào)度主程序等組成。</p><p><b> 四、硬件電路設(shè)計</b></p><p> 4.1、單片機最小系統(tǒng)
22、設(shè)計</p><p> 單片機的最小系統(tǒng)中包括外接晶振、復(fù)位電路和P0口的上拉電阻。其原理圖如圖4.1所示:</p><p> 圖4.1 單片機最小系統(tǒng)</p><p> 4.2、鍵盤電路設(shè)計</p><p> 本設(shè)計中使用矩陣鍵盤作為輸入設(shè)備,它最大的優(yōu)點就是可以減少單片機I/O總線的占用,節(jié)省資源,而且可以產(chǎn)大量的不同組輸入數(shù)據(jù)。
23、在按鍵比較多的時候,通常采用這樣方法。其原理如圖4.2所示:</p><p><b> 。</b></p><p> 圖4.2 矩陣鍵盤原理圖</p><p> 每一條水平(行線)與垂直線(列線)的交叉處不相通,而是通過一個按鍵來連通,利用這種行列式矩陣結(jié)構(gòu)只需要N條行線和M條列線,即可組成具有N×M個按鍵的鍵盤。</p&
24、gt;<p> 在這種行列式矩陣鍵盤非鍵盤編碼的單片機系統(tǒng)中,鍵盤處理程序首先執(zhí)行等待按鍵并確認有無按鍵按下的程序段。</p><p> 當(dāng)確認有按鍵按下后,下一步就要識別哪一個按鍵按下。對鍵的識別通常有兩種方法:一種是常用的逐行掃描查詢法;另一種是速度較快的線反轉(zhuǎn)法。</p><p> 對照圖4.2所示的4×4鍵盤,說明線反轉(zhuǎn)的工作原理。</p>
25、<p> 首先辨別鍵盤中有無鍵按下,有單片機I/O口向鍵盤送全掃描字,然后讀入行線狀態(tài)來判斷。方法是:向行線輸出全掃描字00H,把全部列線置為低電平,然后將列線的電平狀態(tài)讀入累加器A中。如果有按鍵按下,總會有一根行線電平被拉至低電平從而使行線不全為1。</p><p> 判斷鍵盤中哪一個鍵被按下使通過將列線逐列置低電平后,檢查行輸入狀態(tài)來實現(xiàn)的。方法是:依次給列線送低電平,然后查所有行線狀態(tài),如
26、果全為1,則所按下的鍵不在此列;如果不全為1,則所按下的鍵必在此列,而且是在與零電平行線相交的交點上的那個鍵。</p><p> 本次電路的設(shè)計中,矩陣鍵盤的具體的功能設(shè)計如表3.1:</p><p><b> 表4.1 按鍵功能</b></p><p> 4.3、LCD顯示電路</p><p> 由于LCD16
27、02的引腳中有一個對比調(diào)整電壓,因此電路設(shè)計中主要就是對它串聯(lián)可調(diào)電阻和對背光燈串聯(lián)可調(diào)電阻的設(shè)計。這里我們采用P0口的并口總線和LCD1602數(shù)據(jù)總線相對應(yīng)??刂凭€采用P2.2、P2.3、P2.4三個位組成,分別控制RS、RW和E。在程序中用指令EQU定義。由于顯示電路比較簡單,故不截圖單獨說明。</p><p><b> 4.4、開鎖電路</b></p><p>
28、; 在本次設(shè)計中,基于節(jié)省材料的原則,暫時用發(fā)光二極管代替電磁鎖,發(fā)光管亮,表示開鎖;滅,表示沒有開鎖。電路圖如3.3所示。當(dāng)P2.0口輸出低電平時,二極管發(fā)光,表示開鎖。</p><p><b> 圖4.3 開鎖電路</b></p><p><b> 五、軟件設(shè)計</b></p><p> 5.1、軟件設(shè)計思路&
29、lt;/p><p> 電子密碼鎖工作的主要過程是LCD1602液晶顯示器提示開始輸入密碼,通過矩陣鍵盤輸入密碼,同時由液晶顯示器顯示輸入的情況,到輸入完成后系統(tǒng)自動作出判斷,作出開鎖或閉鎖處理。</p><p> 密碼的設(shè)定,在本設(shè)計中的程序中輸入的密碼是保存在30H—46H中的。在輸入過程中,首先輸入密碼的長度,接著根據(jù)密碼的長度輸入密碼的位數(shù),直到所有長度的密碼都已經(jīng)輸入完畢;或者輸入
30、確認功能鍵之后,才能完成密碼的輸入過程。進入密碼的判斷比較處理狀態(tài)并給出相應(yīng)的處理過程。</p><p> 5.2 各個子程序的設(shè)計 </p><p><b> 1、鍵盤掃描子程序</b></p><p> 鍵盤掃描流程圖如圖4.2.1</p><p> 圖5.1 鍵盤掃描流程圖</p>&
31、lt;p> 鍵盤掃描子程序如下:</p><p> KEY1: MOV A,P1 //鍵盤程序入口</p><p> ORL A,#0F0H</p><p><b> CPL A</b></p><p><b> JZ KEY1</b></p&g
32、t;<p> ACALL DELAY10MS</p><p><b> MOV A,P1</b></p><p> ORL A,#0F0H</p><p><b> CPL A</b></p><p><b> JZ KEY1</b></p>
33、<p> MOV P1,#7FH // 確認有鍵按下</p><p> MOV P1,#7FH</p><p><b> MOV A,P1</b></p><p> ORL A,#0F0H</p><p><b> CPL A</b></p><
34、;p> JNZ CHULI1 // 開始各種相應(yīng)處理</p><p> MOV P1,#0BFH</p><p><b> MOV A,P1</b></p><p> ORL A,#0F0H</p><p><b> CPL A</b></p><
35、;p> JNZ CHULI2</p><p> MOV P1,#0DFH</p><p><b> MOV A,P1</b></p><p> ORL A,#0F0H</p><p><b> CPL A</b></p><p> JNZ CHULI3<
36、;/p><p> MOV P1,#0EFH</p><p><b> MOV A,P1</b></p><p> ORL A,#0F0H</p><p><b> CPL A</b></p><p> JNZ CHULI4</p><p> 2
37、、液晶顯示初始化程序</p><p> 初始化程序主要完成各種顯示功能的配置:</p><p> MOV P0,#01H //顯示程序入口 初始化</p><p> ACALL ENABLE</p><p> MOV P0,#38H</p><p> ACALL ENABLE
38、</p><p> MOV P0,#0FH</p><p> ACALL ENABLE</p><p> MOV P0,#06H</p><p> ACALL ENABLE</p><p> MOV P0,80H</p><p> 3、液晶顯示部分程序</p><
39、p> 液晶顯示程序主要完成讀時序和寫時序的功能:</p><p> ENABLE: CLR RS</p><p><b> CLR RW</b></p><p><b> CLR E</b></p><p> ACALL DELAY10MS</p><p>
40、;<b> SETB E</b></p><p><b> RET</b></p><p> DAT1: SETB RS</p><p><b> CLR RW</b></p><p><b> CLR E</b></p>&
41、lt;p> ACALL DELAY10MS</p><p><b> SETB E</b></p><p><b> RET </b></p><p> 其中,ENABLE子程序主要完成對LCD1602的寫控制的功能,DAT1子程序主要完成對其的寫數(shù)據(jù)的功能。</p><p> 4、
42、數(shù)據(jù)比較判斷子程序</p><p> BIJIAO: ACALL DELAY</p><p> MOV P0,#01H</p><p> ACALL ENABLE</p><p> ACALL PLEASE</p><p> ACALL INPUT</p><p> ACALL
43、PASSWORD</p><p><b> MOV R3,#8</b></p><p> MOV R1,#2AH</p><p> ACALL MAIN</p><p><b> CLR C</b></p><p><b> MOV A,20H</b
44、></p><p> SUBB A,2AH</p><p> JNZ ZHONGZHI</p><p><b> MOV A,21H</b></p><p> SUBB A,2BH</p><p> JNZ ZHONGZHI</p><p><b>
45、; MOV A,22H</b></p><p> SUBB A,2CH</p><p> JNZ ZHONGZHI</p><p><b> MOV A,23H</b></p><p> SUBB A,2DH</p><p> JNZ ZHONGZHI</p>
46、<p><b> MOV A,24H</b></p><p> SUBB A,2EH</p><p> JNZ ZHONGZHI</p><p><b> MOV A,25H</b></p><p> SUBB A,2FH</p><p> JNZ Z
47、HONGZHI</p><p><b> MOV A,26H</b></p><p> SUBB A,30H</p><p> JNZ ZHONGZHI</p><p><b> MOV A,27H</b></p><p> SUBB A,31H</p>
48、<p> JNZ ZHONGZHI</p><p> 此子程序根據(jù)輸入的密碼自動和設(shè)置的密碼進行比對,并且依據(jù)其是否相等作出判斷而跳轉(zhuǎn)至不同的其他的子程序中去做相應(yīng)的操作。</p><p><b> 六、系統(tǒng)調(diào)試 </b></p><p> 本次調(diào)試采用實物調(diào)試。首先設(shè)計電子密碼鎖的源程序,源程序經(jīng)過匯編后,生成的目標
49、文件下載到單片機內(nèi)部,運行并做操作后查看和預(yù)期結(jié)果是否一樣。經(jīng)過不斷地修改,效果見附頁。其中主要包括了開機界面的顯示,輸入密碼正確后的顯示,提示輸入密碼的界面顯示和開鎖后的效果。 </p><p><b> 七、心得體會</b></p><p> 實踐是檢驗真理的唯一標準,當(dāng)然也是檢驗學(xué)習(xí)成果的標準。在經(jīng)過一段時間的學(xué)習(xí)之后,我們需要
50、了解自己的所學(xué)應(yīng)該如何應(yīng)用在實踐中,因為任何知識都源于實踐,歸于實踐,所以要將所學(xué)的知識在實踐中來檢驗。</p><p> 這次課程設(shè)計終于順利完成了,由于我們對于單片機的應(yīng)用并不熟悉,因此,我們請了碩勛勵志班的優(yōu)秀同學(xué)給我們進行指導(dǎo)。雖然老師并不要求做出實物,但碩勛班的那位同學(xué)認為要在實踐中我們才能學(xué)到更多,理解的更全面。因此,我們在那位同學(xué)的指導(dǎo)下做出了實物,雖然并不完美,但卻比理論學(xué)習(xí)的更多,實踐是檢驗真
51、理的唯一標準。當(dāng)然我們在設(shè)計中也遇到了很多問題,仿真軟件不熟悉,指令指針應(yīng)用不熟悉,實務(wù)操作就更是困難,真正體現(xiàn)出書到用時方恨少,我們女生在實踐方面的劣勢也嚴重的凸顯出來。開始的時候,幾乎是寸步難行,編程,操作什么的都要靠碩勛班同學(xué)細心地解釋指導(dǎo),慢慢地才生疏地上手了,在這里要誠摯的感謝碩勛勵志班的同學(xué),耐心的指導(dǎo)我們。其實一直到最后作品出來了,我們也沒有真正地理解了所有的東西,只是明白了許多零零散散的概念,這也證明了沒有什么是可以輕易
52、學(xué)到的。這次我們最大的心得就是要想真正地學(xué)習(xí)某一方面的東西,就必須全心全意心無旁騖地朝著這個方向走下去。。</p><p> 在做設(shè)計期間,在勵志班同學(xué)的指導(dǎo)下,通過自身的不斷努力,無論是思想上,學(xué)習(xí)上,都取得了長足的發(fā)展和巨大的收獲。顧起此次單片機課程設(shè)計,至今我們感慨頗多,的確,從選題到定稿,從理論到實踐,在整整兩星期的日子里,可以說得是苦多于甜,但是可以學(xué)到很多很多的的東西,同時不僅可以鞏固了以前所學(xué)過的
53、知識,而且學(xué)到了很多在書本上所沒有學(xué)到過的知識。通過這次課程設(shè)計使我們懂得了理論與實際相結(jié)合是很重要的,只有理論知識是遠遠不夠的,只有把所學(xué)的理論知識與實踐相結(jié)合起來,從理論中得出結(jié)論,才能真正為社會服務(wù),從而提高自己的實際動手能力和獨立思考的能力。在設(shè)計的過程中遇到問題,可以說得是困難重重,這畢竟第一次做的,難免會遇到過各種各樣的問題,同時在設(shè)計的過程中發(fā)現(xiàn)了自己的不足之處,對以前所學(xué)過的知識理解得不夠深刻,掌握得不夠牢固,對單片機匯
54、編語言掌握得不好,通過這次課程設(shè)計之后,一定把以前所學(xué)過的知識重新溫故。</p><p><b> 參考文獻</b></p><p> [1] 李朝青.單片機原理及接口技術(shù)(簡明修訂版)[M].北京:北京航空航天大學(xué)出版社,1998</p><p> [2] 李全利.單片機原理及接口技術(shù)[M].高等教育出版社,2003</p>
55、<p> [3] PROTEL99 SE電路設(shè)計與制板[M].機械工業(yè)出版社,2007</p><p> [4] 楊將新,李華軍,劉到駿等.單片機程序設(shè)計及應(yīng)用(從基礎(chǔ)到實踐)[J].電子工業(yè)出版社,2006</p><p> [7] 黃智偉.全國大學(xué)生電子設(shè)計競賽訓(xùn)練教程[M].北京:電子工業(yè)出版社, 2005</p><p><b&g
56、t; 附錄</b></p><p><b> 源程序清單</b></p><p><b> ORG 0000H</b></p><p> RS EQU P2.2</p><p> RW EQU P2.3</p><p> E EQU P2.4<
57、/p><p> AJMP START</p><p><b> ORG 2000H</b></p><p> DB 30H,31H,32H,33H,34H,35H,36H,37H</p><p> DB 38H,39H,41H,42H,43H,44H,45H,46H</p>
58、<p><b> ORG 0030H</b></p><p> START: MOV DPTR,#2000H //系統(tǒng)初始化</p><p> MOV SP,#60H</p><p><b> MOV R3,#8</b></p><p> MOV R1
59、,#20H</p><p><b> SETB P2.0</b></p><p> MOV P0,#01H //顯示程序入口 初始化</p><p> ACALL ENABLE</p><p> MOV P0,#38H</p><p> ACALL EN
60、ABLE</p><p> MOV P0,#0FH</p><p> ACALL ENABLE</p><p> MOV P0,#06H</p><p> ACALL ENABLE</p><p> MOV P0,80H</p><p> ACALL ENABLE</p>
61、<p> ACALL PLEASE</p><p> ACALL SEET</p><p> ACALL PASSWORD</p><p> ACALL MAIN</p><p> ACALL XIANSHI1</p><p> ACALL BIJIAO</p><p&g
62、t;<b> AJMP $</b></p><p> MAIN: MOV P1,#0FH</p><p> KEY1: MOV A,P1 //鍵盤程序入口</p><p> ORL A,#0F0H</p><p><b> CPL A</b><
63、/p><p><b> JZ KEY1</b></p><p> ACALL DELAY10MS</p><p><b> MOV A,P1</b></p><p> ORL A,#0F0H</p><p><b> CPL A</b></p
64、><p><b> JZ KEY1</b></p><p> MOV P1,#7FH // 確認有鍵按下</p><p> MOV P1,#7FH</p><p><b> MOV A,P1</b></p><p> ORL A,#0F0H</p>
65、;<p><b> CPL A</b></p><p> JNZ CHULI1 // 開始各種相應(yīng)處理</p><p> MOV P1,#0BFH</p><p><b> MOV A,P1</b></p><p> ORL A,#0F0H</p>
66、;<p><b> CPL A</b></p><p> JNZ CHULI2</p><p> MOV P1,#0DFH</p><p><b> MOV A,P1</b></p><p> ORL A,#0F0H</p><p><b>
67、 CPL A</b></p><p> JNZ CHULI3</p><p> MOV P1,#0EFH</p><p><b> MOV A,P1</b></p><p> ORL A,#0F0H</p><p><b> CPL A</b><
68、/p><p> JNZ CHULI4</p><p> CHULI1: MOV P1,#07FH //鍵值生成程序部分</p><p><b> MOV A,P1</b></p><p> JNB ACC.0,C1Z1</p><p> JNB ACC.1,C1Z2</
69、p><p> JNB ACC.2,C1Z3</p><p> JNB ACC.3,C1Z4</p><p> C1Z1: MOV A,#3</p><p><b> AJMP WANC</b></p><p> C1Z2: MOV A,#7</p><p
70、><b> AJMP WANC</b></p><p> C1Z3: MOV A,#11</p><p><b> AJMP WANC</b></p><p> C1Z4: MOV A,#15</p><p><b> AJMP WANC</b>
71、</p><p> CHULI2: MOV P1,#0BFH</p><p><b> MOV A,P1</b></p><p> JNB ACC.0,C2Z1</p><p> JNB ACC.1,C2Z2</p><p> JNB ACC.2,C2Z3</p>&l
72、t;p> JNB ACC.3,C2Z4</p><p> C2Z1: MOV A,#2</p><p><b> AJMP WANC</b></p><p> C2Z2: MOV A,#6</p><p><b> AJMP WANC</b></p>&
73、lt;p> C2Z3: MOV A,#10</p><p><b> AJMP WANC</b></p><p> C2Z4: MOV A,#14</p><p><b> AJMP WANC</b></p><p> CHULI3: MOV P1,#0DFH&l
74、t;/p><p><b> MOV A,P1</b></p><p> JNB ACC.0,C3Z1</p><p> JNB ACC.1,C3Z2</p><p> JNB ACC.2,C3Z3</p><p> JNB ACC.3,C3Z4</p><p> C
75、3Z1: MOV A,#1</p><p><b> AJMP WANC</b></p><p> C3Z2: MOV A,#5</p><p><b> AJMP WANC</b></p><p> C3Z3: MOV A,#9</p><p&g
76、t;<b> AJMP WANC</b></p><p> C3Z4: MOV A,#13</p><p><b> AJMP WANC</b></p><p> CHULI4: MOV P1,#0EFH</p><p><b> MOV A,P1</b>
77、</p><p> JNB ACC.0,C4Z1</p><p> JNB ACC.1,C4Z2</p><p> JNB ACC.2,C4Z3</p><p> JNB ACC.3,C4Z4</p><p> C4Z1: MOV A,#0</p><p><b>
78、 AJMP WANC</b></p><p> C4Z2: MOV A,#4</p><p><b> AJMP WANC</b></p><p> C4Z3: MOV A,#8</p><p><b> AJMP WANC</b></p><
79、p> C4Z4: MOV A,#12</p><p><b> AJMP WANC</b></p><p> WANC: MOV @R1,A //鍵值顯示程序</p><p><b> INC R1</b></p><p> MOVC A,@A+D
80、PTR</p><p><b> MOV P0,A</b></p><p> ACALL DAT1</p><p> DJNZ R3,MM1</p><p> MM0: AJMP ZUIHOU</p><p> MM1: AJMP MAIN</p><p
81、> ZUIHOU: RET</p><p> XIANSHI1: MOV P0,#01H</p><p> ACALL ENABLE //清屏</p><p> MOV P0,#50H //P</p><p> ACALL DAT1</p><p> MOV P0,#41H
82、 //A</p><p> ACALL DAT1</p><p> MOV P0,#53H //S</p><p> ACALL DAT1</p><p> MOV P0,#53H //S</p><p> ACALL DAT1</p>&l
83、t;p> MOV P0,#57H //W</p><p> ACALL DAT1</p><p> MOV P0,#4FH//O</p><p> ACALL DAT1</p><p> MOV P0,#52H//R</p><p> ACALL DAT1</p&
84、gt;<p> MOV P0,#44H//D</p><p> ACALL DAT1</p><p> MOV P0,#2DH//-</p><p> ACALL DAT1</p><p> ACALL SEET</p><p> MOV P0,#2DH</p>
85、<p> ACALL DAT1//-</p><p> MOV P0,#4FH</p><p> ACALL DAT1//O</p><p> MOV P0,#4BH</p><p> ACALL DAT1//K</p><p> MOV P0,#21H
86、</p><p> ACALL DAT1//!</p><p> ACALL DELAY</p><p> MOV P0,#01H//清屏</p><p> ACALL ENABLE</p><p><b> RET</b></p><p>
87、 DELAY10MS:MOV R0,#5</p><p> DEL1: MOV R4,#192</p><p> DEL2: MOV R2,#255</p><p><b> DJNZ R2,$</b></p><p> DJNZ R4,DEL2</p><p> DJN
88、Z R0,DEL1</p><p><b> RET</b></p><p> DELAY: MOV 30H,#50</p><p> DY1: MOV 31H,#200</p><p> DY2: MOV 32H,#200</p><p> DJNZ 32H,
89、$</p><p> DJNZ 31H,DY2</p><p> DJNZ 30H,DY1</p><p><b> RET</b></p><p> BIJIAO: ACALL DELAY</p><p> MOV P0,#01H</p><p> ACA
90、LL ENABLE</p><p> ACALL PLEASE</p><p> ACALL INPUT</p><p> ACALL PASSWORD</p><p><b> MOV R3,#8</b></p><p> MOV R1,#2AH</p><p>
91、; ACALL MAIN</p><p><b> CLR C</b></p><p><b> MOV A,20H</b></p><p> SUBB A,2AH</p><p> JNZ ZHONGZHI</p><p><b> MOV A,21H
92、</b></p><p> SUBB A,2BH</p><p> JNZ ZHONGZHI</p><p><b> MOV A,22H</b></p><p> SUBB A,2CH</p><p> JNZ ZHONGZHI</p><p>&l
93、t;b> MOV A,23H</b></p><p> SUBB A,2DH</p><p> JNZ ZHONGZHI</p><p><b> MOV A,24H</b></p><p> SUBB A,2EH</p><p> JNZ ZHONGZHI</
94、p><p><b> MOV A,25H</b></p><p> SUBB A,2FH</p><p> JNZ ZHONGZHI</p><p><b> MOV A,26H</b></p><p> SUBB A,30H</p><p>
95、 JNZ ZHONGZHI</p><p><b> MOV A,27H</b></p><p> SUBB A,31H</p><p> JNZ ZHONGZHI</p><p> TRUE: MOV P0,#01H</p><p> ACALL ENABLE //清
96、屏</p><p> MOV P0,#50H //P</p><p> ACALL DAT1</p><p> MOV P0,#41H //A</p><p> ACALL DAT1</p><p> MOV P0,#53H //S</p>
97、<p> ACALL DAT1</p><p> MOV P0,#53H //S</p><p> ACALL DAT1</p><p> MOV P0,#57H //W</p><p> ACALL DAT1</p><p> MOV P0,#4FH//O&l
98、t;/p><p> ACALL DAT1</p><p> MOV P0,#52H//R</p><p> ACALL DAT1</p><p> MOV P0,#44H//D</p><p> ACALL DAT1</p><p> MOV P0,#2DH
99、//-</p><p> ACALL DAT1</p><p> MOV P0,#49H//I</p><p> ACALL DAT1</p><p> MOV P0,#53H</p><p> ACALL DAT1//S</p><p> MOV P0,#2DH
100、</p><p> ACALL DAT1//-</p><p> MOV P0,#4FH</p><p> ACALL DAT1//O</p><p> MOV P0,#4BH</p><p> ACALL DAT1//K</p><p> MOV P0
101、,#21H</p><p> ACALL DAT1//!</p><p><b> CLR P2.0</b></p><p> // LCALL DELAY</p><p><b> AJMP EDD</b></p><p> ZHONGZ
102、HI: MOV P0,#01H</p><p> ACALL ENABLE //清屏</p><p> MOV P0,#50H //P</p><p> ACALL DAT1</p><p> MOV P0,#41H //A</p><p> ACAL
103、L DAT1</p><p> MOV P0,#53H //S</p><p> ACALL DAT1</p><p> MOV P0,#53H //S</p><p> ACALL DAT1</p><p> MOV P0,#57H //W</p><p&
104、gt; ACALL DAT1</p><p> MOV P0,#4FH//O</p><p> ACALL DAT1</p><p> MOV P0,#52H//R</p><p> ACALL DAT1</p><p> MOV P0,#44H//D</p>&
105、lt;p> ACALL DAT1</p><p> MOV P0,#2DH//-</p><p> ACALL DAT1</p><p> MOV P0,#49H//I</p><p> ACALL DAT1</p><p> MOV P0,#53H</p><
106、p> ACALL DAT1//S</p><p> MOV P0,#2DH</p><p> ACALL DAT1//-</p><p> MOV P0,#46H</p><p> ACALL DAT1</p><p> MOV P0,#61H</p><p&g
107、t; ACALL DAT1</p><p> MOV P0,#6CH</p><p> ACALL DAT1</p><p> MOV P0,#53H</p><p> ACALL DAT1</p><p> MOV P0,#65H</p><p> ACALL DAT1</
108、p><p><b> SETB P2.0</b></p><p> EDD: AJMP BIJIAO</p><p><b> RET</b></p><p> PLEASE: MOV P0,#50H//P</p><p> ACALL DAT1
109、</p><p> MOV P0,#6CH //L</p><p> ACALL DAT1</p><p> MOV P0,#65H //e</p><p> ACALL DAT1</p><p> MOV P0,#61H //a</p><p> ACALL DAT1&
110、lt;/p><p> MOV P0,#73H //s</p><p> ACALL DAT1</p><p> MOV P0,#65H //e</p><p> ACALL DAT1</p><p> MOV P0,#2DH //-</p><p> ACALL DAT1</p&
111、gt;<p><b> RET</b></p><p> INPUT: MOV P0,#69H // i</p><p> ACALL DAT1</p><p> MOV P0,#6EH //n</p><p> ACALL DAT1</p><p> MOV P
112、0,#70H //p</p><p> ACALL DAT1</p><p> MOV P0,#75H //u</p><p> ACALL DAT1</p><p> MOV P0,#74H //t</p><p> ACALL DAT1</p><p> MOV P0,#2
113、DH //-</p><p> ACALL DAT1</p><p><b> RET</b></p><p> PASSWORD: MOV P0,#50H //P</p><p> ACALL DAT1</p><p> MOV P0,#41H
114、 //A</p><p> ACALL DAT1</p><p> MOV P0,#53H //S</p><p> ACALL DAT1</p><p> MOV P0,#0C0H</p><p> ACALL ENABLE</p><p> MOV P0,#53
115、H //S</p><p> ACALL DAT1</p><p> MOV P0,#57H //W</p><p> ACALL DAT1</p><p> MOV P0,#4FH//O</p><p> ACALL DAT1</p><p> MO
116、V P0,#52H//R</p><p> ACALL DAT1</p><p> MOV P0,#44H//D</p><p> ACALL DAT1</p><p> MOV P0,#21H</p><p> ACALL DAT1</p><p><b&g
117、t; RET</b></p><p> SEET: MOV P0,#73H</p><p> ACALL DAT1</p><p> MOV P0,#65H</p><p> ACALL DAT1</p><p> MOV P0,#74H</p><p> AC
118、ALL DAT1</p><p><b> RET</b></p><p> CHU: ACALL PLEASE</p><p> ACALL INPUT</p><p> ACALL PASSWORD</p><p><b> RET</b></p
119、><p> ENABLE: CLR RS</p><p><b> CLR RW</b></p><p><b> CLR E</b></p><p> ACALL DELAY10MS</p><p><b> SETB E</b></p
120、><p><b> RET</b></p><p> DAT1: SETB RS</p><p><b> CLR RW</b></p><p><b> CLR E</b></p><p> ACALL DELAY10MS</p&g
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 眾賞文庫僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 單片機課程設(shè)計報告--基于單片機的電子密碼鎖
- 單片機課程設(shè)計報告--電子密碼鎖
- 單片機課程設(shè)計--電子密碼鎖報告
- 單片機課程設(shè)計---電子密碼鎖報告
- 單片機課程設(shè)計----電子密碼鎖報告
- 單片機課程設(shè)計--電子密碼鎖
- 基于單片機的電子密碼鎖設(shè)計 單片機課程設(shè)計報告
- 單片機課程設(shè)計--電子密碼鎖
- 基于單片機的電子密碼鎖設(shè)計 單片機課程設(shè)計
- 單片機課程設(shè)計---基于單片機的電子密碼鎖設(shè)計
- 單片機課程設(shè)計電子密碼鎖
- 單片機課程設(shè)計---基于單片機的電子密碼鎖設(shè)計
- 單片機課程設(shè)計--基于單片機控制的電子密碼鎖
- 單片機課程設(shè)計__電子密碼鎖報告.doc
- 單片機課程設(shè)計--基于單片機控制的電子密碼鎖
- 單片機課程設(shè)計--基于單片機控制的電子密碼鎖
- 基于單片機控制的電子密碼鎖課程設(shè)計
- 單片機課程設(shè)計--門禁電子密碼鎖
- 基于單片機的電子密碼鎖的課程設(shè)計
- 單片機-密碼鎖課程設(shè)計
評論
0/150
提交評論