基于單片機(jī)的電子密碼鎖設(shè)計_第1頁
基于單片機(jī)的電子密碼鎖設(shè)計_第2頁
基于單片機(jī)的電子密碼鎖設(shè)計_第3頁
基于單片機(jī)的電子密碼鎖設(shè)計_第4頁
基于單片機(jī)的電子密碼鎖設(shè)計_第5頁
已閱讀5頁,還剩38頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、密碼鎖的設(shè)計 課 程 設(shè) 計 課程名稱: 專業(yè)課程設(shè)計 設(shè)計課題: 密碼鎖的設(shè)計 指導(dǎo)教師: 王忠 專業(yè): 電子信息工程 班級: 1282051 姓名: 江娟娟 學(xué)號: 128205101 二O一 五 年 七 月 二 日 電子信息工程 專業(yè)課程設(shè)計題單 班級 1282051 學(xué)生 江娟娟 課程名稱 專業(yè)課程設(shè)計 課 題 密碼鎖的設(shè)計 設(shè)計要求 設(shè)計一個數(shù)字式密碼鎖 密碼由46位數(shù)字組成 密碼相符開鎖,三次不符報警 時間可以任意修改 密碼可以更新 課 題 發(fā) 給 日 期 2015.06.08 課程設(shè)計完成日期 2015.07.03 指 導(dǎo) 教 師 王忠 評語: 評分: 摘要在日常的生活和工作中,

2、 住宅與部門的安全防范、單位的文件檔案、財務(wù)報表以及一些個人資料的 保存多以加鎖的辦法來解決。若使用傳統(tǒng)的機(jī)械式鑰匙開鎖,人們常需攜帶多把鑰匙, 使用極不方便, 且鑰匙丟失后 安全性即大打折扣。隨著科學(xué)技術(shù)的不斷發(fā)展,人們對日常生活中的安全保險器件的要求越來越高。為滿足人們對鎖的使用要求,增加其 安全性,用密碼代替鑰匙的密碼鎖應(yīng)運(yùn)而生。密碼鎖具有安全性高、成本低、功耗低、易操作、記住密碼即可開鎖等優(yōu)點(diǎn)。 本系統(tǒng)以STC89C51 單片機(jī)最小系統(tǒng)為核心,結(jié)合矩陣鍵盤、數(shù)碼管顯示和報警系統(tǒng)組成。系統(tǒng)能完成鎖閉狀 態(tài)顯示、密碼輸入錯誤超次(大于三次)異常,系統(tǒng)鎖定聲光告警、初始化設(shè)置用戶密碼等基本的

3、密碼鎖的功能。除 上述基本的密碼鎖功能外,依據(jù)實(shí)際的情況還可以重置密碼。 【關(guān)鍵字】:電子密碼鎖 STC89C51 LCD12864 4×4 矩陣鍵盤 目錄第一章 緒論.1 1.1 課題背景和意義.1 1.2 電子密碼鎖發(fā)展趨勢.2第二章 總體設(shè)計方案的確定.3 2.1 電子密碼鎖設(shè)計的具體要求.3 2.2 總體設(shè)計方案選定.3第三章 系統(tǒng)硬件設(shè)計.5 3.1 單片機(jī)AT89C51簡介.5 3.1.1 主要特性.5 3.1.2 引腳功能說明.6 3.3 液晶顯示FYD12864的介紹.8 3.3.1 基本特性.8 3.3.2方框圖.8 3.3.3模塊接口說明.9 3.4 硬件電路的設(shè)

4、計.11 3.4.1 最小系統(tǒng)的設(shè)計.10 3.4.2 芯片擦除.13 3.4.3 開鎖機(jī)構(gòu).14 3.4.4 鍵盤設(shè)計.14 3.4.5顯示電路設(shè)計.16 3.5 電路設(shè)計總圖.16第四章 程序設(shè)計.18 4.1 主程序模塊.19 4.2 鍵盤掃描及識別子程序.19 4.3 系統(tǒng)模塊密碼設(shè)置子程序.20 4.4 系統(tǒng)調(diào)試.21設(shè)計總結(jié).24參考文獻(xiàn).26附錄 電子密碼鎖整體設(shè)計圖.27附錄II 電子密碼鎖整體PCB設(shè)計圖.28附錄III 電子密碼鎖程序源代碼.29 第一章 緒論1.1 課題背景和意義隨著電子技術(shù)和計算機(jī)技術(shù)的飛速發(fā)展,單片機(jī)性能不斷完善,性能價格比顯著提高,技術(shù)日趨完善。由于

5、單片機(jī)具有體積小、重量輕、價格便宜、功耗低、控制功能強(qiáng)及運(yùn)算速度快等特點(diǎn),因而在國民經(jīng)濟(jì)建設(shè)、軍事及家用電器等各個領(lǐng)域均得到了廣泛的應(yīng)用。本設(shè)計利用單片機(jī)及附加電子元器件實(shí)現(xiàn)數(shù)據(jù)采集和控制算法,來完成某一實(shí)際功能,檢驗(yàn)并提高同學(xué)對整體電路設(shè)計和把握能力,了解單片機(jī)系統(tǒng)設(shè)計流程,以及電路板的實(shí)際制作和調(diào)試能力。同時也加強(qiáng)對數(shù)字電路、單片機(jī)和微機(jī)原理等課程知識的實(shí)際應(yīng)用能力,也為同類產(chǎn)品的進(jìn)一步發(fā)展奠定理論和實(shí)踐基礎(chǔ)。隨著人們生活水平的提高和安全意識的加強(qiáng),對安全的要求也就越來越高。鎖自古以來就是把守護(hù)門的鐵將軍,人們對它要求甚高,既要安全可靠的防盜,又要使用方便,這也是制鎖者長期以來研制的主題。

