版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領
文檔簡介
1、 畢 業(yè) 設 計 (論 文)題 目: 電子密碼鎖的設計 學 院: 電氣與信息工程學院 專 業(yè): 電子信息工程 姓 名: 學 號: 093409142 指導老師: 陳 英 完成時間: 2013年5月28日 摘 要隨著經(jīng)濟社會發(fā)展,人們生活水平的提高,如何實現(xiàn)家庭防盜這一問題也變的尤其的突出。傳統(tǒng)的機械鎖,由于其構(gòu)造簡單,安全性能低,無法滿足人們的需要。隨著電子產(chǎn)品向智能化和微型化的不斷發(fā)展,數(shù)字密碼鎖作為防盜衛(wèi)士的作用顯得尤為重要。而單片機以其實用,功能強大,價格低廉等功能,已成為電子產(chǎn)品研制和開發(fā)中首選的控制器。本文從經(jīng)濟實用的角度出發(fā),闡述一個基于單片機的液晶顯示電子密碼鎖的設計與實現(xiàn)。系統(tǒng)
2、采用atmel公司的at89c51單片機作為系統(tǒng)核心,液晶顯示器lcd1602作為輸出設備顯示系統(tǒng)提示信息,4*4矩陣鍵盤作為輸入設備,cmos串行e2prom存儲器at24c02作為數(shù)據(jù)存儲器,配合蜂鳴器、繼電器等電路構(gòu)成整個系統(tǒng)硬件;系統(tǒng)軟件采用c語言編寫。設計的系統(tǒng)液晶顯示,密碼修改方便,具有報警、鎖定等功能,使用便捷簡單,符合住宅、辦公用鎖需求,具有一定的實用價值。關鍵詞:單片機,密碼鎖,at89c51,lcd1602,at24c02 abstractwith the development of our society and the improvement of peoples l
3、iving standard, how to ensure the family security is becoming more and more important in particular. traditional mechanical lock is unable to meet the need of us because of its simple structure and low security. nowadays, electronic products become smarter and smaller, electronic password anti-theft
4、 lock plays a more important role as the security guards. the mcu with its practical, strong function, low price and other functions , has become the preferred controller in electronic product research and development.this article is written from the economic perspective, elaborates the design and i
5、mplementation of a lcd electronic password anti-theft lock which is based on mcu. this system is composed of at89c51 which is designed as the core of this system, lcd1602 as the output device to display the message of this system, 4 * 4 matrix keyboard as the input device, a cmos serial e2prom at24c
6、02 as the data storage, and a buzzer, relay circuit.the software of the system is written in c language. the system displays in a lcd, it can change password easily, and has the function of alarming, locking, and so on. this system has some practical value, and it is simple and easy to use, meets th
7、e demand of residential and the need of office lock.key words: mcu, password-lock, at89c51, lcd1602, at24c02目 錄摘要iabstractii目錄iii1引言11.1課題的背景和意義11.2課題的研究現(xiàn)狀11.3課題研究內(nèi)容22 數(shù)字密碼鎖總體設計32.1 系統(tǒng)方案論證32.1.1 采用數(shù)字電路的設計方案32.1.2 采用以單片機為核心設計方案42.2 基于單片機的數(shù)字密碼鎖的設計原理53 系統(tǒng)硬件設計63.1 主要元器件介紹63.1.1 主控芯片at89c51的的介紹63.1.2 繼電器
8、的介紹93.1.3 存儲芯片at24c02的介紹103.1.4 lcd1602顯示器的介紹103.1.5 矩陣鍵盤模塊的介紹113.2 系統(tǒng)硬件部分123.2.1 系統(tǒng)電源部分123.2.2 鍵盤輸入部分133.2.3 密碼存儲部分143.2.4 顯示部分143.2.5 報警部分153.2.6開鎖部分164 系統(tǒng)軟件設計174.1 系統(tǒng)程序流程圖174.1.1主程序流程圖174.1.2 鍵功能程序流程圖184.1.3 修改密碼程序流程圖194.1.4 開鎖程序流程圖204.2 子程序舉例214.2.1 按鍵掃描子程序214.2.2 顯示子程序224.2.3 開鎖子程序224.3 系統(tǒng)軟件調(diào)試及
9、結(jié)果244.3.1 proteus軟件介紹244.3.2 系統(tǒng)軟件調(diào)試254.3.3 仿真結(jié)果255 硬件系統(tǒng)制作及調(diào)試295.1焊接注意事項295.2硬件調(diào)試問題及解決辦法305.3硬件調(diào)試效果31總結(jié)34致謝35參考文獻36附錄37附錄a 電路原理圖37附錄b 系統(tǒng)總體程序381引 言1.1課題的背景和意義隨著人們生活水平的提高,如何實現(xiàn)家庭防盜這一問題也變的尤為突出,傳統(tǒng)的機械鎖由于其構(gòu)造簡單,被撬的事件屢見不鮮?,F(xiàn)在安防監(jiān)控系統(tǒng)是一門被人們?nèi)找嬷匾暤男屡d專業(yè),就目前發(fā)展看,應用普及越來越廣,科技含量越來越高。其中,數(shù)字密碼鎖電路簡單,易于安裝維護,而且價格便宜,因而被廣泛應用于家庭防盜
10、,銀行,保險柜等場合。數(shù)字密碼鎖是由電子電路控制鎖體的新型鎖具,它采用觸摸按鍵方式輸入開鎖密碼,操作方便,靈活性好,保密性強,安全系數(shù)高,不會磨損,壽命長,成本低、功能全和可連網(wǎng)的等優(yōu)點。正是這些優(yōu)點使它廣泛地被用于小區(qū)樓道的安全管理中。這種成本相對低的安全措施卻提供了不小的安全作用。它的功能強,成本低和無鑰匙等特點注定了它的成功。1.2課題的研究現(xiàn)狀 本課題國內(nèi)外研究現(xiàn)狀綜述:在國內(nèi)早幾年由于電子技術尚不發(fā)達,數(shù)字密碼鎖的研究比較滯后,產(chǎn)品種類很少。而且由于人們對數(shù)字密碼鎖還沒有完全的認識,同時其價錢較普通彈子鎖貴,應用較少。近幾年隨著電子技術的發(fā)展,電子密碼鎖應運而生。由于電子鎖的密碼量極
11、大,可以與機械鎖配合使用,并且可以避免因鑰匙被仿制而留下安全隱患。電子鎖只需記住一組密碼,無需攜帶金屬鑰匙,免除了人們攜帶金屬鑰匙的煩惱,而被越來越多的人使用。由于電子鎖的功能、安全是彈子鎖無法相比的,因此,發(fā)展前景是非常大的??偟膩碚f,目前國內(nèi)對單片機的密碼鎖的研究比較深入,技術也比較成熟。因此,單片機密碼鎖的發(fā)展大有前途。 在國外,電子密碼鎖發(fā)展已經(jīng)到了非常高的境界,其技術相對先進,種類齊全,例如數(shù)碼鎖,指紋鎖,磁卡鎖,ic卡鎖,生物鎖等。由于數(shù)字、字符、圖形圖像、人體生物特征和時間等要素均可成為鑰匙的電子信息,組合使用這些信息能夠使電子密碼鎖獲得高度的保密性。現(xiàn)電子密碼鎖普遍被人們所接受
12、,已被廣泛應用于智能門禁系統(tǒng)中,通過多種更加安全,更加可靠的技術實現(xiàn)大門的管理。由于電子元件特別是單片機應用在這幾年得到空前發(fā)展,產(chǎn)品無論是從功能性上還是從穩(wěn)定性上都比較全面,在保密方面已做到人眼識別,指紋識別,人聲識別等。數(shù)字密碼鎖在國外發(fā)展比較早應用也比較廣泛,主要在家庭裝較貴重地方,銀行,保險柜等應用較多。1.3課題研究內(nèi)容設計制作一個數(shù)字密碼鎖,替代傳統(tǒng)的機械鎖。電子密碼鎖可以根據(jù)設定好的密碼,當密碼輸入正確之后,鎖就打開,如果輸入的三次的密碼不正確,就鎖定按鍵一定時間,比如3秒鐘,同時發(fā)出報警聲,直到?jīng)]有按鍵按下,3秒鐘后,再打開按鍵鎖定功能;否則在3秒鐘內(nèi)仍有按鍵按下,就重新鎖定按
13、鍵3秒時間并報警。要求液晶顯示,在輸入密碼時,顯示“*”。以單片機為主控芯片,完成密碼輸入鍵盤設計。時鐘復位電路、密碼復位電路設計。電子閥的使用和設計。硬件連接與調(diào)試。軟件設計與調(diào)試。2 數(shù)字密碼鎖總體設計2.1 系統(tǒng)方案論證隨著電子產(chǎn)品向智能化和微型化的不斷發(fā)展,數(shù)字密碼鎖的種類也不斷增多,本節(jié)主要討論了目前較為常見的數(shù)字密碼鎖,有采用數(shù)字電路為控制核心和采用以單片機為控制核心的兩種數(shù)字密碼鎖。2.1.1 采用數(shù)字電路的設計方案數(shù)字電路的設計方案的設計原理方框圖如圖2.1所示:密碼修改電路鍵盤輸入密碼校驗電路開鎖電路執(zhí)行電路限時報警報警次數(shù)檢測鎖定5分鐘市電供電電路電子切換開關蓄電池斷電檢測
14、充電電路鎖定脈沖清除報警信號開始計時電源vcc220v開門圖2.1 基于數(shù)字邏輯電路的數(shù)字密碼鎖框圖采用數(shù)字密碼鎖電路的好處就是設計簡單。用以74ls112雙jk觸發(fā)器構(gòu)成的數(shù)字邏輯電路作為密碼鎖的核心控制,共設了9個用戶輸入鍵,其中只有4個是有效的密碼按鍵,其它的都是干擾按鍵,若按下干擾鍵,鍵盤輸入電路自動清零,原先輸入的密碼無效,需要重新輸入;如果用戶輸入密碼的時間超過40秒(一般情況下,用戶不會超過40秒,若用戶覺得不便,還可以修改)電路將報警80秒,若電路連續(xù)報警三次,電路將鎖定鍵盤5分鐘,防止他人的非法操作。電路由兩大部分組成:密碼鎖電路和備用電源(ups),其中設置ups電源是為了
15、防止因為停電造成的密碼鎖電路失效,使用戶免遭麻煩。密碼鎖電路包含:鍵盤輸入、密碼修改、密碼檢測、開鎖電路、執(zhí)行電路、報警電路、鍵盤輸入次數(shù)鎖定電路。采用數(shù)字電路設計的方案好處就是設計簡單,但控制的準確性和靈活性差。故而本設計不采用此設計方案。2.1.2 采用以單片機為核心設計方案 用以at89c51為核心的單片機控制方案:利用單片機靈活的編程設計和豐富的io端口,及其控制的準確性,不但能實現(xiàn)基本的密碼鎖功能,還能添加掉電存儲、聲光提示甚至添加遙控控制功能。由于單片機種類繁多,因此在選用時要多加比較合理選擇,以期獲得最佳的性價比。一般來說在選取單片機時從下面幾個方面考慮: 性能、存儲器、運行速度
16、、i/o口、定時/計數(shù)器、串行接口、模擬電路功能、工作電壓、功耗、封裝形式、抗干擾性、保密性。 除了以上的一些的還有一些最基本的比如:中斷源的數(shù)量和優(yōu)先級、工作溫度范圍、有沒有低電壓檢測功能、單片機內(nèi)有無時鐘振蕩器、有無上電復位功能等。 在開發(fā)過程中單片機還受到:開發(fā)工具、編程器、開發(fā)成本、開發(fā)人員的適應性、技術支持和服務等因素?;谝陨弦蛩乇驹O計選用單片機at89c51作為本設計的核心元件,利用單片機靈活的編程設計和豐富的i/o端口,及其控制的準確性,實現(xiàn)基本的密碼鎖功能。在單片機的外圍電路外接輸入鍵盤用于密碼的輸入和一些功能的控制,外接at24c02芯片用于密碼的存儲,外接液晶顯示器用于顯
17、示作用。其操作過程為:當用戶需要開鎖時,先按鍵盤的數(shù)字鍵0到9輸入密碼之后按鍵盤開鎖鍵。如果密碼輸入正確則開鎖,不正確顯示密碼錯誤重新輸入密碼,當三次密碼錯誤,則發(fā)出報警。當用戶需要修改密碼時,先按下鍵盤設置鍵后輸入原來的密碼,只有當輸入的原密碼正確后才能設置新密碼。新密碼輸入無誤后按確認鍵使新密碼將得到存儲,密碼修改成功??梢钥闯龇桨付刂旗`活準確性好且保密性強還具有擴展功能,根據(jù)現(xiàn)實生活的需要此次設計采用此方案。2.2 基于單片機的數(shù)字密碼鎖的設計原理基于單片機的數(shù)字密碼鎖的設計原理圖如圖2.2所示:at89c51 單片機顯示電路報警電路開鎖電路鍵盤輸入密碼輸入復位電路晶振電路 圖2.2
18、基于單片機的電子密碼鎖的設計原理圖本設計主要由單片機、矩陣鍵盤、液晶顯示器和密碼存儲等部分組成。用戶通過矩陣鍵盤輸入密碼,后經(jīng)過單片機對用戶輸入的密碼與自己保存的密碼進行對比,從而判斷密碼是否正確,然后控制引腳的高低電平傳到開鎖電路或者報警電路控制開鎖還是報警。本系統(tǒng)共有兩部分構(gòu)成,即硬件部分與軟件部分。 硬件部分由電源輸入部分、鍵盤輸入部分、密碼存儲部分、復位部分、晶振部分、顯示部分、報警部分、開鎖部分組成。 軟件部分對應的由主程序、初始化程序、lcd顯示程序、鍵盤掃描程序、啟動程序、關閉程序、鍵功能程序、密碼設置程序、eeprom讀寫程序和延時程序等組成。3 系統(tǒng)硬件設計3.1 主要元器件
19、介紹數(shù)字密碼鎖硬件系統(tǒng)實現(xiàn)開鎖,上鎖,密碼修改,報警等功能所需硬件主要有:主控芯片at89c51、繼電器、存儲芯片at24c02、lcd1602顯示器,矩陣鍵盤模塊等。3.1.1 主控芯片at89c51的的介紹本次畢業(yè)設計選用的是at89c51,at89c51是一種帶4k字節(jié)flash存儲器(fperomflash programmable and erasable read only memory)的低電壓、高性能cmos 8位微處理器,俗稱單片機。單片機的可擦除只讀存儲器可以反復擦除1000次以上。該器件采用atmel高密度非易失存儲器制造技術制造,與工業(yè)標準的mcs-51指令集和輸出管腳
20、相兼容。由于將多功能8位cpu和閃爍存儲器組合在單個芯片中,atmel的at89c51是一種高效微控制器。at89c51單片機為很多嵌入式控制系統(tǒng)提供了一種靈活性高且價廉的方案。at89c51芯片引腳如圖3.1所示:圖3.1 at89c51單片機的引腳圖at89c51主要特性: 與mcs-51 兼容,4k字節(jié)可編程flash存儲器壽命:1000寫/擦循環(huán)以上,數(shù)據(jù)保留時間:10年全靜態(tài)工作:0hz-24mhz三級程序存儲器鎖定1288位內(nèi)部ram32可編程i/o線兩個16位定時器/計數(shù)器,5個中斷源可編程串行通道低功耗的閑置和掉電模式片內(nèi)振蕩器和時鐘電路at89c51單片機引腳: vcc:供電
21、電壓。 gnd:接地。 p0口:p0口為一個8位漏級開路雙向i/o口,每腳可吸收8ttl門電流。當p0口的管腳第一次寫1時,被定義為高阻輸入。p0能夠用于外部程序數(shù)據(jù)存儲器,它可以被定義為數(shù)據(jù)/地址的低八位。在flash編程時,p0 口作為原碼輸入口,當flash進行校驗時,p0輸出原碼,此時p0外部必須接上拉電阻。 p1口:p1口是一個內(nèi)部提供上拉電阻的8位雙向i/o口,p1口緩沖器能接收輸出4ttl門電流。p1口管腳寫入1后,被內(nèi)部上拉為高,可用作輸入,p1口被外部下拉為低電平時,將輸出電流,這是由于內(nèi)部上拉的緣故。在flash編程和校驗時,p1口作為低八位地址接收。 p2口:p2口為一個
22、內(nèi)部上拉電阻的8位雙向i/o口,p2口緩沖器可接收,輸出4個ttl門電流,當p2口被寫“1”時,其管腳被內(nèi)部上拉電阻拉高,且作為輸入。并因此作為輸入時,p2口的管腳被外部拉低,將輸出電流。這是由于內(nèi)部上拉的緣故。p2口當用于外部程序存儲器或16位地址外部數(shù)據(jù)存儲器進行存取時,p2口輸出地址的高八位。在給出地址“1”時,它利用內(nèi)部上拉優(yōu)勢,當對外部八位地址數(shù)據(jù)存儲器進行讀寫時,p2口輸出其特殊功能寄存器的內(nèi)容。p2口在flash編程和校驗時接收高八位地址信號和控制信號。 p3口:p3口管腳是8個帶內(nèi)部上拉電阻的雙向i/o口,可接收輸出4個ttl門電流。當p3口寫入“1”后,它們被內(nèi)部上拉為高電平
23、,并用作輸入。作為輸入,由于外部下拉為低電平,p3口將輸出電流(ill)這是由于上拉的緣故。 p3口也可作為at89c51的一些特殊功能口,如下表所示: 口管腳 備選功能 p3.0 rxd(串行輸入口) p3.1 txd(串行輸出口) p3.2 /int0(外部中斷0) p3.3 /int1(外部中斷1) p3.4 t0(記時器0外部輸入) p3.5 t1(記時器1外部輸入) p3.6 /wr(外部數(shù)據(jù)存儲器寫選通) p3.7 /rd(外部數(shù)據(jù)存儲器讀選通) p3口同時為閃爍編程和編程校驗接收一些控制信號。 rst:復位輸入。當振蕩器復位器件時,要保持rst腳兩個機器周期的高電平時間。 ale
24、/prog:當訪問外部存儲器時,地址鎖存允許的輸出電平用于鎖存地址的低位字節(jié)。在flash編程期間,此引腳用于輸入編程脈沖。在平時,ale端以不變的頻率周期輸出正脈沖信號,此頻率為振蕩器頻率的1/6。因此它可用作對外部輸出的脈沖或用于定時目的。然而要注意的是:每當用作外部數(shù)據(jù)存儲器時,將跳過一個ale脈沖。如想禁止ale的輸出可在sfr8eh地址上置0。此時, ale只有在執(zhí)行movx,movc指令是ale才起作用。另外,該引腳被略微拉高。如果微處理器在外部執(zhí)行狀態(tài)ale禁止,置位無效。 /psen:外部程序存儲器的選通信號。在由外部程序存儲器取指期間,每個機器周期兩次/psen有效。但在訪問
25、外部數(shù)據(jù)存儲器時,這兩次有效的/psen信號將不出現(xiàn)。 /vpp:當/ea保持低電平時,則在此期間外部程序存儲器(0000h-ffffh),不管是否有內(nèi)部程序存儲器。注意加密方式1時,/ea將內(nèi)部鎖定為reset;當/ea端保持高電平時,此間內(nèi)部程序存儲器。在flash編程期間,此引腳也用于施加12v編程電源(vpp)。 xtal1:反向振蕩放大器的輸入及內(nèi)部時鐘工作電路的輸入。 xtal2:來自反向振蕩器的輸出。 振蕩器特性: xtal1和xtal2分別為反向放大器的輸入和輸出。該反向放大器可以配置為片內(nèi)振蕩器。石晶振蕩和陶瓷振蕩均可采用。如采用外部時鐘源驅(qū)動器件,xtal2應不接。有余輸入
26、至內(nèi)部時鐘信號要通過一個二分頻觸發(fā)器,因此對外部時鐘信號的脈寬無任何要求,但必須保證脈沖的高低電平要求的寬度。3.1.2 繼電器的介紹繼電器是一種電控制器件。它具有控制系統(tǒng)(又稱輸入回路)和被控制系統(tǒng)(又稱輸出回路)之間的互動關系。通常應用于自動化的控制電路中,它實際上是用小電流去控制大電流運作的一種“自動開關”。故在電路中起著自動調(diào)節(jié)、安全保護、轉(zhuǎn)換電路等作用。 當輸入量(如電壓、電流、溫度等)達到規(guī)定值時,繼電器被所控制的輸出電路導通或斷開。輸入量可分為電氣量(如電流、電壓、頻率、功率等)及非電氣量(如溫度、壓力、速度等)兩大類。繼電器具有動作快、工作穩(wěn)定、使用壽命長、體積小等優(yōu)點。廣泛應
27、用于電力保護、自動化、運動、遙控、測量和通信等裝置中。 電磁繼電器工作原理和特性:圖3.2 繼電器原理圖電磁繼電器一般由鐵芯、線圈、銜鐵、觸點簧片等組成的。只要在線圈兩端加上一定的電壓,線圈中就會流過一定的電流,從而產(chǎn)生電磁效應,銜鐵就會在電磁力吸引的作用下克服返回彈簧的拉力吸向鐵芯,從而帶動銜鐵的動觸點與靜觸點(常開觸點)吸合。當線圈斷電后,電磁的吸力也隨之消失,銜鐵就會在彈簧的反作用力返回原來的位置,使動觸點與原來的靜觸點(常閉觸點)釋放。這樣吸合、釋放,從而達到了在電路中的導通、切斷的目的。對于繼電器的“常開、常閉”觸點,可以這樣來區(qū)分:繼電器線圈未通電時處于斷開狀態(tài)的靜觸點,稱為“常開
28、觸點”;處于接通狀態(tài)的靜觸點稱為“常閉觸點”。繼電器一般有兩股電路,為低壓控制電路和高壓工作電路。 3.1.3 存儲芯片at24c02的介紹at24c02是美國atmel公司的低功耗cmos型e2prom,內(nèi)含2568位存儲空間,具有工作電壓寬、擦寫次數(shù)多、寫入速度快、抗干擾能力強、數(shù)據(jù)不易丟失、體積小等特點。而且他是采用了i2c總線式進行數(shù)據(jù)讀寫的串行器件,占用很少的資源和i/o線,并且支持在線編程,進行數(shù)據(jù)實時的存取十分方便。at24c02中帶有的片內(nèi)地址寄存器。它通過sda(串行數(shù)據(jù)線)及scl(串行時鐘線)兩根線在連到總線上的器件之間傳送信息,并根據(jù)地址識別每個器件。at24c02運用
29、i2c規(guī)程,使用主/從機雙向通信,主機(通常為單片機)和從機(at24c02)均可工作于接收器和發(fā)送器狀態(tài)。主機產(chǎn)生串行時鐘信號(通過scl引腳)并發(fā)出控制字,控制總線的傳送方向,并產(chǎn)生開始和停止的條件。無論是主機還是從機,收到一個字節(jié)后必須發(fā)出一個確認信號ack。at24c02的控制字由8位二進制數(shù)構(gòu)成,在開始信號發(fā)出以后,主機便會發(fā)出控制字,以選擇從機并控制總線傳送的方向。 at24c02引腳如圖3.3所示:圖3.3 at24c02存儲器引腳圖3.1.4 lcd1602顯示器的介紹1602字符型lcd具有價廉、顯示內(nèi)容豐富、美觀、使用方便等特點。字符型顯示器把lcd控制器、點陣驅(qū)動器、字符
30、存儲器等做在一塊板子上,再與液晶屏一起組成一個顯示模塊。因此,它的安裝與使用都非常簡單。液晶顯示的原理是利用液晶的物理特性通過電壓對顯示區(qū)域進行控制,只要輸入所需控制電壓,就可以顯示出字符。1602型lcd采用標準的14引腳(無背光)或16引腳(帶背光)接口,其各引腳的功能如下所示:引腳1(vss):電源地引腳2(vdd):電源正極引腳3(vl):反視度調(diào)整引腳4(rs):寄存器選擇,rs=1,數(shù)據(jù)寄存器;rs=0,指令寄存器引腳5():讀寫選擇,高電平,讀;低電平,寫引腳6(e):模塊使能端,e由高電平跳變成低電平時,液晶模塊開始執(zhí)行命令引腳7-引腳14(d0-d7):雙向數(shù)據(jù)總線的第0位到
31、第7位 引腳15(bla):背光顯示器電源+5v引腳16(blk):背光顯示器接地lcd是一個慢顯示器件,所以在寫每條指令前一定要先讀lcd的忙碌狀態(tài)。如果lcd正忙于處理其他指令,就等待;如果不忙,再執(zhí)行寫指令。為此lcd專門設置了一個忙碌標志位bf,該位連接在8位雙向數(shù)據(jù)線的db7位上。如果bf為低電平,表示lcd不忙;反之表示忙碌,就需要等待。表3.1列出了1602型lcd的讀寫操作規(guī)定:表3.1:1602型lcd的讀寫操作規(guī)定讀狀態(tài):輸入rs=0,=1,e=1輸出db0db7=狀態(tài)字寫指令:輸入rs=0,=0,db0db7=指令碼,e=高脈沖輸出無讀數(shù)據(jù):輸入rs=1,=1,e=1輸出
32、db0-db7=數(shù)據(jù)寫數(shù)據(jù):輸入rs=1,=0,db0-db7=指令碼,e=高脈沖輸出無3.1.5 矩陣鍵盤模塊的介紹 在鍵盤中按鍵數(shù)量較多時,為了減少i/o口的占用,通常將按鍵排列成矩陣形式,如圖3.4所示。在矩陣式鍵盤中,每條水平線和垂直線在交叉處不直接連通,而是通過一個按鍵加以連接。這樣,一個端口(如p1口)就可以構(gòu)成4*4=16個按鍵,比之直接將端口線用于鍵盤多出了一倍,而且線數(shù)越多,區(qū)別越明顯,比如再多加一條線就可以構(gòu)成20鍵的鍵盤,而直接用端口線則只能多出一鍵(9鍵)。由此可見,在需要的鍵數(shù)比較多時,采用矩陣法來做鍵盤是合理的。矩陣式結(jié)構(gòu)的鍵盤顯然比直接法要復雜一些,識別也要復雜一
33、些,下圖中,列線通過電阻接正電源,并將行線所接的單片機的i/o口作為輸出端,而列線所接的i/o口則作為輸入。這樣,當按鍵沒有按下時,所有的輸入端都是高電平,代表無鍵按下。行線輸出是低電平,一旦有鍵按下,則輸入線就會被拉低,這樣,通過讀入輸入線的狀態(tài)就可得知是否有鍵按下了。矩陣鍵盤模塊的原理圖如圖3.4所示: 圖3.4 陣鍵盤模塊的原理圖3.2 系統(tǒng)硬件部分數(shù)字密碼鎖系統(tǒng)的硬件部分主要有:系統(tǒng)電源、鍵盤輸入、密碼存儲、復位、顯示、報警、開鎖等部分。3.2.1 系統(tǒng)電源部分系統(tǒng)電源設計如圖3.5所示。該電路以穩(wěn)壓集成模塊7805為核心,先將家用50hz、220v交流電經(jīng)過變壓器變壓,在經(jīng)過4個二極
34、管全波整流,配合濾波電路即可轉(zhuǎn)換成穩(wěn)定的可供單片機使用的5v直流電壓。加入5v電池作為備用電池,即使在停電情況下依然能保證密碼鎖的正常工作。系統(tǒng)電源原理圖如下圖3.5所示: 圖3.5 系統(tǒng)電源原理圖3.2.2 鍵盤輸入部分 鍵盤輸入部分原理圖如下圖3.6所示: 圖3.6 鍵盤輸入原理圖本設計所用到的按鍵數(shù)量較多而不適合用獨立按鍵式鍵盤。采用的是矩陣式按鍵鍵盤,它由行線和列線組成,也稱行列式鍵盤,按鍵位于行列的交叉點上,密碼鎖的密碼由鍵盤輸入完成,與獨立式按鍵鍵盤相比,要節(jié)省很多i/o口。本設計中使用的這個4*4鍵盤不但能完成密碼的輸入還能作特別功能鍵使用,比如清空顯示功能等。鍵盤的每個按鍵功能
35、在程序設計中設置。3.2.3 密碼存儲部分at24c02作為i2c器件,服從i2c總線協(xié)議,其中對起始信號,停止信號,器件應答,非應答等進行了定義。起始信號:scl(時鐘線)為高電平期間,sda(數(shù)據(jù)線)從高電平向低電平跳變,開始傳送數(shù)據(jù)。結(jié)束信號:scl(時鐘線)為高電平期間,sda(數(shù)據(jù)線)從高電平向低電平跳變,結(jié)束傳送數(shù)據(jù)。at24c02正是運用了i2c規(guī)程,使用主從機雙向通信,主機(通常為單片機)和從機(at24c02)均可工作于接收器和發(fā)送器狀態(tài)。主機產(chǎn)生串行時鐘信號(通過scl引腳)并發(fā)出控制字,控制總線的傳送方向,并產(chǎn)生開始和停止的條件。無論是主機還是從機,接收到一個字節(jié)后必須發(fā)
36、出一個確認信號ack。at24c02的控制字由8位二進制數(shù)構(gòu)成,在開始信號發(fā)出以后,主機便會發(fā)出控制字,以選擇從機并控制總線傳送的方向。密碼存儲部分如圖3.7示: 圖3.7 密碼存儲部分的接線圖3.2.4 顯示部分為了提高密碼鎖的密碼顯示效果能力。本設計的顯示部分由液晶顯示器lcd1602取代普通的數(shù)碼管來完成。開啟電源時,顯示器即處于開啟狀態(tài)。當按下關閉電源鍵后顯示器才處于關閉狀態(tài)。否則顯示器將一直處于初始狀態(tài),當需要對密碼鎖進行開鎖時,按下鍵盤上的開鎖按鍵后利用鍵盤上的數(shù)字鍵09輸入密碼,每按下一個數(shù)字鍵后在顯示器上顯示一個*,輸入多少位就顯示多少個*。當密碼輸入完成時,按下確認鍵,如果輸
37、入的密碼正確的話, lcd則顯示“open ok !”,電子密碼鎖被打開。如果密碼不正確,lcd顯示屏會顯示“error have try ”,p1.0輸出的是高電平,電子密碼鎖不能被打開。通過lcd顯示屏,可以清楚的判斷出鎖所處的狀態(tài)。顯示部分引腳接口如圖3.8示: 圖3.8 顯示部分引腳接口圖3.2.5 報警部分報警部分原理圖如下圖3.9示: 圖3.9 報警部分接線圖報警部分由陶瓷壓電發(fā)聲裝置及外圍電路組成,加電后不發(fā)聲,密碼正確時,不發(fā)聲直接開鎖,當密碼輸入錯誤超過3次時,就鎖定按鍵3秒鐘,同時單片機的p1.7引腳為低電平,三極管q2導通蜂鳴器發(fā)出噪鳴聲報警,直到?jīng)]有按鍵按下3種后,才打
38、開按鍵鎖定功能;否則在3秒鐘內(nèi)仍有按鍵按下,就重新鎖定按鍵3秒時間并報警。3.2.6開鎖部分開鎖控制電路的功能是當輸入正確的密碼后將鎖打開。系統(tǒng)使用單片機其中一引腳線發(fā)出信號,經(jīng)三極管放大后,由繼電器驅(qū)動電磁閥動作將鎖打開。用戶通過鍵盤任意設置密碼,并儲存在eeprom中作為鎖碼指令。開鎖步驟如下:首先按下鍵盤上的開鎖按鍵,然后利用鍵盤上的數(shù)字鍵09輸入密碼,最后按下確認鍵。當用戶輸入一密碼后,單片機自動識碼,如果識碼不符,則報警。只有當識碼正確,單片機才能控制電子鎖內(nèi)的微型繼電器吸合。完成本次開鎖。開鎖以后,單片機自動清除掉由用戶輸人的這個密碼。開鎖部分接線圖如圖3.10所示: 圖3.10
39、開鎖部分接線圖4 系統(tǒng)軟件設計4.1 系統(tǒng)程序流程圖本設計軟件部分主要由主程序、初始化程序、lcd顯示程序、鍵盤掃描程序、鍵功能程序、密碼設置程序、eeprom讀寫程序和延時程序等組成。4.1.1主程序流程圖本系統(tǒng)主要程序設計流程圖如4.1所示,接通電源即進入程序初始化階段,初始化的內(nèi)容包括,液晶顯示器lcd1602的初始化,密碼存儲器at24c02的初始化,以及各個寄存器的初始化。當有按鍵被按下時,即進入鍵盤掃描程序,確定所要執(zhí)行的操作。開始初始化鍵盤掃描程序按鍵是否按下返回y圖4.1 主程序流程圖4.1.2 鍵功能程序流程圖在按鍵當中,有與輸入、開鎖、清除、設置的程序相對應的按鍵,并按順序
40、與輸入的數(shù)進行對比,當輸入密碼正確時,進入密碼程序,錯誤時顯示錯誤以及所輸入的次數(shù),并清除密碼。鍵功能流程圖如圖4.2所示:鍵功能程序鍵盤掃描開鎖程序輸入密碼密碼正確上鎖修改密碼返回上鎖程序修改密碼程序清除密碼ynyynynn清除鍵是否按下n 圖4.2 鍵功能程序流程圖4.1.3 修改密碼程序流程圖當密碼鎖處于開啟狀態(tài)時,按下修改密碼鍵時會進入密碼修改程序,此時會提示輸入新密碼,按下確認鍵后會提示再次輸入密碼,當兩次輸密碼相同則會保存新密碼,若兩次密碼不一致則會返回密碼鎖開啟狀態(tài)。修改密碼程序流程圖如圖4.3所示:設置密碼程序按下修改密碼鍵開鎖密碼輸入原始密碼輸入新密碼再次輸入新密碼兩次輸入一
41、致輸入新密碼設置密碼成功nnyy圖4.3 修改密碼程序流程圖4.1.4 開鎖程序流程圖在待機狀態(tài)下輸入密碼,并按下開鎖鍵則進入開鎖程序,當密碼正確單片機控制電子鎖內(nèi)的微型繼電器吸合。當繼電器吸臺以后帶動鎖桿伸縮,這時,鎖勾在彈簧的作用下彈起,完成本次開鎖。開鎖程序流程圖如圖4.4所示:開 始按鍵掃描輸入密碼按下開鎖鍵密碼正確開鎖結(jié)束輸入錯誤3次鎖定鍵盤程序返回ynnnyy圖4.4 開鎖程序流程圖4.2 子程序舉例4.2.1 按鍵掃描子程序按鍵掃描程序是將按鍵轉(zhuǎn)化為對應的按鍵值,單片機根據(jù)按鍵值執(zhí)行相應的程序。按鍵掃描程序如下:uchar keys_scan() uchar temp,keynu
42、m; p2=0x0f; /將p2口高四位設為低電平,低四位設置為高電平 delayms(5); temp=p20x0f; /按下鍵后,p2口和0000 1111進行位異或操作 switch(temp) /將異或后的值作為case case 1:keynum=0;break; case 2:keynum=1;break; case 4:keynum=2;break; case 8:keynum=3;break; break; p2=0xf0; /翻轉(zhuǎn)p2口電位,此時高四位為高電平,第四位為低電平;delayms(5); temp=p240x0f; /按鍵后,p2口右移4位,高四位移至低四位處,高
43、四位為0000,再與0000 1111進行位異或操作。switch(temp) case 1:keynum+=0;break; /兩步操作后得到按鍵值case 2:keynum+=4;break; case 4:keynum+=8;break; case 8:keynum+=12;break; break; delayms(600); return keynum; 4.2.2 顯示子程序void display_string(uchar *p,uchar com) uchar i; write_com(com); /寫指令 for(i=0;i16;i+) write_date(pi); /寫數(shù)
44、據(jù) void init_lcd() /lcd的初始化 lcden=0; /lcden置低電平(根據(jù)表3.1,寫指令時,lcden為高脈沖, 就是讓lcden從0到1發(fā)生正跳變,所以應先置0 write_com(0x38); /顯示模式設置:162顯示,57點陣,8位數(shù)據(jù)接口 write_com(0x0c); /顯示模式設置:顯示開,無光標 write_com(0x06); /顯示模式設置:光標右移,字符不移 write_com(0x01); /清屏幕指令,將以前的顯示內(nèi)容清除 write_com(0x80); display_string(table,0x80); /將數(shù)組在1602的第一行顯
45、示 display_string(lock ok! ,0xc0); /在第二行顯示 4.2.3 開鎖子程序case 10: /按a鍵開鎖 flag=0;for(k=0;km;k+) if(bufferk=(userpasswordk+48) /密碼對比 flag+; else flag=0; if (flag=6) /如果每一位都相同,則進入開鎖程序 flag=0; i=0; m=0;ledred=1;clk=0;led=0; /點亮led display_string(open ok! ,0xc0); is_valid_user = 1; j=0; else /若輸入密碼錯誤,則提示錯誤,及
46、輸入的次數(shù)flag=0;j+;ledred=0;clk=1;led=1; /關閉ledclear_password(); display_string(error!have try ,0xc0); write_com(0xcf); write_date(0x30+j); is_valid_user=0;i=0; m=0;break; 4.3 系統(tǒng)軟件調(diào)試及結(jié)果4.3.1 proteus軟件介紹proteus軟件是英國labcenter electronics公司出版的eda工具軟件(該軟件中國總代理為廣州風標電子技術有限公司)。它不僅具有其它eda工具軟件的仿真功能,還能仿真單片機及外圍器件。
47、它是目前最好的仿真單片機及外圍器件的工具。雖然目前國內(nèi)推廣剛起步,但已受到單片機愛好者、從事單片機教學的教師、致力于單片機開發(fā)應用的科技工作者的青睞。proteus是世界上著名的eda工具(仿真軟件),從原理圖布圖、代碼調(diào)試到單片機與外圍電路協(xié)同仿真,一鍵切換到pcb設計,真正實現(xiàn)了從概念到產(chǎn)品的完整設計。是目前世界上唯一將電路仿真軟件、pcb設計軟件和虛擬模型仿真軟件三合一的設計平臺,其處理器模型支持8051、hc11、pic10/12/16/18/24/30/dspic33、avr、arm、8086和msp430等,2010年又增加了cortex和dsp系列處理器,并持續(xù)增加其他系列處理器
48、模型。在編譯方面,它也支持isr、keil和mtlab等多種編譯器。在proteus繪制好原理圖后,調(diào)入已編譯好的目標代碼文件:*.hex,可以在proteus的原理圖中看到模擬的實物運行狀態(tài)和過程。 proteus 是單片機課堂教學的先進助手。 proteus不僅可將許多單片機實例功能形象化,也可將許多單片機實例運行過程形象化。前者可在相當程度上得到實物演示實驗的效果,后者則是實物演示實驗難以達到的效果。 它的元器件、連接線路等卻和傳統(tǒng)的單片機實驗硬件高度對應。這在相當程度上替代了傳統(tǒng)的單片機實驗教學的功能,例:元器件選擇、電路連接、電路檢測、電路修改、軟件調(diào)試、運行結(jié)果等。 課程設計、畢業(yè)
49、設計是學生走向就業(yè)的重要實踐環(huán)節(jié)。由于proteus提供了實驗室無法相比的大量的元器件庫,提供了修改電路設計的靈活性、提供了實驗室在數(shù)量、質(zhì)量上難以相比的虛擬儀器、儀表,因而也提供了培養(yǎng)學生實踐精神、創(chuàng)造精神的平臺 隨著科技的發(fā)展,“計算機仿真技術”已成為許多設計部門重要的前期設計手段。它具有設計靈活,結(jié)果、過程的統(tǒng)一的特點??墒乖O計時間大為縮短、耗資大為減少,也可降低工程制造的風險。相信在單片機開發(fā)應用中proteus也能茯得愈來愈廣泛的應用。 4.3.2 系統(tǒng)軟件調(diào)試本設計系統(tǒng)軟件仿真采用的仿真軟件是英國labcenter electronics公司出版proteus軟件。它不僅具有其它e
50、da工具軟件的仿真功能,還能仿真單片機及外圍器件。它是目前最好的仿真單片機及外圍器件的工具。本設計中數(shù)字密碼鎖proteus仿真圖如圖4.5所示。 圖4.5 數(shù)字密碼鎖proteus仿真圖本設計中數(shù)字密碼鎖實現(xiàn)的功能有:開鎖、上鎖、修改密碼、保存密碼、清除輸入、輸錯提示、鎖定鍵盤、報警等功能。4.3.3 仿真結(jié)果開鎖功能:系統(tǒng)上電后,處于待機狀態(tài),此時可以輸入密碼,輸入密碼的密碼在lcd1602上以“*”形式顯示出來(如圖4.6(1)所示),輸入正確后按下開鎖鍵,密碼鎖開啟(如圖4.6(2)所示)。若輸入錯誤,會提示錯誤并記錄錯誤次數(shù)(如圖4.6(3)所示)。(1)密碼顯示 (2)開鎖顯示(3
51、)密碼錯誤顯示 (4)密碼錯誤顯示圖4.6 開鎖功能硬件仿真圖上鎖功能:密碼鎖處于開鎖狀態(tài)時,按下上鎖按鍵后,即進入待機狀態(tài)(如圖4.7所示)。 圖4.7 上鎖功能狀態(tài) 修改密碼功能:在開鎖狀態(tài)下可以進行密碼的修改操作。按下修改密碼按鍵,系統(tǒng)會提示輸入新密碼(如圖4.8(1)所示)。按下保存鍵后,會提示再次輸入密碼(如圖4.8(2)所示)。再次按下保存鍵,如果兩次輸入密碼一致,則保存新密碼(如圖4.8(3)所示),否則,提示兩次輸入不同,返回開鎖狀態(tài)(如圖4.8(4)所示)。 (1)首次輸入新密碼 (2)再次輸入新密碼 (3)新密碼保存 (4)兩次輸入密碼不同圖4.8修改密碼功能軟件仿真圖鎖定鍵盤功能:當密碼輸入次數(shù)超過3次,系統(tǒng)會鎖定鍵盤3秒鐘,同時蜂鳴器發(fā)出報警聲。若3秒內(nèi)無按鍵按下,則返回待機狀態(tài)。否則繼續(xù)鎖定鍵盤3秒鐘。鎖定鍵盤功能硬件仿真圖如圖4.9所
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 教育領域的安全管理創(chuàng)新與實踐
- 科技助力乳腺疾病早期發(fā)現(xiàn)與干預
- 2025年度個人與企業(yè)租車合作保障協(xié)議3篇
- 2025版?zhèn)€人住宅電梯公寓租賃管理合同
- 2025年度個人貸款合同解除條件合同范本3篇
- 2025年度個人住房抵押貸款延期還款合同3篇
- 2025年度個人土地租賃合同范本7篇
- 學前兒童科技美術教育的政策支持與實施策略
- 2025年新型環(huán)保櫥柜銷售服務合同范本4篇
- 珠海廣東珠海市公安局交通警察支隊金灣大隊招聘輔警2人筆試歷年參考題庫附帶答案詳解
- 2025年八省聯(lián)考數(shù)學試題(原卷版)
- 2024年日語培訓機構(gòu)市場供需現(xiàn)狀及投資戰(zhàn)略研究報告
- 《榜樣9》觀后感心得體會二
- 歷史-廣東省大灣區(qū)2025屆高三第一次模擬試卷和答案
- 2023新譯林版新教材高中英語必修一重點詞組歸納總結(jié)
- 蘇教版四年級數(shù)學下冊第3單元第2課時“常見的數(shù)量關系”教案
- 弘揚中華傳統(tǒng)文化課件
- 基于協(xié)同過濾算法的電影推薦系統(tǒng)設計
- 消防應急預案流程圖
- 《數(shù)據(jù)科學與大數(shù)據(jù)技術導論》完整版課件(全)
- 人教統(tǒng)編版高中語文必修下冊第六單元(單元總結(jié))
評論
0/150
提交評論