2023年全國碩士研究生考試考研英語一試題真題(含答案詳解+作文范文)_第1頁
已閱讀1頁,還剩40頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、<p><b>  摘 要</b></p><p>  電子密碼鎖己廣泛的應(yīng)用于日常生活中,隨著電子產(chǎn)品向智能化和微型化的</p><p>  不斷發(fā)展,單片機已成為電子產(chǎn)品研制和開發(fā)中首選的控制器。由于單片機具有</p><p>  體積小,耗電少,控制精度高,運行可靠等的特點,所以廣泛應(yīng)用于生產(chǎn)實際中。電</p>&

2、lt;p>  子密碼鎖是每個行業(yè)和生活中的重要參數(shù)之一。為了更好地推廣電子鎖在各領(lǐng)域</p><p>  中的應(yīng)用,在此根據(jù)任務(wù)要求設(shè)計了一種基于AT89S52單片機控制的電子密碼鎖。并介紹了單片機控制的矩陣式開關(guān)與數(shù)碼管控制裝置及其工作原理、設(shè)計思想、以及硬件電路和軟件程序等。裝置應(yīng)用AT89S52單片機,通過單片機編寫密碼程序,并用74LS47和3-8譯碼器74LS138驅(qū)動的數(shù)碼管來顯示密碼。數(shù)碼管可

3、以時時顯示當前輸入的六位數(shù)字。當輸入密碼正確時,對應(yīng)的指示燈亮;當密碼不正確時,另一個對應(yīng)的指示燈亮且并且發(fā)出聲音報警。</p><p>  關(guān)鍵詞:矩陣式鍵盤,單片機,數(shù)碼管顯示,電子密碼鎖,譯碼器</p><p><b>  Abstract</b></p><p>  Electronic locks have been widely u

4、sed in daily life, as electronic products to intelligent and miniaturization, SCM has become electronic product research and development in the preferred controller。Since the microcontroller with small, low power consump

5、tion, high precision control, reliable, and more features,it is widely used in production。Electronic code lock is the life of each industry and one of the important parameters。In order to better promote electronic locks

6、in all areas of applicati</p><p>  Key word:Matrix keyboard,SCM,Digital display ,Electronic locks</p><p><b>  目錄</b></p><p><b>  摘 要Ⅰ</b></p><p&g

7、t;  AbstractⅡ</p><p><b>  引 言1</b></p><p>  第1章.系統(tǒng)方案選擇和論證2</p><p>  1.1 設(shè)計要求2</p><p>  1.2 系統(tǒng)基本方案2</p><p>  1.2.1 系統(tǒng)框圖2</p><p&

8、gt;  1.2.2 各模塊方案選擇和論證3</p><p>  1.2.3 系統(tǒng)各模塊的最終方案4</p><p>  第2章. 系統(tǒng)的硬件設(shè)計與實現(xiàn)6</p><p>  2.1 系統(tǒng)硬件概述6</p><p>  2.2 主要單元電路的設(shè)計6</p><p>  2.2.1 鍵盤掃描模塊電路的設(shè)計6&

9、lt;/p><p>  2.2.2 單片機控制模塊電路的設(shè)計7</p><p>  2.2.3 聲光報警模塊電路的設(shè)計8</p><p>  2.2.4 數(shù)碼顯示模塊電路的設(shè)計9</p><p>  第3章. 系統(tǒng)的軟件設(shè)計11</p><p>  3.1 系統(tǒng)軟件概述11</p><p>

10、;  3.1.1 軟件系統(tǒng)分析11</p><p>  3.1.2 主程序流程圖:12</p><p>  3.2 子程序的設(shè)計13</p><p>  3.2.1 自檢子程序13</p><p>  3.2.2 鍵盤掃描子程序14</p><p>  3.2.3 移位子程序15</p>&l

11、t;p>  3.2.4 顯示子程序16</p><p>  3.2.5 密碼顯示子程序17</p><p>  3.2.6 開鎖子程序18</p><p>  3.2.7 修改密碼子程序19</p><p>  第4章.分析與結(jié)論20</p><p>  第5章.致謝辭20</p>&l

12、t;p>  第6章.參考文獻21</p><p>  附錄A:系統(tǒng)電路圖22</p><p>  附錄B:系統(tǒng)主要元件清單24</p><p>  附錄C:系統(tǒng)程序清單25</p><p>  附錄D:系統(tǒng)使用說明書36</p><p><b>  引 言</b></p>

13、;<p>  在日常的生活和工作中, 住宅與部門的安全防范、單位的文件檔案、財務(wù)報表以及一些個人資料的保存多以加鎖的辦法來解決。若使用傳統(tǒng)的機械式鑰匙開鎖,人們常需攜帶多把鑰匙, 使用極不方便, 且鑰匙丟失后安全性即大打折扣。隨著科學技術(shù)的不斷發(fā)展,人們對日常生活中的安全保險器件的要求越來越高。為滿足人們對鎖的使用要求,增加其安全性,用密碼代替鑰匙的密碼鎖應(yīng)運而生。密碼鎖具有安全性高、成本低、功耗低、易操作等優(yōu)點。<

14、/p><p>  隨著人們生活水平的提高,如何實現(xiàn)家庭防盜這一問題也變的尤其的突出,傳統(tǒng)的機械鎖由于其構(gòu)造的簡單,被撬的事件屢見不鮮。電子密碼鎖是由電子電路控制鎖體的新型鎖具,它采用觸摸鍵盤方式輸入開鎖密碼,操作方便。觸摸式電子鎖的輸入部分采用觸摸開關(guān)(鍵盤輸入),其優(yōu)勢在于傳統(tǒng)的機械開關(guān)之出在于其保密性高,使用靈活性好,安全系數(shù)高,無活動零件,不會磨損,壽命長等受到了廣大用戶的親呢。出于安全、方便等方面的需要許多電

