密碼鎖的研究與設計_第1頁
密碼鎖的研究與設計_第2頁
密碼鎖的研究與設計_第3頁
密碼鎖的研究與設計_第4頁
密碼鎖的研究與設計_第5頁
已閱讀5頁,還剩14頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、 裝 訂 線2013-2014學年第 2學期 物電 學院期末考試卷計算機控制技術 學號: 201172020143 姓名: 張淑英 班級: 電子信息工程一班 成績:評語:(考試題目及要求)密碼鎖的研究與設計通過對計算機控制課程的學習,結合課程中對單片機知識的復習以及對計算機控制的基本原理的理解,完成了該設計。該課程作業(yè)主要是對密碼鎖的研究與設計。本控制器AT89C51單片機為核心鍵盤、顯示電路,輸出控制電路,告警提示電路等構成。利用目前使用的微處理器AT89C51 作為控制元件設計了一種電子密碼鎖。其具有可設置多 組密碼、多次改寫和保存密碼的優(yōu)點,克服了普通鎖需要隨身攜帶鑰匙且易丟失、保密 性

2、差的缺點,在賓館、辦公大樓、倉庫、保險柜和家庭普遍適用。 目錄一、課題背景及意義- 3 -二、設計要求- 4 -三、設計思路及設計方案- 4 -(一)設計方案選擇- 4 -(二)總體方案思路- 6 -(三)系統(tǒng)硬件設計- 6 -1.鍵盤設計- 6 -2. LED顯示設計- 7 -3.開鎖電路- 7 -4.報警電路- 8 -(四)軟件設計- 8 -1.鍵盤的讀取- 8 -2.LED顯示程序- 9 -3.密碼比較和報警程序- 9 -四、 程序調試- 11 -(一)KEIL C51簡介- 11 -(二)調試過程- 11 -五、設計總結- 12 -參考文獻- 13 -附錄- 14 -摘 要本論文詳細地

3、論述了以單片機為處理器的密碼鎖自動控制器的硬件、軟件設計和系統(tǒng)編程的問題。本控制器AT89C51單片機為核心鍵盤、顯示電路,輸出控制電路,告警提示電路等構成。利用目前使用的微處理器AT89C51 作為控制元件設計了一種電子密碼鎖。其具有可設置多組密碼、多次改寫和保存密碼的優(yōu)點,克服了普通鎖需要隨身攜帶鑰匙且易丟失、保密性差的缺點,在賓館、辦公大樓、倉庫、保險柜和家庭普遍適用。關鍵詞: AT89C51 鍵盤 液晶顯示 電子密碼鎖 一、課題背景及意義隨著科技和人們的生活水平的提高,如何實現(xiàn)家庭防盜這一問題也變的尤其的突出,傳統(tǒng)機械鎖由于構造簡單,被撬事件屢見不鮮;電子鎖由于其保密性高,使用靈活性好

4、,安全系數(shù)高,受到了廣大用戶的青睞。鎖是置于可啟閉的器物上,用以關住某個確定的空間范圍或某種器具的,必須以鑰匙或暗碼打開的扣件。鎖具發(fā)展到現(xiàn)在已有若干年的歷史了,人們對它的結構、機理也研究得很透徹,因此,不用鑰匙就能打開的方法和工具也層出不窮?,F(xiàn)代人類文明社會里,由于社會中各種矛盾沖突十分劇烈,人們的思想道德觀念,價值觀念,文化修養(yǎng)水平等差異,群眾中良莠不齊,善良的人們能夠自覺規(guī)范自已的行為,“非禮不為”,雖無鑰匙亦不會亂闖。然而,那些毫無道德觀念的盜賊卻想方設法利用高科技手段撬門開鎖,使廣大居民防不勝防。為什么會出現(xiàn)這種情況呢?因為傳統(tǒng)鎖具都存在致命的弱點:第一、 鎖芯采用常見的銅、鋁、鋅等

