太陽能實現的無線動態辦公信息發布系統軟體設計範文

tiny和full兩個版本,tiny是full的子集, 最大可運行的任務數是16個,支持時間片循環任務的調度,支持任務間信號通信,可以並行地利用中斷。但它不支持存儲區的分配和釋放,不支持占先式任務的調度。rtx51tiny作業系統是一個非常小、易於使用的rtos,它只占用800位元組左右的程式存儲空間,可以在沒有外放數據存儲器的51系統中運行。完全集成在keil c51編譯器中。用戶可以很容易的創建任務,也不需要進行複雜的配置,只需包含一個指定的頭檔案即可編譯運行。

本設計分為主機電路和從機電路,主機電路是以c8051f020單片機為控制核心,以顯示電路、時鐘電路、溫度檢測電路、無線收發模組以及太陽能電池供電模組構成。從機以at89c2051為控制核心,包含人體紅外感應模組和無線收發模組。整個系統以主機作輪詢模式對從機進行訪問和數據傳輸。系統原理框圖如1所示。

rtx51 tiny作業系統編程中不再需要mian函式,rtx51 tiny從第0個任務開始執行,在任務0中來創建其它需要執行的任務,在其它任務創建完後刪除這個任務0。系統自動以時間片方式執行所創建的其它任務。任務0程式代碼如下:

點陣掃描部分採用的是74hc154來控制行信號,74hc595來控制列信號,其中是低電平點亮led顯示屏,154是4線16自動解碼點整掃描分為兩個半屏掃描,每次掃描8次,這樣把掃描的數據送入顯示。顯示模組流程圖如圖2所示。

無線模組使用的jit433,在初始化的時候,先讓它進行本機通信,設定一些模組參數,空中速率,頻率,發射功率等參數,設定成功後,再進行多機通信。設定流程圖如圖3所示。

在與各分機模組通信時設定串口的波特率1200,這樣可以信號可以傳輸得更遠。然後等待接受從機傳送過來的信號,接受到信號進行校正,正確就點亮對應的led燈。與各從機通信程式流程如圖4所示。

在鍵盤部分,我使用了三個按鍵,分別是:功能按鍵、加鍵、減鍵;在每次按鍵時如果時間小於5 s的時候就可與進行加減設定,大於5 s就自動退出,這樣使得任何時候可以設定時間,不必再按完以後在寫入時間的。cpu 利用率高,節約時間。