51單片機(jī)簡易密碼鎖.doc_第1頁
51單片機(jī)簡易密碼鎖.doc_第2頁
51單片機(jī)簡易密碼鎖.doc_第3頁
51單片機(jī)簡易密碼鎖.doc_第4頁
51單片機(jī)簡易密碼鎖.doc_第5頁
已閱讀5頁,還剩31頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、學(xué)學(xué) 號(hào):號(hào):201114040215201114040215 HEBEI UNITED UNIVERSITY 單單片片機(jī)機(jī)課課程程 設(shè)設(shè)計(jì)計(jì)說說明明書書 設(shè)計(jì)題目:設(shè)計(jì)題目:簡易電子密碼鎖簡易電子密碼鎖 學(xué)生姓名:學(xué)生姓名:李紅輝李紅輝 專業(yè)班級(jí):專業(yè)班級(jí):測控技術(shù)及儀器測控技術(shù)及儀器 2 2 學(xué)學(xué) 院:院:電氣工程學(xué)院電氣工程學(xué)院 指導(dǎo)教師:指導(dǎo)教師:曹曉華曹曉華 2014 年年 06 月月 05 日日 成績?cè)u(píng)定表 指導(dǎo)教師評(píng)語:指導(dǎo)教師評(píng)語: 答答 辯辯 成成 績:績: (占總成績(占總成績 60%) 說明書說明書 成成 績:績: (占總成績(占總成績 40%) 摘 要 在日常的生活和工

2、作中, 住宅與部門的安全防范、單位的文件檔案、財(cái)務(wù) 報(bào)表以及一些個(gè)人資料的保存多以加鎖的辦法來解決。若使用傳統(tǒng)的機(jī)械式鑰 匙開鎖,人們常需攜帶多把鑰匙, 使用極不方便, 且鑰匙丟失后安全性即大打 折扣。隨著科學(xué)技術(shù)的不斷發(fā)展,人們對(duì)日常生活中的安全保險(xiǎn)器件的要求越 來越高。為滿足人們對(duì)鎖的使用要求,增加其安全性,用密碼代替鑰匙的密碼 鎖應(yīng)運(yùn)而生。密碼鎖具有安全性高、成本低、功耗低、易操作等優(yōu)點(diǎn)。 在安全技術(shù)防范領(lǐng)域,具有防盜報(bào)警功能的電子密碼鎖逐漸代替?zhèn)鹘y(tǒng)的機(jī) 械式密碼鎖,克服了機(jī)械式密碼鎖密碼量少、安全性能差的缺點(diǎn),使密碼鎖無 論在技術(shù)上還是在性能上都大大提高一步。隨著大規(guī)模集成電路技術(shù)的發(fā)

3、展, 特別是單片機(jī)的問世,出現(xiàn)了帶微處理器的智能密碼鎖,它除具有電子密碼鎖 的功能外,還引入了智能化管理、專家分析系統(tǒng)等功能,從而使密碼鎖具有很 高的安全性、可靠性,應(yīng)用日益廣泛。 本課程設(shè)計(jì)介紹了基于單片機(jī)電子密碼鎖的設(shè)計(jì),該設(shè)計(jì)硬件主要由 AT89C52最小系統(tǒng)、矩陣電路、1602LCD顯示電路、電源電路和報(bào)警電路等幾部 分組成。軟件主要由C語言編程。該密碼鎖由單片機(jī)技術(shù),通過矩陣電路設(shè)置、 修改密碼、保護(hù)密碼,并由LCD顯示密碼輸入,從而實(shí)現(xiàn)對(duì)密碼的設(shè)置、保護(hù)。 關(guān)鍵詞: 單片機(jī), 密碼鎖, 1602,最小系統(tǒng),矩陣鍵盤 單片機(jī)課程設(shè)計(jì)說明書 Abstract In daily life

4、 and work, the department of housing and security, unit documents, financial statements and some personal information to save more in order to lock the ways to solve. If use the traditional mechanical key to open the lock, people often need to carry multiple keys, use very convenient, and the key mi

5、ssing after security is compromised. With the continuous development of science and technology, people in daily life the demand is higher and higher safety insurance device. To meet the requirements of people on the use of the lock, increase its safety, use the password instead of the key combinatio

6、n lock arises at the historic moment. Combination lock with high safety, low cost, low power consumption, easy operation, etc. In the field of security technology to guard against, with electronic combination lock anti-theft alarm function gradually replace the traditional mechanical combination loc

7、k, overcoming the mechanical combination lock password quantity is little, the shortcomings of poor safety performance, make the combination lock both in technology and step in performance are improved greatly. With the development of large scale integrated circuit technology, especially the single

8、chip microcomputer, appeared with the intelligent combination of the microprocessor, it besides has the function of electronic combination lock, also introduced the intelligent management, expert analysis system, and other functions, so that the combination lock of high security, reliability, and in

9、creasingly widely used. The course design of electronic combination lock based on MCU is introduced, the design of the hardware is mainly composed of AT89C52 minimum system, matrix circuit, 1602 LCD display circuit, power circuit and alarm circuit and so on several parts. Software is mainly composed

10、 of C language programming. The combination lock by the single chip microcomputer technology, through the matrix circuit setting, change passwords, password protection, and by the LCD display password input, so as to realize the password Settings, protection. 單片機(jī)課程設(shè)計(jì)說明書 Key words: single chip microc

11、omputer, trick lock, the 1602, the smallest system, matrix keyboard 單片機(jī)課程設(shè)計(jì)說明書 目目 錄錄 摘 要.I ABSTRACT.II 第 1 章 緒論.7 1.1 電子密碼鎖的現(xiàn)狀與發(fā)展.7 1.1.1 電子密碼鎖的現(xiàn)狀.7 1.1.2 電子密碼鎖的發(fā)展.7 1.2 電子密碼鎖的特色.7 第 2 章 電子密碼鎖的工作原理及總體設(shè)計(jì).8 2.1 電子密碼鎖的工作原理.8 2.2 總體結(jié)構(gòu)的設(shè)計(jì).8 第 3 章 硬件系統(tǒng)設(shè)計(jì).9 3.1 單片機(jī)最小系統(tǒng)和數(shù)據(jù)輸入.9 3.1.1 單片機(jī)最小系統(tǒng).9 3.1.2 矩陣鍵盤的設(shè)計(jì)與

12、初始數(shù)據(jù)的輸入.11 3.2 數(shù)據(jù)的輸出與顯示.12 3.3 報(bào)警電路.16 3.4 硬件電路圖.17 第 4 章仿真與調(diào)試.19 4.1 程序流程.19 4.2 仿真結(jié)果.20 總結(jié).23 參考文獻(xiàn).25 附件 單片機(jī)課程設(shè)計(jì)說明書 第第 1 1 章章 緒論緒論 1.11.1 電子密碼鎖的現(xiàn)狀和發(fā)展電子密碼鎖的現(xiàn)狀和發(fā)展 1.1.1 電子密碼鎖的現(xiàn)狀 當(dāng)今智能電子密碼鎖發(fā)展已經(jīng)到了非常高的境界,由于電子元件特別是單 片機(jī)應(yīng)用在這幾年得到空前發(fā)展,無論功能性,穩(wěn)定性都比較全面,在保密方 面已做到人眼識(shí)別,指紋識(shí)別,人聲識(shí)別基本上電影上有的現(xiàn)實(shí)也有。在國外 發(fā)展比較早,所以應(yīng)用也比較廣泛,主要在

13、家庭裝較貴重地方,銀行,保險(xiǎn)柜 等應(yīng)用較多,在國內(nèi)這方面發(fā)展也較快,不管自己開發(fā)或是引進(jìn)都有,在重要 地方應(yīng)用也較多,由于價(jià)錢比普通彈子鎖較貴,早幾年應(yīng)用較少,現(xiàn)在越來越 普及到平常化,未來的發(fā)展也會(huì)越來越被大眾采用,由于它的功能、安全是彈 子鎖無法相比的。發(fā)展前境是非常大的。 1.1.2 電子密碼鎖的發(fā)展 現(xiàn)在,電子密碼鎖適用于各個(gè)領(lǐng)域,尤其在國民建設(shè),和軍事領(lǐng)域具有突 出貢獻(xiàn)?,F(xiàn)在的密碼鎖內(nèi)的信息包括了數(shù)字、字符、圖形圖像、人體生物特征 和時(shí)間等,對(duì)電子鎖的要求也越來越高。電子技術(shù)必是各國發(fā)展的優(yōu)先技術(shù)。 1.21.2 電子密碼鎖的特色電子密碼鎖的特色 保密性好,編碼量多,遠(yuǎn)遠(yuǎn)大于彈子鎖。

14、隨機(jī)開鎖成功率幾乎為零。密碼可 變。 用戶可以經(jīng)常更改密碼,防止密碼被盜,同時(shí)也可以避免因人員的更替而 使鎖的密級(jí)下降。誤碼輸入保護(hù)。當(dāng)輸入密碼多次錯(cuò)誤時(shí),報(bào)警系統(tǒng)自動(dòng)啟動(dòng)。 電子密碼鎖操作簡單易行,一學(xué)即會(huì)。干擾碼功能 在輸入正確密碼前可輸入任 意碼。出門時(shí)無需其他操作,只需一次的把手動(dòng)作,可機(jī)械的開啟門,所以遇 到火災(zāi)等應(yīng)急狀況下也迅速,安全的開啟門。 單片機(jī)課程設(shè)計(jì)說明書 第第 2 2 章章 電子密碼鎖的工作原理及總體設(shè)計(jì)電子密碼鎖的工作原理及總體設(shè)計(jì) 2.12.1 電子密碼鎖的工作原理電子密碼鎖的工作原理 本設(shè)計(jì)采用 STC89C52 單片機(jī)為主控芯片,結(jié)合外圍電路矩陣鍵盤、液 晶顯示

15、器 LCD1602 和密碼存儲(chǔ) AT24C02 等部分組成。其中矩陣鍵盤用于輸入數(shù) 字密碼和進(jìn)行各種功能的實(shí)現(xiàn)。由用戶通過連接單片機(jī)的矩陣鍵盤輸入密碼, 后經(jīng)過單片機(jī)對(duì)用戶輸入的密碼與自己保存的密碼進(jìn)行對(duì)比,從而判斷密碼是 否正確,然后控制引腳的高低電平傳到開鎖電路或者報(bào)警電路控制開鎖還是報(bào) 警,組成的電子密碼鎖系統(tǒng),能夠?qū)崿F(xiàn): 1完全正確輸入四位密碼的前提下,有開鎖提示; 2錯(cuò)誤輸入密碼情況下,開鎖密碼錯(cuò) 3 次要報(bào)警,報(bào)警期間輸入密碼無效。 3用戶可以自行設(shè)定和修改密碼; 2.22.2 電子密碼鎖的總體框圖電子密碼鎖的總體框圖 STC89c52 晶振電路 矩陣鍵盤 顯示電路 報(bào)警電路 復(fù)位