5、材料,抵抗不了強力破壞;第二、 鎖具制作工藝,技術落后,無法阻止技術手段的開啟。目前,市場上很多國內外的鎖具,實際上都不具備真正的防盜功能。在慣偷面前,兩根鋼絲或幾件簡單的工具就可以把這些鎖打開,有的慣偷甚至公開揚言:“沒有我打不開的鎖?!逼鋵崳皇撬麄兌喔呙?,而是一般鎖具技術原理太過簡單。面對這一殘酷的現(xiàn)狀,新時代提出了鎖具必須革命的迫切的要求。因此,許多電子智能鎖(指紋識別、IC卡辨認)已在國內外相繼面世。但是這些產品的特點是針對特定的指紋和有效卡,只能適用于保密要求的箱、柜、門等。而且指紋識識別器若在公共場所使用存在容易機械損壞,IC卡還存在容易丟失、損壞等特點。加上其成本較高,一定程度

6、上限制了這類產品的普及和推廣。鑒于目前的技術水平與市場的接收程度,電子密碼鎖是這類電子防盜產品的主流。隨著電子技術和計算機技術的飛速發(fā)展,單片機性能不斷完善,性能價格比顯著提高,技術日趨完善。由于單片機具有體積小、重量輕、價格便宜、功耗低、控制功能強及運算速度快等特點,因而在國民經(jīng)濟建設、軍事及家用電器等各個領域均得到了廣泛的應用。本設計以AT89C51為主控芯片,帶有一個密碼輸入鍵盤、外圍時鐘復位電路、電磁閥等實現(xiàn)電子鎖的鎖閉和打開。該鎖要求結構簡單,成本低,安全性高,易于主人隨時更新密碼,在一定程度上具有較大的市場競爭力。要求完成電子鎖的控制系統(tǒng)的實物演示模型。根據(jù)51單片機之間的串行通信

7、原理,這便于對密碼信息的隨機加密和保護。而且采用鍵盤輸入的電子密碼鎖具有較高的優(yōu)勢。采用數(shù)字信號編碼和二次調制方式,不僅可以實現(xiàn)多路信息的控制,提高信號傳輸?shù)目垢蓴_性,減少錯誤動作,而且功率消耗低;反應速度快、傳輸效率高、工作穩(wěn)定可靠等。軟件設計采用自上而下的模塊化設計思想,以使系統(tǒng)朝著分布式、小型化方向發(fā)展,增強系統(tǒng)的可擴展性和運行的穩(wěn)定性。測試結果表明,本系統(tǒng)各項功能已達到本設計的所有要求。二、設計要求(1)密碼通過鍵盤輸入,若密碼正確,則將鎖打開。 (2)報警、鎖定鍵盤功能。密碼輸入錯誤數(shù)碼顯示器會出現(xiàn)錯誤提示,若密碼輸入錯誤次數(shù)超過 3 次,蜂鳴器報警并且鎖定鍵盤。 (3)密碼清除功能

8、:當按下清除鍵時,清除前面輸入的所有值,并清除所有顯示。 (4)密碼可以由用戶自己修改設定(只支持6位密碼),修改密碼之前必須再次輸入密碼,在輸入新密碼時候需要二次確認,以防止誤操作 。三、設計思路及設計方案(一)設計方案選擇方案一:采用數(shù)字電路控制。用以74LS112雙JK觸發(fā)器構成的數(shù)字邏輯電路作為密碼鎖的核心控制,共設了9個用戶輸入鍵,其中只有4個是有效的密碼按鍵,其它的都是干擾按鍵,若按下干擾鍵,鍵盤輸入電路自動清零,原先輸入的密碼無效,需要重新輸入;如果用戶輸入密碼的時間超過10秒(一般情況下,用戶不會超過10秒,若用戶覺得不便,還可以修改)電路將報警20秒,若電路連續(xù)報警三次,電路

