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

下載本文檔

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

文檔簡介

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

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

3、以時時顯示當前輸入的六位數(shù)字。當輸入密碼正確時,對應的指示燈亮;當密碼不正確時,另一個對應的指示燈亮且并且發(fā)出聲音報警。</p><p>  關鍵詞:矩陣式鍵盤,單片機,數(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 設計要求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)的硬件設計與實現(xiàn)6</p><p>  2.1 系統(tǒng)硬件概述6</p><p>  2.2 主要單元電路的設計6</p><p>  2.2.1 鍵盤掃描模塊電路的設計6&

9、lt;/p><p>  2.2.2 單片機控制模塊電路的設計7</p><p>  2.2.3 聲光報警模塊電路的設計8</p><p>  2.2.4 數(shù)碼顯示模塊電路的設計9</p><p>  第3章. 系統(tǒng)的軟件設計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 子程序的設計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章.分析與結論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>  在日常的生活和工作中, 住宅與部門的安全防范、單位的文件檔案、財務報表以及一些個人資料的保存多以加鎖的辦法來解決。若使用傳統(tǒng)的機械式鑰匙開鎖,人們常需攜帶多把鑰匙, 使用極不方便, 且鑰匙丟失后安全性即大打折扣。隨著科學技術的不斷發(fā)展,人們對日常生活中的安全保險器件的要求越來越高。為滿足人們對鎖的使用要求,增加其安全性,用密碼代替鑰匙的密碼鎖應運而生。密碼鎖具有安全性高、成本低、功耗低、易操作等優(yōu)點。<

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

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

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

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