16、電路 圖 2-1 總體框圖 單片機(jī)課程設(shè)計(jì)說明書 第三章第三章 硬件系統(tǒng)設(shè)計(jì)硬件系統(tǒng)設(shè)計(jì) 3.13.1 單片機(jī)最小系統(tǒng)和數(shù)據(jù)輸入單片機(jī)最小系統(tǒng)和數(shù)據(jù)輸入 3.1.1 單片機(jī)最小系統(tǒng) 選用單片機(jī)作為系統(tǒng)的核心部件,實(shí)現(xiàn)控制與處理的功能。單片機(jī)具有資 源豐富、速度快、編程容易等優(yōu)點(diǎn)。利用單片機(jī)內(nèi)部的隨機(jī)存儲(chǔ)器(RAM)和只 讀存儲(chǔ)器(ROM)及其引腳資源,外接液晶顯示(LCD),鍵盤輸入等實(shí)現(xiàn)數(shù)據(jù) 的處理傳輸和顯示功能,基本上能實(shí)現(xiàn)設(shè)計(jì)指標(biāo)。 本設(shè)計(jì)采用 AT89c52 單片機(jī),89C52 是 INTEL 公司 MCS-51 系列單片機(jī)中基 本的產(chǎn)品,它采用 ATMEL 公司可靠的 CMOS 工藝