15、子密碼鎖已相繼問世。但這類產(chǎn)品的特點是針對特定有效卡、指紋或聲音有效,且不能實現(xiàn)遠程控制,只能適用于保密要求高且供個人使用的箱、柜、房間等。而且卡片式IC卡還有易丟失等特點,加上其成本一般較高,一定程度上限制了這類產(chǎn)品的普及和推廣。</p><p>  在科學技術(shù)不斷發(fā)展的今天,電子密碼防盜鎖作為防盜衛(wèi)士的作用也日趨重要。一般來說大部分電子密碼鎖設(shè)計采用單片機為核心單元,設(shè)計一款具有本機開鎖和報警功能的電子密碼鎖

16、,既簡單又實用。在設(shè)計此類系統(tǒng)中主要由單片機系統(tǒng)、矩陣鍵盤、液晶顯示、密碼存儲和報警系統(tǒng)組成。設(shè)置開鎖密碼,利用軟件與硬件結(jié)合的方法來實現(xiàn)。系統(tǒng)能完成本機開鎖、超時報警、超次鎖定、管理員解密、修改用戶密碼基本的密碼鎖的功能。除上述基本的密碼鎖功能外,有的電子密碼鎖系統(tǒng)還具有調(diào)電存儲、聲光提示等功能,依據(jù)實際的情況還可以添加遙控功能,此類系統(tǒng)成本低廉,功能實用。</p><p>  第1章.系統(tǒng)方案選擇和論證<

17、;/p><p><b>  1.1 設(shè)計要求</b></p><p>  1.1.1 初始密碼統(tǒng)一設(shè)定為“123456”。</p><p>  1.1.2 要求電子密碼鎖具有開機自檢功能。</p><p>  1.1.3 16 個陣列式分別代表“1”—“9”數(shù)據(jù)、顯示密碼按鈕、修改密碼按鈕、開</p><

18、p>  鎖按鈕、關(guān)閉報警按鈕、清除最高按鈕、退格按鈕。</p><p>  1.1.4 用六位數(shù)碼管時時顯示陣列式開關(guān)輸入的數(shù)據(jù)。</p><p>  1.1.5 當開鎖按鈕被按下時,如果數(shù)碼管當前顯示值與密碼值相同則點亮綠燈;如果與密碼值不同則點亮紅燈,并發(fā)出報警。</p><p>  1.2 系統(tǒng)基本方案</p><p>  1.2

19、.1 系統(tǒng)框圖</p><p>  簡易電子密碼鎖是由5 個部分組成,如圖1.1 所示:</p><p>  圖1.1 電子密碼鎖控制系統(tǒng)</p><p>  電源模塊:由+5V 的直流穩(wěn)壓電源供電給整個系統(tǒng)工作。</p><p>  鍵盤模塊:由16 個輕觸式開關(guān)組成。</p><p>  單片機控制模塊:采用支持I

20、SP 在線編程技術(shù)的單片機AT89S52 便于燒寫程序。</p><p>  顯示模塊:采用六個數(shù)碼管時時顯示當前輸入數(shù)據(jù);</p><p>  報警模塊:采用發(fā)光二極管和蜂鳴器做聲光報警。</p><p>  1.2.2 各模塊方案選擇和論證</p><p><b>  (1)單片機的選擇</b></p>

21、<p><b>  方案一:</b></p><p>  采用AT89C51 單片機,它可以與其它51 系列的單片機兼容、內(nèi)部ROM 全部采用FLASH ROM、最高時鐘頻率可達24MHz 且能以3V 超低壓工作。但不支持ISP 在線編程技術(shù)、內(nèi)部ROM 僅為4KB 不利于功能擴展。</p><p><b>  方案二:</b><

22、;/p><p>  采用AT98S52 單片機,它具同時被AT98C51 的全部功能外,還支持ISP 在線編程技術(shù)且內(nèi)部ROM 為8KB 有利于功能擴展。</p><p><b>  (2)鍵盤的選擇</b></p><p>  方案一:使用獨立式按鍵來控制</p><p>  使用獨立式按鍵來控制數(shù)碼管的顯示,這樣需要很多

23、的按鍵,每個按鍵實現(xiàn)一個能,易于控制,程序編寫簡單,但是每個按鍵都要接上拉電阻,占用了單片機大量的I/O 接口資源,要對單片機外擴I/O 口,并且在電路焊接方面又不方便,還要浪費大量的資源,提高了成本。</p><p>  方案二:采用矩陣式鍵來控制</p><p>  把按鍵按行列組成矩陣,在行列交點上都對應(yīng)有一個鍵,這樣使用的按鍵要少,為判定有無鍵被按下以及被按鍵的位置,這種稱為鍵掃描

24、法。這樣雖然提高了編程難度,但是節(jié)約了單片機大量的I/O 口,免去了上拉電阻為焊接帶來了方便,提高了整塊電路板的美觀度。</p><p>  (3)顯示模塊的選擇</p><p>  方案一:數(shù)碼管靜態(tài)顯示</p><p>  采用LED 數(shù)碼管靜態(tài)顯示方法,電路容易理解,驅(qū)動程序簡單,但需要每個數(shù)碼管都要一塊74LS47 來驅(qū)動顯示,增高了成本,浪費系統(tǒng)硬件資源,

25、而需要占用單片機多個I/O 口。</p><p>  方案二:數(shù)碼管動態(tài)顯示</p><p>  采用LED 數(shù)碼管動態(tài)掃顯示方法,只需一塊數(shù)碼管驅(qū)動器芯片和一塊譯碼器芯片就可以驅(qū)動多個數(shù)碼管,價格便宜,只需要7 個I/O 口就可以同時驅(qū)動8 個數(shù)碼管顯示。硬件利用效率高,驅(qū)動程序容易理解和編程。</p><p><b>  方案三:液晶顯示</b&

