一種基于單片機的無線呼叫系統(tǒng)設計
3 系統(tǒng)的軟件設計
系統(tǒng)軟件選用德國Keil公司推出的Cx51編譯器,在nVision 2集成開發(fā)環(huán)境下完成從源程序編輯、編譯調試,直到生成最終可執(zhí)行文件代碼的全部過程。該系統(tǒng)的重點是控制nRF905的程序設計。首先應對nRF905進行初始配置,配置完成后按需要編寫用戶數據的發(fā)送和接收程序。
3.1 初始化配置
初始化配置分為以下3個部分:
?。?)編寫SPIWRITE和SPIREAD子函數,即通過軟件為單片機配置SPI功能。
(2)初始化nRF905的射頻配置寄存器。這些寄存器中有很多信息,必須根據實際情況進行配置。設計中nRF905外接16 MHz晶體,XOF應配置為01,PA2PWB為發(fā)射功率,RX2 RED2 PWB為接收靈敏度,可根據需要配置。另外還有發(fā)送地址、接收地址、發(fā)送數據和接收數據的長度,可根據實際應用配置。
?。?)配置nRF905的發(fā)送地址,最多4 B發(fā)送端的發(fā)送地址應與接收端設備的接收地址相同。在實際工作中,nRF905可以自動濾除地址不相同的數據,只有地址匹配且校驗正確的數據才會被接收,并存儲在接收數據寄存器中。
3.2 發(fā)送數據
nRF905發(fā)送數據前,通過條用SPI寫函數,在待機模式下先把待發(fā)數據填進發(fā)送數據寄存器。然后把nRF905的TRX_CE、TX_EN引腳都置為高電平,數據就會自動通過天線發(fā)送出去。為了數據可靠地傳輸,將射頻配置寄存器中的自動重發(fā)位(AUTO_RE_TRAN)設為有效,這樣在TRX_ CE被置高的時間內數據一直在重復不斷的發(fā)送。程序中設計延時500 ms,之后拉低TRX_CE引腳,回到待機模式。
3.3 接收數據
STC89C52RC把nRF905的TRX_CE引腳置為高電平,TX_EN引腳置為低電平后,即開始接收數據。在設計中可設定在一定的時間內一直判斷nRF905的DR引腳是否變高,若為高,則證明接收到了有效數據,可以退出接收模式;若一直沒有接收到,待時間到也退出接收模式。退出后在待機模式,CPU把nRF905內部的接收數據寄存器中的數據讀出,即接收到的有效數據。
3.4 主程序設計
在該系統(tǒng)中,主程序包括兩部分:第一部分是主機(單片機)部分,通過無線模塊接收下位機(呼叫器)的信息。程序流程圖如圖5所示;第二部分是下位機(呼叫器)部分,響應客戶的呼叫,并通過無線模塊將信息傳送至主機(單片機)。程序流程圖如圖6所示。
4 結語
該呼叫系統(tǒng)運行穩(wěn)定可靠,并運用無線射頻控制技術,通過軟件更新可迅速增容,根據企業(yè)的規(guī)模隨時更新軟件,保證系統(tǒng)有最優(yōu)的服務質量。該系統(tǒng)的運用,降低了運行維護費用、節(jié)約管理成本,具有較大的經濟效益。
評論