17、技術(shù)制造的高性能 8 位單片機(jī), 屬于標(biāo)準(zhǔn)的 MCS-51 的 HCMOS 產(chǎn)品。它結(jié)合了 CMOS 的高速和高密度技術(shù)及 CMOS 的低功耗特征,它基于標(biāo)準(zhǔn)的 MCS-51 單片機(jī)體系結(jié)構(gòu)和指令系統(tǒng),屬于 89C51 增強(qiáng)型單片機(jī)版本,集成了時(shí)鐘輸出和向上或向下計(jì)數(shù)器等更多的功能,適合 于類似馬達(dá)控制等應(yīng)用場合。89C52 內(nèi)置 8 位中央處理單元、512 字節(jié)內(nèi)部數(shù)據(jù) 存儲(chǔ)器 RAM、8k 片內(nèi)程序存儲(chǔ)器(ROM)32 個(gè)雙向輸入/輸出(I/O)口、3 個(gè) 16 位定時(shí)/計(jì)數(shù)器和 5 個(gè)兩級(jí)中斷結(jié)構(gòu),一個(gè)全雙工串行通信口,片內(nèi)時(shí)鐘振蕩電 路。此外,89C52 還可工作于低功耗模式,可通過兩

18、種軟件選擇空閑和掉電模 式。在空閑模式下凍結(jié) CPU 而 RAM 定時(shí)器、串行口和中斷系統(tǒng)維持其功能。掉 電模式下,保存 RAM 數(shù)據(jù),時(shí)鐘振蕩停止,同時(shí)停止芯片內(nèi)其它功能。 圖 3-11 P0 口外接排阻 單片機(jī)課程設(shè)計(jì)說明書 圖 3-12 最小系統(tǒng)電路圖 如圖 3-12 為單片機(jī)最小系統(tǒng),硬件最小系統(tǒng):由電 源、主板和 CPU、內(nèi)存組成.在這個(gè)系統(tǒng)中,沒有任何信 號(hào)線的連接,只有電源到主板的電源連接.由于設(shè)計(jì)本電 路圖所使用的軟件為 Protues,且電源和電源地腳為自 動(dòng)隱藏所以電源部分也是在其中的。如圖 3-11 所示。 51 單片機(jī)的 P0 端口為開漏輸出,內(nèi)部無上拉電阻。所 以在當(dāng)

19、做普通 I/O 輸出數(shù)據(jù)時(shí),由于 V2 截止,輸出級(jí) 是漏極開路電路,要使“1”信號(hào)(即高電平)正常輸 出,必須外接上拉電阻。 圖 3-13 單片機(jī)課程設(shè)計(jì)說明書 在單片機(jī)系統(tǒng)中,復(fù)位電路是非常關(guān)鍵的,當(dāng)程序跑飛(運(yùn)行不正常)或 死機(jī)(停止運(yùn)行)時(shí),就需要進(jìn)行復(fù)位。MCS-5l 系列單片機(jī)的復(fù)位引腳 RST(第 9 管腳)出現(xiàn) 2 個(gè)機(jī)器周期以上的高電平時(shí),單片機(jī)就執(zhí)行復(fù)位操作。 如果 RST 持續(xù)為高電平,單片機(jī)就處于循環(huán)復(fù)位狀態(tài)。復(fù)位操作通常有兩種基 本形式:上電自動(dòng)復(fù)位和開關(guān)復(fù)位。圖 3-13 中所示的復(fù)位電路就包括了這兩種 復(fù)位方式。上電瞬間,電容兩端電壓不能突變,此時(shí)電容的負(fù)極和 R

