周贊+唐揚興+虎風(fēng)林
摘 要:本系統(tǒng)是基于AT89S51單片機的函數(shù)信號發(fā)生器。以MCS-51系列單片機作為控制核心,由數(shù)模轉(zhuǎn)換器模塊,供電模塊和液晶顯示器構(gòu)成。由程序控制AT89S51產(chǎn)生各種不同密碼控制方式,通過單片機的I/O口將數(shù)字編碼輸出到數(shù)模轉(zhuǎn)換器進(jìn)行數(shù)模轉(zhuǎn)換,所產(chǎn)生的是數(shù)碼管相應(yīng)的數(shù)字和狀態(tài)顯示。系統(tǒng)能顯示多種密碼狀態(tài),通過按鍵可以實現(xiàn)對密碼的修改與重置,當(dāng)三次出現(xiàn)輸入密碼錯誤時,系統(tǒng)會發(fā)出報警。系統(tǒng)具有功耗低、可作為產(chǎn)品進(jìn)行開發(fā),應(yīng)用于共享單車上使用。
關(guān)鍵詞:單片機;AT89S52;電子密碼鎖
一、系統(tǒng)基本原理
單片機電子鎖是以51系列單片機(AT89S52)為核心,配以相應(yīng)硬件電路,完成密碼的設(shè)置、存貯、識別和顯示、驅(qū)動電磁執(zhí)行器并檢測其驅(qū)動電流值、接收傳感器送來的報警信號、發(fā)送數(shù)據(jù)等功能。 單片機接收鍵入的代碼,并與存貯在EEPROM中的密碼進(jìn)行比較,如果密碼正確,則驅(qū)動電磁執(zhí)行器開鎖;如果密碼不正確,則允許操作人員重新輸入密碼,最多可輸入三次;如果三次都不正確,則單片機通過通信線路向智能監(jiān)控器報警。單片機將每次開鎖操作和此時電磁執(zhí)行器的驅(qū)動電流值作為狀態(tài)信息發(fā)送給智能監(jiān)控器,同時將接收來自傳感器接口的報警信息也發(fā)送給智能監(jiān)控器,作為智能化分析的依據(jù)。
為了防止通信線路的人為破壞和電磁執(zhí)行器因某種原因造成流過電磁線圈的電流過大而燒毀線圈,可以加入電流監(jiān)視技術(shù)模塊采用MAXIM公司生產(chǎn)的電流/電壓轉(zhuǎn)換芯片MAX471。該芯片能將被測電流I轉(zhuǎn)化成對地輸出電壓U,且有測量范圍大、精度高、輸出電壓U和被測電流I成正比等特點。電流監(jiān)視器輸出電壓送A/D轉(zhuǎn)換器,單片機通過讀取A/D轉(zhuǎn)換結(jié)果,獲知線路中電流的變化情況,通過分析及時發(fā)現(xiàn)異常,發(fā)出報警信號。本設(shè)計因為使用了蜂鳴器,對密碼輸入時出現(xiàn)錯誤實現(xiàn)報警。
二、設(shè)計方案
系統(tǒng)的整體框圖
本設(shè)計采用4*4的矩陣鍵盤作為輸入,AT89S51單片機作為主機, 二極管指示燈和喇叭組成發(fā)聲系統(tǒng)。根據(jù)系統(tǒng)擬達(dá)到的總體功能,將其劃分為以下功能模塊:激光弦輸入、掉電儲存、運算主機、輸出設(shè)備等。系統(tǒng)整體框圖如圖2-1。
利用KEIL軟件編寫程序,通過程序控制使單片機產(chǎn)生密碼鎖控制的數(shù)字編碼,通過單片機的PO口輸出到數(shù)模轉(zhuǎn)換器,內(nèi)部進(jìn)行數(shù)模轉(zhuǎn)換,將相應(yīng)的數(shù)字編碼變換成不同大小的電流。由于數(shù)模轉(zhuǎn)換內(nèi)部產(chǎn)生的是電流,所以需要進(jìn)行電流到電壓的轉(zhuǎn)換,實現(xiàn)這個轉(zhuǎn)換的是通過MCU內(nèi)部程序控制完成的,通過一級的運放就可以將電流轉(zhuǎn)換成電壓,但是由于電壓的幅度較小,并且由于各種內(nèi)外部的干擾,所以需要對產(chǎn)生的控制信號進(jìn)行加以按鍵防抖。
三、時鐘電路
單片機最小系統(tǒng)中的時鐘電路起著至關(guān)重要的作用,AT89S51單片機有兩種產(chǎn)生時鐘信號的方式:內(nèi)部時鐘和外部時鐘。在本系統(tǒng)中,選用內(nèi)部時鐘。電路分別從單片機18、19管腳分別引出,在兩管腳之間加入一個11.0592MHz的晶振,再與30PF電容相連接,末端接地。對于晶振頻率的選擇,在1.2~12MHz之間選擇都可以滿足設(shè)計需求,常用的晶振頻率為6MHz、11.0592MHz和12MHz。
四、復(fù)位電路
當(dāng)單片機第9管腳(Reset)高電平持續(xù)超過兩個機器周期時,復(fù)位電路啟動,單片機系統(tǒng)執(zhí)行復(fù)位操作,電路系統(tǒng)重新啟動。若復(fù)位管腳持續(xù)高電平超過兩個周期,系統(tǒng)不能成功執(zhí)行復(fù)位,說明復(fù)位電路沒有正常工作或者沒有焊接正確。復(fù)位的執(zhí)行有兩種,一種是根據(jù)管腳上所接電容的充放電完成,另一種的按鍵復(fù)位,本系統(tǒng)選用的是按鍵復(fù)位,按鍵按下時,電路執(zhí)行復(fù)位操作。
五、電源供電模塊
一個完整的系統(tǒng)設(shè)計,供電部分是整個系統(tǒng)工作的基礎(chǔ)部分,是保證系統(tǒng)完整、有序運行的前提。51系列單片機是使用最早、穩(wěn)定性較強的核心控制器,但在整個系統(tǒng)的工作過程中,51系列單片機面臨的最大問題還是功耗大、抗干擾能力差、程序跑飛等問題,為了將這些弊端將至最低,需要設(shè)計可靠、完整的供電系統(tǒng)。
在本設(shè)計中,電源供電可以由計算機USB或者普通手機充電設(shè)備提供,此外,還可以用5V專用電源或者干電池供電。在電路中,設(shè)置電源指示燈,為系統(tǒng)工作提供了方便。
六、程序設(shè)計思路
對控制密碼鎖的系統(tǒng)軟要求很高,它必須能夠同時兼顧對鍵盤的讀取、鍵盤的處理、對密碼更改的控制、控對數(shù)碼管的動態(tài)顯示控制等要求,要做到這些我們要采取中斷技術(shù)。
此次設(shè)計,主程序?qū)︽I盤端口的掃描使用的是查詢的方法,檢測有沒有按下按鍵,當(dāng)有按鍵被按下發(fā)生按鍵動作時則處理鍵盤,通過按鍵值來改變對應(yīng)參數(shù)值,使鍵盤能夠?qū)崿F(xiàn)實時處理的作用。定時器0通過使控制該功能的程序中斷來控制系統(tǒng)的運行情況:通過目前密碼鎖的顯示狀態(tài)用鍵盤人工地改變T0的定時時間常數(shù)值,改變TH0與TL0的參數(shù),實現(xiàn)對密碼鎖的更改密碼和復(fù)位操作;通過密碼鎖各按鍵的分別控制,達(dá)到整體控制的目的,控制脈沖信號,脈沖信號循環(huán)移動的方向控制,實現(xiàn)各種方面的控制要求。
說明如下:
1.單片機根據(jù)鍵盤發(fā)過來的信息,改變自身系統(tǒng)變量值。
2.單片機通過輸出脈沖信號來控制各按鍵的按鍵值。
3.單片機通過檢測出密碼鎖實時狀態(tài),控制數(shù)碼管顯示。
參考文獻(xiàn):
[1]戴佳,苗龍,陳斌.51單片機應(yīng)用系統(tǒng)開發(fā)典型實例[M]. 中國電力出版社,2005.9.
[2]康華光.電子技術(shù)基礎(chǔ)[M].高等教育出版社,2002.
[3]梁燕, 邵凱.用單片機實現(xiàn)遙控器的紅外發(fā)射[J].成都信息工程學(xué)院學(xué)報,2005.endprint