6、隨著電子技術(shù)的發(fā)展,各類電子產(chǎn)品應(yīng)運(yùn)而生,電子密碼鎖就是其中之一。據(jù)有關(guān)資料介紹,電子密碼鎖的研究從20世紀(jì)30年代就開始了,在一些特殊場所早就有所應(yīng)用。這種鎖是通過鍵盤輸入一組密碼完成開鎖過程。研究這種鎖的初衷,就是為提高鎖的安全性。由于電子鎖的密鑰量(密碼量)極大,可以與機(jī)械鎖配合使用,并且可以避免因鑰匙被仿制而留下安全隱患。電子鎖只需記住一組密碼,無需攜帶金屬鑰匙,免除了人們攜帶金屬鑰匙的煩惱,而被越來越多的人所欣賞。電子鎖的種類繁多,例如數(shù)碼鎖,指紋鎖,磁卡鎖,IC卡鎖,生物鎖等。但較實(shí)用的還是按鍵式電子密碼鎖。20世紀(jì)80年代后,隨著電子鎖專用集成電路的出現(xiàn),電子鎖的體積縮小,可靠性

7、提高,成本較高,是適合使用在安全性要求較高的場合,且需要有電源提供能量,使用還局限在一定范圍,難以普及,所以對它的研究一直沒有明顯進(jìn)展。目前,在西方發(fā)達(dá)國家,電子密碼鎖技術(shù)相對先進(jìn),種類齊全,電子密碼鎖已被廣泛應(yīng)用于智能門禁系統(tǒng)中,通過多種更加安全,37更加可靠的技術(shù)實(shí)現(xiàn)大門的管理。在我國電子鎖整體水平尚處于國際上70年代左右,電子密碼鎖的成本還很高,市場上仍以按鍵電子鎖為主,按鍵式和卡片鑰匙式電子鎖已引進(jìn)國際先進(jìn)水平,現(xiàn)國內(nèi)有幾個廠生產(chǎn)供應(yīng)市場。但國內(nèi)自行研制開發(fā)的電子鎖,其市場結(jié)構(gòu)尚未形成,應(yīng)用還不廣泛。國內(nèi)的不少企業(yè)也引進(jìn)了世界上先進(jìn)的技術(shù),發(fā)展前景非??捎^。希望通過不斷的努力,使電子密

8、碼鎖在我國也能得到廣泛應(yīng)用1.2 電子密碼鎖發(fā)展趨勢   電子密碼鎖應(yīng)用于金融業(yè),其根本的作用是“授權(quán)”,即被“授權(quán)”的人才可以存取錢、物。廣義上講,金融業(yè)的“授權(quán)”主要包括以下三種層次的內(nèi)容:1、授予保管權(quán),如使用保管箱、保險箱和保險柜;2、授予出入權(quán),如出入金庫、運(yùn)鈔車和保管室;3、授予流通權(quán),如自動存取款。目前,金融行業(yè)電子密碼鎖的應(yīng)用主要集中在前兩個層面上。下面將介紹幾種在金融行業(yè)中使用較多的電子密碼鎖以及它們的技術(shù)發(fā)展方向。當(dāng)然,以上所說的授權(quán)技術(shù)再高超,都必須由精良的“鎖具”擔(dān)當(dāng)承載結(jié)構(gòu)部件,實(shí)現(xiàn)開啟、閉鎖的功能,而且承擔(dān)實(shí)體防護(hù)作用,抵抗住或盡量延遲破壞行為,

9、讓電子密碼鎖“軟、硬不吃”。一般情況下,鎖具防盜的關(guān)鍵是鎖身外殼、閉鎖的部件的強(qiáng)度、鎖止型式、配合間隙和布局。提高電子密碼鎖之防護(hù)能力的必然途徑是報警,在金融業(yè)的許多場所有人值守、有電視監(jiān)控,具有報警功能,可以綜合物理防范和人力防范兩種作用。報警的前提是具備探測功能,根據(jù)電子密碼鎖的使用場所和防護(hù)要求,可選擇多種多樣的探測手段。在中國的城市金融業(yè)中,實(shí)現(xiàn)聯(lián)網(wǎng)報警已經(jīng)成為對各金融網(wǎng)點(diǎn)的基本要求。根據(jù)國內(nèi)外的實(shí)踐經(jīng)驗(yàn),金融業(yè)實(shí)行安全防范風(fēng)險等級很有必要,即依據(jù)使用的防盜報警器材的性能、安裝布局和人員值守狀況等,可以評估被防護(hù)物或區(qū)域的防護(hù)能力,得出風(fēng)險等級,其中,電子密碼鎖的性能至關(guān)重要。由于數(shù)字