20、ESET 相連, 電壓全部加在了電阻上,RESET 的輸入為高,芯片被復(fù)位。隨之+5V 電源給電容 充電,電阻上的電壓逐漸減小,最后約等于 0,芯片正常工作。并聯(lián)在電容的 兩端為復(fù)位按鍵,當(dāng)復(fù)位按鍵沒有被按下的時(shí)候電路實(shí)現(xiàn)上電復(fù)位,在芯片正 常工作后,通過按下按鍵使 RST 管腳出現(xiàn)高電平達(dá)到手動(dòng)復(fù)位的效果。一般來 說,只要 RST 管腳上保持 10ms 以上的高電平,就能使單片機(jī)有效的復(fù)位。圖 中所示的復(fù)位電阻和電容為經(jīng)典值,實(shí)際制作是可以用同一數(shù)量級(jí)的電阻和電 容代替,讀者也可自行計(jì)算 RC 充電時(shí)間或在工作環(huán)境實(shí)際測量,以確保單片 機(jī)的復(fù)位電路可靠。 3.1.2 數(shù)據(jù)的輸入 鑒于單片機(jī)的

21、 I/O 口的限制,本次選用矩陣鍵盤的輸入,如下圖所示: 圖 3-21 矩陣鍵盤 單片機(jī)課程設(shè)計(jì)說明書 陣式鍵盤由行線和列線組成,按鍵位于行、列的交叉點(diǎn)上。當(dāng)鍵被按下時(shí), 其交點(diǎn)的行線和列線接通,相應(yīng)的行線或列線上的電平發(fā)生變化,單片機(jī)通過 檢測行或列線上的電平變化可以確定哪個(gè)按鍵被按下。矩陣鍵盤不僅在連接上 比單獨(dú)式按鍵復(fù)雜,它的按鍵識(shí)別方法也比單獨(dú)式按鍵復(fù)雜。矩陣鍵盤的檢測 方法有多種,常見的有:逐點(diǎn)掃描法、逐行掃描法、全局掃描法。 在本實(shí)例中我們采用逐行掃描法來實(shí)現(xiàn)按鍵檢測,其中 P3.0-P3.3 作為行 線,P3.4-P3.7 作為列線。識(shí)別過程如下 1、判斷鍵盤中是否有鍵按下。設(shè)置

22、所有行線為輸出口,并輸出低電平;設(shè) 置列線為輸入口,讀取列線上的電平狀態(tài),只要有一列的電平為低,就表示有 按鍵按下,并且被按下的鍵位于電平為低的列線與 4 跟行線相交叉的 4 個(gè)按鍵 中,若所有列線都為高電平,表示沒有按鍵按下; 2、判斷被按下按鍵所在的位置。在確認(rèn)有鍵按下后(進(jìn)行按鍵消抖處理后) ,接下來就是確定具體哪個(gè)案件被按下,方法是:依次將每根行線設(shè)置為輸出 口,并輸出低電平(同時(shí)剩余行線輸出高電平),然后逐列檢查每根列線的電 平狀態(tài),若某列為低電平,則該列線與設(shè)置為輸出低電平的行線交叉處的按鍵 就是被按下的按鍵。 3、按鍵位置確定后,接下來就要給矩陣鍵盤中的每個(gè)按鍵進(jìn)行編號(hào),也就 是

23、進(jìn)行按鍵編碼,程序設(shè)計(jì)中常用計(jì)算法和查表法兩種方式對(duì)按鍵進(jìn)行編碼。 ,程序設(shè)計(jì)中常用計(jì)算法和查表法兩種方式對(duì)按鍵進(jìn)行編碼。 本實(shí)例采用計(jì)算法編碼。從上面的電路圖中我們可以看到,鍵盤的所有行 線接到了 P3.0-P3.3 口,51 單片機(jī)上電后為高電平,這是確保在沒有按鍵按下 的時(shí)候,I/O 口的電平狀態(tài)始終為高電平,從而消除外界干擾。對(duì)于 51 單片機(jī) 來說,我們可以將 P3.4-P3.7 口分別不同置為低電平,當(dāng)有按鍵按下時(shí)可以比 較 P3.0-P3.7 的壓值,則可以得出是哪個(gè)鍵按下并且可以賦予相應(yīng)的值。并可 以讀入單片機(jī)中,繼續(xù)相應(yīng)的操作。 3.23.2 數(shù)據(jù)的輸出和顯示數(shù)據(jù)的輸出和顯示

24、 單片機(jī)課程設(shè)計(jì)說明書 在日常生活中,我們對(duì)液晶顯示器并不陌生。液晶顯示模塊已作為很多電 子產(chǎn)品的通過器件,如在計(jì)算器、萬用表、電子表及很多家用電子產(chǎn)品中都可 以看到,顯示的主要是數(shù)字、專用符號(hào)和圖形。在單片機(jī)的人機(jī)交流界面中, 一般的輸出方式有以下幾種:發(fā)光管、LED 數(shù)碼管、液晶顯示器。發(fā)光管和 LED 數(shù)碼管比較常用,軟硬件都比較簡單,在前面章節(jié)已經(jīng)介紹過,在此不作介紹, 本章重點(diǎn)介紹字符型液晶顯示器的應(yīng)用。在單片機(jī)系統(tǒng)中應(yīng)用晶液顯示器作為 輸出器件有以下幾個(gè)優(yōu)點(diǎn):顯示質(zhì)量高,由于液晶顯示器每一個(gè)點(diǎn)在收到信號(hào) 后就一直保持那種色彩和亮度,恒定發(fā)光,而不像陰極射線管顯示器(CRT)那 樣需

