超市存物柜密碼鎖設計畢業(yè)論文.doc_第1頁
超市存物柜密碼鎖設計畢業(yè)論文.doc_第2頁
超市存物柜密碼鎖設計畢業(yè)論文.doc_第3頁
超市存物柜密碼鎖設計畢業(yè)論文.doc_第4頁
超市存物柜密碼鎖設計畢業(yè)論文.doc_第5頁
已閱讀5頁,還剩39頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

長沙航空職業(yè)技??飘厴I(yè)設計 論文 超市存物柜密碼鎖設計超市存物柜密碼鎖設計 畢業(yè)論文畢業(yè)論文 目錄目錄 摘要 I 目錄 I 第一章 緒論 1 1 1 電子密碼鎖簡介 1 1 2 電子密碼鎖的發(fā)展趨勢 1 1 3 本設計所要實現(xiàn)的目標 2 第二章 總體設計方案 3 2 1 設計要求 3 2 2 密碼鎖的論證與選擇 3 2 2 1 方案一 采用數(shù)字電路控制 3 2 2 2 方案二 采用以單片機為核心的控制方案 3 2 3 系統(tǒng)總體設計 4 第三章 硬件單元模塊設計 5 3 1 微處理模塊 5 3 1 1 主要元件介紹 5 3 1 2 微處理模塊電路 6 3 2 存儲模塊 6 3 2 1 主要元件介紹 6 3 2 2 24C08 管腳功能 7 3 2 3 時序圖 7 3 2 4 存儲模塊電路 8 3 3 輸入模塊 9 3 4 電源模塊 10 3 5 開關鎖模塊 10 3 6 報警模塊 11 3 7 顯示模塊 11 3 8 紅外模塊電路原理圖 12 第四章 軟件設計 14 4 1 軟件工作流程 14 4 2 密碼修改流程 16 長沙航空職業(yè)技專科畢業(yè)設計 論文 第五章 調(diào)試與實現(xiàn) 17 5 1 硬件調(diào)試 17 5 2 軟件調(diào)試 17 5 3 軟件調(diào)試心得 18 5 4 結(jié)果分析 19 5 5 PROTEUS仿真 19 5 6 PCB 板制作 20 第六章 總結(jié)與展望 22 致 謝 23 參考文獻 24 附錄 1 元器件清單 25 附錄 2 程序清單 26 附錄 3 成品實物圖 40 長沙航空職業(yè)技??飘厴I(yè)設計 論文 第一章第一章 緒論緒論 1 11 1 電子密碼鎖簡介電子密碼鎖簡介 電子密碼鎖是一種通過密碼輸入來控制電路或是芯片工作 從而控制機械開關的 閉合 完成開鎖 閉鎖任務的電子產(chǎn)品 它的種類很多 有簡易的電路產(chǎn)品 也有基 于芯片的性價比較高的產(chǎn)品 現(xiàn)在應用較廣的電子密碼鎖是以芯片為核心 通過編程 來實現(xiàn)的 其性能和安全性已大大超過了機械鎖 其特點如下 1 保密性好 編碼量多 遠遠大于彈子鎖 隨機開鎖成功率幾乎為零 2 密碼可變 用戶可以隨時更改密碼 防止密碼被盜 同時也可以避免因 人員的更替而使鎖的密級下降 3 誤碼輸入保護 當輸入密碼多次錯誤時 報警系統(tǒng)自動啟動 4 無活動零件 不會磨損 壽命長 5 使用靈活性好 不像機械鎖必須佩帶鑰匙才能開鎖 6 電子密碼鎖操作簡單易行 一學即會 1 21 2 電子密碼鎖的發(fā)展趨勢電子密碼鎖的發(fā)展趨勢 日常生活和工作中 住宅與部門的安全防范 單位的文件檔案 財務報表以及一 些個人資料的保存多以加鎖的辦法來解決 目前門鎖主要用彈子鎖 其鑰匙容易丟失 保險箱主要用機械密碼鎖 其結(jié)構(gòu)較為復雜 制造精度要求高 成本高 且易出現(xiàn)故 障 人們常需攜帶多把鑰匙 使用極不方便 且鑰匙丟失后安全性即大打折扣 針對 這些鎖具給人們帶來的不便若使用機械式鑰匙開鎖 為滿足人們對鎖的使用要求 增 加其安全性 用密碼代替鑰匙的密碼鎖應運而生 由于電子器件所限 以前開發(fā)的電 子密碼鎖 其種類不多 保密性差 最基本的就是只依靠最簡單的模擬電子開關來實 現(xiàn)的 制作簡單但很不安全 在后為多是基于 EDA 來實現(xiàn)的 其電路結(jié)構(gòu)復雜 電子 元件繁多 也有使用早先的 20 引角的 2051 系列單片機來實現(xiàn)的 但密碼簡單 易破 解 隨著電子元件的進一步發(fā)展 電子密碼鎖也出現(xiàn)了很多的種類 功能日益強大 使用更加方便 安全保密性更強 由以前的單密碼輸入發(fā)展到現(xiàn)在的 密碼加感應元 件 實現(xiàn)了真真的電子加密 用戶只有密碼或電子鑰匙中的一樣 是打不開鎖的 隨 著電子元件的發(fā)展及人們對保密性需求的提高出現(xiàn)了越來越多的電子密碼鎖 出于安 長沙航空職業(yè)技??飘厴I(yè)設計 論文 全 方便等方面的需要許多電子密碼鎖已相繼問世 但這類產(chǎn)品的特點是針對特定有 效卡 指紋或聲音有效 且不能實現(xiàn)遠程控制 只能適用于保密要求高且供個人使用 的箱 柜 房間等 由于數(shù)字 字符 圖形圖像 人體生物特征和時間等要素均可成 為鑰匙的電子信息 組合使用這些信息能夠使電子防盜鎖獲得高度的保密性 如防范 森嚴的金庫 需要使用復合信息密碼的電子防盜鎖 組合使用信息也能夠使電子防盜 鎖獲得無窮擴展的可能 使產(chǎn)品多樣化 對用戶而言是 千挑百選 自得其所 可 以看出組合使用電子信息是電子密碼鎖以后發(fā)展的趨勢 1 31 3 本設計所要實現(xiàn)的目標本設計所要實現(xiàn)的目標 本設計采用單片機為主控芯片 結(jié)合外圍電路 組成電子密碼鎖 用戶想要打開 鎖 必先通過提供的鍵盤輸入正確的密碼才能將鎖打開 密碼輸入錯誤有提示 為了 提高安全性 當密碼輸入錯誤將報警 密碼可以有用戶自己修改設定 鎖打開后才能 修改密碼 修改密碼之前必須再次輸入就的密碼 在輸入新密碼的時候要二次確認 以防止誤操作 長沙航空職業(yè)技??飘厴I(yè)設計 論文 第二章第二章 總體設計方案總體設計方案 2 12 1 設計要求設計要求 1 能檢測柜中有無物品 2 密碼錯誤自鎖 3 液晶在線顯示 4 按鍵操作 5 具有開鎖功能 2 22 2 密碼鎖的論證與選擇密碼鎖的論證與選擇 2 2 12 2 1 方案一 采用數(shù)字電路控制方案一 采用數(shù)字電路控制 用以 74LS112 雙 JK 觸發(fā)器構(gòu)成的數(shù)字邏輯電路作為密碼鎖的核心控制 共設了 9 個用戶輸入鍵 其中只有 4 個是有效的密碼按鍵 其它的都是干擾按鍵 若按下干 擾鍵 鍵盤輸入電路自動清零 原先輸入的密碼無效 需要重新輸入 如果用戶輸入 密碼的時間超過 10 秒 一般情況下 用戶不會超過 10 秒 若用戶覺得不便 還可以 修改 電路將報警 20 秒 若電路連續(xù)報警三次 電路將鎖定鍵盤 2 分鐘 防止他人 的非法操作 采用數(shù)字電路設計的方案好處就是設計簡單但控制的準確性和靈活性差 故不采用 2 2 22 2 2 方案二 采用以單片機為核心的控制方案方案二 采用以單片機為核心的控制方案 由于單片機種類繁多 各種型號都有其一定的應用環(huán)境 因此在選用時要多加比 較 合理選擇 以期獲得最佳的性價比 一般來說在選取單片機時從下面幾個方面考 慮 性能 存儲器 運行速度 I O 口 定時 計數(shù)器 串行接口 模擬電路功能 工作電壓 功耗 封裝形式 抗干擾性 保密性 除了以上的一些的還有一些最基本 的比如 中斷源的數(shù)量和優(yōu)先級 工作溫度范圍 有沒有低電壓檢測功能 單片機內(nèi) 有無時鐘振蕩器 有無上電復位功能等 在開發(fā)過程中單片機還受到 開發(fā)工具 編 程器 開發(fā)成本 開發(fā)人員的適應性 技術支持和服務等等因素 基于以上因素本 1 設計選用單片機 AT89S52 作為本設計的核心元件 利用單片機靈活的編程設計和豐富 的 I O 端口 及其控制的準確性 實現(xiàn)基本的密碼鎖功能 在單片機的外圍電路外接 輸入鍵盤用于密碼的輸入和一些功能的控制 外接 AT24C02 芯片用于密碼的存儲 外 接 12864 液晶顯示器用于顯示作用 當用戶需要開鎖時 先按鍵盤開鎖鍵之后按鍵盤 長沙航空職業(yè)技??飘厴I(yè)設計 論文 的數(shù)字鍵 0 9 輸入密碼 密碼輸完后按下確認鍵 如果密碼輸入正確則開鎖 不正 確顯示密碼錯誤重新輸入密碼 當三次密碼錯誤則發(fā)出報警 當用戶需要修改密碼時 先按下鍵盤設置鍵后輸入原來的密碼 只有當輸入的原密碼正確后才能設置新密碼 新密碼輸入無誤后按確認鍵使新密碼將得到存儲 密碼修改成功 可以看出方案二控制靈活準確性好且保密性強還具有擴展功能 根據(jù)現(xiàn)實生活的 需要此次設計采用此方案 2 32 3 系統(tǒng)總體設計系統(tǒng)總體設計 本設計主要由單片機 矩陣鍵盤 液晶顯示器和密碼存儲等部分組成 其中矩陣 鍵盤用于輸入數(shù)字密碼和進行各種功能的實現(xiàn) 由用戶通過連接單片機的矩陣鍵盤輸 入密碼 后經(jīng)過單片機對用戶輸入的密碼與自己保存的密碼進行對比 從而判斷密碼 是否正確 然后控制引腳的高低電平傳到開鎖電路或者報警電路控制開鎖還是報警 實際使用時只要將單片機的負載由繼電器換成電子密碼鎖的電磁鐵吸合線圈即可 當 然也可以用繼電器的常開觸點去控制電磁鐵吸合線圈 本系統(tǒng)共有兩部分構(gòu)成 即硬件部分與軟件部分 其中硬件部分由電源輸入部分 鍵盤輸入部分 密碼存儲部分 復位部分 晶振部分 顯示部分 報警部分 開鎖部 分 紅外部分組成 軟件部分對應的由主程序 初始化程序 12864 顯示程序 鍵盤 掃描程序 啟動程序 關閉程序 建功能程序 密碼設置程序 EEPROM 讀寫程序和 延時程序 紅外線程序等組成 其總體框架如圖 2 1 所示 AT89C52 紅外電路 復位電路 密碼存儲電路 晶振電路 輸入電路 顯示電路 報警電路 開鎖電路 圖 2 1 長沙航空職業(yè)技專科畢業(yè)設計 論文 第三章第三章 硬件單元模塊設計硬件單元模塊設計 3 13 1 微處理模塊微處理模塊 3 1 13 1 1 主要元件介紹主要元件介紹 AT89S52 是一種低功耗 高性能 CMOS8 位微控制器 具有 8K 在系統(tǒng)可編程 Flash 存儲器 使用 Atmel 公司高密度非易失性存儲器技術制造 與工業(yè) 80C51 產(chǎn) 品指令和引腳完全兼容 片上 Flash 允許程序存儲器在系統(tǒng)可編程 亦適于常規(guī)編程 器 在單芯片上 擁有靈巧的 8 位 CPU 和在系統(tǒng)可編程 Flash 使 AT89S52 為眾多 嵌入式控制應用系統(tǒng)提供高靈活 超有效的解決方案 AT89S52 具有以下標準功能 8k 字節(jié) Flash 256 字節(jié) RAM 32 位 I O 口線 看門狗定時器 2 個數(shù)據(jù)指針 三個 16 位定時器 計數(shù)器 一個 6 向量 2 級中斷結(jié) 構(gòu) 全雙工串行口 片內(nèi)晶振及時鐘電路 另外 AT89S52 可降至 0Hz 靜態(tài)邏輯操 作 支持 2 種軟件可選擇節(jié)電模式 空閑模式下 CPU 停止工作 允許 RAM 定時器 計數(shù)器 串口 中斷繼續(xù)工作 掉電保護方式下 RAM 內(nèi)容被保存 振蕩器被凍結(jié) 單片機一切工作停止 直到下一個中斷或硬件復位為止 如圖 3 1 所示 圖 3 1 AT89S52 單片機引腳排列圖 長沙航空職業(yè)技??飘厴I(yè)設計 論文 3 1 23 1 2 微處理模塊電路微處理模塊電路 單片機系統(tǒng)由 AT89S51 芯片 時鐘電路和復位電路三部分組成 主要是控制和處 理各模塊電路的數(shù)據(jù)輸入 數(shù)據(jù)輸出 顯示 報警 紅外檢測等 如圖 3 2 所示 圖 3 2 微處理模塊電路 3 23 2 存儲模塊存儲模塊 AT24C02 是一個 I2C 總線接口 E2PROM 存儲器 用于存儲電子密碼鎖的密碼數(shù)據(jù) 3 2 13 2 1 主要元件介紹主要元件介紹 AT24C02 是美國 ATEML 公司生產(chǎn)的低功耗 COMS 型 I2C 總線接口的 E2PROM 存儲器 其內(nèi)含 256x8 為存儲空間 具有工作電壓寬 2 5V 5 5V 擦寫次數(shù)多 大于 1000 次 寫入速度快 小于 10mS 抗干擾能力強 數(shù)據(jù)不易丟失 體積小等特點 采 用了 I2C 總線進行數(shù)據(jù)讀寫的串行器件 占用很少的資源和 I O 線 而且支持在線編 程 實時存取數(shù)據(jù)十分方便 如圖 3 3 所示 長沙航空職業(yè)技??飘厴I(yè)設計 論文 圖 3 3 24C02 引腳排列圖 3 2 23 2 2 24c0824c08 管腳功能 管腳功能 管腳描述 SCL 串口時鐘 24c08 串口時鐘輸入管腳用于產(chǎn)生機器件所有數(shù)據(jù)發(fā)送或接收的時鐘 這是一個 輸入管腳 SDA 串口數(shù)據(jù)地址 24C08 雙向串行數(shù)據(jù)地址管腳用于器件所有數(shù)據(jù)的發(fā)送或接收 SDA 是一個開路 輸出管腳 可與其他開路輸出或集電極開路輸出進行或 wire OR A0 A1 A2 A3 器件地址輸入端 這些輸入腳用于多個器件級聯(lián)時設置器件地址 當這些腳懸空時默認值為 0 24C01 除外 使用 24C08 時最多只可以連接 2 個器件 所有地址管腳 A0 A1 A3 都未使用 管腳可以連接到 VSS 或懸空 如果只用到一個 24C08A2 管腳可以連接到 VSS 或懸空 WP 寫保護 如果 WP 管腳連接到 VCC 所有內(nèi)容都被寫保護 只能讀取 當 WP 連接到 VSS 或 被懸空 允許器件進行正常的讀 寫操作 表 3 4 24C02 引腳說明 引腳說明功能 A0 A1 A2器件地址選擇 SDA 串行數(shù)據(jù) 地址 SCL 串行時鐘 WP 寫保護 VCC 1 8 6 0V VSS 地端 3 2 33 2 3 時序圖時序圖 II2C 總線協(xié)議定義 1 只有在總線空閑時候才允許啟動數(shù)據(jù)傳送 2 在數(shù)據(jù)傳送過程中 當時鐘線為高電平是 數(shù)據(jù)線必須保持穩(wěn)定狀態(tài) 不允 長沙航空職業(yè)技專科畢業(yè)設計 論文 許有跳變 時鐘線為高電平時 數(shù)據(jù)線的任意電平變化將被看作總顯的起始或停止信 號 起始信號 時鐘線保持高電平期間 數(shù)據(jù)線電平從高到底的跳變作為 IIC 總線的起始信號 停止信號 時鐘線保持高電平期間 數(shù)據(jù)線電平從低電平到高電平的跳變作為 IIC 總線的停 止信號 圖3 5 24C02時序圖 3 2 43 2 4 存儲模塊電路存儲模塊電路 圖中上拉電阻的作用是減少 AT24C02 的靜態(tài)功耗 由于 AT24C02 的數(shù)據(jù)線和地址 線是復用的 采用串口的方式傳送數(shù)據(jù) 所以只用兩根線 SCL 移位脈沖 和 SDA 數(shù)據(jù) 地址 與單片機傳送數(shù) 每當成功修改一次密碼 系統(tǒng)就自動調(diào)用存儲程 序 將新密碼保存在芯片內(nèi) 當系統(tǒng)需要進行密碼識別時 通過程序讀取存儲器中的 密碼值存入緩沖區(qū) 與所輸入密碼進行比較 完成密碼鎖的開鎖控制 如圖 3 6 所示 長沙航空職業(yè)技??飘厴I(yè)設計 論文 圖3 6 AT24C02模塊電路 3 33 3 輸入模塊輸入模塊 鍵盤可以分為獨立連接式和行列式 矩陣式 兩類 根據(jù)設計要求 本電路設計 采用 4 4 行列式鍵盤 同時也能減少鍵盤與單片機接口時所占用的 I O 線的數(shù)目 矩陣式鍵盤又叫行列式鍵盤 用 I O 口線組成行列結(jié)構(gòu) 按鍵設置在行列的交叉 點上 本電路采用 4 條行線和 4 條列線 即可組成具有 4 4 個按鍵的鍵盤 其電路 圖如下圖 2 4 所示 對鍵的識別通常用逐行掃描查詢法 首先判別鍵盤中有無按鍵按下 由單片機 I O 口向鍵盤送 輸出 全掃描字 然后讀入 輸入 列線狀態(tài)來判斷 方法是 向 行線輸出全掃描字 00H 把全部行線置為低電平 然后將列線的電平狀態(tài)讀入累加器 A 中 如果有鍵按下 總會有一根列線電平拉至低電平 從而使列輸入不全為 1 鍵 盤中哪一個鍵按下 是由行線逐行置低電平后 檢查列輸入狀態(tài)實現(xiàn)的 其方法是 依次給行線送低電平 然后查所有列線狀態(tài) 如果全為 1 則所按下的鍵不在此行 如果不全為 1 則所按下的鍵必在此行 而且是在與零電平列線相交的交點上的那個 鍵 矩陣鍵盤如圖 3 7 所示 長沙航空職業(yè)技??飘厴I(yè)設計 論文 S4S3S2S1 S5S6S7S8 S12S11S10S9 S13S14S15S16 R1 10k R2 10k R3 10k R4 10k R5 10k R6 10k R7 10k R8 10k VC C P1 0 P1 1 P1 2 P1 3 P1 4 P1 5 P1 6 P1 7 圖 3 7 矩陣鍵盤 3 43 4 電源模塊電源模塊 給整個電路模塊提供所需的能量 使電路能夠正常工作 我們采用性能穩(wěn)定可靠 價格低廉的 LM78 系列穩(wěn)壓塊如圖 3 8 所示 由于它內(nèi)部有電流的限制以及過熱保護 和安全工作區(qū)的保護使得它不會輕易損壞 電源模塊如圖 3 9 所示 圖 3 8 7805 引腳排列圖 S1 VinVout GND LM1 D2 104 C4 104 C5 47uF 25V C6 47uF 16V C7 470 R3 0 1 4 P1 VCC 圖 3 9 電源模塊模塊電路 3 53 5 開關鎖模塊開關鎖模塊 長沙航空職業(yè)技??飘厴I(yè)設計 論文 通過單片機 P3 7 控制三極管的工作狀態(tài)來決定繼電器的斷開與吸合 從而達到 開關鎖的目的 當用戶輸入的密碼正確而且是在規(guī)定的時間輸入的話 單片機便輸出開門信號 送到開鎖驅(qū)動電路 然后驅(qū)動電磁鎖 達到開門的目的 在本次設計中 基于節(jié)省材料的原則 暫時用發(fā)光二極管代替電磁鎖 發(fā)光管亮 表示鎖開 滅 表示鎖合 如圖 3 10 所示 圖 3 10 開關鎖模塊 長沙航空職業(yè)技??飘厴I(yè)設計 論文 3 63 6 報警模塊報警模塊 報警部分由蜂鳴器發(fā)聲裝置及外圍電路組成 高電平不發(fā)聲 當輸入三次密碼錯 誤時 單片機的 P3 6 引腳為低電平 三極管 Q1 導通蜂鳴器發(fā)聲報警 如圖 3 11 所 示 圖 3 11 報警模塊電路 3 73 7 顯示模塊顯示模塊 本系統(tǒng)采用 LCD12864 液晶顯示 用于直觀地提示用戶輸入開鎖密碼 密碼信息 的正誤提示 開鎖信息的顯示等 顯示整個電子密碼鎖的工作狀態(tài) 如圖 3 12 所示 VSS 1 VCC 2 V0 3 RS 4 RW 5 E 6 DB0 7 DB1 8 DB2 9 DB3 10 DB4 11 DB5 12 DB6 13 DB7 14 CS1 15 CS2 16 RST 17 VOUT 18 LED 19 LED 20 1 P0 0 P0 1 P0 2 P0 3 P0 4 P0 5 P0 6 P0 7 RS RW E RST VCC VSS VCC VCC VSS VSS LED LED Q2 D1 VCC Q3B Q3B LED LED 圖 3 12 12864 液晶顯示模塊電路 長沙航空職業(yè)技??飘厴I(yè)設計 論文 圖 3 13 12864 液晶顯示引腳功能表 管腳號管腳名 稱 電平管教功能描述 1GND0 地 2VDD 5V 10 電源電壓 5V 3VO 0 10液晶顯示驅(qū)動電壓 4RSHL RS H 表示 DB7 DB0 為顯示數(shù)據(jù) RS L 表示 DB7 DB0 為指令數(shù)據(jù) 5R WHL RW H 數(shù)據(jù)被讀到 DB77 DB0 RW L DB7 DB0 的數(shù)據(jù)寫到 IR 或 DR 6EHL 數(shù)據(jù)線 7DB0HL 數(shù)據(jù)線 8DB1HL 數(shù)據(jù)線 9DB2HL 數(shù)據(jù)線 10DB3HL 數(shù)據(jù)線 11DB4HL 數(shù)據(jù)線 12DB5HL 數(shù)據(jù)線 13DB6HL 數(shù)據(jù)線 14DB7HL 數(shù)據(jù)線 15FSBHL 并串 行接口選擇 H 并行 L 串行 16N CHL 空腳 17RSTHL 復位信號 18VEE 10 LCD 驅(qū)動負電壓輸入 19LEDK 5 背光電源 20LEDA0 背光 3 83 8 紅外模塊電路原理圖紅外模塊電路原理圖 1 紅外模塊電路如圖 3 14 圖 3 14 紅外模塊電路 長沙航空職業(yè)技??飘厴I(yè)設計 論文 如上所示 左圖為紅外輸入 其中 P3 是紅外接收頭 1 腳為信號輸出端 連 接到單片機 2 腳為接地端 3 腳為電源端 其中 C5 起電源濾波作用 R9 為信 號端提供上拉電平 紅外線的光譜位于紅色光之外 波長是 0 76 1 5 m 比紅光 的波長還長 紅外檢測是利用紅外線進行傳遞信息的一種控制方式 紅外檢測具有抗 干擾 電路簡單 容易編碼和解碼 功耗小 成本低的優(yōu)點 紅外遙控幾乎適用所有 家電的控制 紅外通信的基本原理是發(fā)送端將基帶二進制信號調(diào)制為一系列的脈沖串 信號 載波信號 通過紅外發(fā)射管發(fā)射紅外信號 常用的有通過脈沖寬度來實現(xiàn) 信號調(diào)制的脈寬調(diào)制 PWM 和通過脈沖串之間的時間間隔來實現(xiàn)信號調(diào)制的脈時調(diào) 制 PPM 兩種方法 脈時調(diào)制 PPM 是紅外數(shù)據(jù)協(xié)會 IrDA 和國際電子電工委員會 IEEE 都推薦的調(diào)制方式 本設計采用脈時調(diào)制方法 即用兩個脈沖串之間的時間間 隔來表示二進制信息 數(shù)據(jù)比特的傳送仿照不帶奇偶校驗的 RS232 8 通信 首先產(chǎn) 生一個同步頭 然后接著 8 位數(shù)據(jù)比特 長沙航空職業(yè)技專科畢業(yè)設計 論文 第四章第四章 軟件設計軟件設計 4 14 1 軟件工作流程軟件工作流程 軟件工作流程包括 7 個部分 系統(tǒng)的初始化 調(diào)用顯示 24C08 的讀寫操作 校 對開鎖 出錯報警處理 數(shù)據(jù)顯示 紅外檢測 初始化主要包括 中斷和定時器的初 始化 以及系統(tǒng)參數(shù)等的初始化 對 24C08 的讀寫操作主要完成對原先密碼進行更改 或相關設置的目的 然后將更新后的密碼保存到其中 校對開鎖是要對輸入的密碼和 保存在存儲器中的密碼相比較 相同就通過 否則要進入出錯報警階段 3 次都輸入 的是錯誤密碼 系統(tǒng)將長時間報警并自鎖 輸入管理員密碼解鎖 其它子模塊均為各 個芯片的具體讀寫操作 通過單片機模擬讀寫時序 長沙航空職業(yè)技??飘厴I(yè)設計 論文 程序流程圖程序流程圖 圖 4 1 流程圖 其余子模塊均為單片機模擬各芯片的讀寫時序 此處不做仔細闡述 開始 初始化 調(diào)用顯示 有鍵下 鍵值識別 數(shù)字鍵 存儲鍵值 確定鍵 密碼正確 驅(qū)動開鎖程序 開鎖 延時 復位 密碼錯誤顯示 記錄錯誤次數(shù) 3 次 鎖定 報警 延時 管理員密碼解 鎖 N N Y Y Y Y Y N N N 長沙航空職業(yè)技??飘厴I(yè)設計 論文 4 24 2 密碼修改流程密碼修改流程 按下更改密碼鍵 提示輸入舊密碼 舊密碼經(jīng)驗證后 提示輸入新密碼 兩次輸 入新密碼無誤 按下確認鍵 密碼被存入 24C08 中 更改密碼成功 如圖 4 2 圖 4 2 密碼修改流程圖 提示輸入舊密碼 舊密碼驗證 按鍵掃描 OK 鍵按下 密碼錯誤 記錄錯誤次數(shù) 3 次 鎖定 報警 延時 解鎖 密碼正確 提示輸入新密碼 OK 鍵按下 提示再次輸入新密碼 OK 鍵按下 是否一致 是否 密碼修改成功 改密鍵再次按下 退出改密模式 密 碼 修 改 流 程 圖 N Y 改密鍵按下 長沙航空職業(yè)技??飘厴I(yè)設計 論文 第五章第五章 調(diào)試與實現(xiàn)調(diào)試與實現(xiàn) 5 15 1 硬件調(diào)試硬件調(diào)試 單片機應用系統(tǒng)的硬件調(diào)試和軟件調(diào)試是分不開的 許多硬件故障只有通過軟 硬件聯(lián)調(diào)才能發(fā)現(xiàn) 但一般是先排除系統(tǒng)中比較明顯的硬件故障后才和軟件一起聯(lián)調(diào) 常見的硬件故障 1 邏輯錯誤 硬件的邏輯錯誤是由于設計錯誤和焊接過程中的工藝錯誤而造成的 包括錯線 開 路 短路等 其中最常見的是短路故障 2 元器件錯誤 元器件錯誤的原因有器件損壞或性能不符合要求 電解電容 二極管的極性接反或 集成塊裝反等 3 可靠性差 應用系統(tǒng)可靠性差的原因很多 如內(nèi)部和外部的干擾 電壓紋波系數(shù)過大 器件 負載過重等均會造成系統(tǒng)的可靠性差 另外 走線和布置的不合理也會造成系統(tǒng)可靠 性差 4 電源故障 電源故障包括 電壓值不符合設計要求 電源功率不足 負載能力差 紋波太重 等 硬件調(diào)試辦法 脫機調(diào)試是在加電前 先用萬用表等工具 按圖紙仔細核對線路是否正確 并對元器 件的安裝 型號 規(guī)格等進行仔細檢查 特別焊接時有無走線之間相互短路等 5 25 2 軟件調(diào)試軟件調(diào)試 程序在 KEIL C51 上調(diào)試 采用模塊程序設計技術 則逐個模塊調(diào)好后再進行系統(tǒng) 程序總調(diào) 對于模塊結(jié)構(gòu)程序 要一個個子程序分別調(diào)試 調(diào)試時 一定要符合入口條件和 出口條件 調(diào)試可用單步運行和斷點運行方式 通過檢查用者系統(tǒng)的 CPU 現(xiàn)場情況 長沙航空職業(yè)技??飘厴I(yè)設計 論文 RAM 的內(nèi)容和 I O 口的狀態(tài) 檢測程序執(zhí)行結(jié)果是否符合設計要求 有無循環(huán)錯誤 有無機器碼錯誤以及轉(zhuǎn)移地址的錯誤 同時 還可以發(fā)現(xiàn)系統(tǒng)中存在的硬件設計錯誤和 軟件算法錯誤 各程序模塊通過后 則可以把相關功能塊連在一起進行總調(diào) 這個階段若有故障 可以考慮各子程序運行時是否破壞了現(xiàn)場 緩沖單元 工作寄存器是否發(fā)生沖突 標志 位的建立和清除是否有誤 堆棧區(qū)是否有溢出 輸入設備的狀態(tài)是否正常等等 若用者 系統(tǒng)是在開發(fā)機的監(jiān)控程序下運行時 還要考慮用者緩沖單元是否和監(jiān)控程序的工作 單元發(fā)生沖突 單步和斷點調(diào)試后 還應進行連續(xù)調(diào)試 用以確定定時精度 CPU 的實時響應等問 題 當全部調(diào)試和修改完成后 將程序固化到 AT89S51 中 進行整機調(diào)試 各功能實 現(xiàn)則調(diào)試完成 5 35 3 軟件調(diào)試心得軟件調(diào)試心得 1 由于 Keil C 對中文支持不太好 因而會出現(xiàn)顯示的光標與光標實際所在不一 致的現(xiàn)象 這會對修改中文注釋造成影響 在電腦界面下面 我們可以把字體設置為 Courier 這樣就可以顯示正常 2 當使用有片外內(nèi)存的 MCU 如 W77E58 它有 1K 片外內(nèi)存 的時候 肯定要設 置標志位 并且編譯方式要選擇大模式 否則會出錯 3 當使用 Keil C 跟蹤程序運行狀態(tài)的時候 要把引起 Warning 的語句屏蔽 否 則有可能跟蹤語句的時候會出錯 4 在調(diào)用數(shù)組的時候 Keil C 是首先把數(shù)組 Load 進內(nèi)存 如果要在 C 中使用長 數(shù)組的時候 我們可以使用 code 關鍵字 這樣就實現(xiàn)了匯編的 DB 的功能 Keil C 是不會把標志 code 的數(shù)組 Load 入內(nèi)存的 它會直接讀取 Rom 5 當編程涉及到有關通信 時序是很重要的 拉高管腳的執(zhí)行速度遠遠比檢查管 腳電平的要快 6 在等待管腳電平變化的時候 我們需要設置好超時處理 否則程序就會因為一 個沒有預計的錯誤而死鎖 7 能用 C 語言實現(xiàn)的地方 盡量不要用匯編 尤其在算法的實現(xiàn) 用匯編是晦澀 長沙航空職業(yè)技??飘厴I(yè)設計 論文 難懂 8 程序的幾個參數(shù)數(shù)組所占篇幅很大 其中液晶背景數(shù)組最長 有四千個 Byte 因而把那些初始化數(shù)組都放在另外一個 C 文件 在主文件使用使用關鍵字 extern 定義 這樣就不會對主文件的編寫造成干擾 9 所有函數(shù)之間的相關性越低越有利于以后功能的擴展 5 45 4 結(jié)果分析結(jié)果分析 通過以上的測試分析 超市存物柜密碼鎖能夠?qū)崿F(xiàn)密碼開關鎖功能 在沒有輸入 密碼前 12864 液晶顯示界面模式 當有人隨意按某個鍵后 系統(tǒng)退出界面模式進入輸 入密碼模式 輸入三次密碼仍然錯誤系統(tǒng)報警 按鍵進入恢復出廠模式 輸入管理員 密碼解鎖后蜂鳴器停止報警 恢復了出廠設置 如果要更改原密碼 在輸入原密碼后 按鍵進入密碼修改模式 鍵入兩次新密碼無誤后 按確認鍵后密碼修改成功 5 55 5 ProteusProteus 仿真仿真 在硬件和軟件都能實現(xiàn)的條件下 利用 Proteus 進行仿真 通過不停的調(diào)試與改 正 最后終于實現(xiàn)了密碼鎖的功能 Proteus 仿真結(jié)果如圖 5 1 所示 當連好各個模塊電路的導線后 導入芯片程序 運行該密碼鎖仿真電路 通過按 鍵可以進行密碼鎖的開鎖 修改密碼 錯誤密碼 3 次以上報警的操作 LCD 顯示屏顯 示相應的操作現(xiàn)象 密碼正確可以開鎖 進而可以修改密碼 密碼錯誤三次以上由喇 叭發(fā)出報警聲 如果系統(tǒng)出現(xiàn)錯誤還可以通過復位電路進行復位 總之 在原有的理論基礎上 通過 Proteus 能夠成功的進行密碼鎖基本操作的仿 真 實現(xiàn)了相關的功能 如圖 5 1 長沙航空職業(yè)技??飘厴I(yè)設計 論文 XTAL2 18 XTAL1 19 ALE 30 EA 31 PSEN 29 RST 9 P0 0 AD0 39 P0 1 AD1 38 P0 2 AD2 37 P0 3 AD3 36 P0 4 AD4 35 P0 5 AD5 34 P0 6 AD6 33 P0 7 AD7 32 P1 0 1 P1 1 2 P1 2 3 P1 3 4 P1 4 5 P1 5 6 P1 6 7 P1 7 8 P3 0 RXD 10 P3 1 TXD 11 P3 2 INT0 12 P3 3 INT1 13 P3 4 T0 14 P3 7 RD 17 P3 6 WR 16 P3 5 T1 15 P2 7 A15 28 P2 0 A8 21 P2 1 A9 22 P2 2 A10 23 P2 3 A11 24 P2 4 A12 25 P2 5 A13 26 P2 6 A14 27 U1 AT89C51 C1 30pF C2 30pF X1 CRYSTAL D7 14 D6 13 D5 12 D4 11 D3 10 D2 9 D1 8 D0 7 E 6 RW 5 RS 4 VSS 1 VDD 2 VEE 3 LCD1 LM1062 R1 10k R2 10k R3 10k R4 10k R5 10k R6 10k R7 10k R8 10k R9 1k Q1 PNP LS1 SPEAKER R11 10k C3 1nF SW17 SW SPST R21 10k R22 10k R23 10k R24 10k R25 10k R26 10k R27 10k R28 10k 圖 5 1 5 65 6 PCBPCB 板制作板制作 長沙航空職業(yè)技專科畢業(yè)設計 論文 圖 5 2 長沙航空職業(yè)技??飘厴I(yè)設計 論文 第六章第六章 總結(jié)與展望總結(jié)與展望 以上為畢業(yè)期間所作的畢業(yè)論文 超市存物柜密碼鎖設計 它經(jīng)過多次修改和 整理 可以滿足設計的基本要求 輸入密碼時 如三次輸入錯誤 則進行報警 在輸 入時 12864 顯示為 在修改密碼時 則顯示數(shù)字 次設計還具有防盜功能 如 對密碼控制系統(tǒng)進行破壞 有報警功能 通過對該課題的研究 加深對所學知識的理解 提高對課外知識的學習能力 增強知識的應用能力 提高解決實際問題的能力 培養(yǎng)自我創(chuàng)新意識 積累實踐經(jīng)驗 為以后的發(fā)展打下基礎 也為以后我們自己在這方面的發(fā)展打下基礎 并能夠在這方 面培養(yǎng)自己的興趣 畢業(yè)設計是培養(yǎng)學生綜合運用所學知識 發(fā)現(xiàn) 提出 分析和解決實際問題 鍛煉實 踐能力的重要環(huán)節(jié) 是對學生實際工作能力的具體訓練和考察過程 隨著科學技術發(fā) 展的日新日異 單片機已經(jīng)成為當今計算機應用中空前活躍的領域 在生活中可以 說得是無處不在 因此作為二十一世紀的大學來說掌握單片機的開發(fā)技術是十分重要 的 通過這次畢業(yè)設計 無論從選題到定稿 從理論到實踐都使我學到了很多東西 它不僅可以鞏固了以前所學過的知識 而且學到了很多在書本上所沒有學到過的知識 同時也明白了理論與實踐相結(jié)合的重要性 只有理論知識是遠遠不夠的 只有把所學 的理論知識與實踐相結(jié)合起來 從理論中得出結(jié)論 才能真正為社會服務 從而提高 自己的實際動手能力和獨立思考的能力 長沙航空職業(yè)技??飘厴I(yè)設計 論文 致致 謝謝 三年的大學生活不知不覺中就要結(jié)束了 在這段難忘的生活中 有許多美好的回 憶 在畢業(yè)論文設計之中 我的老師和我的同學都不吝的指導我 我需要感謝的人太 多太多 首先要感謝我的學校 感謝在這三年中讓我領悟到誠實做人 踏實做事 扎 實做學問的深刻道理 讓我從一個懵懂得高中生變成一個成熟的大學生 其次我要感 謝的是我的導師王老師 雖然王老師平日里工作繁多 但在我做畢業(yè)設計的每個階段 都給予我悉心的指導和幫助 關心我們每個階段所做的工作 當然 還要感謝寢室的 兄弟們在我完成論文的過程中給予我的幫助和鼓勵 也是他們陪我度過了這四年的生 活 感謝能有這段美好的記憶 現(xiàn)在即將揮別我的學校 老師 同學 還有我三年的大學生活 雖然依依不舍 但是對未來的路 我充滿了信心 最后 感謝在大學期間認識我和我認識的所有人 有你們的陪伴 才有我大學生活的絢麗多彩 長沙航空職業(yè)技??飘厴I(yè)設計 論文 參考文獻參考文獻 1 王文海 彭可 周歡喜 單片機應用與實踐項目化教程 北京化學工業(yè)出版 社 2010 6 2 郭天祥 新概念 51 單片機 C 語言教程 入門 提高 開發(fā) 擴展全攻略 北 京 電子工業(yè)出版社 2009 1 3 祖龍起 一種新型可編程密碼鎖 大連輕工業(yè)學院學報 2002 01 4 李明喜 新型電子密碼鎖的設計 機電產(chǎn)品開發(fā)與創(chuàng)新 2004 03 5 王寬仁 可靠安全的智能密碼鎖 電子技術應用 2001 年第 2 期 6 張毅剛 彭喜元 姜守達 喬立巖 新編 MCS 51 單片機應用設計第三版 哈爾濱工業(yè)大學出版社 2009 8 長沙航空職業(yè)技專科畢業(yè)設計 論文 附錄附錄 1 1 元器件清單元器件清單 元器件 名稱 型號 大小個數(shù)元器件 名稱 型號 大小個數(shù) 12864 液 晶 顯示器 BJ12864M1 二極管 IN40071 單片機 AT89S521 瓷片電容 152 E2PROM 存 儲器 24C081 瓷片電容 1042 8 針排座 1 電解電容 25V 47uf2 繼電器 HRS4H S DC5V1 電解電容 10uf1 三端穩(wěn)壓 集成塊 LM78051 排阻 10K1 蜂鳴器 1 電阻 10K4 四針排座 1 電阻 4701 自鎖開關 1 電阻 5101 三極管 85503 電阻 2K1 晶振 11 0592MHZ1 電阻 5 1K1 發(fā)光 二極管 紅色 1 長沙航空職業(yè)技??飘厴I(yè)設計 論文 附錄附錄 2 2 程序清單程序清單 密碼鎖源程序 include include include include iic h include keyscan h include LCD12864 h include hongwai h define uchar unsigned char define uint unsigned int sbit shuchu P3 2 sbit jieyong P2 7 uchar code lcd table1 密碼鎖 uchar code lcd table2 您好 請輸入密碼 uchar code lcd table3 uchar code lcd table4 uchar code lcd table5 恭喜您密碼對了 uchar code lcd table6 輸入錯誤 uchar code lcd table7 請輸入新的密碼 uchar code lcd table8 請再次輸入密碼 uchar code lcd table9 密碼修改成功 uchar code lcd table10 密碼修改失敗 uchar code lcd table11 uchar code lcd table12 B 修改密碼 uchar code lcd table13 按任意鍵返回 uchar code lcd table14 已鎖定 輸入無效 uchar code lcd table15 如有必要 請聯(lián)系 uchar code lcd table16 開鎖公司 切勿強 長沙航空職業(yè)技??飘厴I(yè)設計 論文 uchar code lcd table17 行開鎖 uchar mima table5 2 3 4 5 6 7 原始密碼 uchar mima table2 10 10 10 10 10 10 輸入密碼緩存 uchar mima table3 10 10 10 10 10 10 改密輸入緩存 uchar mima table4 10 10 10 10 10 10 改密確認輸入緩存 uchar mima table1 10 10 10 10 10 10 原始密碼 uchar iic add void delayms uint i for i 0 i 300 i void main uint knum 16 uchar i k 0 uchar gaimi 0 querengaimi 0 zisuo 0 jieyong 0 lcm init SDA 1 SCL 1 iic add 0 x00 for i 0 i 6 i iic write iic add mima table5 i iic add delayms 長沙航空職業(yè)技??飘厴I(yè)設計 論文 iic add 0 x00 for i 0 i 6 i mima table1 i iic readtoaddr iic add iic add delayms lcm weizhi 0 0 i 0 while i 6 write sj mima table1 i 0 x30 i while 1 while 1 knum 16 knum keyscan write zl 0 x01 do knum keyscan lcm weizhi 0 0 i 0 while lcd table1 i 0 write sj lcd table1 i 長沙航空職業(yè)技專科畢業(yè)設計 論文 i lcm weizhi 1 0 i 0 while lcd table2 i 0 write sj lcd table2 i i while knum 16 if knum 9 密碼輸入 mima table2 k knum 將鍵值賦到輸入緩存中 k lcm weizhi 2 0 i 0 while i6 k 0 lcm weizhi 3 0 i 0 while i k 長沙航空職業(yè)技??飘厴I(yè)設計 論文 write sj mima table2 i 0 x30 i if knum 10 確認開鎖 k 0 write zl 0 x01 if mima table2 0 mima table1 0 gaimi 1 knum keyscan while knum 16 knum keyscan lcm weizhi 0 0 i 0 while lcd table4 i 0 write sj lcd table4 i i lcm weizhi 1 0 i 0 while lcd table5 i 0 長沙航空職業(yè)技??飘厴I(yè)設計 論文 write sj lcd table5 i i lcm weizhi 2 0 i 0 while lcd table12 i 0 write sj lcd table12 i i lcm weizhi 3 0 i 0 while lcd table13 i 0 write sj lcd table13 i i shuchu 0 for i 0 i 6 i mima table2 i 10 else 輸入錯誤 zisuo gaimi 0 knum keyscan while knum 16 knum keyscan lcm weizhi 1 0 i 0 while lcd table6 i 0 長沙航空職業(yè)技??飘厴I(yè)設計 論文 write sj lcd table6 i i lcm weizhi 2 0 i 0 while lcd table13 i 0 write sj lcd table13 i i lcm weizhi 2 0 i 0 while lcd table11 i 0 write sj lcd table11 i i lcm weizhi 3 0 i 0 while lcd table11 i 0 write sj lcd table11 i i if knum 11 knum keyscan do knum keyscan lcm weizhi 0 0 i 0 while lcd table1 i 0 write sj lcd table1 i i lcm weizhi 1 0 i 0 while lcd table7 i 0 write sj lcd table7 i i if knum 9 密碼輸入 mima table

溫馨提示

  • 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. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論