9、將鎖定鍵盤2分鐘,防止他人的非法操作。電路由兩大部分組成:密碼鎖電路和備用電源(UPS),其中設置UPS電源是為了防止因為停電造成的密碼鎖電路失效,使用戶免遭麻煩。密碼鎖電路包含:鍵盤輸入、密碼修改、密碼檢測、開鎖電路、執(zhí)行電路、報警電路、鍵盤輸入次數(shù)鎖定電路。如圖1.圖1.采用數(shù)字電路控制方案二:采用一種是用以AT89C51為核心的單片機控制方案。選用單片機AT89C51 作為本設計的核心元件,利用單片機靈活的編程設計和豐富的IO端口,及其控制的準確性,實現(xiàn)基本的密碼鎖功能。在單片機的外圍電路外接輸入鍵盤用于密碼的輸入和一些功能的控制,外接LCD1602顯示器用于顯示作用。其原理圖2所示:圖

10、2.以AT89C51為核心的單片機設計方案通過比較以上兩種方案,采用數(shù)字電路設計的方案好處就是設計簡單但控制的準確性和靈活性差。單片機方案有較大的活動空間,不但能實現(xiàn)所要求的功能而且能在很大的程度上擴展功能,而且還可以方便的對系統(tǒng)進行升級,所以我們采用后一種方案。(二)總體方案思路本方案采用一種是用以89C51為核心的單片機控制方案。利用單片機靈活的編程設計和豐富的I/O端口,及其控制的準確性,實現(xiàn)基本的密碼鎖功能。輸入密碼用矩形鍵盤,包括數(shù)字鍵和功能鍵。LED數(shù)碼管顯示輸入密碼,用74JS247驅動數(shù)碼管發(fā)光顯示數(shù)碼,用74LS138控制各位顯示器分時進行顯示。用發(fā)光二極管代替開鎖的電路,發(fā)

11、光表示開鎖。輸入密碼錯誤次數(shù)超過3次,系統(tǒng)報警。打開電源后,顯示器顯示“000000”,設原始密碼為“123456”,只要輸入此密碼便了開門。這樣可預防停電后再來電時無密碼可用。按“C”鍵,清除顯示器為“000000”。欲重新設定密碼,先輸入密碼在案“*”。輸入密碼,再按“D”確認鍵。若密碼與設定密碼相同,則開門。否則顯示器清為“000000”。硬件的設計主要包括鍵盤的輸入,LED顯示電路,開鎖電路,報警電路。軟件的設計主要包括鍵盤鍵值的讀取,LED顯示程序,密碼比較程序和報警程序。(三)系統(tǒng)硬件設計1.鍵盤設計本設計就采用行列式鍵盤,同時也能減少鍵盤與單片機接口時所占用的I/O線的數(shù)目,在按

12、鍵比較多的時候,通常采用這樣方法。 每一條水平(行線)與垂直線(列線)的交叉處不相通,而是通過一個按鍵來連通,利用這種行列式矩陣結構只需要N條行線和M條列線,即可組成具有N×M個按鍵的鍵盤。 在這種行列式矩陣鍵盤非鍵盤編碼的單片機系統(tǒng)中,鍵盤處理程序首先執(zhí)行等待按鍵并確認有無按鍵按下的程序段。 4×4矩陣鍵盤的工作原理 在鍵盤中按鍵數(shù)量較多時,為了減少I/O口的占用,通常將按鍵排列成矩陣形式,如圖所示。在矩陣式鍵盤中,每條水平線和垂直線在交叉處不直接連通,而是通過一個按鍵加以連接。這樣,一個端口(如P1口)就可以構成4*4=16個按鍵,比之直接將端口線用于鍵盤多出了一倍,而

13、且線數(shù)越多,區(qū)別越明顯,比如再多加一條線就可以構成20鍵的鍵盤,而直接用端口線則只能多出一鍵(9鍵)。由此可見,在需要的鍵數(shù)比較多時,采用矩陣法來做鍵盤是合理的。如圖3所示。圖3 .4*4鍵盤的工作原理2. LED顯示設計本系統(tǒng)設計的顯示電路是為了給使用者以提示而設置的。本系統(tǒng)的顯示采用串行顯示的方式,只使用單片機的一個串行口,利用74LS247驅動數(shù)碼管發(fā)光顯示數(shù)碼和74LS138控制位選信號,就可以完成單片機的顯示功能。3.開鎖電路在本次設計中,基于節(jié)省材料的原則,暫時用發(fā)光二極管代替電磁鎖,發(fā)光管亮,表示開鎖;滅,表示沒有開鎖。當P2.0口輸出低電平時,二極管發(fā)光,表示開鎖。4.報警電路

