基于單片機的電子密碼鎖的設(shè)計畢業(yè)論文_第1頁
已閱讀1頁,還剩37頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)

文檔簡介

1、<p><b>  畢業(yè)論文(設(shè)計)</b></p><p>  題 目: 基于單片機的電子密碼鎖的設(shè)計 </p><p>  系部名稱: 專業(yè)班級: </p><p>  學(xué)生姓名: 學(xué) 號:

2、</p><p>  指導(dǎo)教師: 教師職稱: </p><p><b>  20年0月日</b></p><p><b>  摘 要</b></p><p>  隨著科技的發(fā)展,安全已成為人們關(guān)注的焦點之一,于是各種安全產(chǎn)品相繼問世(如指紋防盜!紅外防盜!GPS等)&

3、quot;雖然這類產(chǎn)品安全性高,但因其生產(chǎn)成本高,攜帶安裝使用不方便,在一定程度上限制了這類產(chǎn)品的普及和推廣" 本文介紹的是一種基于單片機智能鎖的硬件和軟件設(shè)計及實現(xiàn)方法"這種電路設(shè)計具有按鍵有效提示,輸入錯誤提示,控制開鎖電平,控制報警電路,修改密碼等多種功能"可在意外泄密的情況下隨時修改密碼"4位數(shù)密碼共一萬組不重復(fù)組合,保密性強,靈活性高,特別適用于家庭,辦公室,學(xué)生宿舍及賓館等公開場所。&

4、lt;/p><p>  本文采用以89c51為核心的主控芯片外接AT24C01掉電存儲單元來完成控制功能,設(shè)計主要分為硬件和軟件兩部分,由矩陣鍵盤,顯示電路,報警電路,單片機復(fù)位及晶振電路等構(gòu)成外圍硬件電路,軟件部分則由控制程序來完成。通過軟硬件結(jié)合來實現(xiàn)設(shè)計功能。 </p><p>  本文通過單片機及外圍芯片完成密碼鎖的上鎖及開鎖功能,采用的設(shè)計思想是由鍵盤輸入的設(shè)置密碼被存儲在固定單元內(nèi)

5、,然后通過單片機對鍵盤進行掃描以確認密碼是否正確,若密碼正確則發(fā)出開鎖信號,在此用二極管說明開鎖信號,若密碼不對則發(fā)出警報,這樣設(shè)計的目的極大的提高了產(chǎn)品的安全性。</p><p>  關(guān)鍵字:89c51,AT24C01掉電存儲,矩陣鍵盤,顯示電路,報警電路等。</p><p>  The design of electronic locks based on microcontrolle

6、r</p><p><b>  Abstract</b></p><p>  With the development of technology, security has become the focus of attention, so a variety of security products have come out (such as fingerpri

7、nt security! infrared alarm! GPS, etc.) "Although these products are safe, but because of its high production costs, Installation is not convenient to carry, to a certain extent, limited the popularity of such produ

8、cts and to promote "This paper describes a microcontroller-based intelligent lock hardware and software design and implementation method, "</p><p>  In this paper, the core of the main chip 89c51,

9、AT24C01 external storage unit to complete the power-down control, hardware and software design can be divided into two parts, the matrix keyboard, display circuit, alarm circuit, microcontroller reset, and constitute the

10、 external crystal circuit Hardware, software part by the control program to complete. Design capabilities achieved through the combination of hardware and software.</p><p>  By MCU and peripheral chips to co

11、mplete locking and unlocking code lock function, using the design set by the keyboard input password is stored in a fixed unit, and then scan through the SCM on the keyboard to confirm the password is correct, if the pas

12、sword is correct Issue the unlock signal diodes that use the lock on this signal, if the password is not alert, this is designed to greatly improve the safety of products.</p><p>  Keywords:Chip89C51 AT24C0

13、1power-down storage Matrix keyboard Display circuit Alarm circuit and so on.</p><p><b>  目 錄</b></p><p><b>  1 概述1</b></p><p>  1.1 課題背景和意義1</p>

14、;<p>  1.2 本設(shè)計需要解決的問題1</p><p>  1.3 本設(shè)計的研究方法2</p><p>  1.4 設(shè)計方案論述2</p><p>  2 外圍硬件電路的設(shè)計4</p><p>  2.1 硬件的基本組成4</p><p>  2.2 硬件介紹4</p&g

15、t;<p>  2.2.1 單片機概述4</p><p>  2.2.2 AT89c51的簡介7</p><p>  2.2.3 單片機控制方框圖10</p><p>  2.2.4 開鎖機構(gòu)示意圖10</p><p>  2.2.5 矩陣鍵盤12</p><p>  2.2.6 2

16、4C01掉電存儲單元設(shè)計13</p><p>  2.2.7 顯示電路設(shè)計14</p><p>  2.2.8 電源穩(wěn)壓模塊設(shè)計15</p><p>  3 軟件設(shè)計16</p><p>  3.1 主程序模塊16</p><p>  3.2 鍵盤掃描及識別子程序16</p><

17、;p>  3.3 密碼對比程序17</p><p>  3.4 開鎖程序18</p><p>  4 結(jié) 論20</p><p>  5 致 謝21</p><p><b>  參考文獻22</b></p><p><b>  附錄一23</b>

18、</p><p><b>  附錄二24</b></p><p><b>  1 概述</b></p><p>  1.1 課題背景和意義</p><p>  隨著人們生活水平的提高,如何實現(xiàn)家庭防盜這一問題也變的尤其的突出,傳統(tǒng)的機機械鎖由于其構(gòu)造的簡單,被撬的事件屢見不鮮。電子密碼鎖是由電子

19、電路控制鎖體的新型鎖具,它采用矩陣鍵盤輸入密碼的方式開鎖,操作方便。電子鎖的輸入部分采用鍵盤開關(guān)(矩陣鍵盤),其優(yōu)點比于傳統(tǒng)的機械開關(guān)在于其保密性高,使用靈活性好,安全系數(shù)高,無活動零件,不會磨損,壽命長等實用功能受到了廣大用戶的親賴。出于安全、方便等方面的需要,許多電子密碼鎖已相繼問世?;趩纹瑱C的電子密碼鎖是智能密碼鎖的初級產(chǎn)品,先進一點的比如指紋識別及更高級的虹膜識別系統(tǒng)的密碼鎖業(yè)已被開發(fā)出來,但這類產(chǎn)品的特點是針對特定有效卡、指