26、gt;</p><p>  采用LCD 液晶顯示,顯示的位數(shù)多,由單片機驅(qū)動。此方案有美觀、顯示清晰多樣的優(yōu)點。但同時液晶顯示器的驅(qū)動程序復雜,編程困難,成本高,價格昂貴,浪費大量的資源。</p><p> ?。?)數(shù)碼管驅(qū)動選擇</p><p>  采用74LS47 驅(qū)動數(shù)碼管和74LS138 譯碼器來控制數(shù)碼管的COM 端,因為74LS47 只能驅(qū)動共陽數(shù)碼管,

27、而74LS138 的輸出為低電平有效。因此,在74LS138 的輸出端加入反向器才可以接到數(shù)碼管的COM 端。</p><p>  方案一:74LS04 芯片的選擇</p><p>  采用74LS04 芯片做反向器,74LS47 是集成六反向器芯片,剛好可驅(qū)動六個數(shù)碼管,但是它的輸入輸出引腳兩邊均分布,造成跳線較多給電路焊接時帶來麻煩影響了整塊電路的美觀度。</p><

28、;p>  方案二:三極管的選擇</p><p>  三極管也具有反向的功能,采用的是PNP 管,電路的連接中又方便,減少了跳線提高美觀度。</p><p> ?。?)報警模塊的選擇</p><p><b>  方案一:</b></p><p>  采用語音報警,雖然可以使整個系統(tǒng)更加完美,但是會使程序更加復雜而且提

29、高了整個系統(tǒng)的造價。</p><p><b>  方案二:</b></p><p>  采用發(fā)光二極管和蜂鳴器來報警,可以發(fā)出聲光報警且降低了成本。</p><p>  1.2.3 系統(tǒng)各模塊的最終方案</p><p>  結(jié)合整個系統(tǒng)的功能、成本、美觀度等綜合考慮,用AT89S52 單片機為主控模塊、用4×4

30、 鍵盤輸入、用74LS47、74LS138 和三極管來驅(qū)動六個數(shù)碼管做顯示模塊、用發(fā)光二極管和蜂鳴器做為報警模塊。系統(tǒng)框圖如圖1.2</p><p>  圖1.2 系統(tǒng)框圖</p><p>  第2章. 系統(tǒng)的硬件設(shè)計與實現(xiàn)</p><p>  2.1 系統(tǒng)硬件概述</p><p>  本系統(tǒng)是通過鍵盤掃描模塊,既能夠顯示數(shù)據(jù)并且還能修改密

31、碼,開鎖密碼,</p><p>  具有強大的功能,通過鍵盤掃描模塊輸入到單片機控制系統(tǒng)AT89S52 中。然后通</p><p>  過數(shù)碼顯示模塊來顯示我們所要有數(shù)據(jù),還有一個就是報警模塊,當輸入的密碼</p><p>  相同時,則顯示模塊的燈點亮,當輸入的密碼是錯誤時,綠燈點亮,報警模塊立</p><p>  刻發(fā)出聲音報警。為了達到

32、設(shè)定的功能,本裝置鍵盤掃描模塊、單片機控制模塊、</p><p>  數(shù)碼管顯示模塊,聲光報警模塊等4 模塊組成。</p><p>  2.2 主要單元電路的設(shè)計</p><p>  2.2.1 鍵盤掃描模塊電路的設(shè)計</p><p>  圖2.1 鍵盤掃描模塊</p><p>  如圖2.1 所示,本模塊的作用是進行

33、鍵盤的掃描,首先判定有沒有鍵被按下,然后再判定被按鍵的位置,因為鍵盤矩陣有鍵被按下時,被按鍵處的行線和列線被接通,使得開關(guān)之間接通。當掃描表明有按鍵被按下之后,緊接著應(yīng)是進行去抖動處理,一般我們采用的是軟件來去抖動,軟件方法則是采用時間延遲以躲過抖動,待行線上狀態(tài)穩(wěn)定之后,再進行行狀態(tài)輸入。</p><p>  2.2.2 單片機控制模塊電路的設(shè)計</p><p>  圖2.2 單片機控制

34、模塊</p><p>  如圖2.2 所示,單片機作為本裝置的核心器件,在系統(tǒng)中起到控制聲光報警、以及數(shù)碼動態(tài)顯示的作用,其中采用的是AT89S52,AT89S52 是標準的40 引腳雙列直插式集成電路芯片,有4 個八位的并行雙向I/O 端口,分別記作P0、P1、P2、P3。第20 引腳為接地端;第40引腳為電源端;第31 引腳需要接高電位使單片</p><p>  機選用內(nèi)部程序存儲器;

35、第18、19 腳之間接上一個12MHz 的晶振為單片機提供時鐘信號;第9 腳為復位腳,當其接高電位時,單片機停止工作。P0 口接兩個發(fā)光二極管和一個蜂鳴器以實現(xiàn)聲光報警功能,P2 口連接一片七段譯碼器和一片3-8 譯碼器以動態(tài)掃描方式同時驅(qū)動六個數(shù)碼管,P1 口與16 個陣列式按鍵相連實現(xiàn)對鍵盤的掃描。通過編程既能識別從譯碼器來驅(qū)動數(shù)碼管來顯示數(shù)據(jù),同時也通過運行指令來達到完成聲光報警及動態(tài)顯示數(shù)碼管等功能。</p>&l

36、t;p>  2.2.3 聲光報警模塊電路的設(shè)計</p><p>  圖2.3 聲光報警模塊</p><p>  如圖2.3 所示,本模塊的作用是當開鎖按鈕被按下時,如果數(shù)碼管當前顯示值相同,則綠燈點亮,當輸入的數(shù)與密碼不同時,則紅燈點亮并且蜂鳴器立刻發(fā)出聲音報警。</p><p>  2.2.4 數(shù)碼顯示模塊電路的設(shè)計</p><p>

