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

          關(guān) 閉

          新聞中心

          EEPW首頁(yè) > 安全與國(guó)防 > 設(shè)計(jì)應(yīng)用 > 無(wú)線可視對(duì)講門(mén)禁圖像通信的設(shè)計(jì)與實(shí)現(xiàn)

          無(wú)線可視對(duì)講門(mén)禁圖像通信的設(shè)計(jì)與實(shí)現(xiàn)

          作者: 時(shí)間:2011-02-23 來(lái)源:網(wǎng)絡(luò) 收藏
           

            2.2 分控制器的電路設(shè)計(jì)

            分控制器也采用AT89C51單片機(jī)作為微處理器,分控制器系統(tǒng)的外圍接口電路由晶振、LCD顯示電路、按鍵開(kāi)鎖電路、看門(mén)狗電路、接口電路、存儲(chǔ)器等組成。分控制器系統(tǒng)的硬件電路?! ?

            它的工作過(guò)程是:初始化其接收波特率,并一直處于信息監(jiān)測(cè)狀態(tài),當(dāng)收到地址幀時(shí),就與本身的地址相對(duì)比,若不同,則丟棄此幀數(shù)據(jù)繼續(xù)檢測(cè)。若相同,則讀取AT24C02芯片存儲(chǔ)的樂(lè)曲編碼,通過(guò)P2.1口來(lái)控制喇叭發(fā)出樂(lè)曲音,從而告訴用戶,有訪客請(qǐng)求進(jìn)入樓宇。當(dāng)用戶按下鍵盤(pán)上的接聽(tīng)鍵時(shí),單片機(jī)會(huì)把從無(wú)線數(shù)字傳輸模塊接收過(guò)來(lái)的數(shù)據(jù)送P0口進(jìn)行液晶顯示。房主看到液晶上的時(shí),若認(rèn)識(shí)訪客,則按鍵開(kāi)鎖;若不認(rèn)識(shí)訪客,則按掛機(jī)鍵,結(jié)束視頻通話。視頻顯示電路的主要工作芯片為T(mén)FT6448B。TFT6448B自帶數(shù)據(jù)鎖存器,不需要擴(kuò)展鎖存芯片,在選中TFT6448B后,通過(guò)往TFT6448B的相應(yīng)行、列、控制、數(shù)據(jù)寄存器中寫(xiě)入數(shù)據(jù),即可實(shí)現(xiàn)單片機(jī)AT89C51對(duì)TFT6448B的控制顯示。

          3 軟件設(shè)計(jì)

            主機(jī)由AT89C51單片機(jī)充當(dāng),從機(jī)為AT89C51單片機(jī)。主機(jī)與從機(jī)的數(shù)據(jù)波特率定為9 600 B,每個(gè)從機(jī)都有惟一的地址號(hào),用來(lái)區(qū)分各從機(jī)。單片機(jī)的數(shù)據(jù)由串口完成,定時(shí)器T1為波特發(fā)生器,數(shù)據(jù)傳送格式為1位起始位,8位數(shù)據(jù)位,1位停止位,1位可編程位(T-B8)。工作方式:將定時(shí)器T1設(shè)置為方式2,串口設(shè)置為工作方式3。

            該系統(tǒng)的通信協(xié)議是:所有從機(jī)的SM2位置1,處于接收地址幀狀態(tài),主機(jī)發(fā)送一地址幀,其中第8位是地址,第9位是地址/數(shù)據(jù)的區(qū)分標(biāo)志,該位置1表示該幀為地址幀。所有從機(jī)接收到地址幀后,都將接收的地址與本機(jī)的地址比較,對(duì)于地址相符的從機(jī),使自己的SM2位置O,并把本機(jī)地址發(fā)回主機(jī)作為應(yīng)答;對(duì)于地址不符的從機(jī),仍保持SM2=1,對(duì)主機(jī)后發(fā)來(lái)的數(shù)據(jù)幀不予理睬。從機(jī)發(fā)送數(shù)據(jù)結(jié)束后,要發(fā)送一幀校驗(yàn)和,并置第9位為1,作為從機(jī)數(shù)據(jù)傳送結(jié)束的標(biāo)志。主機(jī)接收數(shù)據(jù)時(shí),先判斷數(shù)據(jù)接收標(biāo)志RB8。若RB8=1,表示數(shù)據(jù)傳送結(jié)束,并比較此幀校驗(yàn)和,若正確,則回送正確信號(hào)00H,命令該從機(jī)復(fù)位;若出錯(cuò),則發(fā)送信號(hào)OFFH,命令該從機(jī)重發(fā)數(shù)據(jù)。若接收幀RB8=0,則將數(shù)據(jù)存到緩沖區(qū),并準(zhǔn)備接受下一幀信息。主機(jī)接收到從機(jī)的應(yīng)答地址后,確認(rèn)地址是否相符,如果地址不符,則發(fā)復(fù)位信號(hào);如果地址相符,則清TB8=0,開(kāi)始發(fā)送數(shù)據(jù)。從機(jī)收到復(fù)位命令后回到監(jiān)聽(tīng)地址狀態(tài),否則開(kāi)始接受數(shù)據(jù)和命令。

          4 系統(tǒng)仿真

            在Proteus的ISIS 7.1sp2軟件環(huán)境下畫(huà)出電路原理圖,接下來(lái)就是將設(shè)計(jì)的程序在Keil C51μVision2開(kāi)發(fā)集成環(huán)境上編譯成機(jī)器語(yǔ)言,進(jìn)入Proteus的ISIS,鼠標(biāo)左鍵點(diǎn)擊菜單“Debug”,選中“use romote debuger monitor”,便可實(shí)現(xiàn)KeilC與Proteus的連接調(diào)試。首先在Proteus中雙擊單片機(jī)AT89C51,將KeilC下編程生成的.HEX文件導(dǎo)入到AT89C51中,可在Proteus中單擊全速仿真運(yùn)行按鈕,進(jìn)行現(xiàn)象查看,能清楚地觀察到芯片上每一個(gè)引腳的電平變化,紅色代表高電平,藍(lán)色代表低電平;如果現(xiàn)象不正確,則在KeilC中單步調(diào)試程序,并在Proteus觀察現(xiàn)象,哪一步不正確,則對(duì)該段的程序進(jìn)行修改,調(diào)試直到仿真完全成功為止。

            依次按下掃描鍵盤(pán)上的3個(gè)按鈕,待3個(gè)按鈕全部輸入后,會(huì)在數(shù)碼管上顯示剛才所按的數(shù)據(jù),按照按下的順序顯示數(shù)字,該數(shù)字表示要訪問(wèn)的房間號(hào)碼,如504表示要訪問(wèn)504房間的主人。

            在Proteus里用LM4229代替設(shè)計(jì)中的TFT6448B芯片。仿真的目:用來(lái)獲得顯示的編碼方式和液晶的單色位圖顯示功能。LM4229通過(guò)CDWRITE READ三個(gè)引腳的電平來(lái)確定是讀數(shù)據(jù)還是讀狀態(tài),或者是寫(xiě)數(shù)據(jù)還是寫(xiě)命令。其數(shù)據(jù)引腳為8位,可以與單片機(jī)進(jìn)行直接的數(shù)據(jù)交換,P2口為液晶顯示的控制端?! ?

          5 結(jié)語(yǔ)

            該可視對(duì)沖電路采用了以單片機(jī)AT89C51為核心,以SRWF-1,CAMERA OV 7620,IDT7205等為外圍芯片的設(shè)計(jì)。文中給出了硬件電路圖及主程序流程圖,闡述了軟硬件設(shè)計(jì)過(guò)程中對(duì)關(guān)鍵技術(shù)的處理。該電路完全可以滿足圖像信號(hào)的連續(xù)采集,無(wú)線傳輸圖像信號(hào),顯示單色位圖,振鈴呼叫的樓宇電路的實(shí)用要求。本文的創(chuàng)新點(diǎn)在于把低速單片機(jī)應(yīng)用于數(shù)據(jù)量大的圖像信號(hào)采集和圖像短距離無(wú)線傳輸上。在設(shè)計(jì)中,圖像信號(hào)的實(shí)時(shí)性處理將成為以后需要努力研究的方向。



          上一頁(yè) 1 2 下一頁(yè)

          評(píng)論


          相關(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); })();