20、紋或聲音或者人身上獨一無二的某一項特征有效,而且不能實現(xiàn)遠程控制,只能適用于保密要求高且供個人使用的箱、柜、房間等。除此之外卡片式IC卡還有易丟失,攜帶不便等特點,加上其成本比較高,在一定程度上限制了這類產(chǎn)品的普及和推廣。但是基于單片機的密碼鎖由于其結(jié)構(gòu)簡單,成本低,無論是安全還是效益都能滿足普通用戶的需求,所以基于單片機的密碼鎖在電子產(chǎn)品的中低端市場有很廣闊的前景。應(yīng)該被廣泛地應(yīng)用和推廣。</p><p>  

21、在科學(xué)技術(shù)不斷發(fā)展的今天,電子密碼防盜鎖作為防盜衛(wèi)士的作用也日趨重要。本設(shè)計采用89c51單片機作為電路控制的核心單元,設(shè)計了一款具有本機開鎖和報警功能的電子密碼鎖。即簡單又實用。</p><p>  1.2 本設(shè)計需要解決的問題</p><p>  本設(shè)計的任務(wù)采用單片機89c51作為單片機的核心單元,利用單片機串行發(fā)射、接收等功能而設(shè)計的一款具有本機開鎖和報警功能的電子密碼鎖。主要分

22、為以下幾個部分:1)設(shè)置密碼</p><p>  將事先編好的密碼程序存儲在EPROM中,用戶通過密碼選擇鍵進行選擇。具體操作過程如下:首先按下密碼輸入鍵,然后在逐漸輸入號碼,最后按下確認鍵即可。</p><p><b>  2)密碼顯示</b></p><p>  為了幫助用戶確認是否有鍵按下,特在電路中設(shè)置了數(shù)字顯示電路;而為了防止密碼外泄

23、;顯示時,并不是顯示用戶按下的數(shù)字符號,而是以一個特定的字母符號提醒用戶是否有鍵按下。有鍵按下,就會顯示出字符---“*”,沒鍵按下,則不會顯示字符。這樣既巧妙的提醒了用戶又保護了用戶密碼,此乃本設(shè)計可靠性優(yōu)點之一。</p><p><b>  3)按鍵開鎖</b></p><p>  當用戶鍵入正確密碼后,在按確認鍵,便會自動開鎖。但用戶鍵入密碼時應(yīng)注意:數(shù)字與數(shù)字

24、之間的間隔時間是有限制的,如在規(guī)定時間在沒有輸入正確的密碼,則系統(tǒng)會默認取消本次開鎖,限制的時間可以設(shè)置,可以最大限度節(jié)約能源。例如密碼為3296,鍵入第一個數(shù)字3和最后一個數(shù)字6必須是在事先設(shè)置的時間內(nèi)完成的。否則,就會視為無效。如果鍵入完密碼后不按確認鍵系統(tǒng)同樣會當做放棄開鎖處理</p><p><b>  4)密碼錯誤報警</b></p><p>  當用戶鍵入

25、錯誤密碼次數(shù)超過三次時,系統(tǒng)就會自動報警,由揚聲器發(fā)出報警聲。系統(tǒng)會長期報警不止。這時必須按復(fù)位方可停止。此乃安全可靠性之一。</p><p>  待解決的問題是實現(xiàn)遙控開鎖,當此鎖用于私家車庫或倉庫時,用戶可以不用上車,只要手執(zhí)遙控器,鍵入正確密碼,便會自動開鎖;如果密碼錯誤,同樣也會報警。還有實現(xiàn)聲控開鎖,這種開鎖方式在于方便且快速,比遙控式開鎖的遙控器方便攜帶又怕丟失遙控器。但聲控式容易被別人模仿。有一定的

26、失密性。</p><p>  1.3 本設(shè)計的研究方法</p><p>  本設(shè)計主要采用的芯片有89c51單片機主控芯片,AT24c01掉電存儲芯片和外接LED液晶顯示等。在設(shè)計系統(tǒng)中主要由單片機系統(tǒng)、矩陣鍵盤、液晶顯示、密碼存儲和報警系統(tǒng)組成。設(shè)置開鎖密碼,利用軟件與硬件結(jié)合的方法來實現(xiàn)。系統(tǒng)能完成本機開鎖、超時報警、超次鎖定、管理員解密、修改用戶密碼基本的密碼鎖的功能。除上述基本的

27、密碼鎖功能外,還具有調(diào)電存儲、聲光提示等功能,依據(jù)實際的情況還可以添加遙控功能。本系統(tǒng)成本低廉,功能實用。</p><p>  1.4 設(shè)計方案論述</p><p>  對于電子密碼鎖而言,可以采用典型的數(shù)字電路控制,但是在安全上遠不及以單片機為核心的控制方案,數(shù)字電路也有它的特點,比如設(shè)計簡單,但是就實用而言,還是沒有單片機應(yīng)用的廣泛,下面將兩種方案做一對比,以確定更佳的方案。<

28、/p><p>  方案一:采用數(shù)字電路控制。</p><p>  用以74LS112雙JK觸發(fā)器構(gòu)成的數(shù)字邏輯電路作為密碼鎖的核心控制,共設(shè)了9個用戶輸入鍵,其中只有4個是有效的密碼按鍵,其它的都是干擾按鍵,若按下干擾鍵,鍵盤輸入電路自動清零,原先輸入的密碼無效,需要重新輸入;如果用戶輸入密碼的時間超過10秒(一般情況下,用戶不會超過10秒,若用戶覺得不便,還可以修改)電路將報警20秒,若電路

29、連續(xù)報警三次,電路將鎖定鍵盤2分鐘,防止他人的非法操作。采用數(shù)字電路設(shè)計的方案好處就是設(shè)計簡單但控制的準確性和靈活性差,故不采用。</p><p>  方案二:采用一種是用以AT89c51為核心的單片機控制方案。</p><p>  選用單片機AT89c51 作為本設(shè)計的核心元件,利用單片機靈活的編程設(shè)計和豐富的IO端口,及其控制的準確性,實現(xiàn)基本的密碼鎖功能。在單片機的外圍電路外接輸入鍵

30、盤用于密碼的輸入和一些功能的控制,外接AT24C01芯片用于密碼的存儲,外接LED用于顯示作用。其原理如下圖1-1所示:</p><p>  圖1-1 單片機控制密碼鎖方案</p><p>  可以看出方案二控制靈活,準確性好且保密性強還具有擴展功能,根據(jù)現(xiàn)實生活的需要,此次設(shè)計采用此方案。</p><p>  2 外圍硬件電路的設(shè)計</p><

31、;p>  2.1 硬件的基本組成</p><p>  單片機89c51, 12M晶振,30pf電容,1K電阻,共陰極數(shù)碼顯示管,矩陣鍵盤,24c01掉電存儲芯片,開鎖控制電路,單片機復(fù)位電路,電源模塊等。</p><p><b>  2.2 硬件介紹</b></p><p>  2.2.1 單片機概述</p><

