《電子技術(shù)應(yīng)用》
您所在的位置:首頁 > 嵌入式技術(shù) > 設(shè)計應(yīng)用 > 基于單片機AT89C51RC的紅外遙控密碼鎖的設(shè)計與實現(xiàn)
基于單片機AT89C51RC的紅外遙控密碼鎖的設(shè)計與實現(xiàn)
摘要: 根據(jù)用戶的要求和需要,,主要為了解決當前市場上無遙控密碼鎖的問題,以提高門禁系統(tǒng)的可靠性和安全性,,適應(yīng)市場需要而設(shè)計的該紅外紅外遙控密碼鎖系統(tǒng),。該系統(tǒng)具有普通電子密碼鎖功能的同時,,還增加了遙控功能。該鎖采用6位數(shù)作為密碼,,總密碼組有106組,,完全滿足用戶對密碼安全性高的要求。該系統(tǒng)具有較強的實際應(yīng)用價值,,所涉及的技術(shù)包括:紅外載波數(shù)據(jù)傳輸技術(shù),、單片機控制技術(shù),、紅外遙控系統(tǒng)編碼及譯碼技術(shù)、電路設(shè)計與演示板制作技術(shù)等,。
Abstract:
Key words :

     1 引言

  根據(jù)用戶的要求和需要,,主要為了解決當前市場上無遙控密碼鎖的問題,以提高門禁系統(tǒng)的可靠性和安全性,,適應(yīng)市場需要而設(shè)計的該紅外紅外遙控密碼鎖系統(tǒng),。該系統(tǒng)具有普通電子密碼鎖功能的同時,還增加了遙控功能,。該鎖采用6位數(shù)作為密碼,,總密碼組有106組,完全滿足用戶對密碼安全性高的要求,。該系統(tǒng)具有較強的實際應(yīng)用價值,,所涉及的技術(shù)包括:紅外載波數(shù)據(jù)傳輸技術(shù)、單片機控制技術(shù),、紅外遙控系統(tǒng)編碼及譯碼技術(shù),、電路設(shè)計與演示板制作技術(shù)等。

  2 系統(tǒng)硬件設(shè)計與實現(xiàn)(單元電路設(shè)計)

  2.1 硬件結(jié)構(gòu)圖:

  系統(tǒng)以單片機AT89C51RC為核心,。系統(tǒng)結(jié)構(gòu)框圖如圖1所示,。本系統(tǒng)的功能設(shè)計目標應(yīng)該包括以下幾個方面:紅外發(fā)射功能模塊,紅外線接收轉(zhuǎn)換模塊,、單片機模塊,、蜂鳴器報警功能模塊、LED數(shù)碼管顯示模塊,、按鍵功能模塊,,開鎖功能模塊等。下面詳細介紹一下各單元的硬件電路和實現(xiàn)的功能,?!?/p>

  

   圖1 紅外遙控密碼鎖硬件結(jié)構(gòu)圖

  2.1.1電源部分設(shè)計

  本系統(tǒng)的電源部分使用LM7805芯片進行穩(wěn)壓后提供單片機5V的電壓。其電源部分電路的設(shè)計如圖2所示,。

  紅外遙控密碼鎖的設(shè)計與實現(xiàn)

  圖2 紅外遙控密碼電源部分的電路原理圖

  該電源部分電路,,使用四個1N4004二極管構(gòu)成整流橋,可以輸入直流或是交流9V電源,,然后再通過7805穩(wěn)定到5V供單片機工作,。固定式三端穩(wěn)壓電源7805是由輸出腳Vo,輸入腳Vi和接地腳GND組成,,它的穩(wěn)壓值為+5V,,它屬于LM78XX系列的穩(wěn)壓器,輸入端接電容可以進一步的濾波,輸出端也要接電容可以改善負載的瞬間影響,,電路的穩(wěn)定性也比較好,。 2.1.2 紅外接收頭部分和LED顯示部分設(shè)計

  紅外信號接收部分是使用KS38BL紅外接收頭實現(xiàn)的,,其電路如圖3所示?!D3是紅外線遙控器信號接收頭的簡易電路,,它可接收載波頻率從33~57KHz的遙控器信號。100Ω電阻起到限流的作用,,470uF電容濾波減少干擾,。以邏輯筆接觸紅外線接收模塊的信號輸出端(OUT),便可以偵測當按下紅外線遙控器某一按鍵時,,紅外線數(shù)字信號的發(fā)射,。若有發(fā)射紅外線數(shù)字信號則經(jīng)過紅外線接收模塊取出數(shù)字信號數(shù)據(jù),邏輯筆脈沖LED便會閃動,。這樣可以檢測到當前有沒有紅外信號發(fā)射最簡單的方法,。

  紅外遙控密碼鎖的設(shè)計與實現(xiàn)

  圖3 紅外線接受部分

  如圖4所示,系統(tǒng)的顯示是使用MAX7219實現(xiàn)的8位穩(wěn)定靜態(tài)顯示,,MAX7219是串行共陰極數(shù)碼管動態(tài)掃描顯示驅(qū)動芯片,,僅使用3線串行接口傳送數(shù)據(jù),可直接與單片機接口,,用戶還可以方便地修改其內(nèi)部參數(shù)以實現(xiàn)多位LED顯示,,因此可以方便地使用單片機的串口送出顯示數(shù)據(jù),并且其占用的時間少,,方便編程及對信號的檢測,。

  紅外遙控密碼鎖的設(shè)計與實現(xiàn)

  圖4 利用MAX7219設(shè)計顯示部分

  2.1.5密碼存儲部分的電路設(shè)計

  為了保存用戶設(shè)置的密碼,該系統(tǒng)使用AT24C04用來保存用戶設(shè)置的密碼,,單片機AT89C51RC的P3.6接AT24C04的SCLK口作為它的串行移位時鐘,,AT89C51RC的P3.7接AT24C04的SDA口作為它的串行數(shù)據(jù)或地址輸入輸出。該電路要注意的是SCLK,、SDA必須加上一上接電阻,,阻值為10K。用戶設(shè)置的密碼存放在AT24C04中,,當需要更改或讀取用戶密碼時,,只需對AT24C04里的數(shù)據(jù)更改或讀取。由于主芯片AT89C51RC沒有I2C總線,,故本系統(tǒng)采用軟件程序模擬I2C總線時序來完成AT89S51來與AT24C04的連接,。

 2.1.6 報警電路設(shè)計

  本系統(tǒng)設(shè)計時考慮到防盜而設(shè)計了報警電路,由蜂鳴器發(fā)聲進行報警,,蜂鳴器接在CPU的引腳P0.4上,,通過PNP型三極管做電流放大,,因此可以通過單片機控制蜂鳴器的頻率及蜂鳴時間。當輸入錯誤的密碼進行開鎖時,,系統(tǒng)會報警,,由P0.4口輸出低電平使得PNP型三極管導(dǎo)通,蜂鳴器兩端加電,,由蜂鳴器發(fā)出1秒的報警聲,,當連續(xù)三次出現(xiàn)密碼錯誤時,則系統(tǒng)會長時間報警,,此舉為了防止別人非法試探開鎖,。

  2.1.7 本機處理與遙控處理功能選擇電路設(shè)計

  本系統(tǒng)設(shè)計了一個自鎖按鍵用來選擇本機處理或者遙控處理,在設(shè)置密碼時一定要處于本機處理狀態(tài)下,,而開鎖則可以選擇遙控開鎖也可以選擇本機開鎖,,當此按鍵按下時,紅燈亮表示選擇了本機處理,,此時可以設(shè)置密碼,,修改密碼,也可以本機開鎖,,而不能遙控開鎖,;當此開關(guān)開沒按下時,紅燈滅選擇遙控開鎖,,此時可以通過遙控器輸入密碼進行開鎖,,在遙控開鎖時不能進行本機開鎖以及設(shè)置密碼。

  3 系統(tǒng)軟件設(shè)計

  本系統(tǒng)有遙控處理和本機處理兩種工作狀態(tài),,兩種工作狀態(tài)相互獨立,。通過自鎖開關(guān)K可以選擇當前工作狀態(tài),當K閉合時選擇本機處理,斷開時選擇遙控處理,。遙控處理部分只有開鎖功能,,所以設(shè)計相對簡單,而本機處理部分可以實現(xiàn)開鎖,、設(shè)置和修改密碼等所有的功能,。

  要完成本系統(tǒng)功能,首先要需要解決對紅外信號的譯碼問題,,并在存儲式示波儀上觀察其具體波形,,這就要要求了解其編碼規(guī)則。一般的編碼發(fā)射的一幀碼含有一個引導(dǎo)碼,,用戶碼和鍵數(shù)據(jù)碼,。引導(dǎo)碼由一個較長的載波波形和一段關(guān)斷時間構(gòu)成,它作為隨后發(fā)射的碼的引導(dǎo)。用戶碼和鍵數(shù)據(jù)碼是由邏輯“0”和邏輯“1”組成的具有規(guī)定長度的字符串,。

