單片機課程設計―智能密碼鎖_第1頁
單片機課程設計―智能密碼鎖_第2頁
單片機課程設計―智能密碼鎖_第3頁
單片機課程設計―智能密碼鎖_第4頁
單片機課程設計―智能密碼鎖_第5頁
已閱讀5頁,還剩27頁未讀 繼續免費閱讀

下載本文檔

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

文檔簡介

1、湖南工程學院課程設計課程名稱單片機原理與應用課題名稱智能密碼鎖設計專業電子信息工程班級0981 班學號200913020109姓名劉維新指導教師汪超、李曉秀、李世軍等2012 年5 月18 日湖南工程學院課程設計任務書課程名稱單片機原理與應用課題智能密碼鎖設計專業班級電子信息0981班學生姓名劉維新學號200913020109指導老師汪超、李曉秀、李世軍等審批任務書下達日期2012 年 5 月7 日任務完成日期2012 年5 月18 日設計內容與設計要求設計內容:1、密碼的設定,此密碼是固定在程序存儲器ROM中,假設預設的密碼為“12345”共5位密碼。2、密碼的輸入:采用兩個按鍵來完成密碼的

2、輸入,其中一個按鍵為功能鍵,另一個按鍵為數字鍵。在密碼都已經輸入完畢并且確認功能鍵之后,才能完成密碼的輸入過程。然后進入密碼的判斷比較處理狀態并給出相應的處理過程。3、按鍵禁止功能:初始化時,允許按鍵輸入密碼,當有按鍵按下并開始進入按鍵識別狀態時,按鍵禁止功能被激活,但啟動的狀態是在3次密碼輸入不正確的情況下發生的。設計要求:1、設計方案要合理、正確;2、系統硬件設計及焊接制作;3、系統軟件設計及調試;4、系統聯調;5、寫出設計報告。主要設計條件1、MCS-51單片機實驗操作臺1臺;2、PC機及單片機調試軟件;3、單片機應用系統板1套;4、制作工具1套;5、系統設計所需的元器件。說明書格式1.