10、、字符、圖形圖像、人體生物特征和時間等要素均可成為鑰匙的電子信息,組合使用這些信息能夠使電子密碼鎖獲得高度的保密性,如防范森嚴(yán)的金庫,需要使用復(fù)合信息密碼的電子密碼鎖,這樣對盜賊而言是比較困難的。組合使用信息也能夠使電子密碼鎖獲得無窮擴(kuò)展的可能,使產(chǎn)品多樣化,對用戶而言是非常實(shí)用的一款產(chǎn)品。 第二章 總體設(shè)計方案的確定2.1 電子密碼鎖設(shè)計的具體要求(1)本設(shè)計為了防止密碼被竊取要求在輸入密碼時在LCD屏幕上顯示*號。(2)設(shè)計開鎖密碼位六位密碼的電子密碼鎖。(3)能夠在LCD顯示密碼正確時顯示密碼正確,密碼錯誤時顯示密碼錯誤,輸入密碼時顯示進(jìn)入界面。(4)實(shí)現(xiàn)輸入密碼錯誤超過限定的三次電子密

11、碼鎖定。(5)4×4的矩陣鍵盤其中包括0-9的數(shù)字鍵和A-F的功能鍵(6)本產(chǎn)品具備報警功能,當(dāng)輸入密碼錯誤時蜂鳴器響并且LED燈亮。(7)密碼可以由用戶自己修改設(shè)定(只支持6位密碼),修改密碼之前必須再次輸入密碼,在輸入新密碼時候需要二次確認(rèn),以防止誤操作 。2.2 總體設(shè)計方案選定方案一:采用數(shù)字電路控制。用以74LS112雙JK觸發(fā)器構(gòu)成的數(shù)字邏輯電路作為密碼鎖的核心控制,共設(shè)了9個用戶輸入鍵,其中只有4個是有效的密碼按鍵,其它的都是干擾按鍵,若按下干擾鍵,鍵盤輸入電路自動清零,原先輸入的密碼無效,需要重新輸入;如果用戶輸入密碼的時間超過10秒(一般情況下,用戶不會超過10秒,

12、若用戶覺得不便,還可以修改)電路將報警20秒,若電路連續(xù)報警三次,電路將鎖定鍵盤2分鐘,防止他人的非法操作。采用數(shù)字電路設(shè)計的方案好處就是設(shè)計簡單但控制的準(zhǔn)確性和靈活性差。故不采用。方案二:采用一種是用以AT89S51為核心的單片機(jī)控制方案。選用單片機(jī)AT89S51 作為本設(shè)計的核心元件,利用單片機(jī)靈活的編程設(shè)計和豐富的IO端口,及其控制的準(zhǔn)確性,實(shí)現(xiàn)基本的密碼鎖功能。在單片機(jī)的外圍電路外接輸入鍵盤用于密碼的輸入和一些功能的控制,外接LCD1602顯示器用于顯示作用。其原理如下圖2.1所示:返回單片機(jī)微控制器輸入密碼電磁鎖密碼正確?N開鎖驅(qū)動電路Y圖2.1 單片機(jī)控制密碼鎖原理圖可以看出方案二

13、控制靈活準(zhǔn)確性好且保密性強(qiáng)還具有擴(kuò)展功能,根據(jù)現(xiàn)實(shí)生活的需要此次設(shè)計采用此方案第三章 系統(tǒng)硬件設(shè)計3.1 單片機(jī)AT89C51簡介 AT89C51是美國ATMEL公司生產(chǎn)的低功耗,高性能CMOS8位單片機(jī),片內(nèi)含4k bytes的可系統(tǒng)編程的Flash只讀程序存儲器,器件采用ATMEL公司的高密度、非易失性存儲技術(shù)生產(chǎn),兼容標(biāo)準(zhǔn)8051指令系統(tǒng)及引腳。它集Flash程序存儲器,既可在線編程(ISP)也可用傳統(tǒng)方法進(jìn)行編程及通用8位微處理器于單片芯片中,ATMEL公司的功能強(qiáng)大,低價位AT89S51單片機(jī)可為您提供許多高性價比的應(yīng)用場合,可靈活應(yīng)用于各種控制領(lǐng)域。 3.1.1 主要特性 與MCS

14、-51 兼容 4K字節(jié)可編程閃爍存儲器 壽命:1000寫/擦循環(huán) 數(shù)據(jù)保留時間:10年 全靜態(tài)工作:0Hz-24Hz 三級程序存儲器鎖定 128*8位內(nèi)部RAM 32可編程I/O線 兩個16位定時器/計數(shù)器 5個中斷源 可編程串行通道 低功耗的閑置和掉電模式 片內(nèi)振蕩器和時鐘電路 3.1.2 引腳功能說明 圖3.1 單片機(jī)引腳圖Vcc:電源電壓 GND:接地 P0口:P0口是一組8位漏極開路型雙向I0口,也即地址數(shù)據(jù)總線復(fù)用口。作為輸出口用時,每位能驅(qū)動8個TTL邏輯門電路,對端口寫“1”可作為高阻抗輸入端用。在訪問外部數(shù)據(jù)存儲器或程序存儲器時,這組口線分時轉(zhuǎn)換地址(低8位)和數(shù)據(jù)總線復(fù)用,在