25、要不斷刷新新亮點(diǎn)。因此,液晶顯示器畫質(zhì)高且不會(huì)閃爍。數(shù)字式接口, 液晶顯示器都是數(shù)字式的,和單片機(jī)系統(tǒng)的接口更加簡單可靠,操作更加方便。 體積小、重量輕液晶顯示器通過顯示屏上的電極控制液晶分子狀態(tài)來達(dá)到顯示 的目的,在重量上比相同顯示面積的傳統(tǒng)顯示器要輕得多。功耗低相對(duì)而言, 液晶顯示器的功耗主要消耗在其內(nèi)部的電極和驅(qū)動(dòng) IC 上,因而耗電量比其它顯 示器要少得多。 圖 3-2 LCD1602 顯示電路 單片機(jī)課程設(shè)計(jì)說明書 如圖 3-21 所示,本次設(shè)計(jì)采用的是 LCD1602,工業(yè)字符型液晶,能夠同時(shí) 顯示 16x02 即 32 個(gè)字符。 (16 列 2 行) 注:為了表示的方便 ,后文皆

26、以 1 表示高電平,0 表示低電平。 1602 液晶也叫 1602 字符型液晶,它是一種專門用來顯示字母、數(shù)字、符號(hào) 等的點(diǎn)陣型液晶模塊。它由若干個(gè) 5X7 或者 5X11 等點(diǎn)陣字符位組成,每個(gè)點(diǎn)陣 字符位都可以顯示一個(gè)字符,每位之間有一個(gè)點(diǎn)距的間隔,每行之間也有間隔, 起到了字符間距和行間距的作用,正因?yàn)槿绱怂运荒芎芎玫仫@示圖形(用 自定義 CGRAM,顯示效果也不好) 。1602LCD 是指顯示的內(nèi)容為 16X2,即可以顯 示兩行,每行 16 個(gè)字符液晶模塊(顯示字符和數(shù)字) 。市面上字符液晶大多數(shù) 是基于 HD44780 液晶芯片的,控制原理是完全相同的,因此基于 HD44780

27、寫的 控制程序可以很方便地應(yīng)用于市面上大部分的字符型液晶。 1602 采用標(biāo)準(zhǔn)的 16 腳接口,其中: 第 1 腳:GND 為電源地 第 2 腳:VCC 接 5V 電源正極 第 3 腳:V0 為液晶顯示器對(duì)比度調(diào)整端,接正電源時(shí)對(duì)比度最弱,接地電 源時(shí)對(duì)比度最高(對(duì)比度過高時(shí)會(huì) 產(chǎn)生“鬼影” ,使用時(shí)可以通過一個(gè) 10K 的 電位器調(diào)整對(duì)比度) 。第 4 腳:RS 為寄存器選擇,高電平 1 時(shí)選擇數(shù)據(jù)寄存器、 低電平 0 時(shí)選擇指令寄存器。第 5 腳:RW 為讀寫信號(hào)線,高電平(1)時(shí)進(jìn)行讀操 作,電平(0)時(shí)進(jìn)行寫操作。第 6 腳:E(或 EN)端為使能(enable)端,高電平 (1)時(shí)讀

28、取信息,負(fù)跳變時(shí)執(zhí)行指令。 第 714 腳:D0D7 為 8 位雙向數(shù)據(jù)端。第 1516 腳:空腳或背燈電源。 15 腳背光正極,16 腳背光負(fù)極。 特性: 3.3V 或 5V 工作電壓,對(duì)比度可調(diào) 內(nèi)含復(fù)位電路 提供各種控制命令,如:清屏、字符閃爍、光標(biāo)閃爍、顯示移位等多種功能 有 80字節(jié)顯示數(shù)據(jù)存儲(chǔ)器DDRAM 內(nèi)建有 192 個(gè) 5X7點(diǎn)陣的字型的字符發(fā)生器CGROM 8 個(gè)可由用戶自定義的 5X7 的字符發(fā)生器 CGRAM 單片機(jī)課程設(shè)計(jì)說明書 1602 液晶模塊內(nèi)部的字符發(fā)生存儲(chǔ)器(CGROM)已經(jīng)存儲(chǔ)了 160 個(gè)不同的點(diǎn) 陣字符圖形,這些字符有:阿拉伯?dāng)?shù)字、英文字母的大小寫、常

29、用的符號(hào)、和 日文假名等,每一個(gè)字符都有一個(gè)固定的代碼,比如大寫的英文字母“A”的代 碼是 01000001B(41H) ,顯示時(shí)模塊把地址 41H 中的點(diǎn)陣字符圖形顯示出來, 我們就能看到字母“A” 。 在單片機(jī)編程中還可以用字符型常量或變量賦值,如A 。因?yàn)?CGROM 儲(chǔ)存 的字符代碼與我們 PC 中的字符代碼是基本一致的,因此我們?cè)谙?DDRAM 寫 C51 字符代碼程序時(shí)甚至可以直接用 P1=A這樣的方法。PC 在編譯時(shí)就把A先 轉(zhuǎn)換為 41H 代碼了。 CGROM 中字符碼與字符字模關(guān)系對(duì)照表 單片機(jī)課程設(shè)計(jì)說明書 字符代碼 0 x000 x0F 為用戶自定義的字符圖形 RAM(對(duì)

30、于 5X8 點(diǎn)陣的字符, 可以存放 8 組,5X10 點(diǎn)陣的字符,存放 4 組),就是 CGRAM 了。 0 x200 x7F 為標(biāo)準(zhǔn)的 ASCII 碼,0 xA00 xFF 為日文字符和希臘文字符,其 余字符碼(0 x100 x1F 及 0 x800 x9F)沒有定義。 以下是 1602 的 16 進(jìn)制 ASCII 碼表地址:讀的時(shí)候,先讀左邊那列,再讀 上面那行,如:感嘆號(hào)!的 ASCII 為 0 x21,字母 B 的 ASCII 為 0 x42(前面加 0 x 表示十六進(jìn)制) 。本設(shè)計(jì)將 1602 的數(shù)據(jù)/命令端接到單片機(jī)的 P1.5 端,使能 端接到 P1.4 口,讀寫端直接接地,本次