37、  圖2.4 數(shù)碼顯示模塊</p><p>  如圖2.4 所示,該模塊主要由74LS47 譯碼器,74LS138 譯碼器和6 個8 段數(shù)碼顯示管組成,如圖所示,從編碼器輸送過來的數(shù)據(jù)經(jīng)過兩片74LS47 芯片和74LS138 蕊片譯碼后,傳送到8 段數(shù)碼顯示管,顯示管根據(jù)接收到數(shù)據(jù)電平的高低來顯示不同的數(shù)據(jù)。</p><p>  從圖中可以看到單片機P2 口低4 位連接一片74LS47

38、七段譯碼器,由于74LS47 是共陽極數(shù)碼管的七段譯碼器,因此要選用共陽極的數(shù)碼管。單片機P2.0-P21.3 的輸出信號經(jīng)過74LS47 譯碼后就可以驅(qū)動數(shù)碼管的段碼顯示相應(yīng)的數(shù)字,另外在74LS47 的輸出與數(shù)碼管之間還要接上7 個470 歐姆的限流電阻,以防止有過大的電流流過時燒壞數(shù)碼管。P2.4-P2.6 口接于3-8 譯碼器74LS138 的三個輸入端,而74LS138 的輸出端通過三極管分別接于八個數(shù)碼管的公共極。通過由P1

39、.4-P1.6 口的輸出量來控制74LS138 選擇點亮某一個數(shù)碼管。由于74LS138 是低電位有效,所以應(yīng)該采用PNP 型的三極管來驅(qū)動數(shù)碼管,在此三極管相當于一個開關(guān)的作用依靠這兩塊芯片就可以控制數(shù)碼管實現(xiàn)動態(tài)掃描顯示。</p><p>  例如:使六個數(shù)碼管顯示123456。在第一時刻輸出“0001”給74LS47,讓數(shù)碼管顯示“1”,同時輸出“000” 給74LS138,選擇第一個數(shù)碼管工作,其余數(shù)碼管

40、不工作,這樣第一時刻就只有第一個數(shù)碼管顯示“1”,其余數(shù)碼管均不顯示。同理第二時刻也只有第二個數(shù)碼管顯示“2”,依次類推第N 時刻就只有第N 個數(shù)碼管顯示“N”。人的肉眼只能分辨0.1 秒內(nèi)的變化,所以如果以每一時刻0.01 秒的頻率循環(huán)變化,看起來就感覺每一個數(shù)碼管都被點亮了,顯示“123456”。</p><p>  第3章. 系統(tǒng)的軟件設(shè)計</p><p>  3.1 系統(tǒng)軟件概述&

41、lt;/p><p>  3.1.1 軟件系統(tǒng)分析</p><p>  本系統(tǒng)的工作流程為:通過鍵盤掃描來實現(xiàn)三種不同的功能,剛開始是設(shè)置的初始密碼123456 通過數(shù)碼管來顯示,用10 個按鍵來輸入0 到9 這從右到左依次輸入,還用三個按鍵來顯示密碼,修改密碼,開鎖等。當開鎖按鈕被按下時,如果數(shù)碼管與當前顯示值相同,則點亮LED1;當數(shù)碼管值不同時,則點亮LED2,并且立刻發(fā)出報警聲音。<

42、;/p><p>  3.1.2 主程序流程圖:</p><p>  圖3.1 主程序流程圖</p><p>  主程序說明:單片機復位后進入初始化把初始密碼“123456”依次存放到40H 到45H六個單元中,把30H 到35H 六個單設(shè)置為六位數(shù)碼管顯示數(shù)據(jù)的存放地址,設(shè)置完畢調(diào)用自檢子程序進入自檢狀態(tài),自檢完畢調(diào)用掃描子程序?qū)︽I盤進行掃描,如果有按鍵被按下則跳轉(zhuǎn)到相

43、應(yīng)的子程序,再調(diào)用顯示子程序把30H 到35H 六個單元的數(shù)據(jù)給六個數(shù)碼管顯示出來。顯示完畢就跳加掃描子程序繼續(xù)對鍵盤進行掃描,如此循環(huán)。</p><p>  3.2 子程序的設(shè)計</p><p>  3.2.1 自檢子程序</p><p>  圖3.2 自檢子程序流程圖</p><p>  自檢子程序說明:進入自檢子程序后先把循環(huán)次數(shù)30

44、賦給38H 單元,把移位次數(shù)6 賦給R0,再把08H 賦給P2 口顯示,把08H 移位后再賦給P2 口,循環(huán)6 次完成一次顯示,循環(huán)顯示完30 次完成自檢。</p><p>  3.2.2 鍵盤掃描子程序</p><p>  圖3.3 鍵盤掃描子程序流程圖</p><p>  鍵盤掃描程序說明:給鍵盤所連接的P2 口賦掃描碼,例如:MOV P2,#0FEH,<

45、/p><p>  則掃描最后一行按鍵。寫入這個掃描碼后P2 口的高4 位寫入“1”,被設(shè)為輸入狀態(tài),低4位中只有P2.0 為“0”。而P2 口的高4 位通過按鍵與低4 位相連,所以此時從P2 口的高4位就可以讀入低4 位的數(shù)據(jù)。與被按下的鍵相連接的高位口,讀入的數(shù)據(jù)為“0”,其它高位口讀入的為“1”從而識別出是哪一個按鍵</p><p>  被按下。隨后再依次對P2 口寫入FDH、FBH、07

46、H,分別掃描第三、第二、第一行,這樣交替循環(huán)便可完成對4×4 鍵盤的掃描。</p><p>  3.2.3 移位子程序</p><p>  圖 3.4 移位子程序流程圖</p><p>  移位程序說明:進入移位子后就把30H 到35H 六個單元里的數(shù)據(jù)向右移一位,移位完畢后把35H 單元里的數(shù)據(jù)推出去,把30H 單元空出。</p><