邏輯“0”和邏輯“1”是用高低電平的不同組合來表示的,,那么可以用單片機的兩個定時計數(shù)器,對其高低電平進行計數(shù),,具體是這樣的:當單片機檢測到第一個低電平,,則定時計數(shù)器T0立即開始計數(shù),等到檢測到高電平出現(xiàn),,T0停止計數(shù),,T1又立即開始計數(shù),在T1計數(shù)的同時,,對T0的計數(shù)保存,再次出現(xiàn)低電平,,T1停止計數(shù),,T0又開始計數(shù),在T0計數(shù)的同時保存T1的計數(shù),,這樣就有了一組低和高的組合,,通過判斷這個組合屬于哪個范圍即可譯碼“0”或者“1”,如此循環(huán),,直到譯出所有的位,。這樣我們就可以根據(jù)譯碼所得的值命令單片機系統(tǒng)去完成相應(yīng)的操作。要注意的是:只有鍵數(shù)據(jù)碼參與解碼,,客戶碼是事先(由某公司或個人)規(guī)定好了的,。

  軟件部分的設(shè)計基于匯編語言,采用模塊化設(shè)計思想,。以主程序為核心設(shè)置了很多功能模塊子程序,,是大量的功能在子程序中實現(xiàn)的主流程,如圖5所示,?!?/p>

  紅外遙控密碼鎖的設(shè)計與實現(xiàn)

    圖5 主流程圖

  軟件工作流程包括6個部分:系統(tǒng)的初始化、AT24C04的讀寫操作,、校對開鎖,、出錯報警處理、對接收的信號進行譯碼,。初始化主要包括: MAX7219芯片,、中斷和定時器的初始化,以及系統(tǒng)參數(shù)等的初始化,;對AT24C04的讀寫操作主要完成對原先密碼進行更改或相關(guān)設(shè)置的目的,,然后將更新后的密碼保存到其中。校對開鎖是要對輸入的密碼和保存在存儲器中的密碼相比較,相同著通過,,否則要進入出錯報警階段,。出錯報警主要處理輸入的密碼和保存在AT24C04中密碼不同時要進行報警1秒鐘,如果報警后再次輸入密碼后再次報警達到3次,,即3次都輸入的是錯誤密碼,,那么系統(tǒng)將長時間報警并自鎖一個小時。譯碼部分主要完成在遙控處理狀態(tài)下對遙控器所發(fā)出的信號進行解碼,,以得到相應(yīng)到完成相應(yīng)功能的碼值,。

  4 結(jié)論

  本文的創(chuàng)新點在于本系統(tǒng)除了具有傳統(tǒng)的固定鍵盤式電子密碼鎖系統(tǒng)的功能外,也就是將操作鍵盤固定在鎖具的面板上,,還增加了用遙控遠端控制的功能,,因此給人們帶來很多便利,這一點也正是作者開發(fā)和設(shè)計此系統(tǒng)的根本原因,。在本系統(tǒng)中,,與以往的利用74LS164芯片驅(qū)動數(shù)碼管的顯示不同,在本系統(tǒng)中采用了更加強大的多功能串行LED顯示驅(qū)動器MAX7219來實現(xiàn)8位穩(wěn)定的靜態(tài)顯示,只需要單片機的三個引腳即可,,可以更加方便地使用單片機的串口送出顯示數(shù)據(jù),,并且其占用的時間少,方便編程及對信號的檢測,,與此同時本系統(tǒng)所設(shè)計的電源部分和解碼譯碼部分經(jīng)過反復(fù)的測試,,證明了電路有極高的穩(wěn)定性和譯碼準確性、高效性,。

此內(nèi)容為AET網(wǎng)站原創(chuàng),,未經(jīng)授權(quán)禁止轉(zhuǎn)載。