31、使用只用其寫的功能。1602 的數(shù)據(jù)端 接到單片機(jī)的 P0 端。通過程序即可將單片機(jī)從矩陣鍵盤讀入的數(shù)據(jù)顯示到 1602 上面。 3.33.3 報(bào)警電路報(bào)警電路 本次設(shè)計(jì)使用的蜂鳴器作為警報(bào)裝置,電路圖如下: 圖 3-3 報(bào)警電路 單片機(jī)課程設(shè)計(jì)說明書 由于自激蜂鳴器是直流電壓驅(qū)動(dòng)的,不需要利用交流信號(hào)進(jìn)行驅(qū)動(dòng),只需 對(duì)驅(qū)動(dòng)口輸出驅(qū)動(dòng)電平并通過三極管放大驅(qū)動(dòng)電流就能使蜂鳴器發(fā)出聲音,很 簡單,這里就不對(duì)自激蜂鳴器進(jìn)行說明了。這里只對(duì)必須用 1/2duty 的方波信 號(hào)進(jìn)行驅(qū)動(dòng)的他激蜂鳴器進(jìn)行說明。 單片機(jī)驅(qū)動(dòng)他激蜂鳴器的方式有兩種:一種是 PWM 輸出口直接驅(qū)動(dòng),另一 種是利用 I/O 定時(shí)翻

32、轉(zhuǎn)電平產(chǎn)生驅(qū)動(dòng)波形對(duì)蜂鳴器進(jìn)行驅(qū)動(dòng)。 PWM 輸出口直接驅(qū)動(dòng)是利用 PWM 輸出口本身可以輸出一定的方波來直接驅(qū) 動(dòng)蜂鳴器。在單片機(jī)的軟件設(shè)置中有幾個(gè)系統(tǒng)寄存器是用來設(shè)置 PWM 口的輸出 的,可以設(shè)置占空比、周期等等,通過設(shè)置這些寄存器產(chǎn)生符合蜂鳴器要求的 頻率的波形之后,只要打開 PWM 輸出,PWM 輸出口就能輸出該頻率的方波,這 個(gè)時(shí)候利用這個(gè)波形就可以驅(qū)動(dòng)蜂鳴器了。比如頻率為 2000Hz 的蜂鳴器的驅(qū) 動(dòng),可以知道周期為 500s,這樣只需要把 PWM 的周期設(shè)置為 500s,占空 比電平設(shè)置為 250s,就能產(chǎn)生一個(gè)頻率為 2000Hz 的方波,通過這個(gè)方波再 利用三極管就可以去

33、驅(qū)動(dòng)這個(gè)蜂鳴器了。 而利用 I/O 定時(shí)翻轉(zhuǎn)電平來產(chǎn)生驅(qū)動(dòng)波形的方式會(huì)比較麻煩一點(diǎn),必須利 用定時(shí)器來做定時(shí),通過定時(shí)翻轉(zhuǎn)電平產(chǎn)生符合蜂鳴器要求的頻率的波形,這 個(gè)波形就可以用來驅(qū)動(dòng)蜂鳴器了。比如為 2500Hz 的蜂鳴器的驅(qū)動(dòng),可以知道 周期為 400s,這樣只需要驅(qū)動(dòng)蜂鳴器的 I/O 口每 200s 翻轉(zhuǎn)一次電平就可 以產(chǎn)生一個(gè)頻率為 2500Hz,占空比為 1/2duty 的方波,再通過三極管放大就可 以驅(qū)動(dòng)這個(gè)蜂鳴器了。本次設(shè)計(jì)采用的是通過三極管來驅(qū)動(dòng)蜂鳴器,并且有單 片機(jī)延時(shí)產(chǎn)生脈沖電流來讓蜂鳴器實(shí)現(xiàn)報(bào)警功能。 3.43.4 硬件總體電路圖硬件總體電路圖 本次設(shè)計(jì)采用 89c52 單

34、片機(jī)作為主控芯片,結(jié)合矩陣鍵盤,蜂鳴器電路, LCD1602 顯示,做成的簡易密碼鎖設(shè)計(jì)的總電路圖如下所示: 單片機(jī)課程設(shè)計(jì)說明書 圖 3-4 單片機(jī)課程設(shè)計(jì)說明書 第四章第四章 仿真與調(diào)試仿真與調(diào)試 4.14.1 程序流程程序流程 本次設(shè)計(jì)的總體思路為:開機(jī)后有 1602 顯示電路提示輸入密碼,密碼初始 化為“0123”,然后可以通過矩陣鍵盤輸入,并通過 1602 顯示所輸入的密碼的 內(nèi)容,當(dāng)密碼輸入 4 位后,自動(dòng)進(jìn)入比較函數(shù),如果密碼正確則通過 1602 顯示 “Welcome back”,如果密碼輸入錯(cuò)誤,則再次顯示輸入密碼,并且記錯(cuò)一次, 記錯(cuò)達(dá)到三次后,開始報(bào)警,并且輸入無效。修改