47、p>  3.2.4 顯示子程序</p><p>  圖 3.5 顯示子程序流程圖</p><p>  顯示程序說明:進入顯示子程序后把顯示次數(shù)40 次賦給3AH 單元,把30H 到35H 六個單元里的數(shù)據(jù)賦給P2 口顯示完一次,顯示完40 次返回。</p><p>  3.2.5 密碼顯示子程序</p><p>  圖 3.6 密碼顯示

48、子程序流程圖</p><p>  密碼顯示程序說明:進入密碼顯示子程序后把顯示次數(shù)250 次賦給4AH 單元,把30H 到35H 六個單元里的數(shù)據(jù)賦給P2 口顯示完一次,顯示完250 次返回。</p><p>  3.2.6 開鎖子程序</p><p>  圖 3.7 開鎖子程程序流程圖</p><p>  開鎖程序說明:判斷30H 到35H

49、 單元里的數(shù)據(jù)與40H 到45H 單元里的數(shù)據(jù)是否相同,如果相同,開鎖成功綠燈亮;如果不相同,開鎖不成功報警紅燈亮且蜂鳴器響。</p><p>  3.2.7 修改密碼子程序</p><p>  圖 3.8 修改密碼子程序流程圖</p><p>  修改密碼程序說明:判斷綠燈是否已點亮,點亮則說明已開鎖成功可修改密碼,否則不修改。</p><p&

50、gt;<b>  第4章.分析與結(jié)論</b></p><p>  總體來看,已經(jīng)完成了題目所要求的基本功能,在完成成基本功能外還有解除報警功能和退格功能,這樣使整個系統(tǒng)的功能更加完美,成本也不高,應(yīng)用更加方便。整個電路從整體上看電路已基本穩(wěn)定,經(jīng)多次檢查已復合要求,加上軟件上的功能對于電子密碼鎖來說已完美。</p><p>  我設(shè)計的是基于單片機控制的電子密碼鎖。經(jīng)

51、過一段時間的努力,我基本上完成了題目的要求設(shè)計和制作。</p><p>  在設(shè)計過程中,我首先進行方案的設(shè)計,然后是電路的布局和設(shè)計,最后是對電路進行仔細檢查。在方案的設(shè)計過程中,經(jīng)過了理論驗證和篩選,才確定最終的方案。比如鍵盤掃描的設(shè)計,就考慮過二種不同的方案;對數(shù)碼顯示模塊的使用,也使用了兩種不同的芯片來驅(qū)動數(shù)碼管。而電路的制作更是成功完成制作的保證,因此在整個過程中,我從始至終都秉著嚴謹、認真的態(tài)度來完成

52、特別是在編程的時,開始是一點不懂,看到編程有種頭痛的感覺,但在老師的指導下和同組的幫助下,我的設(shè)計程序己基本上實現(xiàn)了。</p><p>  總之,在這次畢業(yè)設(shè)計當中,盡管時間有些緊迫,卻使我們學到了許</p><p>  多知識,不管是專業(yè)基礎(chǔ)知識還是動手制作能力,都得到了很大的提高,既</p><p>  開拓了思維也積累了經(jīng)驗,更重要的是使我們看到自己的不足和今

53、后更需要努力的方向。以后我們將更加努力學好專業(yè)知識,不斷地積累更豐富的經(jīng)驗,進一步提高動手技能。</p><p><b>  第5章.致謝辭</b></p><p>  感謝xx給予我們這個畢業(yè)設(shè)計的機會,提供了一個讓我們展示才能,開拓創(chuàng)新思維,激發(fā)創(chuàng)新靈感,交流學習的平臺。我們通過這次畢業(yè)設(shè)計,極大地提高了動手能力,磨練了意志,同時也培養(yǎng)了自主創(chuàng)新的意識。感謝我的指

54、導老師和在此設(shè)計過程中幫助我的一些同學,在你們指導和幫助下,我才能順利的完成這次畢業(yè)設(shè)計。</p><p><b>  第6章.參考文獻</b></p><p>  [1] 劉勇. 《數(shù)字電路》. 電子工業(yè)出版社,2004</p><p>  [2] 王法能.《單片機原理及應(yīng)用》.(簡明修訂版) 科學出版社出版發(fā)行, 2001</p>

55、;<p>  [3] 趙偉軍.PROTEL 99 SE 教程.人民郵電出版社,2004</p><p>  [4] 黃 強.模擬電子技術(shù).科學出版社,2003</p><p>  [5] 王磊,PLC 控制的多功能磁卡式電子密碼鎖設(shè)計,河南大學學報,1998</p><p>  [6] 祖龍起,劉仁杰, 一種新型可編程密碼鎖 大連輕工業(yè)學院學報 ,20

56、02</p><p>  [7] 寧愛民,應(yīng)用AT89C2051單片機設(shè)計電子密碼鎖 淮海工學院學報 12(2):28-31,2003</p><p>  [8] 曾咭昭, 外遙控電子密碼鎖應(yīng)用研究 國外電子元器件,4:7-8,2002</p><p>  [9]趙克林,姜春茂,韓忠東.《C語言程序設(shè)計教程》.北京工業(yè)大學出版</p><p&g

57、t;  [10]李曉白,秦紅磊等主編.《凌陽16位單片機C語言開發(fā)》.北京航空航天大學出版</p><p>  [11] 胡漢才. 單片機原理及其接口技術(shù). 清華大學出版社.1996年</p><p>  [12] 余永權(quán). ATMEL89系列(MCS-51兼容)FLASH單片機原理及應(yīng)用. 電子工業(yè)出版社. 1997</p><p>  [13] 劉樹林,高樹德.

58、《低頻電子線路》.電子工業(yè)出版社。</p><p>  [14] 21ic,美信的MAX7219的資料。</p><p>  [15] 楊鳴,毛婕,馮文利.《max7219與單片機的駁接》.發(fā)布時間2006.06</p><p>  [16] ATmega.ATmega8L-8AC,2006,(01);</p><p>  [17] Wire