15、訪問期間激活內(nèi)部上拉電阻。在F1ash編程時,P0口接收指令字節(jié),而在程序校驗(yàn)時,輸出指令字節(jié),校驗(yàn)時,要求外接上拉電阻。 P1口:Pl 是一個帶內(nèi)部上拉電阻的8位雙向IO口,Pl的輸出緩沖級可驅(qū)動(吸收或輸出電流)4個TTL邏輯門電路。對端口寫“l(fā)”,通過內(nèi)部的上拉電阻把端口拉到高電平,此時可作輸入口。作輸入口使用時,因?yàn)閮?nèi)部存在上拉電阻,某個引腳被外部信號拉低時會輸出一個電流(IIL),F(xiàn)lash編程和程序校驗(yàn)期間,Pl接收低8位地址。 P2 口:P2 是一個帶有內(nèi)部上拉電阻的8 位雙向IO 口,P2 的輸出緩沖級可驅(qū)動(吸收或輸出電流)4 個TTL邏輯門電路。對端口寫“1”,通過內(nèi)部的上

16、拉電阻把端口拉到高電平,此時可作輸入口,作輸入口使用時,因?yàn)閮?nèi)部存在上拉電阻,某個引腳被外部信號拉低時會輸出一個電流(IIL),在訪問外部程序存儲器或16位地址的外部數(shù)據(jù)存儲器(例如執(zhí)行MOVXDPTR指令)時,P2口送出高8位地址數(shù)據(jù)。在訪問8 位地址的外部數(shù)據(jù)存儲器(如執(zhí)行MOVXRi 指令)時,P2 口線上的內(nèi)容(也即特殊功能寄存器(SFR)區(qū)中P2寄存器的內(nèi)容),在整個訪問期間不改變。Flash編程或校驗(yàn)時,P2亦接收高位地址和其它控制信號。 P3 口:P3 口是一組帶有內(nèi)部上拉電阻的8 位雙向I0 口。P3 口輸出緩沖級可驅(qū)動(吸收或輸出電流)4 個TTL邏輯門電路。P3口除了作為一

17、般的I0口線外,更重要的用途是它的第二功能,如下表所示:P3口還接收一些用于Flash閃速存儲器編程和程序校驗(yàn)的控制信號 RST:復(fù)位輸入。當(dāng)振蕩器工作時,RST引腳出現(xiàn)兩個機(jī)器周期以上高電平將使單片機(jī)復(fù)位。WDT 溢出將使該引腳輸出高電平,設(shè)置SFR AUXR的DISRT0 位(地址8EH)可打開或關(guān)閉該功能。DISRT0位缺省為RESET輸出高電平打開狀態(tài)。 ALEPROG:當(dāng)訪問外部程序存儲器或數(shù)據(jù)存儲器時,ALE(地址鎖存允許)輸出脈沖用于鎖存地址的低8位字節(jié)。即使不訪問外部存儲器,ALE 仍以時鐘振蕩頻率的16 輸出固定的正脈沖信號,因此它可對外輸出時鐘或用于定時目的。 PSEN:程

18、序儲存允許(PSEN)輸出是外部程序存儲器的讀選通信號,當(dāng)AT89S51 由外部程序存儲器取指令(或數(shù)據(jù))時,每個機(jī)器周期兩次PSEN有效,即輸出兩個脈沖。當(dāng)訪問外部數(shù)據(jù)存儲器,沒有兩次有效的PSEN信號。 EAVPP:外部訪問允許。欲使CPU僅訪問外部程序存儲器(地址為0000HFFFFH),EA端必須保持低電平(接地)。需注意的是:如果加密位LB1被編程,復(fù)位時內(nèi)部會鎖存EA端狀態(tài)。如EA端為高電平(接Vcc端),CPU則執(zhí)行內(nèi)部程序存儲器中的指令。F1ash存儲器編程時,該引腳加上+12V的編程電壓Vpp。 XTALl:振蕩器反相放大器及內(nèi)部時鐘發(fā)生器的輸入端。 XTAL2:振蕩器反相放

19、大器的輸出端。 3.3 液晶顯示FYD12864的介紹3.3.1 基本特性低電源電壓(VDD:+3.0-+5.5V);顯示分辨率:128×64點(diǎn);內(nèi)置漢字字庫,提供8192個16×16點(diǎn)陣漢字(簡繁體可選);內(nèi)置 128個16×8點(diǎn)陣字符;2MHZ時鐘頻率;顯示方式:STN、半透、正顯;驅(qū)動方式:1/32DUTY,1/5BIAS;驅(qū)動方式:1/32DUTY,1/5BIAS;視角方向:6點(diǎn);通訊方式:串行、并口可選;工作溫度: 0 - +55 ,存儲溫度: -20 - +60;3.2方框圖圖 3.2 方框圖3.3.3模塊接口說明表3.1 串口接口說明圖*注釋1:如在

20、實(shí)際應(yīng)用中僅使用串口通訊模式,可將PSB接固定低電平,也可以將模塊上的J8和“GND”用焊錫短接。*注釋2:模塊內(nèi)部接有上電復(fù)位電路,因此在不需要經(jīng)常復(fù)位的場合可將該端懸空。 *注釋3:如背光和模塊共用一個電源,可以將模塊上的JA、JK用焊錫短接。 表3.2并行接口說明圖管腳號管腳名稱電平管腳功能描述1VSS0V電源地2VCC3.0+5V電源正3V0-對比度(亮度)調(diào)整4RS(CS)H/LRS=“H”,表示DB7DB0為顯示數(shù)據(jù)RS=“L”,表示DB7DB0為顯示指令數(shù)據(jù)5R/W(SID)H/LR/W=“H”,E=“H”,數(shù)據(jù)被讀到DB7DB0R/W=“L”,E=“HL”, DB7D