35、密碼設(shè)置獨(dú)立按鍵,按下后 可以改密碼,輸入 4 位密碼后自動(dòng)保存,由于本設(shè)計(jì)沒有用到掉電后數(shù)據(jù)不丟 失的存儲(chǔ)芯片,所以修改后只有在程序運(yùn)行時(shí)有效。程序流程圖如下: 是 否 否是 否 是 否 圖 4-1 程序流程圖 開始 修改密碼 接受新密 碼 密碼是 否正確 檢測是否 有輸入密 碼 密碼鎖開啟 錯(cuò)誤次數(shù) 相加 次數(shù)是 否3 報(bào)警且其它輸入 無效 單片機(jī)課程設(shè)計(jì)說明書 4.24.2 仿真結(jié)果仿真結(jié)果 當(dāng)開始仿真時(shí)則 1602 液晶顯示為“pass word!”如下圖 4-21 所示: 圖 4-21 仿真開始顯示 其中液晶顯示后面【1】 ,代表第幾次輸入。 當(dāng)密碼輸入正確時(shí)仿真結(jié)果如圖 4-22:

36、 圖 4-22 密碼輸入正確 單片機(jī)課程設(shè)計(jì)說明書 當(dāng)密碼輸入錯(cuò)誤時(shí),則再次顯示輸入密碼,并且液晶后面的數(shù)字顯示會(huì)加 1,如圖 4-23 所示: 圖 4-23 密碼輸入錯(cuò)誤時(shí) 當(dāng)輸入密碼連續(xù)錯(cuò) 3 次后,則會(huì)報(bào)警,如圖 4-24: 圖 4-24 報(bào)警仿真 單片機(jī)課程設(shè)計(jì)說明書 當(dāng)按下修改密碼鍵的時(shí)候,液晶則會(huì)顯示修改密碼,并且顯示你所修改的 密碼,如圖 4-25 所示: 圖 4-25 修改密碼仿真 密碼修改成功后,回到輸入密碼界面。 單片機(jī)課程設(shè)計(jì)說明書 第五章第五章 總結(jié)總結(jié) 通過此次課程設(shè)計(jì),使我更加扎實(shí)的掌握了有關(guān)單片機(jī)方面的知識(shí),在設(shè) 計(jì)過程中雖然遇到了一些問題,但經(jīng)過一次又一次的思考

37、,一遍又一遍的檢查 終于找出了原因所在,也暴露出了前期我在這方面的知識(shí)欠缺和經(jīng)驗(yàn)不足。實(shí) 踐出真知,通過親自動(dòng)手制作,使我們掌握的知識(shí)不再是紙上談兵。 過而能改,善莫大焉。在課程設(shè)計(jì)過程中,我們不斷發(fā)現(xiàn)錯(cuò)誤,不斷改正, 不斷領(lǐng)悟,不斷獲齲最終的檢測調(diào)試環(huán)節(jié),本身就是在踐行“過而能改,善莫 大焉”的知行觀。這次課程設(shè)計(jì)終于順利完成了,在設(shè)計(jì)中遇到了很多問題, 最后在老師的指導(dǎo)下,終于游逆而解。在今后社會(huì)的發(fā)展和學(xué)習(xí)實(shí)踐過程中, 一定要不懈努力,不能遇到問題就想到要退縮,一定要不厭其煩的發(fā)現(xiàn)問題所 在,然后一一進(jìn)行解決,只有這樣,才能成功的做成想做的事,才能在今后的 道路上劈荊斬棘,而不是知難而退

38、,那樣永遠(yuǎn)不可能收獲成功,收獲喜悅,也 永遠(yuǎn)不可能得到社會(huì)及他人對(duì)你的認(rèn)可! 課程設(shè)計(jì)誠然是一門專業(yè)課,給我很多專業(yè)知識(shí)以及專業(yè)技能上的提升, 同時(shí)又是一門講道課,一門辯思課,給了我許多道,給了我很多思,給了我莫 大的空間。同時(shí),設(shè)計(jì)讓我感觸很深。使我對(duì)抽象的理論有了具體的認(rèn)識(shí)。通 過這次課程設(shè)計(jì),我掌握了常用元件的識(shí)別和測試;熟悉了常用儀器、儀表;了 解了電路的連線方法;以及如何提高電路的性能等等,掌握了焊接的方法和技術(shù), 通過查詢資料,也了解了密碼鎖的構(gòu)造及原理。 我認(rèn)為,在這一周的課設(shè)時(shí)間,不僅培養(yǎng)了獨(dú)立思考、動(dòng)手操作的能力, 在各種其它能力上也都有了提高。更重要的是,在實(shí)踐中,我們學(xué)會(huì)

39、了很多學(xué) 習(xí)的方法。而這是日后最實(shí)用的,真的是受益匪淺。要面對(duì)社會(huì)的挑戰(zhàn),只有 不斷的學(xué)習(xí)、實(shí)踐,再學(xué)習(xí)、再實(shí)踐。這對(duì)于我們的將來也有很大的幫助。以 后,不管有多苦,我想我們都能變苦為樂,找尋有趣的事情,發(fā)現(xiàn)其中珍貴的 事情。就像中國提倡的艱苦奮斗一樣,我們都可以在實(shí)驗(yàn)結(jié)束之后變的更加成 熟,會(huì)面對(duì)需要面對(duì)的事情。 回顧起此課程設(shè)計(jì),至今我仍感慨頗多,從理論到實(shí)踐,在這段日子里, 可以說得是苦多于甜,但是可以學(xué)到很多很多的東西,同時(shí)不僅可以鞏固了以 前所學(xué)過的知識(shí),而且學(xué)到了很多在書本上所沒有學(xué)到過的知識(shí)。通過這次課 單片機(jī)課程設(shè)計(jì)說明書 程設(shè)計(jì)使我懂得了理論與實(shí)際相結(jié)合是很重要的,只有理論知

