基于AT89C51的紅外遙控密碼鎖系統(tǒng)的設(shè)計方案
1.引言
本文引用地址:http://m.butianyuan.cn/article/201612/328310.htm目前國內(nèi)外密碼鎖系統(tǒng)的主要發(fā)展方向是:接觸式密碼鎖系統(tǒng)、非接觸式密碼鎖系統(tǒng)、智能識別密碼鎖系統(tǒng);但是他們都相應(yīng)的存在著不同的缺點。紅外遙控密碼鎖系統(tǒng)的成本與接觸式密碼鎖系統(tǒng)相當(dāng),而且可以進(jìn)行近距離遙控,使用十分方便。采用數(shù)字信號編碼和二次調(diào)制方式,不僅可以實現(xiàn)多路信息的控制,增加遙控功能,提高信號傳輸?shù)目垢蓴_性,減少誤動作,而且功率消耗低;紅外線不會向室外泄露,不會產(chǎn)生信號串?dāng)_;反應(yīng)速度快、傳輸效率高、工作穩(wěn)定可靠等。工業(yè)設(shè)備中,在高壓、輻射、有毒氣體、粉塵等環(huán)境下,采用紅外線遙控不僅完全可靠而且能有效地隔離電氣干擾。所以紅外線遙控是目前使用最廣泛的一種通信和遙控手段。
為此本方案設(shè)計由紅外接收頭HS0038(紅外接收頻率為38khz)和AT89C51控制的接收部分構(gòu)成;由紅外發(fā)光二極管和AT89C51控制的發(fā)射部分來完成密碼的發(fā)送過程。設(shè)計中使用電磁繼電器來代替所的功能,并且有兩個LED燈來對系統(tǒng)的按鍵和開鎖進(jìn)行指示。采用單片機(jī)進(jìn)行遙控系統(tǒng)的應(yīng)用設(shè)計,具有編程靈活多樣,電路結(jié)構(gòu)清晰。特別適合家庭、賓館、倉庫、私家車庫等場所。
2.密碼鎖的總體設(shè)計方案
本系統(tǒng)采用AT89C51單片機(jī)作為本設(shè)計的核心元件,該系統(tǒng)由發(fā)射模塊和接收模塊兩部分構(gòu)成,遙控器發(fā)射模塊可以隨身攜帶,只要在接收器附近,即可遙控開鎖。遙控發(fā)射器主要由AT89C51單片機(jī)、紅外發(fā)射二極管、矩陣鍵盤及遙控開關(guān)電路組成。該部分的結(jié)構(gòu)圖如圖1所示。
紅外遙控由發(fā)送和接收兩部分組成,發(fā)送端采用單片機(jī)將待發(fā)送的二進(jìn)制信號編碼調(diào)制為一系列的脈沖信號,通過紅外發(fā)射管發(fā)射紅外信號。紅外接收采用性能可靠的配套的一體化紅外接收頭接收紅外信號,它同時對信號進(jìn)行放大、檢波、整形,得到TTL電平的編碼信號,再送給單片機(jī),經(jīng)單片機(jī)解碼并進(jìn)行相關(guān)操作。
紅外線發(fā)射及接收控制電路均采用8051單片機(jī)來實現(xiàn),電路簡單,輸出控制方式可選擇,實用性強(qiáng)。圖2為發(fā)送與接收示意圖:
3.系統(tǒng)主要硬件設(shè)計
在本設(shè)計中,是以AT89C51單片機(jī)為核心的。AT89C51單片機(jī)是一款低功耗、低電壓、高性能CMOS 8位單片機(jī),其輸出引腳和指令系統(tǒng)都與MCS-51兼容。AT89C51是一種功能強(qiáng),靈活性高且價格合理的單片機(jī),可方便地應(yīng)用在各個控制領(lǐng)域。
3.1 紅外發(fā)射與接收裝置
這里采用紅外發(fā)光二極管如SE303·PH303,外形和發(fā)光二極管LED相似,發(fā)出紅外光(近紅外線約0.93um)。管壓降約1.4V,工作電流一般小于20mA.為了適應(yīng)不同的工作電壓,回路中常串有限流電阻。發(fā)射紅外線去控制相應(yīng)的受控裝置時,其控制的距離與發(fā)射功率成正比。為了增加紅外線的控制距離,紅外發(fā)光二極管工作于脈沖狀態(tài),因為脈動光,也就是調(diào)制光的有效傳送距離與脈沖的峰值電流成正比,只需盡量提高峰值電流,就能增加紅外光的發(fā)射距離。提高峰值電流的方法,就是減小脈沖占空比,即壓縮脈沖的寬度。減小脈沖占空比還可使小功率紅外發(fā)光二極管的發(fā)射距離大大增加。要使紅外發(fā)光二極管產(chǎn)生調(diào)制光,只需在驅(qū)動管上加一定頻率的脈沖電壓。
本設(shè)計采用紅外一體化接收頭HS0038.HS0038將遙控信號的接收、放大、檢波、整形集于一身,并且輸出可以讓單片機(jī)識別的TTL信號,這樣大大簡化了接收電路的復(fù)雜程度和電路的設(shè)計工作,方便使用。
3.2 紅外信號的編碼處理
3.2.1 紅外編碼
遙控器信息碼是由AT89C51單片機(jī)的定時器T1調(diào)制成38.5KHz紅外載波信號,不同的脈沖個數(shù)代表不同的操作碼信息,最少為兩個脈沖(采用兩個),其他信息碼的脈沖個數(shù)逐個遞增。為了使接收盡量可靠,第一位碼寬為3ms,其余為1ms,碼間距為1ms,遙控碼數(shù)據(jù)間隔大于10ms.遙控器上每個鍵都有唯一的一個鍵號,單片機(jī)通過查得按下鍵的鍵值發(fā)送約定個數(shù)的脈沖。
3.2.2 紅外接收信號的解碼
接收信號的解碼是根據(jù)紅外線接收器輸出脈沖幀的格式來進(jìn)行解碼的,即用累加器A分別對符合條件的負(fù)跳變脈沖進(jìn)行計數(shù)。當(dāng)紅外線接收器輸出脈沖幀數(shù)據(jù)時,第一位碼的低電平將啟動中斷程序,實時接收數(shù)據(jù)幀。在接收數(shù)據(jù)幀時,根據(jù)發(fā)射幀的格式將對第一位(起始)碼的碼寬進(jìn)行驗證。若第一位低電平碼的脈沖寬小于2ms,將作為錯誤碼處理。當(dāng)間隔位的高電平脈沖大于3ms時,結(jié)束接收,然后根據(jù)累加器A中的脈沖個數(shù),判斷鍵盤輸入六位密碼是否與設(shè)定密碼相同,從而控制繼電器開鎖與否。圖3為紅外線接收器輸出的一幀遙控碼波形圖。
3.2.3 通信接口電路
計算機(jī)與單片機(jī)之間的通訊是采用串口通信方式,串口通信是現(xiàn)階段PC串口和設(shè)備之間的最簡單也是應(yīng)用最廣泛的一種數(shù)據(jù)通信的方式。串口是計算機(jī)內(nèi)的通用設(shè)備通信的協(xié)議,采用RS-232接口標(biāo)準(zhǔn)就可以實現(xiàn)數(shù)據(jù)之間的傳輸,完成溫度數(shù)據(jù)和控制指令傳輸。
4.系統(tǒng)軟件設(shè)計
4.1 遙控發(fā)射部分程序設(shè)計
該部分主要分為主程序、按鍵掃描程序以及遙控編碼脈沖發(fā)射程序。主要是對定時器T1定時的方式的設(shè)定,計數(shù)器的初始化等。
4.2 上位機(jī)軟件設(shè)計
本文還設(shè)計了上位機(jī)軟件,來進(jìn)行人機(jī)交互,能夠拓展密碼鎖的在更廣的領(lǐng)域應(yīng)用。
本文采用LabVIEW圖形化編程語言,完成了控制平臺的設(shè)計。系統(tǒng)軟件采用模塊化的設(shè)計思想,LabVIEW程序通過串口通信電路讀取密碼鎖數(shù)據(jù),并對數(shù)據(jù)進(jìn)行相應(yīng)的分析處理。
4.2.1 用戶管理模塊
密碼鎖監(jiān)控系統(tǒng)的正常運行關(guān)系到整個密碼鎖系統(tǒng)的安全,只有授權(quán)用戶才能進(jìn)入系統(tǒng)進(jìn)行操作。每個授權(quán)用戶都有一個唯一的身份標(biāo)識,即用戶名,用戶憑密碼登錄系統(tǒng)。用戶根據(jù)權(quán)限可分為三類:管理員、普通用戶、測試用戶。測試用戶只能使用系統(tǒng)的部分功能;普通用戶可以使用系統(tǒng)全部功能;管理員用戶除了普通用戶的權(quán)限外,還可以管理其他用戶,包括增加用戶、修改用戶權(quán)限、刪除用戶等。
4.2.2 密碼鎖狀態(tài)與顯示模塊
密碼鎖狀態(tài)通過LabVIEW前面板在計算機(jī)顯示器上逐點顯示并連線,便可實時顯示被測密碼鎖。數(shù)據(jù)采集程序框圖如圖4所示。
數(shù)據(jù)存取模塊通過調(diào)用LabVIEW中的WriteCharacters To File,使子程序?qū)z測到的密碼鎖狀態(tài)值保存到Excel表格,方便用戶今后調(diào)出歷史密碼鎖狀態(tài)數(shù)值進(jìn)行查閱研究。
5.結(jié)束語
本設(shè)計是利用單片機(jī)芯片來控制一個紅外線遙控系統(tǒng),使其克服了傳統(tǒng)鎖那樣一定要將鑰匙插進(jìn)鎖里才能開啟的缺點,并具有遠(yuǎn)距離遙控開鎖功能。并建立上位機(jī)軟件來管理紅外遙控密碼鎖網(wǎng)絡(luò)的狀態(tài)。本方案中所設(shè)計的紅外遙控密碼鎖具有遙控開鎖、密碼修改、密碼錯誤報警等功能,并且具備保密性好、安全可靠、成本低廉等特點。經(jīng)測試,該紅外遙控密碼鎖具有較強(qiáng)的實用性。
評論