32、p>  單片機也被稱作“單片微型計算機”、“微控制器”、“嵌入式微控制器”。單片機一詞最初是源于“Single Chip Microcomputer”,簡稱SCM。隨著SCM在技術(shù)上、體系結(jié)構(gòu)上不斷擴展其控制功能,單片機已不能用“單片微型計算機”來表達其內(nèi)涵。國際上逐漸采用“MCU”(Micro Controller Unit)來代替,形成了單片機界公認的、最終統(tǒng)一的名詞。為了與國際接軌,以后應(yīng)將中文“單片機”一詞和“MCU”唯一

33、對應(yīng)解釋。在國內(nèi)因為“單片機”一詞已約定俗成,故而可繼續(xù)沿用。</p><p><b>  單片機的發(fā)展歷史</b></p><p>  如果將8位單片機的推出作為起點,那么單片機的發(fā)展歷史大致可以分為以下幾個階段:</p><p>  第一階段(1976—1978):單片機的探索階段。以Intel公司的MCS-48為代表。MCS-48的推出是

34、在工控領(lǐng)域的探索,參與這一探索的公司還有Motorola、ZILOG等。都取得了滿意的效果。這就是SCM的誕生年代,“單片機”一詞即由此而來。</p><p>  第二階段(1978—1982):單片機的完善階段。Intel公司在MCS-48基礎(chǔ)上推出了完善的、典型的單片機系列MCS-51。它在以下幾個方面奠定了典型的通用總線型單片機體系結(jié)構(gòu)。</p><p>  1.完善的外部總線。M

35、CS-51設(shè)置了經(jīng)典的8位單片機的總線結(jié)構(gòu),包括8位數(shù)據(jù)總線、16位地址總線、控制總線及具有多機通信功能的串行通信接口。</p><p>  2.CPU外圍功能單元的集中管理模式。</p><p>  3.體現(xiàn)工控特性的地址空間及位操作方式。</p><p>  4.指令系統(tǒng)趨于豐富和完善,并且增加了許多突出控制功能的指令。</p><p>

36、  第三階段(1982—1990):8位單片機的鞏固發(fā)展及16位單片機的推出階段,也是單片機向微控制器發(fā)展的階段。Intel公司推出的MCS-96系列單片機,將一些用于測控系統(tǒng)的模數(shù)轉(zhuǎn)換器、程序運行監(jiān)視器、脈寬調(diào)制器等納入片中,體現(xiàn)了單片機的微控制器特征。</p><p>  第四階段(1990—至今):微控制器的全面發(fā)展階段。隨著單片機在各個領(lǐng)域全面、深入地發(fā)展和應(yīng)用,出現(xiàn)了高速、大尋址范圍、強運算能力的8位/

37、16位/32位通用型單片機,以及小型廉價的專用型單片機。</p><p><b>  單片機的發(fā)展趨勢</b></p><p>  目前,單片機正朝著高性能和多品種方向發(fā)展,今后單片機的發(fā)展趨勢將是進一步向著CMOS化、低功耗化、低電壓化、低噪聲與高可靠性、大容量化、高性能化、小容量、低價格化、外圍電路內(nèi)裝化和串行擴展技術(shù)【5】。隨著半導(dǎo)體集成工藝的不斷發(fā)展,單片機的

38、集成度將更高、體積將更小和功能將更強。</p><p><b>  單片機的特點</b></p><p>  單片機主要有如下特點:</p><p>  1.有優(yōu)異的性能價格比。</p><p>  2.集成度高、體積小、有很高的可靠性。單片機把各功能部件集成在一塊芯片上,內(nèi)部采用總線結(jié)構(gòu),減少了各芯片之間的連線,大大提

39、高了單片機的可靠性和抗干擾能力。另外,其體積小,對于強磁場環(huán)境易于采取屏蔽措施,適合在惡劣環(huán)境 下工作。</p><p>  3.制功能強。為了滿足工業(yè)控制的要求,一般單片機的指令系統(tǒng)中均有極豐富的轉(zhuǎn)移指令、I/O口的邏輯操作以及位處理功能。單片機的邏輯控制功能及運行速度均高于同一檔次的微機。</p><p>  4.低功耗、低電壓,便于生產(chǎn)便攜式產(chǎn)品。</p>&l

40、t;p>  5.外部總線增加了I2C(Inter-Integrated Circuit)及SPI(Serial Peripheral Interface)等串行總線方式,進一步縮小了體積,簡化了結(jié)構(gòu)。</p><p>  6.單片機的系統(tǒng)擴展和系統(tǒng)配置較典型、規(guī)范,容易構(gòu)成各種規(guī)模的應(yīng)用系統(tǒng)。</p><p><b>  單片機的應(yīng)用</b></p>

41、<p>  由于單片機具有顯著的優(yōu)點,它已成為科技領(lǐng)域的有力工具,人類生活的得力助手。它的應(yīng)用遍及各個領(lǐng)域,主要表現(xiàn)在以下幾個方面:</p><p>  1.單片機在智能儀表中的應(yīng)用</p><p>  2.單片機在機電一體化中的應(yīng)用</p><p>  3.單片機在實時控制中的應(yīng)用</p><p>  4.單片機在分布式多機系

42、統(tǒng)中的應(yīng)用</p><p>  5.單片機在人類生活中的應(yīng)用</p><p>  單片機已成為計算機發(fā)展和應(yīng)用的一個重要方面,另一方面,單片機應(yīng)用的重要意義還在于,它從根本上改變了傳統(tǒng)的控制系統(tǒng)設(shè)計思想和設(shè)計方法。從前必須由模擬電路或數(shù)字電路實現(xiàn)的大部分功能,現(xiàn)在已能通過單片機來實現(xiàn)了。這種用軟件代替硬件的控制技術(shù)也稱為微控制技術(shù),是對傳統(tǒng)控制技術(shù)的一次革命【9】。</p>

43、<p>  A:由單片機組成控制器的結(jié)構(gòu)和特點: </p><p>  單片微型計算機是微型計算機發(fā)展中的一個重要分支,是把構(gòu)成一臺微型計算機的主要部件如中央處理器(CPU)、存儲器(RAM/ROM)和各種功能I/O接口集成在一塊芯片上的單芯片微型計算機(Single Chip Micro Computer),簡稱單片機.由于它的結(jié)構(gòu)與指令功能都是按工業(yè)控制要求設(shè)計的,且近年來單片機著力擴展了各種控制功

44、能如A/D、PWM等,因此我們更多時候稱其為一個單片形態(tài)的微控制器(Single Chip Micro Controller),或直接稱其為微控制器(Micro Controller)。</p><p>  B:用單片機組成的微機控制系統(tǒng)具有以下特點:</p><p>  1.受集成度限制,片內(nèi)存儲器容量較小,一般片內(nèi)ROM小于4—8K字節(jié),片內(nèi)RAM小于256字節(jié);但可在外部進行擴展,如

