基于51單片機(jī)和nRF905的無(wú)線通信裝置的設(shè)計(jì)
摘要:文章設(shè)計(jì)了一種基于AT89S52單片機(jī)和nRF905的無(wú)線通信裝置。該裝置包含兩個(gè)完全相同的節(jié)點(diǎn)模塊,通過(guò)PC機(jī)上的客戶端軟件輸入需發(fā)送的文字信息,而接收到的文字信息會(huì)顯示在節(jié)點(diǎn)模塊自帶的液晶屏上。該裝置適用于小范圍的室內(nèi)無(wú)線點(diǎn)對(duì)點(diǎn)文字信息交換應(yīng)用。
關(guān)鍵詞:AT89S52;nRF905;無(wú)線通信
0 引言
隨著當(dāng)前網(wǎng)絡(luò)通信技術(shù)的高速發(fā)展,人們對(duì)各類場(chǎng)合下的無(wú)線通信的需求也隨之增高。在短距離低成本的無(wú)線通信的應(yīng)用中,基于51單片機(jī)以及Nordic公司的nRF905無(wú)線通信芯片的應(yīng)用方案被廣泛采用。比如,文獻(xiàn)設(shè)計(jì)了一種基于51單片機(jī)與nRF905收發(fā)器的無(wú)線智能控制交通燈,文獻(xiàn)設(shè)計(jì)了一種基于AT89S52和nRF905的無(wú)線遙控系統(tǒng)。
本文設(shè)計(jì)了一種基于AT89S52單片機(jī)和nRF905的無(wú)線通信裝置。該裝置適用于小范圍的室內(nèi)無(wú)線點(diǎn)對(duì)點(diǎn)文字信息交換應(yīng)用。
1 系統(tǒng)總體設(shè)計(jì)
本文設(shè)計(jì)的裝置是由發(fā)送和接收兩個(gè)完全相同的節(jié)點(diǎn)模塊構(gòu)成,圖1所示為系統(tǒng)示意圖。需發(fā)送的信息通過(guò)PC機(jī)上的客戶端軟件輸入,接收的信息顯示在節(jié)點(diǎn)模塊的液晶屏上。
節(jié)點(diǎn)模塊的主控芯片是ATMEL公司的AT89S52單片機(jī),具有高性能、低成本的特點(diǎn),十分適合本設(shè)計(jì)的應(yīng)用場(chǎng)合。節(jié)點(diǎn)模塊與PC上位機(jī)的通信采用RS232串口通信。
2 系統(tǒng)硬件設(shè)計(jì)
節(jié)點(diǎn)模塊的主控芯片選用AT89S52單片機(jī),其外圍電路有:RS232電平轉(zhuǎn)換電路、1602液晶顯示模塊、nRF905無(wú)線模塊以及蜂鳴器提示音電路等。節(jié)點(diǎn)模塊硬件框圖如圖2所示。
3 系統(tǒng)軟件設(shè)計(jì)
系統(tǒng)軟件的設(shè)計(jì)包括三個(gè)方面,一是PC上位機(jī)的客戶端軟件的設(shè)計(jì),二是單片機(jī)接收與發(fā)送的軟件設(shè)計(jì),三是nRF905驅(qū)動(dòng)程序設(shè)計(jì)。
3.1 PC上位機(jī)客戶端軟件設(shè)計(jì)
PC機(jī)客戶端軟件采用VC++6.0環(huán)境下的MSComm控件進(jìn)行串口通信的開(kāi)發(fā)。
為了解決輸入文字信息的不定長(zhǎng)所導(dǎo)致的單片機(jī)串行接收與無(wú)線發(fā)送帶來(lái)的問(wèn)題,本設(shè)計(jì)采用了對(duì)文字信息的空格填充的解決方案。即由客戶端軟件判別文字信息的長(zhǎng)度,不足32字節(jié)的信息由程序自動(dòng)填充空格。
發(fā)送按鈕響應(yīng)程序流程圖如下:
數(shù)字通信相關(guān)文章:數(shù)字通信原理
通信相關(guān)文章:通信原理
蜂鳴器相關(guān)文章:蜂鳴器原理
評(píng)論