




免費(fèi)預(yù)覽已結(jié)束,剩余31頁可下載查看
下載本文檔
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
電子密碼鎖 1 課程設(shè)計(jì)論文課程設(shè)計(jì)論文 電電 子子 密密 碼碼 鎖鎖 電子密碼鎖 2 目 錄 第 1 章 緒 論 1 1 1 電子密碼鎖 1 1 2 電子密碼鎖的特點(diǎn) 1 1 3 論文的主要工作 1 第 2 章 系統(tǒng)設(shè)計(jì)方案及主控制芯片介紹 2 2 1 系統(tǒng)總體設(shè)計(jì)方案 2 2 2 系統(tǒng)的工作原理 2 2 3 主控芯片介紹 3 2 3 1 結(jié)構(gòu)概述 3 第 3 章 系統(tǒng)硬件設(shè)計(jì) 4 3 1 鍵盤輸入裝置 4 3 2 硬件工作接線口 5 3 3LED 顯示器結(jié)構(gòu)與原理 5 3 4 復(fù)位電路 6 3 5 繼電器開關(guān)門裝置 6 3 6 聲光報(bào)警裝置 7 第 4 章 系統(tǒng)軟件設(shè)計(jì) 7 4 1 編程工具的介紹 8 4 1 1 C 語言的主要優(yōu)點(diǎn) 8 4 1 2 C 語言使用的工具 8 4 1 3 C51 與 C 語言的主要不同點(diǎn) 8 4 2 主程序 8 電子密碼鎖 3 4 3 矩陣式鍵盤 10 第 5 章 系統(tǒng)調(diào)試 12 5 1 硬件調(diào)試 12 5 2 軟件調(diào)試 12 5 3 系統(tǒng)軟硬件聯(lián)機(jī)調(diào)試 13 第 6 章 焊接技 第 7 章 總 結(jié) 13 7 1 心得體會(huì) 14 7 2 系統(tǒng)存在的問題和改進(jìn)方案 16 7 3 設(shè)計(jì)中遇到的問題和解決方法 16 參考文獻(xiàn) 16 附 錄 17 附錄一 系統(tǒng)設(shè)計(jì)電路總圖 17 附錄二 元件器清單 18 附錄三 軟件程序 19 電子密碼鎖 4 電子密碼鎖電子密碼鎖 摘要摘要 該電子密碼鎖是一種實(shí)用型的機(jī) 電一體化設(shè)計(jì) 采用單片機(jī)密碼識(shí)別及信 號(hào)輸出控制 提高了整體電路的穩(wěn)定性和可靠性 并且簡化了硬件電路的設(shè)計(jì) 由 EPROM 構(gòu)成的密碼存儲(chǔ)器可防止主機(jī)在斷電的時(shí)候?qū)⒂脩舻脑O(shè)置密碼丟失 更增加了其 安全系數(shù) 該設(shè)計(jì)是基于 89C52 的單片機(jī)的電子密碼鎖設(shè)計(jì) 主要是通過芯片的程序內(nèi) 容來控制電路的工作方式 其中包括 89C52 芯片 閃存芯片 鍵盤輸入模塊 電子鎖模 塊等模塊 當(dāng) 89C52 檢測到有密碼輸入時(shí)就將其和閃存中的密碼相比較 如果相同則傳 送開鎖信號(hào)到電子鎖模塊電路 實(shí)現(xiàn)開鎖功能 而當(dāng)檢測到三次輸入密碼都不正確時(shí)則 輸出報(bào)警信號(hào) 同是禁止密碼輸入功能 即實(shí)現(xiàn)了防多次試探的可能性 其安全性能有 了明顯的提高 關(guān)鍵詞關(guān)鍵詞 穩(wěn)定性 可靠性 89C52 EPRPM 正文正文 第一章緒論 1 1 電子密碼鎖功能 本系統(tǒng)采用單片機(jī)作控制器 系統(tǒng)工作時(shí) 用戶通過按鍵輸入 8 位密碼 按下 確認(rèn) 鍵后 單片機(jī)將輸入密碼與設(shè)定密碼進(jìn)行比較 若密碼正確 則發(fā)出開鎖信號(hào) 相應(yīng)的指示 燈閃動(dòng) 將鎖打開 系統(tǒng)不報(bào)警 若密碼不正確 則有相應(yīng)的指示燈閃動(dòng) 并要求重新輸入 密碼 重新輸入密碼的次數(shù)不能超過 3 次 若 3 次輸入的密碼都不正確 顯示 CLOSED 且發(fā)出報(bào)警信號(hào) 鎖打開后還可通過按下 修改 重置 功能鍵 重新設(shè)置新密碼 1 2 電子密碼鎖的特點(diǎn) 電子密碼鎖是一種通過密碼輸入來控制電路或是芯片工作 從而控制機(jī)械開關(guān)的閉 合 完成開鎖 閉鎖任務(wù)的電子產(chǎn)品 它的種類很多 有簡易的電路產(chǎn)品 也有基于芯 片的性價(jià)比較高的產(chǎn)品 現(xiàn)在應(yīng)用較廣的電子密碼鎖是以芯片為核心 通過編程來實(shí)現(xiàn) 的 其性能和安全性已大大超過了機(jī)械鎖 特點(diǎn)如下 保密性好 編碼量多 遠(yuǎn)遠(yuǎn)大于彈子鎖 隨機(jī)開鎖成功率幾乎為零 密碼可變 用戶可以經(jīng)常更改密碼 防止密碼被盜 同時(shí)也可以避免因人員的更 替而使鎖的密級(jí)下降 誤碼輸入保護(hù) 當(dāng)輸入密碼多次錯(cuò)誤時(shí) 報(bào)警系統(tǒng)自動(dòng)啟動(dòng) 電子密碼鎖操作簡單易行 一學(xué)即會(huì) 1 3 論文的主要工作 論文的研究內(nèi)容主要如下 1 了解單片機(jī)的基本結(jié)構(gòu)和指令系統(tǒng) 掌握 STC89C52 單片機(jī)的控制功能 應(yīng)用 單片機(jī)實(shí)現(xiàn)電子密碼鎖的設(shè)計(jì) 及其硬件制作 2 熟練掌握 C 語言 在 KEIL 的開發(fā)環(huán)境中編譯程序 完成電子鎖的軟件設(shè)計(jì) 使 電子密碼鎖 5 系統(tǒng)更加符合實(shí)際 3 軟件編制上根據(jù)系統(tǒng)要完成的功能采用模塊化結(jié)構(gòu)設(shè)計(jì) 與硬件一起進(jìn)行聯(lián)機(jī) 調(diào)試 能達(dá)到預(yù)期的效果 5 對(duì)實(shí)驗(yàn)結(jié)果進(jìn)行分析 并對(duì)出現(xiàn)的問題提出解決方案 第 2 章 系統(tǒng)設(shè)計(jì)方案及主控制芯片介紹 本章系統(tǒng)介紹了電子密碼鎖的總體方案設(shè)計(jì)及其主控芯片 STC89C52 單片機(jī)的介紹 電子密碼鎖主要由硬件部分和軟件部分組成 在經(jīng)過詳細(xì)的討論和實(shí)驗(yàn)之后 制定一套 簡單 實(shí)用 廉價(jià)的方案 2 1 系統(tǒng)總體設(shè)計(jì)方案 方案一 八位 LED 數(shù)碼管顯示密碼輸入情況 發(fā)光二極管和蜂鳴器做報(bào)警裝置 獨(dú)立式鍵盤 設(shè)置數(shù)值的加減 并確認(rèn)數(shù)字的輸入 密碼輸入錯(cuò)誤時(shí)候的提示信息 方案二 八位 LED 數(shù)碼管顯示密碼輸入情況 發(fā)光二極管和蜂鳴器做報(bào)警裝置 由 4 4 矩陣 式小鍵盤設(shè)置數(shù)字鍵和功能鍵 方案比較 獨(dú)立式鍵盤 直接用 I O 口線構(gòu)成的單個(gè)按鍵電路 每個(gè)獨(dú)立式按鍵單獨(dú)占有一根 I O 口線的工作狀態(tài) 獨(dú)立式按鍵當(dāng)按鍵較多時(shí) I O 口線浪費(fèi)較大 故只在按鍵數(shù)量不 多時(shí)才采用這種按鍵電路 矩陣式按鍵 在鍵盤中按鍵數(shù)量較多時(shí) 為了減少 I O 口的占用 通常將按鍵排列成 矩陣形式 在矩陣式鍵盤中 每條水平線和垂直線在交叉處不直接連通 而是通過一個(gè) 按鍵加以連接 這樣 一個(gè)端口 如 P1 口 就可以構(gòu)成 4 4 16 個(gè)按鍵 比之直接將端 口線用于鍵盤多出了一倍 而且線數(shù)越多 區(qū)別越明顯 由此可見 在需要的鍵數(shù)比較 多時(shí) 采用矩陣法來做鍵盤是合理的 經(jīng)比較 我們選擇了方案二 認(rèn)為此方案更合理 系統(tǒng)框圖如圖 2 1 所示 單片機(jī) 最小系統(tǒng) 繼電器模塊 矩陣式鍵盤 密碼存儲(chǔ) 燈提示模塊 報(bào)警模塊 復(fù)位電路 LED 顯示 圖 2 1 系統(tǒng)設(shè)計(jì)總體框圖 2 2 系統(tǒng)的工作原理 本系統(tǒng)主要由以下模塊組成 電子電路部分采用單片機(jī)控制密碼讀取 密碼判斷 輸入顯示 蜂鳴報(bào)警模塊 繼電器模塊顯示開關(guān)狀態(tài) 等提示輸入正確錯(cuò)誤的狀態(tài) 單 片機(jī)系統(tǒng)采 STC89C52 用矩陣式鍵盤實(shí)現(xiàn)密碼的輸入 并由 LED 數(shù)碼管顯示數(shù)值提示 密碼輸入信息 電子密碼鎖 6 2 3 主控芯片介紹 單片機(jī)是指一個(gè)集成在一塊芯片上的完整計(jì)算機(jī)系統(tǒng) 盡管他的大部分功能集成在 一塊小芯片上 但是它具有一個(gè)完整計(jì)算機(jī)所需要的大部分部件 CPU 內(nèi)存 內(nèi)部和 外部總線系統(tǒng) 目前大部分還會(huì)具有外存 同時(shí)集成諸如通訊接口 定時(shí)器 實(shí)時(shí)時(shí)鐘 等外圍設(shè)備 而現(xiàn)在最強(qiáng)大的單片機(jī)系統(tǒng)甚至可以將聲音 圖像 網(wǎng)絡(luò) 復(fù)雜的輸入輸 出系統(tǒng)集成在一塊芯片上 單片機(jī)也被稱為微處理器 Microcontroller 是因?yàn)樗钤绫挥迷诠I(yè)控制領(lǐng)域 單 片機(jī)由芯片內(nèi)僅有 CPU 的專用處理器發(fā)展而來 最早的設(shè)計(jì)理念是通過將大量外圍設(shè)備 和 CPU 集成在一個(gè)芯片中 使計(jì)算機(jī)系統(tǒng)更小 更容易集成進(jìn)復(fù)雜的而對(duì)體積要求嚴(yán)格 的控制設(shè)備當(dāng)中 INTEL 的 Z80 是最早按照這種思想設(shè)計(jì)出的處理器 從此以后 單片 機(jī)和專用處理器的發(fā)展便分道揚(yáng)鑣 2 3 12 3 1 結(jié)構(gòu)概述結(jié)構(gòu)概述 51 系列單片機(jī)可分 51 子系列和 52 子系列 微控制器內(nèi)部結(jié)構(gòu)如圖 2 2 所示 圖 2 2 STC 單片機(jī)結(jié)構(gòu)框圖 51 系列單片機(jī)由 8 個(gè)大部分組成 1 一個(gè) 8 位中央處理機(jī) CPU 它由運(yùn)算部件 控制部件組成 其中包括振蕩電路 和時(shí)鐘電路 其中主要完成單片機(jī)的運(yùn)算和控制功能 是單片機(jī)的核心部件 決定了單 片機(jī)的主要功能特性 2 128 個(gè)字節(jié) 52 子系列為 256 字節(jié) 的片外數(shù)據(jù)存儲(chǔ)器 RAM 其片外數(shù)據(jù)存儲(chǔ) 器的尋址范圍位 64KB 用于存放可讀寫的數(shù)據(jù) 如運(yùn)算的中間結(jié)果或最終結(jié)果等 3 4KB 52 子系列為 8KB 的片內(nèi)程序只讀存儲(chǔ)器 ROM 或 EPROM 8031 和 8032 無 其片外尋址范圍為 64KB 主要用于存放已編制的程序 也可以存放一些原始的數(shù)據(jù) 電子密碼鎖 7 和表格 4 18 個(gè) 52 子系列為 21 個(gè) 特殊功能寄存器 SFR 它用于控制和管理片內(nèi)算術(shù) 邏輯部件 并行 I O 串行 I O 定時(shí)計(jì)數(shù)器 中斷系統(tǒng)等功能模塊的工作 5 4 個(gè) 8 位并行輸入輸出 I O 接口 P0 口 P1 口 P2 口 P3 口 共 32 線 用于 并行輸入或輸出數(shù)據(jù) 6 1 個(gè)串行 I O 接口 它可使數(shù)據(jù) 1 位以為串行地在計(jì)算機(jī)與外設(shè)之間傳送 可用 軟件設(shè)置為 4 種工作方式 用于多處理機(jī)通訊 I O 擴(kuò)展或全雙工通用異步接收器 UART 7 2 個(gè) 52 子系列為 3 個(gè) 16 位定時(shí)計(jì)數(shù)器 它可用設(shè)置位計(jì)數(shù)方式對(duì)外部事件 進(jìn)行計(jì)數(shù) 也可以設(shè)置位定時(shí)方式進(jìn)行定時(shí) 計(jì)數(shù)或定時(shí)的范圍由軟件來設(shè)定 一旦計(jì) 數(shù)或定時(shí)到則向 CPU 發(fā)出中斷請(qǐng)求 CPU 根據(jù)計(jì)數(shù)或定時(shí)的結(jié)果對(duì)計(jì)算機(jī)或外設(shè)進(jìn)行控 制 8 5 個(gè) 52 子系列為 6 個(gè)或 7 個(gè) 中斷源 可編程為 3 個(gè)優(yōu)先級(jí)的中斷系統(tǒng) 它可用 接受外部中斷申請(qǐng) 定時(shí)計(jì)數(shù)器中斷申請(qǐng)和串行口中斷申請(qǐng) 場合用于實(shí)時(shí)控制 故障 自動(dòng)處理 計(jì)算機(jī)與外設(shè)間傳送數(shù)據(jù)及人機(jī)對(duì)話等 第 3 章 系統(tǒng)硬件設(shè)計(jì) 在系統(tǒng)設(shè)計(jì)方案設(shè)計(jì)的基礎(chǔ)上 本章為系統(tǒng)硬件部分的設(shè)計(jì) 其中包括 LED 顯示模塊 鍵盤模塊 報(bào)警模塊等部分 LED 顯示以其鍵盤模塊相當(dāng)于人機(jī)界面部分 將用戶通過 在鍵盤操作 并通過 LED 反應(yīng)最終結(jié)果 報(bào)警是在密碼輸入錯(cuò)誤的情況下 或者使在非 正常操作的情況下通過 LED 發(fā)光二極管和蜂鳴器報(bào)警通知異常 3 1 鍵盤輸入裝置 矩陣式鍵盤的結(jié)構(gòu)與工作原理 在鍵盤中按鍵數(shù)量較多時(shí) 為了減少 I O 口的占用 通常將按鍵排列成矩陣形式 在矩陣式鍵盤中 每條水平線和垂直線在交叉處不直接連 通 而是通過一個(gè)按鍵加以連接 這樣 一個(gè)端口 如 P1 口 就可以構(gòu)成 4 4 16 個(gè)按 鍵 比之直接將端口線用于鍵盤多出了一倍 而且線數(shù)越多 區(qū)別越明顯 由此可見 在需要的鍵數(shù)比較多時(shí) 采用矩陣法來做鍵盤是合理的 矩陣式鍵盤的按鍵識(shí)別方法 電子密碼鎖 8 P1 0 P1 1 P1 2 P1 3 P1 5 P1 4 P1 6 P1 7 圖 3 1 4 4 矩陣式鍵盤 列掃描法又稱為逐行 或行 掃描查詢法 是一種最常用的按鍵掃描方法 介紹過 程如下 1 判斷鍵盤中有無鍵按下 將全部列線置低電平 然后檢測列線的狀態(tài) 只要有一 行的電平為低 則表示鍵盤中有鍵被按下 而且閉合的鍵位于低電平線與 4 根列線相交 叉的 4 個(gè)按鍵之中 若所有行線均為高電平 則鍵盤中無鍵按下 2 判斷閉合鍵所在的位置 在確認(rèn)有鍵按下后 即可進(jìn)入確定具體閉合鍵的過程 其方法是 依次將列線置為低電平 即在置某根列線為低電平時(shí) 其它線為高電平 在 確定某根列線位置為低電平后 再逐行檢測各行線的電平狀態(tài) 若某行為低 則該行線 與置為低電平的列線交叉處的按鍵就是閉合的按鍵 3 2 硬件工作接線口 P0 口接數(shù)碼管 用來顯示按鍵是否按下 P1 口接鍵盤 P2 口接數(shù)碼管的控制端 com 端 把單片機(jī)系統(tǒng)區(qū)域中的 P0 口用導(dǎo)線連接 數(shù)碼顯示 的任一端口上 把單片機(jī)系統(tǒng)區(qū)域 中的 P1 口上接矩陣式鍵盤 3 3 LED 顯示器結(jié)構(gòu)與原理 LED 顯示塊是由發(fā)光顯示二極管顯示字段的顯示器件 在單片機(jī)中我們通常用七段 LED 這種顯示共有共陰極和共陽極兩種 本設(shè)計(jì)是用共陽極 是 LED 顯示塊的發(fā)光二 極管與陽極并接 如圖所示 K 1 f 2 g 3 e 4 d 5 K 6 c 8 DP 7 b 9 a 10 K 1 f 2 g 3 e 4 d 5 K 6 c 8 DP 7 b 9 a 10 K 1 f 2 g 3 e 4 d 5 K 6 c 8 DP 7 b 9 a 10 K 1 f 2 g 3 e 4 d 5 K 6 c 8 DP 7 b 9 a 10 K 1 f 2 g 3 e 4 d 5 K 6 c 8 DP 7 b 9 a 10 K 1 f 2 g 3 e 4 d 5 K 6 c 8 DP 7 b 9 a 10 K 1 f 2 g 3 e 4 d 5 K 6 c 8 DP 7 b 9 a 10 1K R1 1K R2 1K R3 1K R4 1K R5 1K R6 1K R7 K 1 f 2 g 3 e 4 d 5 K 6 c 8 DP 7 b 9 a 10 1K R8 PNPPNPPNPPNPPNPPNPPNPPNP VCC P0 0 P0 1 P0 2 P0 3 P0 4 P0 5 P0 6 P0 7 P2 0 P2 1 P2 2 P2 3 P2 4 P2 5 P2 6 P2 7 圖 3 2 數(shù)碼管的連接 通常的七段顯示塊中共有 8 個(gè)發(fā)光二極管 其中 7 個(gè)發(fā)光二極管構(gòu)成七筆字形 8 一 電子密碼鎖 9 個(gè)發(fā)光二極管構(gòu)成小數(shù)點(diǎn) 七段顯示塊與單片機(jī)接口非常容易 只要將一個(gè) 8 位并行輸 出與顯示塊的發(fā)光二極管引腳相連即可 8 位并行輸出口輸出不同的字節(jié)數(shù)據(jù)即可獲得不 同的數(shù)字或字符 通常將控制發(fā)光二極管的 8 位字節(jié)數(shù)據(jù)稱為段選碼 顯示字 符 共陽極段選碼 顯示字 符 共陽極段選碼 0C0HA88H 1F9HB7CH 2A4HCC6H 3B0HDA1H 499HE86H 592HF8EH 682H 7F8H 880H 990H 表 1 3 4 復(fù)位電路 如圖所示為 80C51 型單片機(jī)上電復(fù)位電路 RC 構(gòu)成微分電路 在接電瞬間 產(chǎn)生一個(gè)微 分脈沖 其寬度若大于 2 個(gè)機(jī)器周期 80C51 型單片機(jī)將復(fù)位 為保證微分脈沖寬度足夠 大 一般取 10 F 電容 8 2K 電阻 圖 3 3 復(fù)位電路 3 5 繼電器開關(guān)門裝置 電子密碼鎖 10 繼電器控制模塊是整個(gè)系統(tǒng)的重要部分 用來實(shí)現(xiàn)開門關(guān)門的動(dòng)作 繼電器控制模塊 原理電路如圖 3 2 所示 PNP 100 R1 1K R2 GND VCC VCC HRS1H S DC GND P3 3 yellow 圖 3 4 繼電器控制模塊 3 6 聲光報(bào)警裝置 P3 3 和 P3 5 和 P3 4 口分別控制 LED 和蜂鳴器 程序中將 P0 0 和 P0 1 口設(shè)置為同步 電平 當(dāng)他們同時(shí)高電平時(shí)三極管 9012 導(dǎo)通 LED 亮并且蜂鳴器鳴叫報(bào)警 聲光報(bào)警電路 圖如圖 3 3 所示 greenred PNPPNP 100 R13 100 R12 VCC GND P3 3P3 5 圖 3 5 指示燈模塊 第 4 章 系統(tǒng)軟件設(shè)計(jì) 本章主要介紹系統(tǒng)軟件部分 主程序由 C 語言編寫 簡潔易懂 主程序主要執(zhí)行鍵盤掃 描的工作 判斷是否有鍵按下 并判斷執(zhí)行什么動(dòng)作 其中包括數(shù)字鍵和功能鍵 當(dāng)按 電子密碼鎖 11 下功能鍵時(shí)完成所設(shè)定的功能 數(shù)字鍵用來輸入數(shù)值 4 1 編程工具的介紹 C 語言是計(jì)算機(jī)中廣泛使用的一種高級(jí)語言 在作為單片機(jī)編程語言之前 已經(jīng)應(yīng)用 到許多領(lǐng)域 C 語言的功能強(qiáng)大 使用簡單 有豐富的庫函數(shù) 運(yùn)算速度快 邊場合效率 高 可移植性好 本設(shè)計(jì)就是利用 C 語音完成的程序編寫 下面對(duì)應(yīng)用于單片機(jī)的 C51 做簡單的介紹 4 1 14 1 1 C C 語言的主要優(yōu)點(diǎn)語言的主要優(yōu)點(diǎn) C 語言包含了多種高級(jí)語言的優(yōu)點(diǎn) 最主要的優(yōu)點(diǎn)是能于匯編語言兼容 可直接操作 硬件端口 這是單片機(jī)應(yīng)用所需要的 C 語言是一種結(jié)構(gòu)化的語言 采用函數(shù) 循環(huán)語句 或條件語句很容易實(shí)現(xiàn)代碼模塊化 使用戶很容易實(shí)現(xiàn)模塊程序結(jié)構(gòu) 此外其源代碼可 讀性較強(qiáng) 容易理解和編程 并且極大的縮短了源文件的長度 可大大縮短編程時(shí)間 C 語言良好的可移植性可以使相同的功能模塊方便地移植到另一種單片機(jī)上 此外 使用 C 語言不要求對(duì)指令系統(tǒng)很熟悉 能理解就可以 許多計(jì)算機(jī)都支持對(duì) C 語言的應(yīng)用 因而可以方便地在 PC 機(jī)上直接編寫和調(diào)試部分 程序 多數(shù)情況 在 PC 機(jī)上調(diào)試正常的代碼段可以直接移植到目標(biāo)單片機(jī)上 這樣可以 在沒有硬件的情況下開始編寫和調(diào)試程序 減少在硬件上的調(diào)試 就會(huì)加快開發(fā)過程 4 1 24 1 2 C C 語言使用的工具語言使用的工具 正如匯編程序是將符號(hào)語言翻譯成機(jī)器碼的工具 C 編譯器是將 C 語言源文件翻譯 成臨時(shí)目標(biāo)文件的軟件工具 目前 很多軟件開發(fā)公司都是把 C 語言用于單片機(jī)的軟件 開發(fā) 用于 80C51 系列單片機(jī)的 C 語言在 1985 年就已經(jīng)出現(xiàn) 稱為 C51 編譯器 通常 簡稱為 C51 本設(shè)計(jì)所使用的程序的集成開發(fā)環(huán)境是 Keil 該開發(fā)環(huán)境使用簡單 容易上 手 為調(diào)試工作提供了很多方便 4 1 3 C51 與 C 語言的主要不同點(diǎn) 由于 C 語言最初是為通用計(jì)算機(jī)設(shè)計(jì)的 在通用計(jì)算機(jī)中只有一個(gè)程序和數(shù)據(jù)統(tǒng)一 尋址的內(nèi)存空間 而在單片機(jī)中 程序保存在 ROM 中 數(shù)據(jù)存放在 RAM 中 標(biāo)準(zhǔn) C 語 言并沒有提供對(duì)這部分內(nèi)存地址范圍的定義 對(duì)于單片機(jī)中大量的特殊功能寄存器也沒 有定義 此外 標(biāo)準(zhǔn) C 語言沒有處理單片機(jī)中斷的定義 而 C51 則解決了以上的問題 因 此 采用 C51 來編寫程序 4 2 主程序 主程序是整個(gè)軟件系統(tǒng)的核心部分 具體步驟如下 當(dāng)用戶按下按鈕 open 時(shí) 可以輸入密碼 此時(shí) 用戶可以在小鍵盤輸入密碼 當(dāng)用戶輸 入的密碼與預(yù)設(shè)的密碼相同時(shí) 就會(huì)在 LED 數(shù)碼管上顯示密碼輸入正確的提示 OPENED 并且綠燈亮 繼電器完成開鎖功能使黃燈亮 如果輸入密碼錯(cuò)誤 LED 數(shù)碼 管上顯示 ERROR 并且紅燈亮提示 如果連續(xù)輸入三次 則由蜂鳴報(bào)警提示密碼輸入 錯(cuò)誤的信息 紅燈亮 同時(shí)鎖定系統(tǒng) 顯示 CLOSED 限制一些操作 當(dāng)輸入密碼位 數(shù)超過六位 進(jìn)行鍵盤鎖定 輸入密碼鍵處理流程圖如下 電子密碼鎖 12 輸入密碼處理 讀密碼 密碼是否正確 顯示ERROR 報(bào)警 紅燈亮 鎖定系統(tǒng) 開鎖 否 否 是 返回 圖4 1 輸入密碼鍵處理流程圖 電子密碼鎖 13 修改密碼流程圖如圖所示 開始 按ALTER鍵修 改密碼 輸入原密碼 密碼是否正確 輸入新密碼 返回 蜂鳴 紅燈亮 否 是 圖4 2 修改密碼鍵處理流程圖 4 3 矩陣式鍵盤 由于設(shè)計(jì)要求使用矩陣鍵盤 所以本設(shè)計(jì)就采用行列式鍵盤 同時(shí)也能減少鍵盤與 單片機(jī)接口時(shí)所占用的 I O 線的數(shù)目 在按鍵比較多的時(shí)候 通常采用這樣方法 每一條 水平與垂直線的交叉處不相通 而是通過一個(gè)按鍵來連通 利用這種行列式矩陣結(jié)構(gòu)只 需要 N 條行線和 M 條列線 即可組成具有 N M 個(gè)按鍵的鍵盤 在這種行列式矩陣鍵盤非鍵盤編碼的單片機(jī)系統(tǒng)中 鍵盤處理程序首先執(zhí)行等待按 鍵并確認(rèn)有無按鍵按下的程序段 當(dāng)確認(rèn)有按鍵按下后 下一步就要識(shí)別哪一個(gè)按鍵按 下 對(duì)鍵的識(shí)別通常有兩種方法 一種是常用的逐行掃描查詢法 另一種是速度較快的 線反轉(zhuǎn)法 4 4 小鍵盤使用掃描的原理來檢測按鍵是否被按下 以及被按下的是哪一個(gè)按鍵 鍵 盤掃描的原理是每次送出信號(hào)到一列 再利用按鍵信號(hào)返回線檢測按鍵是否導(dǎo)通 如果 按鍵導(dǎo)通 就表示按鍵已按下 然后就可以知道被按下的是哪一個(gè)按鍵 利用這個(gè)原理 先將 P1 0 P1 3 接到列的位置 再講 P1 4 P1 7 接到行的位置 接下來將 P1 0 P1 3 作 為輸入 并將 P1 4 P1 7 作為輸出 這里的矩陣式鍵盤的特點(diǎn)是不需要外接電壓或低信 號(hào) 具體電路圖如圖 4 4 所示 電子密碼鎖 15 P1 4 0 P1 5 0 P1 6 0 P1 7 0 1 P1 0 1 P1 1 1 P1 2 1 P1 3 輸 出 輸 入 圖 4 2 鍵盤掃描示意圖 首先將 P1 7 P1 6 P1 5 P1 4 依次設(shè)為0 即將 P1 7 P1 6 P1 5 P1 4 依 次設(shè)為 0111 1011 1101 1110 用戶按下某個(gè)按鍵之后 因?yàn)楸话聪碌陌存I 會(huì)造成導(dǎo)通 所以 P1 0 P1 3 中會(huì)有一支引腳變成低電平 因此從 P1 0 P1 3 讀回?cái)?shù)值 時(shí) P1 0 P1 3 中會(huì)有一個(gè)數(shù)值是0 根據(jù)從 P1 0 P1 3所讀回的數(shù)值 就可以判斷按下 的是哪一個(gè)按鍵 按鍵的操作面板共計(jì)數(shù)字鍵 10 個(gè) 功能鍵 6 個(gè) 10 個(gè)數(shù)字鍵用來輸入密碼 另外6 個(gè)功能鍵分別是 ESC ALTER SAVE OPEN ENTER 和 DEL鍵 如圖 4 5 所示 7 8 9 ESC 4 5 6 ALTER 1 2 3 SAVE 0 DEL ENTER OPEN 圖 4 3 按鍵操作面板 修改密碼時(shí)按下 ALTER 鍵 顯示 OLD CODE 必須先輸入正確的舊密碼 然后顯 示 CODE 才可以輸入新修改的密碼 當(dāng)新修改的密碼輸入之后 系統(tǒng)會(huì)要求用戶重新輸 入新修改的密碼再次確認(rèn) 如果兩次輸入的密碼相同 密碼修改成功 其中 ENTER 鍵用 來啟動(dòng)輸入密碼 當(dāng)按下此鍵時(shí)輸入密碼 如果密碼輸入正確 則繼電器門開 第 5 章 系統(tǒng)調(diào)試 電子密碼鎖 16 系統(tǒng)調(diào)試共分三大部分 硬件調(diào)試 軟件調(diào)試和軟硬件聯(lián)機(jī)調(diào)試 系統(tǒng)的調(diào)試包括 硬件調(diào)試和軟件調(diào)試 但硬件調(diào)試和軟件調(diào)試并不能完全分開 一些硬件錯(cuò)誤是在軟件 調(diào)試過程中被發(fā)現(xiàn)和糾正的 調(diào)試一般分為單元調(diào)試和整體調(diào)試兩個(gè)階段 單元調(diào)試是 對(duì)單元模塊進(jìn)行單獨(dú)的檢查調(diào)試 1 萬用表測試 先用萬用表復(fù)核目測中認(rèn)為可以的連線或接點(diǎn) 查看它們通斷狀 態(tài)是否與設(shè)計(jì)規(guī)定相符 再察看各種電源線與地線之間是否有短路現(xiàn)象 如有則仔細(xì)查 處并排除 短路現(xiàn)象一定要在器件安裝及加電查出 如果電源與地之間短路 系統(tǒng)中所 有期間或設(shè)備都有可能被毀壞后果十分嚴(yán)重 所以 對(duì)電源與地的處理 在整個(gè)系統(tǒng)調(diào) 試及今后的運(yùn)行中都要相當(dāng)小心 2 加電檢查 當(dāng)給印制板加電時(shí) 首先檢查所有插座或器件引腳的電源是否符合 要求的電壓值 注意 CPU 插座上不該有大于 5V 的電壓 否則聯(lián)機(jī)時(shí)將損壞仿真器 接地端電壓知是否接近于零 接固定電平的引腳是否正確 然后在斷電狀態(tài)下將芯片逐 個(gè)插入印制板上的相應(yīng)插座中 每插入一塊做一遍上述的電壓檢查 特別是檢查電源到 地是否短路 這樣就可以確定電源錯(cuò)誤或與地短路發(fā)生在哪塊芯片上 全部芯片插入印 制板后 如均未發(fā)現(xiàn)電源或接地錯(cuò)誤 將全部芯片取下 把印制板上除芯片外的其它器 件逐個(gè)焊接上去 并反復(fù)做前面的各電源 電壓檢查 避免因某器件的損壞或失效造成 對(duì)地短路或其它電源加載錯(cuò)誤 在對(duì)各芯片 器件加電過程中 還要注意觀察芯片是否出現(xiàn) 火花 過熱 變色 冒煙 異味等現(xiàn)象 如出現(xiàn)這些現(xiàn)象 應(yīng)立即斷電 仔細(xì)檢查電源加載等情況 找出產(chǎn) 生異味的原因并加以解決 此外 也可以在加電期間 利用給邏輯功能簡單的芯片加載固定輸入電平 利用萬 用表測其輸入電平來判斷該芯片的好壞 聯(lián)機(jī)測試一般可檢查出硬件設(shè)計(jì)上的邏輯錯(cuò)誤以及模塊軟件的編寫錯(cuò)誤 需要注意 的是 聯(lián)機(jī)測試要負(fù)責(zé)檢查單元模塊能否實(shí)現(xiàn)其預(yù)定的功能指標(biāo) 因?yàn)橛袝r(shí)單元模塊雖 然能實(shí)現(xiàn)預(yù)定的邏輯功能 但是達(dá)不到預(yù)定的功能指標(biāo) 如測量精度不夠 這時(shí) 亦需 重新設(shè)計(jì)單元模塊 5 1 硬件調(diào)試 5 1 15 1 1 元器件的檢測元器件的檢測 眾所周知 一個(gè)系統(tǒng)由若干模塊組成 而一個(gè)模塊又由于若干元器件組成 所以在 設(shè)計(jì)系統(tǒng)之前要先檢查所使用的元器件是否能正常工作 可以在面包板上先設(shè)計(jì)一個(gè)簡 單電路對(duì)元器件進(jìn)行測試 如果元器件能正常工作再進(jìn)行實(shí)驗(yàn) 這樣可以節(jié)省很多寶貴 的時(shí)間 下面對(duì)這次設(shè)計(jì)所用的部分元器件測試作一簡單介紹 1 LED 數(shù)碼顯示器 直接給液晶顯示器加上電壓 看液晶屏是否被點(diǎn)亮 2 蜂鳴器 直接給蜂鳴器加方向正確的電壓 看蜂鳴器是否能正常發(fā)聲 5 1 2 模塊電路的檢測 1 報(bào)警模塊 直接給 P3 3 和 P3 4 P3 5 送低電平 看發(fā)光二極管和蜂鳴器能否正 常工作 2 矩陣式鍵盤模塊 按下某一個(gè)按鍵 用萬用表檢測是否有兩個(gè)口導(dǎo)通 3 顯示模塊 用萬用表檢測 給 COM 端一個(gè)高電平 逐個(gè)給每個(gè) LED 的 a g 低 電平 看是否按預(yù)定要求電量 電子密碼鎖 17 5 2 軟件調(diào)試 本系統(tǒng)的軟件系統(tǒng)很龐大 用 C 和匯編語言來編寫 單片機(jī)應(yīng)用系統(tǒng)一般都需要開 發(fā)系統(tǒng)和開發(fā)軟件來設(shè)計(jì) 調(diào)試步驟 1 先獨(dú)立后聯(lián)機(jī) 軟件對(duì)被測參數(shù)進(jìn)行加工處理或作某項(xiàng)事務(wù)處理時(shí) 往往是與 硬件無關(guān)的 這樣就可以獨(dú)立進(jìn)行調(diào)試 此時(shí)與硬件無關(guān)的程序快調(diào)試就可以與硬件調(diào) 試同步進(jìn)行 以提高軟件調(diào)試的速度 當(dāng)與硬件無關(guān)的程序快調(diào)試完成后 可將仿真機(jī) 與主機(jī) 用戶系統(tǒng)連接起來 進(jìn)行聯(lián)機(jī)調(diào)試 2 先分塊后組合 將用戶程序分成與硬件無關(guān)和依賴于硬件兩大程序快后 程序 仍較為龐大的話 常規(guī)的調(diào)試方法是分別對(duì)兩類程序快進(jìn)一步采用分模塊調(diào)試 以提高 軟件調(diào)試的有效性 各模塊調(diào)試完后 將相互有關(guān)聯(lián)的程序模塊逐塊組合起來加以調(diào)試 以解決在程序模塊連接中可能出現(xiàn)的邏輯錯(cuò)誤 3 先單步后連續(xù) 調(diào)試好程序模塊的關(guān)鍵是實(shí)現(xiàn)對(duì)錯(cuò)誤的準(zhǔn)確定位 而發(fā)現(xiàn)程序 中錯(cuò)誤的最有效方法是采用單步加斷點(diǎn)運(yùn)行方式調(diào)試程序 這樣就可以精確定位錯(cuò)誤所 在 就可以做到調(diào)試的快捷和準(zhǔn)確 一般情況下 單步調(diào)試完成后 還要作連續(xù)運(yùn)行調(diào) 試 以防止某些錯(cuò)誤在單步執(zhí)行的情況下被覆蓋 在系統(tǒng)軟件的調(diào)試過程中 首先將程序分成幾個(gè)程序段分別進(jìn)行調(diào)試 對(duì)于一些獨(dú) 立的程序模塊隔離出來分別進(jìn)行調(diào)試 例如對(duì)鍵盤及數(shù)碼顯示管部分 進(jìn)行單獨(dú)調(diào)試 用單步 斷點(diǎn)和連續(xù)等方法 觀察各數(shù)據(jù)窗口的數(shù)據(jù)是否正常 檢查出程序中出錯(cuò)的地 方并加以糾正 此外 還可以借助仿真軟件來測試軟件的運(yùn)行情況 在這里我用的是 PROTEUS 仿真 軟件 能非常逼真的看到系統(tǒng)的的運(yùn)行狀況 并能反應(yīng)單片機(jī)各個(gè)口高低電平的變化情 況 5 3 系統(tǒng)軟硬件聯(lián)機(jī)調(diào)試 系統(tǒng)聯(lián)機(jī)調(diào)試是將用戶系統(tǒng)的軟件在其硬件上實(shí)際運(yùn)行 進(jìn)行軟硬件聯(lián)合調(diào)試 從 中發(fā)現(xiàn)硬件故障或軟硬件設(shè)計(jì)上的錯(cuò)誤 如果直接將軟硬件連起來調(diào)試 出現(xiàn)了問題就不知道是軟件上還是硬件上的問題 所以在聯(lián)機(jī)調(diào)試之前 一定將軟件和硬件分別調(diào)試好 再進(jìn)行聯(lián)機(jī)調(diào)試 當(dāng)各個(gè)部分都 經(jīng)過測試后沒有問題 就可以將軟硬件聯(lián)機(jī)進(jìn)行系統(tǒng)調(diào)試 這樣出現(xiàn)的問題就會(huì)比較少 同時(shí)也能減少調(diào)試的難度 第 6 章 焊接技術(shù)焊接技術(shù) 先將準(zhǔn)備好的元件插入印刷電路板規(guī)定好的位置上 在元件與印刷電路板銅箔的連接點(diǎn) 上 涂上少許焊劑 待電烙鐵加熱后用烙鐵頭的刃口上些適量的焊錫 上的焊錫多少要 根據(jù)焊點(diǎn)的大小來決定 焊接時(shí) 要將烙鐵頭的刃口接觸焊點(diǎn)與元件引線 根據(jù)焊點(diǎn)的 形狀作一定的移動(dòng) 使流動(dòng)的焊錫布滿焊點(diǎn)并滲入被焊物的縫隙 接觸時(shí)間大約在 3 5 秒左右 然后拿開電烙鐵 拿開電烙鐵的時(shí)間 方向和速度 決定了焊接的質(zhì)量與外觀 的正確的方法是 在將要離開焊點(diǎn)時(shí) 快速的將電烙鐵往回帶一下 后迅速離開焊點(diǎn) 這樣焊出的焊點(diǎn)既光亮 圓滑 又不出毛刺 在焊接時(shí) 焊接時(shí)間不要太長 免得把元 件燙壞 但亦不要太短 造成假焊或虛焊 焊接結(jié)束后 用列子夾住被焊元件適當(dāng)用力 拉撥一下 檢查元件是否被焊牢 如果發(fā)現(xiàn)有松動(dòng)現(xiàn)象 必須重新進(jìn)行焊接 電子密碼鎖 18 第 7 章 總 結(jié) 7 1 心得體會(huì) 課程設(shè)計(jì)已經(jīng)完成 回想兩周來的努力 真可謂百感交集 受益匪淺 電子密碼鎖不算 是非常難的題目 所以 我們?cè)诨A(chǔ)功能的實(shí)現(xiàn)上盡量的多加一些附加的功能 使整個(gè) 系統(tǒng)更加完善 雖然談不上有多復(fù)雜 但也會(huì)遇到一些問題 值得欣慰的是通過一遍一 遍的檢查 調(diào)試 修改終于使其完成了基本功能 在此過程中 我們學(xué)到了很多書本中 永遠(yuǎn)學(xué)不到的知識(shí) 這些知識(shí)對(duì)于以后的學(xué)習(xí)與工作將會(huì)有巨大的幫助 心得一心得一 的心得體會(huì) 的心得體會(huì) 兩周的實(shí)習(xí)雖然很短 但我學(xué)到的知識(shí)確實(shí)一個(gè)學(xué)期的理論學(xué)習(xí)所不能替代的 在實(shí)習(xí) 期間 我們自己動(dòng)手完成了軟硬件部分的設(shè)計(jì) 連接 在這個(gè)過程中 我經(jīng)歷了難 易 難 剛聽說要課程設(shè)計(jì) 準(zhǔn)備選擇設(shè)計(jì)題目時(shí) 覺得這是一個(gè)很難的任務(wù) 認(rèn)為 我們不可能獨(dú)立作出東西來 當(dāng)翻閱大量書籍 準(zhǔn)備定下課題 并找到幾個(gè)設(shè)計(jì)方案時(shí) 又突然覺得沒有想象中那么難 于是 眼高手低 不想做簡單的交通燈 選擇了電子密 碼鎖 信心滿滿的認(rèn)為能完成的很好 當(dāng)我們開始動(dòng)手設(shè)計(jì)時(shí) 無論是軟件方面還是硬 件方面 問題不斷 困難重重 為了更好的完成設(shè)計(jì) 我們翻閱大量書籍 學(xué)習(xí)了每個(gè)元器件的引腳 功能等 什么時(shí) 候需要放大 什么時(shí)候片選 應(yīng)該相應(yīng)的加哪些元器件 如何能使顯示器穩(wěn)定等等問題 都耗費(fèi)我們大量時(shí)間和精力來解決 但在解決過程中 我們學(xué)到了實(shí)際中應(yīng)用的真知識(shí) 通過這次實(shí)習(xí) 我總結(jié)了以下幾點(diǎn)心得 1 仔細(xì)研究課題 只有充分了解課題要求 才能做出符合條件的作品 這是設(shè)計(jì)的基 礎(chǔ) 2 不懂就問 多問多得 因?yàn)橹皼]有相應(yīng)的學(xué)習(xí)和訓(xùn)練 所以遇到的不懂得問題特 別多 這時(shí)如果單靠自己死 鉆 效率極低 我周圍有幾個(gè)在實(shí)驗(yàn)室的同學(xué) 我經(jīng)常讓 他們幫我講解一些知識(shí) 同時(shí)也常常請(qǐng)教老師 聽取他的意見 問題大多能得到有效解 決 在問的過程中 也是我的學(xué)習(xí)過程 問的越多 你收獲就越多 3 建立信心 起初 我們的密碼鎖最大的問題就是顯示問題 管子亮度很暗 只有在 較黑的環(huán)境下才能看到 為此 我們采用過 加三極管放大 加 244 電流驅(qū)動(dòng) 加非門 等許多方法 但都不見效 而且好像越弄越糟 自信心受損 情況越來越糟 當(dāng)我們重 拾信心 下定決心要把它完成 做好時(shí) 經(jīng)過努力問題得到了有效地解決 4 發(fā)散思維 不要被書本上的死知識(shí)所限定 在利用所學(xué)到的理論知識(shí)的同時(shí) 發(fā)散你 的思維 活學(xué)活用才能真正掌握這門課程 通過此次實(shí)習(xí) 使我對(duì)單片機(jī)及相關(guān)知識(shí)有了更進(jìn)一步的了解 也使我的動(dòng)手能力提 高很多 雖然只有兩周 但學(xué)到的東西卻讓我受益終身 心得二 心得二 的心得 的心得 經(jīng)過這次課程設(shè)計(jì) 讓我明白了理論學(xué)習(xí)與實(shí)踐實(shí)現(xiàn)之間的巨大差異 要想實(shí)現(xiàn)具 體的內(nèi)容就必須以正確的理論知識(shí)為指導(dǎo) 只具備純碎的理論知識(shí)也是不夠的 因?yàn)樵?實(shí)踐實(shí)現(xiàn)的過程中的不定干擾性因素太多 實(shí)踐起來出現(xiàn)了不少的問題 在提出問題和 解決問題的過程中 給我的學(xué)習(xí)和生活都帶來了很深刻的影響 現(xiàn)歸納如下 電子密碼鎖 19 1 要仔細(xì)分析題目確定設(shè)計(jì)方案 在分析題目的過程中一定要多查資料多聽取老 師同學(xué)的意見 盡量的少走彎路 對(duì)所選的題目得有大概的了解 在這樣一個(gè)基礎(chǔ)上 綜合已有的資料來更透徹的分析題目 然后再在此基礎(chǔ)上提出適合該題目的設(shè)計(jì)方案 俗話說有的放矢 設(shè)計(jì)方案對(duì)于設(shè)計(jì)是至關(guān)重要的 合理的方案不僅給以后的設(shè)計(jì)帶來 很大的方便 也能使結(jié)果更好一點(diǎn) 2 要注意查詢資料的方式 信息時(shí)代資料滿天飛 上網(wǎng)查資料是必不可少的 但 是到圖書館去也有其可取之處的 總之 不管通過哪種方式查的資料都是有利用價(jià)值的 要一一記錄下來以備后用 這也是整個(gè)設(shè)計(jì)的基礎(chǔ) 3 要注意學(xué)習(xí)能力的提高 遇到了問題并且分析了問題 然后就是如何解決問題 了 這個(gè)時(shí)候?qū)W習(xí)能力顯得特別的重要 如何通過自己的努力把不明白的東西搞明白 這也是學(xué)習(xí)能力的體現(xiàn) 從中也體味到了學(xué)習(xí)的樂趣 4 要多動(dòng)手 很多事情想起來是一回事真正做起來就并不是那么簡單 隨著設(shè)計(jì) 的逐步進(jìn)行 諸多問題也就暴露了出來 這點(diǎn)我深有體會(huì) 所以在平時(shí)就應(yīng)該注意培養(yǎng) 自己的動(dòng)手能力 實(shí)踐出真知 5 要勤學(xué)好問 敢于請(qǐng)教 樂于助人 要多向老師 同學(xué)請(qǐng)教 同時(shí)也要樂于幫 助別人 互相探討 互相學(xué)習(xí) 這樣才能很快的進(jìn)步 以上就是我的一些心得 在實(shí)際動(dòng)手的過程中總比想象的要困難的多 在設(shè)計(jì)過程 中 我通過查閱大量有關(guān)資料 向老師請(qǐng)教 與同學(xué)互相交流 使自己學(xué)到了不少知識(shí) 也收獲了很多 充分體會(huì)到了在學(xué)習(xí)過程的艱難和成功的喜悅 在課程設(shè)計(jì)過程中我學(xué) 到了許多東西 也培養(yǎng)了我獨(dú)立工作的能力 樹立了信心 這也對(duì)今后的學(xué)習(xí) 工作 生活有重要的影響 通過這次的課程設(shè)計(jì)不僅使我對(duì)單片機(jī)有了進(jìn)一步的理解和學(xué)習(xí) 也使我感到還有 很大的不足 當(dāng)然 本次課設(shè)還存在一些缺點(diǎn) 所設(shè)計(jì)的內(nèi)容也還存在一些不足 還懇 請(qǐng)老師給與批評(píng)和指正 最后 再次感謝老師不辭辛苦的精心指導(dǎo) 感謝我們組員之間的相互協(xié)作 相互幫 助 心得三 心得三 的心得 的心得 今天我們完成并提前做好了自選題目的設(shè)計(jì) 本次單片機(jī)課程設(shè)計(jì)的課題是 4 4 鍵 盤及 8 位數(shù)碼管顯示構(gòu)成的電子密碼鎖的實(shí)現(xiàn)與運(yùn)用 通過一周的努力 基本達(dá)到了預(yù) 期的功能 密碼的輸入 刪除 密碼的保存 改寫 錯(cuò)誤報(bào)警 自鎖等 本次設(shè)計(jì)我們?nèi)唤M員一起計(jì)劃 談?wù)?實(shí)踐 但由于本人基礎(chǔ)知識(shí)掌握的不夠牢 固 在設(shè)計(jì)時(shí)發(fā)揮的作用有限 但我抱著學(xué)習(xí)的態(tài)度積極參與 從中也學(xué)習(xí)到了很多理 論與實(shí)踐的知識(shí) 比如 LED 數(shù)碼管如何通過 MCS 51 單片機(jī)實(shí)現(xiàn)控制 電焊時(shí)應(yīng)該注意的 電子密碼鎖 20 常識(shí) 元器件組裝時(shí)如何合理布局等等 當(dāng)然設(shè)計(jì)過程中也難免遇到各種各樣的問題 但有老師的耐心講解與幫助 基本能 得以解決 在設(shè)計(jì)時(shí)我們相應(yīng)遇到了硬件軟件等問題 比如插槽的選擇會(huì)影響數(shù)碼管顯 示的穩(wěn)定性 LED 共陰共陽選擇相應(yīng)的問題 程序的輸入與存儲(chǔ) 還有其他的一些問題 我們組設(shè)計(jì)的密碼鎖在顯示上遇到了問題 數(shù)碼管顯示亮度不夠 在老師的指導(dǎo)下經(jīng)過 一系列改進(jìn)終于達(dá)到了預(yù)期的效果 并且加入了一些擴(kuò)展功能 有密碼位數(shù)鎖定 密碼 輸入保密措施 還有老師建議的開鎖控制脈沖改進(jìn) 經(jīng)過這些設(shè)計(jì)與改進(jìn) 我們也認(rèn)識(shí)到了無論是在生活還是工作中遇到問題是難免的 關(guān)鍵是如何從解決問題的過程中提高知識(shí)儲(chǔ)備與排除問題的能力 這些都是我們今后學(xué) 習(xí)工作不可或缺的 并且我在設(shè)計(jì)的過程中認(rèn)識(shí)到自己的不足 好多知識(shí)需要扎實(shí)的基 礎(chǔ)才能更好的運(yùn)用 實(shí)踐是檢驗(yàn)真理的唯一方法 多動(dòng)手做 哪怕是從點(diǎn)亮一只指示燈 開始 也要?jiǎng)邮秩プ?否則就會(huì)永遠(yuǎn)停留在書本上 同時(shí) 今后也要努力學(xué)習(xí)掌握專業(yè) 知識(shí) 方便今后工作與學(xué)習(xí) 7 2 系統(tǒng)存在的問題和改進(jìn)方案 本系統(tǒng)的缺陷有 1 系統(tǒng)模塊直接由排線連接 存在接觸不良的現(xiàn)象 使 LED 有時(shí)產(chǎn)生亂碼現(xiàn)象 解決方案 將模塊之間焊接起來 使系統(tǒng)更加穩(wěn)定 2 本次系統(tǒng)電路板均由手工焊接而成 故對(duì)整個(gè)系統(tǒng)的穩(wěn)定性有著很大的考驗(yàn) 3 LED 數(shù)碼管有功耗大 體積大 顯示內(nèi)容單調(diào)的缺點(diǎn) 解決方法 LCD 液晶屏 顯示模塊與數(shù)碼管相比 有功耗小 體積小 顯示內(nèi)容豐富 畫面美觀 超薄輕巧 使 用方便等特點(diǎn) 7 3 設(shè)計(jì)中遇到的問題和解決方法 設(shè)計(jì)中遇到的問題 數(shù)碼管顯示不完全 解決方法 顯示不完全的原因是硬件焊接存在使其不穩(wěn)定 由于我們之前的焊接 方法不理想 本身存在不穩(wěn)定問題 為此 我們重新焊了數(shù)碼顯示部分 在數(shù)碼 管底部采用芯片底座 因?yàn)樾酒鬃鶅?nèi)部有彈簧 會(huì)增強(qiáng)管子連接部分的穩(wěn)定度 數(shù)碼管的亮度不夠 很暗 解決方法 我們嘗試過 加電流驅(qū)動(dòng)器 244 加三極管 但由于一起驅(qū)動(dòng) 8 個(gè)共 陰極數(shù)碼管所需電流太大 仍不見效 最終我們選擇了共陽極的 LED 數(shù)碼管 并 修改了相應(yīng)程序 亮度得以完善 蜂鳴器的響聲非常小 解決方法 將蜂鳴器所接電阻換為較小阻值的電阻 參考文獻(xiàn) 1 晁陽 單片機(jī) MCS 51 原理及應(yīng)用開發(fā)教程 M 清華大學(xué)出版社 2007 10 2 蔡朝洋 單片機(jī)控制實(shí)習(xí)與專題制作 M 北京 北京航空航天大學(xué)出版社 2006 3 周立功 增強(qiáng)型 80C51 單片機(jī)速成與實(shí)踐 M 北京 北京航空航天大學(xué)出版社 2003 4 惠仇 手把手教你 51 單片機(jī) M 北京 電子工業(yè)出版社 2009 1 5 閻石 數(shù)字電子技術(shù)基礎(chǔ) M 北京 高等教育出版社 2006 5 電子密碼鎖 21 附錄一 系統(tǒng)電路總圖 電子密碼鎖 22 電子密碼鎖 23 K 1 f 2 g 3 e 4 d 5 K 6 c 8 DP 7 b 9 a 10 K 1 f 2 g 3 e 4 d 5 K 6 c 8 DP 7 b 9 a 10 K 1 f 2 g 3 e 4 d 5 K 6 c 8 DP 7 b 9 a 10 K 1 f 2 g 3 e 4 d 5 K 6 c 8 DP 7 b 9 a 10 K 1 f 2 g 3 e 4 d 5 K 6 c 8 DP 7 b 9 a 10 K 1 f 2 g 3 e 4 d 5 K 6 c 8 DP 7 b 9 a 10 K 1 f 2 g 3 e 4 d 5 K 6 c 8 DP 7 b 9 a 10 1K R1 1K R2 1K R3 1K R4 1K R5 1K R6 1K R7 K 1 f 2 g 3 e 4 d 5 K 6 c 8 DP 7 b 9 a 10 1K R8 PNPPNPPNPPNPPNPPNPPNPPNP VCC P0 0 P0 1 P0 2 P0 3 P0 4 P0 5 P0 6 P0 7 P2 0 P2 1 P2 2 P2 3 P2 4 P2 5 P2 6 P2 7 P1 0 P1 1 P1 2 P1 3 P1 5 P1 4 P1 6 P1 7 PNP 100 R1 1K R2 GND VCC VCC HRS1H S DC GND P3 3 100 R11 PNP Speaker GND VCC P3 4 greenred PNPPNP 100 R13 100 R12 VCC GND P3 3P3 5 P1 0 P1 1 P1 2 P1 3 P1 4 P1 5 P1 6 P1 7 P3 0 P3 1 P3 2 P3 3 P3 4 P3 5 P3 6 P3 7 GND VCC P2 0 P2 1 P2 2 P2 3 P2 4 P2 5 P2 6 P2 7 P0 0 P0 1 P0 2 P0 3 P0 4 P0 5 P0 6 P0 7 STC89C52RC VCC GND ATMLU836 VCC WC SCL SDA E0 E1 E2 VSS GND VCC GND 1K R14 1K R15 VCC VCC P3 0 P3 1 yellow 附錄二 元器件清單 元件清單 元件名元件數(shù)量 89C52RC 單片機(jī)一個(gè) 共陽極 LED 數(shù)碼管八個(gè) 按鍵開關(guān)十六個(gè) 9012 三極管八個(gè) 1K 電阻八個(gè) 40 腳芯片底座兩個(gè) ATMLU836 芯片一個(gè) 100 歐電阻四個(gè)個(gè) 9013 三極管一個(gè) 3906 三極管三個(gè) 繼電器一個(gè) 蜂鳴器一個(gè) 發(fā)光二極管三個(gè) 排針若干 導(dǎo)線若干 焊接電路板四塊 10K 電阻兩個(gè) 電池盒一個(gè) 排線若干 八腳芯片底座一個(gè) 附錄三 軟件程序 電子密碼鎖 24 include intrins h include reg52 h include top h include keyscan h include leddisp h include dydisp h include test h uchar temp1 8 temp2 8 void main num 16 su 1 start hel loop cddisp 4 dydisp if esc 1 esc 0 count 0 goto start num1 next while num1 if esc 1 esc 0 count 0 goto start j chang if j 1 ok 0 su 0 delay 500 su 1 ok 1 break while num1 if esc 1 if num2 2 while 1 disp CLOSED 6 電子密碼鎖 25 er 1 esc 0 num2 break goto loop INTRINS H Intrinsic functions for C51 Copyright c 1988 2004 Keil Elektronik GmbH and Keil Software Inc All rights reserved ifndef INTRINS H define INTRINS H extern void nop void extern bit testbit bit extern unsigned char cror unsigned char unsigned char extern unsigned int iror unsigned int unsigned char extern unsigned long lror unsigned long unsigned char extern unsigned char crol unsigned char unsigned char extern unsigned int irol unsigned int unsigned char extern unsigned long lrol unsigned long unsigned char extern unsigned char chkfloat float extern void push unsigned char sfr extern void pop unsigned char sfr endif REG52 H Header file for generic 80C52 and 80C32 microcontroller Copyright c 1988 2002 Keil Elektronik GmbH and Keil Software Inc All rights reserved ifndef REG52 H define REG52 H BYTE Registers 電子密碼鎖 26 sfr P0 0 x80 sfr P1 0 x90 sfr P2 0 xA0 sfr P3 0 xB0 sfr PSW 0 xD0 sfr ACC 0 xE0 sfr B 0 xF0 sfr SP 0 x81 sfr DPL 0 x82 sfr DPH 0 x83 sfr PCON 0 x87 sfr TCON 0 x88 sfr TMOD 0 x89 sfr TL0 0 x8A sfr TL1 0 x8B sfr TH0 0 x8C sfr TH1 0 x8D sfr IE 0 xA8 sfr IP 0 xB8 sfr SCON 0 x98 sfr SBUF 0 x99 8052 Extensions sfr T2CON 0 xC8 sfr RCAP2L 0 xCA sfr RCAP2H 0 xCB sfr TL2 0 xCC sfr TH2 0 xCD BIT Registers PSW sbit CY PSW 7 sbit AC PSW 6 sbit F0 PSW 5 sbit RS1 PSW 4 sbit RS0 PSW 3 sbit OV PSW 2 sbit P PSW 0 8052 only TCON sbit TF1 TCON 7 sbit TR1 TCON 6 sbit TF0 TCON 5 sbit TR0 TCON 4 電子密碼鎖 27 sbit IE1 TCON 3 sbit IT1 TCON 2 sbit IE0 TCON 1 sbit IT0 TCON 0 IE sbit EA IE 7 sbit ET2 IE 5 8052 only sbit ES IE 4 sbit ET1 IE 3 sbit EX1 IE 2 sbit ET0 IE 1 sbit EX0 IE 0 IP sbit PT2 IP 5 sbit PS IP 4 sbit PT1 IP 3 sbit PX1 IP 2 sbit PT0 IP 1 sbit PX0 IP 0 P3 sbit RD P3 7 sbit WR P3 6 sbit T1 P3 5 sbit T0 P3 4 sbit INT1 P3 3 sbit INT0 P3 2 sbit TXD P3 1 sbit RXD P3 0 SCON sbit SM0 SCON 7 sbit SM1 SCON 6 sbit SM2 SCON 5 sbit REN SCO
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 小學(xué)節(jié)目比賽活動(dòng)方案
- 少年閱讀活動(dòng)方案
- 工會(huì)拓印活動(dòng)策劃方案
- 山西消費(fèi)扶貧活動(dòng)方案
- 小班野戰(zhàn)活動(dòng)方案
- 小店飲料促銷活動(dòng)方案
- 岳陽五一活動(dòng)方案
- 崇明區(qū)公益保潔活動(dòng)方案
- 小貸公司周年慶活動(dòng)方案
- 工會(huì)勞動(dòng)活動(dòng)方案
- 《椎動(dòng)脈型頸椎病》課件
- 巨量云圖(中級(jí))認(rèn)證考試題庫(附答案)
- 2024年垂直升降貨柜項(xiàng)目可行性研究報(bào)告
- 2023年貴州貴州貴安發(fā)展集團(tuán)有限公司招聘考試真題
- 人文英語4-008-國開機(jī)考復(fù)習(xí)資料
- 公司責(zé)任與權(quán)力分配管理制度
- 甘肅電投集團(tuán)筆試試題
- 部編版四年級(jí)語文閱讀訓(xùn)練20篇專項(xiàng)專題訓(xùn)練帶答案解析
- 《中歐國際工商學(xué)院》課件
- 環(huán)境水利學(xué)-001-國開機(jī)考復(fù)習(xí)資料
- 大講堂之 第五講 大一統(tǒng)與中華民族的初步形成秦漢時(shí)期《中華民族共同體概論》
評(píng)論
0/150
提交評(píng)論