45、MCS—51系列單片機的片外可擦可編程只讀存儲器(EPROM)、靜態(tài)隨機存儲器(SRAM)可分別擴展至64K字節(jié)。</p><p>  2.可靠性高。單片機芯片本身是按工業(yè)控制環(huán)境要求設(shè)計的,其抗噪聲的能力優(yōu)于一般通用CPU;程序指令及其常數(shù)、表格固化在ROM中不易破壞;常用信號通道均在一個芯片內(nèi),故可靠性高。</p><p>  3.易擴展。片內(nèi)具有計算機正常運行所必須的部件,芯片外部有

46、許多供擴展用的總線及并行、串行輸入/輸出端口,很容易構(gòu)成各種規(guī)模的微機控制系統(tǒng)。</p><p><b>  4.控制功能強</b></p><p>  為了滿足工業(yè)控制要求,單片機的指令系統(tǒng)中有極豐富的條件分支轉(zhuǎn)移指令、I/O口的邏輯操作以及位處理功能。一般來說,單片機的邏輯控制功能及運行速度均高于同一檔次的微處理器。</p><p>  5

47、.一般的單片機內(nèi)無監(jiān)控程序或系統(tǒng)管理軟件,軟件開發(fā)工作量大。但近年來已開始出現(xiàn)了片內(nèi)固化有BASIC解釋程序及FROTH操作系統(tǒng)的單片機,使單片機系統(tǒng)的開發(fā)提高了一個新水平。</p><p>  此外,單片機成本低、集成度高、控制功能多,可靈活地組裝成各種智能控制裝置,并能有針對性設(shè)計成專用系統(tǒng),解決從簡單到復(fù)雜的各種需要,實現(xiàn)最佳的性價比。特別是單片機與傳統(tǒng)機械產(chǎn)品相結(jié)合,使原有機械產(chǎn)品的結(jié)構(gòu)簡化、控制智能化。

48、如數(shù)控機床就是典型實例。近年來,單片機發(fā)展極快,其產(chǎn)量占微機產(chǎn)量的70%以上。目前,至少有50個系列400余種機型,性能和結(jié)構(gòu)各不相同,INTEL、MOTOROLA、ZILCG等公司都有系列單片微型計算機。國內(nèi)普及的幾乎都是INTEL公司的產(chǎn)品??梢灶A(yù)言在當今信息化社會中,單片機擔負著重大的使命,必將對科技的革新起到重要作用!</p><p>  2.2.2 AT89c51的簡介</p><

49、p>  AT89C51是美國ATMEL公司生產(chǎn)的低電壓,高性能的CMOS8位單片機片內(nèi)4Kbytes的可反復(fù)擦寫的只讀程序存儲器(PEROM)和128bytes的隨機存儲器(RAM),器件采用ATMEL公司的高密度、非易失存儲技術(shù)生產(chǎn),兼容標準MCS-51指令系統(tǒng),片內(nèi)置通用8位中央處理器(CPU)和Flash存儲單元,功能強大。AT89c51單片機可為你提供許多高性價的應(yīng)用場合,可靈活的應(yīng)用于各種控制領(lǐng)域。</p>

50、<p><b>  主要性能參數(shù):</b></p><p>  ·與MCS-51產(chǎn)品指令系統(tǒng)的全兼容 </p><p>  ·4k字節(jié)可重擦寫Flash閃速存儲器</p><p>  ·1000次可擦寫周期</p><p>  ·全靜態(tài)操作:0Hz-24

51、MHz</p><p>  ·三級加密程序存儲器</p><p>  ·128K×8字節(jié)內(nèi)部RAM </p><p>  ·32個可編程I/O口線</p><p>  ·2個16位定時/計數(shù)器</p><p><b>  ·6個中斷源</b&g

52、t;</p><p>  ·可編程串行UART通道</p><p>  ·低功耗空閑和掉電模式 </p><p>  AT89C51功能特性描述:</p><p>  AT89C51提供以下標準功能:4k字節(jié)Flash閃速存儲器,128字節(jié)內(nèi)部RAM,32個I/O口線,兩個16位定時/計數(shù)器,一個5向量中斷結(jié)構(gòu),一個全雙工

53、串行通信口,片內(nèi)震蕩器及時鐘電路。同時,AT89C51可降至0Hz的靜態(tài)邏輯操作,并支持兩種軟件的可選的節(jié)電工作模式??臻e方式停止CPU的工作,但允許RAM,定時/計數(shù)器,竄行通信口及中斷系統(tǒng)繼續(xù)工作。掉電方式保存RAM中的內(nèi)容,但震蕩器停止工作并禁止所有部件工作直到下一個硬件復(fù)位。</p><p> ?。?) AT89c51引腳功能說明:</p><p><b>  

54、3;VCC:電源電壓</b></p><p><b>  ·GND:地</b></p><p>  ·P0口:PO口是一組8位漏極開路行雙向I/O口,也既地址/數(shù)據(jù)總線復(fù)用口??勺鳛檩敵隹谑褂脮r,每位可吸收電流的方式驅(qū)動8個TTL邏輯電路,對端口寫“1”可作為高阻抗輸入,輸出端用。在訪問外部數(shù)據(jù)存儲器時,這組口線分時轉(zhuǎn)換地址(低8位)和

55、數(shù)據(jù)總線復(fù)用,在訪問期間激活內(nèi)部上拉電阻。在Flash編程時,PO口接收指令字節(jié),而在程序校驗時,輸出指令字節(jié),校驗時,要求必須加上拉電阻。</p><p>  ·P1口:P1口是一個內(nèi)部上拉電阻的8位雙向I/O口,P1的輸入緩沖級可驅(qū)動(吸收或輸出電流)4個TTL邏輯門電路。對端口寫“1”,通過內(nèi)部的上拉電阻把端口拉到高電平,此時可作輸出口。作輸入口時,因為內(nèi)部存在上拉電阻,某個引腳被外部信號拉低時輸