59、less World,1998,vol、84,No、1509,p69;</p><p><b>  附錄A:系統(tǒng)電路圖</b></p><p>  附錄B:系統(tǒng)主要元件清單</p><p>  附錄C:系統(tǒng)程序清單</p><p><b>  ORG 0000H</b></p><

60、;p>  LJMP START</p><p><b>  START:</b></p><p>  MOV 40H,#06H ;設(shè)置初始密碼為“123456”并分別存放到45H~~40H</p><p>  MOV 41H,#15H</p><p>  MOV 42H,#24H</p>

61、<p>  MOV 43H,#33H</p><p>  MOV 44H,#42H</p><p>  MOV 45H,#51H ;六位密碼存放地址</p><p>  MOV 30H,#0FFH ;六個數(shù)碼管顯示數(shù)據(jù)存放地址</p><p>  MOV 31H,#0FFH</p>

62、<p>  MOV 32H,#0FFH</p><p>  MOV 33H,#0FFH</p><p>  MOV 34H,#0FFH</p><p>  MOV 35H,#0FFH</p><p>  MOV R0,#06H ;自檢移位次數(shù)</p><p>  LCALL ZIJIAN

63、 ;調(diào)用自檢子程序</p><p><b>  CHENGXU:</b></p><p>  LCALL SAOMIAO ;調(diào)用掃描子程序</p><p>  LCALL XIANSHI ;調(diào)用顯示子程序</p><p>  LJMP CHENGXU ;

64、循環(huán)</p><p>  ZIJIAN: ;自檢子程序</p><p>  MOV 38H,#30 ;循環(huán)次數(shù)</p><p><b>  A3:</b></p><p><b>  SETB P0.0</b></p><p&

65、gt;<b>  SETB P0.1</b></p><p><b>  SETB P0.2</b></p><p>  MOV A,#00001000B ;給數(shù)碼管顯示為"8"</p><p><b>  A4:</b></p>&l

66、t;p><b>  MOV P2,A</b></p><p>  ADD A,#00010000B ;移位</p><p>  LCALL DELE ;調(diào)用顯示延時子程序</p><p>  DJNZ R0,A4</p><p>  DJN

67、Z 38H,A3</p><p>  MOV P1,#0FFH ;自檢完畢,關(guān)閉自檢</p><p><b>  CLR P0.0</b></p><p><b>  CLR P0.1</b></p><p><b>  CLR P0.2</b&g

68、t;</p><p><b>  RET</b></p><p>  DELE: ;顯示延時子程序</p><p>  MOV 36H,#250</p><p>  DJNZ 36H,$</p><p><b>  RET</b&

69、gt;</p><p>  XIANSHI: ;顯示子程序</p><p>  MOV 3AH,#40 ;顯示循環(huán)次數(shù)</p><p><b>  XS2:</b></p><p>  MOV P2,30H

70、 ;把30H 到35H 的數(shù)據(jù)給P1 口顯示</p><p>  LCALL DELE ;調(diào)用顯示延時子程序</p><p>  MOV P2,31H</p><p>  LCALL DELE</p><p>  MOV P2,32H</p><p>  LCALL

71、 DELE</p><p>  MOV P2,33H</p><p>  LCALL DELE</p><p>  MOV P1,34H</p><p>  LCALL DELE</p><p>  MOV P1,35H</p><p>  LCALL DELE</p><p

72、>  DJNZ 3AH,XS2 ;循環(huán)顯示</p><p><b>  RET</b></p><p>  SAOMIAO: ;掃描子程序</p><p>  MOV R7,#0F7H ;輸出掃描碼(列:1111)(行:0111),掃描第一行</p><

73、;p>  MOV R6,#00H ;用于檢測哪個按鍵被按下</p><p><b>  HANGSAO:</b></p><p><b>  MOV A,R7</b></p><p>  MOV P1,A ;開始掃描行</p><p><

74、b>  MOV A,P2</b></p><p><b>  SETB C</b></p><p>  MOV R5,#04H ;掃描同一行的4 個按鍵</p><p><b>  LIESAO:</b></p><p><b>  RLC A<

75、;/b></p><p>  JNC PANDUAN ;檢測當前按鍵是否被下,如果有馬上跳到判斷子程</p><p><b>  序</b></p><p>  INC R6 ;如果當前沒有按鍵被按下則檢測下一個</p><p>  DJNZ R5,LIESAO

76、 ;檢測完本行的4 個按鍵,則跳出</p><p><b>  MOV A,R7</b></p><p><b>  SETB C</b></p><p><b>  RRC A</b></p><p>  MOV R7,A ;掃描碼

77、右移一位,開始掃描下一行</p><p>  JC HANGSAO ;沒有掃描完4 行則跳到HANGSAO 繼續(xù)掃描,已掃</p><p><b>  描完4 行就返回</b></p><p><b>  RET</b></p><p>  PANDUAN:

78、 ;判斷是那個開關(guān)被按下</p><p>  LCALL DEL ;調(diào)用消抖延時子程序</p><p><b>  MOV A,R6</b></p><p>  XRL A,#00H</p><p>  JZ KAIGUAN1 ; 開關(guān)被按下跳轉(zhuǎn)按鍵1 功能子程序

79、</p><p><b>  MOV A,R6</b></p><p>  XRL A,#01H</p><p>  JZ KAIGUAN2 ; 開關(guān)被按下跳轉(zhuǎn)按鍵2 功能子程序</p><p><b>  MOV A,R6</b></p><p>  

80、XRL A,#02H</p><p>  JZ KAIGUAN3 ; 開關(guān)被按下跳轉(zhuǎn)按鍵3 功能子程序</p><p><b>  MOV A,R6</b></p><p>  XRL A,#03H</p><p>  JZ KAIGUAN4 ; 開關(guān)被按下跳轉(zhuǎn)按鍵4 功能子程