14、報警模塊由蜂鳴器和單片機組成。選擇一只壓電式蜂鳴器,壓電式蜂鳴器工作時約需要100mA驅動電流。蜂鳴器電路如圖3.4所示。當89C51的P2.1口輸出為低電平時,蜂鳴器產生蜂鳴音,89C51輸出為高電平時,蜂鳴器不發(fā)聲。(四)軟件設計1.鍵盤的讀取在這種行列式矩陣鍵盤非鍵盤編碼的單片機系統(tǒng)中,鍵盤處理程序首先執(zhí)行等待按鍵并確認有無按鍵按下的程序段。當確認有按鍵按下后,下一步就要識別哪一個按鍵按下。對鍵的識別通常有兩種方法:一種是常用的逐行掃描查詢法;另一種是速度較快的線反轉法。首先辨別鍵盤中有無鍵按下,有單片機I/O口向鍵盤送全掃描字,然后讀入行線狀態(tài)來判斷。方法是:向行線輸出全掃描字00H,

15、把全部列線置為低電平,然后將列線的電平狀態(tài)讀入累加器A中。如果有按鍵按下,總會有一根行線電平被拉至低電平從而使行線不全為1。判斷鍵盤中哪一個鍵被按下使通過將列線逐列置低電平后,檢查行輸入狀態(tài)來實現(xiàn)的。方法是:依次給列線送低電平,然后查所有行線狀態(tài),如果全為1,則所按下的鍵不在此列;如果不全為1,則所按下的鍵必在此列,而且是在與零電平行線相交的交點上的那個鍵。2.LED顯示程序圖4 LED顯示程序流程圖3.密碼比較和報警程序電子密碼鎖工作的主要過程是LED數(shù)碼管提示開始輸入密碼,通過鍵盤輸入密碼,同時LED顯示密碼輸入情況,按下確認鍵后判斷密碼的正確性,作出開鎖或報警處理。當輸入密碼連續(xù)輸入錯誤

16、3次時,系統(tǒng)報警。密碼的設定,在此程序中密碼是固定40H45H中,假設預設的密碼為"123456"共6位密碼。由于采用兩個按鍵來完成密碼的輸入,那么其中一個按鍵為功能鍵,另一個按鍵為數(shù)字鍵。在輸入過程中,首先輸入密碼的長度,接著根據(jù)密碼的長度輸入密碼的位數(shù),直到所有長度的密碼都已經(jīng)輸入完畢;或者輸入確認功能鍵之后,才能完成密碼的輸入過程。進入密碼的判斷比較處理狀態(tài)并給出相應的處理過程。開始否是密碼錯誤主人是否要修改密碼開門輸入正確密碼保存后系統(tǒng)返回輸入新密碼報警輸入錯誤滿3次輸入錯誤未滿3次密碼比較系統(tǒng)喚醒上電密碼輸入完畢系統(tǒng)等待密碼輸入系統(tǒng)返回流程圖如下所示:圖5 密碼比

17、較和報警程序流程圖4、 程序調試調試本程序需要用到KEIL C51,及51開發(fā)板一塊及其配套的下載燒錄軟件(一)KEIL C51簡介Keil C51是美國Keil Software公司出品的51系列兼容單片機C語言軟件開發(fā)系統(tǒng),與匯編相比,C語言在功能上、結構性、可讀性、可維護性上有明顯的優(yōu)勢,因而易學易用。用過匯編語言后再使用C來開發(fā),體會更加深刻。Keil C51軟件提供豐富的庫函數(shù)和功能強大的集成開發(fā)調試工具,全Windows界面。另外重要的一點,只要看一下編譯后生成的匯編代碼,就能體會到Keil C51生成的目標代碼效率非常之高,多數(shù)語句生成的匯編代碼很緊湊,容易理解。在開發(fā)大型軟件時