56、出一個電流(I)。Flash編程和程序校驗期間,P1口接收8位地址。</p><p>  ·P2口:P2口是一個帶有內(nèi)部上拉電阻的8位雙向I/O口,P2的輸入緩沖級可以驅(qū)動(輸入或輸出電流)4個TTL邏輯門電路。對端口“1”,通過內(nèi)部的上拉電阻把端口拉到高電平,此時和作為輸出口,作輸出口時,因為存在內(nèi)部上拉電阻,某個引腳被外部信號拉低時會輸出一個電流。在訪問外部存儲器或1位地址的外部數(shù)據(jù)存儲器(例如執(zhí)行

57、MOVX@DPTR指令)時,P2口送出高8位地址數(shù)據(jù)。在訪問8位地址的外部數(shù)據(jù)存儲器(如執(zhí)行MOVX@RI指令)時,P2口線的內(nèi)容(即特殊功能寄存器(SFR)區(qū)中R2寄存器的內(nèi)容),在整個訪問期間不改變。Flash編程或校驗時,P2也可以接高地址和其他控制信號。</p><p>  ·P3口:P3口是一組帶有內(nèi)部上拉電阻的8位雙向I/O口,,P1的輸入緩沖級可驅(qū)動(吸收或輸出電流)4個TTL邏輯門電路。

58、對P3口寫入“1”時,它們被內(nèi)部上拉電阻拉高并可作為輸出端口。作輸出端口時,被外部拉低的P3口將用上拉電阻輸出電流。P3口除可作為一般的I/O口線外,更重要的用途是它的第二功能,如表2.1所示:</p><p>  P3口還接收一些用于Flash 閃速存儲器編程和程序校驗的控制信號</p><p>  ·RST:復(fù)位輸出。當震蕩器工作時,RST引腳出現(xiàn)兩個機器周期以上高電平使機器

59、復(fù)位。 </p><p>  ·ALE/ 當訪問外部程序存儲器或數(shù)據(jù)存儲器時,ALE(地址鎖存允許)輸出脈沖用于鎖存地址的低8位字節(jié),即使不能訪問外部字節(jié),ALE仍時鐘震蕩頻率的1/6輸出固定的正脈沖信號,因此它可對外輸出時鐘脈沖或用于定時目的。要注意的是:每次訪問外部存儲器時將跳過一個ALE脈沖。對Flash存儲器編程期間,該引腳還要輸入編程脈沖,如有必要,可通過對特殊功能寄存器(SFR)區(qū)中的8EH

60、單元的D0位置位,可禁止ALE操作。該位被置位后,只有一條MOVX和MOVC指令可激活。此外,此引腳會被微弱拉高,單片機執(zhí)行外部程序時,應(yīng)該置ALE無效。允許程序存入與輸出的是外部程序存儲器的讀選通信號,當AT89C51由外部程序取指令(或數(shù)據(jù))時,每個機器周期兩次 有效,既輸出兩個脈沖。在此期間,當訪問外部數(shù)據(jù)存儲器,這兩次有效的 信號不出現(xiàn)。</p><p>  ·EA/VPP:外部訪問允許。欲使C

61、PU訪問外部程序存儲器(地址為0000H--FFFFH),EA端口必須保持低電平(接地)。要注意的是:如果加密位LB1被編程,復(fù)位時內(nèi)部會鎖存EA端狀態(tài)。Flash存儲器編程時,該引腳加上+12V的編程允許電源VPP,當然這必須是該器件是使用12V的編程電壓VPP。</p><p>  ·XTAL1:震蕩器反向放大器及內(nèi)部時鐘的輸入端。</p><p>  ·XAAL2

62、:震蕩器反向放大器的輸出端。</p><p>  ·時鐘震蕩器:AT89C51中有一個構(gòu)成內(nèi)部震蕩器的高增益反向放大器,引腳XTAL1和XTAL2分別是該放大器的輸入端和輸出端。這個放大器與作為反饋元件的片外石英或陶瓷震蕩器一起構(gòu)成自激震蕩器震蕩電路。外接石英晶體(或陶瓷震蕩器)及電容C1、C2接在放大器的震蕩回路中構(gòu)成并聯(lián)震蕩電路。對外接電容C1、C2雖然沒有非常嚴格的要求,但電容的大小會輕微影響震蕩

63、頻率的高低、震蕩工作的穩(wěn)定性、起震的難易程序及溫度穩(wěn)定性,如果使用石英晶體,推薦使用30pF±10pF,而如果使用陶瓷諧振器的話建議選擇40pF±10pF。用戶還可以采用外部時鐘,采用外部時鐘如圖所示。在這種情況下,外部時鐘脈沖接到XTAL1端,既內(nèi)部時鐘發(fā)生器的輸入端,XTAL2懸空【6】。</p><p>  由于外部時鐘信號是通過一個2分頻的觸發(fā)器后作為內(nèi)部時鐘信號的所以外部寄存器時鐘的

64、占空比沒有特殊要求,但最小高電平持續(xù)的時間和最大低電平持續(xù)的時間應(yīng)符合產(chǎn)品技術(shù)條件的要求。</p><p>  ·Flash閃速存儲器的編程:</p><p>  AT89C51單片機內(nèi)部有4K字節(jié)的Flash PEROM,這個Flash存儲存儲陣列出廠時已處于擦除狀態(tài)(既所有存儲單元的內(nèi)容均為FFH),用戶隨時可對其進行編程。程序接收高電壓(+12V)或低電壓(VCC)的允許編

65、程信號。低電壓編程模式,適用與用戶在線編程系統(tǒng)。而高電平模式可與通用EPROM編程程序兼容。</p><p><b>  ·編程方法:</b></p><p>  編程前需設(shè)置好地址、數(shù)據(jù)及控制信號,編程單元的地址就、加在P1口和P2口的P2.0—P2.3(11位地址范圍為0000H—0FFFH),數(shù)據(jù)從P0口輸入,PSEN為低電平,RST保持高電平,EA/

66、Vpp 引腳是編程電源的輸入端,按要求加上編程電壓,ALE/PROG引腳輸入編程脈沖(負脈沖)編程時可采用4—20MHz的時鐘震蕩器AT89C51編程。方法如下 </p><p>  1.在數(shù)據(jù)線上加上要寫入的數(shù)據(jù)字節(jié)。</p><p>  2.激活相應(yīng)的控制信號。</p><p>  3.在高電壓編程時,將EA/vpp端加上+1V編程電壓。</p>

67、<p>  4.每對Flash存儲陣列寫入一個字節(jié),加上一個ALE/PROG編程脈沖。</p><p>  (2) AT89C51控制信號</p><p>  RST/VPD(9腳)復(fù)位信號時鐘電路工作后,在引腳上出現(xiàn)兩個機器周期的高電平,芯片內(nèi)部進行初始復(fù)位,復(fù)位后片內(nèi)存儲器的狀態(tài)如表所示,P1—P3口輸出高電平,初始值07H寫入堆棧指針SP、清0程序計數(shù)器PC和其余特殊功能