40、識(shí)是遠(yuǎn)遠(yuǎn)不夠的, 只有把所學(xué)的理論知識(shí)與實(shí)踐相結(jié)合起來,從理論中得出結(jié)論,才能真正為社 會(huì)服務(wù),從而提高自己的實(shí)際動(dòng)手能力和獨(dú)立思考的能力。在設(shè)計(jì)的過程中遇 到問題,可以說得是困難重重,但可喜的是最終都得到了解決。 本次設(shè)計(jì)讓我認(rèn)識(shí)到了,做事不能馬虎,一件事的全部可能問題就出現(xiàn)在 某一點(diǎn)上面。在本次課程設(shè)計(jì)中,由于時(shí)間較短,來不及搭建硬件,就使用了 開發(fā)板進(jìn)行程序調(diào)試,由于開發(fā)板的端口限制,矩陣鍵盤和液晶顯示的控制有 相同的端口,這就導(dǎo)致有些功能完成不了,例如在調(diào)試用液晶顯示輸入的密碼 時(shí),由于同時(shí)使用的 P3.4 和 P3.5,導(dǎo)致了輸入密碼是液晶無法顯示輸入的東 西,并且按鍵按下時(shí)液晶的光

41、標(biāo)也亂跑。由于我的粗心,沒有仔細(xì)想這個(gè)原因, 就在程序的時(shí)序語句上修改,結(jié)果修改的半天也是沒有進(jìn)展白白的浪費(fèi)了時(shí)間。 后來仔細(xì)思考才發(fā)現(xiàn)是端口共用的結(jié)果,于是我就把液晶的端口改到別的地方 去了。再調(diào)試程序,當(dāng)然是符合自己的想法了。 此次設(shè)計(jì)也讓我明白了思路即出路,有什么不懂不明白的地方要及時(shí)請(qǐng)教 或上網(wǎng)查詢,只要認(rèn)真鉆研,動(dòng)腦思考,動(dòng)手實(shí)踐,就沒有弄不懂的知識(shí),收 獲頗豐。 單片機(jī)課程設(shè)計(jì)說明書 參考文獻(xiàn)參考文獻(xiàn) 1 、郭天祥主編,51 單片機(jī) C 語言教程,電子工業(yè)出版社。2009.1 2、丁元杰主編.單片微型計(jì)算機(jī).北京:機(jī)械工業(yè)出版社.2003 3、李廣第主編.單片機(jī)基礎(chǔ).北京:北京航天

42、工業(yè)出版社.2002 4、單片機(jī)原理及應(yīng)用,張鑫等,電子工業(yè)出版社 5、MCS51 單片機(jī)應(yīng)用設(shè)計(jì),張毅剛等,哈爾濱工業(yè)大學(xué) 6、MCS51 系列單片機(jī)實(shí)用接口技術(shù),李華等,北京航天航空大學(xué) 7、PROTEL2004 電路原理圖及 PCB 設(shè)計(jì),清源科技,機(jī)械工業(yè)出版社 8、基于 MCS-51 系列單片機(jī)的通用控制模塊的研究,曹衛(wèi)芳,山東科技大學(xué), 9、單片機(jī)應(yīng)用技術(shù)選編,何立民,北京航空航天大學(xué)出版社,2000 單片機(jī)課程設(shè)計(jì)說明書 附錄附錄 程序代碼: 主程序(密碼鎖.c): #include #define uc unsigned char #define ui unsigned int

43、 #include key.c #include yejing.c #includehead.h sbit beep=P23; sbit key=P20; uc code table1=pass word!; uc table4=0,1,2,3 ;/密碼 uc table2=Welcom back!; uc table4=ALARM!; uc table5=chang mima!; uc m,ronum,flag,mitu,miro; void chushi() write_zhiling(0 x80+2); for(m=0;m10;m+) write_date(table1m); delay

44、(5); write_date(); write_date(table3ronum+1); write_date(); 單片機(jī)課程設(shè)計(jì)說明書 write_zhiling(0 x0e); write_zhiling(0 x80+40); void alrm() beep=0; delay(500); beep=1; delay(500); void bijiao() if(mima0=table0 else miro=1;ronum+;P1=0 xff; void panduan() /輸入密碼 if(ronum3) if(a4)/密碼位數(shù) keyscan(); flag=1; 單片機(jī)課程設(shè)計(jì)說

45、明書 else if(flag=1) bijiao(); /比較密碼 flag=0; if(mitu=1) /密碼正確 write_zhiling(0 x01); /清屏 delay(50); write_zhiling(0 x80+2); for(m=0;m=3) write_zhiling(0 x01); /錯(cuò)誤超過三 次,警報(bào) write_zhiling(0 x80+4); for(m=0;m6;m+) write_date(table4m); delay(5); alrm(); void change() /修改密碼 if(b4) keyscan(); else /修改成功 xiugai=0; write_zhiling(0 x01); csh(); chushi(); 單片機(jī)課程設(shè)計(jì)說明書 void main() csh(); chushi(); while(1) if(key=0) /修改密碼鍵 delay(10); if(key=0) xiugai=1;/修改判斷 while(!key); write_zhiling(0 x01); write_zhiling(0 x80+2); for(m=0;m0;y-) for(z=110;z0;z-); uc keyscan() uc num,temp; P3=0 xfe; temp=P3; temp=temp w

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲(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)論