




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、 安徽大學(xué)經(jīng)濟(jì)技術(shù)學(xué)院安徽大學(xué)經(jīng)濟(jì)技術(shù)學(xué)院 畢畢 業(yè)業(yè) 論論 文(設(shè)計(jì))文(設(shè)計(jì)) 論文題目論文題目 基于單片機(jī)的密碼鎖設(shè)計(jì)基于單片機(jī)的密碼鎖設(shè)計(jì) 姓 名 學(xué) 號 09531013 院 系 經(jīng)濟(jì)技術(shù)學(xué)院 專 業(yè) 電子信息工程 指導(dǎo)教師 李陽 職 稱 副教授 中國合肥二 0 一三年五月 安徽農(nóng)業(yè)大學(xué)經(jīng)濟(jì)技術(shù)學(xué)院學(xué)士學(xué)位論文(設(shè)計(jì))開題報(bào)告安徽農(nóng)業(yè)大學(xué)經(jīng)濟(jì)技術(shù)學(xué)院學(xué)士學(xué)位論文(設(shè)計(jì))開題報(bào)告課題名稱基于單片機(jī)的密碼鎖設(shè)計(jì)課題來源導(dǎo)師指定學(xué)生姓名專業(yè)電子信息工程學(xué)號09531013指導(dǎo)教師姓名職稱副教授研究內(nèi)容本系統(tǒng)由 STC89C52 單片機(jī)系統(tǒng)(主要是 STC89C52 單片機(jī)最小系統(tǒng)) 、44
2、 矩陣鍵盤、LCD1602 顯示和報(bào)警系統(tǒng)等組成,具有設(shè)置、修改六位用戶密碼、超次報(bào)警、超次鎖定、密碼錯(cuò)誤報(bào)警等功能(本設(shè)計(jì)由 P0 口控制 LCD 顯示,密碼正確顯示 OPEN! 密碼錯(cuò)誤顯示 error!超過三次輸入錯(cuò)誤自動鎖定。由 P1 口控制矩陣鍵盤含有 0-9 數(shù)字鍵和 A-F 功能鍵。 ) 。除上述基本的密碼鎖功能外,依據(jù)實(shí)際的情況還可以添加遙控功能。研究計(jì)劃3 月中3 月底 調(diào)研、查資料。4 月初4 月中 確定系統(tǒng)架構(gòu)、分析并劃分各功能模塊的接口。4 月底5 月中 各功能模塊軟、硬件的設(shè)計(jì)與開發(fā)。5 月下5 月底 各功能模塊及整個(gè)系統(tǒng)的調(diào)試與運(yùn)行。撰寫畢業(yè)設(shè)計(jì)論文。特色與創(chuàng)新 1
3、.按鍵設(shè)置 6 位密碼,輸入密碼若密碼正確,則鎖打開。顯示 open!2.密碼可以自己修改(6 位密碼) ,必須是鎖打開時(shí)才能改密。為防止誤操作,修改密碼得輸入兩次。3.若密碼輸入錯(cuò)誤次數(shù)超過 3 次,蜂鳴器報(bào)警并且鎖定鍵盤。4.液晶屏亮度會隨光線自動調(diào)整。計(jì)較方便,易懂指導(dǎo)教師意見同意開題。教研室意見 同意開題。學(xué)院意見同意開題。目目 錄錄第一章第一章 緒論緒論.1 11.1、課題背景和意義.11.2、電子密碼鎖發(fā)展趨勢.2第二章第二章 設(shè)計(jì)思想設(shè)計(jì)思想.3 3第三章第三章 系統(tǒng)硬件設(shè)計(jì)系統(tǒng)硬件設(shè)計(jì) .4 43.1 硬件支持.4 3.1.1STC89C52RC 單片機(jī)介紹.4 3.1.2 液
4、晶顯示 LCD1602 的介紹.5 3.1.3 自鎖開關(guān)說明.5 3.1.4 上拉電阻介紹.5 3.1.5 三極管介紹.6 3.1.6 繼電器介紹.8 3.1.7 供電方式.9 3.1.8 輕觸按鍵.9 3.2 功能單元模塊設(shè)計(jì).10 3.2.1 開鎖機(jī)構(gòu).10 3.2.2 矩陣鍵盤設(shè)計(jì)電路.11 3.2.3 聲音提示電路設(shè)計(jì).11 3.2.4 AT24C02 掉電存儲單元的設(shè)計(jì).12第四章第四章 程序設(shè)計(jì)與系統(tǒng)仿真程序設(shè)計(jì)與系統(tǒng)仿真.13 4.1 模塊介紹. 13 4.1.1 主程序模塊. 14 4.1.2 密碼比較判斷模塊.15 4.1.3 鍵盤掃描模塊.15 4.1.4 修改密碼模塊.1
5、6 4.2 電子密碼鎖原理圖.18 4.2.1 總店路圖.18 4.2.2 控制電路.18 4.2.3 實(shí)物圖.19 4.2.4 仿真圖.19第五章第五章 系統(tǒng)功能系統(tǒng)功能.1919第第六六章章 設(shè)計(jì)總結(jié)設(shè)計(jì)總結(jié).19致謝致謝.20 參考文獻(xiàn)參考文獻(xiàn).2 20附錄附錄 .21a 電子密碼鎖元件清單.21b 源程序.221基于單片機(jī)的密碼鎖設(shè)計(jì)基于單片機(jī)的密碼鎖設(shè)計(jì)學(xué)生:楊宇,指導(dǎo)教師:李陽(安徽農(nóng)業(yè)大學(xué) 經(jīng)濟(jì)技術(shù)學(xué)院 合肥 09531013)摘摘 要要:本設(shè)計(jì)提出了一種電子密碼鎖的設(shè)計(jì)方法。本系統(tǒng)由 STC89C52 單片機(jī)系統(tǒng)、44 矩陣鍵盤、LCD1602 顯示和報(bào)警系統(tǒng)等組成,具有設(shè)置、
6、修改六位用戶密碼、超次報(bào)警、超次鎖定、密碼錯(cuò)誤報(bào)警等功能。本系統(tǒng)成本低廉,功能實(shí)用。關(guān)鍵詞關(guān)鍵詞:單片機(jī),電子密碼鎖,44 矩陣鍵盤 AbstractThis paper presents a design method of the design of electronic password lock. The system consists of STC89C52 single-chip microcomputer system, 4 * 4 matrix keyboard, LCD1602 display and alarm system etc., has provided six,
7、modify user password, the alarm, super lock, error alarm passwords and other functions. This system has the advantages of low cost, practical function.Key words :AT89S51 ,Electronic password lock ,44 keyboard第一章第一章 緒論緒論1.11.1 課題課題背景和意義背景和意義隨著電子技術(shù)和計(jì)算機(jī)技術(shù)的飛速發(fā)展,單片機(jī)性能不斷完善,性能價(jià)格比顯著提高,技術(shù)日趨完善。由于單片機(jī)具有體積小、重量輕、
8、價(jià)格便宜、功耗低、控制功能強(qiáng)及運(yùn)算速度快等特點(diǎn),因而在國民經(jīng)濟(jì)建設(shè)、軍事及家用電器等各個(gè)領(lǐng)域均得到了廣泛的應(yīng)用。本設(shè)計(jì)利用單片機(jī)及附加電子元器件實(shí)現(xiàn)數(shù)據(jù)采集和控制算法,來完成某一實(shí)際功能。隨著人們生活水平的提高和安全意識的加強(qiáng),對安全的要求也就越來越高。鎖自古以來就是把守護(hù)門的鐵將軍,人們對它要求甚高,既要安全可靠的防盜,又要使用方便,2這也是制鎖者長期以來研制的主題。隨著電子技術(shù)的發(fā)展,各類電子產(chǎn)品應(yīng)運(yùn)而生,電子密碼鎖就是其中之一。電子鎖是通過鍵盤輸入一組密碼完成開鎖過程。研究這種鎖的初衷,就是為提高鎖的安全性。由于電子鎖的密鑰量(密碼量)極大,可以與機(jī)械鎖配合使用,并且可以避免因鑰匙被仿制
9、而留下安全隱患。電子鎖只需記住一組密碼,無需攜帶金屬鑰匙,免除了人們攜帶金屬鑰匙的煩惱,而被越來越多的人所欣賞。電子鎖的種類繁多,例如數(shù)碼鎖,指紋鎖,磁卡鎖,IC 卡鎖,生物鎖等。但較實(shí)用的還是按鍵式電子密碼鎖。20 世紀(jì) 80 年代后,隨著電子鎖專用集成電路的出現(xiàn),電子鎖的體積縮小,可靠性提高,成本較高,是適合使用在安全性要求較高的場合,且需要有電源提供能量,使用還局限在一定范圍,難以普及,所以對它的研究一直沒有明顯進(jìn)展。目前,在西方發(fā)達(dá)國家,電子密碼鎖技術(shù)相對先進(jìn),種類齊全,電子密碼鎖已被廣泛應(yīng)用于智能門禁系統(tǒng)中,通過多種更加安全,更加可靠的技術(shù)實(shí)現(xiàn)大門的管理。國內(nèi)的不少企業(yè)也引進(jìn)了世界上
10、先進(jìn)的技術(shù),發(fā)展前景非常可觀。希望通過不斷的努力,使電子密碼鎖在我國也能得到廣泛應(yīng)用。1.21.2 電子密碼鎖發(fā)展趨勢電子密碼鎖發(fā)展趨勢 電子密碼鎖應(yīng)用于金融業(yè),其根本的作用是“授權(quán)”,即被“授權(quán)”的人才可以存取錢、物。廣義上講,金融業(yè)的“授權(quán)”主要包括以下三種層次的內(nèi)容:1、授予保管權(quán),如使用保管箱、保險(xiǎn)箱和保險(xiǎn)柜;2、授予出入權(quán),如出入金庫、運(yùn)鈔車和保管室;3、授予流通權(quán),如自動存取款。目前,金融行業(yè)電子密碼鎖的應(yīng)用主要集中在前兩個(gè)層面上。下面將介紹幾種在金融行業(yè)中使用較多的電子密碼鎖以及它們的技術(shù)發(fā)展方向。當(dāng)然,以上所說的授權(quán)技術(shù)再高超,都必須由精良的“鎖具”擔(dān)當(dāng)承載結(jié)構(gòu)部件,實(shí)現(xiàn)開啟、
11、閉鎖的功能,而且承擔(dān)實(shí)體防護(hù)作用,抵抗住或盡量延遲破壞行為,讓電子密碼鎖“軟、硬不吃”。一般情況下,鎖具防盜的關(guān)鍵是鎖身外殼、閉鎖的部件的強(qiáng)度、鎖止型式、配合間隙和布局。提高電子密碼鎖之防護(hù)能力的必然途徑是報(bào)警,在金融業(yè)的許多場所有人值守、有電視監(jiān)控,具有報(bào)警功能,可以綜合物理防范和人力防范兩種作用。報(bào)警的前提是具備探測功能,根據(jù)電子密碼鎖的使用場所和防護(hù)要求,可選擇多種多樣的探測手段。在中國的城市金融業(yè)中,實(shí)現(xiàn)聯(lián)網(wǎng)報(bào)警已經(jīng)成為對各金融網(wǎng)點(diǎn)的基本要求。根據(jù)國內(nèi)外的實(shí)踐經(jīng)驗(yàn),金融業(yè)實(shí)行安全防范風(fēng)險(xiǎn)等級很有必要,即依據(jù)使用的防盜報(bào)3警器材的性能、安裝布局和人員值守狀況等,可以評估被防護(hù)物或區(qū)域的防
12、護(hù)能力,得出風(fēng)險(xiǎn)等級,其中,電子密碼鎖的性能至關(guān)重要。由于數(shù)字、字符、圖形圖像、人體生物特征和時(shí)間等要素均可成為鑰匙的電子信息,組合使用這些信息能夠使電子密碼鎖獲得高度的保密性,如防范森嚴(yán)的金庫,需要使用復(fù)合信息密碼的電子密碼鎖,這樣對盜賊而言是“道高一尺、魔高一丈”。組合使用信息也能夠使電子密碼鎖獲得無窮擴(kuò)展的可能,使產(chǎn)品多樣化,對用戶而言是“千挑百選、自得其所”。 單顯示 鍵盤 片 機(jī) 開鎖 圖圖 1.11.1 總體框圖總體框圖 工作過程(1)按鍵設(shè)置 6 位密碼,輸入密碼,通過單片機(jī)判斷,若密碼正確,通過則鎖打開,顯示 open!(2)首次使用時(shí)輸入:131420,對密碼進(jìn)行初始化,當(dāng)顯
13、示:initpassword,證明密碼初始化完成,此時(shí)的密碼為:000000。第二章第二章 設(shè)計(jì)思想設(shè)計(jì)思想(1)本設(shè)計(jì)為了防止密碼被竊取要求在輸入密碼時(shí)在 LCD 屏幕上顯示*號。(2)設(shè)計(jì)開鎖密碼位六位密碼的電子密碼鎖。(3)能夠 LCD 顯示在密碼正確時(shí)顯示 open!,密碼錯(cuò)誤時(shí)顯示 ERROR,輸入密碼時(shí)顯示 initpassword。(4)實(shí)現(xiàn)輸入密碼錯(cuò)誤超過限定的三次電子密碼鎖定。(5)44 的矩陣鍵盤其中包括 0-9 的數(shù)字鍵和 A-D 的功能鍵(6)本產(chǎn)品具備報(bào)警功能,當(dāng)輸入密碼錯(cuò)誤時(shí)蜂鳴器響并且 LED 燈亮。 (7)密碼可以由用戶自己修改設(shè)定(只支持6位密碼),修改密碼之
14、前必須再次4輸入密碼,在輸入新密碼時(shí)候需要二次確認(rèn),以防止誤操作 第三章第三章 系統(tǒng)的硬件設(shè)計(jì)系統(tǒng)的硬件設(shè)計(jì)3.13.1 硬件支持硬件支持 .1 STC89C52RCSTC89C52RC 單片機(jī)介紹單片機(jī)介紹STC89C52 是一種低功耗、高性能 CMOS8 位微控制器,具有 8K 在系統(tǒng)可編程Flash 存儲器。在單芯片上,擁有靈巧的 8 位 CPU 和在系統(tǒng)可編程 Flash,使得STC89C51 為眾多嵌入式控制應(yīng)用系統(tǒng)提供高靈活、超有效的解決方案。 具有以下標(biāo)準(zhǔn)功能: 8k 字節(jié) Flash,512 字節(jié) RAM, 32 位 I/O 口線,看門狗定時(shí)器,內(nèi)置 8KB E
15、EPROM,MAX810 復(fù)位電路,三個(gè) 16 位 定時(shí)器/計(jì)數(shù)器,一個(gè) 6 向量 2 級中斷結(jié)構(gòu),全雙工串行口。另外 STC89X51 可降至 0Hz 靜態(tài)邏輯操作,支持 2 種軟件可選擇節(jié)電模式。空閑模式下,CPU 停止工作,允許 RAM、定時(shí)器/計(jì)數(shù)器、串口、中斷繼續(xù)工作。掉電保護(hù)方式下,RAM 內(nèi)容被保存,振蕩器被凍結(jié),單片機(jī)一切工作停止,直到下一個(gè)中斷或硬件復(fù)位為止。最高運(yùn)作頻率 35Mhz,6T/12T 可選。EA/VP31X119X218RESET9P37/RD17P36WR16P32/INT012P33/INT113P34/T 014P35/T 115P101P112P123P
16、134P145P156P167P178P0039P0138P0237P0336P0435P0534P0633P0732P2021P2122P2223P2324P2425P2526P2627P2728PSEN29ALE /P30P31/T XD11P30/RX D10GND20VCC40U1ST C89C52圖 3-1 STC89C52 單片機(jī)引腳圖 主要特性如下: (1) 增強(qiáng)型 8051 單片機(jī),6 時(shí)鐘/機(jī)器周期和 12 時(shí)鐘/機(jī)器周期可以任 意選擇,指令代碼完全兼容傳統(tǒng) 8051. (2)工作電壓:5.5V3.3V(5V 單片機(jī))/3.8V2.0V(3V 單片機(jī)) (3) 工作頻率范圍:
17、040MHz,相當(dāng)于普通 8051 的 080MHz,實(shí)際工 作頻5率可達(dá) 48MHz (4) 用戶應(yīng)用程序空間為 8K 字節(jié) (5) 片上集成 512 字節(jié) RAM (6) 通用 I/O 口 (32 個(gè)) 復(fù)位后為: , P1/P2/P3/P4 是準(zhǔn)雙向口/弱上拉, P0 口是漏極開路輸出,作為總線擴(kuò)展用時(shí),不用加上拉電阻,作為 I/O 口用時(shí),需加上拉電阻。 (7)ISP(在系統(tǒng)可編程)/IAP(在應(yīng)用可編程) ,無需專用編程器,無 需專用仿真器,可通過串口(RxD/P3.0,TxD/P3.1)直接下載用戶程 序,數(shù)秒即可完成一片(8)具有 EEPROM 功能 (9)具有看門狗功能 (10
18、)共 3 個(gè) 16 位定時(shí)器/計(jì)數(shù)器。即定時(shí)器 T0、T1、T2(11)外部中斷 4 路,下降沿中斷或低電平觸發(fā)電路,Power Down 模式可 由外部中斷低電平觸發(fā)中斷方式喚醒 (12)通用異步串行口(UART) ,還可用定時(shí)器軟件實(shí)現(xiàn)多個(gè) UART (13) 工作溫度范圍:-40+85(工業(yè)級)/075(商業(yè)級) (14) PDIP 封裝 .2 液晶顯示液晶顯示 LCD1602LCD1602 的介紹的介紹(1)LM1602 字符型模塊的性能重量輕:100g;體積小:N?Y未超過 N 次輸入密碼?密碼設(shè)置完畢N設(shè)置新密碼Y按鍵N判斷按鍵值返回主界面NY設(shè)置解碼次數(shù)產(chǎn)生隨機(jī)密
19、碼輸入密碼N=0 x84N=0 x82N=0 x11 圖圖 4-14-1 系統(tǒng)程序流程圖系統(tǒng)程序流程圖 .1 主程序模塊主程序模塊主程序主要用于定義全局變量,給全局變量賦初值,初始化 E2PROM,啟動定時(shí)器以16及 從 AT24C02 中讀取密碼,為整個(gè)程序提供數(shù)據(jù);檢測按鍵;調(diào)用顯示等功能。.2 密碼比較判斷模塊密碼比較判斷模塊該模塊的功能是將鍵盤輸入的密碼利用 if 語句與設(shè)定的密碼進(jìn)行逐個(gè)比較,若密碼完全正確則開鎖;若不正確,則開啟報(bào)警電路,復(fù)位后重新輸入密碼。其密碼輸入和比較判決流程圖下圖所示。 輸入密碼核對鍵盤鎖定,開啟報(bào)警電路開鎖,燈亮,可密碼修改
20、NY復(fù)位 圖圖 4-24-2 密碼輸入和比較判決流程圖密碼輸入和比較判決流程圖.3 鍵盤掃描模塊鍵盤掃描模塊 鍵盤使用矩陣式鍵盤,由行和列組成,CPU 對所有鍵盤進(jìn)行監(jiān)視,從而實(shí)現(xiàn)逐列掃描鍵盤確定被按鍵的具體位置、判斷鍵盤上有無鍵按下、消除去抖動、判斷閉合的鍵是否釋放等功能。如下圖所示,為鍵盤掃描流程圖 17 開始 延時(shí)去抖動計(jì)算輸入鍵值鍵值送入單片機(jī)有按鍵輸入?有按鍵輸入?有按鍵輸入?返回NNYY 圖圖 4-34-3 鍵盤掃描流程圖鍵盤掃描流程圖.4 修改密碼模塊修改密碼模塊在密碼輸入正確情況下,可以按下“重置密碼”對密碼進(jìn)行重新設(shè)置,每設(shè)定一位就將密碼送給
21、AT24C02 存儲起來,當(dāng)設(shè)置 6 位密碼完畢后,系統(tǒng)將自動跳到程序開始,調(diào)用新設(shè)置的密碼。下圖為修改密碼流程圖。18開始輸入原密碼密碼比較比較正確?輸入新密碼再次輸入新密碼調(diào)用 AT24C02 中密碼比較正確修改成功返回菜單鍵盤鎖定,啟動報(bào)警電路復(fù)位YN 圖圖 4-44-4 修改密碼流程圖修改密碼流程圖194.24.2 電子密碼鎖原理圖電子密碼鎖原理圖 .1 總電路圖總電路圖 P1.01P1.12P1.23P1.34P1.45P1.56P1.67P1.78RST9P3.0(RXD)10P3.1(TXD)11P3.2(INT0)12P3.3(INT1)13P3.4(T0)14
22、P3.5(T1)15P3.6(WR)16P3.7(RD)17XTAL218XTAL119GND20(A8)P2.021(A9)P2.122(A10)P2.223(A11)P2.324(A12)P2.425(A13)P2.526(A14)P2.627(A15)P2.728PSEN29ALE/PROG30EA/VPP31(AD7)P0.732(AD6)P0.633(AD5)P0.534(AD4)P0.435(AD3)P0.336(AD2)P0.237(AD1)P0.138(AD0)P0.039VCC40U189C51/C52bceQ29012VCCR51KY112MHzC230C330R110KV
23、CCKEYALAMKEYbceQ19012VCCR42.2KALAMLS1GND1VCC2V03RS4R/W5EN6D07D18D29D310D411D512D613D714A15K161602D0D1D2D3D4D5D6D7D0D1D2D3D4D5D6D7RSRSWRWRENENVCCVCCA01A12A23GND4SDA5SCL6WP7VCC8AT24C02R210KR310K+C110uF12345 J1JDQ-DC51234KRRESET123CON3VCCQ39013RG1KA1234K11234K21234K31234A1234K41234K51234K61234B1234K712
24、34K81234K91234C1234*1234K01234#1234DP10P11P12P13P14P15P16P17P10P11P12P13P14P15P16P17R71.5kR610k321P1POWERVCC112233445566S112J1CON2COM1R12R23R34R45R56R67R78R89RP110KRT1104R92.2KD1LED 圖圖 4-54-5 總電路圖總電路圖 .2 控制電路控制電路P1.01P1.12P1.23P1.34P1.45P1.56P1.67P1.78RST9P3.0(RXD)10P3.1(TXD)11P3.2(INT0)12P3
25、.3(INT1)13P3.4(T0)14P3.5(T1)15P3.6(WR)16P3.7(RD)17XTAL218XTAL119GND20(A8)P2.021(A9)P2.122(A10)P2.223(A11)P2.324(A12)P2.425(A13)P2.526(A14)P2.627(A15)P2.728PSEN29ALE/PROG30EA/VPP31(AD7)P0.732(AD6)P0.633(AD5)P0.534(AD4)P0.435(AD3)P0.336(AD2)P0.237(AD1)P0.138(AD0)P0.039VCC40U189C51/C52bceQ29012VCCR51KY
26、112MHzC230C330R110KVCCKEYALAMKEYbceQ19012VCCR42.2KALAMLS1GND1VCC2V03RS4R/W5EN6D07D18D29D310D411D512D613D714A15K161602D0D1D2D3D4D5D6D7D0D1D2D3D4D5D6D7RSRSWRWRENENVCCVCCA01A12A23GND4SDA5SCL6WP7VCC8AT24C02R210KR310K+C110uF12345 J1JDQ-DC51234KRRESET123CON3VCCQ39013RG1KAP10P11P12P13P14P15P16P17R71.5kR610
27、k321P1POWERVCC112233445566S112J1CON2COM1R12R23R34R45R56R67R78R89RP110KRT1104R92.2KD1LED 圖圖 4-64-6 控制電路圖控制電路圖 .3 實(shí)物圖實(shí)物圖 圖圖 4-74-7 實(shí)物圖實(shí)物圖 .4 仿真圖仿真圖五五 系統(tǒng)功能系統(tǒng)功能本設(shè)計(jì)中系統(tǒng)可實(shí)現(xiàn)功能如下:(1)對輸入的 6 位密碼進(jìn)行隱藏;(2)通過發(fā)光二極管和蜂鳴器,對解密正確或者錯(cuò)誤進(jìn)行聲光報(bào)警;(3)6 位密碼修改;(4)在密碼遺失情況下,通過初始密碼進(jìn)行密碼再設(shè)置;(5)采用 AT24C02 外部存儲器,完成斷電密碼
28、保護(hù)功能;21六六 設(shè)計(jì)總結(jié)設(shè)計(jì)總結(jié)從基本方案的制定,到硬件電路的選擇,再到電路的焊接,最后進(jìn)行程序調(diào)試在此期間我們遇到很多困難,但經(jīng)過不懈努力,終于擊破了各個(gè)難點(diǎn),達(dá)到的所需要的效果。在這次設(shè)計(jì)中,我深刻認(rèn)識到自身的不足缺少實(shí)戰(zhàn)經(jīng)驗(yàn)。與此同時(shí),也因?yàn)檫@次設(shè)計(jì),我得到一定的鍛煉,體會到理論與實(shí)踐相結(jié)合的重要意義。由于本次設(shè)計(jì)時(shí)間有限,一些設(shè)想沒有完全實(shí)現(xiàn),比如說:電子密碼鎖的網(wǎng)絡(luò)通信擴(kuò)展,人機(jī)界面智能化等。期待以后有機(jī)會對以上設(shè)想進(jìn)行進(jìn)一步研究實(shí)踐。致謝致謝非常感謝*老師,老師在我大學(xué)的最后學(xué)習(xí)階段 畢業(yè)設(shè)計(jì)階段給自己的指導(dǎo), 從最初的定題,到資料收集,到寫作、修改,到論文定稿,她們給了我耐心
29、的指導(dǎo)和無私的幫助。為了指導(dǎo)我們的畢業(yè)論文,他甚至放棄了自己的休息時(shí)間,他的這種無私奉獻(xiàn)的敬業(yè)精神令人欽佩,在此我向他表示我誠摯的謝意。同時(shí),感謝所有任課老師和所有同學(xué)在這四年來給自己的指導(dǎo)和幫助,是他們教會了我專業(yè)知識,教會了我如何學(xué)習(xí),教會了我如何做人。正是由于他們,我才能在各方面取得顯著的進(jìn)步,在此向他們表示我由衷的謝意,并祝所有的老師培養(yǎng)出越來越多的優(yōu)秀人才,桃李滿天下參考文獻(xiàn)參考文獻(xiàn)1 童詩白,華成英.模擬電子技術(shù)基礎(chǔ)M.北京:高等教育出版社,2006.2江曉安,董秀峰,楊頌華.數(shù)字電子技術(shù)基礎(chǔ)M.西安:電子科技大學(xué)出版社,2008.3黃友銳.單片機(jī)原理及應(yīng)用M. 合肥:合肥工業(yè)大學(xué)
30、出版社 2006.4徐科軍.傳感器與檢測技術(shù)M.北京:電子工業(yè)出版社,2011.225孫力.C 語言程序設(shè)計(jì)M.北京:中國農(nóng)業(yè)出版社,2008.6陳曉鴿,昂軍,胡仁喜.Protel 99SE 標(biāo)準(zhǔn)實(shí)例教程M.北京:機(jī)械工業(yè)出版社,2010.7金桂,向國梁.基于C語言STC89C52單片機(jī)電子密碼鎖的設(shè)計(jì)與仿真J.現(xiàn)代電子技術(shù),2010,19:176-182.8 George Lee,Karina Ng,Edmond Kwang.Design of ring oscillator based voltage controlled oscillator. Project Final ReportR
31、. 20059 T. C. Weigandt,B. Kim,and P. R. Gray.Analysis of Timing Jitter in CMOS Ring Oscillators. IEEE International Symposium on Circuits and Systems. 1994附錄:附錄:a a、電子密碼鎖元件清單、電子密碼鎖元件清單1) 9*15 萬用板2) 矩陣按鍵或 16 個(gè)小按鍵3) 1602 液晶4) 16p 插針*25) 16p 單排母座*26) 光敏電阻7) 104 可調(diào)電阻8) 2.2k 電阻*29) 1k 電阻10) 10k 電阻*411) 1
32、.5k 電阻12) 103 排阻13) 9012*214) 901315) 接線端子 3p16) 無源蜂鳴器17) 40 腳座18) 89c5219) 10uf 電容20) 30pf 電容*22321) 小按鍵22) 自鎖開關(guān)23) 8 腳座24) 24c0225) 12m 晶振26) Led(3MM 紅色)27) 繼電器28) 電源接口29) 導(dǎo)線若干30) 焊錫若干31) usb 電源線(電池盒+DC 插頭)b b、源程序、源程序#include #include#define LCM_Data P0#define uchar unsigned char #define uint unsi
33、gned int#define w 6/定義密碼位數(shù)sbit lcd1602_rs=P27;sbit lcd1602_rw=P26;sbit lcd1602_en=P25;sbit Scl=P34;/24C02 串行時(shí)鐘sbit Sda=P35;/24C02 串行數(shù)據(jù)sbit ALAM = P21;/報(bào)警sbit KEY = P36;/開鎖sbit open_led=P22;/開鎖指示燈bit operation=0;/操作標(biāo)志位bit pass=0;/密碼正確標(biāo)志bit ReInputEn=0;/重置輸入充許標(biāo)志bit s3_keydown=0;/3 秒按鍵標(biāo)志位bit key_disabl
34、e=0;/鎖定鍵盤標(biāo)志unsigned char countt0,second;/t0 中斷計(jì)數(shù)器,秒計(jì)數(shù)器void Delay5Ms(void);unsigned char code a=0 xFE,0 xFD,0 xFB,0 xF7; /控盤掃描控制表unsigned char code start_line= password: ;unsigned char code name = =Coded Lock=;/顯示名稱24unsigned char code Correct = correct ; /輸入正確unsigned char code Error = error ; /輸入錯(cuò)誤
35、unsigned char code codepass= pass ; unsigned char code LockOpen= open ;/OPENunsigned char code SetNew = SetNewWordEnable;unsigned char code Input = input: ;/INPUTunsigned char code ResetOK = ResetPasswordOK ;unsigned char code initword= Init password.;unsigned char code Er_try= error,try again!;unsi
36、gned char code again= input again ;unsigned char InputData6;/輸入密碼暫存區(qū)unsigned char CurrentPassword6=1,3,1,4,2,0; /當(dāng)前密碼值unsigned char TempPassword6;unsigned char N=0;/密碼輸入位數(shù)記數(shù)unsigned char ErrorCont;/錯(cuò)誤次數(shù)計(jì)數(shù)unsigned char CorrectCont;/正確輸入計(jì)數(shù)unsigned char ReInputCont; /重新輸入計(jì)數(shù)unsigned char code initpasswo
37、rd6=0,0,0,0,0,0;/=5ms 延時(shí)=void Delay5Ms(void)unsigned int TempCyc = 5552;while(TempCyc-);/=400ms 延時(shí)=void Delay400Ms(void) unsigned char TempCycA = 5; unsigned int TempCycB; while(TempCycA-) TempCycB=7269; while(TempCycB-); 25/=/=24C02=/=void mDelay(uint t) /延時(shí) uchar i; while(t-) for(i=0;i125;i+) ; vo
38、id Nop(void) /空操作 _nop_(); _nop_(); _nop_(); _nop_();/*起始條件*/void Start(void) Sda=1; Scl=1; Nop(); Sda=0; Nop(); /*停止條件*/void Stop(void) Sda=0; Scl=1; Nop(); Sda=1; Nop();26/*應(yīng)答位*/void Ack(void)Sda=0;Nop();Scl=1;Nop();Scl=0;/*反向應(yīng)答位*/void NoAck(void) Sda=1; Nop(); Scl=1; Nop(); Scl=0; /*發(fā)送數(shù)據(jù)子程序,Data
39、為要求發(fā)送的數(shù)據(jù)*/void Send(uchar Data) uchar BitCounter=8; uchar temp; do temp=Data; Scl=0; Nop(); if(temp&0 x80)=0 x80) Sda=1; else Sda=0; Scl=1; temp=Data1; Data=temp; BitCounter-; while(BitCounter); Scl=0;27/*讀一字節(jié)的數(shù)據(jù),并返回該字節(jié)值*/uchar Read(void) uchar temp=0;uchar temp1=0;uchar BitCounter=8;Sda=1;doScl
40、=0;Nop();Scl=1;Nop();if(Sda)temp=temp|0 x01;elsetemp=temp&0 xfe;if(BitCounter-1)temp1=temp1;temp=temp1;BitCounter-;while(BitCounter);return(temp);void WrToROM(uchar Data,uchar Address,uchar Num) uchar i; uchar *PData; PData=Data; for(i=0;iNum;i+) Start(); Send(0 xa0); Ack(); Send(Address+i); Ack
41、(); Send(*(PData+i); Ack(); Stop(); mDelay(20); 28void RdFromROM(uchar Data,uchar Address,uchar Num) uchar i; uchar *PData; PData=Data; for(i=0;i0;x-) for(y=110;y0;y-);/-寫指令-write_1602com(uchar com)/*液晶寫入指令函數(shù)*lcd1602_rs=0;/數(shù)據(jù)/指令選擇置為指令29lcd1602_rw=0; /讀寫選擇置為寫P0=com;/送入數(shù)據(jù)delay(1);lcd1602_en=1;/拉高使能端,為
42、制造有效的下降沿做準(zhǔn)備delay(1);lcd1602_en=0;/en 由高變低,產(chǎn)生下降沿,液晶執(zhí)行命令/-寫數(shù)據(jù)-write_1602dat(uchar dat)/*液晶寫入數(shù)據(jù)函數(shù)*lcd1602_rs=1;/數(shù)據(jù)/指令選擇置為數(shù)據(jù)lcd1602_rw=0; /讀寫選擇置為寫P0=dat;/送入數(shù)據(jù)delay(1);lcd1602_en=1; /en 置高電平,為制造下降沿做準(zhǔn)備delay(1);lcd1602_en=0; /en 由高變低,產(chǎn)生下降沿,液晶執(zhí)行命令/-初始化-void lcd_init(void)write_1602com(0 x38);/設(shè)置液晶工作模式,意思:16
43、*2 行顯示,5*7 點(diǎn)陣,8 位數(shù)據(jù)write_1602com(0 x0c);/開顯示不顯示光標(biāo)write_1602com(0 x06);/整屏不移動,光標(biāo)自動右移write_1602com(0 x01);/清顯示/=/=/=將按鍵值編碼為數(shù)值=unsigned char coding(unsigned char m) unsigned char k;switch(m)case (0 x11): k=1;break;case (0 x21): k=2;break;case (0 x41): k=3;break;case (0 x81): k=A;break;case (0 x12): k=4
44、;break;case (0 x22): k=5;break;case (0 x42): k=6;break;30case (0 x82): k=B;break;case (0 x14): k=7;break;case (0 x24): k=8;break;case (0 x44): k=9;break;case (0 x84): k=C;break;case (0 x18): k=*;break;case (0 x28): k=0;break;case (0 x48): k=#;break;case (0 x88): k=D;break;return(k);/=按鍵檢測并返回按鍵值=unsi
45、gned char keynum(void) unsigned char row,col,i; P1=0 xf0; if(P1&0 xf0)!=0 xf0) Delay5Ms(); Delay5Ms(); if(P1&0 xf0)!=0 xf0) row=P10 xf0; /確定行線i=0;P1=ai; /精確定位while(i4) if(P1&0 xf0)!=0 xf0) col=(P1&0 xff); /確定列線 break; /已定位后提前退出 else i+; P1=ai; else return 0;31while(P1&0 xf0)!=0 x
46、f0); return (row|col); /行線與列線組合后返回 else return 0; /無鍵按下時(shí)返回 0/=一聲提示音,表示有效輸入=void OneAlam(void)ALAM=0;Delay5Ms(); ALAM=1;/=二聲提示音,表示操作成功=void TwoAlam(void)ALAM=0;Delay5Ms(); ALAM=1; Delay5Ms();ALAM=0;Delay5Ms(); ALAM=1;/=三聲提示音,表示錯(cuò)誤=void ThreeAlam(void)ALAM=0;Delay5Ms(); ALAM=1; Delay5Ms();ALAM=0;Delay5
47、Ms(); ALAM=1; Delay5Ms();ALAM=0;Delay5Ms(); ALAM=1;/=顯示輸入的 N 個(gè)數(shù)字,用 H 代替以便隱藏=void DisplayOne(void)/DisplayOneChar(9+N,1,*);32write_1602com(yi+5+N);write_1602dat(*);/=顯示提示輸入=void DisplayChar(void)unsigned char i;if(pass=1)/DisplayListChar(0,1,LockOpen);write_1602com(er);for(i=0;i16;i+)write_1602dat(Lo
48、ckOpeni);elseif(N=0)/DisplayListChar(0,1,Error);write_1602com(er);for(i=0;i16;i+)write_1602dat(Errori);else/DisplayListChar(0,1,start_line);write_1602com(er);for(i=0;i16;i+)write_1602dat(start_linei);void DisplayInput(void)unsigned char i;if(CorrectCont=1)/DisplayListChar(0,0,Input);33write_1602com(
49、er);for(i=0;i16;i+)write_1602dat(Inputi);/=重置密碼=/=void ResetPassword(void)unsigned char i;unsigned char j;if(pass=0)pass=0;DisplayChar();ThreeAlam();else if(ReInputEn=1)if(N=6)ReInputCont+;if(ReInputCont=2)for(i=0;i6;)if(TempPasswordi=InputDatai)/將兩次輸入的新密碼作對比i+;else/DisplayListChar(0,1,Error);write_
50、1602com(er);for(j=0;j16;j+)write_1602dat(Errorj);ThreeAlam();/錯(cuò)誤提示pass=0;ReInputEn=0;/關(guān)閉重置功能,34ReInputCont=0;DisplayChar();break; if(i=6)/DisplayListChar(0,1,ResetOK);write_1602com(er);for(j=0;j16;j+)write_1602dat(ResetOKj);TwoAlam();/操作成功提示 WrToROM(TempPassword,0,6);/將新密碼寫入 24C02 存儲ReInputEn=0;ReIn
51、putCont=0;CorrectCont=0;elseOneAlam();/DisplayListChar(0, 1, again); /顯示再次輸入一次write_1602com(er);for(j=0;j16;j+)write_1602dat(againj);for(i=0;i6;i+)TempPasswordi=InputDatai;/將第一次輸入的數(shù)據(jù)暫存起來N=0;/輸入數(shù)據(jù)位數(shù)計(jì)數(shù)器清零 35/=輸入密碼錯(cuò)誤超過三過,報(bào)警并鎖死鍵盤=void Alam_KeyUnable(void)P1=0 x00;ALAM=ALAM;Delay5Ms();/=取消所有操作=void Cance
52、l(void)unsigned char i;unsigned char j;/DisplayListChar(0, 1, start_line); write_1602com(er);for(j=0;j16;j+)write_1602dat(start_linej);TwoAlam();/提示音for(i=0;i6;i+)InputDatai=0;KEY=1;/關(guān)閉鎖ALAM=1;/報(bào)警關(guān)operation=0;/操作標(biāo)志位清零pass=0;/密碼正確標(biāo)志清零ReInputEn=0;/重置輸入充許標(biāo)志清零ErrorCont=0;/密碼錯(cuò)誤輸入次數(shù)清零CorrectCont=0;/密碼正確輸入
53、次數(shù)清零ReInputCont=0;/重置密碼輸入次數(shù)清零 open_led=1;s3_keydown=0;key_disable=0;N=0;/輸入位數(shù)計(jì)數(shù)器清零/=確認(rèn)鍵,并通過相應(yīng)標(biāo)志位執(zhí)行相應(yīng)功能=void Ensure(void)36unsigned char i,j;RdFromROM(CurrentPassword,0,6); /從 24C02 里讀出存儲密碼 if(N=6) if(ReInputEn=0)/重置密碼功能未開啟for(i=0;i6;) if(CurrentPasswordi=InputDatai)i+;else ErrorCont+;if(ErrorCont=3)
54、/錯(cuò)誤輸入計(jì)數(shù)達(dá)三次時(shí),報(bào)警并鎖定鍵盤write_1602com(er);for(i=0;i16;i+)write_1602dat(Errori);doAlam_KeyUnable();while(1);elseTR0=1;/開啟定時(shí)key_disable=1;/鎖定鍵盤pass=0;break;if(i=6)CorrectCont+;if(CorrectCont=1)/正確輸入計(jì)數(shù),當(dāng)只有一次正確輸入時(shí),開鎖,/DisplayListChar(0,1,LockOpen);write_1602com(er);for(j=0;j16;j+)37write_1602dat(LockOpenj);T
55、woAlam();/操作成功提示音KEY=0;/開鎖pass=1;/置正確標(biāo)志位TR0=1;/開啟定時(shí)open_led=0;/開鎖指示燈亮for(j=0;j6;j+)/將輸入清除InputDatai=0;else/當(dāng)兩次正確輸入時(shí),開啟重置密碼功能/DisplayListChar(0,1,SetNew);write_1602com(er);for(j=0;j16;j+)write_1602dat(SetNewj);TwoAlam(); /操作成功提示ReInputEn=1;/允許重置密碼輸入CorrectCont=0;/正確計(jì)數(shù)器清零 else/=當(dāng)?shù)谝淮问褂没蛲浢艽a時(shí)可以用 131420
56、對其密碼初始化=if(InputData0=1)&(InputData1=3)&(InputData2=1)&(InputData3=4)&(InputData4=2)&(InputData5=0) WrToROM(initpassword,0,6); /強(qiáng)制將初始密碼寫入 24C02 存儲/DisplayListChar(0,1,initword);/顯示初始化密碼write_1602com(er);for(j=0;j16;j+)write_1602dat(initwordj);TwoAlam();Delay400Ms();TwoAlam();38N=
57、0;else/DisplayListChar(0,1,Error);write_1602com(er);for(j=0;j16;j+)write_1602dat(Errorj); ThreeAlam();/錯(cuò)誤提示音pass=0;else/當(dāng)已經(jīng)開啟重置密碼功能時(shí),而按下開鎖鍵,/DisplayListChar(0,1,Er_try);write_1602com(er);for(j=0;j16;j+)write_1602dat(Er_tryj);ThreeAlam();else/DisplayListChar(0,1,Error);write_1602com(er);for(j=0;j16;j
58、+)write_1602dat(Errorj); ThreeAlam();/錯(cuò)誤提示音pass=0;N=0;/將輸入數(shù)據(jù)計(jì)數(shù)器清零,為下一次輸入作準(zhǔn)備 operation=1;/=主函數(shù)=39void main(void) unsigned char KEY,NUM;unsigned char i,j; P1=0 xFF; TMOD=0 x11; TL0=0 xB0; TH0=0 x3C; EA=1; ET0=1; TR0=0; Delay400Ms(); /啟動等待,等 LCM 講入工作狀態(tài) lcd_init(); /LCD 初始化write_1602com(yi);/日歷顯示固定符號從第一行第 0 個(gè)位置之后開始顯示for(i=0;i16;i+)write_1602dat(namei);/向液晶屏寫日歷顯示的固定符號部分write_1602com(er)
溫馨提示
- 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)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 甘肅省白銀市2025年中考道德與法治真題及答案
- 2025年中國駕駛服裝行業(yè)市場全景分析及前景機(jī)遇研判報(bào)告
- 2025年中國家用洗衣機(jī)和烘干機(jī)行業(yè)市場全景分析及前景機(jī)遇研判報(bào)告
- 內(nèi)外螺紋外接頭項(xiàng)目投資可行性研究分析報(bào)告(2024-2030版)
- 2025年中國針狀硅灰石粉行業(yè)市場發(fā)展前景及發(fā)展趨勢與投資戰(zhàn)略研究報(bào)告
- 2025年中國玻璃清洗機(jī)市場發(fā)展前景預(yù)測及投資戰(zhàn)略咨詢報(bào)告
- 2025年中國大型投影機(jī)行業(yè)市場發(fā)展前景及發(fā)展趨勢與投資戰(zhàn)略研究報(bào)告
- 2025年塑料型材制造市場分析報(bào)告
- 2025年 宜賓市興文縣考調(diào)縣城區(qū)學(xué)校教師筆試試題附答案
- 2025年 企業(yè)人力資源管理師三級考試練習(xí)試題附答案
- 化妝品監(jiān)督管理?xiàng)l例培訓(xùn)2024
- 精益生產(chǎn)5S競賽題庫(含答案)
- 《智慧物流理論》期末考試復(fù)習(xí)題庫(含答案)
- 洋地黃的基因組學(xué)研究
- 丁腈橡膠材質(zhì)報(bào)告
- DB15-T 3586-2024 黃河灌區(qū)高標(biāo)準(zhǔn)農(nóng)田鹽堿地改良效果綜合評價(jià)方法
- 2024-2030年中國寵物家具行業(yè)市場發(fā)展趨勢與前景展望戰(zhàn)略分析報(bào)告
- DL∕T 664-2016 帶電設(shè)備紅外診斷應(yīng)用規(guī)范
- 河北省承德市平泉市2023-2024學(xué)年七年級下學(xué)期期末數(shù)學(xué)試題(無答案)
- DL-T448-2016電能計(jì)量裝置技術(shù)管理規(guī)程
- 2024建筑工程勞務(wù)分包合同標(biāo)準(zhǔn)范本
評論
0/150
提交評論