68、寄存器,但始終不影響片內(nèi)RAM狀態(tài),只要該引腳保持高電平,89C51將循環(huán)復(fù)位,,RAT/VPD從高電平到低電平單片機將從0號單元開始執(zhí)行程序,另外該引腳還具有復(fù)用功能,只要將VPD接+5V備用電源,一旦VCC電位突然降低或斷電,能保護片內(nèi)RAM中的信息不丟失,恢復(fù)電后能正常工作。</p><p>  AT89C51通常采用上電自動復(fù)位和開關(guān)手動復(fù)位,我們采用的是 自動復(fù)位,電路圖詳見電路原理圖</p>

69、;<p>  2.2.3 單片機控制方框圖</p><p>  采用AT89c51為核心的單片機控制方案。利用單片機靈活的編程設(shè)計和豐富的IO端口,及其控制的準確性,不但能實現(xiàn)基本的密碼鎖功能,還能添加調(diào)電存儲、聲光提示甚至添加遙控控制功能。其原理框圖如圖2-1所示。</p><p>  圖2-1 單片機控制框圖</p><p>  2.2.4

70、開鎖機構(gòu)示意圖</p><p>  通過單片機送給開鎖執(zhí)行機構(gòu),電路驅(qū)動電磁鎖吸合,從而達到開鎖的目的。其原理圖如圖2-2所示。</p><p>  圖2-2 密碼鎖開鎖機構(gòu)示意圖</p><p>  當用戶輸入的密碼正確時,單片機便輸出開門信號,送到開鎖驅(qū)動電路,然后驅(qū)動電磁鎖,達到開門的目的。電路圖如下圖2-3所示。</p><p> 

71、 電路由驅(qū)動和開鎖兩級組成。由D5、R1、T10組成驅(qū)動電路,其中T10可以選擇普通的小功率三極管如9014、9018都可以滿足要求。D5是開鎖指示燈;由D6、C24、T11組成開鎖。其中D6、C24是為了消除電磁鎖可能產(chǎn)生的反向高電壓以及可能產(chǎn)生的電磁干擾。T11可選用中功率的三極管如8050,電磁鎖的選用要視情況而定,但是吸合力要足夠且有一定的余量【11】。</p><p>  注:在設(shè)計中,暫時用發(fā)光二極管

72、代替電磁鎖,發(fā)光管亮,表示開鎖;滅,表示沒有開鎖。電路圖如下:</p><p>  圖2-3 密碼鎖開鎖電路</p><p>  2.2.5 矩陣鍵盤</p><p>  由于設(shè)計要求使用矩陣鍵盤,所以本設(shè)計就采用行列式矩陣鍵盤,同時也能減少鍵盤與單片機接口時所占用的I/O線的數(shù)目,在按鍵比較多的時候,通常采用這樣方法。其原理如下圖2-4所示</p>

73、;<p>  圖2-4 行列式鍵盤電路</p><p>  每一條水平(行線)與垂直線(列線)的交叉處不相通,而是通過一個按鍵來連通,利用這種行列式矩陣結(jié)構(gòu)只需要N條行線和M條列線,即可組成具有N×M按鍵的鍵盤。</p><p>  首先辨別鍵盤中有無鍵按下,由單片機I/O口向鍵盤進行掃描,然后讀入行線的狀態(tài)來判斷。方法是:向行線輸出全掃描字00H,把全部線列設(shè)置

74、為低電平,然后將線列的電平狀態(tài)讀入累加器A中。如果有按鍵按下,總會有一根行線電平被拉至低電平從而使行線不全為1。判斷鍵盤中哪一個鍵被按下是通過列線依次被置為低電平后檢查行輸入狀態(tài)來實現(xiàn)的。方法是:依次設(shè)置行行列低電平時,然后檢查所有行線狀態(tài),如果全為1,則所按下的鍵不在此列;如果不全為1,則所按下的鍵一定就在此列,而且是在與零電平行線相交的交點上的那個鍵。</p><p>  按鍵的操作面板如下圖2-5所示。共計

75、數(shù)字鍵10個,功能鍵2個</p><p>  圖2-5 按鍵操作面板</p><p>  10個數(shù)字鍵用來輸入密碼,另外2個功能鍵分別是:開鎖和上鎖。上鎖和開鎖的過程在前面已經(jīng)詳細介紹,在此不再多說。</p><p>  面板上還有一個蜂鳴器,其中一個功能是用來指示操作的按鍵是否在成功的按下;另外一個功能是當用戶輸入密碼錯誤的次數(shù)超過了3次,鳴笛以示報警。<

76、/p><p>  2.2.6 24C01掉電存儲單元設(shè)計</p><p>  掉電存儲單元的作用是在電源斷開的時候,存儲當前設(shè)定的單價信息。AT24C01是ATMEL公司的2KB字節(jié)的電可擦除存儲芯片,采用兩線串行的總線和單片機通訊,電壓最低可以到2.5V,額定電流為1mA,靜態(tài)電流10Ua(5.5V),芯片內(nèi)的資料可以在斷電的情況下保存40年以上,而且采用8腳的DIP封裝,使用方便。其電路

77、如下圖2-6所示。</p><p>  圖2-6 掉電存儲模塊</p><p>  圖中R6、R7是上拉電阻,其作用是減少AT24C01的靜態(tài)功耗,由于AT24C01的數(shù)據(jù)線和地址線是復(fù)用的,采用串口的方式傳送數(shù)據(jù),所以只用兩根線SCK(移位脈沖)和SDA(數(shù)據(jù)/地址)與單片機傳送數(shù)據(jù)。</p><p>  每當設(shè)定一次密碼,系統(tǒng)就自動調(diào)用存儲程序,將信息保存在芯

78、片內(nèi);當系統(tǒng)重新上電的時候,自動調(diào)用讀存儲器程序,將存儲器內(nèi)的信息讀到緩存單元中,供主程序使用</p><p>  2.2.7 顯示電路設(shè)計</p><p>  本系統(tǒng)設(shè)計的顯示電路為了節(jié)約單片機的接口資源而采用串行顯示的方式,只使用單片機的兩個串行口,就可以完成單片機的顯示功能,顯示電路的電路原理圖如下圖所示。</p><p>  電路設(shè)定:當程序檢測在5分鐘內(nèi)

79、沒有按鍵操作的時候,就關(guān)閉顯示。這個功能使用程序來實現(xiàn)的,一旦沒有按鍵動作就啟動一個定時器,檢測在5分鐘內(nèi)沒有按鍵動作的時候,啟動一個程序,關(guān)閉顯示,這樣可以達到節(jié)省電能的目的。</p><p>  從單片機串口輸出的信號先送到左邊的移位寄存器(74HC164),由于移位脈沖的作用,使數(shù)據(jù)向右移,達到顯示的目的。移位寄存器74HC164還兼作數(shù)碼管的驅(qū)動。電路圖如下圖2-7所示:</p><p

