裴宇
摘 要:設計了一種利用51單片機作為主控芯片的紅外密碼遙控鎖,采用uPD6122G紅外編碼發(fā)射芯片和SM0038一體化紅外接收芯片實現(xiàn)編碼發(fā)送與接收,系統(tǒng)采用C51編程實現(xiàn),給出了軟件流程圖,對此類產(chǎn)品開發(fā)具有一定借鑒意義。
關(guān)鍵詞:單片機;紅外;密碼鎖
密碼鎖在人們的日常工作生活中具有重要的意義,尤其是企業(yè)、政府機關(guān)和軍隊等重要部門的應用更為廣泛,隨著人們生活水平的提高,密碼鎖也漸漸走入了家庭。目前而言,大部分人使用的還是傳統(tǒng)的機械鎖。傳統(tǒng)的機械鎖由于其構(gòu)造的簡單,被撬的事件屢見不鮮。為此,設計具有防盜報警功能的電子密碼鎖來代替?zhèn)鹘y(tǒng)的機械式密碼鎖可以有效提高密碼鎖的安全系數(shù),具有廣闊的應用前景。
1 系統(tǒng)硬件設計
設備開發(fā),不僅要考慮功能性,還要考慮實用性和設計成本,本系統(tǒng)整體框圖如圖1所示,系統(tǒng)分為兩部分,發(fā)射部分和接收部分,發(fā)射部分負責發(fā)射紅外開鎖、關(guān)鎖指令,接收部分主要負責執(zhí)行指令及參數(shù)設置。
圖1 系統(tǒng)整體框圖
發(fā)射部分由按鍵、紅外線遙控編碼芯片及其外圍電路組成。uPD6122G是紅外線遙控編碼專用芯片,其內(nèi)部已經(jīng)集成了按鍵檢測、處理和紅外編碼模塊,而且無須編程,使用十分方便,并且增強了抗干擾能力。
接收部分主控芯片采用控制功能強、價格低廉、應用廣泛的51單片機,具體型號為ATMEL公司的AT89S52,該單片機內(nèi)部具有8K字節(jié)Flash存儲器,滿足系統(tǒng)程序要求,而且支持在線編程,可反復擦寫1000次以上,方便系統(tǒng)開發(fā)。一體化紅外接收頭選用SM0038,該芯片集信號放大、濾波、檢波、整形于一體,電路內(nèi)置PIN二極管和前置放大器,采用可以紅外濾波的環(huán)氧樹脂材料封裝,可靠性高,不易受環(huán)境影響并可以防止非控制信號的輸出脈沖出現(xiàn)。SM0038內(nèi)置帶通濾波器、積分器、和自動增益控制電路以抑制各種干擾和噪音。
2 軟件設計
2.1 編程語言選擇
目前,對單片機的編程主要采用匯編和C語言。匯編語言有執(zhí)行效率高、速度快、與硬件結(jié)合緊密等特點。尤其在進行I/O端口管理時,使用匯編語言有快捷、直觀的優(yōu)點。但是使用匯編語言相對于使用高級語言編程難度要大一些,且程序可讀性低,開放性差,從系統(tǒng)開發(fā)時間來看,效率不是很高。
C語言是一種結(jié)構(gòu)化語言,可產(chǎn)生緊湊代碼。C語言可以用許多機器級函數(shù)直接控制操作8051硬件。與匯編語言相比,C語言有如下的優(yōu)點:
·不要求了解單片機的指令系統(tǒng),僅要求對8051的存儲結(jié)構(gòu)有初步了解;
·寄存器分配,不同存儲器的尋址及數(shù)據(jù)類型等細節(jié)可由編譯器管理;
·程序有規(guī)范的結(jié)構(gòu),可分為不同的函數(shù),這種方式可使程序結(jié)構(gòu)化;
·具有將可變的選擇與特殊操作組合在一起的能力,改善了程序的可讀性;
·關(guān)鍵字及運算符可用近似人的思維方式使用;
·編程及程序調(diào)試時間顯著縮短,從而提高效率;
·提供的庫包含許多標準子程序,具有較強的數(shù)據(jù)處理能力;
·已編好的程序可容易地植入新程序,因為它具有方便的模塊化編程技術(shù)。
·鑒于C語言編程的以上優(yōu)點,本系統(tǒng)均采用C51語言編寫。
2.2 主要程序說明及流程圖
主程序首先是初始化程序,然后就等待紅外接收頭輸出端的低電平,低電平出現(xiàn)說明遙控有鍵按下,外部中斷設定為下降沿觸發(fā),故單片機進入中斷服務程序進行信號的接收解碼。當接收到遙控器識別按鍵時,單片機查找并判斷此遙控器ID是否已存在。當ID不存在時,系統(tǒng)進入遙控器學習模式,保存新ID及其鍵碼;當遙控器ID已存在時,系統(tǒng)進入密碼輸入界面,并且接收到八位的密碼以后就開始運行密碼核對程序,當密碼輸入正確后,就可以進行開鎖、上鎖或修改密碼的操作。當密碼輸入錯誤的時候就會進入密碼輸入提醒程序提醒用戶重新輸入密碼,密碼輸入累積到3次時系統(tǒng)會報警并鎖定。軟件流程圖如圖2所示。
圖2 系統(tǒng)軟件流程圖
3 小結(jié)
本系統(tǒng)設計通過具有防盜報警功能的紅外線遙控電子密碼鎖來代替?zhèn)鹘y(tǒng)的機械式密碼鎖,克服了機械式密碼鎖密碼量少、安全性能差的缺點。而且還添加了紅外遙控、遙控器學習識別和LCD顯示等功能,可以實現(xiàn)遠距離開關(guān)鎖、修改密碼等,系統(tǒng)靈活性強,操作簡單直觀、使用非常方便。