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