18、p>  鎖按鈕、關閉報警按鈕、清除最高按鈕、退格按鈕。</p><p>  1.1.4 用六位數(shù)碼管時時顯示陣列式開關輸入的數(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 個輕觸式開關組成。</p><p>  單片機控制模塊:采用支持I

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

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

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

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

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

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

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

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

28、;p>  方案二:三極管的選擇</p><p>  三極管也具有反向的功能,采用的是PNP 管,電路的連接中又方便,減少了跳線提高美觀度。</p><p>  (5)報警模塊的選擇</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>  結合整個系統(tǒng)的功能、成本、美觀度等綜合考慮,用AT89S52 單片機為主控模塊、用4×4

30、 鍵盤輸入、用74LS47、74LS138 和三極管來驅動六個數(shù)碼管做顯示模塊、用發(fā)光二極管和蜂鳴器做為報警模塊。系統(tǒng)框圖如圖1.2</p><p>  圖1.2 系統(tǒng)框圖</p><p>  第2章. 系統(tǒng)的硬件設計與實現(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、設定的功能,本裝置鍵盤掃描模塊、單片機控制模塊、</p><p>  數(shù)碼管顯示模塊,聲光報警模塊等4 模塊組成。</p><p>  2.2 主要單元電路的設計</p><p>  2.2.1 鍵盤掃描模塊電路的設計</p><p>  圖2.1 鍵盤掃描模塊</p><p>  如圖2.1 所示,本模塊的作用是進行

33、鍵盤的掃描,首先判定有沒有鍵被按下,然后再判定被按鍵的位置,因為鍵盤矩陣有鍵被按下時,被按鍵處的行線和列線被接通,使得開關之間接通。當掃描表明有按鍵被按下之后,緊接著應是進行去抖動處理,一般我們采用的是軟件來去抖動,軟件方法則是采用時間延遲以躲過抖動,待行線上狀態(tài)穩(wěn)定之后,再進行行狀態(tài)輸入。</p><p>  2.2.2 單片機控制模塊電路的設計</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)掃描方式同時驅動六個數(shù)碼管,P1 口與16 個陣列式按鍵相連實現(xiàn)對鍵盤的掃描。通過編程既能識別從譯碼器來驅動數(shù)碼管來顯示數(shù)據(jù),同時也通過運行指令來達到完成聲光報警及動態(tài)顯示數(shù)碼管等功能。</p>&l

36、t;p>  2.2.3 聲光報警模塊電路的設計</p><p>  圖2.3 聲光報警模塊</p><p>  如圖2.3 所示,本模塊的作用是當開鎖按鈕被按下時,如果數(shù)碼管當前顯示值相同,則綠燈點亮,當輸入的數(shù)與密碼不同時,則紅燈點亮并且蜂鳴器立刻發(fā)出聲音報警。</p><p>  2.2.4 數(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 譯碼后就可以驅動數(shù)碼管的段碼顯示相應的數(shù)字,另外在74LS47 的輸出與數(shù)碼管之間還要接上7 個470 歐姆的限流電阻,以防止有過大的電流流過時燒壞數(shù)碼管。P2.4-P2.6 口接于3-8 譯碼器74LS138 的三個輸入端,而74LS138 的輸出端通過三極管分別接于八個數(shù)碼管的公共極。通過由P1

39、.4-P1.6 口的輸出量來控制74LS138 選擇點亮某一個數(shù)碼管。由于74LS138 是低電位有效,所以應該采用PNP 型的三極管來驅動數(shù)碼管,在此三極管相當于一個開關的作用依靠這兩塊芯片就可以控制數(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)的軟件設計</p><p>  3.1 系統(tǒng)軟件概述&

41、lt;/p><p>  3.1.1 軟件系統(tǒng)分析</p><p>  本系統(tǒng)的工作流程為:通過鍵盤掃描來實現(xiàn)三種不同的功能,剛開始是設置的初始密碼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ù)據(jù)的存放地址,設置完畢調用自檢子程序進入自檢狀態(tài),自檢完畢調用掃描子程序對鍵盤進行掃描,如果有按鍵被按下則跳轉到相

43、應的子程序,再調用顯示子程序把30H 到35H 六個單元的數(shù)據(jù)給六個數(shù)碼管顯示出來。顯示完畢就跳加掃描子程序繼續(xù)對鍵盤進行掃描,如此循環(huán)。</p><p>  3.2 子程序的設計</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”,被設為輸入狀態(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章.分析與結論</b></p><p>  總體來看,已經(jīng)完成了題目所要求的基本功能,在完成成基本功能外還有解除報警功能和退格功能,這樣使整個系統(tǒng)的功能更加完美,成本也不高,應用更加方便。整個電路從整體上看電路已基本穩(wěn)定,經(jīng)多次檢查已復合要求,加上軟件上的功能對于電子密碼鎖來說已完美。</p><p>  我設計的是基于單片機控制的電子密碼鎖。經(jīng)

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

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

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

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

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

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

57、t;  [10]李曉白,秦紅磊等主編.《凌陽16位單片機C語言開發(fā)》.北京航空航天大學出版</p><p>  [11] 胡漢才. 單片機原理及其接口技術. 清華大學出版社.1996年</p><p>  [12] 余永權. ATMEL89系列(MCS-51兼容)FLASH單片機原理及應用. 電子工業(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 ;設置初始密碼為“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、 ;調用自檢子程序</p><p><b>  CHENGXU:</b></p><p>  LCALL SAOMIAO ;調用掃描子程序</p><p>  LCALL XIANSHI ;調用顯示子程序</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 ;調用顯示延時子程序</p><p>  DJNZ R0,A4</p><p>  DJN

67、Z 38H,A3</p><p>  MOV P1,#0FFH ;自檢完畢,關閉自檢</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 ;調用顯示延時子程序</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、 ;判斷是那個開關被按下</p><p>  LCALL DEL ;調用消抖延時子程序</p><p><b>  MOV A,R6</b></p><p>  XRL A,#00H</p><p>  JZ KAIGUAN1 ; 開關被按下跳轉按鍵1 功能子程序

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

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

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

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

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

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

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

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

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

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

89、下跳轉按鍵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 ;調用移位子程序</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 ;不正確調用報警子程序報警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ù)設為密碼</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、 ;密碼修改成功,關閉綠燈</p><p><b>  BUGAI:</b></p><p><b>  RET</b></p><p>  KAIGUAN14: ;關閉子程序 (按鍵14 功能子程序)</p><p>  MOV

112、P0,#00H ;關閉報警</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 是否有顯示,有則跳轉</p><p><b>  MOV A,34H</b></p><p>  XRL A,#0FFH</p><p>  JNZ G2 ;

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

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

117、G5 ;判斷31H 是否有顯示,有則跳轉</p><p><b>  MOV A,30H</b></p><p>  XRL A,#0FFH</p><p>  JNZ G6 ;判斷30H 是否有顯示,有則跳轉</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)系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 眾賞文庫僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論