<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          新聞中心

          EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計應(yīng)用 > 基于單片機的紅外遙控密碼鎖方案設(shè)計與實現(xiàn)

          基于單片機的紅外遙控密碼鎖方案設(shè)計與實現(xiàn)

          作者: 時間:2012-03-21 來源:網(wǎng)絡(luò) 收藏

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

          本文引用地址:http://www.ex-cimer.com/article/171814.htm

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

           2.1.6 報警電路設(shè)計

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

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

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

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

            本系統(tǒng)有遙控處理和本機處理兩種工作狀態(tài),兩種工作狀態(tài)相互獨立。通過自鎖開關(guān)K可以選擇當(dāng)前工作狀態(tài),當(dāng)K閉合時選擇本機處理,斷開時選擇遙控處理。遙控處理部分只有開鎖功能,所以設(shè)計相對簡單,而本機處理部分可以開鎖、設(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ù),具體是這樣的:當(dāng)單片機檢測到第一個低電平,則定時計數(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è)置了很多功能模塊子程序,是大量的功能在子程序中的主流程,如圖5所示?!?/span>

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

              圖5 主流程圖

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


            4 結(jié)論

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

          蜂鳴器相關(guān)文章:蜂鳴器原理

          上一頁 1 2 下一頁

          評論


          相關(guān)推薦

          技術(shù)專區(qū)

          關(guān)閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();