DZ090液晶顯示電子密碼鎖的設(shè)計(jì)
DZ090液晶顯示電子密碼鎖的設(shè)計(jì),dz090,液晶顯示,電子,密碼鎖,設(shè)計(jì)
液晶顯示電子密碼鎖的設(shè)計(jì),指導(dǎo)教師 :
學(xué) 生 :,摘 要,本系統(tǒng)的設(shè)計(jì)可以用于家庭、企業(yè)、公司、酒店的電子密碼門鎖;電子密碼保險(xiǎn)柜;電子密碼箱;電子防盜密匙及其他重要設(shè)備的開啟。它以單片機(jī)AT89S52為核心,通過液晶顯示實(shí)現(xiàn)人機(jī)對(duì)話,實(shí)時(shí)掃描鍵盤接口,發(fā)現(xiàn)有按鍵動(dòng)作立即讀取按鍵信息,并與存儲(chǔ)器中的原始密碼對(duì)比,密碼相同則進(jìn)入操作模式, 按C鍵,進(jìn)入修改密碼界面,按D鍵,則繼電器吸合,實(shí)現(xiàn)開門功能;不同則顯示密碼錯(cuò)誤,繼電器不動(dòng)作。連續(xù)三次輸入錯(cuò)誤密碼后蜂鳴器發(fā)出報(bào)警音。,系統(tǒng)結(jié)構(gòu)框圖,鍵盤工作方式,鍵盤掃描子程序完成下述幾個(gè)功能:
(1)判斷鍵盤上有無按 鍵按下
(2)防止鍵的機(jī)械抖動(dòng) 影響
(3)獲取按下鍵的鍵號(hào)
(4)按鍵閉合一次僅進(jìn) 行一次鍵功能操作,液晶模塊LCM12232的工作原理,液晶模塊LCM12232由一塊122×32的點(diǎn)陣液晶屏和兩片驅(qū)動(dòng)芯片及其輔助電路組成。,,,,,,液晶模塊LCM12232的工作原理,A0信號(hào)用于指示液晶模塊接收的信息是數(shù)據(jù),還是指令。A0為1表示當(dāng)前信息為數(shù)據(jù),A0為0則表示當(dāng)前信息為指令碼。
R/W和E1、E2分別為該模塊的讀寫信號(hào)和片選信號(hào)。
D7~D0為數(shù)據(jù)線,三態(tài)。,存儲(chǔ)器AT24C01,SCL:串行時(shí)鐘,用于產(chǎn)生器件所有數(shù)據(jù)發(fā)送或接收的時(shí)鐘,
SDA:串行數(shù)據(jù)/地址,用于器件所有數(shù)據(jù)的發(fā)送或接收,SDA 是一個(gè)開漏輸出管腳
A0、A1、A2: 器件地址輸入端,用于多個(gè)器件級(jí)聯(lián)時(shí)設(shè)置器件地址
WP:寫保護(hù),如果WP管腳連接到Vcc,所有的內(nèi)容都被寫保護(hù)。當(dāng)WP管腳連接到Vss,允許器件進(jìn)行正常的讀/寫操作.,IIC總線協(xié)議,起始信號(hào):時(shí)鐘線保持高電平期間,數(shù)據(jù)線電平從高到低的跳變作為IIC總線的起始信號(hào)。
停止信號(hào):時(shí)鐘線保持高電平期間,數(shù)據(jù)線電平從低到高的跳變作為總線的停止信號(hào)。,AT24C01讀操作,在字節(jié)讀模式下,主器件發(fā)送起始命令和從器件地址信息(A0)給從器件,在從器件產(chǎn)生應(yīng)答信號(hào)后,主器件再次發(fā)送起始命令和AT24C01的7位字節(jié)地址和1位讀信號(hào)(R/W=1)給從器件。主器件在收到從器件的另一個(gè)應(yīng)答信號(hào)后,再從被尋址的存儲(chǔ)單元中讀取數(shù)據(jù)。主器件不需發(fā)送一個(gè)應(yīng)答信號(hào)但要產(chǎn)生一個(gè)停止信 。,AT24C01寫操作,在字節(jié)寫模式下,主器件發(fā)送AT24C01的7位字節(jié)地址和1位寫信號(hào)(R/W=0)給從器件。主器件在收到從器件的一個(gè)應(yīng)答信號(hào)后,再發(fā)送數(shù)據(jù)到被尋址的存儲(chǔ)單元。AT24C01再次應(yīng)答并在主器件產(chǎn)生停止信號(hào)后開始內(nèi)部數(shù)據(jù)的擦寫,在內(nèi)部擦寫過程中AT24C01不再應(yīng)答主器件的任何請(qǐng)求。,單片機(jī)最小系統(tǒng)電路,鍵盤電路,蜂鳴器及繼電器電路,系統(tǒng)硬件總圖,軟件設(shè)計(jì)流程圖,致謝,本課題在選題及研究過程中得到李建民副院長的悉心指導(dǎo)。李院長多次詢問研究進(jìn)程,并為我指點(diǎn)迷津,幫助我開拓研究思路,精心點(diǎn)撥、熱忱鼓勵(lì)。李老師一絲不茍的作風(fēng),嚴(yán)謹(jǐn)求實(shí)的態(tài)度,踏踏實(shí)實(shí)的精神,不僅授我以文,而且教我做人。他循循善誘的教導(dǎo)和不拘一格的思路給予我無盡的啟迪。謹(jǐn)此向老師和同學(xué)表示衷心的感謝!,致謝,謝謝各位老師在百忙之中來檢閱我們的畢業(yè)論文,同時(shí)要感謝物理信息學(xué)院的領(lǐng)導(dǎo)和工作人員對(duì)我們的支持,為我們提供了良好的實(shí)驗(yàn)條件,為論文的成形作了細(xì)心的指導(dǎo),并給予了大量幫助 。,謝謝!,二○○六屆學(xué)生畢業(yè)論文(設(shè)計(jì)) 存檔編號(hào):畢 業(yè) 論 文 ( 設(shè) 計(jì) )論 文 題 目 液晶顯示電子密碼鎖的設(shè)計(jì) (英 文) The Design Of Electronic Password Lock By LCD 學(xué) 院 專 業(yè) 姓 名 學(xué) 號(hào) 指 導(dǎo) 教 師 年 月 日 1題目:液晶顯示電子密碼鎖的設(shè)計(jì)學(xué) 生: 物理與信息工程學(xué)院指導(dǎo)老師: 物理與信息工程學(xué)院摘 要本系統(tǒng)的設(shè)計(jì)可以用于家庭、企業(yè)、公司、酒店的電子密碼門鎖;電子密碼保險(xiǎn)柜;電子密碼箱;電子防盜密匙及其他重要設(shè)備的開啟。它以單片機(jī) AT89S52 為核心,通過液晶顯示實(shí)現(xiàn)人機(jī)對(duì)話,實(shí)時(shí)掃描鍵盤接口,發(fā)現(xiàn)有按鍵動(dòng)作立即讀取按鍵信息,并與存儲(chǔ)器中的原始密碼對(duì)比,密碼相同則進(jìn)入操作模式, 按 C 鍵,進(jìn)入修改密碼界面,按 D 鍵,則繼電器吸合,實(shí)現(xiàn)開門功能;不同則顯示密碼錯(cuò)誤。連續(xù)三次輸入錯(cuò)誤密碼后蜂鳴器發(fā)出報(bào)警音。關(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è)計(jì)任務(wù) ·····················································································································52.2 基本模塊 ·····················································································································53 總體方案設(shè)計(jì)與選擇論證····································································································53.1.單片機(jī)最小系統(tǒng) ·········································································································53.1.1 單片機(jī)的說明 ···································································································53.1.2 單片機(jī)的應(yīng)用 ···································································································53.1.3 單片機(jī)的結(jié)構(gòu)特點(diǎn) ···························································································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. 存儲(chǔ)器 AT24C01 ·····································································································16 43.4.1 AT24C01 概述 ································································································163.4.2 管腳配置和描述 ····························································································163.4.3 IIC 總線協(xié)議····································································································163.4.4 AT24C01 讀寫操作··························································································184 硬件、軟件設(shè)計(jì)報(bào)告·········································································································194.1 硬件電路分析和設(shè)計(jì)報(bào)告·······················································································194.1.1 單片機(jī)最小系統(tǒng)電路·····················································································194.1.2 鍵盤電路·········································································································204.1.3 液晶顯示電路·································································································204.1.4 存儲(chǔ)器電路·····································································································214.1.5 蜂鳴器及繼電器電路·····················································································214.1.6 系統(tǒng)硬件總圖·································································································234.2 軟件設(shè)計(jì)告···············································································································244.2.1 流程圖··············································································································244.2.2 系統(tǒng)源程序······································································································244.3 操作說明···················································································································365 總結(jié)·····································································································································37致謝·········································································································································39參考文獻(xiàn)·············································································································· 5···················40液晶顯示電子密碼鎖的設(shè)計(jì)1 緒論本系統(tǒng)的設(shè)計(jì)可以用于家庭、企業(yè)、公司、酒店的電子密碼門鎖;電子密碼保險(xiǎn)柜;電子密碼箱;電子防盜密匙及其他重要設(shè)備的開啟。它以單片機(jī) AT89S52 為核心,通過液晶顯示實(shí)現(xiàn)人機(jī)對(duì)話,實(shí)時(shí)掃描鍵盤接口,發(fā)現(xiàn)有按鍵動(dòng)作立即讀取按鍵信息,并與存儲(chǔ)器中的原始密碼對(duì)比,相同則進(jìn)入操作模式不同則顯示密碼錯(cuò)誤。連續(xù)三次輸入錯(cuò)誤密碼后蜂鳴器發(fā)出報(bào)警音。在操作模式下,按 C 鍵,進(jìn)入修改密碼界面;按D 鍵,則繼電器吸合,實(shí)現(xiàn)開門功能。電子鎖的研究從上世紀(jì) 30 年代就開始了,在某些特殊場(chǎng)所早就有所應(yīng)用。研究這種鎖的初衷,是提高鎖具的安全性,因?yàn)殡娮渔i的密鑰量(密碼量)極大,可以和機(jī)械鎖配合,避免因鑰匙被仿制而出現(xiàn)的問題。在安全性極高的前提下,它的另一個(gè)特點(diǎn)——無需鑰匙卻被越來越多的人所欣賞。因?yàn)槿藗償y帶的鑰匙很多已成累贅,而電子鎖只需記住一組密碼,無需攜帶金屬鑰匙,免除了人們的煩惱。電子鎖的種類繁多,從大的方面講可能有數(shù)十種,例如數(shù)碼鎖、指紋鎖、卡片鎖、磁卡鎖、生物鎖等等。但能談的上實(shí)用一些或者大眾化一些的還是按鍵式電子密碼鎖。在系統(tǒng)使用單片機(jī)動(dòng)態(tài)掃描鍵盤,內(nèi)部處理從而控制顯示電路部分和繼電器開關(guān)。我選用的是 51 系列單片機(jī)。單片機(jī)在各個(gè)技術(shù)領(lǐng)域中的迅猛發(fā)展,與單片機(jī)所構(gòu)成的計(jì)算機(jī)應(yīng)用系統(tǒng)的特點(diǎn)有關(guān):· 單片機(jī)構(gòu)成的應(yīng)用系統(tǒng)有較大的可靠性。· 系統(tǒng)構(gòu)建簡潔、易行,能方便的實(shí)現(xiàn)系統(tǒng)功能。· 由于構(gòu)成的系統(tǒng)是一個(gè)計(jì)算機(jī)系統(tǒng),相當(dāng)多的功能由軟件實(shí)現(xiàn),故具有柔性特點(diǎn)。· 有優(yōu)異的性能價(jià)格比。 62 任務(wù)說明2.1 設(shè)計(jì)任務(wù)設(shè)計(jì)并制作一個(gè)液晶顯示電子密碼鎖電路,其結(jié)構(gòu)框圖如圖 2-1:圖 2-12.2 基本模塊(1) 單片機(jī)最小系統(tǒng)電路部分(2) 4×4 行列式掃描鍵盤電路部分(3) 液晶顯示電路部分(4) 存儲(chǔ)器模塊(5) 繼電器和蜂鳴器電路部分3 總體方案設(shè)計(jì)與選擇的論證3.1 單片機(jī)最小系統(tǒng)3.1.1 單片機(jī)的說明單片機(jī)的原名叫 Microcontroller,即微型控制器。 顧名思義,單片機(jī)有別于通用微型計(jì)算機(jī),它是專門為控制和智能儀器設(shè)計(jì)的一種集成度很高的微型計(jì)算機(jī)。其控 7制功能強(qiáng),有優(yōu)異的性能/價(jià)格比,有很高的可靠性。因而,單片機(jī)的應(yīng)用范圍在不斷的擴(kuò)大,它已經(jīng)成了生產(chǎn)中和人類生活中不可缺少的工具。下面介紹單片機(jī)在幾個(gè)方面的典型應(yīng)用。3.1.2 單片機(jī)的應(yīng)用(1)單片機(jī)在智能儀器中的應(yīng)用單片機(jī)廣泛的用于各種儀器儀表中,使儀器儀表數(shù)字化、微型化和智能化,提高它們的測(cè)量速度、測(cè)量精度和自動(dòng)化程度,簡化儀器儀表的硬件結(jié)構(gòu),便于使用、維修和改進(jìn),提高其性能/價(jià)格比。(2)單片機(jī)在機(jī)電一體化產(chǎn)品中的應(yīng)用 機(jī)電一體化是機(jī)械工業(yè)發(fā)展的方向。機(jī)電一體化產(chǎn)品是指,集機(jī)械技術(shù)、微電子技術(shù)、計(jì)算機(jī)技術(shù)和控制技術(shù)于一體,具有智能化特征的機(jī)電產(chǎn)品。例如,微機(jī)控制的數(shù)控機(jī)床、機(jī)器人等。單片機(jī)作為機(jī)電產(chǎn)品中的控制器,能充分的發(fā)揮它的體積小、可靠性高、功能強(qiáng)等優(yōu)點(diǎn),大大提高了機(jī)器的自動(dòng)化、智能化程度。(3)單片機(jī)在過程控制中的應(yīng)用過程控制是微型機(jī)應(yīng)用最多、最有效的方面之一,單片機(jī)廣泛的用于過程控制。它既可以作為主機(jī)控制,也可以作為分布式控制系統(tǒng)的前端機(jī),對(duì)現(xiàn)場(chǎng)的信息進(jìn)行實(shí)時(shí)的測(cè)量和控制。單片機(jī)可用于開關(guān)量控制、順序控制及邏輯控制等。如鍋爐控制、電機(jī)控制、機(jī)器人控制、交通信號(hào)燈控制、造紙紙漿濃度控制、紙張定量水分及厚薄控制, 、雷達(dá)與導(dǎo)彈控制以及航天導(dǎo)航系統(tǒng)魚雷制導(dǎo)系統(tǒng)控制等。(4)單片機(jī)在計(jì)算機(jī)網(wǎng)絡(luò)及通信中的應(yīng)用由于高性能單片機(jī)中集成有 SDLC 通信接口,因而使其在計(jì)算機(jī)網(wǎng)絡(luò)及通信設(shè)備中得到了廣泛的應(yīng)用。例如:Intel 公司的 8044,由 8051 單片機(jī)及 SDLC 通信接口組合而成,用高性能的串行接口單元 SIU 代替?zhèn)鹘y(tǒng)的 UART,采用雙絞線、半雙工通信形式,特別適合遠(yuǎn)距離通信。以 8044 位基礎(chǔ)組成的位總線是一種高性能、低價(jià)格的分布式控制系統(tǒng),傳送距離可達(dá) 1200m,傳送速度為 2.4Mbit/s,網(wǎng)絡(luò)節(jié)點(diǎn)為 28 個(gè)。此外,單片機(jī)在自動(dòng)撥號(hào)無線電話網(wǎng)、串行自動(dòng)呼叫應(yīng)答設(shè)備、程控電話、無線電遙控等方面都有廣泛的應(yīng)用。(5)單片機(jī)在家用電器方面的應(yīng)用單片機(jī)廣泛的應(yīng)用于家用電器產(chǎn)品中,例如:洗衣機(jī)、電冰箱、微波爐、電飯煲、高級(jí)智能玩具、收錄機(jī)等配上單片機(jī)后,大大提高了產(chǎn)品的性能,倍受人們的喜愛??? 8以說,單片機(jī)在人們?nèi)粘I钪袘?yīng)用所受到的限制主要不是技術(shù)問題,而是創(chuàng)造力和技巧上的問題。3.1.3 單片機(jī)的結(jié)構(gòu)特點(diǎn)本次畢業(yè)設(shè)計(jì)我用到的單片機(jī)是 MCS-51 系列單片機(jī),下面通過與通用微機(jī)的比較,來簡單介紹 MCS-51 系列單片機(jī)的結(jié)構(gòu)特點(diǎn)。就 CPU 的結(jié)構(gòu)來說,通用微機(jī)的 CPU 內(nèi)部有一定數(shù)量的通用或?qū)S眉拇嫫?,而MCS-51 系列單片機(jī)則在數(shù)據(jù) RAM 區(qū)開辟了一個(gè)工作寄存器區(qū)。該區(qū)共有 4 組,每組8 個(gè)寄存器,共計(jì)可提供 32 個(gè)工作寄存器,相當(dāng)于通用微機(jī) CPU 中的通用寄存器。除此之外,MCS-51 系列單片機(jī)還頗具特色的 21 個(gè)特殊功能寄存器 SFR.要理解 MCS-51系列單片機(jī)的工作,就必須對(duì)特殊功能寄存器 SFR 的工作有清楚地了解。SFR 使具有40 條引腳的單片機(jī)系統(tǒng)的功能有很大的擴(kuò)展。由于這些 SFR 的作用,每個(gè)通道在程序控制下,都可有第二功能,從而使得有限的引腳能衍生出更多的功能。而且,利用SFR 可完成對(duì)定時(shí)器、串行口、中斷邏輯的控制,這就使得單片機(jī)可以把定時(shí)/計(jì)數(shù)器、串行口、中斷邏輯等集成在一個(gè)芯片上。MCS-51 系列單片機(jī)在存儲(chǔ)器結(jié)構(gòu)上與通用微機(jī)也有不同之處,通用微機(jī)中程序存儲(chǔ)器和數(shù)據(jù)存儲(chǔ)器時(shí)一個(gè)地址空間,而單片機(jī)把程序存儲(chǔ)器和數(shù)據(jù)存儲(chǔ)器分成兩個(gè)獨(dú)立的地址空間,采用不同的尋址方式,使用兩個(gè)不同的地址指針,PC 指向程序存儲(chǔ)器,DPTR 指向數(shù)據(jù)存儲(chǔ)器。采用這種結(jié)構(gòu)主要是考慮到工業(yè)控制的特點(diǎn)。一般工業(yè)控制系統(tǒng)中,需要較大的程序存儲(chǔ)器空間和較小的隨機(jī)存儲(chǔ)器空間,不同于通用微機(jī)需要較大的數(shù)據(jù)存儲(chǔ)器空間。MCS-51 系列單片機(jī)在輸入輸出接口方面的特點(diǎn)是,通道口引線在程序的控制下都可有第二功能,可由用戶系統(tǒng)設(shè)計(jì)者靈活選擇。比如數(shù)據(jù)線和地址線 8 位分時(shí)合用通道 0,而地址線高 8 位與其它信號(hào)線也可合用通道 2。由于存儲(chǔ)器和接口都在片內(nèi),就給應(yīng)用提供了方便,往往只在其引腳處增加驅(qū)動(dòng)器即可簡化接口設(shè)計(jì)工作,提高單片機(jī)與外設(shè)數(shù)據(jù)交換的處理速度。同時(shí),功能變換和選擇由相應(yīng)的指令來控制實(shí)現(xiàn),而不是靠硬件上的跳線短接等方法實(shí)現(xiàn)。MCS-51 系列單片機(jī) I/O 一線多功能的特點(diǎn)方便了用戶,但在組成應(yīng)用系統(tǒng)時(shí),也應(yīng)根據(jù)其特點(diǎn)分時(shí)使用。MCS-51 系列單片機(jī)的另一個(gè)顯著特點(diǎn)是內(nèi)部有一個(gè)全雙工串行口,即可同時(shí)發(fā)送和接收;有兩個(gè)物理上獨(dú)立的接收、發(fā)送緩沖器。發(fā)送緩沖器只能寫入不能讀出,接收緩沖器只能讀出不能寫入。在程序的控制下,串行口工作與四種工作方式,用戶可根據(jù)需要,設(shè)定為移位寄存器以擴(kuò)展 I/O 口和外接同步輸入輸出設(shè)備,或用作異步 9通信口,以實(shí)現(xiàn)雙機(jī)或多機(jī)通信,極為方便的組成分布式控制系統(tǒng)。最后還值得一提的是,MCS-51 系列單片機(jī)內(nèi)部有一個(gè)功能相對(duì)獨(dú)立的位處理(即布爾處理機(jī)) ,因而其具有較強(qiáng)的位處理功能。3.1.4 單片機(jī)引腳配置MCS-51 單片機(jī)采用 40 引腳雙列直插封裝(DIP)形式。對(duì)于 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)振蕩器。在采用外部時(shí)鐘電路時(shí),對(duì)于 HMOS 單片機(jī),此引腳必須接地;對(duì) CHMOS 單片機(jī),此引腳作為驅(qū)動(dòng)端。 XTAL2:接外部晶體的另一端。在單片機(jī)內(nèi)部,接至上述振蕩器的反相放大器的輸出端,振蕩器的頻率是晶體振蕩頻率。若采用外部時(shí)鐘電路時(shí),對(duì)于 HMOS 單片機(jī),該引腳輸入外部時(shí)鐘脈沖;對(duì)于 CHMOS 單片機(jī),此引腳應(yīng)懸空。(3)信號(hào)引腳 RST/VpdRST/Vpd:復(fù)位 /備用電源輸入端。單片機(jī)上電后,只要在該引腳上輸入 24 個(gè)振蕩周期(2 個(gè)機(jī)器周期)寬度以上的高電平就會(huì)使單片機(jī)復(fù)位;若在 RST 與 Vcc 之間接一個(gè) 10μF 的電容,而在 RST 與 Vss 之間接一個(gè) 8.2KΩ 的下拉電阻,則可實(shí)現(xiàn)單片機(jī)上電自動(dòng)復(fù)位。RST/Vpd 具有復(fù)用功能,在主電源 Vcc 掉電期間,該引腳可接上+5V 備用電源。當(dāng) Vcc 下掉到低于規(guī)定的電平,而 Vpd 在其規(guī)定的電壓范圍內(nèi)時(shí),Vpd 就向片內(nèi)RAM 提供備用電源,以保持片內(nèi) RAM 中的信息不丟失,復(fù)電后能繼續(xù)正常運(yùn)行。(4)輸入/輸出(I/O)引腳 P0、P1、P2 和 P3MCS-51 單片機(jī)有 4 個(gè)雙向并行的 8 位 I/O 口 P0~P3 ,P0 口為三態(tài)雙向口,可驅(qū)動(dòng) 8 個(gè) TTL 電路, P1、P2、P3 口為準(zhǔn)雙向口(作為輸入時(shí),口線被拉成高電平,故稱為準(zhǔn)雙向口) ,其負(fù)載能力為 4 個(gè) TTL 電路。P0.0--P0.7:P0 口是一個(gè) 8 位雙向 I/O 端口。在訪問片外存儲(chǔ)器時(shí),它分時(shí)提供低8 位地址和作 8 位雙向數(shù)據(jù)總線。在 EPROM 編程時(shí),從 P0 口輸入指令字節(jié);在驗(yàn)證程序時(shí),則輸出指令字節(jié)(驗(yàn)證時(shí),要外接上拉電阻) 。P0 口能以吸收電流的方式驅(qū)動(dòng) 8 個(gè) LSTTL 負(fù)載。 11圖 3-2P1.0--P1.7:P1 口是 8 位準(zhǔn)雙向 I/O 端口。在 EPROM 編程和程序驗(yàn)證時(shí),它輸入低 8 位地址。P1 口能驅(qū)動(dòng) 4 個(gè) LSTTL 負(fù)載。圖 3-3P2.0--P2.7:P2 口是一個(gè) 8 位準(zhǔn)雙向 I/O 端口。在 CPU 訪問外部存儲(chǔ)器時(shí),它輸出高 8 位地址。在對(duì) EPROM 編程和程序驗(yàn)證時(shí),它輸入高 8 位地址。P2 口可驅(qū)動(dòng) 4個(gè) LSTTL 負(fù)載。 12圖 3-4P3.0--P3.7:P3 口是 8 位準(zhǔn)雙向 I/O 端口。它是一個(gè)復(fù)用功能口。作為第一功能使用時(shí),為普通 I/O 口,其功能和操作方法與 P1 口相同。作為第二功能使用時(shí),各引腳的定義如表 3-1 所示。P3 口的每一條引腳均可獨(dú)立定義為第一功能的輸入輸出或第二功能。P3 口能驅(qū)動(dòng) 4 個(gè) LSTTL 負(fù)載。圖 3-5表 3-1:口線 第二功能 13P3.0P3.1P3.2P3.3P3.4P3.5P3.6P3.7RXD (串行口輸入)TXD (串行口輸出)INT0 (外部中斷 0 輸入)INT1(外部中斷 1 輸入) T0 (定時(shí)器 0 的外部輸入)T1 (定時(shí)器 1 的外部輸入)WR (外部數(shù)據(jù)存儲(chǔ)器“寫”信號(hào)輸出)RD (外部數(shù)據(jù)存儲(chǔ)器“讀”信號(hào)輸出)3.2 4×4 行列式掃描鍵盤3.2.1 鍵盤工作原理行列式鍵盤電路原理如圖 3-6 所示。按鍵設(shè)置在行列式交點(diǎn)上,行列線分別連接到按鍵開關(guān)的兩端。當(dāng)行線通過上拉電阻接+5V 時(shí),被鉗位在高電平狀態(tài)。鍵盤中有無按鍵按下是由列線送入全掃描字、行線讀入行線狀態(tài)來判斷的。鍵盤中哪一個(gè)鍵按下可由列線逐列置低電平后,檢查行輸入狀態(tài)來判斷。圖 3-6 143.2.2 鍵盤工作方式鍵盤的工作方式:編程掃描方式、定時(shí)掃描方式、中斷掃描方式三種。本設(shè)計(jì)采用的是編程掃描方式。在鍵盤掃描子程序中完成下述幾個(gè)功能: (1)判斷鍵盤上有無按鍵按下; (2)防止鍵的機(jī)械抖動(dòng)影響; (3)獲取按下鍵的鍵號(hào); (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 的點(diǎn)陣液晶屏和兩片驅(qū)動(dòng)芯片及其輔助電路組成。其原理圖如圖 3-9 所示。圖 3-9(1)引腳及其功能 (表 3-2)引腳號(hào) 引腳名 有效電平 功能說明1 VDD 5.0V 電源電壓2 VSS 0V 電源地3 VLCD --- LCD 電壓4 RST L H 系統(tǒng)復(fù)位信號(hào)5 E1 H SED1520(MASTER)片選信號(hào),高電平有效 166 E2 H SED1520(SLAVE)片選信號(hào),高電平有效7 R/W H/L 讀寫控制位(H:讀操作,L:寫操作)8 A0 H/L 命令數(shù)據(jù)線(H:數(shù)據(jù)信號(hào),L:指令信號(hào))9--16 DB0—DB7 H/L 數(shù)據(jù)輸入總線(2)關(guān)鍵信號(hào)說明在 LCM12232 的主要引出信號(hào)中,A0 信號(hào)用于指示 LCM12232 模塊接收的信息是數(shù)據(jù),還是指令。A0 為1表示當(dāng)前信息為數(shù)據(jù), A0 為0則表示當(dāng)前信息為指令碼。R/W 和 E1、 E2 分別為該模塊的讀寫信號(hào)和片選信號(hào)。D7~D0 為數(shù)據(jù)線,三態(tài)。(3)初始化說明圖 3-10 173.4 存儲(chǔ)器 AT24C013.4.1 AT24C01 概述AT24C01 是一個(gè) 1K 位串行 CMOS 內(nèi)部含有 128 個(gè) 8 位字節(jié),采用先PROME2進(jìn)的 CMOS 技術(shù)實(shí)質(zhì)上減少了器件的功耗。該器件通過 I2C 總線接口進(jìn)行操作,有一個(gè)專門的寫保護(hù)功能。3.4.2 管腳配置和描述管腳配置如圖 3-11,管腳描述如表 3-3 所示:圖 3-11表 3-3管腳名稱 功能A0 A1 A2 器件地址選擇SDA 串行數(shù)據(jù)/地址SCL 串行時(shí)鐘WP 寫保護(hù)Vcc +1.8V 6.0V 工作電壓Vss 電源地SCL:串行時(shí)鐘AT24C01 串行時(shí)鐘輸入管腳用于產(chǎn)生器件所有數(shù)據(jù)發(fā)送或接收的時(shí)鐘,這是一個(gè)輸管腳。SDA:串行數(shù)據(jù)/地址AT24C01 雙向串行數(shù)據(jù)/地址管腳用于器件所有數(shù)據(jù)的發(fā)送或接收,SDA 是一個(gè)開漏輸出管腳,可與其它開漏輸出或集電極開路輸出進(jìn)行線或(wire-OR) 。A0、A1、A2: 器件地址輸入端這些輸入腳用于多個(gè)器件級(jí)聯(lián)時(shí)設(shè)置器件地址,當(dāng)這些腳懸空時(shí)默認(rèn)值為 0。WP:寫保護(hù)如果 WP 管腳連接到 Vcc,所有的內(nèi)容都被寫保護(hù)(只能讀) 。當(dāng) WP 管腳連接到Vss 或懸空,允許器件進(jìn)行正常的讀/寫操作.3.4.3 總線協(xié)議CI2總線協(xié)議定義如下:(1)只有在總線空閑時(shí)才允許啟動(dòng)數(shù)據(jù)傳送;(2)在數(shù)據(jù)傳送過程中,當(dāng)時(shí)鐘線為高電平時(shí),數(shù)據(jù)線必須保持穩(wěn)定狀態(tài),不允許有跳變。時(shí)鐘線為高電平時(shí),數(shù)據(jù)線的任何電平變化將被看作總線的起始或停止信號(hào)。起始信號(hào): 18時(shí)鐘線保持高電平期間,數(shù)據(jù)線電平從高到低的跳變作為 總線的起始信號(hào)。CI2停止信號(hào):時(shí)鐘線保持高電平期間,數(shù)據(jù)線電平從低到高的跳變作為 總線的停止信號(hào)。I2起始/停止時(shí)序如圖3-12圖3-12器件尋址:主器件通過發(fā)送一個(gè)起始信號(hào)啟動(dòng)發(fā)送過程然后發(fā)送它所要尋址的從器件的地址。8位從器件地址的高4位固定為1010,接下來的3位(A2 、A1 、A0)為器件的地址位。最多可以連接8個(gè)32K/64K器件到同一總線上。這些位必須與連線輸入腳 A2、A1、A0相對(duì)應(yīng)。從器件8位地址的最低位作為讀寫控制位。 “1”表示對(duì)從器件進(jìn)行讀操作, “0”表示對(duì)從器件進(jìn)行寫操作。應(yīng)答信號(hào):總線數(shù)據(jù)傳送時(shí),每成功地傳送一個(gè)字節(jié)數(shù)據(jù)后,接收器都必須產(chǎn)生一個(gè)應(yīng)答信號(hào)。CI2應(yīng)答的器件在第9個(gè)時(shí)鐘周期時(shí),將SDA拉低,表示其已收到一個(gè) 8位數(shù)據(jù)。應(yīng)答時(shí)序如圖3-13。圖3-133.4.4 AT24C01 讀寫操作讀操作字節(jié)讀:在字節(jié)讀模式下,主器件發(fā)送起始命令和從器件地址信息(A0)給從器件,在從器件產(chǎn)生應(yīng)答信號(hào)后,主器件再次發(fā)送起始命令和AT24C01的7位字節(jié)地址和1 19位讀信號(hào)(R/W=1)給從器件。主器件在收到從器件的另一個(gè)應(yīng)答信號(hào)后,再從被尋址的存儲(chǔ)單元中讀取數(shù)據(jù)。主器件不需發(fā)送一個(gè)應(yīng)答信號(hào)但要產(chǎn)生一個(gè)停止信 。時(shí)序如圖3-14 所示。圖3-14連續(xù)讀:連續(xù)讀操作的啟動(dòng)和字節(jié)讀一樣,在AT24C01發(fā)送完一個(gè)8位字節(jié)數(shù)據(jù)后,主器件產(chǎn)生一個(gè)應(yīng)答信號(hào)來響應(yīng),告知AT24C01主器件要求更多的數(shù)據(jù),對(duì)應(yīng)每個(gè)主機(jī)產(chǎn)生的應(yīng)答信號(hào)AT24C01將發(fā)送一個(gè)8 位數(shù)據(jù)字節(jié)。當(dāng)主器件不發(fā)送應(yīng)答信號(hào)而發(fā)送停止位時(shí)結(jié)束此操作。從AT24C01輸出的數(shù)據(jù)按順序由N 到N+1 輸出。讀操作時(shí)地址計(jì)數(shù)器在AT24C01整個(gè)地址內(nèi)增加,這樣整個(gè)寄存器區(qū)域在可在一個(gè)讀操作內(nèi)全部讀出。當(dāng)讀取的字節(jié)超過127,計(jì)數(shù)器將翻轉(zhuǎn)到零并繼續(xù)輸出數(shù)據(jù)字節(jié)。時(shí)序如圖3-15所示。圖3-15寫操作字節(jié)寫:在字節(jié)寫模式下,主器件發(fā)送AT24C01的7位字節(jié)地址和1位寫信號(hào)(R/W=0) 給從器件。主器件在收到從器件的一個(gè)應(yīng)答信號(hào)后,再發(fā)送數(shù)據(jù)到被尋址的存儲(chǔ)單元。AT24C01再次應(yīng)答并在主器件產(chǎn)生停止信號(hào)后開始內(nèi)部數(shù)據(jù)的擦寫,在內(nèi)部擦寫過程中AT24C01不再應(yīng)答主器件的任何請(qǐng)求。時(shí)序如圖3-16所示。圖3-16頁寫:用頁寫AT24C01可一次寫入4個(gè)字節(jié)數(shù)據(jù)。頁寫操作的啟動(dòng)和字節(jié)寫一樣,不同在于傳送了一個(gè)字節(jié)數(shù)據(jù)后并不產(chǎn)生停止信號(hào)。每發(fā)送一個(gè)字節(jié)數(shù)據(jù)后AT24C01 20產(chǎn)生一個(gè)應(yīng)答位并將字節(jié)地址加1。時(shí)序如圖3-17所示。圖3-174 硬件,軟件設(shè)計(jì)報(bào)告4.1 硬件電路分析和設(shè)計(jì)報(bào)告4.1.1 單片機(jī)最小系統(tǒng)電路因?yàn)?89S52 單片機(jī)內(nèi)部自帶 8K 的 ROM 和 256 字節(jié)的 RAM,因此不必構(gòu)建單片機(jī)系統(tǒng)的擴(kuò)展電路。如圖 4-1,單片機(jī)最小系統(tǒng)有復(fù)位電路和振蕩器電路。值得注意的一點(diǎn)是單片機(jī)的 31 腳 必須接高電平,否則系統(tǒng)將不能運(yùn)行。因?yàn)樵撃_不接VPEA/時(shí)為低電平,單片機(jī)將直接讀取外部程序存儲(chǔ)器,而系統(tǒng)沒有外部程序存儲(chǔ)器,所以必須接 VCC。PEA/ 21圖 4-14.1.2 鍵盤電路鍵盤連接在單片機(jī)的 P2 口,通過對(duì) P2 的實(shí)時(shí)掃描,確定按鍵動(dòng)作,存儲(chǔ)按鍵值。電路圖如圖 4-2 所示。圖 4-24.1.3 液晶顯示電路液晶顯示電路如圖 4-3 所示,通過 P1 口傳輸數(shù)據(jù),控制信號(hào) E1、E2 、A0 分別連在 P3.0、P3.1、P3.2。單片機(jī)通過 P1 口和部分 P3 口對(duì)液晶進(jìn)行顯示控制??烧{(diào)電阻RW1 控制液晶顯示的亮度。 22圖 4-34.1.4 存儲(chǔ)器電路存儲(chǔ)器 AT24C01 通過兩條信號(hào)線 SDA、SCL 傳輸信息,本系統(tǒng)將 SCL 和 SDA分別連在單片機(jī)的 P3.4 和 P3.5 上,單片機(jī)通過對(duì)這兩腳的控制實(shí)現(xiàn)數(shù)據(jù)的寫入和讀出。4.1.5 蜂鳴器及繼電器電路蜂鳴器及繼電器電路如圖 4-4 所示。由于蜂鳴器和繼電器都需要很大的電流才能驅(qū)動(dòng),因此須在前級(jí)接一個(gè)三極管,起到電流放大作用。當(dāng) Buzzer 為低電平時(shí),三極管 Q1 導(dǎo)通,蜂鳴器響;為高電平時(shí),Q1 截止蜂鳴器不工作。當(dāng) Switch 為低電平時(shí),三極管 Q2 導(dǎo)通,繼電器吸合,將被控電路導(dǎo)通,直流電機(jī)轉(zhuǎn)動(dòng),帶動(dòng)門閂將門打開。Switch 和 Buzzer 分別接在單片機(jī)的 P3.6 和 P3.7 腳,當(dāng)運(yùn)行需要時(shí)將 P3.6 或 P3.7 腳置 23低即可實(shí)現(xiàn)蜂鳴器和繼電器的功能。之所以選擇 PNP 三極管是因?yàn)閱纹瑱C(jī)在復(fù)位時(shí)P0、P1、P2、P3 都會(huì)置高,如果用 NPN 型三極管,在復(fù)位時(shí)會(huì)讓三極管導(dǎo)通,必須在程序中進(jìn)行軟件調(diào)整,盡管如此還是不能完全避免這種現(xiàn)象,因此選用 PNP 型三極管 9012。圖 4-4 244.1.6 系統(tǒng)硬件總圖圖 4-5 254.2 軟件設(shè)計(jì)報(bào)告4.2.1 流程圖圖 4-64.2.2 系統(tǒng)源程序; 將鍵入的 6 個(gè)數(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)信號(hào)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ū)動(dòng)源程序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 ;超級(jí)密碼比較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 ;密碼錯(cuò)誤MOV 31H,#10MOV DPTR,#HANZ5
收藏