【畢業(yè)論文 畢業(yè)設計】基于單片機的電子密碼鎖設計 畢業(yè)設計
《【畢業(yè)論文 畢業(yè)設計】基于單片機的電子密碼鎖設計 畢業(yè)設計》由會員分享,可在線閱讀,更多相關《【畢業(yè)論文 畢業(yè)設計】基于單片機的電子密碼鎖設計 畢業(yè)設計(47頁珍藏版)》請在裝配圖網上搜索。
1、 基于單片機的電子密碼鎖設計 摘 要 在日常的生活和工作中, 住宅與部門的平安防范、單位的文件檔案、財務報表以及一些個人資料的保存多以加鎖的方法來解決。假設使用傳統(tǒng)的機械式鑰匙開鎖,人們常需攜帶多把鑰匙, 使用極不方便, 且鑰匙喪失后平安性即大打折扣。在平安技術防范領域,具有防盜報警功能的電子密碼鎖逐漸代替了傳統(tǒng)的機械式密碼鎖,電子密碼鎖具有平安性高、本錢低、功耗低、易操作等優(yōu)點。 本文從經濟實用的角度出發(fā),采用美國Atmel公司的單片機AT89S51作為主控芯片與數據存儲器單元,結合外圍的矩陣鍵盤輸入、LCD液晶顯示、報警、開鎖等,用C語言編寫的主控芯片控制程序與EEP
2、ROM AT24C02讀寫程序相結合,并用Keil軟件進行編譯,設計了一款可以屢次更改密碼,具有報警功能的電子密碼控制系統(tǒng)。 這種密碼鎖的電路設計具有防試探按鍵輸入、智能控制上鎖、開鎖、報警、修改密碼等多種功能。密碼長度可變、保密性強、靈活性高、應用日益廣泛。 關鍵詞 密碼鎖 單片機 報警 LCD顯示 Design of Electric Password Lock Based on MCU ABSTRACT In the daily life and the work, the way to the house's and d
3、epartment's safe guard, unit's document file, the financial reporting as well as some individual material preservation almost need many locks. If we use tradition mechanical key to open, the people often must carry many keys, but it is not extremely convenient. If the key lost, the security will dec
4、line greatly. In the safety work guard domain, the lock with security warning function electronic combination have replaced the traditional mechanical combination lock gradually, the electronic combination lock have the highly security, the lowly cost , the lowly power wastage, easy to operate and s
5、o on merits. This article is based on the economical and practical point of view, uses the United States Atmel Corporation AT89S51 microcontroller as a master chip and the data memory unit, it combines with the external matrix keyboard input, LCD digital display, alarm, unlock and so on circuits,
6、 dominates by the C programming language chip EEPROM of the control procedures and carries on the translation with Keil software, the password can be changed many times, the electronic the password control also has the alarming function. This password lock circuit design has anti-test button input
7、, intelligent control lock, unlock, alarm and change the password multiple functions. Password length can be changed, great security and high flexible than others, it is widely used . Key Words: Password lock; MCU; Alarm; LCD Display 目 錄 摘要 第一章 緒論 ………………………………………………………………
8、1 ………………………………………………………1 ………………………………………………………2 …………………………………………………………………2 第二章 主要元器件介紹 ……………………………………………………………3 ……………………………………………………………6 LCD1602顯示器………………………………………………………………7 晶體振蕩器……………………………………………………………………8 第三章 硬件系統(tǒng)構成 ………………………………………………………………………10 …………………………………………………………………10 ……………………………
9、……………………………………11 …………………………………………………………………12 …………………………………………………………………12 ………………………………………………………………………13 ………………………………………………………………………14 ………………………………………………………………………14 ………………………………………………………………………15 ……………………………………………………………………15 第四章 軟件系統(tǒng)設計 主程序流程圖…………………………………………………………………17 …………………………………………………………
10、………18 ……………………………………………………………19 …………………………………………………………………20 第五章 調試與實現 ………………………………………………………………………21 ………………………………………………………………………21 5.3 Pruteus仿真…………………………………………………………………22 結論與展望 致謝 參考文獻 附錄 第一章 緒
11、 論 1.1 電子密碼鎖簡介 電子密碼鎖是一種通過密碼輸入來控制電路或是芯片工作,從而控制機械開關的閉合,完成開鎖、閉鎖任務的電子產品。它的種類很多,有簡易的電路產品,也有基于芯片的性價比擬高的產品。現在應用較廣的電子密碼鎖是以芯片為核心,通過編程來實現的。其性能和平安性已大大超過了機械鎖。其特點如下: 1) 保密性好,編碼量多,遠遠大于彈子鎖。隨機開鎖成功率幾乎為零。 2) 密碼可變,用戶可以隨時更改密碼,防止密碼被盜,同時也可以防止因 人員的更替而使鎖的密級下降。 3) 誤碼輸入保護,當輸入密碼屢次錯誤時,報警系統(tǒng)自動啟動。 4) 無活動零件,不會磨損,壽命長。 5)
12、使用靈活性好,不像機械鎖必須佩帶鑰匙才能開鎖。 6) 電子密碼鎖操作簡單易行,一學即會。 1.2 電子密碼鎖的開展趨勢 日常生活和工作中,住宅與部門的平安防范、單位的文件檔案、財務報表以及一些個人資料的保存多以加鎖的方法來解決。目前門鎖主要用彈子鎖,其鑰匙容易喪失;保險箱主要用機械密碼鎖,其結構較為復雜,制造精度要求高,本錢高,且易出現故障,人們常需攜帶多把鑰匙,使用極不方便,且鑰匙喪失后平安性即大打折扣。針對這些鎖具給人們帶來的不便假設使用機械式鑰匙開鎖,為滿足人們對鎖的使用要求,增加其平安性,用密碼代替鑰匙的密碼鎖應運而生。由于電子器件所限,以前開發(fā)的電子密碼鎖,其種類不多,保密性
13、差,最根本的就是只依靠最簡單的模擬電子開關來實現的,制作簡單但很不平安,在后為多是基于EDA來實現的,其電路結構復雜,電子元件繁多,也有使用早先的20引角的2051系列單片機來實現的,但密碼簡單,易破解。隨著電子元件的進一步開展,電子密碼鎖也出現了很多的種類,功能日益強大,使用更加方便,平安保密性更強,由以前的單密碼輸入開展到現在的,密碼加感應元件,實現了真真的電子加密,用戶只有密碼或電子鑰匙中的一樣,是打不開鎖的,隨著電子元件的開展及人們對保密性需求的提高出現了越來越多的電子密碼鎖。出于平安、方便等方面的需要許多電子密碼鎖已相繼問世。但這類產品的特點是針對特定有效卡、指紋或聲音有效,且不能實
14、現遠程控制,只能適用于保密要求高且供個人使用的箱、柜、房間等。由于數字、字符、圖形圖像、人體生物特征和時間等要素均可成為鑰匙的電子信息,組合使用這些信息能夠使電子防盜鎖獲得高度的保密性,如防范森嚴的金庫,需要使用復合信息密碼的電子防盜鎖,組合使用信息也能夠使電子防盜鎖獲得無窮擴展的可能,使產品多樣化,對用戶而言是“千挑百選、自得其所〞??梢钥闯鼋M合使用電子信息是電子密碼鎖以后開展的趨勢。 1.3 本設計所要實現的目標 本設計采用單片機為主控芯片,結合外圍電路,組成電子密碼鎖,用戶想要翻開鎖,必先通過提供的鍵盤輸入正確的密碼才能將鎖翻開,密碼輸入錯誤有提示,為了提高平安性,當密碼輸入錯誤三
15、次將報警。密碼可以有用戶自己修改設定,鎖翻開后才能修改密碼。修改密碼之前必須再次輸入就的密碼,在輸入新密碼的時候要二次確認,以防止誤操作。 設計方案簡介 采用以單片機為核心的控制方案 由于單片機種類繁多,各種型號都有其一定的應用環(huán)境,因此在選用時要多加比擬,合理選擇,以期獲得最正確的性價比。一般來說在選取單片機時從下面幾個方面考慮:性能、存儲器、運行速度、I/O口、定時/計數器、串行接口、模擬電路功能、工作電壓、功耗、封裝形式、抗干擾性、保密性,除了以上的一些的還有一些最根本的比方:中斷源的數量和優(yōu)先級、工作溫度范圍、有沒有低電壓檢測功能、單片機內有無時鐘振蕩器、有無上電復位功能等。
16、在開發(fā)過程中單片機還受到:開發(fā)工具、編程器、開發(fā)本錢、開發(fā)人員的適應性、技術支持和效勞等等因素?;谝陨弦蛩乇驹O計選用單片機AT89S51作為本設計的核心元件,利用單片機靈活的編程設計和豐富的I/O端口,及其控制的準確性,實現根本的密碼鎖功能。在單片機的外圍電路外接輸入鍵盤用于密碼的輸入和一些功能的控制,外接AT24C02芯片用于密碼的存儲,外接LCD1602顯示器用于顯示作用。當用戶需要開鎖時,先按鍵盤開鎖鍵之后按鍵盤的數字鍵0-9輸入密碼。密碼輸完后按下確認鍵,如果密碼輸入正確那么開鎖,不正確顯示密碼錯誤重新輸入密碼,當三次密碼錯誤那么發(fā)出報警;當用戶需要修改密碼時,先按下鍵盤設置鍵后輸入
17、原來的密碼,只有當輸入的原密碼正確后才能設置新密碼。新密碼輸入無誤后按確認鍵使新密碼將得到存儲,密碼修改成功。 第二章 主要元器件 主控芯片AT89S51 單片機AT89S51功能介紹 AT89S51是一種帶4K字節(jié)閃爍可編程可擦除只讀存儲器〔FPEROM—Falsh Programmable and Erasable Read Only Memory〕的低電壓,高性能CMOS8位微處理器,俗稱單片機。該器件采用ATMEL高密度非易失存儲器制造技術制造,與工業(yè)標準的MCS-51指令集和輸出管腳相兼容。由于將多功能8位CPU和閃爍存儲器組合在單個芯片中,ATMEL的AT89S51是一種
18、高效微控制器,為很多嵌入式控制系統(tǒng)提供了一種靈活性高且價廉的方案,AT89S51芯片引腳圖如圖2-1所示。 主要特性: ·與MCS-51 兼容 ·4K字節(jié)可編程閃爍存儲器 ·壽命:1000寫/擦循環(huán) ·數據保存時間:10年 ·全靜態(tài)工作:0Hz-24Hz ·三級程序存儲器鎖定 ·128*8位內部RAM ·32可編程I/O線 ·兩個16位定時器/計數器 ·5個中斷源 ·可編程串行通道 ·低功耗的閑置和掉電模式 ·片內振蕩器和時鐘電路 管腳說明: 下面按其引腳功能分為四局部表達這40條引腳的功能。 1、主電源引腳VSS和VSS
19、 AT89S51芯片引腳圖 VSS——〔40腳〕接+5V電壓; VSS——〔20腳〕接地。 2、外接晶體引腳XTAL1和XTAL2 XTAL1〔19腳〕接外部晶體的一個引腳。在單片機內部,它是一個反相放大器的輸入端,這個放大器構成了片內振蕩器。當采用外部振蕩器時,對HMOS單片機,此引腳應接地;對SHMOS單片機,此引腳作為驅動端。 XTAL2〔18腳〕接外晶體的另一端。在單片機內部,接至上述振蕩器的反相放大器的輸出端。采用外部振蕩器時,對HMOS單片機,該引腳接外部振蕩器的信號,即把外部振蕩器的信號直接接到內部時鐘發(fā)生器
20、的輸入端;對XHMOS,此引腳應懸浮。 3、控制或與其它電源復用引腳RST/VPD、ALE/PROG、PSEN和EA/VPP ①RST/VPD〔9腳〕當振蕩器運行時,在此腳上出現兩個機器周期的高電平將使單片機復位。推薦在此引腳與VSS引腳之間連接一個約8.2k的下拉電阻,與VSS引腳之間連接一個約10μF的電容,以保證可靠地復位。 VSS掉電期間,此引腳可接上備用電源,以保證內部RAM的數據不喪失。當VSS主電源下掉到低于規(guī)定的電平,而VPD在其規(guī)定的電壓范圍〔5±0.5V〕內,VPD就向內部RAM提供備用電源。 ②ALE/PROG〔30腳〕:當訪問外部存貯器時,ALE〔允許地
21、址鎖存〕的輸出用于鎖存地址的低位字節(jié)。即使不訪問外部存儲器,ALE端仍以不變的頻率周期性地出現正脈沖信號,此頻率為振蕩器頻率的1/6。因此,它可用作對外輸出的時鐘,或用于定時目的。然而要注意的是,每當訪問外部數據存儲器時,將跳過一個ALE脈沖。ALE端可以驅動〔吸收或輸出電流〕8個LS型的TTL輸入電路。 對于EPROM單片機〔如8751〕,在EPROM編程期間,此引腳用于輸入編程脈沖〔PROG〕。 ③PSEN〔29腳〕:此腳的輸出是外部程序存儲器的讀選通信號。在從外部程序存儲器取指令〔或常數〕期間,每個機器周期兩次PSEN有效。但在此期間,每當訪問外部數據存儲器時,這兩次有效的PSEN信
22、號將不出現。PSEN同樣可以驅動〔吸收或輸出〕8個LS型的TTL輸入。 ④EA/VPP〔引腳〕:當EA端保持高電平時,訪問內部程序存儲器,但在PS〔程序計數器〕值超過0FFFH〔對851/8751/80S51〕或1FFFH〔對8052〕時,將自動轉向執(zhí)行外部程序存儲器內的程序。當EA保持低電平時,那么只訪問外部程序存儲器,不管是否有內部程序存儲器。對于常用的8031來說,無內部程序存儲器,所以EA腳須常接地,這樣才能只選擇外部程序存儲器。 對于EPROM型的單片機〔如8751〕,在EPROM編程期間,此引腳也用于施加21V的編程電源〔VPP〕。 4.控制或與其它電源復用引腳 RST/
23、Vpd,ALE/PROG,PSEN 和EA/Vpp。 RST/Vpd 當振蕩器運行時。在此引腳上出現兩個機器同期的高電平〔由低到高跳變〕,將使單片機復位。 在 VSS掉電期間,此引腳可接上備用電源,由 Vpd向內部 RAM提供備用電源,以保持內部RAM中的數據。 ALE/PROG 正常操作時為ALE功能〔允許地址錢存〕,提供把地址的低字節(jié)鎖存到外部鎖存器。ALE引腳以不變的頻率〔振蕩周期的1/6〕周期性地發(fā)出正脈沖信號。因此,它可用作對外輸出的時鐘,或用于定時目的。但要注意,每當訪問外部數據存儲器時,將跳過一個 ALE脈沖。 ALE端可以驅動〔吸收或輸出電流〕八個 LSTTL電路。 對
24、于 EPROM型單片機,在 EPROM編程期間,此引腳接收編程脈沖〔PROG功能〕。 PSEN 外部程序存儲器讀選通信號輸出端。在從外部程序存儲器取指令〔或數據〕期間;PSEN 在每個機器周期內兩次有效。 PSEN 同樣可以驅動八個LSTTL輸入。 EA/Vpp EA為內部程序存儲器和外部程序存儲器選擇端。當EA為高電平時,訪問內部程序存儲器〔PS值小于4K〕。當EA為低電平時,那么訪問外部程序存儲器。對于EPROM型單片機,在EPROM編程期間,此引腳上加21VEPROM編程電源〔Vpp〕。 5、輸入/輸出〔I/O〕引腳P0、P1、P2、P3〔共32根〕 ①P0口〔39腳至32腳〕
25、:是雙向8位三態(tài)I/O口,在外接存儲器時,與地址總線的低8位及數據總線復用,能以吸收電流的方式驅動8個LS型的TTL負載。 ②P1口〔1腳至8腳〕:是準雙向8位I/O口。由于這種接口輸出沒有高阻狀態(tài),輸入也不能鎖存,故不是真正的雙向I/O口。P1口能驅動〔吸收或輸出電流〕4個LS型的TTL負載。對8052、8032,P1.0引腳的第二功能為T2定時/計數器的外部輸入,P1.1引腳的第二功能為T2EX捕捉、重裝觸發(fā),即T2外部控制端。對EPROM編程和程序驗證時,它接收低8位地址。 ③P2口〔21腳至28腳〕:是準雙向8位I/O口。在訪問外部存儲器時,它可以作為擴展電路高8位地址總線送出
26、高8位地址。在對EPROM編程和程序驗證期間,它接收高8位地址。P2可以驅動〔吸收或輸出電流〕4個LS型的TTL負載。 ④P3口〔10腳至17腳〕:是準雙向8位I/O口,在MSS-51中,這8個引腳還用于專門功能,是復用雙功能口。P3能驅動〔吸收或輸出電流〕4個LS型的TTL負載。 作為第一功能使用時,就作為普通I/O口用,功能和操作方法與P1口相同。作為第二功能使用時,各引腳的定義如表所示。 值得強調的是,P3口的每一條引腳均可獨立定義為第一功能的輸入輸出或第二功能。 表2-1 P3口管腳備選功能 RXD〔串行輸入口〕 TXD〔串行輸出口〕 /INT0〔外部中
27、斷0〕 /INT1〔外部中斷1〕 T0〔記時器0外部輸入〕 T1〔記時器1外部輸入〕 /WR〔外部數據存儲器寫選通〕 /RD〔外部數據存儲器讀選通〕 存儲芯片AT24C02 如圖2-2為AT24C02的芯片引腳圖。 圖2-2 AT24C02的芯片引腳圖 特點:低壓和標準電壓運行模式 – 2.7 (VCC = 2.7V to 5.5V) – 1.8 (VCC = 1.8V to 5.5V) 內建128x8存儲序列,2線制串行接口,雙向數據傳送協(xié)議,100kHz(1.8V,2.5V,2.7V) 和400kHz(5V)兼容,寫同步時鐘(最大10m
28、s),高可靠性,極限:1M寫時鐘周期,數據保存:100年,不斷推進的芯片等級擴大了設備的可用溫度范圍。 AT24C02提供電可擦除的串行1024位存儲或可編程只讀存儲器(EEPROM)128字(8位/字)。芯片在低壓的工業(yè)與商業(yè)應用中進行了最優(yōu)化。 設備操作: CLOCK 和DATA變化:SDA管腳通常外部要拉高。SDA管腳上的數據只能在SCL低期間改變。數據在SCL高期間改變定義為一個開始或停止信號。 開始狀態(tài):在任何操作之前必須有一個開始信號----在SCL為高時SDA上產生一個下降沿。 停止狀態(tài): SCL為高時SDA產生一個上升沿是停止信號,停止信號后將停止所有通信。 在一個
29、讀的序列之后,停止信號將讓EEPROM進入備用電源模式。 2.3 LCD16022顯示器 液晶顯示模塊已作為很多電子產品的通過器件,如在計算器、萬用表、電子表及很多家用電子產品中都可以看到,顯示的主要是數字、專用符號和圖形。1602型LCD顯示模塊具有體積小,功耗低,顯示內容豐富等特點。1602型LCD可以顯示2行16個字符,有8位數據總線D0-D7和RS,R/W,EN三個控制端口,工作電壓為5V,并且具有字符比照度調節(jié)和背光功能。 接口信號說明: 1602型LCD的接口信號說明如表2-2所示。 表2-2 LCD1602接口信號說明 編號 符號 引腳說明 編號 符號 引腳
30、說明 1 VSS 電源地 9 D2 數據 2 VDD 電源正極 10 D3 數據 3 VL 液晶顯示偏壓 11 D4 數據 4 RS 數據/命令選擇 12 D5 數據 5 R/W 讀/寫選擇 13 D6 數據 6 E 使能信號 14 D7 數據 7 D0 數據 15 BLA 背光源正極 8 D1 數據 16 BLK 背光源負極 1602型LCD主要技術參數: 顯示容量:16×2個字符 工作電流:2.0mA(5.0V) 字符尺寸:2.95×4.35(W×H)mm 1602型LCD根本
31、操作程序如下表所示: 表2-3 LCD1602根本操作程序 讀狀態(tài) 輸入 RS=L,R/W=H,E=H 輸出 D0—D7=狀態(tài)字 寫指令 輸入 RS=L,R/W=L,D0—D7=指令碼,E=高脈沖 輸出 無 讀數據 輸入 RS=H,R/W=H,E=H 輸出 D0—D7=數據 寫數據 輸入 RS=H,R/W=L,D0—D7=數據,E=高脈沖 輸出 無 晶體振蕩器 晶體振蕩器,簡稱晶振,其作用在于產生原始的時鐘頻率,這個頻率經過頻率發(fā)生器的放大或縮小后就成了電腦中各種不同的總線頻率。以聲卡為例,要實現對模擬信號44.1kHz或48kHz的采樣,頻率發(fā)生
32、器就必須提供一個44.1kHz或48kHz的時鐘頻率。如果需要對這兩種音頻同時支持的話,聲卡就需要有兩顆晶振。但是現在的娛樂級聲卡為了降低本錢,通常都采用SCR將輸出的采樣頻率固定在48kHz,但是SRC會對音質帶來損害,而且現在的娛樂級聲卡都沒有很好地解決這個問題?,F在應用最廣泛的是石英晶體振蕩器。 石英晶體振蕩器是一種高精度和高穩(wěn)定度的振蕩器,石英晶體振蕩器也稱石英晶體諧振器,它用來穩(wěn)定頻率和選擇頻率,是一種可以取代LC諧振回路的晶體諧振元件。石英晶體振蕩器廣泛地應用在電視機、影碟機、錄像機、無線通訊設備、電子鐘表、單片機、數字儀器儀表等電子設備中。為數據處理設備產生時鐘信號和為
33、特定系統(tǒng)提供基準信號。在單片機中為其提供時鐘頻率。 石英晶體振蕩器是利用石英晶體〔二氧化硅的結晶體〕的壓電效應制成的一種諧振器件,它的根本構成大致是:從一塊石英晶體上按一定方位角切下薄片〔簡稱為晶片,它可以是正方形、矩形或圓形等〕,在它的兩個對應面上涂敷銀層作為電極,在每個電極上各焊一根引線接到管腳上,再加上封裝外殼就構成了石英晶體諧振器,簡稱為石英晶體或晶體、晶振。其產品一般用金屬外殼封裝,也有用玻璃殼、陶瓷或塑料封裝的。只要在晶體振子板極上施加交變電壓,就會使晶片產生機械變形振動,此現象即所謂逆壓電效應。當外加電壓頻率等于晶體諧振器的固有頻率時,就會發(fā)生壓電諧振,從而導致機械變形的振幅突
34、然增大。 第三章 硬件系統(tǒng)設計 3.1 設計原理 本設計主要由單片機、矩陣鍵盤、液晶顯示器和密碼存儲等局部組成。其中矩陣鍵盤用于輸入數字密碼和進行各種功能的實現。由用戶通過連接單片機的矩陣鍵盤輸入密碼,后經過單片機對用戶輸入的密碼與自己保存的密碼進行比照,從而判斷密碼是否正確,然后控制引腳的上下電平傳到開鎖電路或者報警電路控制開鎖還是報警,實際使用時只要將單片機的負載由繼電器換成電子密碼鎖的電磁鐵吸合線圈即可,當然也可以用繼電器的常開觸點去控制電磁鐵吸合線圈。 本系統(tǒng)共有兩局部構成,即
35、硬件局部與軟件局部。其中硬件局部由電源輸入局部、鍵盤輸入局部、密碼存儲局部、復位局部、晶振局部、顯示局部、報警局部、開鎖局部組成,軟件局部對應的由主程序、初始化程序、LCD顯示程序、鍵盤掃描程序、啟動程序、關閉程序、建功能程序、密碼設置程序、EEPROM讀寫程序和延時程序等組成。 AT89C51 鍵盤輸入 復位電路 密碼存儲電路 晶振電路 電源輸入 顯示電路 報警電路 開鎖電路 圖3-1 電子密碼鎖原理框圖 3.2 電路總體構成 在確定了選用什么型號的單片機后,就要確定在外圍電路,其外圍電路包括電源輸入局部、
36、鍵盤輸入局部、密碼存儲局部、復位局部、晶振局部、顯示局部、報警局部、開鎖局部組成,根據實際情況鍵盤輸入局部選擇4*4矩陣鍵盤,顯示局部選擇字符型液晶顯示LCD1602,密碼存儲局部選用AT24C02芯片來完成。其原理圖如圖3-2所示: 圖3-2 電路總體結構圖 3.3 電源輸入電路 密碼鎖主要控制局部電源需要用5V直流電源供電,其電路如圖3-3所示,而5V電源輸入時往往伴有雜波,所以加一個2.2uF的電容濾波。這樣輸出的電壓一般能滿足要求。 圖3-3 電源輸入電路原理圖 3.4 鍵盤輸入電路 由于本設計所用到的按鍵數
37、量較多而不適合用獨立按鍵式鍵盤。采用的是矩陣式按鍵鍵盤,它由行線和列線組成,也稱行列式鍵盤,按鍵位于行列的交叉點上,密碼鎖的密碼由鍵盤輸入完成,與獨立式按鍵鍵盤相比,要節(jié)省很多I/O口。本設計中使用的這個4*4鍵盤不但能完成密碼的輸入還能作特別功能鍵使用,比方清空顯示功能等。鍵盤的每個按鍵功能在程序設計中設置 。其大體功能〔看鍵盤按鍵上的標記〕及與單片機引腳接法如圖3-4所示: 圖3-4 鍵盤輸入原理圖 3.5 密碼存儲電路 AT24C02是ATMEL公司的2KB字節(jié)的電可擦除存儲芯片,采用兩線串行的總線和單片機通訊,電壓最低可以到2.5V,額定電流為1mA,靜態(tài)電流10Ua(5.
38、5V),芯片內的資料可以在斷電的情況下保存40年以上,而且采用8腳的DIP封裝,使用方便。其電路如圖3-5所示。 圖中1、2、3腳是三條地址線,用于確定芯片的硬件地址,在AT89S51上它們都能接地,第5腳和第8腳分別為正、負電源。AT24C02中帶有片內地址存放器,每寫入或讀出一個數據字節(jié)后,該地址存放器自動加1,以實現對下一個儲存單元的讀寫,所有字節(jié)均以單一操作方式讀取。 3.6 復位電路 單片機復位是使CPU和系統(tǒng)中的其他功能部件都處在一個確定的初始狀態(tài),并從這個狀態(tài)開始工作,例如復位后PC=0000H,使單片機從第—個單元取指令。無論是在單片機剛開始接上電源時,還是斷電后或
39、者發(fā)生故障后都要復位。在復位期間〔即RST為高電平期間〕,P0口為高組態(tài),P1-P3口輸出高電平;外部程序存儲器讀選通信號PSEN無效。地址鎖存信號ALE也為高電平。根據實際情況選擇如圖2-8所示的復位電路。該電路在最簡單的復位電路下增加了手動復位按鍵,在接通電源瞬間,電容C1上的電壓很小,復位下拉電阻上的電壓接近電源電壓,即RST為高電平,在電容充電的過程中RST端電壓逐漸下降,當RST端的電壓小于某一數值后,CPU脫離復位狀態(tài),由于電容C1足夠大,可以保證RST高電平有效時間大于24個振蕩周期,CPU能夠可靠復位。增加手動復位按鍵是為了防止死機時無法可靠復位。當復位按鍵按下后電容C1通過R
40、5放電。當電容C1放電結束后,RST端的電位由R11與R15分壓比決定。由于R11< 41、圍在0~33MHz之間,電容C2、C3取值范圍在5~30pF之間。根據實際情況,本設計中采用12MHZ做系統(tǒng)的外部晶振。電容取值為20pF。
圖3-7 晶振電路原理圖
3.8 顯示電路
為了提高密碼鎖的密碼顯示效果能力。本設計的顯示局部由液晶顯示器LCD1602取代普通的數碼管來完成。只有按下鍵盤上的開啟按鍵后,顯示器才處于開啟狀態(tài)。同理只有按下關閉按鍵后顯示器才處于關閉狀態(tài)。否那么顯示器將一直處于初始狀態(tài),當需要對密碼鎖進行開鎖時,按下鍵盤上的開鎖按鍵后利用鍵盤上的數字鍵0-9輸入密碼,每按下一個數字鍵后在顯示器上顯示一個*,輸入多少位就顯示多少個*。當密碼輸入完成時,按 42、下確認鍵,如果輸入的密碼正確的話, LCD子顯示“RIGHT〞,單片機其中P2.0引角會輸出低電平,使三極管T2導通,電磁鐵吸合,電子密碼鎖被翻開,如果密碼不正確,LCD顯示屏會顯示“ERROR〞,P2.0輸出的是高電平,電子密碼鎖不能被翻開。通過LCD顯示屏,可以清楚的判斷出密碼鎖所處的狀態(tài) 。其顯示局部引腳接口如圖3-8所示:
圖3-8 顯示電路原理圖
3.9 報警電路
報警局部由陶瓷壓電發(fā)聲裝置及外圍電路組成,加電后不發(fā)聲,當有鍵按下時,“叮〞聲,每按一下,發(fā)聲一次,密碼正確時,不發(fā)聲直接開鎖,當密碼輸入錯誤時,單片機的P2.1引腳為低電平,三極管T3導喇叭發(fā)出噪鳴聲報警。如 43、圖3-9所示:
圖3-9 報警電路原理圖
3.10 開鎖電路
通過單片機開鎖執(zhí)行機構,電路驅動電磁鎖吸合,從而到達開鎖的目的。其原理如圖3-10所示。
電磁鎖
單片機
微控制器
開鎖驅動電路
返回
N
Y
密碼正確?
圖3-10密碼鎖開鎖機構示意圖
當用戶輸入的密碼正確時,單片機便輸出開門信號,送到開鎖驅動電路,然后驅動電磁鎖,到達開門的目的。其實際電路如圖3-11所示。
電路由驅動和開鎖兩級組成。由D1、R12、Q1組成驅動電路,其中Q1可以選擇普通的小功率三極管如8050、9018都可以滿足要求。D1是開鎖指示燈;由D2、C 44、5組成開鎖。其中D2、C5是為了消除電磁鎖可能產生的反向高電壓以及可能產生的電磁干擾。電磁鎖的選用要視情況而定,但是吸合力要足夠且有一定的余量。
在設計中,暫時用發(fā)光二極管代替電磁鎖,發(fā)光管亮,表示開鎖;滅,表示沒有開鎖。
圖3-11 開鎖電路原理圖
第四章 軟件程序設計
本系統(tǒng)軟件設計由主程序、初始化程序、LCD顯示程序、鍵盤掃描程序、鍵功能程序、密碼設置程序、EEPROM讀寫程序和延時程序等組成。
流程圖
如圖4-1 為主程序流程圖,開始接上電源,程序進行初始化設置,然后在鍵盤上輸入密碼,此系統(tǒng)進行鍵盤掃描,密碼正確,開鎖 45、成功,密碼錯誤3次出錯報警,選擇是否修改密碼,假設要修改密碼,先輸入舊密碼,密碼正確后設置新密碼,錯誤時報警,需要兩次確認新密碼,確認后,密碼修改成功,否那么結束最終返回。然后啟動程序,進行保護,再次在鍵盤上輸入密碼,系統(tǒng)進行掃描,如果和之前一樣,那么執(zhí)行相同程序,如不是,那么執(zhí)行另一種程序。
開始
初始化
次數加1
輸入密碼
密碼正確?
返回
N
Y
Y
開鎖程序
開鎖?
N
修改密碼?
次數>3?
報警程序
修改程序
Y
N
N
Y
圖4-1主程序流程圖
4.2 按鍵軟件設計
如圖4-2按鍵功能流程圖,在按鍵當中,有與輸入、開鎖、 46、去除、設置、確認的程序相對應的按鍵,并按順序與輸入的數相比擬,當輸入正確時,進入密碼程序,錯誤時進行去除,輸入兩次新密碼正確時,可進行重新設置密碼,最后確認程序。
開始
鍵值=‘輸入’?
鍵值=‘開鎖’?
鍵值=‘去除’?
鍵值=‘設置’?
鍵值=‘確認’?
密碼輸入程序
設置程序
去除程序
開鎖程序
確認程序
Y
Y
Y
Y
Y
N
N
N
N
返回
N
圖4-2 按鍵功能流程圖
4.3 密碼設置軟件設計
如圖4-3為密碼設置流程圖,開始按下設置鍵,輸入舊密碼,如果錯 47、誤累計三次,進行報警程序。如果輸入正確,可以修改密碼,確認后再次輸入新密碼,如果兩次輸入一樣,那么輸入成功。如果兩次輸入的新密碼不一樣,那么修改密碼失敗,重新返回設置新密碼。
輸入舊密碼
N
按下設置鍵
開始
所輸入舊密碼正確?
輸入次數加1
報警程序
N
返回
次數>3?
輸新密碼
Y
再次輸新密碼
Y
設置成功
N
Y
兩次新密碼輸入相同?
圖4-3 密碼設置流程圖
4.4 開鎖軟件設計
如圖4-4開鎖流程圖,開始時按開鎖鍵,輸入密碼,如果輸入正確,那么開鎖成功。如果輸入錯誤累計到 48、達三次,那么執(zhí)行報警程序。
初始化
按開鎖鍵
輸入密碼
按確認鍵
所輸入密碼正確?
Y
開鎖
開始
輸入次數加1
次數>3?
報警程序
返回
N
Y
N
圖4-4 開鎖流程圖
第五章 調試與實現
5.1 硬件調試
單片機應用系統(tǒng)的硬件調試和軟件調試是分不開的.許多硬件故障只有通過軟、硬件聯(lián)調才能發(fā)現,但一般是先排除系統(tǒng)中比擬明顯的硬件故障后才和軟件一起聯(lián)調。
常見的硬件故障:
(1)邏輯錯誤 49、
硬件的邏輯錯誤是由于設計錯誤和焊接過程中的工藝錯誤而造成的,包括錯線、開路、短路等,其中最常見的是短路故障。
(2)元器件錯誤
元器件錯誤的原因有器件損壞或性能不符合要求,電解電容、二極管的極性接反或集成塊裝反等。
(3)可靠性差
應用系統(tǒng)可靠性差的原因很多,如內部和外部的干擾、電壓紋波系數過大、器件負載過重等均會造成系統(tǒng)的可靠性差。另外,走線和布置的不合理也會造成系統(tǒng)可靠性差。
(4)電源故障
電源故障包括:電壓值不符合設計要求、電源功率缺乏、負載能力差、紋波太重等。
硬件調試方法
脫機調試是在加電前,先用萬用表等工具,按圖紙仔細核 50、對線路是否正確,并對元器件的安裝、型號、規(guī)格等進行仔細檢查,特別焊接時有無走線之間相互短路等。
5.2 軟件調試
程序在KEIL C51上調試,采用模塊程序設計技術,那么逐個模塊調好后再進行系統(tǒng)程序總調。
對于模塊結構程序.要一個個子程序分別調試。調試時,一定要符合入口條件和出口條件,調試可用單步運行和斷點運行方式,通過檢查用者系統(tǒng)的CPU現場情況、RAM的內容和I/O口的狀態(tài),檢測程序執(zhí)行結果是否符合設計要求,有無循環(huán)錯誤、有無機器碼錯誤以及轉移地址的錯誤,同時,還可以發(fā)現系統(tǒng)中存在的硬件設計錯誤和軟件算法錯誤。
各程序模塊通過后,那么可以把相關功能塊連在一起進 51、行總調。這個階段假設有故障,可以考慮各子程序運行時是否破壞了現場,緩沖單元、工作存放器是否發(fā)生沖突,標志位的建立和去除是否有誤,堆棧區(qū)是否有溢出,輸入設備的狀態(tài)是否正常等等,假設用者系統(tǒng)是在開發(fā)機的監(jiān)控程序下運行時,還要考慮用者緩沖單元是否和監(jiān)控程序的工作單元發(fā)生沖突。
單步和斷點調試后,還應進行連續(xù)調試,用以確定定時精度、CPU的實時響應等問題。 當全部調試和修改完成后,將程序固化到AT89S51中。進行整機調試。各功能實現那么調試完成。
Proteus仿真
在硬件和軟件都能實現的條件下,利用Proteus進行仿真,通過不停的調試與改正,最后終于實現了密碼鎖的功能,Pro 52、teus仿真結果如圖4-1所示
當連好各個模塊電路的導線后,導入芯片程序,運行該密碼鎖仿真電路,通過按鍵可以進行密碼鎖的開鎖,修改密碼,錯誤密碼3次以上報警的操作,LCD顯示屏顯示相應的操作現象,密碼正確可以開鎖,進而可以修改密碼,密碼錯誤三次以上由喇叭發(fā)出報警聲,如果系統(tǒng)出現錯誤還可以通過復位電路進行復位。
總之,在原有的理論根底上,通過Proteus能夠成功的進行密碼鎖根本操作的仿真,實現了相關的功能。
結論與展望
以上為畢業(yè)期間所作的畢業(yè)論文---基于單片機的電子密碼鎖設計,它經過屢次修改和整理,可以滿足設計的根本要求。輸入密碼時, 53、如三次輸入錯誤,那么進行報警,在輸入時,LCD顯示為“*〞,在修改密碼時,那么顯示數字。次設計還具有防盜功能,如對密碼控制系統(tǒng)進行破壞,有報警功能。
通過對該課題的研究,加深對所學知識的理解,提高對課外知識的學習能力, 增強知識的應用能力,提高解決實際問題的能力,培養(yǎng)自我創(chuàng)新意識。積累實踐經驗,為以后的開展打下根底,也為以后我們自己在這方面的開展打下根底,并能夠在這方面培養(yǎng)自己的興趣。
在設計中我們必須首先熟悉和掌握單片機的結構及工作原理,單片機的接口技術及相關外圍芯片的外特性,控制方法。以單片機核心的電路設計的根本方法和技術了解表關電路參數的計算方 54、法。單片機不是完成某一個邏輯功能的芯片,而是把一個計算機系統(tǒng)集成到一個芯片上。概括的講:一塊芯片就成了一臺計算機。它的體積小、質量輕、價格廉價、為學習、應用和開發(fā)提供了便利條件。同時,學習使用單片機了解計算機原理與結構的最正確選擇。 目前單片機滲透到我們生活的各個領域,幾乎很難找到哪個領域沒有單片機的蹤跡。導航裝置,飛機上各種儀表的控制,計算機的網絡通訊與數據傳輸,工業(yè)自動化過程的實時控制和數據處理,廣泛使用的各種智能IC卡,民用豪華轎車的平安保障系統(tǒng),錄像機、攝像機、全自動洗衣機的控制,以及程控玩具、電子寵物等等,這些都離不開單片機。更不用說自動控制領域的機器人、智能儀表、醫(yī)療器械了。因此, 55、單片機的學習、開發(fā)與應用將造就一批計算機應用與智能化控制的科學家、工程師。隨著單片機的廣泛應用,將大大促進各領域的技術更新,向自動化、小型化、智能化方向邁進。而對于我們來說,我們這代人的目標和任務是把這些高科技產品更升一個層次。
畢業(yè)設計是培養(yǎng)學生綜合運用所學知識,發(fā)現,提出,分析和解決實際問題,鍛煉實踐能力的重要環(huán)節(jié),是對學生實際工作能力的具體訓練和考察過程,隨著科學技術開展的日新日異,單片機已經成為當今計算機應用中空前活潑的領域, 在生活中可以說得是無處不在。因此作為二十一世紀的大學來說掌握單片機的開發(fā)技術是十分重要的。
通過這次畢業(yè)設計,無論從選題到定稿,從理論到實踐都使我學到了很多 56、東西,它不僅可以穩(wěn)固了以前所學過的知識,而且學到了很多在書本上所沒有學到過的知識。同時也明白了理論與實踐相結合的重要性,只有理論知識是遠遠不夠的,只有把所學的理論知識與實踐相結合起來,從理論中得出結論,才能真正為社會效勞,從而提高自己的實際動手能力和獨立思考的能力。
致 謝
四年的大學生活不知不覺中就要結束了,在這段難忘的生活中,有許多美好的回憶,在畢業(yè)論文設計之中,我的老師和我的同學都不吝的指導我,我需要感謝的人太多太多,首先要感謝我的學校,感謝在這四年中讓我領悟到老實做人,踏實做事,扎實做學問的深刻道理,讓我從一個懵懂得高中生變成一個成熟的大學生,其次我要感謝的是我的導師生 57、芳老師。雖然生老師平日里工作繁多,但在我做畢業(yè)設計的每個階段,都給予我悉心的指導和幫助,關心我們每個階段所做的工作,當然,還要感謝寢室的兄弟們在我完成論文的過程中給予我的幫助和鼓勵,也是他們陪我度過了這四年的生活,感謝能有這段美好的記憶。
現在即將揮別我的學校、老師、同學,還有我四年的大學生活,雖然依依不舍,但是對未來的路,我充滿了信心。最后,感謝在大學期間認識我和我認識的所有人,有你們的陪伴,才有我大學生活的絢麗多彩。
58、 2021年5月9日
參考文獻
[1] 童詩白,華成英. 模擬電子技術根底[第四版]. 高等教育出版社,2000
[2] 閻 石. 數字電子技術根底[第五版].高等教育出版社.1998.11
[3] 張毅剛
[4] 樓苗然,李光飛. 單片機課程設計指導. 北京航空航天大學出版社2007
[5] 蔡朝洋. 單片機控制實習與專題制作. 北京航空航天大學出版社2006
[6] 陳連坤. 單片機原理及接口技術. 北京交通大學出版社2021
[7] 李學海. 標準8051單片機根底教程. 北京航空航天大學出版,2006
[8] 何立民. 單片機高級教程. 北京航空航 59、天大學出版社, 2006
[9] 周立功. 單片機實驗與實踐教程. 北京航空航天大學出版社, 2006
[10] 江志紅. 51單片機技術與應用系統(tǒng)開發(fā). 清華大學出版社, 2021
[11] 祖龍起. 一種新型可編程密碼鎖. 大連輕工業(yè)學院學報,2002,(01);
[12] 李明喜. 新型電子密碼鎖的設計. 機電產品開發(fā)與創(chuàng)新,2004,(03)
[13] 王寬仁. 可靠平安的智能密碼鎖.
[14] 董繼成. 一種新型平安的單片機密碼鎖. 電子技術,2004,(03)
[15] 任艷艷. 基于AT89C51單片機多功能密碼鎖的研究. 重慶職業(yè)技術學院學報
[16] 周鑫, 60、何建新, 劉琥. 基于單片機的電子密碼鎖控制電路設計. 成都信息工程學院學報. 2021,(08)
[17] 王金國.采用單片機的電子密碼鎖控制電路.山東煤炭科技 ,2000 ,(3) :30 - 33.
[18] 寧愛民. 應用AT89C2051 單片機設計電子密碼鎖. 淮海工學院學報2003 ,6
附 錄
程序清單:
顯示緩沖區(qū)
LED1 EQU 6FH
BUFF EQU 6EH
TIMERS1 61、 EQU 6DH ;輸入回車的次數
TIMERS2 EQU 6CH ;報警的次數
LED6 EQU 6AH
密碼緩沖區(qū)
PS1 EQU 69H
PS2 EQU 78H
PS3 EQU 67H
PS4 EQU 66H
PS5 EQU 65H
PS6 EQU 64H
PS7 EQU 63H
PS 62、8 EQU 62H
AT24C02讀取緩沖區(qū)
AT1 EQU 61H
AT2 EQU 60H
AT3 EQU 5FH
AT4 EQU 5EH
AT5 EQU 5DH
AT6 EQU 5CH
AT7 EQU 5BH
AT8 EQU 5AH
按鍵標志位
F_0 BIT 20H
F_1 63、 BIT 21H
F_2 BIT 22H
F_3 BIT 23H
F_4 BIT 24H
F_5 BIT 25H
F_6 BIT 26H
F_7 BIT 27H
F_8 BIT 28H
F_9 BIT 29H
CH_STATE BIT 2AH ;系統(tǒng)更改的狀態(tài)標志位,為1表示busy
FLAG1 BIT 2BH ;功能鍵標志位 64、,為1表示功能按鍵。
F_F1 BIT 2CH
F_F2 BIT 2DH
PSW_F BIT 2EH ;密碼是否正確的標志位
口資源定義
SDA BIT P3.6 ;定義串口數據端
ORG 0000H
AJMP MAIN
ORG 000BH
;AJMP TIMER0
ORG 001BH
;AJMP T 65、IMER1
ORG 0030H
MAIN:MOV SP, #70H
MOV TMOD, #11H
MOV TH0, #3CH
MOV TL0, #0B0H
MOV TH1, #3CH
MOV TL1, #0B0H
CLR F_0 ;去除標志位
CLR F_1
CLR F_2
CLR F_3
CLR 66、F_4
CLR F_5
CLR F_6
CLR F_7
CLR F_8
CLR F_9
CLR BUF_FULL
CLR CH_STATE
CLR FLAG1
CLR F_F1
CLR F_F2
CLR PSW_F
MOV BUFF,#00H ;調用
LCALL INITPS ;初始化環(huán)境
LCALL INITAT
LCALL XSA ;調用默認顯示
MOV TIMERS1,#00H
NOP
MOV PS1, #11H ;初始化密碼830620
MOV PS2, #0AH
MOV PS3, #02H
- 溫馨提示:
1: 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
2: 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
3.本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
5. 裝配圖網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。