18、更能體現(xiàn)高級語言的優(yōu)勢。 C51工具包的整體結構: uVision與Ishell分別是C51 for Windows和for Dos的集成開發(fā)環(huán)境(IDE),可以完成編輯、編譯、連接、調試、仿真等整個開發(fā)流程。開發(fā)人員可用IDE本身或其它編輯器編輯C或匯編源文件。然后分別由C51及A51編譯器編譯生成目標文件(.OBJ)。目標文件可由LIB51創(chuàng)建生成庫文件,也可以與庫文件一起經(jīng)L51連接定位生成絕對目標文件(.ABS)。ABS文件由OH51轉換成標準的Hex文件,以供調試器dScope51或tScope51使用進行源代碼級調試,也可由仿真器使用直接對目標板進行調試,也可以直接寫入程序存貯器如

19、EPROM中。(二)調試過程首先打開KEIL C51主程序,新建工程,新建文本框寫入程序,保存,檢查是否有語法錯誤,經(jīng)反復檢查無誤后匯編,生成51單片機可執(zhí)行的HEX文件。然后用51開發(fā)板相匹配的燒錄軟件把HEX文件寫入單片機。圖6 keil c51調試介面五、設計總結通過這學期對計算機控制這門課程的學習,結合以前的單片機知識完成了該設計。通過這次設計我懂得了實踐是檢驗真理的唯一標準,當然也是檢驗學習成果的標準。在經(jīng)過一段時間的學習之后,我們需要了解自己的所學應該如何應用在實踐中,因為任何知識都源于實踐,歸于實踐,所以要將所學的知識在實踐中來檢驗。在做設計期間,在老師的指導下,通過自身的不斷努

20、力,無論是思想上,學習上,都取得了長足的發(fā)展和巨大的收獲,現(xiàn)將工作總結如下:思想上,學會了用科學的精神去解決問題。很多事情看起來是很簡單的問題,但實際做起來去會發(fā)現(xiàn)有許多奧妙!這是因為其中蘊含著許多科學的問題。運用科學的方法去解決問題,這是我這次實訓給我?guī)淼乃枷肷系母淖儭W習上,使自已在大學所以的知識在這次得到實踐,學到一些書本上無法學到的經(jīng)驗,對電子元件有了進一步的認識。電子鎖是信息化時代發(fā)展的產物,應時而生,我相信隨著科技的不斷發(fā)展,將來的電子鎖一定更加完美,更加人性化,更加便宜,更加安全。計算機控制發(fā)展是自動化技術的熱門研究課題,它們的發(fā)展與進步將是實施CIPS的保證。CIPS利用計算

21、機技術對整個企業(yè)的運作和過程進行綜合管理和控制,它包括市場營銷、生產計劃調度、原料選擇、產品分配、成本管理,以及工藝過程的控制、優(yōu)化和管理的全過程。分布式控制系統(tǒng),先進過程控制以及網(wǎng)絡技術,數(shù)據(jù)庫技術是實現(xiàn)CIPS的重要基礎。可以預計,通過廣大學者與工程技術人員的努力,今后我國會在過程工業(yè)的計算機粲成過程系統(tǒng)中取得更多的進展與成果。參考文獻1 李朝青.單片機原理及接口技術.北京:北京航空航天大學出版社,19982 李全利.單片機原理及接口技術.高等教育出版社,20033 何宏主編. 單片機原理與接口技術. 北京:國防工業(yè)出版社. 2006.074 楊將新,李華軍,劉到駿等.單片機程序設計及應用

22、電子工業(yè)出版社,20065 黃智偉.全國大學生電子設計競賽訓練教程M.北京:電子工業(yè)出版社,2005附錄- 18 -本設計的程序:hc0 equ 4ah ;延時緩存區(qū)hc1 equ 4bhhc2 equ 4chhc3 equ 4dhhc4 equ 4ehxs_0 equ 50h ;顯示緩存區(qū)xs_1 equ 51hxs_2 equ 52hxs_3 equ 53hxs_4 equ 54hxs_5 equ 55hxs_6 equ 56hxs_7 equ 57hxs_8 equ 58hxs_9 equ 59hps1 equ 5ah ;設置密碼緩存區(qū)ps2 equ 5bhps3 equ 5chps4

