DZ090液晶顯示電子密碼鎖的設(shè)計
DZ090液晶顯示電子密碼鎖的設(shè)計,dz090,液晶顯示,電子,密碼鎖,設(shè)計
液晶顯示電子密碼鎖的設(shè)計,指導(dǎo)教師 :
學(xué) 生 :,摘 要,本系統(tǒng)的設(shè)計可以用于家庭、企業(yè)、公司、酒店的電子密碼門鎖;電子密碼保險柜;電子密碼箱;電子防盜密匙及其他重要設(shè)備的開啟。它以單片機(jī)AT89S52為核心,通過液晶顯示實現(xiàn)人機(jī)對話,實時掃描鍵盤接口,發(fā)現(xiàn)有按鍵動作立即讀取按鍵信息,并與存儲器中的原始密碼對比,密碼相同則進(jìn)入操作模式, 按C鍵,進(jìn)入修改密碼界面,按D鍵,則繼電器吸合,實現(xiàn)開門功能;不同則顯示密碼錯誤,繼電器不動作。連續(xù)三次輸入錯誤密碼后蜂鳴器發(fā)出報警音。,系統(tǒng)結(jié)構(gòu)框圖,鍵盤工作方式,鍵盤掃描子程序完成下述幾個功能:
(1)判斷鍵盤上有無按 鍵按下
(2)防止鍵的機(jī)械抖動 影響
(3)獲取按下鍵的鍵號
(4)按鍵閉合一次僅進(jìn) 行一次鍵功能操作,液晶模塊LCM12232的工作原理,液晶模塊LCM12232由一塊122×32的點陣液晶屏和兩片驅(qū)動芯片及其輔助電路組成。,,,,,,液晶模塊LCM12232的工作原理,A0信號用于指示液晶模塊接收的信息是數(shù)據(jù),還是指令。A0為1表示當(dāng)前信息為數(shù)據(jù),A0為0則表示當(dāng)前信息為指令碼。
R/W和E1、E2分別為該模塊的讀寫信號和片選信號。
D7~D0為數(shù)據(jù)線,三態(tài)。,存儲器AT24C01,SCL:串行時鐘,用于產(chǎn)生器件所有數(shù)據(jù)發(fā)送或接收的時鐘,
SDA:串行數(shù)據(jù)/地址,用于器件所有數(shù)據(jù)的發(fā)送或接收,SDA 是一個開漏輸出管腳
A0、A1、A2: 器件地址輸入端,用于多個器件級聯(lián)時設(shè)置器件地址
WP:寫保護(hù),如果WP管腳連接到Vcc,所有的內(nèi)容都被寫保護(hù)。當(dāng)WP管腳連接到Vss,允許器件進(jìn)行正常的讀/寫操作.,IIC總線協(xié)議,起始信號:時鐘線保持高電平期間,數(shù)據(jù)線電平從高到低的跳變作為IIC總線的起始信號。
停止信號:時鐘線保持高電平期間,數(shù)據(jù)線電平從低到高的跳變作為總線的停止信號。,AT24C01讀操作,在字節(jié)讀模式下,主器件發(fā)送起始命令和從器件地址信息(A0)給從器件,在從器件產(chǎn)生應(yīng)答信號后,主器件再次發(fā)送起始命令和AT24C01的7位字節(jié)地址和1位讀信號(R/W=1)給從器件。主器件在收到從器件的另一個應(yīng)答信號后,再從被尋址的存儲單元中讀取數(shù)據(jù)。主器件不需發(fā)送一個應(yīng)答信號但要產(chǎn)生一個停止信 。,AT24C01寫操作,在字節(jié)寫模式下,主器件發(fā)送AT24C01的7位字節(jié)地址和1位寫信號(R/W=0)給從器件。主器件在收到從器件的一個應(yīng)答信號后,再發(fā)送數(shù)據(jù)到被尋址的存儲單元。AT24C01再次應(yīng)答并在主器件產(chǎn)生停止信號后開始內(nèi)部數(shù)據(jù)的擦寫,在內(nèi)部擦寫過程中AT24C01不再應(yīng)答主器件的任何請求。,單片機(jī)最小系統(tǒng)電路,鍵盤電路,蜂鳴器及繼電器電路,系統(tǒng)硬件總圖,軟件設(shè)計流程圖,致謝,本課題在選題及研究過程中得到李建民副院長的悉心指導(dǎo)。李院長多次詢問研究進(jìn)程,并為我指點迷津,幫助我開拓研究思路,精心點撥、熱忱鼓勵。李老師一絲不茍的作風(fēng),嚴(yán)謹(jǐn)求實的態(tài)度,踏踏實實的精神,不僅授我以文,而且教我做人。他循循善誘的教導(dǎo)和不拘一格的思路給予我無盡的啟迪。謹(jǐn)此向老師和同學(xué)表示衷心的感謝!,致謝,謝謝各位老師在百忙之中來檢閱我們的畢業(yè)論文,同時要感謝物理信息學(xué)院的領(lǐng)導(dǎo)和工作人員對我們的支持,為我們提供了良好的實驗條件,為論文的成形作了細(xì)心的指導(dǎo),并給予了大量幫助 。,謝謝!,二○○六屆學(xué)生畢業(yè)論文(設(shè)計) 存檔編號:畢 業(yè) 論 文 ( 設(shè) 計 )論 文 題 目 液晶顯示電子密碼鎖的設(shè)計 (英 文) The Design Of Electronic Password Lock By LCD 學(xué) 院 專 業(yè) 姓 名 學(xué) 號 指 導(dǎo) 教 師 年 月 日 1題目:液晶顯示電子密碼鎖的設(shè)計學(xué) 生: 物理與信息工程學(xué)院指導(dǎo)老師: 物理與信息工程學(xué)院摘 要本系統(tǒng)的設(shè)計可以用于家庭、企業(yè)、公司、酒店的電子密碼門鎖;電子密碼保險柜;電子密碼箱;電子防盜密匙及其他重要設(shè)備的開啟。它以單片機(jī) AT89S52 為核心,通過液晶顯示實現(xiàn)人機(jī)對話,實時掃描鍵盤接口,發(fā)現(xiàn)有按鍵動作立即讀取按鍵信息,并與存儲器中的原始密碼對比,密碼相同則進(jìn)入操作模式, 按 C 鍵,進(jìn)入修改密碼界面,按 D 鍵,則繼電器吸合,實現(xiàn)開門功能;不同則顯示密碼錯誤。連續(xù)三次輸入錯誤密碼后蜂鳴器發(fā)出報警音。關(guān)鍵詞電子密碼鎖;單片機(jī); 總線;LCD 顯示CI2 2Topic:The Design Of Electronic Password Lock By LCDStudent: Jianghan University School of Physics& Information EngineeringGuide Teacher: Jianghan University School of Physics& Information EngineeringAbstractThe design of the system can be used to the electronic password lock door of personal house, businesses, corporations, hotel; Electronic password safe; Electronic password box; Electronic security keys and other important equipment opened. The core of it is a microcomputer AT89S52. It realize interactive between people and device by LCD. While real - time scanning keyboard interface, it retrieval information of clicking immediately when find any key pressed. Then the system compares the input passwords with the original ones in the memory. If they are same, enter the mode of operation. Else, show “the passwords is Error”. If you input fault passwords continuously for three times, the warning buzzer would sound. Under the operating model, the system enters modified interface by pressing C key. If press D key, the relays closed, then open the lock (make the small motors open latch).Key wordsElectronic Password Lock; Microcomputer; IIC Bus; LCD Display 3目錄1 緒論 ······································································································································42 任務(wù)說明 ······························································································································52.1 設(shè)計任務(wù) ·····················································································································52.2 基本模塊 ·····················································································································53 總體方案設(shè)計與選擇論證····································································································53.1.單片機(jī)最小系統(tǒng) ·········································································································53.1.1 單片機(jī)的說明 ···································································································53.1.2 單片機(jī)的應(yīng)用 ···································································································53.1.3 單片機(jī)的結(jié)構(gòu)特點 ···························································································63.1.4 單片機(jī)引腳配置 ·······························································································83.2.4×4 行列式掃描鍵盤 ······························································································123.2.1 鍵盤工作原理 ··································································································123.2.2 鍵盤工作方式 ··································································································123.3.液晶顯示 ···················································································································133.3.1 液晶屏的基本結(jié)構(gòu) ·························································································133.3.2 液晶模塊 LCM12232 的工作原理 ································································143.4. 存儲器 AT24C01 ·····································································································16 43.4.1 AT24C01 概述 ································································································163.4.2 管腳配置和描述 ····························································································163.4.3 IIC 總線協(xié)議····································································································163.4.4 AT24C01 讀寫操作··························································································184 硬件、軟件設(shè)計報告·········································································································194.1 硬件電路分析和設(shè)計報告·······················································································194.1.1 單片機(jī)最小系統(tǒng)電路·····················································································194.1.2 鍵盤電路·········································································································204.1.3 液晶顯示電路·································································································204.1.4 存儲器電路·····································································································214.1.5 蜂鳴器及繼電器電路·····················································································214.1.6 系統(tǒng)硬件總圖·································································································234.2 軟件設(shè)計告···············································································································244.2.1 流程圖··············································································································244.2.2 系統(tǒng)源程序······································································································244.3 操作說明···················································································································365 總結(jié)·····································································································································37致謝·········································································································································39參考文獻(xiàn)·············································································································· 5···················40液晶顯示電子密碼鎖的設(shè)計1 緒論本系統(tǒng)的設(shè)計可以用于家庭、企業(yè)、公司、酒店的電子密碼門鎖;電子密碼保險柜;電子密碼箱;電子防盜密匙及其他重要設(shè)備的開啟。它以單片機(jī) AT89S52 為核心,通過液晶顯示實現(xiàn)人機(jī)對話,實時掃描鍵盤接口,發(fā)現(xiàn)有按鍵動作立即讀取按鍵信息,并與存儲器中的原始密碼對比,相同則進(jìn)入操作模式不同則顯示密碼錯誤。連續(xù)三次輸入錯誤密碼后蜂鳴器發(fā)出報警音。在操作模式下,按 C 鍵,進(jìn)入修改密碼界面;按D 鍵,則繼電器吸合,實現(xiàn)開門功能。電子鎖的研究從上世紀(jì) 30 年代就開始了,在某些特殊場所早就有所應(yīng)用。研究這種鎖的初衷,是提高鎖具的安全性,因為電子鎖的密鑰量(密碼量)極大,可以和機(jī)械鎖配合,避免因鑰匙被仿制而出現(xiàn)的問題。在安全性極高的前提下,它的另一個特點——無需鑰匙卻被越來越多的人所欣賞。因為人們攜帶的鑰匙很多已成累贅,而電子鎖只需記住一組密碼,無需攜帶金屬鑰匙,免除了人們的煩惱。電子鎖的種類繁多,從大的方面講可能有數(shù)十種,例如數(shù)碼鎖、指紋鎖、卡片鎖、磁卡鎖、生物鎖等等。但能談的上實用一些或者大眾化一些的還是按鍵式電子密碼鎖。在系統(tǒng)使用單片機(jī)動態(tài)掃描鍵盤,內(nèi)部處理從而控制顯示電路部分和繼電器開關(guān)。我選用的是 51 系列單片機(jī)。單片機(jī)在各個技術(shù)領(lǐng)域中的迅猛發(fā)展,與單片機(jī)所構(gòu)成的計算機(jī)應(yīng)用系統(tǒng)的特點有關(guān):· 單片機(jī)構(gòu)成的應(yīng)用系統(tǒng)有較大的可靠性?!? 系統(tǒng)構(gòu)建簡潔、易行,能方便的實現(xiàn)系統(tǒng)功能?!? 由于構(gòu)成的系統(tǒng)是一個計算機(jī)系統(tǒng),相當(dāng)多的功能由軟件實現(xiàn),故具有柔性特點。· 有優(yōu)異的性能價格比。 62 任務(wù)說明2.1 設(shè)計任務(wù)設(shè)計并制作一個液晶顯示電子密碼鎖電路,其結(jié)構(gòu)框圖如圖 2-1:圖 2-12.2 基本模塊(1) 單片機(jī)最小系統(tǒng)電路部分(2) 4×4 行列式掃描鍵盤電路部分(3) 液晶顯示電路部分(4) 存儲器模塊(5) 繼電器和蜂鳴器電路部分3 總體方案設(shè)計與選擇的論證3.1 單片機(jī)最小系統(tǒng)3.1.1 單片機(jī)的說明單片機(jī)的原名叫 Microcontroller,即微型控制器。 顧名思義,單片機(jī)有別于通用微型計算機(jī),它是專門為控制和智能儀器設(shè)計的一種集成度很高的微型計算機(jī)。其控 7制功能強(qiáng),有優(yōu)異的性能/價格比,有很高的可靠性。因而,單片機(jī)的應(yīng)用范圍在不斷的擴(kuò)大,它已經(jīng)成了生產(chǎn)中和人類生活中不可缺少的工具。下面介紹單片機(jī)在幾個方面的典型應(yīng)用。3.1.2 單片機(jī)的應(yīng)用(1)單片機(jī)在智能儀器中的應(yīng)用單片機(jī)廣泛的用于各種儀器儀表中,使儀器儀表數(shù)字化、微型化和智能化,提高它們的測量速度、測量精度和自動化程度,簡化儀器儀表的硬件結(jié)構(gòu),便于使用、維修和改進(jìn),提高其性能/價格比。(2)單片機(jī)在機(jī)電一體化產(chǎn)品中的應(yīng)用 機(jī)電一體化是機(jī)械工業(yè)發(fā)展的方向。機(jī)電一體化產(chǎn)品是指,集機(jī)械技術(shù)、微電子技術(shù)、計算機(jī)技術(shù)和控制技術(shù)于一體,具有智能化特征的機(jī)電產(chǎn)品。例如,微機(jī)控制的數(shù)控機(jī)床、機(jī)器人等。單片機(jī)作為機(jī)電產(chǎn)品中的控制器,能充分的發(fā)揮它的體積小、可靠性高、功能強(qiáng)等優(yōu)點,大大提高了機(jī)器的自動化、智能化程度。(3)單片機(jī)在過程控制中的應(yīng)用過程控制是微型機(jī)應(yīng)用最多、最有效的方面之一,單片機(jī)廣泛的用于過程控制。它既可以作為主機(jī)控制,也可以作為分布式控制系統(tǒng)的前端機(jī),對現(xiàn)場的信息進(jìn)行實時的測量和控制。單片機(jī)可用于開關(guān)量控制、順序控制及邏輯控制等。如鍋爐控制、電機(jī)控制、機(jī)器人控制、交通信號燈控制、造紙紙漿濃度控制、紙張定量水分及厚薄控制, 、雷達(dá)與導(dǎo)彈控制以及航天導(dǎo)航系統(tǒng)魚雷制導(dǎo)系統(tǒng)控制等。(4)單片機(jī)在計算機(jī)網(wǎng)絡(luò)及通信中的應(yīng)用由于高性能單片機(jī)中集成有 SDLC 通信接口,因而使其在計算機(jī)網(wǎng)絡(luò)及通信設(shè)備中得到了廣泛的應(yīng)用。例如:Intel 公司的 8044,由 8051 單片機(jī)及 SDLC 通信接口組合而成,用高性能的串行接口單元 SIU 代替?zhèn)鹘y(tǒng)的 UART,采用雙絞線、半雙工通信形式,特別適合遠(yuǎn)距離通信。以 8044 位基礎(chǔ)組成的位總線是一種高性能、低價格的分布式控制系統(tǒng),傳送距離可達(dá) 1200m,傳送速度為 2.4Mbit/s,網(wǎng)絡(luò)節(jié)點為 28 個。此外,單片機(jī)在自動撥號無線電話網(wǎng)、串行自動呼叫應(yīng)答設(shè)備、程控電話、無線電遙控等方面都有廣泛的應(yīng)用。(5)單片機(jī)在家用電器方面的應(yīng)用單片機(jī)廣泛的應(yīng)用于家用電器產(chǎn)品中,例如:洗衣機(jī)、電冰箱、微波爐、電飯煲、高級智能玩具、收錄機(jī)等配上單片機(jī)后,大大提高了產(chǎn)品的性能,倍受人們的喜愛。可 8以說,單片機(jī)在人們?nèi)粘I钪袘?yīng)用所受到的限制主要不是技術(shù)問題,而是創(chuàng)造力和技巧上的問題。3.1.3 單片機(jī)的結(jié)構(gòu)特點本次畢業(yè)設(shè)計我用到的單片機(jī)是 MCS-51 系列單片機(jī),下面通過與通用微機(jī)的比較,來簡單介紹 MCS-51 系列單片機(jī)的結(jié)構(gòu)特點。就 CPU 的結(jié)構(gòu)來說,通用微機(jī)的 CPU 內(nèi)部有一定數(shù)量的通用或?qū)S眉拇嫫鳎鳰CS-51 系列單片機(jī)則在數(shù)據(jù) RAM 區(qū)開辟了一個工作寄存器區(qū)。該區(qū)共有 4 組,每組8 個寄存器,共計可提供 32 個工作寄存器,相當(dāng)于通用微機(jī) CPU 中的通用寄存器。除此之外,MCS-51 系列單片機(jī)還頗具特色的 21 個特殊功能寄存器 SFR.要理解 MCS-51系列單片機(jī)的工作,就必須對特殊功能寄存器 SFR 的工作有清楚地了解。SFR 使具有40 條引腳的單片機(jī)系統(tǒng)的功能有很大的擴(kuò)展。由于這些 SFR 的作用,每個通道在程序控制下,都可有第二功能,從而使得有限的引腳能衍生出更多的功能。而且,利用SFR 可完成對定時器、串行口、中斷邏輯的控制,這就使得單片機(jī)可以把定時/計數(shù)器、串行口、中斷邏輯等集成在一個芯片上。MCS-51 系列單片機(jī)在存儲器結(jié)構(gòu)上與通用微機(jī)也有不同之處,通用微機(jī)中程序存儲器和數(shù)據(jù)存儲器時一個地址空間,而單片機(jī)把程序存儲器和數(shù)據(jù)存儲器分成兩個獨(dú)立的地址空間,采用不同的尋址方式,使用兩個不同的地址指針,PC 指向程序存儲器,DPTR 指向數(shù)據(jù)存儲器。采用這種結(jié)構(gòu)主要是考慮到工業(yè)控制的特點。一般工業(yè)控制系統(tǒng)中,需要較大的程序存儲器空間和較小的隨機(jī)存儲器空間,不同于通用微機(jī)需要較大的數(shù)據(jù)存儲器空間。MCS-51 系列單片機(jī)在輸入輸出接口方面的特點是,通道口引線在程序的控制下都可有第二功能,可由用戶系統(tǒng)設(shè)計者靈活選擇。比如數(shù)據(jù)線和地址線 8 位分時合用通道 0,而地址線高 8 位與其它信號線也可合用通道 2。由于存儲器和接口都在片內(nèi),就給應(yīng)用提供了方便,往往只在其引腳處增加驅(qū)動器即可簡化接口設(shè)計工作,提高單片機(jī)與外設(shè)數(shù)據(jù)交換的處理速度。同時,功能變換和選擇由相應(yīng)的指令來控制實現(xiàn),而不是靠硬件上的跳線短接等方法實現(xiàn)。MCS-51 系列單片機(jī) I/O 一線多功能的特點方便了用戶,但在組成應(yīng)用系統(tǒng)時,也應(yīng)根據(jù)其特點分時使用。MCS-51 系列單片機(jī)的另一個顯著特點是內(nèi)部有一個全雙工串行口,即可同時發(fā)送和接收;有兩個物理上獨(dú)立的接收、發(fā)送緩沖器。發(fā)送緩沖器只能寫入不能讀出,接收緩沖器只能讀出不能寫入。在程序的控制下,串行口工作與四種工作方式,用戶可根據(jù)需要,設(shè)定為移位寄存器以擴(kuò)展 I/O 口和外接同步輸入輸出設(shè)備,或用作異步 9通信口,以實現(xiàn)雙機(jī)或多機(jī)通信,極為方便的組成分布式控制系統(tǒng)。最后還值得一提的是,MCS-51 系列單片機(jī)內(nèi)部有一個功能相對獨(dú)立的位處理(即布爾處理機(jī)) ,因而其具有較強(qiáng)的位處理功能。3.1.4 單片機(jī)引腳配置MCS-51 單片機(jī)采用 40 引腳雙列直插封裝(DIP)形式。對于 CHMOS 單片機(jī)除采用 DIP 形式外,還采用方形封裝工藝。由于受到引腳數(shù)目的限制,所以有部分引腳具有第二功能。圖 3-1 是 MCS-51 的引腳圖圖 3-1在單片機(jī)的 40 條引腳中,有 2 條用于主電源的引腳,2 條外接晶體的引腳,控制或其他電源復(fù)用引腳 RST/ Vpd、ALE、和 VPP, 32 條輸入/輸出引腳。下面就本系統(tǒng)用到的引腳分別說明這些引腳的名稱和功能。(1)主電源引腳 Vcc 和 VssVcc:接+5V 電源Vss:接電源地 10(2)鐘電路引腳 XTAL1 和 XTAL2XTAL1:接外部晶體的一端。在單片機(jī)內(nèi)部,它是反相放大器的輸入端,該放大器構(gòu)成了片內(nèi)振蕩器。在采用外部時鐘電路時,對于 HMOS 單片機(jī),此引腳必須接地;對 CHMOS 單片機(jī),此引腳作為驅(qū)動端。 XTAL2:接外部晶體的另一端。在單片機(jī)內(nèi)部,接至上述振蕩器的反相放大器的輸出端,振蕩器的頻率是晶體振蕩頻率。若采用外部時鐘電路時,對于 HMOS 單片機(jī),該引腳輸入外部時鐘脈沖;對于 CHMOS 單片機(jī),此引腳應(yīng)懸空。(3)信號引腳 RST/VpdRST/Vpd:復(fù)位 /備用電源輸入端。單片機(jī)上電后,只要在該引腳上輸入 24 個振蕩周期(2 個機(jī)器周期)寬度以上的高電平就會使單片機(jī)復(fù)位;若在 RST 與 Vcc 之間接一個 10μF 的電容,而在 RST 與 Vss 之間接一個 8.2KΩ 的下拉電阻,則可實現(xiàn)單片機(jī)上電自動復(fù)位。RST/Vpd 具有復(fù)用功能,在主電源 Vcc 掉電期間,該引腳可接上+5V 備用電源。當(dāng) Vcc 下掉到低于規(guī)定的電平,而 Vpd 在其規(guī)定的電壓范圍內(nèi)時,Vpd 就向片內(nèi)RAM 提供備用電源,以保持片內(nèi) RAM 中的信息不丟失,復(fù)電后能繼續(xù)正常運(yùn)行。(4)輸入/輸出(I/O)引腳 P0、P1、P2 和 P3MCS-51 單片機(jī)有 4 個雙向并行的 8 位 I/O 口 P0~P3 ,P0 口為三態(tài)雙向口,可驅(qū)動 8 個 TTL 電路, P1、P2、P3 口為準(zhǔn)雙向口(作為輸入時,口線被拉成高電平,故稱為準(zhǔn)雙向口) ,其負(fù)載能力為 4 個 TTL 電路。P0.0--P0.7:P0 口是一個 8 位雙向 I/O 端口。在訪問片外存儲器時,它分時提供低8 位地址和作 8 位雙向數(shù)據(jù)總線。在 EPROM 編程時,從 P0 口輸入指令字節(jié);在驗證程序時,則輸出指令字節(jié)(驗證時,要外接上拉電阻) 。P0 口能以吸收電流的方式驅(qū)動 8 個 LSTTL 負(fù)載。 11圖 3-2P1.0--P1.7:P1 口是 8 位準(zhǔn)雙向 I/O 端口。在 EPROM 編程和程序驗證時,它輸入低 8 位地址。P1 口能驅(qū)動 4 個 LSTTL 負(fù)載。圖 3-3P2.0--P2.7:P2 口是一個 8 位準(zhǔn)雙向 I/O 端口。在 CPU 訪問外部存儲器時,它輸出高 8 位地址。在對 EPROM 編程和程序驗證時,它輸入高 8 位地址。P2 口可驅(qū)動 4個 LSTTL 負(fù)載。 12圖 3-4P3.0--P3.7:P3 口是 8 位準(zhǔn)雙向 I/O 端口。它是一個復(fù)用功能口。作為第一功能使用時,為普通 I/O 口,其功能和操作方法與 P1 口相同。作為第二功能使用時,各引腳的定義如表 3-1 所示。P3 口的每一條引腳均可獨(dú)立定義為第一功能的輸入輸出或第二功能。P3 口能驅(qū)動 4 個 LSTTL 負(fù)載。圖 3-5表 3-1:口線 第二功能 13P3.0P3.1P3.2P3.3P3.4P3.5P3.6P3.7RXD (串行口輸入)TXD (串行口輸出)INT0 (外部中斷 0 輸入)INT1(外部中斷 1 輸入) T0 (定時器 0 的外部輸入)T1 (定時器 1 的外部輸入)WR (外部數(shù)據(jù)存儲器“寫”信號輸出)RD (外部數(shù)據(jù)存儲器“讀”信號輸出)3.2 4×4 行列式掃描鍵盤3.2.1 鍵盤工作原理行列式鍵盤電路原理如圖 3-6 所示。按鍵設(shè)置在行列式交點上,行列線分別連接到按鍵開關(guān)的兩端。當(dāng)行線通過上拉電阻接+5V 時,被鉗位在高電平狀態(tài)。鍵盤中有無按鍵按下是由列線送入全掃描字、行線讀入行線狀態(tài)來判斷的。鍵盤中哪一個鍵按下可由列線逐列置低電平后,檢查行輸入狀態(tài)來判斷。圖 3-6 143.2.2 鍵盤工作方式鍵盤的工作方式:編程掃描方式、定時掃描方式、中斷掃描方式三種。本設(shè)計采用的是編程掃描方式。在鍵盤掃描子程序中完成下述幾個功能: (1)判斷鍵盤上有無按鍵按下; (2)防止鍵的機(jī)械抖動影響; (3)獲取按下鍵的鍵號; (4)按鍵閉合一次僅進(jìn)行一次鍵功能操作。程序框圖如:圖 3-7圖 3-73.3 液晶顯示3.3.1 液晶屏的基本結(jié)構(gòu)液晶屏主要由上偏振片、上電極基板、液晶材料、電極、封接劑、下電極基板、下偏振板和反射板組成。如圖 3-8: 15圖 3-83.3.2 液晶模塊 LCM12232 的工作原理液晶模塊 LCM12232 由一塊 122×32 的點陣液晶屏和兩片驅(qū)動芯片及其輔助電路組成。其原理圖如圖 3-9 所示。圖 3-9(1)引腳及其功能 (表 3-2)引腳號 引腳名 有效電平 功能說明1 VDD 5.0V 電源電壓2 VSS 0V 電源地3 VLCD --- LCD 電壓4 RST L H 系統(tǒng)復(fù)位信號5 E1 H SED1520(MASTER)片選信號,高電平有效 166 E2 H SED1520(SLAVE)片選信號,高電平有效7 R/W H/L 讀寫控制位(H:讀操作,L:寫操作)8 A0 H/L 命令數(shù)據(jù)線(H:數(shù)據(jù)信號,L:指令信號)9--16 DB0—DB7 H/L 數(shù)據(jù)輸入總線(2)關(guān)鍵信號說明在 LCM12232 的主要引出信號中,A0 信號用于指示 LCM12232 模塊接收的信息是數(shù)據(jù),還是指令。A0 為1表示當(dāng)前信息為數(shù)據(jù), A0 為0則表示當(dāng)前信息為指令碼。R/W 和 E1、 E2 分別為該模塊的讀寫信號和片選信號。D7~D0 為數(shù)據(jù)線,三態(tài)。(3)初始化說明圖 3-10 173.4 存儲器 AT24C013.4.1 AT24C01 概述AT24C01 是一個 1K 位串行 CMOS 內(nèi)部含有 128 個 8 位字節(jié),采用先PROME2進(jìn)的 CMOS 技術(shù)實質(zhì)上減少了器件的功耗。該器件通過 I2C 總線接口進(jìn)行操作,有一個專門的寫保護(hù)功能。3.4.2 管腳配置和描述管腳配置如圖 3-11,管腳描述如表 3-3 所示:圖 3-11表 3-3管腳名稱 功能A0 A1 A2 器件地址選擇SDA 串行數(shù)據(jù)/地址SCL 串行時鐘WP 寫保護(hù)Vcc +1.8V 6.0V 工作電壓Vss 電源地SCL:串行時鐘AT24C01 串行時鐘輸入管腳用于產(chǎn)生器件所有數(shù)據(jù)發(fā)送或接收的時鐘,這是一個輸管腳。SDA:串行數(shù)據(jù)/地址AT24C01 雙向串行數(shù)據(jù)/地址管腳用于器件所有數(shù)據(jù)的發(fā)送或接收,SDA 是一個開漏輸出管腳,可與其它開漏輸出或集電極開路輸出進(jìn)行線或(wire-OR) 。A0、A1、A2: 器件地址輸入端這些輸入腳用于多個器件級聯(lián)時設(shè)置器件地址,當(dāng)這些腳懸空時默認(rèn)值為 0。WP:寫保護(hù)如果 WP 管腳連接到 Vcc,所有的內(nèi)容都被寫保護(hù)(只能讀) 。當(dāng) WP 管腳連接到Vss 或懸空,允許器件進(jìn)行正常的讀/寫操作.3.4.3 總線協(xié)議CI2總線協(xié)議定義如下:(1)只有在總線空閑時才允許啟動數(shù)據(jù)傳送;(2)在數(shù)據(jù)傳送過程中,當(dāng)時鐘線為高電平時,數(shù)據(jù)線必須保持穩(wěn)定狀態(tài),不允許有跳變。時鐘線為高電平時,數(shù)據(jù)線的任何電平變化將被看作總線的起始或停止信號。起始信號: 18時鐘線保持高電平期間,數(shù)據(jù)線電平從高到低的跳變作為 總線的起始信號。CI2停止信號:時鐘線保持高電平期間,數(shù)據(jù)線電平從低到高的跳變作為 總線的停止信號。I2起始/停止時序如圖3-12圖3-12器件尋址:主器件通過發(fā)送一個起始信號啟動發(fā)送過程然后發(fā)送它所要尋址的從器件的地址。8位從器件地址的高4位固定為1010,接下來的3位(A2 、A1 、A0)為器件的地址位。最多可以連接8個32K/64K器件到同一總線上。這些位必須與連線輸入腳 A2、A1、A0相對應(yīng)。從器件8位地址的最低位作為讀寫控制位。 “1”表示對從器件進(jìn)行讀操作, “0”表示對從器件進(jìn)行寫操作。應(yīng)答信號:總線數(shù)據(jù)傳送時,每成功地傳送一個字節(jié)數(shù)據(jù)后,接收器都必須產(chǎn)生一個應(yīng)答信號。CI2應(yīng)答的器件在第9個時鐘周期時,將SDA拉低,表示其已收到一個 8位數(shù)據(jù)。應(yīng)答時序如圖3-13。圖3-133.4.4 AT24C01 讀寫操作讀操作字節(jié)讀:在字節(jié)讀模式下,主器件發(fā)送起始命令和從器件地址信息(A0)給從器件,在從器件產(chǎn)生應(yīng)答信號后,主器件再次發(fā)送起始命令和AT24C01的7位字節(jié)地址和1 19位讀信號(R/W=1)給從器件。主器件在收到從器件的另一個應(yīng)答信號后,再從被尋址的存儲單元中讀取數(shù)據(jù)。主器件不需發(fā)送一個應(yīng)答信號但要產(chǎn)生一個停止信 。時序如圖3-14 所示。圖3-14連續(xù)讀:連續(xù)讀操作的啟動和字節(jié)讀一樣,在AT24C01發(fā)送完一個8位字節(jié)數(shù)據(jù)后,主器件產(chǎn)生一個應(yīng)答信號來響應(yīng),告知AT24C01主器件要求更多的數(shù)據(jù),對應(yīng)每個主機(jī)產(chǎn)生的應(yīng)答信號AT24C01將發(fā)送一個8 位數(shù)據(jù)字節(jié)。當(dāng)主器件不發(fā)送應(yīng)答信號而發(fā)送停止位時結(jié)束此操作。從AT24C01輸出的數(shù)據(jù)按順序由N 到N+1 輸出。讀操作時地址計數(shù)器在AT24C01整個地址內(nèi)增加,這樣整個寄存器區(qū)域在可在一個讀操作內(nèi)全部讀出。當(dāng)讀取的字節(jié)超過127,計數(shù)器將翻轉(zhuǎn)到零并繼續(xù)輸出數(shù)據(jù)字節(jié)。時序如圖3-15所示。圖3-15寫操作字節(jié)寫:在字節(jié)寫模式下,主器件發(fā)送AT24C01的7位字節(jié)地址和1位寫信號(R/W=0) 給從器件。主器件在收到從器件的一個應(yīng)答信號后,再發(fā)送數(shù)據(jù)到被尋址的存儲單元。AT24C01再次應(yīng)答并在主器件產(chǎn)生停止信號后開始內(nèi)部數(shù)據(jù)的擦寫,在內(nèi)部擦寫過程中AT24C01不再應(yīng)答主器件的任何請求。時序如圖3-16所示。圖3-16頁寫:用頁寫AT24C01可一次寫入4個字節(jié)數(shù)據(jù)。頁寫操作的啟動和字節(jié)寫一樣,不同在于傳送了一個字節(jié)數(shù)據(jù)后并不產(chǎn)生停止信號。每發(fā)送一個字節(jié)數(shù)據(jù)后AT24C01 20產(chǎn)生一個應(yīng)答位并將字節(jié)地址加1。時序如圖3-17所示。圖3-174 硬件,軟件設(shè)計報告4.1 硬件電路分析和設(shè)計報告4.1.1 單片機(jī)最小系統(tǒng)電路因為 89S52 單片機(jī)內(nèi)部自帶 8K 的 ROM 和 256 字節(jié)的 RAM,因此不必構(gòu)建單片機(jī)系統(tǒng)的擴(kuò)展電路。如圖 4-1,單片機(jī)最小系統(tǒng)有復(fù)位電路和振蕩器電路。值得注意的一點是單片機(jī)的 31 腳 必須接高電平,否則系統(tǒng)將不能運(yùn)行。因為該腳不接VPEA/時為低電平,單片機(jī)將直接讀取外部程序存儲器,而系統(tǒng)沒有外部程序存儲器,所以必須接 VCC。PEA/ 21圖 4-14.1.2 鍵盤電路鍵盤連接在單片機(jī)的 P2 口,通過對 P2 的實時掃描,確定按鍵動作,存儲按鍵值。電路圖如圖 4-2 所示。圖 4-24.1.3 液晶顯示電路液晶顯示電路如圖 4-3 所示,通過 P1 口傳輸數(shù)據(jù),控制信號 E1、E2 、A0 分別連在 P3.0、P3.1、P3.2。單片機(jī)通過 P1 口和部分 P3 口對液晶進(jìn)行顯示控制??烧{(diào)電阻RW1 控制液晶顯示的亮度。 22圖 4-34.1.4 存儲器電路存儲器 AT24C01 通過兩條信號線 SDA、SCL 傳輸信息,本系統(tǒng)將 SCL 和 SDA分別連在單片機(jī)的 P3.4 和 P3.5 上,單片機(jī)通過對這兩腳的控制實現(xiàn)數(shù)據(jù)的寫入和讀出。4.1.5 蜂鳴器及繼電器電路蜂鳴器及繼電器電路如圖 4-4 所示。由于蜂鳴器和繼電器都需要很大的電流才能驅(qū)動,因此須在前級接一個三極管,起到電流放大作用。當(dāng) Buzzer 為低電平時,三極管 Q1 導(dǎo)通,蜂鳴器響;為高電平時,Q1 截止蜂鳴器不工作。當(dāng) Switch 為低電平時,三極管 Q2 導(dǎo)通,繼電器吸合,將被控電路導(dǎo)通,直流電機(jī)轉(zhuǎn)動,帶動門閂將門打開。Switch 和 Buzzer 分別接在單片機(jī)的 P3.6 和 P3.7 腳,當(dāng)運(yùn)行需要時將 P3.6 或 P3.7 腳置 23低即可實現(xiàn)蜂鳴器和繼電器的功能。之所以選擇 PNP 三極管是因為單片機(jī)在復(fù)位時P0、P1、P2、P3 都會置高,如果用 NPN 型三極管,在復(fù)位時會讓三極管導(dǎo)通,必須在程序中進(jìn)行軟件調(diào)整,盡管如此還是不能完全避免這種現(xiàn)象,因此選用 PNP 型三極管 9012。圖 4-4 244.1.6 系統(tǒng)硬件總圖圖 4-5 254.2 軟件設(shè)計報告4.2.1 流程圖圖 4-64.2.2 系統(tǒng)源程序; 將鍵入的 6 個數(shù)存在 61-64 66-67 中 然后寫入 2401ORG 30hE1 EQU P3.0E2 EQU P3.1A0 EQU P3.2SCL EQU P3.4SDA EQU P3.5SWITCHEQU P3.6SOUND EQU P3.7CFLAG EQU 20H ;比較標(biāo)志位SFLAG EQU 21H ;設(shè)置標(biāo)志位IFLAG EQU 22H ;輸入標(biāo)志位;R1 為接收數(shù)據(jù)的開始位置;R4 為數(shù)據(jù)在 2401 內(nèi)的存放地址;R5 為讀取數(shù)據(jù)的字節(jié)數(shù)MOV R4, #01HMOV R5, #06HMOV R1, #71HLCALL RD_BYTLOOPRD_BYTLOOP:LCALL READ_BYTECJNE R1, #75H,XIAINC R1XIA: MOV @R1, AINC R1INC R4INC R4DJNZ R5,RD_BYTLOOPJMP MAINREAD_BYTE: 26LCALL START_BITMOV A,#0A0HLCALL IN_BYTELCALL START_BITMOV A,R4LCALL IN_BYTECLR ALCALL OUT_BYTELCALL STOP_BITRETOUT_BYTE: ;數(shù)據(jù)讀取SETB SDAMOV R2, #08HCLR SCLLCALL DELAY1NOPOUT1: ;讀一位數(shù)據(jù)SETB SCLLCALL DELAY1MOV C, SDARLC ACLR SCLLCALL DELAY1DJNZ R2, OUT1LCALL DELAY1SETB SCLLCALL DELAY1CLR SCLRETIN_BYTE: ;寫一位數(shù)據(jù)MOV R2, #08HIN1:RLC AMOV SDA, CSETB SCLLCALL DELAY1CLR SCLLCALL DELAY1DJNZ R2, IN1LCALL DELAY1SETB SCLLCALL DELAY1CLR SCLRETSEND_MES:;將 60H--67H 中的密碼寫入 2401;其中 60H 和 64H 中存頁地址MOV 60H, #00H ;PAGE1MOV 65H, #08H ;PAGE2CALL START_BITMOV R1, #60HMOV R2,#05H ;寫第一頁WRI1: MOV A, @R1MOV R5, #08HCALL SENDINC R1 ;地址加 1DJNZ R2, WRI1CALL STOP_BITMOV R2,#03H ;寫第二頁CALL START_BITWRI2: MOV A, @R1MOV R5, #08HCALL SENDINC R1 ;地址加 1DJNZ R2, WRI2CALL STOP_BITRETSEND:CLR SCL ;傳送RLC AMOV SDA, CCALL DELAYSETB SCLCALL DELAYDJNZ R5, SENDCLR SCL ;確認(rèn)信號CALL DELAYCLR SDACALL DELAYSETB SCLCALL DELAYRETSTART_BIT: ;起始位SETB SCLCALL DELAYSETB SDACALL DELAYCLR SDA 27CALL DELAYRETSTOP_BIT:CLR SCL ;停止位CLR SDASETB SCLCALL DELAYSETB SDACALL DELAYRET;12232 液晶屏驅(qū)動源程序x equ 30h ;頁地址y equ 31h ;列地址MAIN:CLR E1CLR E2LCALL init ;初始化模塊START: CALL CLEARMOV R1, #0e3H ;reset LCALL WRIMOV 30H, #2 ;xMOV 31H, #10 ;yMOV DPTR,#HANZ1 ;歡LCALL outhzLMOV 30H, #2MOV 31H, #35MOV DPTR,#HANZ2 ;迎LCALL outhzLMOV 30H, #2MOV 31H, #10MOV DPTR, #HANZ3 ;光LCALL outhzRMOV 30H, #2MOV 31H, #35MOV DPTR, #HANZ4 ;臨LCALL outhzRMOV 30H, #0HMOV 31H, #10MOV DPTR, #HANZ5 ;密LCALL outhzLMOV 30H, #0HMOV 31H, #35MOV DPTR,#HANZ6 ;碼LCALL outhzLMOV 30H, #0HMOV 31H, #50MOV DPTR, #FUH1 ;:LCALL outhzLCALL INCALL COMPARE_LIU ;超級密碼比較DJNZ SFLAG, CON_CJMP CH_PASSCON_C:CALL COMPARE DJNZ CFLAG, ERJMP CONTINUEER: LCALL PASS_ERCONTINUE:CALL CLEAR ;清屏MOV 30H, #2H ;顯示密碼正確MOV 31H, #10MOV DPTR, #HANZ5 ;密LCALL outhzLMOV 30H, #2HMOV 31H, #35MOV DPTR, #HANZ6 ;碼LCALL outhzLMOV 30H, #2MOV 31H, #10MOV DPTR, #HANZ7 ;正LCALL outhzRMOV 30H, #2MOV 31H, #35MOV DPTR, #HANZ8 ;確LCALL outhzRMOV 30H, #0MOV 31H, #3MOV DPTR, #FUH3 ; CLCALL outhzYLMOV 30H, #0MOV 31H, #15MOV DPTR, #HANZ9 ;改LCALL outhzLMOV 30H, #0MOV 31H, #31MOV DPTR, #HANZ5 ;密LCALL outhzLMOV 30H, #0MOV 31H, #47 28MOV DPTR, #HANZ6 ;碼LCALL outhzLMOV 30H, #0MOV 31H, #10MOV DPTR, #FUH4 ;DLCALL outhzYMOV 30H, #0MOV 31H, #20MOV DPTR, #HANZ10 ;開LCALL outhzRMOV 30H, #0MOV 31H, #35MOV DPTR, #HANZ11 ;門LCALL outhzRWEIT: CALL KEY ;判斷輸入是否為改密碼JNC WEITWEIT1: CALL KEY ;判斷按鍵有沒有松開JC WEIT1DJNZ 21H,PORT1 ;判斷輸入是否為 CMOV R4,#3HCALL CH_PASS ;改密碼程序PORT1: DJNZ 22H,WEITJMP OPEN_JOPEN_J: CALL OPENMOV R5,#15CALL DELAY200JMP STARTPASS_ER:CALL CLEARMOV 30H,#2 ;密碼錯誤MOV 31H,#10MOV DPTR,#HANZ5
收藏