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