23、equ 5dhmmbz equ 5fh ;密碼輸入次數(shù)at1 equ 60h ;輸入密碼緩存區(qū)at2 equ 61hat3 equ 62hat4 equ 63h ;初始化org 00hajmp main1org 30hmain1: mov ps1 ,#00h mov ps2 ,#00h mov ps3 ,#00h mov ps4 ,#00h mov at1 ,#00h mov at2 ,#00h mov at3 ,#00h mov at4 ,#00hmain:mov xs_0 ,#1fh ;顯示0的摩斯值mov xs_1 ,#0fh ;顯示1的摩斯值mov xs_2 ,#07h ;顯示2的摩斯

24、值mov xs_3 ,#03h ;顯示3的摩斯值mov xs_4 ,#01h ;顯示4的摩斯值mov xs_5 ,#00h ;顯示5的摩斯值mov xs_6 ,#10h ;顯示6的摩斯值mov xs_7 ,#18h ;顯示7的摩斯值mov xs_8 ,#1ch ;顯示8的摩斯值mov xs_9 ,#1eh ;顯示9的摩斯值clr p3.0 ;RXD置0mov a ,#00h ;密碼緩存mov r2 ,#04h ;四位密碼mov r1 ,#00hmov r0 ,#ps1mov r7 ,#05h ;摩斯次數(shù),由于數(shù)字為5次clr p2.7start:mov p0 ,#0ffhmov p1 ,#0f

25、fhsetb p2.4 ;按鍵位jb p2.4 ,start ;2.4為1轉startlcall delay500msjb p2.4 ,startok: ;嘀的音clr p0.0lcall delay500msjnb p2.4 ,daa ;是否去嗒音cun: ;setb p0.2setb p0.0rl aadd a ,r1 ;存入一位摩斯碼djnz r7 ,yanshi ;是否夠五位摩斯碼ajmp xianshiyanshi: ;輸入一位摩斯碼停頓1tlcall delay500ms jb p2.4 ,mainajmp okdaa: ;嗒的音lcall delay500msjb p2.4 ,s

26、topsetb p0.0clr p0.2lcall delay500mssetb p0.2 jnb p2.4 ,stop mov r1 ,#01h ajmp cunstop: ;摩斯輸入錯誤 clr p0.4 lcall delay2s setb p0.4 ajmp maincunchu:mov r0 ,a inc r0 mov a ,#00h mov r1 ,#00h mov r7 ,#05h djnz r2 ,yanshi clr p0.6 lcall delay2s setb p0.6 ajmp shuruxianshi:cjne a ,xs_0 ,next1 ;夠五位摩斯碼顯示0 mo

27、v p1 ,#0c0h clr p3.2 ;報警器 lcall delay1s setb p3.2 ;報警器 mov p1 ,#0ffh ajmp cunchunext1:cjne a ,xs_1 ,next2 ;夠五位摩斯碼顯示1 mov p1 ,#0f9h clr p3.2 lcall delay1s setb p3.2 mov p0 ,#0ffh ajmp cunchunext2:cjne a ,xs_2 ,next3 ;夠五位摩斯碼顯示2 mov p1 ,#0a4h clr p3.2 lcall delay1s setb p3.2 mov p1 ,#0ffh ajmp cunchune

28、xt3: cjne a ,xs_3 ,next4 ;夠五位摩斯碼顯示3 mov p1 ,#0b0h clr p3.2 lcall delay1s setb p3.2 mov p1 ,#0ffh ajmp cunchunext4: cjne a ,xs_4 ,next5 ;夠五位摩斯碼顯示4 mov p1 ,#99h clr p3.2 lcall delay1s setb p3.2 mov p1 ,#0ffh ajmp cunchunext5: cjne a ,xs_5 ,next6 ;夠五位摩斯碼顯示5 mov p1 ,#92h clr p3.2 lcall delay1s setb p3.2

