




已閱讀5頁(yè),還剩43頁(yè)未讀, 繼續(xù)免費(fèi)閱讀
版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
基于單片機(jī)的電子密碼鎖設(shè)計(jì)摘 要在日常的生活和工作中, 住宅與部門(mén)的安全防范、單位的文件檔案、財(cái)務(wù)報(bào)表以及一些個(gè)人資料的保存多以加鎖的辦法來(lái)解決。若使用傳統(tǒng)的機(jī)械式鑰匙開(kāi)鎖,人們常需攜帶多把鑰匙, 使用極不方便, 且鑰匙丟失后安全性即大打折扣。傳統(tǒng)的門(mén)鎖既要備有大量的鑰匙,又要擔(dān)心鑰匙丟失后的麻煩。隨著單片機(jī)的問(wèn)世,出現(xiàn)了帶微處理器的密碼鎖,它除具有電子密碼鎖的功能外,還引入了智能化、科技化等功能,從而使密碼鎖具有很高的安全性、可靠性,受到了廣大用戶的親睞。本系統(tǒng)由AT89C51單片機(jī)系統(tǒng)(主要是AT89C51單片機(jī)最小系統(tǒng))、44矩陣鍵盤(pán)、LCD1602顯示和報(bào)警系統(tǒng)等組成,具有設(shè)置、修改六位用戶密碼、超次報(bào)警、密碼錯(cuò)誤報(bào)警等功能(本設(shè)計(jì)由P0口控制LCD顯示,密碼正確顯示password ok! 密碼錯(cuò)誤顯示password error!超過(guò)三次輸入錯(cuò)誤啟動(dòng)報(bào)警功能。 經(jīng)實(shí)驗(yàn)證明,該密碼鎖具有設(shè)計(jì)方法合理,簡(jiǎn)單易行,成本低,安全實(shí)用等特點(diǎn),符合住宅、辦公室用鎖要求,具有推廣價(jià)值。關(guān)鍵詞: AT89C51,LCD1602,電子密碼鎖,44矩陣鍵盤(pán)目錄前言1第1章 概述21.1 電子密碼鎖簡(jiǎn)介21.2 電子密碼鎖發(fā)展趨勢(shì)21.3 本設(shè)計(jì)所要實(shí)現(xiàn)的目標(biāo)31.4 電子密碼鎖設(shè)計(jì)的具體要求31.5 總體設(shè)計(jì)方案選定4第2章 硬件設(shè)計(jì)52.1 單片機(jī)AT89C51簡(jiǎn)介52.1.1 主要特性52.1.2 引腳功能說(shuō)明62.2 液晶顯示LCD1602的介紹92.3 硬件電路的設(shè)計(jì)112.3.1 硬件設(shè)計(jì)原理112.3.2 最小系統(tǒng)的設(shè)計(jì)122.3.3 芯片擦除152.3.4 開(kāi)鎖機(jī)構(gòu)152.3.5 鍵盤(pán)設(shè)計(jì)162.3.6 顯示電路設(shè)計(jì)182.4 電路設(shè)計(jì)總圖19第3章 系統(tǒng)軟件設(shè)計(jì)203.1 系統(tǒng)軟件設(shè)計(jì)總體流程203.2 主程序模塊203.3 鍵盤(pán)掃描及程序流程圖213.4 系統(tǒng)密碼及開(kāi)鎖程序流程圖23第4章 程序調(diào)試254.1 系統(tǒng)調(diào)試過(guò)程254.2 系統(tǒng)調(diào)試結(jié)果27結(jié)論29參考文獻(xiàn)30附錄3245 / 48前言隨著社會(huì)物質(zhì)財(cái)富的日益增長(zhǎng)和人們生活水平的提高,安全成為現(xiàn)代居民最關(guān)心的問(wèn)題之一。此外電子技術(shù)的飛速發(fā)展,給傳統(tǒng)的機(jī)械鎖帶來(lái)了巨大的變革,現(xiàn)代的電子技術(shù)與機(jī)械技術(shù)相結(jié)合,產(chǎn)生了一大批智能鎖:指紋鎖、IC卡辨識(shí)、遙控鎖、聲控鎖等先進(jìn)的鎖具。雖然這類產(chǎn)品安全性高,但是這類產(chǎn)品的特點(diǎn)是針對(duì)特定指紋或有效卡,只能適用于保密要求高且僅供個(gè)人使用的箱、柜、房間等。而且卡片式IC卡還有易丟失等特點(diǎn),加上其生產(chǎn)成本高,安裝使用不方便,一定程度上限制了這類產(chǎn)品的普及和推廣。由于數(shù)字、字符、圖形圖像、人體生物特征和時(shí)間等要素均可成為鑰匙的電子信息,組合使用這些信息能夠使電子密碼鎖獲得高度的保密性,如防范森嚴(yán)的金庫(kù),需要使用復(fù)合信息密碼的電子密碼鎖,這樣對(duì)盜賊而言是“道高一尺、魔高一丈”。組合使用信息也能夠使電子密碼鎖獲得無(wú)窮擴(kuò)展的可能,使產(chǎn)品多樣化,對(duì)用戶而言是“千挑百選、自得其所”。本文介紹的是一種基于ST89C51單片機(jī)和4*4矩陣鍵盤(pán)的硬件設(shè)計(jì)和軟件實(shí)現(xiàn)方法,這種電路設(shè)計(jì)具有防試探按鍵輸入、智能控制上鎖、開(kāi)鎖、報(bào)警、修改密碼等多種功能。保密性強(qiáng),靈活性高,外接各種執(zhí)行機(jī)構(gòu),可廣泛用于車(chē)輛、大門(mén)、保險(xiǎn)柜等各種需上鎖的場(chǎng)合。 第1章 概述1.1 電子密碼鎖簡(jiǎn)介電子密碼鎖是一種通過(guò)密碼輸入來(lái)控制電路或是芯片工作,從而控制機(jī)械開(kāi)關(guān)的閉合,完成開(kāi)鎖、閉鎖任務(wù)的電子產(chǎn)品。它的種類很多,有簡(jiǎn)易的電路產(chǎn)品,也有基于芯片的性價(jià)比較高的產(chǎn)品。現(xiàn)在應(yīng)用較廣的電子密碼鎖是以芯片為核心,通過(guò)編程來(lái)實(shí)現(xiàn)的。其性能和安全性已大大超過(guò)了機(jī)械鎖。其特點(diǎn)如下: (1) 保密性好,編碼量多,遠(yuǎn)遠(yuǎn)大于彈子鎖。隨機(jī)開(kāi)鎖成功率幾乎為零。 (2) 密碼可變,用戶可以隨時(shí)更改密碼,防止密碼被盜,同時(shí)也可以避免因人員的更替而使鎖的密級(jí)下降。 (3) 誤碼輸入保護(hù),當(dāng)輸入密碼多次錯(cuò)誤時(shí),報(bào)警系統(tǒng)自動(dòng)啟動(dòng)。 (4) 無(wú)活動(dòng)零件,不會(huì)磨損,壽命長(zhǎng)。 (5) 使用靈活性好,不像機(jī)械鎖必須佩帶鑰匙才能開(kāi)鎖。 (6) 電子密碼鎖操作簡(jiǎn)單易行,一學(xué)即會(huì)。1.2 電子密碼鎖發(fā)展趨勢(shì)在日常生活和工作中,住宅與部門(mén)的安全防范、單位的文件檔案、財(cái)務(wù)報(bào)表以及一些個(gè)人資料的保存多以加鎖的辦法來(lái)解決。目前門(mén)鎖主要用彈子鎖,其鑰匙容易丟失;保險(xiǎn)箱主要用機(jī)械密碼鎖,其結(jié)構(gòu)較為復(fù)雜,制造精度要求高,成本高,且易出現(xiàn)故障,人們常需攜帶多把鑰匙,使用極不方便,且鑰匙丟失后安全性即大打折扣。針對(duì)這些鎖具給人們帶來(lái)的不便若使用機(jī)械式鑰匙開(kāi)鎖,為滿足人們對(duì)鎖的使用要求,增加其安全性,用密碼代替鑰匙的密碼鎖應(yīng)運(yùn)而生。它的出現(xiàn)為人們的生活帶來(lái)了很大的方便,有很廣闊的市場(chǎng)前景。由于電子器件所限,以前開(kāi)發(fā)的電子密碼鎖,其種類不多,保密性差,最基本的就是只依靠最簡(jiǎn)單的模擬電子開(kāi)關(guān)來(lái)實(shí)現(xiàn)的,制作簡(jiǎn)單但很不安全,在后為多是基于EDA來(lái)實(shí)現(xiàn)的,其電路結(jié)構(gòu)復(fù)雜,電子元件繁多,也有使用早先的20引角的2051系列單片機(jī)來(lái)實(shí)現(xiàn)的,但密碼簡(jiǎn)單,易破解。隨著電子元件的進(jìn)一步發(fā)展,電子密碼鎖也出現(xiàn)了很多的種類,功能日益強(qiáng)大,使用更加方便,安全保密性更強(qiáng),由以前的單密碼輸入發(fā)展到現(xiàn)在的,密碼加感應(yīng)元件,實(shí)現(xiàn)了真真的電子加密,用戶只有密碼或電子鑰匙中的一樣,是打不開(kāi)鎖的,隨著電子元件的發(fā)展及人們對(duì)保密性需求的提高出現(xiàn)了越來(lái)越多的電子密碼鎖。出于安全、方便等方面的需要許多電子密碼鎖已相繼問(wèn)世。但這類產(chǎn)品的特點(diǎn)是針對(duì)特定有效卡、指紋或聲音有效,且不能實(shí)現(xiàn)遠(yuǎn)程控制,只能適用于保密要求高且供個(gè)人使用的箱、柜、房間等。由于數(shù)字、字符、圖形圖像、人體生物特征和時(shí)間等要素均可成為鑰匙的電子信息,組合使用這些信息能夠使電子防盜鎖獲得高度的保密性,如防范森嚴(yán)的金庫(kù),需要使用復(fù)合信息密碼的電子防盜鎖,這樣對(duì)盜賊而言是“道高一尺、魔高一丈”。組合使用信息也能夠使電子防盜鎖獲得無(wú)窮擴(kuò)展的可能,使產(chǎn)品多樣化,對(duì)用戶而言是“千挑百選、自得其所”??梢钥闯鼋M合使用電子信息是電子密碼鎖以后發(fā)展的趨勢(shì)。1.3 本設(shè)計(jì)所要實(shí)現(xiàn)的目標(biāo)本設(shè)計(jì)采用單片機(jī)為主控芯片,結(jié)合外圍電路,組成電子密碼鎖,用戶想要打開(kāi)鎖,必先通過(guò)提供的鍵盤(pán)輸入正確的密碼才能將鎖打開(kāi),密碼輸入錯(cuò)誤有提示,為了提高安全性,當(dāng)密碼輸入錯(cuò)誤三次將報(bào)警。密碼可以由用戶自己修改設(shè)定,鎖打開(kāi)后才能修改密碼。修改密碼之前必須再次輸入密碼,在輸入新密碼時(shí)候需要二次確認(rèn),以防止誤操作。1.4 電子密碼鎖設(shè)計(jì)的具體要求(1)本設(shè)計(jì)為了防止密碼被竊取要求在輸入密碼時(shí)在LCD屏幕上顯示*號(hào)。(2)設(shè)計(jì)開(kāi)鎖密碼位六位密碼的電子密碼鎖。(3)能夠LCD顯示在密碼正確時(shí)顯示PASSWORD OK,密碼錯(cuò)誤時(shí)顯示PASSWORD ERROR,輸入密碼時(shí)顯示INPUT PASSWORD。(4)實(shí)現(xiàn)輸入密碼錯(cuò)誤超過(guò)限定的三次電子密碼鎖定。(5)44的矩陣鍵盤(pán)其中包括0-9的數(shù)字鍵和A-F的功能鍵(6)本產(chǎn)品具備報(bào)警功能,當(dāng)輸入密碼錯(cuò)誤時(shí)蜂鳴器響并且LED燈亮。 (7)密碼可以由用戶自己修改設(shè)定(只支持6位密碼),修改密碼之前必須再次輸入密碼,在輸入新密碼時(shí)候需要二次確認(rèn),以防止誤操作 。1.5 總體設(shè)計(jì)方案選定采用一種是用以AT89C51為核心的單片機(jī)控制方案。選用單片機(jī)AT89C51 作為本設(shè)計(jì)的核心元件,利用單片機(jī)靈活的編程設(shè)計(jì)和豐富的IO端口,及其控制的準(zhǔn)確性,實(shí)現(xiàn)基本的密碼鎖功能。在單片機(jī)的外圍電路外接輸入鍵盤(pán)用于密碼的輸入和一些功能的控制,外接LCD1602顯示器用于顯示作用。其原理如下圖1-1所示: 圖1-1 單片機(jī)控制密碼鎖原理框圖 第2章 硬件設(shè)計(jì)2.1 單片機(jī)AT89C51簡(jiǎn)介 AT89C51是一種帶4K字節(jié)閃爍可編程可擦除只讀存儲(chǔ)器(FPEROMFalsh Programmable and Erasable Read Only Memory)的低電壓,高性能CMOS8位微處理器,俗稱單片機(jī)。AT89C2051是一種帶2K字節(jié)閃爍可編程可擦除只讀存儲(chǔ)器的單片機(jī)。單片機(jī)的可擦除只讀存儲(chǔ)器可以反復(fù)擦除100次。該器件采用ATMEL高密度非易失存儲(chǔ)器制造技術(shù)制造,和閃爍存儲(chǔ)器組合在單個(gè)芯片中,ATMEL的AT89C51是一種高效微控制器,AT89C20與工業(yè)標(biāo)準(zhǔn)的MCS-51指令集和輸出管腳相兼容。由于將多功能8位CPU51是它的一種精簡(jiǎn)版本。AT89C單片機(jī)為很多嵌入式控制系統(tǒng)提供了一種靈活性高且價(jià)廉的方案。 圖2-1 AT89C51與AT89C20512.1.1 主要特性 (1)與MCS-51 兼容; (2)4K字節(jié)可編程閃爍存儲(chǔ)器; (3)壽命:1000寫(xiě)/擦循環(huán); (4)數(shù)據(jù)保留時(shí)間:10年; (5)全靜態(tài)工作:0Hz-24Hz; (6)三級(jí)程序存儲(chǔ)器鎖定; (7)128*8位內(nèi)部RAM; (8)32可編程I/O線; (9)兩個(gè)16位定時(shí)器/計(jì)數(shù)器; (10)5個(gè)中斷源; (11)可編程串行通道; (12)低功耗的閑置和掉電模式; (13)片內(nèi)振蕩器和時(shí)鐘電路; 2.1.2 引腳功能說(shuō)明 圖2-2 單片機(jī)引腳圖Vcc:電源電壓 GND:接地 P0口:P0口是一組8位漏極開(kāi)路型雙向I0口,也即地址數(shù)據(jù)總線復(fù)用口。作為輸出口用時(shí),每位能驅(qū)動(dòng)8個(gè)TTL邏輯門(mén)電路,對(duì)端口寫(xiě)“1”可作為高阻抗輸入端用。在訪問(wèn)外部數(shù)據(jù)存儲(chǔ)器或程序存儲(chǔ)器時(shí),這組口線分時(shí)轉(zhuǎn)換地址(低8位)和數(shù)據(jù)總線復(fù)用,在訪問(wèn)期間激活內(nèi)部上拉電阻。在F1ash編程時(shí),P0口接收指令字節(jié),而在程序校驗(yàn)時(shí),輸出指令字節(jié),校驗(yàn)時(shí),要求外接上拉電阻。 P1口:Pl 是一個(gè)帶內(nèi)部上拉電阻的8位雙向IO口,Pl的輸出緩沖級(jí)可驅(qū)動(dòng)(吸收或輸出電流)4個(gè)TTL邏輯門(mén)電路。對(duì)端口寫(xiě)“l(fā)”,通過(guò)內(nèi)部的上拉電阻把端口拉到高電平,此時(shí)可作輸入口。作輸入口使用時(shí),因?yàn)閮?nèi)部存在上拉電阻,某個(gè)引腳被外部信號(hào)拉低時(shí)會(huì)輸出一個(gè)電流(IIL),F(xiàn)lash編程和程序校驗(yàn)期間,Pl接收低8位地址。 P2 口:P2 是一個(gè)帶有內(nèi)部上拉電阻的8 位雙向IO 口,P2 的輸出緩沖級(jí)可驅(qū)動(dòng)(吸收或輸出電流)4 個(gè)TTL邏輯門(mén)電路。對(duì)端口寫(xiě)“1”,通過(guò)內(nèi)部的上拉電阻把端口拉到高電平,此時(shí)可作輸入口,作輸入口使用時(shí),因?yàn)閮?nèi)部存在上拉電阻,某個(gè)引腳被外部信號(hào)拉低時(shí)會(huì)輸出一個(gè)電流(IIL),在訪問(wèn)外部程序存儲(chǔ)器或16位地址的外部數(shù)據(jù)存儲(chǔ)器(例如執(zhí)行MOVXDPTR指令)時(shí),P2口送出高8位地址數(shù)據(jù)。在訪問(wèn)8 位地址的外部數(shù)據(jù)存儲(chǔ)器(如執(zhí)行MOVXRi 指令)時(shí),P2 口線上的內(nèi)容(也即特殊功能寄存器(SFR)區(qū)中P2寄存器的內(nèi)容),在整個(gè)訪問(wèn)期間不改變。Flash編程或校驗(yàn)時(shí),P2亦接收高位地址和其它控制信號(hào)。 P3 口:P3 口是一組帶有內(nèi)部上拉電阻的8 位雙向I0 口。P3 口輸出緩沖級(jí)可驅(qū)動(dòng)(吸收或輸出電流)4 個(gè)TTL邏輯門(mén)電路。P3口除了作為一般的I0口線外,更重要的用途是它的第二功能,如下表所示:P3口還接收一些用于Flash閃速存儲(chǔ)器編程和程序校驗(yàn)的控制信號(hào) RST:復(fù)位輸入。當(dāng)振蕩器工作時(shí),RST引腳出現(xiàn)兩個(gè)機(jī)器周期以上高電平將使單片機(jī)復(fù)位。WDT 溢出將使該引腳輸出高電平,設(shè)置SFR AUXR的DISRT0 位(地址8EH)可打開(kāi)或關(guān)閉該功能。DISRT0位缺省為RESET輸出高電平打開(kāi)狀態(tài)。 ALEPROG:當(dāng)訪問(wèn)外部程序存儲(chǔ)器或數(shù)據(jù)存儲(chǔ)器時(shí),ALE(地址鎖存允許)輸出脈沖用于鎖存地址的低8位字節(jié)。即使不訪問(wèn)外部存儲(chǔ)器,ALE 仍以時(shí)鐘振蕩頻率的16 輸出固定的正脈沖信號(hào),因此它可對(duì)外輸出時(shí)鐘或用于定時(shí)目的。 PSEN:程序儲(chǔ)存允許(PSEN)輸出是外部程序存儲(chǔ)器的讀選通信號(hào),當(dāng)AT89C51 由外部程序存儲(chǔ)器取指令(或數(shù)據(jù))時(shí),每個(gè)機(jī)器周期兩次PSEN有效,即輸出兩個(gè)脈沖。當(dāng)訪問(wèn)外部數(shù)據(jù)存儲(chǔ)器,沒(méi)有兩次有效的PSEN信號(hào)。 EAVPP:外部訪問(wèn)允許。欲使CPU僅訪問(wèn)外部程序存儲(chǔ)器(地址為0000HFFFFH),EA端必須保持低電平(接地)。需注意的是:如果加密位LB1被編程,復(fù)位時(shí)內(nèi)部會(huì)鎖存EA端狀態(tài)。如EA端為高電平(接Vcc端),CPU則執(zhí)行內(nèi)部程序存儲(chǔ)器中的指令。F1ash存儲(chǔ)器編程時(shí),該引腳加上+12V的編程電壓Vpp。 XTALl:振蕩器反相放大器及內(nèi)部時(shí)鐘發(fā)生器的輸入端。 XTAL2:振蕩器反相放大器的輸出端。 89C51相對(duì)于89C51增加的新功能包括:(1)ISP在線編程功能,這個(gè)功能的優(yōu)勢(shì)在于改寫(xiě)單片機(jī)存儲(chǔ)器內(nèi)的程序不需要把芯片從工作環(huán)境中剝離,是一個(gè)強(qiáng)大易用的功能。(2)最高工作頻率為33MHz,89C51的極限工作頻率為24MHz,就是說(shuō)C51具有更高的工作頻率,從而具有了更快的計(jì)算速度。(3)具有雙工UART串行通道。(4)內(nèi)部集成看門(mén)狗計(jì)時(shí)器,不再需要像C51那樣外接看門(mén)狗計(jì)時(shí)器單元電路。(5)雙數(shù)據(jù)指示器。(6)電源關(guān)閉標(biāo)識(shí)。(7)全新的加密算法,這使得對(duì)于89C51的解密變?yōu)椴豢赡?,程序的保密性大大加?qiáng),這樣就可以有效地保護(hù)知識(shí)產(chǎn)權(quán)不被侵犯。(8)兼容性方面:向下完全兼容51全部字系列產(chǎn)品。(9)程序存儲(chǔ)器寫(xiě)入方式:二者的寫(xiě)入程序的方式不同,89C51只支持并行寫(xiě)入,同時(shí)需要VPP燒寫(xiě)高壓。89C51則支持Isp在線編程寫(xiě)入技術(shù)。串行寫(xiě)入、速度更快、穩(wěn)定性更好,燒寫(xiě)電壓也僅僅需要45V即可。(10)電源范圍:89C51電源范圍寬達(dá)45.5V,而89C51在低于4.8V和高于5.3V的時(shí)候則無(wú)法正常工作。(11)燒寫(xiě)壽命更長(zhǎng):89C51標(biāo)稱的1000次,實(shí)際最少是100010000次,這樣更有利于初學(xué)者反復(fù)燒寫(xiě),降低學(xué)習(xí)成本。綜上所述本設(shè)計(jì)選定AT89C51。2.2 液晶顯示LCD1602的介紹1.LM1602字符型模塊的性能重量輕:100g;體積?。?1mm 厚;功耗低:1015mW;顯示內(nèi)容:192 種字符(57 點(diǎn)字型);32 種字符(510 點(diǎn)字型);可自編8(57)或許(510)種字符;指令功能強(qiáng):可組合成各種輸入、顯示、移位方式以滿足不同的要求;接口簡(jiǎn)單方便:可與8 位微處理器或微控制器相聯(lián);工作溫度寬:050oC可靠性高:壽命為50,000 小時(shí)(25oC)2.基本原理(1)液晶體液晶板上排列著若干57 或510 點(diǎn)陣的字符顯示位,每個(gè)顯示位可顯示1 個(gè)字符,從規(guī)格上分為每行8、16、20、24、32、40 位,有一行、兩行及四行三類。(2)工作電路它由KS0066、KS0065 及幾個(gè)電阻電容組成。KS0065 是擴(kuò)展顯示字符用的(例如:16 個(gè)字符1 行模塊就可不用KS0065,16 個(gè)字符2 行模塊就要用1 片KS0065)接口方面,有8 條數(shù)據(jù),三條控線??膳c微處理器或微控制相連,通過(guò)送入數(shù)據(jù)和指令,就可使模塊正常工作。(3)LCD 驅(qū)動(dòng)器和控制器A.LCD 驅(qū)動(dòng)器KS0065KS0065 是用低功耗CMOS 技術(shù)制造的大規(guī)模LCD 驅(qū)動(dòng)IC。它既可當(dāng)行驅(qū)動(dòng)用,也可以當(dāng)列驅(qū)動(dòng)用,由202Bin 二進(jìn)制移位寄存器、202Bin 數(shù)據(jù)鎖存器和202Bin 驅(qū)動(dòng)器組成功能:a.40 通道點(diǎn)陣LCD 驅(qū)動(dòng);b.可選擇當(dāng)做行驅(qū)動(dòng)或列驅(qū)動(dòng);c.輸入/輸出信號(hào):輸出,能產(chǎn)生202 個(gè)LCD 驅(qū)動(dòng)波型;輸入,接受控制器送出的串行數(shù)據(jù)和控制信號(hào),偏壓(V1V6);特性:a.顯示驅(qū)動(dòng)偏壓低:靜態(tài)1/5;b.電源電壓:+5V+10%;c.顯示驅(qū)動(dòng)電源:-5V;d.CMOS 處理;e.60 引腳、塑封;B.LCD 控制器KS0066KS0066 是用低功耗CMOS 技術(shù)制造的大規(guī)模點(diǎn)陣LCD控制器(兼帶驅(qū)動(dòng)器),和4Bin/8Bin 微處理器相連連,它能使點(diǎn)陣LCD 顯示大小英文字母、符號(hào)。應(yīng)用KS0066,用戶能有少量元件就可組成一個(gè)完整點(diǎn)陣LCD 系統(tǒng)。特性:a.容易和Bin/8Bin Mpu 相連;b.可選擇57 或510 點(diǎn)字符;c.顯示數(shù)據(jù)RAM 容量:808Bin(80 字符);d.字符發(fā)生器ROM 能提供戶所需字符庫(kù)或標(biāo)準(zhǔn)庫(kù);字符容量:192 個(gè)字符(57 點(diǎn)字符);32 個(gè)字符(510 點(diǎn)字符);e.DDRAM 和CGRAM 都能從Mpu 讀取數(shù)據(jù);f.輸出信號(hào):16 個(gè)行掃信號(hào)(common singnal),40 個(gè)列掃信號(hào)(sengment singnal)g.電源復(fù)位電路;h.顯示占空比:1/8duty(1Line,57dots+Cursor);1/11 duty(1Line,510dote+Cuesor);1/16 duty(2Line,57dots+Cuesir);i.振蕩電路;j.指令:11 種;k.80 引腳、塑封。 (4)技術(shù)參數(shù)表2-1極限參數(shù)2.3 硬件電路的設(shè)計(jì)2.3.1 硬件設(shè)計(jì)原理本設(shè)計(jì)主要由單片機(jī)、矩陣鍵盤(pán)、液晶顯示器和密碼存儲(chǔ)等部分組成。其中矩陣鍵盤(pán)用于輸入數(shù)字密碼和進(jìn)行各種功能的實(shí)現(xiàn)。由用戶通過(guò)連接單片機(jī)的矩陣鍵盤(pán)輸入密碼,后經(jīng)過(guò)單片機(jī)對(duì)用戶輸入的密碼與自己保存的密碼進(jìn)行對(duì)比,從而判斷密碼是否正確,然后控制引腳的高低電平傳到開(kāi)鎖電路或者報(bào)警電路控制開(kāi)鎖還是報(bào)警,實(shí)際使用時(shí)只要將單片機(jī)的負(fù)載由繼電器換成電子密碼鎖的電磁鐵吸合線圈即可,當(dāng)然也可以用繼電器的常開(kāi)觸點(diǎn)去控制電磁鐵吸合線圈。本系統(tǒng)共有兩部分構(gòu)成,即硬件部分與軟件部分。其中硬件部分由電源輸入部分、鍵盤(pán)輸入部分、密碼存儲(chǔ)部分、復(fù)位部分、晶振部分、顯示部分、報(bào)警部分、開(kāi)鎖部分組成,軟件部分對(duì)應(yīng)的由主程序、初始化程序、LCD顯示程序、鍵盤(pán)掃描程序、啟動(dòng)程序、關(guān)閉程序、建功能程序、密碼設(shè)置程序、EEPROM讀寫(xiě)程序和延時(shí)程序等組成。其原理框圖如圖2-3所示:圖2-3 電子密碼鎖原理框圖 本設(shè)計(jì)單片機(jī)硬件資源的分配: P0.0P0.7用于LCD液晶顯示作用。P3.7和P2.7用于蜂鳴器和報(bào)警燈的控制。P2.6用于開(kāi)鎖電路的控制。P1.0P1.7用于鍵盤(pán)電路的控制。P2.0P2.2用于LCD顯示模塊的控制端口的控制。2.3.2 最小系統(tǒng)的設(shè)計(jì)當(dāng)MCS-5l系列單片機(jī)的復(fù)位引腳RST(全稱RESET)出現(xiàn)2個(gè)機(jī)器周期以上的高電平時(shí),單片機(jī)就執(zhí)行復(fù)位操作。如果RST持續(xù)為高電平,單片機(jī)就處于循環(huán)復(fù)位狀態(tài)。根據(jù)應(yīng)用的要求,復(fù)位操作通常有兩種基本形式:上電復(fù)位和開(kāi)關(guān)復(fù)位。圖2-4即為手動(dòng)(開(kāi)關(guān))復(fù)位電路: 圖2-4 手動(dòng)復(fù)位電路復(fù)位后的狀態(tài)a.復(fù)位后PC值為0000H,表明復(fù)位后的程序從0000H開(kāi)始執(zhí)行。b.SP值為07H,表明堆棧底部在07H,一般需要重新設(shè)置SP值。c.P0P3口值為FFH。P0P3口用作輸入口時(shí),必須先寫(xiě)入“1”。單片機(jī)在復(fù)位后,已使P0P3口每一端線為“1”,為這些端線用作輸入口做好了準(zhǔn)備。WDT溢出將使該引腳輸出高電平,所以本設(shè)計(jì)采用圖2-5的手動(dòng)復(fù)位電路:圖2-5 本設(shè)計(jì)手動(dòng)復(fù)位電路AT89C51 中有一個(gè)用于構(gòu)成內(nèi)部振蕩器的高增益反相放大器,引腳XTAL1 和XTAL2 分別是該放大器的輸入端和輸出端。這個(gè)放大器與作為反饋元件的片外石英晶體或陶瓷諧振器一起構(gòu)成自激振蕩器,振蕩電路參見(jiàn)圖2-3-4。外接石英晶體(或陶瓷諧振器)及電容Cl、C2 接在放大器的反饋回路中構(gòu)成并聯(lián)振蕩電路。對(duì)外接電容Cl、C2 雖然沒(méi)有十分嚴(yán)格的要求,但電容容量的大小會(huì)輕微影響振蕩頻率的高低、振蕩器工作的穩(wěn)定性、起振的難易程序及溫度穩(wěn)定性。如果使用石英晶體,我們推薦電容使用30pF10pF,而如使用陶瓷諧振器建議選擇40pF10F。用戶也可以采用外部時(shí)鐘。采用外部時(shí)鐘的電路如圖2-5所示。這種情況下,外部時(shí)鐘脈沖接到XTAL1端,即內(nèi)部時(shí)鐘發(fā)生器的輸入端,XTAL2則懸空。由于外部時(shí)鐘信號(hào)是通過(guò)一個(gè)2分頻觸發(fā)器后作為內(nèi)部時(shí)鐘信號(hào)的,所以對(duì)外部時(shí)鐘信號(hào)的占空比沒(méi)有特殊要求,但最小高電平持續(xù)時(shí)間和最大的低電平持續(xù)時(shí)間應(yīng)符合產(chǎn)品技術(shù)條件的要求。 圖2-6 單片機(jī)自激震蕩電路由于單片機(jī)有內(nèi)部振蕩器,所以本設(shè)計(jì)采用圖2-7的晶振電路:圖2-7 晶振電路2.3.3 芯片擦除 整個(gè)PEROM陣列和三個(gè)鎖定位的電擦除可通過(guò)正確的控制信號(hào)組合,并保持ALE管腳處于低電平10ms 來(lái)完成。在芯片擦操作中,代碼陣列全被寫(xiě)“1”且在任何非空存儲(chǔ)字節(jié)被重復(fù)編程以前,該操作必須被執(zhí)行。 此外,AT89C51設(shè)有穩(wěn)態(tài)邏輯,可以在低到零頻率的條件下靜態(tài)邏輯,支持兩種軟件可選的掉電模式。在閑置模式下,CPU停止工作。但RAM,定時(shí)器,計(jì)數(shù)器,串口和中斷系統(tǒng)仍在工作。在掉電模式下,保存RAM的內(nèi)容并且凍結(jié)振蕩器,禁止所用其他芯片功能,直到下一個(gè)硬件復(fù)位為止。 2.3.4 開(kāi)鎖機(jī)構(gòu) 用戶通過(guò)LCD提示信息,用鍵盤(pán)輸入正確密碼,從而達(dá)到開(kāi)鎖的目的。當(dāng)用戶輸入的密碼正確并且是在按下確定鍵的話,單片機(jī)便輸出開(kāi)門(mén)信號(hào),送到開(kāi)鎖驅(qū)動(dòng)電路,然后驅(qū)動(dòng)電磁鎖,達(dá)到開(kāi)門(mén)的目的。電路驅(qū)動(dòng)和開(kāi)鎖兩級(jí)組成。由D4、三極管組成驅(qū)動(dòng)電路,其中三極管可以選擇普通的小功率三極管如9014、9018都可以滿足要求;開(kāi)鎖部分由繼電器實(shí)現(xiàn),繼電器的選用要視情況而定,但是吸合力要足夠且由一定的余量。 D1作為開(kāi)鎖的提示,當(dāng)輸入密碼正確時(shí),D1亮;本設(shè)計(jì)電子鎖控制電路主要由繼電器、三極管和發(fā)光二極管構(gòu)成。電子鎖控制電路圖如圖2-3-6所示: 圖2-8 電磁鎖控制電路圖繼電器線圈的一個(gè)引腳接電源正極,另一端接NPN三極管的集電極。三極管的基極通過(guò)一個(gè)電阻接單片機(jī)的引腳。當(dāng)LOCKCON輸出高電平時(shí),三極管導(dǎo)通,繼電器線圈得電,觸點(diǎn)閉合,相當(dāng)于電子鎖閉鎖;當(dāng)LOCKCON輸出低電平時(shí),三極管截止,繼電器線圈失電,觸點(diǎn)釋放,發(fā)光二極管D1亮,相當(dāng)于電子鎖開(kāi)鎖。圖中普通二極管是繼電器線圈的續(xù)流二極管,為感應(yīng)電動(dòng)勢(shì)提供回路,以免損壞三極管。2.3.5 鍵盤(pán)設(shè)計(jì) 本設(shè)計(jì)就采用行列式鍵盤(pán),同時(shí)也能減少鍵盤(pán)與單片機(jī)接口時(shí)所占用的I/O線的數(shù)目,在按鍵比較多的時(shí)候,通常采用這樣方法。 每一條水平(行線)與垂直線(列線)的交叉處不相通,而是通過(guò)一個(gè)按鍵來(lái)連通,利用這種行列式矩陣結(jié)構(gòu)只需要N條行線和M條列線,即可組成具有NM個(gè)按鍵的鍵盤(pán)。 在這種行列式矩陣鍵盤(pán)非鍵盤(pán)編碼的單片機(jī)系統(tǒng)中,鍵盤(pán)處理程序首先執(zhí)行等待按鍵并確認(rèn)有無(wú)按鍵按下的程序段。 (1)44矩陣鍵盤(pán)的工作原理 在鍵盤(pán)中按鍵數(shù)量較多時(shí),為了減少I(mǎi)/O口的占用,通常將按鍵排列成矩陣形式,如下圖所示。在矩陣式鍵盤(pán)中,每條水平線和垂直線在交叉處不直接連通,而是通過(guò)一個(gè)按鍵加以連接。這樣,一個(gè)端口(如P1口)就可以構(gòu)成4*4=16個(gè)按鍵,比之直接將端口線用于鍵盤(pán)多出了一倍,而且線數(shù)越多,區(qū)別越明顯,比如再多加一條線就可以構(gòu)成20鍵的鍵盤(pán),而直接用端口線則只能多出一鍵(9鍵)。由此可見(jiàn),在需要的鍵數(shù)比較多時(shí),采用矩陣法來(lái)做鍵盤(pán)是合理的。(2)掃描原理 把每個(gè)鍵都分成水平和垂直的兩端接入,比如說(shuō)掃描碼是從垂直的入,那就代表那一行所接收到的掃描碼是同一個(gè)bit,而讀入掃描碼的則是水平,掃描的動(dòng)作是先輸入掃描碼,再去讀取輸入的值,經(jīng)過(guò)比對(duì)之后就可知道是哪個(gè)鍵被按下。 比如說(shuō)掃描碼送入01111111,前面的0111是代表此時(shí)掃描第一行P1.0列,而后面的1111是讓讀取的4行接腳先設(shè)為VDD,若此時(shí)第一行的第三列按鍵被按下,那讀取的結(jié)果就會(huì)變成01111101(注意1111變成1101),其中LSB的第三個(gè)bit會(huì)由1變成0,這是因?yàn)檫@個(gè)按鍵被按下之后,會(huì)被垂直的掃描碼電位short,而把讀取的LSB的bit電位拉到0,此即為掃描原理。 由於這種按鍵是機(jī)械式的開(kāi)關(guān),當(dāng)按鍵被按下時(shí),鍵會(huì)震動(dòng)一小段時(shí)間才穩(wěn)定,為了避免讓8051誤判為多次輸入同一按鍵。 我們必須在偵測(cè)到有按鍵被按下,就Delay一小段時(shí)間,使鍵盤(pán)以達(dá)穩(wěn)定狀態(tài),再去判讀所按下的鍵,就可以讓鍵盤(pán)的輸入穩(wěn)定。圖2-9為鍵盤(pán)整體??驁D: 圖2-9 鍵盤(pán)整體??驁D2.3.6 顯示電路設(shè)計(jì) 顯示設(shè)計(jì)采用字符型液晶屏設(shè)計(jì),由單片機(jī)的P0口控制顯示,由P2.0P2.2控制LCD的控制端口。本系統(tǒng)設(shè)計(jì)的顯示電路是為了給使用者以提示而設(shè)置的為達(dá)到界面友好的目的,顯示部分由液晶顯示LCD1602取代普通的數(shù)碼管完成。開(kāi)鎖時(shí),按下鍵盤(pán)上的開(kāi)鎖按鍵后,利用鍵盤(pán)上的數(shù)字鍵09輸入密碼,每按下一個(gè)數(shù)字鍵后在顯示器上顯示一個(gè)*,輸入多少位就顯示多少個(gè)*。當(dāng)密碼輸入完成時(shí),按下確認(rèn)鍵,如果輸入的密碼正確的話, LCD顯示“IUPUT RIGHT”,單片機(jī)其中P2.6引腳會(huì)輸出低電平,使三極管導(dǎo)通,電磁鐵吸合,繼電器開(kāi)關(guān)跳轉(zhuǎn),電子密碼鎖被打開(kāi),如果密碼不正確,LCD顯示屏?xí)@示“IUPUT ERROR”,P2.6輸出的是高電平,電子密碼鎖不能打開(kāi)。通過(guò)LCD顯示屏,可以清楚地判斷出密碼鎖所處的狀態(tài)。電路圖如圖2-10所示:圖2-10 LCD液晶顯示電路圖2.4 電路設(shè)計(jì)總圖Proteus軟件是Labcenter Electronics公司的一款電路設(shè)計(jì)與仿真軟件,它包括ISIS、ARES等軟件模塊,ARES模塊主要用來(lái)完成PCB的設(shè)計(jì),而ISIS模塊用來(lái)完成電路原理圖的布圖與仿真。Proteus的軟件仿真基于VSM技術(shù),它與其他軟件最大的不同也是最大的優(yōu)勢(shì)就在于它能仿真大量的單片機(jī)芯片,比如MCS-51系列、PIC系列等等,以及單片機(jī)外圍電路,比如鍵盤(pán)、LED、LCD等等。通過(guò)Proteus軟件的使用我們能夠輕易地獲得一個(gè)功能齊全、實(shí)用方便的單片機(jī)實(shí)驗(yàn)室。 本密碼鎖采用proteus進(jìn)行電路圖設(shè)計(jì),經(jīng)過(guò)元件選型,用萬(wàn)能實(shí)驗(yàn)版進(jìn)行硬件焊接,以實(shí)現(xiàn)硬件部分。圖2-11為proteus設(shè)計(jì)的密碼鎖電路圖整體電路圖: 圖2-11 設(shè)計(jì)整體電路圖第3章 系統(tǒng)軟件設(shè)計(jì)3.1 系統(tǒng)軟件設(shè)計(jì)總體流程因設(shè)計(jì)主要是作用匯編語(yǔ)言來(lái)開(kāi)發(fā)的51單片機(jī)項(xiàng)目程序,所以首先必須有一個(gè)可以在Windows XP或Windows vista操作系統(tǒng)下執(zhí)行的匯編語(yǔ)言編譯器,本設(shè)計(jì)采用Keil編譯器進(jìn)行編程,因?yàn)樗梢灾С忠幌盗械?1單片機(jī)。圖3-1為主程序流程圖: 圖3-1 主程序的流程圖3.2 主程序模塊主程序主要是完成系統(tǒng)初始化、設(shè)置中斷向量、檢查有無(wú)鍵按下、以及調(diào)用顯示等等。主程序部分如下所示: en bit p2.2;將lcd的en管腳連接到單片機(jī)的p2.2口 rw bit p2.1;將lcd的rw管腳連接到單片機(jī)的p2.1口 rs bit p2.0;將lcd的rs管腳連接到單片機(jī)的p2.0口 display equ p0;將lcd的顯示端口連接到p0口上 speaker bit p3.7;蜂鳴器連接到p3.7口 led bit p2.7;開(kāi)鎖信號(hào)連到p2.7口 open bit p2.6;開(kāi)鎖電路的控制端連接到p2.6口 returnbit bit 20h.1; ORG 0000h;程序開(kāi)始地址 LJMP start; ORG 000bh; LJMP intermit_t0; ORG 001bh; LJMP intermit_t1; ORG 0030h; start: MOV sp,#60h; lcall sy s_initialization;調(diào)用子程序sys_initialization3.3 鍵盤(pán)掃描及程序流程圖 鍵盤(pán)采用查詢的方式,放在主程序中,當(dāng)沒(méi)有按鍵按下的時(shí)候,單片機(jī)循環(huán)主程序,一旦有按鍵按下,便轉(zhuǎn)向相應(yīng)的子程序處理,處理結(jié)束再返回。(1)矩陣式鍵盤(pán)的按鍵識(shí)別方法:確定矩陣式鍵盤(pán)上何鍵被按下介紹一種“行掃描法”。行掃描法:行掃描法又稱為逐行(或列)掃描查詢法,是一種最常用的按鍵識(shí)別方法,如上圖所示鍵盤(pán),介紹過(guò)程如下。a.判斷鍵盤(pán)中有無(wú)鍵按下 將全部行線Y0-Y3置低電平,然后檢測(cè)列線的狀態(tài)。只要有一列的電平為低,則表示鍵盤(pán)中有鍵被按下,而且閉合的鍵位于低電平線與4根行線相交叉的4個(gè)按鍵之中。若所有列線均為高電平,則鍵盤(pán)中無(wú)鍵按下。b.判斷閉合鍵所在的位置 在確認(rèn)有鍵按下后,即可進(jìn)入確定具體閉合鍵的過(guò)程。其方法是:依次將行線置為低電平,即在置某根行線為低電平時(shí),其它線為高電平。在確定某根行線位置為低電平后,再逐行檢測(cè)各列線的電平狀態(tài)。若某列為低,則該列線與置為低電平的行線交叉處的按鍵就是閉合的按鍵。(2)下面給出一個(gè)具體的例子:?jiǎn)纹瑱C(jī)的P1口用作鍵盤(pán)I/O口,鍵盤(pán)的列線接到P1口的低4位,鍵盤(pán)的行線接到P1口的高4位。列線P1.0-P1.3分別接有4個(gè)上拉電阻到正電源+5V,并把列線P1.0-P1.3設(shè)置為輸入線,行線P1.4-P.17設(shè)置為輸出線。4根行線和4根列線形成16個(gè)相交點(diǎn)。a.檢測(cè)當(dāng)前是否有鍵被按下。檢測(cè)的方法是P1.4-P1.7輸出全“0”,讀取P1.0-P1.3的狀態(tài),若P1.0-P1.3為全“1”,則無(wú)鍵閉合,否則有鍵閉合。b.去除鍵抖動(dòng)。當(dāng)檢測(cè)到有鍵按下后,延時(shí)一段時(shí)間再做下一步的檢測(cè)判斷。c.若有鍵被按下,應(yīng)識(shí)別出是哪一個(gè)鍵閉合。方法是對(duì)鍵盤(pán)的行線進(jìn)行掃描。P1.4-P1.7按下述4種組合依次輸出:P1.7 1 1 1 0P1.6 1 1 0 1P1.5 1 0 1 1P1.4 0 1 1 1在每組行輸出時(shí)讀取P1.0-P1.3,若全為“1”,則表示為“0”這一行沒(méi)有鍵閉合,否則有鍵閉合。由此得到閉合鍵的行值和列值,然后可采用計(jì)算法或查表法將閉合鍵的行值和列值轉(zhuǎn)換成所定義的鍵值其程序流程如圖3-2所示:圖3-2 鍵盤(pán)掃描程序流程圖3.4 系統(tǒng)密碼及開(kāi)鎖程序流程圖 由于設(shè)計(jì)是分模塊化進(jìn)行,所以子程序是整體軟件系統(tǒng)的組成部分,子程序不但可以使程序化整為零,使其復(fù)雜簡(jiǎn)單化,同時(shí)也方便閱讀,修改等,每個(gè)功能模塊都有它自己的子程序,在本設(shè)計(jì)中是用LCD顯示數(shù)據(jù),所以就要用到顯示子程序,設(shè)計(jì)中用的是矩陣鍵盤(pán),所以就用到鍵盤(pán)掃描子程序,例如還有顯示初始化子程序、LCD忙檢測(cè)子程序、關(guān)閉狀態(tài)顯示子程序、開(kāi)鎖狀態(tài)顯示子程序、密碼輸入及修改狀態(tài)顯示子程序、密碼輸入錯(cuò)誤后的提示子程序等。如下圖3-3為密碼修改子程序流程圖,圖3-4為開(kāi)鎖程序流程圖:圖3-3 設(shè)置密碼子 圖3-4 輸入密碼開(kāi)鎖流程圖第4章 程序調(diào)試 4.1 系統(tǒng)調(diào)試過(guò)程在硬件支持的環(huán)境下,用proteus設(shè)計(jì)好的電路,Keil編好的程序編譯成芯片可識(shí)別的C51文件,利用PC機(jī)寫(xiě)進(jìn)proteus程序圖芯片內(nèi)進(jìn)行仿真測(cè)試,并對(duì)其出現(xiàn)的錯(cuò)誤進(jìn)行修改,由圖4-1圖4-3可看出最終調(diào)試成功。 圖4-1 keil編譯程序成功圖4-2 keil生成hex文件圖4-3 proteus調(diào)用keil的hex文件進(jìn)行仿真4.2 系統(tǒng)調(diào)試結(jié)果調(diào)試結(jié)果共有三種狀態(tài),第一種狀態(tài)為上鎖狀態(tài),此時(shí)若要開(kāi)鎖則需輸入正確密碼。第二種為輸入密碼,若密碼正確,開(kāi)鎖成功且此時(shí)綠燈亮。第三種狀態(tài)為輸入密碼錯(cuò)誤,需重新輸入密碼。若輸入次數(shù)達(dá)到三次則報(bào)警啟動(dòng)。調(diào)試結(jié)果如下圖所示: 圖4-4 初始上鎖狀態(tài)圖4-5 密碼正確綠燈亮圖4-6 密碼錯(cuò)誤啟動(dòng)報(bào)警 結(jié)論 本學(xué)期的課程設(shè)計(jì)總算完成了,回顧起此次單片機(jī)課程設(shè)計(jì),至今我仍感慨頗多,的確,從選題到定稿,從理論到實(shí)踐,可以說(shuō)得是苦多于甜,但是可以學(xué)到很多很多的的東西,同時(shí)不僅可以鞏固了以前所學(xué)過(guò)的知識(shí),而且學(xué)到了很多在書(shū)本上所沒(méi)有學(xué)到過(guò)的知識(shí)。通過(guò)這次畢業(yè)設(shè)計(jì)使我懂得了理論與實(shí)際相結(jié)合是很重要的。剛開(kāi)始時(shí)我不知該從何著手,后來(lái)參考了一些文獻(xiàn),我便開(kāi)始設(shè)計(jì)自己的課程設(shè)計(jì)。我用的是單片機(jī)芯片實(shí)現(xiàn)主控,LCD顯示,矩陣鍵盤(pán)等部件。我對(duì)這些知識(shí)掌握的不太好,所以在作設(shè)計(jì)時(shí)遇到一些問(wèn)題,但通過(guò)不斷努力,終于把密碼鎖的思路和模型定了下來(lái),去整理和修改程序。我們?nèi)チ藞D書(shū)館借一些參考書(shū),上網(wǎng)找一些相關(guān)資料,并且在指導(dǎo)老師翁老師的指導(dǎo)下,我最終都逐個(gè)克服了遇到的難題。而且我用的是C語(yǔ)言來(lái)實(shí)現(xiàn)的控制,這次的應(yīng)用鞏固了我的C語(yǔ)言知識(shí)??傊矣X(jué)得只有理論知識(shí)是遠(yuǎn)遠(yuǎn)不夠的,必須把所學(xué)的理論知識(shí)與實(shí)踐相結(jié)合起來(lái),從理論中得出結(jié)論,才能真正為社會(huì)服務(wù),從而提高自己的實(shí)際動(dòng)手能力和獨(dú)立思考的能力。! 參考文獻(xiàn)1楊西明,朱騏主編.單片機(jī)編程與應(yīng)用入門(mén)M.北京:機(jī)械工業(yè)出版社.2004(06) 2先鋒工作室編著.單片機(jī)程序設(shè)計(jì)實(shí)例J.北京:清華大學(xué)出版社.2003 3謝宜仁主編. 單片機(jī)實(shí)用技術(shù)問(wèn)答J.北京:人民郵電出版社. 2003 4梁麗.電子密碼鎖的計(jì)算機(jī)仿真設(shè)計(jì)J.計(jì)算機(jī)仿真,2005 5房小翠,王金鳳編著.單片機(jī)實(shí)用系統(tǒng)設(shè)計(jì)技術(shù)M.北京:國(guó)防工業(yè)出版社.1999(06) 6王寬仁.可靠安全的智能密碼鎖J.電子技術(shù)應(yīng)用. 2001 7李捷,陳典濤,陳建華,等.一種基于單片機(jī)的電子密碼鎖的設(shè)計(jì) J.農(nóng)機(jī)化研究,2004 8董繼成. 能防止多次試探密碼的單片機(jī)密碼鎖J.國(guó)外電子元器件.2004 9趙益丹,徐曉林,周振峰編著.電子密碼鎖的系統(tǒng)原理、設(shè)計(jì)程序及流程圖J.嘉興學(xué)院學(xué)報(bào),2003 10張培仁.基于C語(yǔ)言編程 MCS- 51單片機(jī)原理與應(yīng)用M.北京: 清華大學(xué)出版社,2002(12) 11李朝清. PC機(jī)及單片機(jī)數(shù)據(jù)通信技術(shù)M. 北京:北京航空航天大學(xué)出版社 , 1999(02) 12路而紅.專用集成電路設(shè)計(jì)與電子設(shè)計(jì)自動(dòng)化M.北京:清華大學(xué)出版社,2004(08) 13劉文濤.MCS-51單片機(jī)培訓(xùn)教程(C51)版M.北京:電子工業(yè)出版社,2005(8) 14王為青 程國(guó)鋼.單片機(jī)Keil Cx51 應(yīng)用開(kāi)發(fā)技術(shù)M.北京:人民郵電出版社,2007(03) 15范風(fēng)強(qiáng) 蘭嬋麗.單片機(jī)語(yǔ)言C51應(yīng)用實(shí)戰(zhàn)集錦M.電子工業(yè)出版社,2003 16龔運(yùn)新.單片機(jī)C語(yǔ)言開(kāi)發(fā)技術(shù)J.北京:清華大學(xué)出版社,2006 17貝貝.單片機(jī)嵌入式應(yīng)用的在線開(kāi)發(fā)方法M.北京:清華大學(xué)出版社,2006(07) 18王宜懷.單片機(jī)原理及其嵌入式應(yīng)用教程M.北京::北京希望電子出版社,2002(12)附錄 程序代碼en bit p2.2;rw bit p2.1;rs bit p2.0;display equ p0;speaker bit p3.7;led bit p2.7;open bit p2.6;returnbit bit 20h.1;ORG 0000h;LJMP start;ORG 000bh;LJMP intermit_t0;ORG 001bh;LJMP intermit_t1;ORG 0030h;start:MOV sp,#60h;lcall sys_initialization;main0: lcall strat_display;main:clr speakerclr led;setb tr0;lcall key;cjne a,#A,next1;LJMP set_password;next1: cjne a,#B,next2;LJMP input_password;next2: ajmp main;sys_initialization:clr led;setb open;clr speaker;MOV 34h,#1; MOV 35h,#2;MOV 36h,#3;MOV 37h,#4;MOV 38h,#5;MOV 39h,#6; ;存放初始密碼MOV r7,#12;MOV r0,#40h;loop: MOV r0,#10h;inc r0;djnz r7,loop; ;密碼鍵值存放區(qū)清零完畢lcall delay0_1s;MOV p0,#03h;call write_instruction; ;液晶軟復(fù)位MOV p0,#01h;call write_instruction;mov p0,#3fh;call write_instruction;mov p0,#0fh;call write_instruction;mov p0,#06h;call write_instruction; ;液晶初始化完畢mov r4,#10;mov tmod,#11h;mov th0,#0b0h;setb ea;setb et0; ;定時(shí)器t0,0.5s定時(shí)中斷初始化完畢ret; ;系統(tǒng)初始化完畢intermit_t0:push acc;push psw;mov th0,#3ch;mov tl0,#0b0h;djnz r4,return;clr led;mov r4,#10;return: pop psw;pop acc;reti;intermit_t1:push acc;push psw;mov th1,#9eh;mov tl1,#58h;djnz r4,return_t1;clr led;cpl speaker;mov r4,#10;return_t1:pop psw;pop acc;reti; 鍵盤(pán)掃描key: call ks;jnz k1;jmp key;k1:call delay;call ks;jnz k2;jmp key;k2:clr tr0;clr led;mov r2,#0feh;mov r6,#00h;k3:mov a,r2;mov p1,a;mov a,p1;jb acc.4,l1;mov a,#0;LJMP lk;l1:jb acc.5,l2;mov a,#4;ljmp lk;l2: jb acc.6,l3;mov a,#8;ljmp lk;l3:jb acc.7,next_key;mov a,#12;lk:add a,r6;mov r6,a;k4:call ks;jnz k4;mov a,r6;mov dptr,#table0;movc a,a+dptr;mov 50h,a; ;查表取值存入50H,保護(hù)鍵值ret;next_key:inc r6;mov a,r2;jnb acc.7,key;rl a;mov r2,a;jmp k3;ks:mov p1,#0f0h;mov a,p1;xrl a,#0f0h;ret; 設(shè)置密碼程序set_password:call clear_display;mov dptr,#table4;call input_hint;mov r0,#40h;call password;jbc returnbit,set_password; ;先輸入原密碼完畢mov r5,#6;mov r0,#40h;mov r1,#34h;input_compere:mov a,r0;xrl a,r1;jnz input_error;inc r0;inc r1;nop;nop;djnz r5,input_compere; ;驗(yàn)證輸入密碼完畢jmp set_password0;input_error:call c
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 文化創(chuàng)意產(chǎn)品研發(fā)資金申請(qǐng)2025年政策扶持與產(chǎn)業(yè)升級(jí)策略報(bào)告
- 2025年新能源汽車(chē)廢舊電池回收處理技術(shù)及案例分析報(bào)告
- 2025年生物科技行業(yè)可持續(xù)發(fā)展目標(biāo)(SDGs)實(shí)踐與產(chǎn)業(yè)融合報(bào)告
- 煤炭清潔高效燃燒技術(shù)在煤炭洗選加工中的應(yīng)用與發(fā)展報(bào)告
- 醫(yī)療器械臨床試驗(yàn)質(zhì)量管理與規(guī)范化2025年發(fā)展趨勢(shì)研究報(bào)告
- 2025年建筑信息模型(BIM)在施工全過(guò)程精細(xì)化管理中的應(yīng)用策略報(bào)告
- 工業(yè)互聯(lián)網(wǎng)平臺(tái)量子密鑰分發(fā)技術(shù)在智慧醫(yī)療領(lǐng)域的應(yīng)用與挑戰(zhàn)報(bào)告
- 2025年電商平臺(tái)內(nèi)容營(yíng)銷(xiāo)與種草經(jīng)濟(jì)產(chǎn)業(yè)鏈研究報(bào)告
- 深度解析:2025年工業(yè)互聯(lián)網(wǎng)平臺(tái)AR交互技術(shù)在制造領(lǐng)域的應(yīng)用創(chuàng)新報(bào)告
- 綠色環(huán)保產(chǎn)業(yè)資金申請(qǐng)政策變化與應(yīng)對(duì)策略報(bào)告2025
- 語(yǔ)文課堂精彩兩分鐘PPT課件
- 三生事業(yè)六大價(jià)值
- 鋯石基本特征及地質(zhì)應(yīng)用
- 絲網(wǎng)除沫器小計(jì)算
- 制缽機(jī)的設(shè)計(jì)(機(jī)械CAD圖紙)
- 學(xué)校財(cái)務(wù)管理制度
- 三年級(jí)下冊(cè)美術(shù)課件-第15課色彩拼貼畫(huà)|湘美版(共11張PPT)
- 水稻病蟲(chóng)統(tǒng)防統(tǒng)治工作總結(jié)
- 水在不同溫度下的折射率、粘度和介電常數(shù)
- howdoyoucometoschoolPPT課件
- 四柱特高弟子班絕密資料——席學(xué)易
評(píng)論
0/150
提交評(píng)論