




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、電子密碼鎖- 1 -課程設(shè)計(jì)論文課程設(shè)計(jì)論文電電子子密密碼碼鎖鎖電子密碼鎖- 2 -目 錄第 1 章 緒 論 .11.1 電子密碼鎖 .11.2 電子密碼鎖的特點(diǎn).11.3 論文的主要工作 .1第 2 章 系統(tǒng)設(shè)計(jì)方案及主控制芯片介紹 .22.1 系統(tǒng)總體設(shè)計(jì)方案 .22.2 系統(tǒng)的工作原理 .22.3 主控芯片介紹 .32.3.1 結(jié)構(gòu)概述 .3第 3 章 系統(tǒng)硬件設(shè)計(jì) .43.1 鍵盤輸入裝置.43.2 硬件工作接線口.53.3LED 顯示器結(jié)構(gòu)與原理.53.4 復(fù)位電路.63.5 繼電器開關(guān)門裝置.63.6 聲光報(bào)警裝置 .7第 4 章 系統(tǒng)軟件設(shè)計(jì) .74.1 編程工具的介紹.84.1
2、.1 C 語言的主要優(yōu)點(diǎn) .84.1.2 C 語言使用的工具 .84.1.3 C51 與 C 語言的主要不同點(diǎn) .84.2 主程序 .8電子密碼鎖- 3 -4.3 矩陣式鍵盤 .10第 5 章 系統(tǒng)調(diào)試 .125.1 硬件調(diào)試 .125.2 軟件調(diào)試 .125.3 系統(tǒng)軟硬件聯(lián)機(jī)調(diào)試 .13第 6 章 焊接技.第 7 章 總 結(jié) .137.1 心得體會(huì) .147.2 系統(tǒng)存在的問題和改進(jìn)方案 .167.3 設(shè)計(jì)中遇到的問題和解決方法.16參考文獻(xiàn) .16附 錄 .17附錄一:系統(tǒng)設(shè)計(jì)電路總圖 .17附錄二:元件器清單 .18附錄三:軟件程序 .19電子密碼鎖- 4 -電子密碼鎖電子密碼鎖【摘要
3、摘要】 該電子密碼鎖是一種實(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 檢測(cè)到有密碼輸入時(shí)就將其和閃存中的密碼相比較,如果相同則傳送開鎖信號(hào)到電子鎖模塊電路,實(shí)現(xiàn)開鎖功能,而當(dāng)檢測(cè)到三次輸入密碼都不正確時(shí)則輸出報(bào)警信號(hào),同是禁止密碼輸入功能,即實(shí)現(xiàn)了
4、防多次試探的可能性,其安全性能有了明顯的提高。關(guān)鍵詞關(guān)鍵詞:穩(wěn)定性 可靠性 89C52 EPRPM【正文正文】第一章緒論11 電子密碼鎖功能本系統(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è)置新密碼。12 電子密碼鎖的特點(diǎn)電子密碼鎖是一種通過密碼輸入
5、來控制電路或是芯片工作,從而控制機(jī)械開關(guān)的閉合,完成開鎖、閉鎖任務(wù)的電子產(chǎn)品。它的種類很多,有簡易的電路產(chǎn)品,也有基于芯片的性價(jià)比較高的產(chǎn)品?,F(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
6、單片機(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ì)方案方案一
7、:八位 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 口的占用,通常將按鍵排列成矩陣形式。在矩陣式鍵盤中,每條水平線和垂直線在交叉處不直接連
8、通,而是通過一個(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)采
9、 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ā)展而
10、來。最早的設(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ī)的核心部件,決定了單片
11、機(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 位
12、并行輸入輸出 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è))
13、中斷源,可編程為 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 口的占用,
14、通常將按鍵排列成矩陣形式。在矩陣式鍵盤中,每條水平線和垂直線在交叉處不直接連通,而是通過一個(gè)按鍵加以連接。這樣,一個(gè)端口(如 P1 口)就可以構(gòu)成 4*4=16 個(gè)按鍵,比之直接將端口線用于鍵盤多出了一倍,而且線數(shù)越多,區(qū)別越明顯,由此可見,在需要的鍵數(shù)比較多時(shí),采用矩陣法來做鍵盤是合理的。 矩陣式鍵盤的按鍵識(shí)別方法:電子密碼鎖- 8 -P1.0P1.1P1.2P1.3P1.5P1.4P1.6P1.7圖 3.1 44 矩陣式鍵盤列掃描法又稱為逐行(或行)掃描查詢法,是一種最常用的按鍵掃描方法,介紹過程如下:(1) 判斷鍵盤中有無鍵按下 將全部列線置低電平,然后檢測(cè)列線的狀態(tài)。只要有一行的電平為
15、低,則表示鍵盤中有鍵被按下,而且閉合的鍵位于低電平線與 4 根列線相交叉的 4 個(gè)按鍵之中。若所有行線均為高電平,則鍵盤中無鍵按下。(2) 判斷閉合鍵所在的位置 在確認(rèn)有鍵按下后,即可進(jìn)入確定具體閉合鍵的過程。其方法是:依次將列線置為低電平,即在置某根列線為低電平時(shí),其它線為高電平。在確定某根列線位置為低電平后,再逐行檢測(cè)各行線的電平狀態(tài)。若某行為低,則該行線與置為低電平的列線交叉處的按鍵就是閉合的按鍵。3.2 硬件工作接線口P0 口接數(shù)碼管,用來顯示按鍵是否按下,P1 口接鍵盤,P2 口接數(shù)碼管的控制端 com 端。把單片機(jī)系統(tǒng)區(qū)域中的 P0 口用導(dǎo)線連接“數(shù)碼顯示”的任一端口上,把單片機(jī)系
16、統(tǒng)區(qū)域中的 P1 口上接矩陣式鍵盤。3.3 LED 顯示器結(jié)構(gòu)與原理LED 顯示塊是由發(fā)光顯示二極管顯示字段的顯示器件。在單片機(jī)中我們通常用七段LED,這種顯示共有共陰極和共陽極兩種,本設(shè)計(jì)是用共陽極,是 LED 顯示塊的發(fā)光二極管與陽極并接,如圖所示K1f2g3e4d5K6c8DP7b9a10K1f2g3e4d5K6c8DP7b9a10K1f2g3e4d5K6c8DP7b9a10K1f2g3e4d5K6c8DP7b9a10 K1f2g3e4d5K6c8DP7b9a10K1f2g3e4d5K6c8DP7b9a10K1f2g3e4d5K6c8DP7b9a101KR11KR21KR31KR41KR
17、51KR61KR7K1f2g3e4d5K6c8DP7b9a101KR8PNPPNPPNPPNPPNPPNPPNPPNPVCCP0.0P0.1P0.2P0.3P0.4P0.5P0.6P0.7P2.0P2.1P2.2P2.3P2.4P2.5P2.6P2.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ù)稱
18、為段選碼。顯示字符共陽極段選碼顯示字符共陽極段選碼0C0HA88H1F9HB7CH2A4HCC6H3B0HDA1H499HE86H592HF8EH682H7F8H880H990H表 13.4 復(fù)位電路如圖所示為 80C51 型單片機(jī)上電復(fù)位電路。RC 構(gòu)成微分電路,在接電瞬間,產(chǎn)生一個(gè)微分脈沖,其寬度若大于 2 個(gè)機(jī)器周期,80C51 型單片機(jī)將復(fù)位,為保證微分脈沖寬度足夠大,一般取 10F 電容、8.2K 電阻。圖 3.3 復(fù)位電路3.5 繼電器開關(guān)門裝置電子密碼鎖- 10 -繼電器控制模塊是整個(gè)系統(tǒng)的重要部分,用來實(shí)現(xiàn)開門關(guān)門的動(dòng)作。繼電器控制模塊原理電路如圖 3.2 所示:PNP100R
19、11KR2GNDVCCVCCHRS1H-S-DCGNDP3.3yellow圖 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 所示:greenredPNPPNP100R13100R12VCCGNDP3.3P3.5圖 3.5 指示燈模塊第 4 章 系統(tǒng)軟件設(shè)計(jì)本章主要介紹系統(tǒng)軟件部分,主程序由 C 語言編寫,簡潔易懂。主程序主要執(zhí)行鍵盤掃描的工作,判斷是否有鍵按下,并判斷執(zhí)行什么動(dòng)作,
20、其中包括數(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)語句或條件語句很
21、容易實(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ī)器碼的
22、工具,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ī)中
23、大量的特殊功能寄存器也沒有定義,此外,標(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” ,限制一些操作
24、。當(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é)
25、構(gòu)只需要 N 條行線和 M 條列線,即可組成具有 NM 個(gè)按鍵的鍵盤。在這種行列式矩陣鍵盤非鍵盤編碼的單片機(jī)系統(tǒng)中,鍵盤處理程序首先執(zhí)行等待按鍵并確認(rèn)有無按鍵按下的程序段。當(dāng)確認(rèn)有按鍵按下后,下一步就要識(shí)別哪一個(gè)按鍵按下。對(duì)鍵的識(shí)別通常有兩種方法:一種是常用的逐行掃描查詢法;另一種是速度較快的線反轉(zhuǎn)法。 44 小鍵盤使用掃描的原理來檢測(cè)按鍵是否被按下,以及被按下的是哪一個(gè)按鍵。鍵盤掃描的原理是每次送出信號(hào)到一列,再利用按鍵信號(hào)返回線檢測(cè)按鍵是否導(dǎo)通,如果按鍵導(dǎo)通,就表示按鍵已按下,然后就可以知道被按下的是哪一個(gè)按鍵。利用這個(gè)原理,先將 P1_0P1_3 接到列的位置,再講 P1_4P1_7 接
26、到行的位置。接下來將 P1_0P1_3 作為輸入,并將 P1_4P1_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_0P1_3 中會(huì)有一支
27、引腳變成低電平。因此從 P1_0P1_3 讀回?cái)?shù)值時(shí),P1_0P1_3 中會(huì)有一個(gè)數(shù)值是0,根據(jù)從 P1_0P1_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)
28、新修改的密碼輸入之后,系統(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) 萬用表測(cè)試。先用萬用表復(fù)核目測(cè)中認(rèn)為可以的連線或接點(diǎn),查看它們通斷狀態(tài)是否與設(shè)計(jì)規(guī)定相符。再察看各種
29、電源線與地線之間是否有短路現(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ā)生在哪塊芯片
30、上。全部芯片插入印制板后,如均未發(fā)現(xiàn)電源或接地錯(cuò)誤,將全部芯片取下,把印制板上除芯片外的其它器件逐個(gè)焊接上去,并反復(fù)做前面的各電源、電壓檢查,避免因某器件的損壞或失效造成對(duì)地短路或其它電源加載錯(cuò)誤。在對(duì)各芯片、器件加電過程中,還要注意觀察芯片是否出現(xiàn)、火花、過熱、變色、冒煙、異味等現(xiàn)象,如出現(xiàn)這些現(xiàn)象,應(yīng)立即斷電,仔細(xì)檢查電源加載等情況,找出產(chǎn)生異味的原因并加以解決。此外,也可以在加電期間,利用給邏輯功能簡單的芯片加載固定輸入電平,利用萬用表測(cè)其輸入電平來判斷該芯片的好壞。聯(lián)機(jī)測(cè)試一般可檢查出硬件設(shè)計(jì)上的邏輯錯(cuò)誤以及模塊軟件的編寫錯(cuò)誤。需要注意的是,聯(lián)機(jī)測(cè)試要負(fù)責(zé)檢查單元模塊能否實(shí)現(xiàn)其預(yù)定的功
31、能指標(biāo),因?yàn)橛袝r(shí)單元模塊雖然能實(shí)現(xiàn)預(yù)定的邏輯功能,但是達(dá)不到預(yù)定的功能指標(biāo)(如測(cè)量精度不夠)。這時(shí),亦需重新設(shè)計(jì)單元模塊。5.1 硬件調(diào)試5.1.15.1.1 元器件的檢測(cè)元器件的檢測(cè)眾所周知,一個(gè)系統(tǒng)由若干模塊組成,而一個(gè)模塊又由于若干元器件組成,所以在設(shè)計(jì)系統(tǒng)之前要先檢查所使用的元器件是否能正常工作??梢栽诿姘迳舷仍O(shè)計(jì)一個(gè)簡單電路對(duì)元器件進(jìn)行測(cè)試,如果元器件能正常工作再進(jìn)行實(shí)驗(yàn),這樣可以節(jié)省很多寶貴的時(shí)間。下面對(duì)這次設(shè)計(jì)所用的部分元器件測(cè)試作一簡單介紹。(1) LED 數(shù)碼顯示器:直接給液晶顯示器加上電壓,看液晶屏是否被點(diǎn)亮。(2) 蜂鳴器:直接給蜂鳴器加方向正確的電壓,看蜂鳴器是否能正
32、常發(fā)聲。5.1.2 模塊電路的檢測(cè)(1) 報(bào)警模塊:直接給 P3_3 和 P3_4,P3_5 送低電平,看發(fā)光二極管和蜂鳴器能否正常工作。(2) 矩陣式鍵盤模塊:按下某一個(gè)按鍵,用萬用表檢測(cè)是否有兩個(gè)口導(dǎo)通。(3)顯示模塊:用萬用表檢測(cè),給 COM 端一個(gè)高電平,逐個(gè)給每個(gè) LED 的 ag 低電平,看是否按預(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ì)被測(cè)參數(shù)進(jìn)行加工處理或作某項(xiàng)事務(wù)處理時(shí),往往是與硬件無關(guān)的,這樣就可以獨(dú)立進(jìn)行調(diào)試。此時(shí)與硬件無關(guān)的
33、程序快調(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)確。一般
34、情況下,單步調(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ò)的地方并加以糾正。此外,還可以借助仿真軟件來測(cè)試軟件的運(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)硬件故障或軟
35、硬件設(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)過測(cè)試后沒有問題,就可以將軟硬件聯(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
36、-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)更加完善。雖
37、然談不上有多復(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í),又突然覺得沒有想象中那么難,于是,眼高手低,
38、不想做簡單的交通燈,選擇了電子密碼鎖,信心滿滿的認(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í)如果單靠自己死“鉆” ,
39、效率極低。我周圍有幾個(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é)活用才能真正掌握這門課程。
40、 通過此次實(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ì)所
41、選的題目得有大概的了解,在這樣一個(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),
42、從中也體味到了學(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ú)立工作的能力,樹立
43、了信心,這也對(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ì)的課題是 44 鍵盤及 8 位數(shù)碼管顯示構(gòu)成的電子密碼鎖的實(shí)現(xiàn)與運(yùn)用。通過一周的努力,基本達(dá)到了預(yù)期的功能,密碼的輸入、刪除,密碼的保存、改寫,錯(cuò)誤報(bào)警、自鎖等。 本次設(shè)計(jì)我們?nèi)唤M員一起計(jì)劃、談
44、論、實(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ù)期的效
45、果,并且加入了一些擴(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)象,
46、使 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)
47、定度。 數(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.102 蔡朝洋. 單片機(jī)控制實(shí)習(xí)與專題制作M.北京:北京航空航天大學(xué)出版社,2006.3 周立功. 增強(qiáng)型 80C51 單片機(jī)速成與實(shí)踐M.北京:北京航空航天大學(xué)出版社,2003.4惠仇. 手把手教你 51 單片機(jī) M.北京:電
48、子工業(yè)出版社,2009.15 閻石. 數(shù)字電子技術(shù)基礎(chǔ)M.北京:高等教育出版社,2006.5. 電子密碼鎖- 21 -附錄一:系統(tǒng)電路總圖電子密碼鎖- 22 -電子密碼鎖- 23 -K1f2g3e4d5K6c8DP7b9a10K1f2g3e4d5K6c8DP7b9a10K1f2g3e4d5K6c8DP7b9a10K1f2g3e4d5K6c8DP7b9a10 K1f2g3e4d5K6c8DP7b9a10K1f2g3e4d5K6c8DP7b9a10K1f2g3e4d5K6c8DP7b9a101KR11KR21KR31KR41KR51KR61KR7K1f2g3e4d5K6c8DP7b9a101KR8
49、PNPPNPPNPPNPPNPPNPPNPPNPVCCP0.0P0.1P0.2P0.3P0.4P0.5P0.6P0.7P2.0P2.1P2.2P2.3P2.4P2.5P2.6P2.7P1.0P1.1P1.2P1.3P1.5P1.4P1.6P1.7PNP100R11KR2GNDVCCVCCHRS1H-S-DCGNDP3.3100R11PNPSpeakerGNDVCCP3.4greenredPNPPNP100R13100R12VCCGNDP3.3P3.5P1.0P1.1P1.2P1.3P1.4P1.5P1.6P1.7P3.0P3.1P3.2P3.3P3.4P3.5P3.6P3.7GNDVCCP2.
50、0P2.1P2.2P2.3P2.4P2.5P2.6P2.7P0.0P0.1P0.2P0.3P0.4P0.5P0.6P0.7STC89C52RCVCCGNDATMLU836VCCWCSCLSDAE0E1E2VSSGNDVCCGND1KR141KR15VCCVCCP3.0P3.1yellow附錄二: 元器件清單:元件清單元件名元件數(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)線若干焊接電路板四
51、塊10K 電阻兩個(gè)電池盒一個(gè)排線若干八腳芯片底座一個(gè)附錄三:軟件程序電子密碼鎖- 24 -#includeintrins.h#includereg52.h#includetop.h#includekeyscan.h#includeleddisp.h#includedydisp.h#includetest.h/uchar temp18,temp28;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
52、) 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.HIntrinsic functions for C51.Copyright (c) 1988-2004 Keil Elektronik GmbH and Keil S
53、oftware, 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)
54、;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
55、/*-REG52.HHeader 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;sf
56、r 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 RCA
57、P2L = 0 xCA;sfr RCAP2H = 0 xCB;sfr TL2 = 0 xCC;sfr TH2 = 0 xCD;/* BIT Registers */* PSW */sbit CY = PSW7;sbit AC = PSW6;sbit F0 = PSW5;sbit RS1 = PSW4;sbit RS0 = PSW3;sbit OV = PSW2;sbit P = PSW0; /8052 only/* TCON */sbit TF1 = TCON7;sbit TR1 = TCON6;sbit TF0 = TCON5;sbit TR0 = TCON4;電子密碼鎖- 27 -sbit
58、 IE1 = TCON3;sbit IT1 = TCON2;sbit IE0 = TCON1;sbit IT0 = TCON0;/* IE */sbit EA = IE7;sbit ET2 = IE5; /8052 onlysbit ES = IE4;sbit ET1 = IE3;sbit EX1 = IE2;sbit ET0 = IE1;sbit EX0 = IE0;/* IP */sbit PT2 = IP5;sbit PS = IP4;sbit PT1 = IP3;sbit PX1 = IP2;sbit PT0 = IP1;sbit PX0 = IP0;/* P3 */sbit RD =
59、 P37;sbit WR = P36;sbit T1 = P35;sbit T0 = P34;sbit INT1 = P33;sbit INT0 = P32;sbit TXD = P31;sbit RXD = P30;/* SCON */sbit SM0 = SCON7;sbit SM1 = SCON6;sbit SM2 = SCON5;sbit REN = SCON4;sbit TB8 = SCON3;sbit RB8 = SCON2;sbit TI = SCON1;sbit RI = SCON0;/* P1 */sbit T2EX = P11; / 8052 onlysbit T2 = P
60、10; / 8052 only電子密碼鎖- 28 - /* T2CON */sbit TF2 = T2CON7;sbit EXF2 = T2CON6;sbit RCLK = T2CON5;sbit TCLK = T2CON4;sbit EXEN2 = T2CON3;sbit TR2 = T2CON2;sbit C_T2 = T2CON1;sbit CP_RL2 = T2CON0;#endif#ifndef _top_H_#define _top_H_#include#include#define uint unsigned int#define uchar unsigned charsbit ok=P33;sbit er=P35;sbit su=P34;uchar code CO
溫馨提示
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 過氧化氫消毒機(jī)標(biāo)準(zhǔn)化操作流程
- 綜合管理在房地產(chǎn)項(xiàng)目中的重要性
- 甜美女孩粉色甜蜜妝容
- 團(tuán)建活動(dòng)及旅游福利
- 淡藍(lán)色的元旦小朋友的快樂故事
- 護(hù)理團(tuán)隊(duì)合作與溝通
- 家政服務(wù)人員心理邊界建立
- 德克士的新品發(fā)布策略
- 保險(xiǎn)公司新年活動(dòng)方案
- 保險(xiǎn)公司績效策劃方案
- 新能源汽車熱泵空調(diào)原理(教案)
- GB/T 4303-2023船用救生衣
- 良知與悲憫作文800字議論文
- (醫(yī)學(xué)課件)嵌體(包括圖解)
- 油田開發(fā)規(guī)劃經(jīng)濟(jì)評(píng)價(jià)方法
- 投標(biāo)報(bào)價(jià)得分測(cè)算表
- 校園節(jié)能管理與評(píng)估項(xiàng)目可行性總結(jié)報(bào)告
- 地毯清潔培訓(xùn)計(jì)劃方案
- TikTok for Business營銷通案【互聯(lián)網(wǎng)】【短視頻】
- 合規(guī)風(fēng)險(xiǎn)管理指南-應(yīng)用COSO 企業(yè)風(fēng)險(xiǎn)管理框架(2020版-雷澤佳譯-2022)
- 復(fù)韻母復(fù)習(xí)公開課一等獎(jiǎng)市優(yōu)質(zhì)課賽課獲獎(jiǎng)?wù)n件
評(píng)論
0/150
提交評(píng)論