基于AT89S52的數(shù)據(jù)通信終端設(shè)計(jì)
摘要:目前,以單片機(jī)為核心的應(yīng)用技術(shù)越來(lái)越廣。文中基于AT89S52單片機(jī)控制技術(shù),設(shè)計(jì)了一個(gè)數(shù)據(jù)通信終端,對(duì)其系統(tǒng)的原理、構(gòu)成和技術(shù)特點(diǎn)進(jìn)行介紹。達(dá)到可以實(shí)時(shí)、穩(wěn)定傳輸數(shù)據(jù)的預(yù)期,在無(wú)線遙控方面有一定的應(yīng)用。
本文引用地址:http://www.ex-cimer.com/article/235599.htm隨著計(jì)算機(jī)技術(shù)尤其是單片微型機(jī)技術(shù)的發(fā)展,人們已越來(lái)越多的采用單片機(jī)來(lái)對(duì)一些工業(yè)控制系統(tǒng)中如溫度、流量和壓力等參數(shù)進(jìn)行檢測(cè)和控制。這種方便簡(jiǎn)單的操作,能方便人們的生活工作,具有非常重要的現(xiàn)實(shí)意義。
近年來(lái),通信技術(shù)發(fā)展迅猛,給人們工作、生活帶來(lái)極大的便利。隨著數(shù)據(jù)通信業(yè)務(wù)需求的發(fā)展,對(duì)數(shù)據(jù)傳輸提出了更高的要求。針對(duì)通信數(shù)據(jù)終端傳輸要求,基于AT89S52單片機(jī)設(shè)計(jì)了一個(gè)無(wú)線傳輸系統(tǒng)。
1 系統(tǒng)總體設(shè)計(jì)
AT89S52單片機(jī)功耗低,采用高性能的CMOS技術(shù)制成的8位單片機(jī),有8K的存儲(chǔ)空間。采用先進(jìn)的高密度和非易失性存儲(chǔ)技術(shù),對(duì)通用的單片機(jī)指令系統(tǒng)和引腳分布都兼容,這樣更加完善了芯片的功能和豐富了它的靈活應(yīng)用,在嵌入式控制系統(tǒng)中有著廣泛的應(yīng)用前景。
NRF24L01芯片它的工作頻率是在2.4到2.5 GHz,ISM頻段的單片機(jī)無(wú)線收發(fā)器芯片,它由頻率發(fā)生器,模式控制器,功率放大器,晶體振蕩器,調(diào)制器,解調(diào)器這幾個(gè)部分組成。在電流很低的時(shí)候,發(fā)射功率為-6DBM它的消耗電流時(shí)9 mA,接收電流為12.3 mA,在待機(jī)模式或者停電模式下它的消耗更低。
以AT89S52單片機(jī)為核心,在輸入模塊用的是物理按鍵進(jìn)行數(shù)據(jù)的輸入,并通過(guò)數(shù)碼管顯示。顯示模塊是用的是四位共陽(yáng)數(shù)碼管,發(fā)送接收模塊用的是NRF2041無(wú)線發(fā)送接收芯片。采用HT7133A作為穩(wěn)壓芯片。以單片機(jī)AT89S52為控制核心的數(shù)據(jù)通信終端主要包括以下幾大模塊:1)輸入模塊;2)顯示模塊;3)發(fā)送模塊;4)接收模塊。系統(tǒng)設(shè)計(jì)框圖如圖1所示。
2 硬件設(shè)計(jì)及實(shí)現(xiàn)
Protel2004 DXP是Altium公司基于Prote199SE基礎(chǔ),于2004年推出的新版本的電路設(shè)計(jì)軟件,該軟件具備從概念設(shè)計(jì),頂層設(shè)計(jì)直到輸出生產(chǎn)數(shù)據(jù)以及這之間的所有分析驗(yàn)證和設(shè)計(jì)數(shù)據(jù)的管理功能。
該數(shù)據(jù)通信終端分為發(fā)送模塊和接收模塊兩個(gè)部分,兩個(gè)模塊電路相似。以發(fā)送電路為例,基于Protel2004 DXP設(shè)計(jì)的電路原理圖如圖2所示。
在發(fā)送數(shù)據(jù)是把它設(shè)置成發(fā)送模式,然后把節(jié)點(diǎn)地址和有效數(shù)據(jù),按照時(shí)鐘順序?qū)懭霟o(wú)線發(fā)送模塊的緩存區(qū)域,有效數(shù)據(jù)應(yīng)該在CSN為低電平時(shí)連續(xù)寫(xiě)入,節(jié)點(diǎn)地址在發(fā)送時(shí)寫(xiě)一次就行,接著CE管腳保持10μs高電平并延遲130μs后發(fā)射數(shù)據(jù);如果開(kāi)啟了自動(dòng)應(yīng)答,則nRF24L01在發(fā)射數(shù)據(jù)后隨即開(kāi)始準(zhǔn)備接收信號(hào),自動(dòng)應(yīng)答接收地址應(yīng)該與接收節(jié)點(diǎn)地址TX_ADDR一致。如果發(fā)送信號(hào)得到回應(yīng),那么可以得出通信成功,TX_DS置高,同時(shí)TX_PLD從TX FIFO中清除;如果沒(méi)有收到回復(fù),那么自動(dòng)重新發(fā)送,若重復(fù)發(fā)送數(shù)據(jù)達(dá)到最大值,MAX_RT置高,TX FIFO中數(shù)據(jù)保留以便再次重發(fā);MAX_RT或TX_DS置高時(shí),IRQ為低電平,產(chǎn)生中斷,報(bào)告MCU。最終成功發(fā)送時(shí),如果CE為低電平則nRF24L01為空閑狀態(tài)1;如果發(fā)送存儲(chǔ)器中還有數(shù)據(jù),那么進(jìn)入下一輪發(fā)送模式。
在接收端,同樣要將nRF24L01設(shè)為接收模式,然后在延遲130μs后開(kāi)始進(jìn)入接收狀態(tài)。當(dāng)接收方檢測(cè)到有數(shù)據(jù)來(lái)時(shí),就將數(shù)據(jù)存儲(chǔ)在RXFIFO,此時(shí)標(biāo)志位中斷,IRQ變低,產(chǎn)生中斷,此時(shí)MCU讀取數(shù)據(jù),如果開(kāi)啟了自動(dòng)應(yīng)答模式,接收方則自動(dòng)進(jìn)入應(yīng)答狀態(tài)。
3 軟件設(shè)計(jì)與實(shí)現(xiàn)
3.1 軟件設(shè)計(jì)
軟件設(shè)計(jì)主要基于Keil c51 uVision4 C語(yǔ)言單片機(jī)開(kāi)發(fā)環(huán)境,是現(xiàn)階段使用最廣泛,也最容易操作學(xué)習(xí)的軟件,基于80C51單片內(nèi)核的處理軟件平臺(tái)來(lái)進(jìn)行的開(kāi)發(fā),包含多種工業(yè)標(biāo)準(zhǔn)的開(kāi)發(fā)工具,可以完成項(xiàng)目的管理,建立編譯、鏈接、對(duì)象代碼生成,軟件和硬件模擬完整的開(kāi)發(fā)過(guò)程,特別是C編譯器生成的代碼工具的準(zhǔn)確性和效率達(dá)到了更高的水平,在發(fā)展大型的項(xiàng)目非常理想。
STC-ISP是一款單片機(jī)下載編程燒錄軟件,是專門(mén)為STC系列單片機(jī)設(shè)計(jì)的,它適用于STC89系列、12C2052系列和12C5410等系列的STC單片機(jī),使用簡(jiǎn)便,被廣泛的使用。
基于以上兩個(gè)軟件,所設(shè)計(jì)的數(shù)據(jù)傳輸系統(tǒng)流程圖如圖3所示。
3.2 部分代碼
程序設(shè)計(jì)主要包含無(wú)線發(fā)送和接收兩部分,以無(wú)線發(fā)送為例,部分代碼如下:
4 結(jié)束語(yǔ)
基于AT89S52單片機(jī)數(shù)據(jù)通信終端系統(tǒng)設(shè)計(jì)完成后,將程序編譯生成的文件寫(xiě)入單片機(jī),并對(duì)系統(tǒng)的運(yùn)行狀況進(jìn)行觀察,實(shí)驗(yàn)表明:本系統(tǒng)具有性能穩(wěn)定、操作簡(jiǎn)單、性價(jià)比好的特點(diǎn),很好的實(shí)現(xiàn)了通信終端數(shù)據(jù)無(wú)線傳輸?shù)囊?。其穩(wěn)定性好,價(jià)格低廉且電路結(jié)構(gòu)簡(jiǎn)單,適用于智能電子玩具、機(jī)器人等近距離無(wú)線傳輸,具有較好的實(shí)用價(jià)值。
數(shù)字通信相關(guān)文章:數(shù)字通信原理
通信相關(guān)文章:通信原理
評(píng)論