3、封面2.課程設計任務書3.目錄4.系統總體方案設計5.系統硬件設計6.軟件設計(包括流程圖7.系統的安裝調試說明8、總結9、參考文獻10、附錄(源程序清單及硬件原理圖等;11、課程設計成績評分表。進度安排設計時間為兩周第一周星期一、上午:布置課題任務,講課及課題介紹下午:借閱有關資料,總體方案討論星期二、確定總體設計方案星期三、硬件模塊方案設計星期四、軟件模塊方案設計星期五、設計及調試第二周星期一、設計及調試星期二、設計及調試星期三、總調星期四、寫說明書星期五、上午:寫說明書,整理資料下午:交設計資料,答辯參考文獻1、微型計算機原理及應用許立梓編機械工業出版社 20022、微型計算機接口技術及

4、應用劉樂善編華中理工大學出版社 20003、計算機硬件技術基礎試驗教程鄒逢興編高等教育出版社 20004、16位微型計算機原理接口及其應用周佩玲編中國科學技術大學出版社20005、微型計算機原理與接口技術吳秀清編中國科學技術出版社 20016、微型計算機接口技術鄧亞平編清華大學出版社 20017、單片機原理及及應用王迎旭編機械工業出版社 20018、單片機應用程序設計技術周航慈著北京航空航天大學出版社 20029、單片機實用技術問答謝宜仁主編人民郵電出版社 2002第1章單片機系統概述1.1 單片機的介紹隨著科技的飛速發展,單片機隨之誕生,它被人么運用到生活的各個領域,幾乎很難找到哪個領域沒有

5、單片機的蹤跡。導彈的導航裝置,飛機上各種儀表的控制,計算機的網絡通訊與數據傳輸,工業自動化過程的實時控制和數據處理,廣泛使用的各種智能IC卡,民用豪華轎車的安全保障系統,錄像機、攝像機、全自動洗衣機的控制,以及程控玩具、電子寵物等等,這些都離不開單片機。更不用說自動控制領域的機器人、智能儀表、醫療器械以及各種智能機械了。因此,單片機的學習、開發與應用將造就一批計算機應用與智能化控制的科學家、工程師。單片機又稱單片微控制器,它不是完成某一個邏輯功能的芯片,而是把一個計算機系統集成到一個芯片上。在一片集成電路芯片上集成微處理器、存儲器、I/O接口電路,從而構成了單芯片微型計算機,即單片機。Inte

6、l公司推出了MCS-51系列單片機:集成8位CPU、4K字節ROM、128字節RAM、4個8位并口、1個全雙工串行口、2個16位定時/計數器。尋址范圍64K,并有控制功能較強的布爾處理器。1.2 設計內容及要求對于此次課程設計我們使用80C51為作為主控芯片與數據存儲器單元,結合外圍的矩陣鍵盤輸入、LCD顯示、報警、開鎖等控制方案來實現的電子密碼鎖的設計,其主要具有如下功能:(1密碼的設定:此密碼是固定在程序存儲器ROM中,假設預設的密為“12345”共5位密碼。(2密碼的輸入:采用一組數字鍵盤來完成密碼的輸入及一個確認功能鍵來確認密碼的正確性。在密碼都已經輸入完畢并且確認功能鍵之后,才能完成

7、密碼的輸入過程。然后進入密碼的判斷比較處理狀態并給出相應的處理過程。(3密碼的刪除功能:當在密碼輸入時,不小心將密碼輸錯,此時只要按下刪除鍵,便能重新輸入密碼。(4按鍵禁止功能:初始化時,允許按鍵輸入密碼,當有按鍵按下并開始進入按鍵識別狀態時,按鍵禁止功能被激活,但啟動的狀態是在3次密碼輸入不正確的情況下發生的。(5報警功能:當連續輸入的三次密碼全都錯誤的情況下,自動啟用報警功能,有警報聲響起及紅燈閃爍。(6復位功能:在輸入密碼確認后最終出現兩種情況:一是密碼輸入正確,此時密碼鎖自動打開,一段時間后便自動復位,進入下一次密碼的輸入。二是密碼輸入錯誤,此時啟動警報,只有當人為的按下復位功能鍵才能

8、解除警報狀態。第2章 系統總體方案設計2.1 總體方案此次智能密碼鎖控制器的設計主要是通過程序來控制鍵盤和報警器等,在一般狀態下輸入原始密碼,則可以開鎖。如果在鎖住時輸入密碼,且連續三次密碼錯誤,報警器報警,手動按下復位按鈕,解除警報。此次設計我們將密碼固化在ROM 中,放入表中,在得到按鍵后,查表比較密碼,如果正確,顯示”GOOD ”提示,如果三次密碼錯誤,就禁止讀取按鍵函數,只打開報警電路發出報警聲及紅燈閃爍!系統總框圖如下所示:2.1 系統總框圖密碼對顯示GOOD 80C51 單片機 矩陣 鍵盤 控制 LCD 六位顯示器 輸入錯誤返回 連續輸錯三次啟動報警2.2 系統組成本系統主要包括兩

9、個部分:硬件部分和軟件部分。硬件部分:矩陣鍵盤接口電路、密碼鎖的控制電路、復位控制電路和輸出顯示電路等三部分。鍵盤部分包括鍵盤掃描時序產生電路、鍵盤掃描、彈跳消除、鍵盤譯碼、按鍵存儲。程序控制包括數字按鍵的數字輸入、存儲及清除、功能按鍵的功能設計、激活開鎖電路、密碼核對。復位電路包括復位控制按鈕。輸出顯示電路的設計包括數據選擇、BCD對顯示譯碼、七段LED 顯示掃描。軟件部分:匯編程序的主函數和子函數。其中子函數又包括:按鍵讀取函數、延時函數、定時中斷函數、按鍵處理函數、刪除函數、密碼比較函數、顯示函數、報警函數、復位函數。第3章系統硬件設計3.1主控芯片80C51此次智能密碼的鎖設計主要是圍

10、繞80C51芯片而做的,80C51是INTEL 公司MCS-51系列單片機中最基本的產品,它采用INTEL公司可靠的CHMOS 工藝技術制造的高性能8位單片機,屬于標準的MCS-51的HCMOS產品。它結合了HMOS的高速和高密度技術及CHMOS的低功耗特征,它繼承和擴展了MCS-48單片機的體系結構和指令系統。80C51內置中央處理單元、128字節內部數據存儲器RAM、32個雙向輸入/輸出(I/O口、2個16位定時/計數器和5個兩級中斷結構,一個全雙工串行通信口,片內時鐘振蕩電路。 圖3.1 80C51芯片引腳圖80C51各管腳的功能如下:VCC和GND:分別為外接電源和接地P0P3:為輸入

11、/輸出口線,其各有的功能,其中P3口每一位還有特殊功能。RST:復位輸入。當振蕩器復位器件時,要保持RST腳兩個機器周期的高電平時間。ALE/PROG:當訪問外部存儲器時,地址鎖存允許的輸出電平用于鎖存地址的地位字節。在FLASH編程期間,此引腳用于輸入編程脈沖。/PSEN:外部程序存儲器的選通信號。在由外部程序存儲器取指期間,每個機器周期兩次/PSEN有效。/EA/VPP:當/EA保持低電平時,在此期間外部程序存儲器(0000H-FFFFH,不管是否有內部程序存儲器。XTAL1:反向振蕩放大器的輸入及內部時鐘工作電路的輸入。XTAL2:來自反向振蕩器的輸出。3.2單片機振蕩電路8051內置頻

12、率可達12MHz的時鐘電路,用來產生整個單片機運行的脈沖時序,但8051單片機需外置振蕩電容,晶振采用12M外接30pF電容構成單片機時鐘電路。 圖3.2單片機振蕩電路3.3單片機復位電路單片機系統的復位電路在可以采用的是按鈕式上電復位電路形式,其中電阻R采用10K的阻值,電容采用10F的電容值。 圖3.3 復位電路3.4 鍵盤按鍵電路此次設計使用的是矩陣鍵盤,這種形式的鍵盤能減少鍵盤與單片機接口時所占用的I/O線的數目,在按鍵比較多的時候,通常采用這樣方法。 圖3.4(a矩陣鍵盤這種鍵盤內部結構為每一條水平(行線與垂直線(列線的交叉處不相通,而是通過一個按鍵來連通,利用這種行列式矩陣結構只需

13、要N條行線和M條列線,即可組成具有N×M個按鍵的鍵盤。我們這次設計的電子密碼鎖的按鍵部分采用4X4矩陣鍵盤,鍵盤行列各有四條線鍵盤排列在行與列線的交點上如圖3.4(a所示。 圖3.4(b 矩陣鍵盤內部結構圖如上圖所示鍵盤,確定矩陣式鍵盤上何鍵被按下常使用的為“行掃描法”。行掃描法行掃描法又稱為逐行(或列掃描查詢法,是一種最常用的按鍵識別方法,介紹過程如下。判斷鍵盤中有無鍵按下:(1先將行線p1.7-p1.4置0111,然后檢測列線的狀態。如果p1.3-p1.0為0111,則k0被按下;如果p1.3-p1.0為1011,則k1被按下;如果p1.3-p1.0為1101,則k2被按下;如果

14、p1.3-p1.0為1110,則k3被按下;(2將行線p1.7-p1.4置1011,然后檢測列線的狀態,方法同(1;(3將行線p1.7-p1.4置1101,然后檢測列線的狀態,方法同(1;(4將行線p1.7-p1.4置1110,然后檢測列線的狀態,方法同(1。3.5顯示電路八段共陽顯示器的結構是八個二極管連接一個陽極的結構,只要另一段為低電平,二極管就會發光,從而形成一段。將八段順序排列后就成為具有一定編碼的共陽顯示器了。本設計顯示電路采用共陽顯示器顯示輸入的五位密碼,和一個密碼輸入次數提示位。其顯示狀態有三種:當密碼鎖處于開始狀態時,LED不做任何顯示,當密碼鎖輸入正確的密碼是即顯示GOOD

15、,當密碼連續輸入三次錯誤時LED顯示“”并且不停閃爍。此三種狀態圖如下所示。 圖3.5(a 無任何輸入時顯示狀態 圖3.5(b輸入密碼正確的顯示狀態 圖3.5(c連續三次輸錯密碼的顯示狀態3.6報警電路輸入密碼與設定密碼做比較,當輸入密碼與設定密碼不同,返回再輸入,當輸入密碼次數超過3次時,通過軟件從80C51的P3.6輸出脈沖,是紅色報警二極管閃爍,并且從P3.7輸出脈沖使三極管導通揚聲器鳴笛報警。 圖3.6報警電路原理圖第4章 軟件設計4.1軟件總體設計本系統軟件設計由主程序、初始化程序、LCD 顯示程序、鍵盤掃描程序、鍵功能程序、密碼設置程序、密碼比較程序、密碼對開鎖、錯報警和延時程序等

16、組成。軟件設計總流程圖如下: 圖4.1 軟件設計總流程圖手 動 復 位4.2鍵盤掃描及識別子程序鍵盤采用查詢的方式,放在主程序中,當沒有按鍵按下的時候,單片機循環主程序,一旦有按鍵按下,便轉向相應的子程序處理,處理結束再返回。4.3 比較密碼子程序當按下確定按鍵后程序執行密碼比較,判斷密碼是否正確,從而決定是否禁止鍵盤,是否報警,還是繼續等待按鍵輸入,圖4.2是密碼比較函數流程圖:開始取密碼密碼正確調密碼輸入正確顯示程序延時 返回到P.顯示程序返回到P.顯示程序NY圖4.2 比較密碼子程序流程圖4.4 顯示程序設計由于是分屏顯示數據,所以就要用到5個顯示子程序,分別是:關閉狀態顯示子程序、開鎖

17、狀態顯示子程序、密碼輸入及修改狀態顯示子程序、密碼輸入錯誤后的提示子程序。密碼在規定的時間內輸入錯誤次數超過3次后的鎖定狀態顯示子程序。為了顯示數字,要為LED顯示器提供字型代碼。我用的是共陽極的顯示器。4.5按鍵功能流程圖如圖4.3為按鍵功能流程圖,在按鍵當中,有與輸入、開鎖、清除、確認的程序相對應的按鍵,并按順序與輸入的數相比較,當輸入正確時,進入密碼程序,錯誤時進行清除,最后確認程序。 圖4.3 按鍵功能流程圖4.6開鎖流程圖如圖4.4為開鎖流程圖,開始時按開鎖鍵,輸入密碼,如果輸入正確,則開鎖成功。如果輸入錯誤累計達到三次,則執行報警程序。開鎖流程圖如下所示:圖4.4 開鎖流程圖初始化

18、按開鎖鍵輸入密碼確認程序所輸入密碼正確?Y開鎖成功開鎖程序輸入次數加1次數>3?報警程序返回NYN第5章安裝調試說明對于智能密碼鎖的設計,我們可以使用proteus軟件來仿真,Proteus軟件是英國Labcenter electronics公司出版的EDA工具軟件。它不僅具有其它EDA工具軟件的仿真功能,還能仿真單片機及外圍器件。它是目前最好的仿真單片機及外圍器件的工具。仿真之前我們得先做一些準備工作。首先,根據密碼鎖設計所需,使用編程軟件寫一個程序,這里既可以用C語言來編寫也可用偉福軟件來編寫匯編語言。現在我們用所熟悉的單片機匯編語言來編寫,程序編寫完了,進行程序的編譯,正確后軟件部

19、分完成。然后進行原理圖的制作,先打開protues軟件,將所需要的元件找到放置好,調整合理,然后依次連上線。將各個線進行網絡編號。完畢后,進行電氣規則檢查,檢查正確后就可以加載匯編程序了。打開工具欄中源代碼項的添加源文件,選擇編好的匯編程序。這些都做好之后我們就可以進行軟硬件的模擬仿真了,單擊調試中的執行,進入仿真狀態。初始時,為了節約電能,LED上無任何顯示,這時可以從鍵盤上輸入5位數字進去,如不小心輸入錯誤,可以按下刪除鍵進行修改。輸完五位數字之后,按確認鍵。如果密碼正確,LED顯示GOOD此時密碼鎖打開,若是輸入錯誤,不做任何顯示,進行二次重復輸入,倘若連續三次輸錯,便會自動啟動報警,以

20、引起主人注意。只有按下異地解除報警復位按鈕方能解除報警。以上是密碼鎖所具有的功能,如果滿意的話這時我們就能按照原理圖以及結合實際需要來進行實物的制作。第6章設計總結通過連續兩周的課程設計,我學到了許多書本上無法學到的知識,也深刻體會到單片機技術應用領域的廣泛。不僅讓我對學過的單片機知識有了很多的鞏固,同時也對單片機這一門課程產生了更大的興趣。本設計讓我對專業知識有了更深的理解。在本次課程設計過程中,我學會了在網絡上查找有關本設計的各硬件的資源,其中包括:AT89C51單片機及其引腳說明、鍵盤掃描程序的編寫等,為本次課程設計提供了一定的資料。在做課程設計的初期階段,難度較大。在設計基本完成時密碼

21、的修改還是不能實現,通過求助于老師、查找了問題的所在。最后經過指導老師的耐心指點和連續的奮戰才基本設計出來。感謝老師的無私的幫助!本次設計我能獨立完成,算是有了很大的收獲。不但對單片機有了更為深入的了解,對一個課題如何實現模擬仿真及編寫匯編程序等,有了一定的認識。進一步加強了自己的動手能力和運用專業知識的能力,從中學習到如何去思考和解決問題,以及如何靈活地改變方法去實現設計方案;特別是深刻體會到的是軟件和硬件結合的重要性,以及兩者的聯系和配合作用。同時明白了辦事只要有信心,有毅力,找對方法,就會成功!通過本次課程設計,讓我了解到智能化技術對當今人們生活的重要性。同時這次做課程設計的經歷也使我受

22、益匪淺。讓我知道做任何事情都應腳踏實地,刻苦努力地去做。只有這樣,才能做好。在這次課程設計中,我既鞏固了專業知識,又學到了在設計過程中的許多流程和該注意的事項,增強了電子產品開發的意識。本次經歷將是我在大學時期很好的一次實踐和鍛煉機會。參考文獻1、微型計算機原理及應用許立梓編機械工業出版社 20022、微型計算機接口技術及應用劉樂善編華中理工大學出版社 20003、計算機硬件技術基礎試驗教程鄒逢興編高等教育出版社 20004、16位微型計算機原理接口及其應用周佩玲編中國科學技術大學出版社20005、微型計算機原理與接口技術吳秀清編中國科學技術出版社 20016、微型計算機接口技術鄧亞平編清華大

23、學出版社 20017、單片機原理及及應用王迎旭編機械工業出版社 20018、單片機應用程序設計技術周航慈著北京航空航天大學出版社20029、單片機實用技術問答謝宜仁主編人民郵電出版社 2002附錄A 硬件原理圖 附錄B 源程序清單KEYOK BIT 20H.0NUM5 BIT 20H.1NUM3 BIT 20H.2NUM1 BIT 20H.3LED BIT P3.6BEEP BIT P3.7ORG 0000HSJMP MAINORG 000BH;*初始化*INIT:MOV R6,#5MOV R1,#40HIN1: MOV R1,#16INC R1DJNZ R6,IN1MOV R3,#1RET;

24、*;*主函數*MAIN:ACALL INITMOV R0,30H ;R0作為按鍵值指針MOV R1,40H ;R1作為顯示指針M: JNB NUM5,M0ACALL DISPM0: JB NUM3,M1 ;密碼是否輸錯三次了,如果輸錯三次就屏蔽按鍵輸入ACALL KEYSCANJB KEYOK,M3SJMP MM1: JB KEYOK,M3 ;如果密碼正確就轉,錯誤就報警MOV R5,#5MOV R0,#40HM2: MOV R0,#16INC R0DJNZ R5,M2MOV R3,#16M22: CPL LEDACALL DISPACALL BBPJNB P3.0,FUWEI ;遠程控制,報

25、警后手動復位。SJMP M22M3: MOV 40H,#16 ;密碼正確了,就顯示GOOD MOV 41H,#09MOV 42H,#17MOV 43H,#17MOV 44H,#13MOV R3,#16MOV R0,#0FFH ;設置GOOD顯示時間M6: A CALL DISP ;顯示正確后,采用自動復位ACALL DELAYDJNZ R0,M6ACALL FUWEISJMP M6;*;*復位函數*FUWEI: CLR KEYOKSETB LEDCLR NUM3SJMP MAIN;*;*讀取按鍵函數*KEYSCAN:MOV P2,#0F0HMOV A,P2CJNE A,#0F0H,KEYGOR

26、ETKEYGO:ACALL DELAY ;延時去抖動MOV A,P2CJNE A,#0F0H,KEYGO1RETKEYGO1:MOV A,R4 ;賦地址值ADD A,#30HMOV R0,AADD A,#16MOV R1,AMOV A,P2MOV R0,AMOV P2,#0FFHMOV p2,#0FHMOV A,P2ORL A,R0MOV R0,AGO0: MOV P2,0FFHMOV A,P2CJNE A,#00H,GO0 ;等待按鍵松開DEC R1MOV R1,#16INC R1INC R4 ;輸入密碼個數加1SETB NUM5MOV A,R0 ;A作為傳遞參數ACALL KEYCHUMO

27、V A,R0MOV R1,ARET;*;*按鍵處理*KEYCHU:MOV A,R0CJNE A,#0D7H,K1 ;0鍵MOV R0,#0RETK1:CJNE A,#0EBH,K2 ;1鍵MOV R0,#1RETK2:CJNE A,#0DBH,K3 ;2鍵MOV R0,#2RETK3:CJNE A,#0BBH,K4 ;3鍵MOV R0,#3RETK4:CJNE A,#0EDH,K5 ;4鍵MOV R0,#4RETK5:CJNE A,#0DDH,K6 ;5鍵MOV R0,#5RETK6:CJNE A,#0BDH,K7 ;6鍵MOV R0,#6RETK7:CJNE A,#0EEH,K8 ;7鍵MO

28、V R0,#7RETK8:CJNE A,#0DEH,K9 ;8鍵MOV R0,#8RETK9:CJNE A,#0BEH,K10 ;9鍵MOV R0,#9RETK10:CJNE A,#0E7H,k11 ;10鍵ACALL BIJIAOk11:CJNE A,#0B7H,RENT2 ;11鍵ACALL DELRENT2:RETRET;*;*刪除* DEL: MOV R4,#0MOV R6,#5MOV R1,#40HIN2: MOV R1,#16INC R1DJNZ R6,IN2MOV R0,30HMOV R1,40HLJMP MRET;*;*比較* BIJIAO:MOV DPTR,#TAB1MOV R6,#5MOV R7,#0MOV R0,#30HB0:MOV A,R7MOVC A,A+DPTRMOV 29H,AMOV A,R0CJNE A,29H,RETTINC

溫馨提示

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

評論

0/150

提交評論