80、>  圖2-7 顯示模塊</p><p>  2.2.8 電源穩(wěn)壓模塊設(shè)計</p><p>  圖2-8 7805穩(wěn)壓模塊</p><p>  本著節(jié)省原材料的原則,選擇的是7805穩(wěn)壓模塊作為本電路的電源,為了讓電流更平穩(wěn)更可靠,后面加入了整流模塊7805,電路相當簡單,1腳是電源的進線,2腳是公共端,3腳就是5V直流電的輸出了,C4和C5是濾除高頻率

81、的雜波干擾的,發(fā)光二極管D1可以作為電源電路的直接顯示,如果發(fā)光則說明電路得到了穩(wěn)定的5V電源。本電路簡單明了,應(yīng)用比較廣泛。電路圖如上圖2-8所示。</p><p><b>  3 軟件設(shè)計</b></p><p>  3.1 主程序模塊</p><p>  主程序主要完成初始化、設(shè)置中斷向量、檢查有無按鍵按下、以及調(diào)用顯示等等。程序流程

82、圖如下圖3-1所示</p><p>  3.2 鍵盤掃描及識別子程序</p><p>  鍵盤采用查詢的方式,放在主程序中,當沒有按鍵按下的時候,單片機循環(huán)主程序,一旦有按鍵按下,便轉(zhuǎn)向相應(yīng)的子程序處理,處理結(jié)束再返回。程序流程圖如下圖3-2所示</p><p>  圖3-2 鍵盤掃描</p><p>  3.3 密碼對比程序</

83、p><p>  比較密碼的時候,需要讀AT24C01程序,將存儲在芯片內(nèi)的數(shù)據(jù)讀到RAM中,然后和輸入的密碼相比較。當修改密碼的時候,需要把輸入的密碼保存到AT24C01中,程序流程圖如下圖3-3所示</p><p>  圖3-3 密碼比對流程圖</p><p><b>  3.4 開鎖程序</b></p><p>  

84、單片機通過比對密碼后向電磁吸合裝置發(fā)出開鎖信號,其流程圖如下圖3-4所示</p><p>  圖3-4 開鎖流程</p><p><b>  4 結(jié) 論</b></p><p>  本次設(shè)計歷經(jīng)將近半年的時間,經(jīng)過多次論證和修改,在功能上已經(jīng)基本達到要求,特別值得一提的是本系統(tǒng)在顯示部分采用的是將74HC164移位寄存器與數(shù)碼管相結(jié)合的方

85、式來完成顯示功能,這樣就可以大量節(jié)約IO資源,只利用單片機的串口就可以滿足設(shè)計要求,這就充分利用了單片機的串口功能,在實際應(yīng)用中經(jīng)常被采用。本次設(shè)計采用的是模塊化的思想,將整個設(shè)計分為硬件和軟件兩部分,硬件部分主要完成系統(tǒng)外圍硬件電路的設(shè)計,構(gòu)建電路原理圖;軟件部分主要完成系統(tǒng)程序的編寫,以便于系統(tǒng)進行仿真,驗證設(shè)計方案的可行性。而硬件部分上又分為單片機自身所需的晶振,復(fù)位,電源模塊電路及外圍的矩陣鍵盤,掉電存儲單元,顯示電路和報警電路

86、。軟件部分也可分為主程序,鍵盤掃描子程序,顯示子程序,掉電服務(wù)子程序。這樣就把一個看似復(fù)雜的設(shè)計分割成各個小問題來給予各個擊破,由于以前在學(xué)習專業(yè)知識時對其中的子程序已有所了解,所以只需將所學(xué)的知識進行一下匯總即可。但是在軟件程序及仿真中還是花費了大量的時間來學(xué)習相關(guān)軟件。通過這半年的實習,我感覺有很大的收獲:首先,通過學(xué)習使自己對課本上的知識可以應(yīng)用于實際,使得理論與實際相結(jié)合,加深了自己對課本知</p><p&g

87、t;  受時間和經(jīng)驗限制,本系統(tǒng)有不足和需改進的地方:</p><p>  1.由于以前專業(yè)知識的疏漏及畢業(yè)實習的要求,所以在時間上安排的有些倉促,設(shè)計雖然基本完成了設(shè)計要求,但只是基本軟件平臺的仿真,在PCB原理圖的布線和封裝上沒有完成任務(wù),如要是制作產(chǎn)品的話會帶來很大的麻煩。這給我一個啟示就是以后做什么事都要有計劃,不能盲目。這對事情的完成效率是一個重要保證。</p><p>  2.

88、外圍硬件電路的設(shè)計布局上太過混亂,還有優(yōu)化布局的空間,要知道復(fù)雜的布局對于將來的產(chǎn)品有很大的影響,簡約的布局不僅可以節(jié)約成本,也可以滿足消費者的興趣愛好,對于產(chǎn)品將來的市場有直接的影響。本設(shè)計原理圖布局上有待改進。</p><p>  3.在程序算法上過于復(fù)雜,匯編語言雖然結(jié)構(gòu)和算法簡單,但是程序太長,而c語言恰好相反,以后可以試著學(xué)習c語言編程。</p><p><b>  5

89、 致 謝</b></p><p>  伴隨著寫這篇致謝感言,本次畢業(yè)時設(shè)計基本上步入了尾聲,回想這半年來的點點滴滴我真是感觸頗多,這段時間幾乎把大學(xué)四年所學(xué)的東西進行了一次總復(fù)習,也讓我對自己的專業(yè)前景有了更深的認識。首先我要感謝學(xué)校給了我這樣一個自我實踐的機會,讓我通過自學(xué)而體會到學(xué)習的快樂無論是專業(yè)知識的溫故而知新,還是課外知識的擴展,我都體會到了一種探索的樂趣。以前對自己的專業(yè)沒有一個明確的

90、定義,還未自己畢業(yè)后的前途而擔憂,但是現(xiàn)在我卻對以后充滿了信心,因為我知道單片機在現(xiàn)代信息社會中是一個多么實用的工具,它不僅僅是一種技術(shù),還是解決控制問題的一種新方法,新思路,可以極大的提高工業(yè)自動化程度,給人們的生活帶來無窮的便利。謝謝學(xué)校給我這個發(fā)現(xiàn)自己的機會!還有很多軟件自己都是初學(xué)者,對于一些軟件的操作技巧同學(xué)也無私給我講解,才使我順利完成了設(shè)計內(nèi)容。我充分體會到了班級大集體的溫暖??傊蚁胝f的是,能夠交上這篇論文絕不是我一人之