21、B0的數(shù)據(jù)被寫到IR或DR6E(SCLK)H/L使能信號7DB0H/L三態(tài)數(shù)據(jù)線8DB1H/L三態(tài)數(shù)據(jù)線9DB2H/L三態(tài)數(shù)據(jù)線10DB3H/L三態(tài)數(shù)據(jù)線11DB4H/L三態(tài)數(shù)據(jù)線12DB5H/L三態(tài)數(shù)據(jù)線13DB6H/L三態(tài)數(shù)據(jù)線14DB7H/L三態(tài)數(shù)據(jù)線15PSBH/LH:8位或4位并口方式,L:串口方式(見注釋1)16NC-空腳17/RESETH/L復(fù)位端,低電平有效(見注釋2)18VOUT-LCD驅(qū)動電壓輸出端19AVDD背光源正端(+5V)(見注釋3)20KVSS背光源負(fù)端(見注釋3)*注釋1:如在實(shí)際應(yīng)用中僅使用并口通訊模式,可將PSB接固定高電平,也可以將模塊上的J8和“VCC”

22、用焊錫短接。*注釋2:模塊內(nèi)部接有上電復(fù)位電路,因此在不需要經(jīng)常復(fù)位的場合可將該端懸空。 *注釋3:如背光和模塊共用一個電源,可以將模塊上的JA、JK用焊錫短接。3.4 硬件電路的設(shè)計本設(shè)計單片機(jī)硬件資源的分配:P0.0P0.7用于LCD液晶顯示作用。P3.0、P3.7用于蜂鳴器和報警燈的控制。P2.0用于開鎖電路的控制。P1.0P1.7用于鍵盤電路的控制。P2.0P2.4用于LCD顯示模塊的控制端口的控制。圖3.3 硬件電路圖3.4.1 最小系統(tǒng)的設(shè)計當(dāng)MCS-5l系列單片機(jī)的復(fù)位引腳RST(全稱RESET)出現(xiàn)2個機(jī)器周期以上的高電平時,單片機(jī)就執(zhí)行復(fù)位操作。如果RST持續(xù)為高電平,單片機(jī)

23、就處于循環(huán)復(fù)位狀態(tài)。根據(jù)應(yīng)用的要求,復(fù)位操作通常有兩種基本形式:上電復(fù)位和開關(guān)復(fù)位。圖3.3即為手動(開關(guān))復(fù)位電路。 圖3.4 手動復(fù)位電路復(fù)位后的狀態(tài)a、復(fù)位后PC值為0000H,表明復(fù)位后的程序從0000H開始執(zhí)行。b、SP值為07H,表明堆棧底部在07H,一般需要重新設(shè)置SP值。c、P0P3口值為FFH。P0P3口用作輸入口時,必須先寫入“1”。單片機(jī)在復(fù)位后,已使P0P3口每一端線為“1”,為這些端線用作輸入口做好了準(zhǔn)備。WDT 溢出將使該引腳輸出高電平,所以本設(shè)計采用圖3.4的手動復(fù)位電路:圖3.5 本設(shè)計手動復(fù)位電路AT89S51 中有一個用于構(gòu)成內(nèi)部振蕩器的高增益反相放大器,引

24、腳XTAL1 和XTAL2 分別是該放大器的輸入端和輸出端。這個放大器與作為反饋元件的片外石英晶體或陶瓷諧振器一起構(gòu)成自激振蕩器,振蕩電路參見圖3.5。外接石英晶體(或陶瓷諧振器)及電容Cl、C2 接在放大器的反饋回路中構(gòu)成并聯(lián)振蕩電路。對外接電容Cl、C2 雖然沒有十分嚴(yán)格的要求,但電容容量的大小會輕微影響振蕩頻率的高低、振蕩器工作的穩(wěn)定性、起振的難易程序及溫度穩(wěn)定性。如果使用石英晶體,我們推薦電容使用30pF±10pF,而如使用陶瓷諧振器建議選擇40pF±10F。用戶也可以采用外部時鐘。采用外部時鐘的電路如圖1所示。這種情況下,外部時鐘脈沖接到XTAL1端,即內(nèi)部時鐘發(fā)

25、生器的輸入端,XTAL2則懸空。由于外部時鐘信號是通過一個2分頻觸發(fā)器后作為內(nèi)部時鐘信號的,所以對外部時鐘信號的占空比沒有特殊要求,但最小高電平持續(xù)時間和最大的低電平持續(xù)時間應(yīng)符合產(chǎn)品技術(shù)條件的要求。 圖3.6 單片機(jī)自激震蕩電路由于單片機(jī)有內(nèi)部振蕩器,所以本設(shè)計采用圖3.6的晶振電路:圖3.7 晶振電路3.4.2 芯片擦除 整個PEROM陣列和三個鎖定位的電擦除可通過正確的控制信號組合,并保持ALE管腳處于低電平10ms 來完成。在芯片擦操作中,代碼陣列全被寫“1”且在任何非空存儲字節(jié)被重復(fù)編程以前,該操作必須被執(zhí)行。 此外,AT89S51設(shè)有穩(wěn)態(tài)邏輯,可以在低到零頻率的條件下靜態(tài)邏輯,支持

