• <li id="00i08"><input id="00i08"></input></li>
  • <sup id="00i08"><tbody id="00i08"></tbody></sup>
    <abbr id="00i08"></abbr>
  • 新聞中心

    EEPW首頁 > 嵌入式系統 > 設計應用 > 51單片機實現嵌入式實時操作系統的溫控器設計

    51單片機實現嵌入式實時操作系統的溫控器設計

    作者: 時間:2011-10-18 來源:網絡 收藏

    目前,8位單片機在測控領域和智能化電子產品應用中仍占有重要地位.而應用(ERTOS)會對8位單片機的軟件開發帶來極大方便。在此簡要介紹及其在程序設計中的優越性,重點介紹了適合于小RAM單片機的Small RTOS51,以及基于8位單片機的硬件和軟件的設計方法和過程。

    1 嵌入式實時操作系統Small RTOS51簡介
    嵌入式系統已成為當今的熱門話題之一,從消費類電子產品到各種工業設備,嵌入式系統已滲透到日常生活的各個角落。對于嵌人式系統,一個重要的特征是實時性,即在確定的時間內完成規定的功能,并能對外部異步事件做出正確響應。確保系統的實時性,需要軟硬件配合來完成,首先必須保證硬件處理速度滿足實時要求,而對于軟件,就是采用與之相適應的嵌入式實時操作系統(Embedded Real_TimeOperating System,ERTOS)。
    采用嵌入式實時操作系統(ERTOS),能夠保證系統中任務切換的實時性,事件響應時間的確定性及系統的高可靠性,同時,ERTOS將用戶應用程序看成是其上運行的多個任務,這就為程序的編寫、調試和系統功能的擴展提供了極大方便,并且由于ERTOS的使用,客觀上使得應用軟件與下層硬件環境無關,便于嵌入式軟件的移植,從而可以大大降低系統開發成本和開發周期。目前,已推出的嵌入式實時操作系統有很多種,比較常用的有VxWorks,WinCE,VRTX,pSOS,Palm OS,嵌入式Linux,Delta OS等。對于8051系列單片機,由于具有很少的RAM和ROM,在嵌入式實時操作系統中,比較適合于這種單片機操作系統是Small RTOS51,它使用Keil C51所帶得RTX Tiny的堆棧管理機制,并和μC/OS-Ⅱ一樣是搶占式的。目前,Small RTOS的最新版本為1.20.3,可以支持任務的動態建立與刪除,支持C51的重入函數,支持動態內存分配等。


    2 嵌入式
    2.1 嵌入式的結構及原理
    由Small RTOS51實現的基于8位單片機的的系統結構如圖1所示。單片機作為控制核心,負責讀取溫度傳感器的溫度,并輸出至LED顯示器顯示,按鍵用來設置溫控器的溫度,當溫度超限時由輸出控制部分輸出控制信號,驅動繼電器或者報警裝置,電源部分為整個系統供電。
    2.2 嵌入式溫控器硬件電路
    由于溫控器的外圍電路比較簡單,主控器所需的輸入/輸出口不多,故采用Atmel公司的AT89C2051,溫度傳感器采用美國DALLAS半導體公司的DS18B20,其數據信號線接微控制器P3.7,LED顯示器采用4個共陰極數碼管構成,由4個串入并出的移位寄存器74LS164驅動,采用靜態顯示方式,P1.1作為LED顯示器的串行數據輸入,P1.0作為LED顯示器的串行時鐘輸入,輸出控制信號由P1.7輸出,控制PNP型晶體管,另外設置4個按鍵分別連接微控制器的P3.2~P3.5,其硬件電路如圖2所示。

    3 系統軟件設計
    3.1 任務的分解劃分
    任務的劃分包括確定哪些變換屬于哪個任務,以及確定各任務的優先級。具體劃分原則可參考文獻[1]。根據任務劃分的原則以及嵌入式溫控器的具體功能,本系統將任務分解劃分為按鍵顯示處理,溫度測量,和輸出執行3個任務。
    3.2 系統軟件的設計
    系統軟件設計主要包括主程序設計和各任務程序設計。
    該設計主程序流程圖如圖3所示。主程序進行初始化以后,順序建立3個任務,進入CPU休眠狀態,各個任務運行后,首先進入任務休眠狀態,等待相應任務的喚醒,任務被喚醒以后,進行相應處理,再次進入休眠狀態。各個任務均采用無限循環結構,其形式如下:


    任務喚醒用函數OSTaskResume(TASK_ID)來完成。在KeilμVision 2下建立工程,編輯相應的頭文件config.h,并對OS_CFG.h和OS_CPU.h的有關內容進行相應設置,進行編譯直到成功為止。

    4 結 語
    根據嵌入式溫控器的硬件電路,利用嵌入式實時操作系統Small RTOS51對其進行程序設計,KeilμVision 2建立工程并進行編譯,下載代碼后溫控器工作正常。對于現在仍然使用廣泛的8位單片機,采用Small RTOS51進行程序設計,既簡單又方便。利用中斷、信號量、消息隊列,可以實現更多功能和作用;另外實時操作系統有多種,但其原理類似,懂得了其中之一,可以舉一反三,理解和應用其他嵌入式實時操作系統。



    評論


    相關推薦

    技術專區

    關閉
    主站蜘蛛池模板: 乐都县| 合山市| 保定市| 永丰县| 乌拉特前旗| 佳木斯市| 荥阳市| 红河县| 张家川| 乌拉特后旗| 甘泉县| 马边| 正安县| 南川市| 衡水市| 华蓥市| 蚌埠市| 达孜县| 利川市| 宁夏| 囊谦县| 南华县| 如东县| 韶山市| 宜宾市| 重庆市| 米脂县| 博野县| 宁波市| 潞西市| 喜德县| 景德镇市| 周口市| 钟祥市| 五家渠市| 同德县| 彩票| 肇东市| 泽普县| 陈巴尔虎旗| 海原县|