81、序</p><p><b>  MOV A,R6</b></p><p>  XRL A,#04H</p><p>  JZ KAIGUAN5 ; 開關(guān)被按下跳轉(zhuǎn)按鍵5 功能子程序</p><p><b>  MOV A,R6</b></p><p> 

82、 XRL A,#05H</p><p>  JZ KAIGUAN6 ; 開關(guān)被按下跳轉(zhuǎn)按鍵6 功能子程序</p><p><b>  MOV A,R6</b></p><p>  XRL A,#06H</p><p>  JZ KAIGUAN7 ; 開關(guān)被按下跳轉(zhuǎn)按鍵7 功能子

83、程序</p><p><b>  MOV A,R6</b></p><p>  XRL A,#07H</p><p>  JZ KAIGUAN8 ; 開關(guān)被按下跳轉(zhuǎn)按鍵8 功能子程序</p><p><b>  MOV A,R6</b></p><p>

84、  XRL A,#08H</p><p>  JZ KAIGUAN9 ; 開關(guān)被按下跳轉(zhuǎn)按鍵9 功能子程序</p><p><b>  MOV A,R6</b></p><p>  XRL A,#09H</p><p>  JZ KAIGUAN10 ; 開關(guān)被按下跳轉(zhuǎn)按鍵10 功

85、能子程序</p><p><b>  MOV A,R6</b></p><p>  XRL A,#0AH</p><p>  JZ KG11 ; 開關(guān)被按下跳轉(zhuǎn)按鍵11 功能子程序</p><p><b>  MOV A,R6</b></p><p&

86、gt;  XRL A,#0BH</p><p>  JZ KG12 ; 開關(guān)被按下跳轉(zhuǎn)按鍵12 功能子程序</p><p><b>  MOV A,R6</b></p><p>  XRL A,#0CH</p><p>  JZ KG13 ; 開關(guān)被按下跳轉(zhuǎn)按鍵

87、13 功能子程序</p><p><b>  MOV A,R6</b></p><p>  XRL A,#0DH</p><p>  JZ KG14 ; 開關(guān)被按下跳轉(zhuǎn)按鍵14 功能子程序</p><p><b>  MOV A,R6</b></p>&l

88、t;p>  XRL A,#0EH</p><p>  JZ KG15 ; 開關(guān)被按下跳轉(zhuǎn)按鍵15 功能子程序</p><p><b>  MOV A,R6</b></p><p>  XRL A,#0FH</p><p>  JZ KG16 ; 開關(guān)被按

89、下跳轉(zhuǎn)按鍵16 功能子程序</p><p>  LJMP SAOMIAO</p><p><b>  KG11:</b></p><p>  LJMP KAIGUAN11</p><p><b>  KG12:</b></p><p>  LJMP KAIGUAN12<

90、/p><p><b>  KG13:</b></p><p>  LJMP KAIGUAN13</p><p><b>  KG14:</b></p><p>  LJMP KAIGUAN14</p><p><b>  KG15:</b></p>

91、;<p>  LJMP KAIGUAN15</p><p><b>  KG16:</b></p><p>  LJMP KAIGUAN16</p><p>  DEL: ;消抖延時子程序</p><p>  MOV 3FH,#5</p>&l

92、t;p><b>  D1:</b></p><p>  MOV 3EH,#200</p><p>  DJNZ 3EH,$</p><p>  DJNZ 3FH,D1</p><p><b>  RET</b></p><p>  KAIGUAN1:

93、 ;按鍵1 功能子程序</p><p>  LCALL YIWEI ;調(diào)用移位子程序</p><p>  MOV 30H,#01H ;把“1”給30H 讓數(shù)碼管顯示</p><p>  RET ;按鍵2 功能子程序</p

94、><p><b>  KAIGUAN2:</b></p><p>  LCALL YIWEI</p><p>  MOV 30H,#02H</p><p><b>  RET</b></p><p>  KAIGUAN3: ;按鍵3 功能子

95、程序</p><p>  LCALL YIWEI</p><p>  MOV 30H,#03H</p><p><b>  RET</b></p><p>  KAIGUAN4: ;按鍵4 功能子程序</p><p>  LCALL YIWEI</p&

96、gt;<p>  MOV 30H,#04H</p><p><b>  RET</b></p><p>  KAIGUAN5: ;按鍵5 功能子程序</p><p>  LCALL YIWEI</p><p>  MOV 30H,#05H</p><

97、;p><b>  RET</b></p><p>  KAIGUAN6: ;按鍵6 功能子程序</p><p>  LCALL YIWEI</p><p>  MOV 30H,#06H</p><p><b>  RET</b></p>&

98、lt;p>  KAIGUAN7: ;按鍵7 功能子程序</p><p>  LCALL YIWEI</p><p>  MOV 30H,#07H</p><p><b>  RET</b></p><p>  KAIGUAN8: ;按鍵

99、8 功能子程序</p><p>  LCALL YIWEI</p><p>  MOV 30H,#08H</p><p><b>  RET</b></p><p>  KAIGUAN9: ;按鍵9 功能子程序</p><p>  LCALL YIWEI

100、</p><p>  MOV 30H,#09H</p><p><b>  RET</b></p><p>  KAIGUAN10: ;按鍵10 功能子程序</p><p>  LCALL YIWEI</p><p>  MOV 30H,#00H</

101、p><p><b>  RET</b></p><p>  KAIGUAN11: ;顯示密碼子程序(按鍵11 功能子程序)</p><p>  MOV 4AH,#250 ;顯示循環(huán)次數(shù)</p><p><b>  XX:</b&g

102、t;</p><p>  MOV P2,40H ;把40H~~45H 里的數(shù)據(jù)給P1 口讓數(shù)碼管顯示</p><p>  LCALL DELE</p><p>  MOV P2,41H</p><p>  LCALL DELE</p><p>  MOV P2,42H</p&

103、gt;<p>  LCALL DELE</p><p>  MOV P2,43H</p><p>  LCALL DELE</p><p>  MOV P2,44H</p><p>  LCALL DELE</p><p>  MOV P2,45H</p><p>  LCALL