26、兩種軟件可選的掉電模式。在閑置模式下,CPU停止工作。但RAM,定時器,計數(shù)器,串口和中斷系統(tǒng)仍在工作。在掉電模式下,保存RAM的內(nèi)容并且凍結(jié)振蕩器,禁止所用其他芯片功能,直到下一個硬件復(fù)位為止。 3.4.3 開鎖機(jī)構(gòu) 用戶通過LCD提示信息,用鍵盤輸入正確密碼,從而達(dá)到開鎖的目的。當(dāng)用戶輸入的密碼正確并且是在按下確定鍵的話,單片機(jī)便輸出開門信號,送到開鎖驅(qū)動 電路,然后驅(qū)動電磁鎖,達(dá)到開門的目的。電路驅(qū)動和開鎖兩級組成。由D5、R1、T10組成驅(qū)動電路,其中T10可以選擇普通的小功率三極管如9014、9018都可以滿足要求。D5作為開鎖的提示;由D6、C24、T11組成。其中D6、C24是為

27、了消除電磁鎖可能產(chǎn)生的反向高電壓以及可能產(chǎn)生的電磁干擾。T11可選用中功率的三極管如8050,電磁鎖的選用要視情況而定,但是吸合力要足夠且由一定的余量。 在本次設(shè)計中,基于節(jié)省材料的原則,暫時用發(fā)光二極管代替電磁鎖,發(fā)光管亮,表示開鎖;滅,表示沒有開鎖。 圖3.8 密碼鎖開鎖機(jī)構(gòu)電路圖3.4.4 鍵盤設(shè)計 本設(shè)計就采用行列式鍵盤,同時也能減少鍵盤與單片機(jī)接口時所占用的I/O線的數(shù)目,在按鍵比較多的時候,通常采用這樣方法。 每一條水平(行線)與垂直線(列線)的交叉處不相通,而是通過一個按鍵來連通,利用這種行列式矩陣結(jié)構(gòu)只需要N條行線和M條列線,即可組成具有N×M個按鍵的鍵盤。 在這種行

28、列式矩陣鍵盤非鍵盤編碼的單片機(jī)系統(tǒng)中,鍵盤處理程序首先執(zhí)行等待按鍵并確認(rèn)有無按鍵按下的程序段。 4×4矩陣鍵盤的工作原理 在鍵盤中按鍵數(shù)量較多時,為了減少I/O口的占用,通常將按鍵排列成矩陣形式,如圖5所示。在矩陣式鍵盤中,每條水平線和垂直線在交叉處不直接連通,而是通過一個按鍵加以連接。這樣,一個端口(如P1口)就可以構(gòu)成4*4=16個按鍵,比之直接將端口線用于鍵盤多出了一倍,而且線數(shù)越多,區(qū)別越明顯,比如再多加一條線就可以構(gòu)成20鍵的鍵盤,而直接用端口線則只能多出一鍵(9鍵)。由此可見,在需要的鍵數(shù)比較多時,采用矩陣法來做鍵盤是合理的。掃描原理 把每個鍵都分成水平和垂直的兩端接入,

29、比如說掃描碼是從垂直的入,那就代表那一行所接收到的掃描碼是同一個bit,而讀入掃描碼的則是水平,掃描的動作是先輸入掃描碼,再去讀取輸入的值,經(jīng)過比對之后就可知道是哪個鍵被按下。 比如說掃描碼送入01111111,前面的0111是代表此時掃描第一行P1.0列,而后面的1111是讓讀取的4行接腳先設(shè)為VDD,若此時第一行的第三列按鍵被按下,那讀取的結(jié)果就會變成01111101(注意1111變成1101),其中LSB的第三個bit會由1變成0,這是因?yàn)檫@個按鍵被按下之后,會被垂直的掃描碼電位short,而把讀取的LSB的bit電位拉到0,此即為掃描原理。 由於這種按鍵是機(jī)械式的開關(guān),當(dāng)按鍵被按下時,

30、鍵會震動一小段時間才穩(wěn)定,為了避免讓8051誤判為多次輸入同一按鍵, 我們必須在偵測到有按鍵被按下,就Delay一小段時間,使鍵盤以達(dá)穩(wěn)定狀態(tài),再去判讀所按下的鍵,就可以讓鍵盤的輸入穩(wěn)定。圖3.8為鍵盤整體??驁D: 圖3.9 鍵盤整體??驁D3.4.5顯示電路設(shè)計 顯示設(shè)計采用字符型液晶屏設(shè)計,由單片機(jī)的p0口控制顯示,由p2.0p2.4控制lcd的控制端口。本設(shè)計采用以下液晶顯示設(shè)計:圖3.10 LCD液晶顯示電路抓圖3.5 電路設(shè)計總圖Proteus軟件是Labcenter Electronics公司的一款電路設(shè)計與仿真軟件,它包括ISIS、ARES等軟件模塊,ARES模塊主要用來完成PCB

31、的設(shè)計,而ISIS模塊用來完成電路原理圖的布圖與仿真。Proteus的軟件仿真基于VSM技術(shù),它與其他軟件最大的不同也是最大的優(yōu)勢就在于它能仿真大量的單片機(jī)芯片,比如MCS-51系列、PIC系列等等,以及單片機(jī)外圍電路,比如鍵盤、LED、LCD等等。通過Proteus軟件的使用我們能夠輕易地獲得一個功能齊全、實(shí)用方便的單片機(jī)實(shí)驗(yàn)室。 本密碼鎖采用proteus進(jìn)行電路圖設(shè)計,經(jīng)過元件選型,用萬能實(shí)驗(yàn)版進(jìn)行硬件焊接,以實(shí)現(xiàn)硬件部分。 下圖為proteus設(shè)計的密碼鎖電路圖整體抓圖 圖 3.11 總電路圖第四章 程序設(shè)計因設(shè)計主要是作用匯編語言來開發(fā)的51單片機(jī)項(xiàng)目程序,所以首先必須有一個可以在W

