基于nRF24L01的礦用搜救器設計
主控制器程序
本文引用地址:http://www.ex-cimer.com/article/109188.htm主控制器程序完成STM32F103VE初始化、OLED顯示屏初始化、nRF24L01初始化,nRF24L01數(shù)據(jù)處理,紅外數(shù)據(jù)數(shù)據(jù)處理和顯示內(nèi)容更新等工作。其中nRF24L01數(shù)據(jù)接收,紅外數(shù)據(jù)交換,按鍵鍵碼的獲取是通過中斷方式完成的。
觸摸按鍵檢測程序
鍵值判斷程序包括主程序和中斷服務程序。單片機上電后進入主程序先完成初始化工作(包括I/O端口、定時器、電容傳感模塊和USART的設置),然后開全局中斷,依次查詢按鍵標記(KeyFlag)的值,如果按鍵標記置位(KeyFlag的值等于1)則將按鍵標記清零并調(diào)用USART發(fā)送函數(shù)將相應的鍵碼發(fā)送給主MCU(STM32F103VE)否則查詢下一個按鍵標記直到8個按鍵標記查詢完后進入休眠等待中斷程序的到來。中斷程序喚醒單片機后,先將定時器1的TMR1值讀出,接下來將TMR1值與0.85倍的平均值做比較。如果TMR1的值小于0.85倍的平均值則將按鍵標記KeyFlag置1,接著設置成下一個觸摸傳感器;如果TMR1的值大于或等于0.85倍的平均值則將TMR1的值代入程式計算新的平均值,接著設置成下一個觸摸傳感器。最后重啟定時器并退出中斷服務程序。退出中斷服務程序后進入主程序進行新的一次按鍵標記查詢。程序流程圖如圖4所示,左圖是主程序流程圖,右圖為中斷服務程序流程圖
結(jié)語
本儀器采用STM32F103VE作為主控制器,成本低,系統(tǒng)運行穩(wěn)定,各項指標達到了技術(shù)要求。通過煤炭科學院撫順分院的鑒定,已交付用戶使用。在井下沒有安裝定位分站的巷道中進行的模擬營救中,營救距離達到規(guī)定的60米。
參考文獻:
[1]王有緒,許杰,李拉成.PIC系列單片機接口技術(shù)及應用系統(tǒng)設計[M].北京:北京航空大學出版社,2000
[2]王勇. 基于Microchip單片機的觸摸感應技術(shù)[J]. 電子產(chǎn)品世界2009(7)
[3]馬忠梅.單片機的C語言應用程序設計[M].北京:北京航空航天大學出版社,1999
[4]Software Handling for Capacitive Sensing[D].Microchip
[5] STM32F103XX Data Sheet[D] .ST Company
[6]nRF24L01 Product Specification[D].NORDIC SEMICONDUCTOR.2007
評論