104、DELE</p><p>  DJNZ 4AH,XX</p><p><b>  RET</b></p><p>  KAIGUAN12: ;開鎖子程序(按鍵12 功能子程序)</p><p><b>  MOV A,30H</b></p><

105、;p>  XRL A,40H ;檢查輸入密碼是否正確</p><p>  JNZ BAOJING ;不正確調(diào)用報警子程序報警2S</p><p><b>  MOV A,31H</b></p><p><b>  XRL A,41H</b>&

106、lt;/p><p>  JNZ BAOJING</p><p><b>  MOV A,32H</b></p><p><b>  XRL A,42H</b></p><p>  JNZ BAOJING</p><p><b>  MOV A,33H</b>

107、</p><p><b>  XRL A,43H</b></p><p>  JNZ BAOJING</p><p><b>  MOV A,34H</b></p><p><b>  XRL A,44H</b></p><p>  JNZ BAOJIN

108、G</p><p><b>  MOV A,35H</b></p><p><b>  XRL A,45H</b></p><p>  JNZ BAOJING</p><p>  SETB P0.0 ;輸入密碼正確綠燈點亮</p><p&

109、gt;<b>  RET</b></p><p>  KAIGUAN13: ;修改密碼確認子程序(按鍵13 功能子程序)</p><p>  JNB P0.0,BUGAI ;判斷綠是否點亮</p><p>  MOV 40H,30H ;

110、把當前顯示數(shù)據(jù)設(shè)為密碼</p><p>  MOV 41H,31H</p><p>  MOV 42H,32H</p><p>  MOV 43H,33H</p><p>  MOV 44H,34H</p><p>  MOV 45H,35H</p><p>  CLR P0.0

111、 ;密碼修改成功,關(guān)閉綠燈</p><p><b>  BUGAI:</b></p><p><b>  RET</b></p><p>  KAIGUAN14: ;關(guān)閉子程序 (按鍵14 功能子程序)</p><p>  MOV

112、P0,#00H ;關(guān)閉報警</p><p><b>  RET</b></p><p>  BAOJING: ;報警子程序</p><p>  SETB P0.1 ;啟動報警</p><p><

113、;b>  SETB P0.2</b></p><p><b>  RET</b></p><p>  KAIGUAN15: ;清除當前顯示的最高位子程序(按鍵15 功能子程序)</p><p><b>  MOV A,35H</b></p><p>  XR

114、L A,#0FFH</p><p>  JNZ G1 ;判斷35H 是否有顯示,有則跳轉(zhuǎn)</p><p><b>  MOV A,34H</b></p><p>  XRL A,#0FFH</p><p>  JNZ G2 ;

115、判斷34H 是否有顯示,有則跳轉(zhuǎn)</p><p><b>  MOV A,33H</b></p><p>  XRL A,#0FFH</p><p>  JNZ G3 ;判斷33H 是否有顯示,有則跳轉(zhuǎn)</p><p><b>  MOV A,32H</b&

116、gt;</p><p>  XRL A,#0FFH</p><p>  JNZ G4 ;判斷32H 是否有顯示,有則跳轉(zhuǎn)</p><p><b>  MOV A,31H</b></p><p>  XRL A,#0FFH</p><p>  JNZ

117、G5 ;判斷31H 是否有顯示,有則跳轉(zhuǎn)</p><p><b>  MOV A,30H</b></p><p>  XRL A,#0FFH</p><p>  JNZ G6 ;判斷30H 是否有顯示,有則跳轉(zhuǎn)</p><p>

118、;<b>  GG:</b></p><p>  MOV @R1,#0FFH ;把0FFH 賦給當前顯示的最高位</p><p><b>  RET</b></p><p><b>  G1:</b></p><p>  MOV R1,#35H

119、</p><p><b>  LJMP GG</b></p><p><b>  G2:</b></p><p>  MOV R1,#34H</p><p><b>  LJMP GG</b></p><p><b>  G3:</b&g

120、t;</p><p>  MOV R1,#33H</p><p><b>  LJMP GG</b></p><p><b>  G4:</b></p><p>  MOV R1,#32H</p><p><b>  LJMP GG</b></p&

121、gt;<p><b>  G5:</b></p><p>  MOV R1,#31H</p><p><b>  LJMP GG</b></p><p><b>  G6:</b></p><p>  MOV R1,#30H</p><p>

122、;<b>  LJMP GG</b></p><p>  KAIGUAN16: ;清除當前顯示的最低位子程序(按鍵16 功能子程序)</p><p><b>  MOV A,31H</b></p><p><b>  CLR C</b></p><p>  S

123、UBB A,#10H</p><p>  MOV 30H,A ;把31H 的數(shù)據(jù)給30H</p><p><b>  MOV A,32H</b></p><p><b>  CLR C</b></p><p>  SUBB A,#10H</p>

124、;<p>  MOV 31H,A ;把32H 的數(shù)據(jù)給31H</p><p><b>  MOV A,33H</b></p><p><b>  CLR C</b></p><p>  SUBB A,#10H</p><p>  MOV 3

125、2H,A ;把33H 的數(shù)據(jù)給32H</p><p><b>  MOV A,34H</b></p><p><b>  CLR C</b></p><p>  SUBB A,#10H</p><p>  MOV 33H,A

126、 ;把34H 的數(shù)據(jù)給33H</p><p><b>  MOV A,35H</b></p><p><b>  CLR C</b></p><p>  SUBB A,#10H</p><p>  MOV 34H,A ;把35H 的數(shù)據(jù)給

127、34H</p><p>  MOV 35H,#0FFH ;#0FFH 賦給35H,35H 顯示時變?yōu)楹谄?lt;/p><p><b>  RET</b></p><p>  DEL2S: ;延時2S 子程序</p><p>  MOV

溫馨提示

  • 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

提交評論