32、indows XP或Windows vista操作系統(tǒng)下執(zhí)行的匯編語言編譯器,本設(shè)計采用Keil編譯器進(jìn)行編程,因?yàn)樗梢灾С忠幌盗械?1單片機(jī)。 開始初始化顯示初始密碼全部清零輸入第一位輸入下一位輸入第六位比較顯示錯誤 N顯示開鎖 Y圖4.1 主程序的流程圖4.1主程序模塊主程序主要是完成系統(tǒng)初始化、設(shè)置中斷向量、檢查有無鍵按下、以及調(diào)用顯示等等。主程序部分如下所示:void main(void) LCD_init(); /液晶參數(shù)初始化設(shè)置LCD_clear(); /清屏init_display(); /初始化顯示漢字 LCD_write_com(0x98+3);while(1) keyb

33、oardscan(); /鍵盤掃描,看是否有按鍵按下 display(); refresh(); 4.2 鍵盤掃描及識別子程序 鍵盤采用查詢的方式,放在主程序中,當(dāng)沒有按鍵按下的時候,單片機(jī)循環(huán)主程序,一旦有按鍵按下,便轉(zhuǎn)向相應(yīng)的子程序處理,處理結(jié)束再返回。其程序流程如圖4.2所示 圖4.2 鍵盤掃描程序流程圖4.3系統(tǒng)模塊密碼設(shè)置子程序 由于設(shè)計是分模塊化進(jìn)行,所以子程序是整體軟件系統(tǒng)的組成部分,子程序不但可以使程序化整為零,使其復(fù)雜簡單化,同時也方便閱讀,修改等,每個功能模塊都有它自己的子程序,在本設(shè)計中是用LCD顯示數(shù)據(jù),所以就要用到顯示子程序,設(shè)計中用的是矩陣鍵盤,所以就用到鍵盤掃描子

34、程序,例如還有顯示初始化子程序、LCD忙檢測子程序、關(guān)閉狀態(tài)顯示子程序、開鎖狀態(tài)顯示子程序、密碼輸入及修改狀態(tài)顯示子程序、密碼輸入錯誤后的提示子程序等。如下圖為密碼修改子程序流程圖 選擇模式式舊密碼輸入新密碼輸入存入緩存再次輸入密碼比較密碼重新輸入返回YN是否大于3次鎖定NY圖4.3 設(shè)置密碼子程序4.4系統(tǒng)調(diào)試 在硬件支持的環(huán)境下,用proteus設(shè)計好的電路,Keil編好的程序編譯成芯片可識別的S51文件,利用PC機(jī)寫進(jìn)proteus程序圖芯片內(nèi)進(jìn)行仿真測試,并對其出現(xiàn)的錯誤進(jìn)行修改,由圖4.4圖4.8可看出最終調(diào)試成功。 圖4.4 keil編譯程序成功圖4.5 keil生成hex文件圖4

35、.6 proteus調(diào)用keil的hex文件進(jìn)行仿真圖4.7 仿真成功密碼正確圖4.8 密碼正確綠燈亮設(shè)計總結(jié)課程設(shè)計是培養(yǎng)學(xué)生綜合運(yùn)用所學(xué)知識,發(fā)現(xiàn),提出,分析和解決實(shí)際問題,鍛煉實(shí)踐能力的重要 環(huán)節(jié),是對學(xué)生實(shí)際工作能力的具體訓(xùn)練和考察過程.隨著科學(xué)技術(shù)發(fā)展的日新日異,單片機(jī)已經(jīng)成為 當(dāng)今計算機(jī)應(yīng)用中空前活躍的領(lǐng)域, 在生活中可以說得是無處不在。因此作為二十一世紀(jì)的大學(xué)來 說掌握單片機(jī)的開發(fā)技術(shù)是十分重要的。 回顧起此次課程設(shè)計,我仍感慨頗多,的確,從選題到定稿,從理論到實(shí)踐,在接近兩星期 的日子里,可以說得是苦多于甜,但是可以學(xué)到很多很多的東西,同時不僅可以鞏固了以前所學(xué)過 的知識,而且

36、學(xué)到了很多在書本上所沒有學(xué)到過的知識。這次課程設(shè)計使我懂得了理論與實(shí)際相結(jié) 合是很重要的,只有理論知識是遠(yuǎn)遠(yuǎn)不夠的,只有把所學(xué)的理論知識與實(shí)踐相結(jié)合起來,從理論中 得出結(jié)論,才能真正為社會服務(wù),從而提高自己的實(shí)際動手能力和獨(dú)立思考的能力。在設(shè)計的過程 中遇到問題,可以說得是困難重重,同時在設(shè)計的過程中發(fā)現(xiàn)了自己的不足之處,對以前所學(xué)過的 知識理解得不夠深刻,掌握得不夠牢固,比如說不懂一些元器件的使用方法,對單片機(jī)匯編語言掌 握得不好,通過這次課程設(shè)計之后,一定把以前所學(xué)過的知識重新溫故。 通過這次單片機(jī)課程設(shè)計,我不僅加深了對單片機(jī)理論的理解,將理論好地應(yīng)用到實(shí)際當(dāng)中 去,而且我還學(xué)會了如何去

