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

下載本文檔

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

文檔簡(jiǎn)介

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

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

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

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

5、,然后通過(guò)單片機(jī)對(duì)鍵盤進(jìn)行掃描以確認(rèn)密碼是否正確,若密碼正確則發(fā)出開(kāi)鎖信號(hào),在此用二極管說(shuō)明開(kāi)鎖信號(hào),若密碼不對(duì)則發(fā)出警報(bào),這樣設(shè)計(jì)的目的極大的提高了產(chǎn)品的安全性。</p><p>  關(guān)鍵字:89c51,AT24C01掉電存儲(chǔ),矩陣鍵盤,顯示電路,報(bào)警電路等。</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è)計(jì)需要解決的問(wèn)題1</p><p>  1.3 本設(shè)計(jì)的研究方法2</p><p>  1.4 設(shè)計(jì)方案論述2</p><p>  2 外圍硬件電路的設(shè)計(jì)4</p><p>  2.1 硬件的基本組成4</p><p>  2.2 硬件介紹4</p&g

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

94、系統(tǒng)入門[M].北京.北京航空航天大學(xué)出版社2007</p><p>  [11]求是科技.單片機(jī)典型模塊設(shè)計(jì)實(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>  程序開(kāi)始,偽指令設(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 :功能鍵標(biāo)志</p><p>  CLR 21H :復(fù)位鍵標(biāo)志</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作為等待標(biāo)志</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 ;程序開(kāi)始</p><p>  LCALL

103、CH_KEY ;檢查鍵盤</p><p>  AJMP START ;返回</p><p>  CH_KEY:LCALL KS ;檢查有沒(méi)有按鍵按下</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 ;按鍵識(shí)別子程序</p><p>  MOV BUFF, A ;送緩沖區(qū)以識(shí)別是數(shù)字鍵還是功能鍵?</p>&

106、lt;p>  LCALL CH_KF ;判斷按鍵功能。</p><p>  JB FLAG1 ,KEY_FUN ;標(biāo)志為1,則為功能鍵</p><p>  數(shù)字按鍵輸入并且存放到緩沖區(qū)內(nèi)等待比較</p><p>  KEY_DIG:NOP ;設(shè)標(biāo)志,辨別輸入是否滿</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. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 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ì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論