29、 mov p1 ,#0ffh ajmp cunchunext6: cjne a ,xs_6 ,next7 ;夠五位摩斯碼顯示6 mov p1 ,#7dh clr p3.2 lcall delay1s setb p3.2 mov p1 ,#0ffh ajmp cunchunext7: cjne a ,xs_7 ,next8 ;夠五位摩斯碼顯示7 mov p1 ,#0f8h clr p3.2 lcall delay1s setb p3.2 mov p1 ,#0ffh ajmp cunchunext8: cjne a ,xs_8 ,next9 ;夠五位摩斯碼顯示8 mov p1 ,#080h clr

30、 p3.2 lcall delay1s setb p3.2 mov p1 ,#0ffh ajmp cunchunext9:cjne a ,xs_9 ,cw ;夠五位摩斯碼顯示9 mov p1 ,#90h clr p3.2 lcall delay1s setb p3.2 mov p1 ,#0ffh ajmp cunchucw: clr p3.2 clr p0.4 lcall delay5s clr p0.4 setb p3.2 ajmp main1shuru: ;開門復位mov mmbz ,#03 ;錯誤密碼次數(shù) mov at1 ,#00h mov at2 ,#00h mov at3 ,#00h

31、 mov at4 ,#00h shuru2: clr p0.6 mov a ,#00h ;密碼緩存 mov r2 ,#04h ;四位密碼 mov r1 ,#00h mov r0 ,#at1 mov r7 ,#05hstart1: jb p2.4 ,start1 lcall delay500ms jb p2.4 ,start1ok1: ;滴音 setb p3.0 ;開門后再按鍵1t setb p0.6 clr p0.0 lcall delay500ms jnb p2.4 ,daaacun1: setb p0.2 setb p0.0 rl a add a ,r1 djnz r7 ,yanshi1

32、ajmp xianshi1yanshi1: ;每個摩斯碼之間延時1t lcall delay500ms jb p2.4 ,stop1 ajmp ok1daaa: ;嗒音 lcall delay500ms jb p2.4 ,stop1 setb p0.0 clr p0.2 lcall delay500ms setb p0.2 jnb p2.4 ,stop1 mov r1 ,#01h ajmp cun1stop1: ;摩斯碼錯誤處理 clr p0.4 lcall delay2s setb p0.4 ajmp shuru2cunchu2: mov r0 ,a inc r0 mov a ,#00h m

33、ov r1 ,#00h mov r7 ,#05h djnz r2 ,yanshi1 ajmp bijiaoxianshi1: ;顯示處理 cjne a ,xs_0 ,next1_1 mov p1 ,#0c0h clr p3.2 lcall delay1s setb p3.2 mov p1 ,#0ffh ajmp cunchu2next1_1: cjne a ,xs_1 ,next2_2 mov p1 ,#0f9h clr p3.2 lcall delay1s setb p3.2 mov p1 ,#0ffh ajmp cunchu2next2_2: cjne a ,xs_2 ,next3_3 m

34、ov p1 ,#0a4h clr p3.2 lcall delay1s setb p3.2 mov p1 ,#0ffh ajmp cunchu2next3_3: cjne a ,xs_3 ,next4_4 mov p1 ,#0b0h clr p3.2 lcall delay1s setb p3.2 mov p1 ,#0ffh ajmp cunchu2next4_4: cjne a ,xs_4 ,next5_5 mov p1 ,#99h clr p3.2 lcall delay1s setb p3.2 mov p1 ,#0ffh ajmp cunchu2next5_5: cjne a ,xs_5 ,next6_6 mov p1 ,#92h clr p3.2 lcall delay1s setb p3.2 mov p1 ,#0ffh ajmp cunchu2next6_6: cjne a ,xs_6 ,next7_7 mov p1 ,#82h clr p3.2 lcall delay1s setb p3.2 mov p1 ,#0ffh ajmp cunchu2next7_7: cjne a ,xs_7 ,next8_8 mov p1 ,#0f8h clr p3.2

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論