37、培養(yǎng)我們的創(chuàng)新精神,而不斷地戰(zhàn)勝自己,超越自己。創(chuàng)新可以是在原 有的基礎(chǔ)上進(jìn)行改進(jìn)之功能不斷完善,成為自己的東西。 俗話說“好的開始是成功的一半”。說起課程設(shè)計,我認(rèn)為最重要的就是做好設(shè)計的預(yù)習(xí),認(rèn)真的研究老師給的題目,選一個自己有興趣的題目。其次,老師對實(shí)驗(yàn)的講解要一絲不茍的去聽去 想,因?yàn)橹挥卸济靼琢?,做起設(shè)計就會事半功倍,如果沒弄明白,就迷迷糊糊的去選題目做設(shè)計, 到頭來一點(diǎn)收獲也沒有。最后,要重視程序的模塊化,修改的方便,也要注重程序的調(diào)試,掌握其 方法。 軟件的編程也要我們不斷的調(diào)試,最終一個能完成課程設(shè)計的勞動成果出來了,很高興它能 按著設(shè)計的思想與要求運(yùn)動起來。 當(dāng)然,這其中也有

38、很多問題,第一、不夠細(xì)心比如由于粗心大意接錯了線,由于對課本理論 的不熟悉導(dǎo)致編程出現(xiàn)錯誤。第二,是在學(xué)習(xí)態(tài)度上,這次課程設(shè)計是對我的學(xué)習(xí)態(tài)度的一次檢驗(yàn)。對于這次單片機(jī)綜合課程實(shí)習(xí),我的第一大心得體會就是作為一名工程技術(shù)人員,要求具備的首要 素質(zhì)絕對應(yīng)該是嚴(yán)謹(jǐn)。我們這次實(shí)習(xí)所遇到的多半問題多數(shù)都是由于我們不夠嚴(yán)謹(jǐn)。第三,在做人上,我認(rèn)識到,無論做什么事情,只要你足夠堅強(qiáng),有足夠的毅力與決心,有足夠的挑戰(zhàn)困難的勇氣,就沒有什么辦不到的。這次課程設(shè)計終于順利完成了,在設(shè)計中遇到了很多編程問題,最后在老師的辛勤指導(dǎo)下,終于游逆而解。同時,在老師那里我學(xué)得到很多實(shí)用的知識。在此對老師以及給過我?guī)椭乃?/p>

39、有同學(xué)再次表示忠心的感謝!參考文獻(xiàn)01 何宏主編. 單片機(jī)原理與接口技術(shù). 北京:國防工業(yè)出版社. 2006.0702 楊西明, 朱騏主編. 單片機(jī)編程與應(yīng)用入門. 北京:機(jī)械工業(yè)出版社.2004.06 03 先鋒工作室編著. 單片機(jī)程序設(shè)計實(shí)例. 北京: 清華大學(xué)出版社.2003.0104 謝宜仁主編. 單片機(jī)實(shí)用技術(shù)問答. 北京: 人民郵電出版社. 2003.0205 梁麗.電子密碼鎖的計算機(jī)仿真設(shè)計.計算機(jī)仿真.200506 房小翠,王金鳳編著. 單片機(jī)實(shí)用系統(tǒng)設(shè)計技術(shù). 北京: 國防工業(yè)出版社. 1999.0607 王寬仁. 可靠安全的智能密碼鎖. 電子技術(shù)應(yīng)用 . 2001

40、08 董繼成. 能防止多次試探密碼的單片機(jī)密碼鎖.國外電子元器件. 2004.3 09 李朝清. PC機(jī)及單片機(jī)數(shù)據(jù)通信技術(shù). 北京:北京航空航天大學(xué)出版社. 1999.10 路而紅.專用集成電路設(shè)計與電子設(shè)計自動化.北京:清華大學(xué)出版社. 200411 劉文濤.MCS-51單片機(jī)培訓(xùn)教程(C51)版.電子工業(yè)出版社. 2005.8 12 王為青 程國鋼.單片機(jī)Keil Cx51 應(yīng)用開發(fā)技術(shù).人民郵電出版社.2007.2 13 范風(fēng)強(qiáng) 蘭嬋麗.單片機(jī)語言C51應(yīng)用實(shí)戰(zhàn)集錦.電子工業(yè)出版社. 2003.3 14 龔運(yùn)新.單片機(jī)C語言開發(fā)技術(shù).清華大學(xué)出版社. 2006.10 15 邵貝貝.單片

41、機(jī)嵌入式應(yīng)用的在線開發(fā)方法.清華大學(xué)出版社. 2006.3 16 王宜懷.單片機(jī)原理及其嵌入式應(yīng)用教程.北京希望電子出版社. 2002.8 附錄 電子密碼鎖整體設(shè)計圖附錄II 電子密碼鎖整體PCB設(shè)計圖附錄III 電子密碼鎖程序源代碼#include <reg51.h>#include "lcd12864.h"#include "keyscan.h"/*/主程序/*void main(void) LCD_init(); /液晶參數(shù)初始化設(shè)置LCD_clear(); /清屏init_display(); /初始化顯示漢字 LCD_write_com(0x98+3);while(1) keyboardscan(); /鍵盤掃描,看是否有按鍵按下 display(); refresh(); 2、矩陣鍵盤掃描程序#include "reg51.h"#include "keyscan.h"#include "lcd12864.h"uchar KeyValue,temp;uc

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論