版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、<p><b> 目 錄</b></p><p><b> 1 引言1</b></p><p><b> 2 概述2</b></p><p><b> 2.1 背景2</b></p><p> 2.2 設(shè)計(jì)要求2&
2、lt;/p><p><b> 3 總體設(shè)計(jì)3</b></p><p> 3.1 方案的論證與比較3</p><p> 3.2 總體設(shè)計(jì)思路3</p><p><b> 4 硬件設(shè)計(jì)5</b></p><p> 4.1 處理器5</p>
3、<p><b> 4.2 鍵盤(pán)9</b></p><p> 4.3 顯示電路12</p><p> 4.4 其他外圍輔助電路16</p><p> 4.5 總體電路16</p><p> 5 軟件設(shè)計(jì)18</p><p> 5.1 總體方案18<
4、/p><p> 5.2 流程圖18</p><p> 5.3 源程序19</p><p> 6 系統(tǒng)調(diào)試23</p><p><b> 7 結(jié)語(yǔ)24</b></p><p><b> 致謝25</b></p><p><b
5、> 參考文獻(xiàn)26</b></p><p><b> 1引言</b></p><p> 隨著人們生活水平的提高,如何實(shí)現(xiàn)家庭防盜這一問(wèn)題也變的尤其的突出,傳統(tǒng)的機(jī)械鎖由于其構(gòu)造的簡(jiǎn)單,被撬的事件屢見(jiàn)不鮮,基于單片機(jī)的密碼鎖由于其安全可靠、成本低廉、連接方便、簡(jiǎn)單易用,保密性高,受到了廣大用戶的親賴(lài),得到了廣泛的應(yīng)用。</p>&l
6、t;p> 微電子技術(shù)的不斷發(fā)展,出現(xiàn)了磁控鎖、聲控鎖、超聲波鎖、紅外線鎖、電磁波鎖、電子卡片鎖、指紋鎖、眼球鎖、遙控鎖等。這些鎖具有機(jī)械結(jié)構(gòu)所無(wú)法比擬的高保密性能,還可在特定的系統(tǒng)中,按設(shè)定的邏輯關(guān)系實(shí)現(xiàn)系統(tǒng)的程序控制。但這類(lèi)產(chǎn)品,只能適用于保密性高,供個(gè)別人使用的箱、柜、房間等。加上成本比較高,一定程度上限制了這類(lèi)產(chǎn)品的推廣應(yīng)用。</p><p> 本設(shè)計(jì)是一款性價(jià)比較高的的密碼鎖。為適應(yīng)功能需要以及
7、兼容性等問(wèn)題,采用SM8958為核心的單片機(jī)控制方案。該方案主要由主控部分、鍵盤(pán)、顯示、示警電路、執(zhí)行機(jī)構(gòu)等部分構(gòu)成。其中密碼由鍵盤(pán)輸入端口輸入,解碼正確條件下,輸出開(kāi)鎖電平,控制電控鎖開(kāi)啟。</p><p> 另外,附加了一些常用設(shè)計(jì),有效按鍵提示、錯(cuò)誤輸入告警、多次(可軟件設(shè)計(jì)次數(shù))誤碼輸入報(bào)警以及防止長(zhǎng)時(shí)間無(wú)效操作的定時(shí)中斷系統(tǒng)。該電路還可以與其他報(bào)警電路配合完成防盜報(bào)警功能。</p>&l
8、t;p><b> 2 概述</b></p><p><b> 2.1背景</b></p><p> 在日常的生活和工作中, 住宅與部門(mén)的安全防范、單位的文件檔案、財(cái)務(wù)報(bào)表以及一些個(gè)人資料的保存多以加鎖的辦法來(lái)解決。若使用傳統(tǒng)的機(jī)械式鑰匙開(kāi)鎖,人們常需攜帶多把鑰匙, 使用極不方便, 且鑰匙丟失后安全性即大打折扣。隨著科學(xué)技術(shù)的不斷發(fā)展
9、,人們對(duì)日常生活中的安全保險(xiǎn)器件的要求越來(lái)越高。為滿足人們對(duì)鎖的使用要求,增加其安全性,用密碼代替鑰匙的密碼鎖應(yīng)運(yùn)而生。密碼鎖具有安全性高、成本低、功耗低、易操作等優(yōu)點(diǎn)。在安全技術(shù)防范領(lǐng)域,具有防盜報(bào)警功能的電子密碼鎖逐漸代替?zhèn)鹘y(tǒng)的機(jī)械式密碼鎖,克服了機(jī)械式密碼鎖密碼量少、安全性能差的缺點(diǎn),使密碼鎖無(wú)論在技術(shù)上還是在性能上都大大提高一步。隨著大規(guī)模集成電路技術(shù)的發(fā)展,特別是單片機(jī)的問(wèn)世,出現(xiàn)了帶微處理器的智能密碼鎖,它除具有電子密碼鎖
10、的功能外,還引入了智能化管理、專(zhuān)家分析系統(tǒng)等功能,從而使密碼鎖具有很高的安全性、可靠性,應(yīng)用日益廣泛。</p><p><b> 2.2設(shè)計(jì)要求</b></p><p> 本次密碼鎖的設(shè)計(jì),其主要具有如下功能:(1)設(shè)置6位密碼,密碼通過(guò)鍵盤(pán)輸入,若密碼正確,則將鎖打開(kāi)。(2)密碼可以由用戶自己修改設(shè)定(6位密碼),密碼輸入正確才能修改密碼。修改密碼之前必須再
11、次輸入密碼,在輸入新密碼時(shí)候需要二次確認(rèn),以防止誤操作。(3)報(bào)警、鎖定鍵盤(pán)功能。密碼輸入錯(cuò)誤會(huì)發(fā)出警告音。若密碼輸入錯(cuò)誤次數(shù)超過(guò)3次,蜂鳴器報(bào)警并且鎖定鍵盤(pán)。</p><p><b> 有效按鍵提示。</b></p><p> 90秒定時(shí)中斷,輸出控制信號(hào),防止長(zhǎng)時(shí)間無(wú)效操作。</p><p><b> 其他擴(kuò)展功能。<
12、;/b></p><p><b> 3 總體設(shè)計(jì)</b></p><p> 3.1方案的論證與比較</p><p> 設(shè)計(jì)本課題時(shí)構(gòu)思了兩種方案:一種是用以74LS112雙JK觸發(fā)器構(gòu)成的數(shù)字邏輯電路控制方案。另一種是用以SM8958為核心的單片機(jī)控制方案。</p><p> 方案一:采用數(shù)字電路控制,數(shù)字
13、密碼鎖電路的好處就是設(shè)計(jì)簡(jiǎn)單。用以74LS112雙JK觸發(fā)器構(gòu)成的數(shù)字邏輯電路作為密碼鎖的核心控制,共設(shè)了9個(gè)用戶輸入鍵,其中只有4個(gè)是有效的密碼按鍵,其它的都是干擾按鍵,若按下干擾鍵,鍵盤(pán)輸入電路自動(dòng)清零,原先輸入的密碼無(wú)效,需要重新輸入;如果用戶輸入密碼的時(shí)間超過(guò)40秒(一般情況下,用戶不會(huì)超過(guò)40秒,若用戶覺(jué)得不便,還可以修改)電路將報(bào)警80秒,若電路連續(xù)報(bào)警三次,電路將鎖定鍵盤(pán)5分鐘,防止他人的非法操作。電路由兩大部分組成:密碼
14、鎖電路和備用電源(UPS),其中設(shè)置UPS電源是為了防止因?yàn)橥k娫斐傻拿艽a鎖電路失效,使用戶免遭麻煩。密碼鎖電路包含:鍵盤(pán)輸入、密碼修改、密碼檢測(cè)、開(kāi)鎖電路、執(zhí)行電路、報(bào)警電路、鍵盤(pán)輸入次數(shù)鎖定電路。</p><p> 方案二:采用一種是用以SM8958為核心的單片機(jī)控制方案。利用單片機(jī)靈活的編程設(shè)計(jì)和豐富的I/O端口,及其控制的準(zhǔn)確性,不但能實(shí)現(xiàn)基本的密碼鎖功能,還能添加調(diào)電存儲(chǔ)、聲光提示甚至添加紅外遙控控制
15、功能。 </p><p> 通過(guò)比較以上兩種方案,考慮到數(shù)字電路方案原理過(guò)于簡(jiǎn)單,而且不能滿足現(xiàn)在的安全需求,而單片機(jī)方案有較大的活動(dòng)空間,不但能實(shí)現(xiàn)所要求的功能而且能在很大的程度上擴(kuò)展功能,而且還可以方便的對(duì)系統(tǒng)進(jìn)行升級(jí),所以我們采用后一種方案。</p><p><b> 3.2總體設(shè)計(jì)思路</b></p><p> 本次設(shè)計(jì)以單
16、片機(jī)SM8958為核心,配以相應(yīng)硬件電路,完成密碼的設(shè)置、存貯、識(shí)別和顯示、驅(qū)動(dòng)電磁執(zhí)行器并檢測(cè)其驅(qū)動(dòng)電流值、接收傳感器送來(lái)的報(bào)警信號(hào)、發(fā)送數(shù)據(jù)等功能。單片機(jī)接收鍵入的代碼,并與存貯在EEPROM中的密碼進(jìn)行比較,如果密碼正確,則驅(qū)動(dòng)電磁執(zhí)行器開(kāi)鎖;如果密碼不正確,則允許操作人員重新輸入密碼,最多可輸入三次;如果三次都不正確,則單片機(jī)輸出報(bào)警信號(hào)。對(duì)密碼的輸入、處理是本次設(shè)計(jì)的重點(diǎn),配以其他電路實(shí)現(xiàn)基于單片機(jī)的多功能密碼鎖。其基本要求及
17、主要模塊如下:</p><p> 電子密碼鎖的設(shè)計(jì)主要由三部分組成:處理器、3×4矩陣鍵盤(pán)接口電路、密碼鎖的控制電路、輸出八段顯示電路。另外系統(tǒng)還有LED提示燈,報(bào)警蜂鳴器等。</p><p> 密碼鎖設(shè)計(jì)的關(guān)鍵問(wèn)題是實(shí)現(xiàn)密碼的輸入、清除、更改、開(kāi)鎖等功能:(1)密碼輸入功能:按下一個(gè)數(shù)字鍵,一個(gè)“-”就顯示在最右邊的數(shù)碼管上,同時(shí)將先前輸入的所有“-”向左移動(dòng)一位。(2
18、)密碼清除功能:當(dāng)按下清除鍵時(shí),清除前面輸入的所有值,并清除所有顯示。(3)密碼更改功能:將輸入的值作為新的密碼。(4)開(kāi)鎖功能:當(dāng)按下開(kāi)鎖鍵,系統(tǒng)將輸入與密碼進(jìn)行檢查核對(duì),如果正確鎖打開(kāi),否則不打開(kāi)。如何解決以上關(guān)鍵問(wèn)題是本次設(shè)計(jì)的重點(diǎn)。</p><p><b> 4 硬件設(shè)計(jì)</b></p><p><b> 4.1處理器</b>&l
19、t;/p><p> 本次設(shè)計(jì)的處理器選擇SyncMOS公司的SM8958,SM8958系列產(chǎn)品是一種內(nèi)嵌32KB閃存和1KB片內(nèi)RAM的8位單片微控制器它是80C51微控制器家族的派生產(chǎn)品SM8958的PDIP封裝具有32 個(gè)I/O口,PLCC/QFP 封裝則具有多達(dá)36個(gè)I/O口且片內(nèi)32KB的閃存既可以當(dāng)作程序空間,又可以當(dāng)作數(shù)據(jù)空間或者數(shù)據(jù)和程序混合空間。</p><p> 由于它的
20、這些硬件特征和強(qiáng)大的指令系統(tǒng)使得它成為一種性能價(jià)格比很高的控制器。片上閃存可以使用商用編程器通過(guò)并口進(jìn)行編程。其存儲(chǔ)器結(jié)構(gòu)如下:</p><p> SM8958 是在通用80C52 內(nèi)核的基礎(chǔ)上集成了768B片內(nèi)RAM和32K閃存的單片微控制器。它的內(nèi)部存儲(chǔ)器結(jié)構(gòu)與通用的80C52 內(nèi)部存儲(chǔ)器的結(jié)構(gòu)相同。</p><p><b> 其主要特性如下:</b><
21、/p><p> █ 工作電壓4.5V 到5.5V</p><p><b> █ 編程電壓12V</b></p><p> █ 與通用80C51 家族產(chǎn)品完全兼容</p><p> █ 每個(gè)機(jī)器周期為12 個(gè)時(shí)鐘周期</p><p> █ 32K 字節(jié)片上閃存</p><p
22、> █ 1024 字節(jié)片上數(shù)據(jù)RAM</p><p> █ 3 個(gè)16 位定時(shí)/計(jì)數(shù)器</p><p> █ PDIP 封裝具有4 個(gè)8 位I/O 口</p><p> █ PLCC 或QFP 封裝具有4 個(gè)8 位I/O 口外加1個(gè)4 位I/O 口</p><p><b> █ 全雙工串口通道</b>&l
23、t;/p><p><b> █ 位操作指令</b></p><p><b> █ 頁(yè)自由跳轉(zhuǎn)</b></p><p> █ 8 位無(wú)符號(hào)除運(yùn)算</p><p> █ 8 位無(wú)符合乘運(yùn)算</p><p><b> █ BCD 碼運(yùn)算</b></
24、p><p><b> █ 直接地址訪問(wèn)</b></p><p><b> █ 間接地址訪問(wèn)</b></p><p><b> █ 嵌套中斷</b></p><p><b> █ 兩個(gè)中斷優(yōu)先級(jí)</b></p><p> █ 1
25、 個(gè)串行I/O 口</p><p> █ 省電模式空閑模式和掉電模式</p><p> █ 工作時(shí)鐘為25MHz</p><p><b> █ 代碼保護(hù)功能</b></p><p> █ 1 個(gè)看門(mén)狗定時(shí)器(WDT)</p><p> █ 低EMI(禁止ALE)</p>&
26、lt;p> 其引腳圖如圖4.1所示。</p><p> 圖4.1 8958引腳圖</p><p> 4.1.1程序存儲(chǔ)器</p><p> SM8958 具有片上的32K 字節(jié)的閃存可以作為通用的程序存儲(chǔ)器,如圖4.2所示。</p><p> 圖4.2 程序存儲(chǔ)器配置</p><p> 4.1.2
27、數(shù)據(jù)存儲(chǔ)器</p><p> SM8958具有1KB的片內(nèi)RAM,低256B與80C52 的片內(nèi)RAM 結(jié)構(gòu)一樣。擴(kuò)展的高768B RAM可以用訪問(wèn)外部存儲(chǔ)器的方式進(jìn)行訪問(wèn)(利用指令MOVX)。如圖4.3所示。</p><p> 圖4.3 數(shù)據(jù)存儲(chǔ)器配置</p><p> 如圖(三)所示,說(shuō)明如下:</p><p> ?。?)數(shù)據(jù)存儲(chǔ)
28、器低128B</p><p> 數(shù)據(jù)存儲(chǔ)器從00H--FFH 的地址空間同80C52是相同的。</p><p> 00H--7FH 的地址空間可以直接訪問(wèn)也可以間接訪問(wèn);</p><p> 00H--1FH 的地址空間是寄存器空間;</p><p> 20H--2FH 的地址空間是位尋址空間;</p><p>
29、 30H--7FH 的地址空間是通用數(shù)據(jù)存儲(chǔ)區(qū)。</p><p> 數(shù)據(jù)存儲(chǔ)器高128B </p><p> 數(shù)據(jù)存儲(chǔ)器的高128B范圍是80H--FFH ,只可以用間接地址方式訪問(wèn),這部分空間也是數(shù)據(jù)存儲(chǔ)區(qū)。</p><p> ?。?)數(shù)據(jù)存儲(chǔ)器擴(kuò)展的768B</p><p> 從外部地址0000H--02FFH 是片內(nèi)擴(kuò)展R
30、AM區(qū),共768B。這部分地址空間只能用直接外部地址方式訪問(wèn)(利用MOVX 指令)。</p><p> 內(nèi)部存儲(chǔ)區(qū)頁(yè)選擇寄存器(IMPSR,85H)</p><p> 內(nèi)部存儲(chǔ)區(qū)頁(yè)選擇寄存器,如表4.1所示。</p><p> 表4.1 內(nèi)部存儲(chǔ)區(qū)頁(yè)選擇寄存器</p><p> 說(shuō)明:R 表示系統(tǒng)保留。</p><
31、p> SM8958片內(nèi)具有只能用訪問(wèn)外部存儲(chǔ)器的方式進(jìn)行訪問(wèn)的768B擴(kuò)展RAM(訪問(wèn)時(shí)用指令MOVX)。</p><p> 指令MOVX @Rn 所訪問(wèn)的地址空間由IMPSR 寄存器的位1 和位0(PS1,PS0)決定PS1,PS0 的默認(rèn)設(shè)置值是00(頁(yè)0)。</p><p> 如果MOVX @DPTR 指令所訪問(wèn)的地址大于02FFH 時(shí)SM8958 會(huì)自動(dòng)產(chǎn)生訪問(wèn)外部存儲(chǔ)
32、器的控制信號(hào)。特殊功能寄存器SCONF 的位1(OME)的值決定了允許還是禁止訪問(wèn)擴(kuò)展的768 字節(jié)RAM 。該位的默認(rèn)設(shè)置為1,可以訪問(wèn)內(nèi)部擴(kuò)展的768 字節(jié)RAM。</p><p> 指令MOVX @Rn 所能訪問(wèn)的地址空間由特殊函數(shù)寄存器IMPSR(85H)的位1(PS1)和位0(PS0)決定。PS1和PS2的默認(rèn)設(shè)置是00。</p><p> 數(shù)據(jù)存儲(chǔ)器的一頁(yè)是256 字節(jié),具
33、體如下:</p><p> PS1,PS0=00 指令MOVX @Rn 的Rn 映射為數(shù)據(jù)存儲(chǔ)器的第0頁(yè),地址空間為0000H--00FFH;</p><p> PS1,PS0=01 指令MOVX @Rn 的Rn 映射為數(shù)據(jù)存儲(chǔ)器的第1頁(yè),地址空間為0100H--01FFH;</p><p> PS1,PS0=10 指令MOVX @Rn 的Rn 映射為數(shù)據(jù)存儲(chǔ)
34、器的第2 頁(yè),地址空間為0200H--02FFH;</p><p> PS1,PS0=11 指令MOVX @Rn 的所能訪問(wèn)的地址空間為:XY00H--XYFFH。高位地址由P2 口決定(SM8958 會(huì)自動(dòng)產(chǎn)生訪問(wèn)外部存儲(chǔ)器的控制信號(hào))。</p><p> 4.1.3看門(mén)狗定時(shí)器(WDT)</p><p> 看門(mén)狗定時(shí)器(WDT)是1 個(gè)16 位自運(yùn)行計(jì)數(shù)器
35、在計(jì)數(shù)器溢出時(shí)會(huì)產(chǎn)生復(fù)位信號(hào)WDT 對(duì)那些易受噪聲干擾電壓波動(dòng)或放電現(xiàn)象影響的系統(tǒng)很有用在程序跑飛或死機(jī)的情況下WDT 可以使用戶程序脫離不正常狀態(tài)WDT 不同于8052 系統(tǒng)的定時(shí)器0 定時(shí)器1 和定時(shí)器2 通過(guò)軟件周期性的清除WDT 計(jì)數(shù)器的值可以防止WDT 產(chǎn)生復(fù)位信號(hào)。</p><p> SM8958 的 WDT 可以對(duì)基準(zhǔn)時(shí)鐘源選擇分頻輸入要選擇分頻輸入就要相應(yīng)地設(shè)置WDT 控制寄存器(WDTC)的位
36、2--位0的值。</p><p> 置位WDT的位7(WDTE)即可使能WDT。 WDTE 位置1后,16 位計(jì)數(shù)器根據(jù)</p><p> PS2 --PS0 所確定的時(shí)鐘輸入開(kāi)始工作。計(jì)數(shù)器溢出時(shí)會(huì)產(chǎn)生復(fù)位信號(hào),此時(shí)WDT 的WDTE位會(huì)被清零,另外硬件復(fù)位也可以將WDTE 清零。</p><p> 置位WDT 的位5(CLEAR)可以復(fù)位WDT,同時(shí)清除計(jì)
37、數(shù)器的內(nèi)容,使計(jì)數(shù)器重新開(kāi)始計(jì)數(shù)。</p><p> ?。?)WDT 控制寄存器(WDTC,9FH)</p><p> WDT 控制寄存器,如表4.2所示。</p><p> 表4.2 WTD控制寄存器</p><p> 說(shuō)明:上面寄存器內(nèi)的值為系統(tǒng)復(fù)位值;</p><p> WDTE:看門(mén)狗定時(shí)器使能位;&
38、lt;/p><p> CLEAR:看門(mén)狗定時(shí)器復(fù)位位;</p><p> PS2 PS0:時(shí)鐘源分頻選擇位。</p><p> 時(shí)鐘分頻描述如下表4.3所示。</p><p><b> 表4.3 時(shí)鐘分頻</b></p><p> 系統(tǒng)控制寄存器(SCONF,BFH)</p>
39、<p> 系統(tǒng)控制寄存器,如表4.4所示。</p><p> 表4.4系統(tǒng)控制寄存器</p><p> 說(shuō)明:上面寄存器內(nèi)的值為系統(tǒng)復(fù)位值</p><p> WDR:看門(mén)狗定時(shí)器復(fù)位位當(dāng)看門(mén)狗定時(shí)器溢出而使系統(tǒng)復(fù)位時(shí)WDR 位被置1</p><p> OME:768 片上字節(jié)使能位</p><p>
40、 ALE1:ALE 輸出禁止位可降低EMI</p><p> SCONF 的位7(WDR)是看門(mén)狗復(fù)位位當(dāng)由于WDT 溢出而產(chǎn)生復(fù)位信號(hào)時(shí)該位被置1。在任何不可預(yù)測(cè)的復(fù)位發(fā)生時(shí)用戶應(yīng)該檢查該位的值</p><p> (4)降低EMI 功能</p><p> SM8958 允許用戶通過(guò)置位SCONF 寄存器的位0(ALE1)來(lái)降低EMI。該項(xiàng)功能的作用就是禁止
41、Fosc/6 Hz 的時(shí)鐘信號(hào)輸出至ALE引腳。在系統(tǒng)沒(méi)有外擴(kuò)程序存儲(chǔ)器或數(shù)據(jù)存儲(chǔ)器的時(shí)候,可以使用這個(gè)功能。</p><p><b> 4.2 鍵盤(pán)</b></p><p><b> 4.2.1鍵盤(pán)概念</b></p><p> 鍵盤(pán)是最常用也是最主要的輸入設(shè)備,通過(guò)鍵盤(pán),可以將英文字母、數(shù)字、標(biāo)點(diǎn)符號(hào)等輸入到計(jì)算
42、機(jī)中,從而向計(jì)算機(jī)發(fā)出命令、輸入數(shù)據(jù)等。</p><p> 4.2.2鍵盤(pán)的分類(lèi)</p><p> 按照鍵盤(pán)的工作原理和按鍵方式的不同,可以劃分為四種:?。?) 機(jī)械式鍵盤(pán)(Mechanical) 采用類(lèi)似金屬接觸式開(kāi)關(guān),工作原理是使觸點(diǎn)導(dǎo)通或斷開(kāi),具有工藝簡(jiǎn)單、噪音大、易維護(hù)的特點(diǎn)。</p><p> ?。?) 塑料薄膜式鍵盤(pán)(Membrane) 鍵盤(pán)內(nèi)部共
43、分四層,實(shí)現(xiàn)了無(wú)機(jī)械磨損。其特點(diǎn)是低價(jià)格、低噪音和低成本,已占領(lǐng)市場(chǎng)絕大部分份額。?。?) 導(dǎo)電橡膠式鍵盤(pán)(Conductive Rubber) 觸點(diǎn)的結(jié)構(gòu)是通過(guò)導(dǎo)電橡膠相連。鍵盤(pán)內(nèi)部有一層凸起帶電的導(dǎo)電橡膠,每個(gè)按鍵都對(duì)應(yīng)一個(gè)凸起,按下時(shí)把下面的觸點(diǎn)接通。這種類(lèi)型鍵盤(pán)是市場(chǎng)由機(jī)械鍵盤(pán)向薄膜鍵盤(pán)的過(guò)渡產(chǎn)品。?。?) 無(wú)接點(diǎn)靜電電容式鍵盤(pán)(Capacitives) 使用類(lèi)似電容式開(kāi)關(guān)的原理,通過(guò)按鍵時(shí)改變電極間的距離引起電容容量改變從
44、而驅(qū)動(dòng)編碼器。特點(diǎn)是無(wú)磨損且密封性較好。 按其結(jié)構(gòu)形式可分為以下兩種:</p><p><b> (1)編碼鍵盤(pán)</b></p><p> 編碼鍵盤(pán)采用硬件方法產(chǎn)生鍵碼。每按下一個(gè)鍵,鍵盤(pán)能自動(dòng)生成鍵盤(pán)代碼,鍵數(shù)較多,且具有去抖動(dòng)功能。這種鍵盤(pán)使用方便,但硬件較復(fù)雜,PC機(jī)所用鍵盤(pán)即為編碼鍵盤(pán)。</p><p><b>
45、 非編碼鍵盤(pán)</b></p><p> 非編碼鍵盤(pán)僅提供按鍵開(kāi)關(guān)工作狀態(tài),其鍵碼由軟件確定,這種鍵盤(pán)鍵數(shù)較少,硬件簡(jiǎn)單,廣泛應(yīng)用于各種單片機(jī)應(yīng)用系統(tǒng),本次設(shè)計(jì)使用非編碼鍵盤(pán)。</p><p> 按照鍵盤(pán)與單片機(jī)的連接方式可分為一下兩種:</p><p><b> 獨(dú)立式鍵盤(pán)</b></p><p>
46、獨(dú)立式鍵盤(pán),顧名思義,即各按鍵相互獨(dú)立,每個(gè)按鍵占用一根I/O口線,每根I/O口線上的按鍵工作狀態(tài)不會(huì)影響其他按鍵的工作狀態(tài)。這種按鍵軟件程序簡(jiǎn)單,但占用I/O口線較多(一根口線只能接一個(gè)鍵),適用于鍵盤(pán)應(yīng)用數(shù)量較少的系統(tǒng)中。</p><p><b> (2)矩陣式鍵盤(pán)</b></p><p> 矩陣式鍵盤(pán)又稱(chēng)行列式鍵盤(pán),在其行、列交匯點(diǎn)接有若干個(gè)按鍵。當(dāng)需要較多
47、按鍵時(shí),與獨(dú)立式鍵盤(pán)相比,單片機(jī)口線資源利用率大幅提高了。但若需要更多的鍵盤(pán),需采用接口擴(kuò)展技術(shù),如8155等。</p><p> 綜上所述,結(jié)合實(shí)際情況,本次設(shè)計(jì)選用非編碼矩陣式鍵盤(pán)。</p><p> 4.2.3非編碼矩陣式鍵盤(pán)工作原理</p><p> 非編碼矩陣式鍵盤(pán),作為單片外圍電路,應(yīng)具有如下功能:</p><p> 鍵掃
48、描功能,即檢測(cè)是否有鍵按下。</p><p> 鍵識(shí)別功能,確定被按下鍵所在的行列的位置。</p><p> 產(chǎn)生相應(yīng)的鍵的代碼(鍵值)。</p><p> 消除按鍵彈跳及對(duì)于多鍵串鍵(復(fù)按)。</p><p> 非編碼矩陣式鍵盤(pán)工作原理主要以下幾方面:</p><p><b> (1)鍵掃描<
49、;/b></p><p> 鍵盤(pán)上的鍵按行列組成矩陣,在行列交點(diǎn)上都有對(duì)應(yīng)有一個(gè)鍵。為判定有無(wú)鍵被按下(閉合)以及被按鍵的位置,一般使用掃描法。</p><p> 首先判定有沒(méi)有鍵被按下。鍵盤(pán)的行線一端經(jīng)電阻接+5V電源,另一端接單片機(jī)的輸入口線。各列線的一端接單片機(jī)的輸出口線,另一端懸空。為判定有沒(méi)有鍵按下,可先向所有列線輸出低電平,然后再輸入各行線狀態(tài)。若行線狀態(tài)皆為高電平,
50、則表示無(wú)鍵按下;若行線狀態(tài)中有低電平則表明有鍵按下。</p><p> 然后再判定被按鍵的位置。因?yàn)殒I盤(pán)矩陣有鍵被按下時(shí),被按鍵處的行線和列線被接通,使穿過(guò)閉合鍵的那條行線變成低電平。</p><p><b> (2)去抖動(dòng)</b></p><p> 當(dāng)掃描表明有鍵被按下之后,緊急著應(yīng)進(jìn)行去抖動(dòng)處理。因?yàn)槌S面I盤(pán)的鍵實(shí)際上是一個(gè)機(jī)械開(kāi)關(guān)結(jié)
51、構(gòu),被按下時(shí),由于機(jī)械觸點(diǎn)的彈性及電壓突然跳變等原因,在觸點(diǎn)閉合或斷開(kāi)的瞬間會(huì)出現(xiàn)電壓的抖動(dòng)。抖動(dòng)時(shí)間長(zhǎng)短與鍵的機(jī)械特性有關(guān),一般為5~10ms。而鍵穩(wěn)定閉合時(shí)間和操作者的按鍵動(dòng)作有關(guān),約為十分之幾到幾秒不等。抖動(dòng)現(xiàn)象會(huì)引起CPU對(duì)一次鍵操作進(jìn)行多次處理,從而可能產(chǎn)生錯(cuò)誤,因而必須設(shè)法消除抖動(dòng)的不良后果。通過(guò)去抖動(dòng)處理,可以得到按鍵閉合與斷開(kāi)的穩(wěn)定狀態(tài)。去抖動(dòng)的方法有硬件與軟件兩種:硬件方法是加去抖動(dòng)電路,如可通過(guò)RS觸發(fā)器實(shí)現(xiàn)硬件去抖
52、動(dòng);軟件方法是在第一次檢測(cè)到鍵盤(pán)按下后,執(zhí)行一段20---30ms的延遲子程序后再確認(rèn)該鍵是否確實(shí)按下,躲過(guò)抖動(dòng),待信號(hào)穩(wěn)定之后,再進(jìn)行鍵掃描。為了簡(jiǎn)單起見(jiàn),本設(shè)計(jì)采用軟件方法去抖動(dòng)。</p><p><b> ?。?)鍵碼計(jì)算</b></p><p> 為了準(zhǔn)確判斷閉合鍵的位置,要對(duì)每個(gè)按鍵進(jìn)行編碼。根據(jù)矩陣式鍵盤(pán)的結(jié)構(gòu),采用行掃描的鍵位識(shí)別方法。使某條列線為低電
53、平,如果這條列線上沒(méi)有閉合鍵,則各行線的狀態(tài)都為高電平;如果列線上有鍵閉合,則相應(yīng)的那條行線即變?yōu)榈碗娖?。于是就可以根?jù)行線號(hào)與列線號(hào)計(jì)算出閉合鍵的鍵碼。掃描時(shí)由第一列開(kāi)始,然后行線狀態(tài)狀態(tài)輸入單片機(jī),判斷哪一行有鍵閉合,若無(wú)鍵閉合,再掃描第二列,檢測(cè)下一列各行鍵閉合狀態(tài),由此一直掃描下去。至此掃描似乎已經(jīng)可以結(jié)束,但是實(shí)際上掃描往往要繼續(xù)進(jìn)行下去,以發(fā)現(xiàn)出現(xiàn)的多鍵同時(shí)被按下。</p><p> 最后得出被按下
54、鍵的行號(hào)、列號(hào),計(jì)算鍵碼,公式如下:</p><p> 鍵碼 = 行首鍵號(hào)+列號(hào)</p><p><b> ?。?)等待鍵釋放</b></p><p> 計(jì)算鍵碼后,再以延時(shí)后進(jìn)行行掃描的方法等待鍵釋放。等待鍵釋放是為了保證鍵的一次閉合僅進(jìn)行一次處理。</p><p><b> 鍵處理子程序</b&
55、gt;</p><p> 在計(jì)算機(jī)中每一個(gè)鍵都對(duì)應(yīng)一個(gè)處理子程序,得到閉合鍵的鍵碼后,就可以根據(jù)鍵碼,轉(zhuǎn)到相應(yīng)的鍵處理子程序,進(jìn)行字符、數(shù)據(jù)的輸入或命令處理,這樣就可以實(shí)現(xiàn)該鍵的功能。</p><p> ?。?)鍵盤(pán)掃描的中斷控制方式</p><p> 在單片機(jī)系統(tǒng)中,CPU除了對(duì)鍵盤(pán)進(jìn)行處理外,還要進(jìn)行數(shù)據(jù)處理、結(jié)果輸出顯示及其它各種控制,因此鍵盤(pán)處理不應(yīng)占用
56、CPU過(guò)多的時(shí)間,但又必須保證CPU能夠檢測(cè)到鍵盤(pán)的工作。為提高CPU的工作效率,可采用中斷掃描方式。當(dāng)無(wú)鍵閉合時(shí),CPU處理自已的工作,當(dāng)有鍵閉合時(shí),產(chǎn)生中斷請(qǐng)求,CPU轉(zhuǎn)去執(zhí)行鍵盤(pán)掃描子程序并執(zhí)行相應(yīng)的功能。</p><p> 設(shè)計(jì)中可采用4輸入與門(mén)用于產(chǎn)生鍵盤(pán)中斷,其輸入端與各行線相連,輸出端接至SM8958的外部中斷輸入端 。當(dāng)無(wú)鍵盤(pán)閉合時(shí),與門(mén)各輸入端均為高電平,輸出端為高電平;當(dāng)有鍵閉合時(shí), 為低電
57、平,于是向CPU申請(qǐng)中斷。若CPU開(kāi)放中斷,則會(huì)響應(yīng)該鍵盤(pán)中斷,轉(zhuǎn)去執(zhí)行鍵盤(pán)掃描子程序。</p><p><b> 4.3 顯示電路</b></p><p> 顯示器是最長(zhǎng)用的輸出設(shè)備。特別是發(fā)光二極管(LED)和液晶顯示器(LCD),猶豫結(jié)構(gòu)簡(jiǎn)單、價(jià)格便宜、接口容易,得到廣泛的應(yīng)用,尤其在單片機(jī)系統(tǒng)中大量使用。
58、 </p><p> 4.3.1 LED結(jié)構(gòu)與原理</p><p> LED就是Light Emitting Diode ,發(fā)光二極管的英文縮寫(xiě),簡(jiǎn)稱(chēng)LED。它是一種通過(guò)控制半導(dǎo)體發(fā)光二極管的顯示方式,用來(lái)顯示文字、圖形、圖像、動(dòng)畫(huà)、行情、視頻、錄像信號(hào)等各種信息的顯示屏幕?! ED的技術(shù)進(jìn)步是擴(kuò)大市場(chǎng)需求及應(yīng)用的最大推動(dòng)力。最初,LED只是作為微型指示燈,在計(jì)算機(jī)
59、、音響和錄像機(jī)等高檔設(shè)備中應(yīng)用,隨著大規(guī)模集成電路和計(jì)算機(jī)技術(shù)的不斷進(jìn)步,LED顯示器正在迅速崛起,近年來(lái)逐漸擴(kuò)展到證券行情股票機(jī)、數(shù)碼相機(jī)、PDA以及手機(jī)領(lǐng)域。 LED顯示器集微電子技術(shù)、計(jì)算機(jī)技術(shù)、信息處理于一體,以其色彩鮮艷、動(dòng)態(tài)范圍廣、亮度高、壽命長(zhǎng)、工作穩(wěn)定可靠等優(yōu)點(diǎn),成為最具優(yōu)勢(shì)的新一代顯示媒體,目前,LED顯示器已廣泛應(yīng)用于大型廣場(chǎng)、商業(yè)廣告、體育場(chǎng)館、信息傳播、新聞發(fā)布、證券交易等,可以滿足不同環(huán)境的需要。
60、通過(guò)發(fā)光二極管芯片的適當(dāng)連接(包括串聯(lián)和并聯(lián))和適當(dāng)?shù)墓鈱W(xué)結(jié)構(gòu)??蓸?gòu)成發(fā)光顯示器的發(fā)光段或發(fā)光點(diǎn)。由這些發(fā)光段或發(fā)光點(diǎn)可以組成數(shù)碼管、符號(hào)管、米字管、矩陣管、電平顯示器管等等。通常把數(shù)碼管、符號(hào)管、米字管共稱(chēng)筆畫(huà)顯示器,而把筆畫(huà)顯示器和矩陣管統(tǒng)稱(chēng)為字符顯示器</p><p> 基本的半導(dǎo)體數(shù)碼管是由七個(gè)條狀發(fā)光二極管芯片按一定排列方式組合而成??蓪?shí)現(xiàn)0~9的顯示。其具體結(jié)構(gòu)有“反射罩式”、“條形七段式”及“單片
61、集成式多位數(shù)字式”等。說(shuō)明如下: (1)反射罩式數(shù)碼管一般用白色塑料做成帶反射腔的七段式外殼,將單個(gè)LED貼在與反射罩的七個(gè)反射腔互相對(duì)位的印刷電路板上,每個(gè)反射腔底部的中心位置就是LED芯片。在裝反射罩前,用壓焊方法在芯片和印刷電路上相應(yīng)金屬條之間連好φ30μm的硅鋁絲或金屬引線,在反射罩內(nèi)滴入環(huán)氧樹(shù)脂,再把帶有芯片的印刷電路板與反射罩對(duì)位粘合,然后固化?! 》瓷湔质綌?shù)碼管的封裝方式有空封和實(shí)封兩種。實(shí)封方式采用散射劑和染料
62、的環(huán)氧樹(shù)脂,較多地用于一位或雙位器件。空封方式是在上方蓋上濾波片和勻光膜,為提高器件的可靠性,必須在芯片和底板上涂以透明絕緣膠,這還可以提高光效率。這種方式一般用于四位以上的數(shù)字顯示(或符號(hào)顯示)。 (2)條形七段式數(shù)碼管屬于混合封裝形式。它是把做好管芯的磷化鎵或磷化鎵圓片,劃成內(nèi)含一只或數(shù)只LED發(fā)光條,然后把同樣的七條粘在日字形“可伐”框上,用壓焊工藝連好內(nèi)引線,再用環(huán)氧樹(shù)脂包封起來(lái)。 (3)單片集成式多</p&g
63、t;<p> 4.3.1.2 LED顯示器分類(lèi) ?。?)按字高分:筆畫(huà)顯示器字高最小有1mm(單片集成式多位數(shù)碼管字高一般在2~3mm)。其他類(lèi)型筆畫(huà)顯示器最高可達(dá)12.7mm(0.5英寸)甚至達(dá)數(shù)百mm?! 。?)按顏色分有紅、橙、黃、綠等數(shù)種?! 。?)按結(jié)構(gòu)分,有反射罩式、單條七段式及單片集成式。 ?。?)從各發(fā)光段電極連接方式分有共陽(yáng)極和共陰極兩種。4.3.1.3 LED顯示器的參數(shù) 由于LED
64、顯示器是以LED為基礎(chǔ)的,所以它的光、電特性及極限參數(shù)意義大部分與發(fā)光二極管的相同。但由于LED顯示器內(nèi)含多個(gè)發(fā)光二極管,所以需有如下特殊參數(shù): (1)發(fā)光強(qiáng)度比 由于數(shù)碼管各段在同樣的驅(qū)動(dòng)電壓時(shí),各段正向電流不相同,所以各段發(fā)光強(qiáng)度不同。所有段的發(fā)光強(qiáng)度值中最大值與最小值之比為發(fā)光強(qiáng)度比。比值可以在1.5~2.3間,最大不能超過(guò)2.5。 ?。?)脈沖正向電流 若筆畫(huà)顯示器每段典型正向直流工作電流為IF,則在脈沖下,正向電
65、流可以遠(yuǎn)大于IF。脈沖占空比越小,脈沖正向電流可以越大。</p><p> 4.3.2 LCD結(jié)構(gòu)與原理</p><p> LCD就是Liquid Crystal Display,液晶顯示器的英文縮寫(xiě),簡(jiǎn)稱(chēng)LCD。它的主要原理是以電流刺激液晶分子產(chǎn)生點(diǎn)、線、面配合背部燈管構(gòu)成畫(huà)面。</p><p> LCD是一種被動(dòng)式顯示器,由于它的功耗低,抗干擾能力強(qiáng),因而
66、在低功耗的單片機(jī)系統(tǒng)中大量使用。</p><p> LCD本身不發(fā)光只是調(diào)節(jié)光的亮度,目前市售的LCD顯示器都是李勇液晶的扭曲——向列效應(yīng)制成,這是一種電場(chǎng)效應(yīng),夾在兩片導(dǎo)電玻璃電極間的液晶經(jīng)過(guò)一定處理,他內(nèi)部的分子呈90°的扭曲,擋線性偏振光透過(guò)其偏振面便會(huì)旋轉(zhuǎn)90°。當(dāng)在玻璃電極上加上電壓后,在電場(chǎng)的作用下,液晶的扭曲結(jié)構(gòu)消失,其旋光作用消失,偏振光便可以直接通過(guò),擋去掉電場(chǎng)后液晶分子又
67、恢復(fù)扭曲的結(jié)構(gòu)。把這樣的的液晶置于兩個(gè)偏振片之間,改變偏振片相對(duì)位置(正交或平行)就可以得到白底黑字或者黑底白字的顯示形式。</p><p> LCD的主要參數(shù)有:</p><p><b> 相應(yīng)時(shí)間</b></p><p> 響應(yīng)時(shí)間是液晶顯示器的一個(gè)特殊指標(biāo)。液晶顯示器的響應(yīng)時(shí)間指的是顯示器各像素點(diǎn)對(duì)輸入信號(hào)反應(yīng)的速度,響應(yīng)時(shí)間短,則
68、顯示運(yùn)動(dòng)畫(huà)面時(shí)就不會(huì)產(chǎn)生影像拖尾的現(xiàn)象。足夠快的響應(yīng)時(shí)間才能保證畫(huà)面的連貫。目前,市面上一般的液晶顯示器,響應(yīng)時(shí)間與以前相比已經(jīng)有了很大的突破,一般為幾個(gè)到幾十毫秒不等。</p><p><b> 余暉(毫秒級(jí))</b></p><p> 閾值電壓(3--20V)</p><p> 功耗(5mW/cm2--100mW/cm2)</p
69、><p> LCD七段顯示器除了a--g這七個(gè)筆畫(huà)以外,還有一個(gè)公共極COM。它可用靜態(tài)方式驅(qū)動(dòng),也可用動(dòng)態(tài)方式驅(qū)動(dòng)。前者加上直流信號(hào),后者加上交流信號(hào)。由于加直流信號(hào)將使LCD的壽命減少,故通常用動(dòng)態(tài)驅(qū)動(dòng)的方式。</p><p> 當(dāng)加在筆劃(a--g)中某個(gè)電極上的方波和公共電極(COM)上的方波信號(hào)相位相同時(shí),相對(duì)電壓為0,則筆劃不顯示;當(dāng)加在某個(gè)筆劃電極上的方波與公共極上的方波相位
70、相反時(shí),則有幅值兩倍于方波幅值電壓加在液晶上,該筆劃被選中而顯示。</p><p> 一般控制方波頻率為25--100HZ,并保證其為對(duì)稱(chēng)方波,從而使加在液晶極板上的交流電壓平均值為0,否則有較大的直流分量,使液晶材料迅速分解,這會(huì)大大縮短顯示器的工作壽命。</p><p> 單片機(jī)應(yīng)用系統(tǒng)設(shè)計(jì)中還有一種點(diǎn)陣字符型液晶顯示器(LCD),它是指顯示的基本單元是一定數(shù)量的點(diǎn)陣組成,專(zhuān)門(mén)用于
71、顯示數(shù)字、字母、常用圖形符號(hào)、少量自定義符號(hào)或漢字。這類(lèi)顯示器把LCE控制器、點(diǎn)陣驅(qū)動(dòng)器、字符存儲(chǔ)器等全做在一塊印刷版上,構(gòu)成便于應(yīng)用的液晶顯示模塊(LDM)。點(diǎn)陣字符型液晶顯示模塊在國(guó)際上已經(jīng)規(guī)范化,有統(tǒng)一的引腳和編程結(jié)構(gòu)。字符型液晶顯示模塊有內(nèi)置192個(gè)字符,另外,用戶可自定義5*7點(diǎn)陣字符或5*11點(diǎn)陣字符若干個(gè)。顯示行數(shù)一般為1行、2行、4行三種。每行顯示8個(gè)、16個(gè)、20個(gè)、24個(gè)、32個(gè)、40個(gè)不等。</p>
72、<p> 4.3.3 顯示方案選擇</p><p> 本設(shè)計(jì)用LCD效果非常理想,但其成本相對(duì)高于LED,也比較復(fù)雜,故此次設(shè)計(jì)選用LED,也能達(dá)到預(yù)期的效果。要用單片機(jī)控制密碼鎖,就需要一個(gè)人機(jī)界面。常采用的方式是LED數(shù)碼管顯示測(cè)試結(jié)果,用一個(gè)小鍵盤(pán)執(zhí)行某些功能,如請(qǐng)零、預(yù)置值、改變測(cè)量范圍等等。故詳細(xì)介紹LED的結(jié)構(gòu)與原理。</p><p> 發(fā)光二極管顯示器(LED
73、)是單片機(jī)應(yīng)用產(chǎn)品中常用的廉價(jià)輸出設(shè)備。它是由若干個(gè)發(fā)光二極管組成的,當(dāng)發(fā)光二極管導(dǎo)通時(shí),相應(yīng)的一個(gè)點(diǎn)或者一個(gè)筆劃發(fā)光,控制不同組合的二極管導(dǎo)通,就能顯示出各種字符,常用七段或者八段顯示器結(jié)構(gòu)。</p><p> LED顯示是用發(fā)光二極管顯示字段的顯示器件,也可稱(chēng)為數(shù)碼管,它由8個(gè)發(fā)光二極管構(gòu)成,通過(guò)不同的組合可用來(lái)顯示0~9、A~F及小數(shù)點(diǎn)。它的工作電壓為1.5-3.0伏,工作電流為幾毫安到幾十毫安,壽命很長(zhǎng)
74、。</p><p> LED顯示器分為共陽(yáng)極和共陰極。</p><p> 共陽(yáng)極:把發(fā)光二極管的陽(yáng)極連在一起構(gòu)成共陽(yáng)極。使用時(shí)公共端接Vcc,當(dāng)某陽(yáng)極為低電平時(shí),該發(fā)光二極管就導(dǎo)通發(fā)光。輸出一個(gè)段碼就可以控制LED顯示器的字型。</p><p> 共陰極:是將8個(gè)發(fā)光二極管陰極連接在一起作為公共端,而共陽(yáng)極是將8個(gè)發(fā)光二極管的陽(yáng)極連接在一起作為公共端。我們這次
75、就是采用的共陰極LED。表 4.5給出了共陰極字型與段碼的關(guān)系,假定a、b、c、d、e、f、g、DP分別對(duì)應(yīng)D0、D1、D2、D3、D4、D5、D6、D7。</p><p> 表4.5 共陰極字型與段碼的關(guān)系</p><p> LED顯示器有靜態(tài)和動(dòng)態(tài)顯示兩種方式。</p><p> 所謂靜態(tài)顯示就是當(dāng)顯示器顯示某一個(gè)字符時(shí),相應(yīng)的發(fā)光二極管恒定地導(dǎo)通或截止
76、。這種顯示器方式,每一位都需要有一個(gè)八位輸出口控制,所占用硬件多,一般用于顯示器位數(shù)較少(很?。┑膱?chǎng)合。當(dāng)位數(shù)多時(shí),用靜態(tài)顯示所需要的I/O口太多,一般采用動(dòng)態(tài)顯示方法。</p><p> 所謂動(dòng)態(tài)顯示就是一位一位地輪流點(diǎn)亮各位顯示器(掃描),對(duì)于每一位顯示器來(lái)說(shuō),每隔一段時(shí)間點(diǎn)亮一次。顯示器亮度既跟點(diǎn)亮?xí)r的導(dǎo)通電流有關(guān),也跟點(diǎn)亮?xí)r間和間隔的比例有關(guān)。調(diào)整電流和時(shí)間的參數(shù),可實(shí)現(xiàn)無(wú)閃爍,亮度較高,較穩(wěn)定的顯示。
77、若顯示器的位數(shù)不大于8位,則可控制顯示器公共極電位只需一個(gè)I/O口(稱(chēng)為掃描口),控制各位顯示器所顯示的字形也需要一個(gè)8位口(稱(chēng)為數(shù)據(jù)口)。 4.4其他外圍輔助電路 </p><p> 有效按鍵提示音電路,主要由蜂鳴器和驅(qū)動(dòng)8050組成。</p><p> 開(kāi)鎖執(zhí)行機(jī)構(gòu)由驅(qū)動(dòng)電路和開(kāi)鎖兩級(jí)組成。當(dāng)用戶輸入的密碼正確而且是在規(guī)定的時(shí)間內(nèi),單片機(jī)便輸出開(kāi)鎖信號(hào),送至驅(qū)動(dòng)電路,然后驅(qū)動(dòng)電控
78、鎖,達(dá)到開(kāi)鎖的目的。</p><p> 注:在本次設(shè)計(jì)中,基于節(jié)省成本的原則,暫時(shí)用發(fā)光二極管代替電控鎖,發(fā)光管亮,表示開(kāi)鎖;滅,表示沒(méi)有開(kāi)鎖。 </p><p> 其他電路亦用發(fā)光二極管代替,如P3.1錯(cuò)誤輸入警告(WARN),P3.2九十秒定時(shí)中斷,輸出控制信號(hào),防止長(zhǎng)時(shí)間無(wú)效操作。P3.4三次誤碼輸入條件下,產(chǎn)生報(bào)警電平。</p><p><b>
79、; 4.5總體電路</b></p><p> 硬件原理圖,如圖4.4所示。</p><p> 圖4.4 硬件原理圖</p><p><b> 5 軟件設(shè)計(jì)</b></p><p><b> 5.1總體方案</b></p><p> 密碼鎖軟件采用51系
80、列單片機(jī)匯編語(yǔ)言編程。軟件包括鍵盤(pán)掃描、密碼比較子程序、密碼修改子程序、時(shí)鐘修改和讀取程序、延時(shí)子程序和LCD顯示程序等。其中,鍵盤(pán)掃描子程序、密碼比較子程序以及密碼修改子程序是本次設(shè)計(jì)的核心,本次軟件部分主要實(shí)現(xiàn)這三項(xiàng)功能。</p><p><b> 5.2程序流程圖</b></p><p> 程序流程圖,見(jiàn)圖4.5所示。</p><p>
81、; 否 </p><p> 是 是</p><p> 否 否</p><p><b> 否</b>
82、;</p><p><b> 是</b></p><p><b> 圖4.5程序流程圖</b></p><p><b> 5.3匯編語(yǔ)言程序</b></p><p><b> ORG 0000H</b></p><p>
83、SJMP START</p><p><b> ORG 000BH</b></p><p><b> LJMP INT</b></p><p><b> ORG 0030H</b></p><p> START:MOV SP,#60H</p><p&
84、gt;<b> SETB P3.0</b></p><p><b> SETB P3.1</b></p><p><b> SETB P3.2</b></p><p><b> SETB P3.3</b></p><p> MOV TMOD,#0
85、1H</p><p> MOV TL0,#00H</p><p> MOV TH0,#00H</p><p><b> SETB TR0</b></p><p><b> SETB ET0</b></p><p><b> SETB EA</b>
86、;</p><p> MOV 30H,#0FFH ; 定時(shí)控制</p><p> MOV 31H,#09H ; 定時(shí)控制</p><p> MOV R3,#03H ;三次誤碼輸入控制</p><p> MOV R4,#06H ;初始密碼位數(shù)控制</p><p> MOV R0,#40H;40H-45H初始
87、密碼</p><p> MOV A,#01H</p><p> L1:MOV @R0,A</p><p><b> INC R0</b></p><p><b> INC A</b></p><p> DJNZ R4,L1</p><p>
88、 L11:MOV 32H,#06H;鍵掃密碼位數(shù)控制</p><p> MOV R1,#50H ;50-55H為新輸入密碼</p><p> L2:LCALL INPUT</p><p><b> MOV @R1,A</b></p><p><b> INC R1</b></p&g
89、t;<p> DJNZ 32H,L2</p><p><b> SETB RS0</b></p><p> MOV R0,#40H</p><p> MOV R1,#50H</p><p> LCALL COMPARE</p><p><b> CLR RS0&
90、lt;/b></p><p> LCALL INPUT</p><p><b> MOV R6,A</b></p><p> CJNE R6,#0BH,L3;B修改密碼</p><p> L99:LCALL CHPW</p><p><b> LJMP L10</b
91、></p><p> L3:MOV R7,A</p><p> CJNE R7,#0AH,L5;A確認(rèn)開(kāi)鎖</p><p> L10:CLR P3.0;開(kāi)鎖</p><p><b> SJMP $</b></p><p> L5:CLR RS0</p><p&g
92、t; CLR P3.4;錯(cuò)誤輸入警告</p><p> LCALL DELAY01</p><p> LCALL DELAY01</p><p> LCALL DELAY01</p><p><b> SETB P3.4</b></p><p> DJNZ R3,L11</p&g
93、t;<p> CLR P3.1; 三次誤碼報(bào)警</p><p><b> AJMP $</b></p><p> COMPARE:MOV R3,#06H;密碼比較位數(shù)控制</p><p> LPP1:CLR CY</p><p><b> MOV A,@R0</b></
94、p><p> SUBB A,@R1</p><p><b> JNZ L5</b></p><p><b> INC R0</b></p><p><b> INC R1</b></p><p> DJNZ R3,LPP1</p>&
95、lt;p><b> RET</b></p><p> KEYI:MOV P1,#0FFH</p><p><b> CLR P1.6</b></p><p><b> CLR P1.5</b></p><p><b> CLR P1.4</b&g
96、t;</p><p><b> MOV A,P1</b></p><p><b> CPL A</b></p><p> ANL A,#0FH</p><p><b> RET</b></p><p> INPUT:LCALL KEYI<
97、/p><p><b> JNZ LK1</b></p><p> LCALL DELAY</p><p> LJMP INPUT</p><p> LK1:LCALL DELAY</p><p> LCALL KEYI</p><p><b> JNZ L
98、K2</b></p><p> LCALL DELAY</p><p> LJMP INPUT</p><p> LK2:MOV R5,#0EFH</p><p> MOV R4,#00H</p><p> LK4:MOV P1,R5</p><p><b>
99、MOV A,P1</b></p><p> JB ACC.3,LONE</p><p> MOV A,#00H</p><p><b> LJMP LKP</b></p><p> LONE:JB ACC.2,LTWO</p><p> MOV A,#03H</p>
100、;<p><b> LJMP LKP</b></p><p> LTWO:JB ACC.1,LTHREE</p><p> MOV A,#06H</p><p><b> LJMP LKP</b></p><p> LTHREE:JB ACC.0,NEXT</p>
101、<p> MOV A,#09H</p><p> LKP:ADD A,R4</p><p><b> PUSH ACC</b></p><p> LK3:LCALL DELAY</p><p> LCALL KEYI</p><p><b> JNZ LK3&l
102、t;/b></p><p><b> POP ACC</b></p><p> CLR P3.3;有效按鍵提示</p><p> LCALL DELAY01</p><p><b> SETB P3.3</b></p><p><b> RET<
103、;/b></p><p> NEXT:INC R4</p><p><b> MOV A,R5</b></p><p> JNB ACC.6,KND</p><p><b> RL A</b></p><p><b> MOV R5,A</b&
104、gt;</p><p><b> LJMP LK4</b></p><p> KND:LJMP INPUT</p><p> CHPW:MOV R0,#40H</p><p> MOV R7,#06H;改寫(xiě)密碼位數(shù)控制</p><p> L7:LCALL INPUT</p>
105、<p><b> MOV @R0,A</b></p><p><b> INC R0</b></p><p> DJNZ R7,L7</p><p> MOV R1,#48H</p><p> MOV R6,#06H</p><p> L88:LCAL
106、L INPUT</p><p><b> MOV @R1,A</b></p><p><b> INC R1</b></p><p> DJNZ R6,L88</p><p> MOV R0,#40H</p><p> MOV R1,#48H</p>
107、<p> MOV R3,#06H;密碼比較位數(shù)控制</p><p> L66:CLR CY</p><p><b> MOV A,@R0</b></p><p> SUBB A,@R1</p><p><b> JNZ L98</b></p><p>&l
108、t;b> LJMP L96</b></p><p> L98:CLR P3.4;錯(cuò)誤輸入警告</p><p> LCALL DELAY01</p><p> LCALL DELAY01</p><p> LCALL DELAY01</p><p><b> SETB P3.4&l
109、t;/b></p><p><b> AJMP L99</b></p><p> L96:INC R0</p><p><b> INC R1</b></p><p> DJNZ R3,L66</p><p><b> RET</b>&l
110、t;/p><p> DELAY: MOV R6,#40;12ms</p><p> LOOP1:MOV R7,#248</p><p><b> NOP</b></p><p> LOOP2:DJNZ R7,LOOP2</p><p> DJNZ R6,LOOP1</p>&
111、lt;p><b> RET</b></p><p> INT: PUSH ACC</p><p> MOV TMOD,#01H</p><p> MOV TL0,#00H</p><p> MOV TH0,#00H</p><p><b> SETB TR0</b
112、></p><p><b> SETB ET0</b></p><p><b> SETB EA</b></p><p> CONTINUE:DJNZ R2,CONT;10秒</p><p> DJNZ 31H,CONT;90秒</p><p> CLR P3
113、.2;定時(shí)中斷</p><p> STOP:AJMP STOP</p><p> CONT:POP ACC</p><p><b> RETI</b></p><p> DELAY01:MOV 56H,#8;</p><p> DEL01:MOV 57H,#200</p>
114、<p> DEL02:MOV 58H,#248</p><p><b> NOP</b></p><p> DEL03:DJNZ 58H,DEL03</p><p> DJNZ 57H,DEL02</p><p> DJNZ 56H,DEL01</p><p><b>
115、; RET</b></p><p><b> 6系統(tǒng)調(diào)試</b></p><p> 當(dāng)硬件和軟件設(shè)計(jì)好后,就可以進(jìn)行調(diào)試了。硬件檢查分為兩步:靜態(tài)檢查和動(dòng)態(tài)檢查。硬件的靜態(tài)檢查胡只要電路制作的正確性,因此,一般無(wú)需借助于開(kāi)發(fā)器;動(dòng)態(tài)檢查是在開(kāi)發(fā)系統(tǒng)上進(jìn)行的。</p><p> 本次設(shè)計(jì)硬件電路比較簡(jiǎn)單,軟件的調(diào)試才是重點(diǎn)。將
116、仿真調(diào)試好的程序固化到芯片中,進(jìn)行現(xiàn)場(chǎng)調(diào)試,檢測(cè)其功能是否達(dá)到設(shè)計(jì)要求。若某些功能還未到達(dá)到要求,則再對(duì)系統(tǒng)進(jìn)行修改,直到滿足要求。</p><p> 動(dòng)態(tài)檢查時(shí)發(fā)現(xiàn)的問(wèn)題,如漏寫(xiě)子程序返回指令導(dǎo)致程序無(wú)法繼續(xù)執(zhí)行;復(fù)位電路以及晶振電路容易出現(xiàn)的問(wèn)題等。結(jié)合硬件的調(diào)試時(shí),比較容易發(fā)現(xiàn)這類(lèi)故障。</p><p><b> 7 結(jié)語(yǔ)</b></p>&l
117、t;p> 本次設(shè)計(jì)基本達(dá)到設(shè)計(jì)要求,實(shí)現(xiàn)了密碼鍵盤(pán)輸入,修改,改進(jìn)了聲光告警電路。解決了密碼處理的關(guān)鍵問(wèn)題。設(shè)計(jì)中存在些不足,比如密碼斷電消失,有待以后的設(shè)計(jì)中改進(jìn)。</p><p> 隨著電子技術(shù)的發(fā)展,各種智能鎖(如指紋識(shí)別,鞏膜識(shí)別等)相繼問(wèn)世,但這些產(chǎn)品的特點(diǎn)是針對(duì)特定人員有效。而電子密碼鎖由于性價(jià)比高,簡(jiǎn)單易用以及兼容性好,應(yīng)運(yùn)而生,必將經(jīng)久不衰,得到越來(lái)越廣發(fā)的應(yīng)用。</p>
118、<p> 由于時(shí)間的倉(cāng)促及自身專(zhuān)業(yè)水平的不足,整篇論文肯定存在尚未發(fā)現(xiàn)的缺點(diǎn)和錯(cuò)誤。懇請(qǐng)閱讀此篇論文的老師、同學(xué),多予指正,不勝感激!</p><p><b> 致謝</b></p><p> 從論文的選題、文獻(xiàn)的采集、框架的設(shè)計(jì)、結(jié)構(gòu)的布局到最終的論文定稿,除了自己的努力之外,離不開(kāi)老師、同學(xué)以及同事們的支持與幫助。在此深表謝意!</p>
119、<p> 特別感謝xxx老師對(duì)我們畢業(yè)設(shè)計(jì)以及畢業(yè)論文的指導(dǎo)與幫助!</p><p> 特別感謝xxx同學(xué)的無(wú)私幫助,尤其對(duì)軟件設(shè)計(jì)部分提出的寶貴意見(jiàn)!</p><p> 特別感謝公司領(lǐng)導(dǎo)以及同事們對(duì)本次設(shè)計(jì)的支持!</p><p><b> 參考文獻(xiàn)</b></p><p> [1] 王法能,
120、尹季昆.單片機(jī)原理及應(yīng)用[M].北京:科學(xué)出版社,2004年[2] 胡漢才.單片機(jī)原理及其借口技術(shù)[M].北京:清華大學(xué)出版社,1996年[3] 蔡美琴,張為民,何金兒,毛敏,陶正蘇,毛義梅.MCS-51系列單片機(jī)系統(tǒng)及其應(yīng)用(第二版)[M].高等教育出版社,2004年[4] 潘新,民王,燕芳.微型計(jì)算機(jī)控制技術(shù)[M].電子工業(yè)出版社,2003年[5] 李鐘實(shí).實(shí)用電子報(bào)警器精選百例[M].北京:科技技術(shù)文獻(xiàn)出版社,20
121、02年[6] 肖玲妮,袁增貴.Protel 99 SE印刷電路板設(shè)計(jì)教程[M].北京:清華大學(xué)出版社,2003年。[7] 余孟嘗.?dāng)?shù)字電子技術(shù)基礎(chǔ)簡(jiǎn)明教程(第二版)[M].北京:高等教育出版社,1999年[8] 童詩(shī)白,華成英.模擬電子技術(shù)基礎(chǔ)(第三版)[M].北京:高等教育出版涉,2001年[9] 李廣弟.單片機(jī)基礎(chǔ)[M].北京:北京航空航天大學(xué)出版社,1994:6-28.</p><p>
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 眾賞文庫(kù)僅提供信息存儲(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 電子密碼鎖畢業(yè)論文
- 畢業(yè)論文——電子密碼鎖
- 密碼鎖設(shè)計(jì)畢業(yè)論文
- 電子密碼鎖-畢業(yè)論文
- 電子密碼鎖畢業(yè)論文
- 數(shù)字密碼鎖設(shè)計(jì)畢業(yè)論文
- 電子密碼鎖設(shè)計(jì)畢業(yè)論文
- 電子密碼鎖的設(shè)計(jì)畢業(yè)論文
- 畢業(yè)論文范文——電子密碼鎖
- 單片機(jī)密碼鎖畢業(yè)論文
- 單片機(jī)密碼鎖畢業(yè)論文
- 單片機(jī)密碼鎖設(shè)計(jì)畢業(yè)論文
- 遠(yuǎn)紅外遙控電子密碼鎖畢業(yè)論文
- 密碼鎖畢業(yè)設(shè)計(jì)論文
- 基于單片機(jī)的紅外遙控密碼鎖設(shè)計(jì)-紅外遙控密碼鎖畢業(yè)論文
- 基于fpga的數(shù)字密碼鎖設(shè)計(jì)【畢業(yè)論文】
- 基于pld的電子密碼鎖設(shè)計(jì)【畢業(yè)論文】
- 基于plc的電子密碼鎖畢業(yè)論文設(shè)計(jì)
- 基于plc的電子密碼鎖畢業(yè)論文設(shè)計(jì)
- 電子密碼鎖畢業(yè)設(shè)計(jì)論文
評(píng)論
0/150
提交評(píng)論