91、功,還有很老師和同學(xué)的幫助。再次對他們表示感謝。參考文獻</p><p>  [1]楊學(xué)昭.單片機原理接口技術(shù).第一版[M].西安西安電子科技大學(xué)出版社.2009</p><p>  [2]何立民. 單片機高級教程.第1版[M].北京:北京航空航天大學(xué)出版社.2001 </p><p>  [3]趙曉安. MCS-51單片機原理及應(yīng)用[M]. 天津:天津大學(xué)出版社.

92、2001.3 </p><p>  [4]肖洪兵. 跟我學(xué)用單片機[M]. 北京.北京航空航天大學(xué)出版社.2002.8</p><p>  [5]陳桂友.單片機原理及應(yīng)用[M].北京.機械工業(yè)出版社.2007</p><p>  [6]徐新民.單片機原理及應(yīng)用[M].杭州.浙江大學(xué)出版社.2006</p><p>  [7]田立.51單片機c

93、語言程序設(shè)計快速入門[M].北京人民郵電出版社.2007</p><p>  [8]徐愛鈞.KeilCx51 v7.0單片機高級語言編程與uVision2應(yīng)用實踐[M].北京.電子工業(yè)出版社.2004</p><p>  [9]周航慈.單片機應(yīng)用程序設(shè)計技術(shù)[M].北京.北京航空航天大學(xué)出版社.2002</p><p>  [10]趙星寒.從51到ARM32位嵌入式

94、系統(tǒng)入門[M].北京.北京航空航天大學(xué)出版社2007</p><p>  [11]求是科技.單片機典型模塊設(shè)計實例導(dǎo)航[M].北京.人民郵電出版社.2008</p><p>  [12]Micrel Inc. QwikRadio TM UHF ASK Transmitter[A] www.micrel.com. 2001.8</p><p>  [13] Micre

95、l Inc. QwikRadio TM Low Power UHF Receiver[A] www.micrel.com. 2001.8</p><p><b>  附錄一</b></p><p><b>  總體電路原理圖</b></p><p><b>  附錄二</b></p>&

96、lt;p><b>  程序清單</b></p><p>  程序開始,偽指令設(shè)置程序中所用到寄存器和數(shù)據(jù)</p><p>  ORG 0000H</p><p>  MTD DATA 3FH</p><p>  SLA DATA 3EH</p><p>  NUMBYT

97、 DATA 3DH</p><p>  MRD DATA 30H</p><p>  AJMP MAIN</p><p>  ORG 0030H</p><p>  MAIN: MOV SP,#60H :設(shè)置棧指針</p><p><b>  接收數(shù)據(jù)寄存器清零<

98、/b></p><p>  MOV 40H,#00H</p><p>  MOV 41H,#00H</p><p>  MOV 42H,#00H</p><p>  MOV 43H,#00H</p><p>  MOV 44H,#00H</p><p> 

99、 MOV 45H,#00H</p><p>  MOV 46H,#00H</p><p>  MOV 47H,#00H</p><p>  CLR 20H :功能鍵標志</p><p>  CLR 21H :復(fù)位鍵標志</p><p>  調(diào)讀密碼程序,讀出

100、的密碼送到30H到33H</p><p>  REDA MOV MTD,#00H</p><p>  MOV SLA,#0A0H</p><p>  MOV NUMBYT,#1</p><p>  LCALL WRNBYT</p><p>  MOV SLA,#0A1H</p>

101、<p>  MOV NUMBYT,#07H</p><p>  LCALL RDNBYT</p><p><b>  顯示P作為等待標志</b></p><p>  CCD:MOV A,#11111110B</p><p><b>  MOV P1,A</b></p&

102、gt;<p>  MOV A,#0CH</p><p>  MOV DPTR,#7FFFH</p><p>  MOVX @DPTR,A</p><p>  循環(huán)調(diào)用鍵掃描子程序</p><p>  START:NOP ;程序開始</p><p>  LCALL

103、CH_KEY ;檢查鍵盤</p><p>  AJMP START ;返回</p><p>  CH_KEY:LCALL KS ;檢查有沒有按鍵按下</p><p><b>  JNZ LK1</b></p><p>  AJMP CH_KEY</p

104、><p><b>  LK1:</b></p><p>  LCALL T12MS</p><p><b>  ACALL KS</b></p><p><b>  JNZ LK2</b></p><p><b>  RET</b>

105、</p><p><b>  LK2:</b></p><p><b>  NOP</b></p><p>  LCALL SBIE ;按鍵識別子程序</p><p>  MOV BUFF, A ;送緩沖區(qū)以識別是數(shù)字鍵還是功能鍵?</p>&

106、lt;p>  LCALL CH_KF ;判斷按鍵功能。</p><p>  JB FLAG1 ,KEY_FUN ;標志為1,則為功能鍵</p><p>  數(shù)字按鍵輸入并且存放到緩沖區(qū)內(nèi)等待比較</p><p>  KEY_DIG:NOP ;設(shè)標志,辨別輸入是否滿</p><p

107、><b>  SETB TR0</b></p><p>  INC TIMERS ;輸入數(shù)字的位數(shù)</p><p>  MOV A, TIMERS</p><p><b>  CLR C</b></p><p>  SUBB A, #01H<

108、/p><p>  JNZ PS_2</p><p>  MOV PS1, BUFF ;依照順序存放密碼</p><p>  AJMP NEXT</p><p>  PS_2:MOV A, TIMERS</p><p>  SUBB A, #02H</p><p

109、><b>  CLR C</b></p><p>  JNZ PS_3</p><p>  MOV PS2, BUFF</p><p>  AJMP NEXT</p><p>  PS_3:MOV A, TIMERS</p><p><b>  CLR

110、 C</b></p><p>  SUBB A, #03H</p><p>  JNZ PS_4</p><p>  MOV PS3, BUFF</p><p>  AJMP NEXT</p><p>  PS_4:MOV A, TIMERS</p><p

111、><b>  CLR C</b></p><p>  SUBB A, #04</p><p>  JNZ PS_5</p><p>  MOV PS4, BUFF</p><p>  AJMP NEXT</p><p>  PS_5:MOV A, TIMER

112、S</p><p><b>  CLR C</b></p><p>  SUBB A, #05</p><p>  JNZ PS_6</p><p>  MOV PS5, BUFF</p><p>  AJMP NEXT</p><p>  PS_6

113、:MOV A, TIMERS</p><p><b>  CLR C</b></p><p>  SUBB A, #06H</p><p>  JNZ CH_KEY</p><p>  MOV PS6, BUFF</p><p>  NEXT:LCALL XSC&l

114、t;/p><p>  MOV R7, TIMERS ;比較輸入的次數(shù)。</p><p>  CJNE R7, #06H ,FULL</p><p>  FULL:JC NEXT9</p><p>  SETB BUF_FULL</p><p>  MOV TIMERS,#06H</p

溫馨提示

  • 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)容負責。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論