基于51單片機(jī)和nRF905的無線通信裝置的設(shè)計
3.2 單片機(jī)端程序設(shè)計
單片機(jī)端的程序設(shè)計主要包括主程序和串口中斷服務(wù)子程序的設(shè)計,在主程序中循環(huán)檢測發(fā)送標(biāo)志位和接收就緒標(biāo)志位,一旦滿足相應(yīng)標(biāo)志位條件,便跳入執(zhí)行相應(yīng)的發(fā)送與接收程序。
為了實現(xiàn)裝置的雙向通信,無線發(fā)送采用中斷的方式,信息數(shù)據(jù)由上位機(jī)通過串口發(fā)送至單片機(jī)。單片機(jī)通過在中斷子程序中接收數(shù)據(jù),當(dāng)接收緩沖區(qū)的字符為32字節(jié)時,置位發(fā)送標(biāo)志位。主程序中一旦檢測到該發(fā)送標(biāo)志位,則調(diào)用發(fā)送程序?qū)⑿畔?shù)據(jù)通過無線模塊發(fā)送出去。
無線數(shù)據(jù)韻接收采用查詢方式,當(dāng)有接收到的數(shù)據(jù)時,nRF905將DR引腳信號疊高電平。由單片機(jī)循環(huán)檢測nRF905無線模塊的DR引腳,從而判斷是否收到信息。
3.2.1 單片機(jī)主程序設(shè)計
單片機(jī)主程序主要包含發(fā)送和接收兩部分,都采用標(biāo)志位查詢的方式作為進(jìn)入的條件。單片機(jī)主程序流程圖如圖4所示。本文引用地址:http://www.ex-cimer.com/article/170560.htm
3.2.2 單片機(jī)中斷服務(wù)子程序設(shè)計
單片機(jī)中斷服務(wù)子程序主要完成上位機(jī)發(fā)送的數(shù)據(jù)接收功能,當(dāng)接收的數(shù)據(jù)滿足32字節(jié)的條件時,設(shè)置發(fā)送就緒標(biāo)志位。中斷服務(wù)子程序的流程圖如圖5所示。
數(shù)字通信相關(guān)文章:數(shù)字通信原理
通信相關(guān)文章:通信原理
蜂鳴器相關(guān)文章:蜂鳴器原理
評論