嵌入式實(shí)時(shí)操作系統(tǒng)Small RTOS51原理及應(yīng)用

出版時(shí)間:2004-1  出版社:北京航大  作者:陳明計(jì),周立功  頁數(shù):346  字?jǐn)?shù):582000  
Tag標(biāo)簽:無  

內(nèi)容概要

Small RTOS51是為51系列單片機(jī)而編寫的。它是完全免費(fèi)的、源代碼公開的多任務(wù)實(shí)時(shí)操作系統(tǒng)。它可在無任何外部數(shù)據(jù)存儲(chǔ)器的單片80C51系統(tǒng)上運(yùn)行,并且是可移植的。全書分兩部分。第一部分為基礎(chǔ)篇,介紹Small RTOS51和一些基本概念,并詳細(xì)分析Small RTOS51的工作原理。第二部分為應(yīng)用篇,給出部分常用硬件在Small RTOS51下驅(qū)動(dòng)程序的源代碼。這些源代碼在DP—51單片機(jī)仿真實(shí)驗(yàn)儀上全部調(diào)試通過,且只要經(jīng)過很少的改動(dòng),或是不改動(dòng),就可以在其他環(huán)境下使用。應(yīng)用篇還通過對(duì)這些源代碼的分析,讓讀者理解基于RTOS的編程方法,并給出完整的例子讓讀者全面掌握基于RTOS的編程方法。    本書可以作為高等院校相關(guān)專業(yè)的課程教材、實(shí)驗(yàn)參考資料或課外讀物,對(duì)嵌入工應(yīng)用開發(fā)人員也有重要的參考價(jià)值。

書籍目錄

第一部分 原理篇  第0章 緒論  第1章 Small RTOS51簡介    1.1 Small RTOS51的特點(diǎn)    1.2 Small RTOS51的運(yùn)行條件    1.3 Small RTOS51的存儲(chǔ)器需求    1.4 Small RTOS51的任務(wù)堆棧的計(jì)算    1.5 關(guān)于可重入功能    1.6 關(guān)于C51的庫函數(shù)    1.7 關(guān)于51系列單片機(jī)派生類型的多數(shù)據(jù)指針和數(shù)學(xué)單元    1.8 關(guān)于51系列單片機(jī)的寄存器段    1.9 關(guān)于局部變量   第2章 基本概念     2.1 嵌入式系統(tǒng)    2.2 實(shí)時(shí)系統(tǒng)    2.3 前、后臺(tái)系統(tǒng)    2.4 操作系統(tǒng)    2.5 實(shí)時(shí)操作系統(tǒng)    2.6 代碼的臨界區(qū)    2.7 資源    2.8 共享資源    2.9 任務(wù)    2.10 任務(wù)切換    2.11 內(nèi)核    2.12 調(diào)度    2.13 非占先式內(nèi)核    2.14 占先式內(nèi)核    2.15 可重入性    2.16 任務(wù)優(yōu)先級(jí)    2.17 信號(hào)量    2.18 死鎖    2.19 消息隊(duì)列    2.20 中斷    2.21 時(shí)鐘節(jié)拍   第3章 一個(gè)簡單的例子     3.1 Small RTOS51的安裝及目錄結(jié)構(gòu)    3.2 例子簡介    3.3 Config、h、Os_cfg、h和Os_cpu.h    3.4 與編程器無關(guān)的數(shù)據(jù)類型    3.5 OS_ENTER_CRITICAL()和OS_EXIT_CRITICAL()    3.6 main()函數(shù)    3.7 建立任務(wù)    3.8 刪除任務(wù)    3.9 用戶任務(wù)    3.10 軟非屏蔽中斷    3.11 中斷服務(wù)程序的編寫    3.12 Os_cpu.h可改變的其他內(nèi)容    3.13 Small RTOS51的其他注意事項(xiàng)   第4章 任務(wù)管理—核心的核心     4.1 臨界區(qū)    4.2 任務(wù)    4.3 任務(wù)狀態(tài)    4.4 與任務(wù)相關(guān)的數(shù)據(jù)結(jié)構(gòu)    4.5 任務(wù)調(diào)度    4.6 Small RTOS51中的中斷處理    4.7 時(shí)鐘節(jié)拍    4.8 Small RTOS51初始化和啟動(dòng)    4.9 建立任務(wù)    4.10 任務(wù)堆棧    4.11 刪除任務(wù)    4.12 時(shí)間服務(wù)及任務(wù)的掛起和恢復(fù)    4.13 獲取當(dāng)前Small RTOS51的版本號(hào)    4.14 OSInt…()函數(shù)   第5章 如何切換任務(wù)     5.1 CPU可以執(zhí)行多個(gè)任務(wù)的原因    5.2 CPU怎樣運(yùn)行才能執(zhí)行多個(gè)任務(wù)    5.3 何時(shí)進(jìn)行任務(wù)切換    5.4 Small RTOS51任務(wù)切換時(shí)的程序框圖    5.5 數(shù)組OSTsakStackBotton[]和Small RTOS51的堆棧結(jié)構(gòu)    5.6 變量OSFastSwap    5.7 常量數(shù)值OSMapTb[]    5.8 軟非屏蔽中斷的堆棧SP2[]    5.9 中斷切換函數(shù)OSIntCtxSw()OSIntCtxSw()    5.10 任務(wù)主動(dòng)放棄CPU-OS_TASK_SW()    5.11 堆棧變換函數(shù)C_OSCtxSw()    5.12 恢復(fù)新任務(wù)環(huán)境LoadCtx()    5.13 優(yōu)先級(jí)最低的任務(wù)OSIdle()    5.14 Small RTOS51初始化函數(shù)OSStart()    5.15 系統(tǒng)時(shí)鐘節(jié)拍中斷OSTickISR()   第6章 任務(wù)之間的通信和同步之信號(hào)量     6.1 概述    6.2 使Keil C51函數(shù)具有重入性的特殊方法    6.3 數(shù)據(jù)結(jié)構(gòu)    6.4 IN_OS_SEM_CHK宏及相關(guān)代碼    6.5 初始化一個(gè)信號(hào)量    6.6 等待一個(gè)信號(hào)量    6.7 發(fā)送一個(gè)信號(hào)量    6.8 無等待地請(qǐng)求一個(gè)信號(hào)量    6.9 查詢信號(hào)量   第7章 任務(wù)之間的通信和同步之消息隊(duì)列     7.1 概述    7.2 數(shù)據(jù)結(jié)構(gòu)及存儲(chǔ)空間的分配    7.3 消息隊(duì)列發(fā)送消息和取得消息的操作    7.4 EN-OS-Q-CHK及相關(guān)代碼    7.5 建立一個(gè)消息隊(duì)列    7.6 等待一個(gè)消息隊(duì)列中的消息    7.7 向消息隊(duì)列發(fā)送一個(gè)消息(FIFO)    7.8 向消息隊(duì)列發(fā)送一個(gè)消息(LIFO)    7.9 同時(shí)發(fā)送多個(gè)信息    7.10 無等待地從消息隊(duì)列中取得消息    7.11 清空一個(gè)消息隊(duì)列    7.12 查詢一個(gè)消息隊(duì)列的狀態(tài)   第8章 Small RTOS51的移植     8.1 系統(tǒng)相關(guān)的宏    8.2 與編譯器無關(guān)的變量類型    8.3 OSStart()    8.4 OSIntCtxSw()    8.5 OS-TASK-SW()    8.6 OSTickISR()    8.7 OSIdle()   第9章 函數(shù)參考手冊(cè)     9.1 OS-INT-ENTER()函數(shù)    9.2 OSClearSignal()函數(shù)    9.3 OSIntExit()函數(shù)    9.4 OSIntSendSignal()函數(shù)    9.5 OSQAccept()函數(shù)    9.6 OSQCreate()函數(shù)    9.7 OSQFlush()函數(shù)    9.8 OSQIntPost()函數(shù)    9.9 OSQIntPostFront()函數(shù)    9.10 OSQNMsgs()函數(shù)    9.11 OSQPend()函數(shù)    9.12 OSQPost()函數(shù)    9.13 OSQPostFront()函數(shù)    9.14 OSQSize()函數(shù)    9.15 OSRunning TaskID()函數(shù)    9.16 OSSemAccept()函數(shù)    9.17 OSSemCreate()函數(shù)    9.18 OSSemIntPost()函數(shù)    9.19 OSSemPend()函數(shù)    9.20 OSSemPost()函數(shù)    9.21 OSSemQuery()函數(shù)    9.22 OSSendSignal()函數(shù)    9.23 OSStart()函數(shù)    9.24 OSTimeTick()函數(shù)    9.25 OSVersion()函數(shù)    9.26 OSWait()函數(shù)   第10章 系統(tǒng)配置手冊(cè)     10.1 基本配置    10.2 消息隊(duì)列的配置    10.3 信號(hào)量的配置    10.4 Small RTOS51的特殊配置 第二部分 應(yīng)用篇   第11章 DP-51單片機(jī)仿真實(shí)驗(yàn)儀簡介     11.1 概述    11.2 產(chǎn)品實(shí)物    11.3 功能特點(diǎn)    11.4 主控CPU簡介    11.5 DP-51單片機(jī)仿真實(shí)驗(yàn)儀的應(yīng)用領(lǐng)域   第12章 DP-51單片機(jī)仿真實(shí)驗(yàn)儀硬件結(jié)構(gòu)     12.1 主要器件    12.2 電路外觀    12.3 應(yīng)用接口    12.4 I/O地址分配    12.5 跳線選擇器   第13章 如何為Small RTOS51編寫驅(qū)動(dòng)程序     13.1 Keil C51簡介    13.2 Keil C51的特殊性    13.3 判斷Keil C51是否可重入的方法    13.4 使用任務(wù)編寫驅(qū)動(dòng)程序    13.5 使用消息隊(duì)列編寫驅(qū)動(dòng)程序    13.6 使用信號(hào)量編寫驅(qū)動(dòng)程序    13.7 復(fù)合方法   第14章 LED掃描程序的實(shí)現(xiàn)     14.1 LED簡介    14.2 LED數(shù)碼顯示器簡介    14.3 LED驅(qū)動(dòng)程序的實(shí)現(xiàn)   第15章 LCD顯示驅(qū)動(dòng)的實(shí)現(xiàn)     15.1 點(diǎn)陣字符型LCD-TC1602A簡介    15.2 TC1602A液晶顯示器與DP-51單片機(jī)仿真實(shí)驗(yàn)儀的連接    15.3 驅(qū)動(dòng)程序的使用    15.4 對(duì)TC1602A操作的基本函數(shù)    15.5 初始化TC1602A液晶顯示器    15.6 消除指定行    15.7 在指定位置顯示字符串    15.8 在指定地址向液晶模塊寫多個(gè)字符    15.9 驅(qū)動(dòng)程序在DP-51單片機(jī)仿真實(shí)驗(yàn)儀上使用的例子   第16章 軟定時(shí)器的實(shí)現(xiàn)     16.1 軟定時(shí)器簡介    16.2 軟定時(shí)器模塊的使用    16.3 軟定時(shí)器的數(shù)據(jù)結(jié)構(gòu)    16.4 軟定時(shí)器模塊的接口函數(shù)    16.5 軟定時(shí)器模塊的管理    16.6 軟定時(shí)器模塊在DP-51運(yùn)用的例子   第17章 鍵盤掃描程序的實(shí)現(xiàn)     17.1 鍵盤簡介    17.2 軟件去抖動(dòng)處理    17.3 連擊的處理    17.4 復(fù)合鍵    17.5 串鍵    17.6 鍵盤驅(qū)動(dòng)的實(shí)現(xiàn)    17.7 鍵盤驅(qū)動(dòng)在DP-51上運(yùn)用的例子   第18章 串行通信程序的實(shí)現(xiàn)     18.1 概述    18.2 串行通信硬件電路    18.3 通信協(xié)議    18.4 本例使用的串行通信協(xié)議    18.5 本例執(zhí)行的效果    18.6 串行通信驅(qū)動(dòng)程序的發(fā)送部分    18.7 串行通信驅(qū)動(dòng)程序的接收部分    18.8 例子中其他未介紹部分代碼   第19章 I2C總線驅(qū)動(dòng)程序的實(shí)現(xiàn)     19.1 標(biāo)準(zhǔn)模式I2C總線規(guī)范簡介    19.2 位傳輸    19.3 數(shù)據(jù)傳輸    19.4 仲裁與時(shí)鐘發(fā)生    19.5 傳輸協(xié)議    19.6 I2C總線驅(qū)動(dòng)程序的實(shí)現(xiàn)   第20章 串行E2PROM芯片Cat24WCxx驅(qū)動(dòng)程序的實(shí)現(xiàn)     20.1 概述    20.2 引腳描述    20.3 串行E2PROM芯片的尋址    20.4 寫操作方式    20.5 讀操作方式    20.6 Cat24WC02在DP-51中的連接    20.7 Cat24WCxx驅(qū)動(dòng)程序的使用    20.8 Cat24WCxx的寫操作    20.9 Cat24WCxx的讀操作    20.10 DP-51上對(duì)Cat24WC02讀/寫操作的例子   第21章 實(shí)時(shí)時(shí)鐘芯片PCF8563驅(qū)動(dòng)程序的實(shí)現(xiàn)     21.1 實(shí)時(shí)實(shí)鐘PCF8563簡介    21.2 PCF8563的基本原理    21.3 PCF8563在DP-51中的連接    21.4 PCF8563驅(qū)動(dòng)程序的使用    21.5 PCF8563的寫操作    21.6 PCF8563的讀操作    21.7 DP-51上對(duì)PCF8563讀/寫操作的例子   第22章 CAN總線驅(qū)動(dòng)程序的實(shí)現(xiàn)     22.1 CAN簡介    22.2 CAN控制器SJA1000簡介    22.3 SJA1000的硬件連接    22.4 對(duì)SJA1000的軟件控制    22.5 SJA1000的BasicCAN方式    22.6 寄存器位功能介紹    22.7 SJA1000的編程流程    22.8 驅(qū)動(dòng)程序的使用    22.9 對(duì)SJA1000操作的基本函數(shù)    22.10 用戶可修改、可調(diào)整的應(yīng)用層函數(shù)    22.11 CAN通信在DP-51上運(yùn)用的例子   第23章 PDIUSBD12 USB驅(qū)動(dòng)程序的實(shí)現(xiàn)     23.1 簡介    23.2 USB設(shè)備的枚舉過程    23.3 USB標(biāo)準(zhǔn)設(shè)備請(qǐng)求    23.4 程序?qū)崿F(xiàn)方法   第24章 完整的程序—鬧鐘的實(shí)現(xiàn)     24.1 簡介    24.2 關(guān)鍵代碼 附錄A 使用許可證附錄B 本書配套光盤說明 參考文獻(xiàn)

編輯推薦

  本書主要特點(diǎn):  分為原理篇和應(yīng)用篇,原理與實(shí)踐相結(jié)合,兩篇相對(duì)獨(dú)立,又緊密聯(lián)系。  原理篇以分析源碼為特色,深入淺出地介紹RTOS的基本概念以及Small RTOS51的工作原理?! ?yīng)用篇以DP-51單片綜合仿真實(shí)驗(yàn)儀為硬件平臺(tái),通過對(duì)單片機(jī)常用和熱門外圍器件實(shí)用驅(qū)動(dòng)程序的分析,詳細(xì)介紹基于Small RTOS51的編程方法,以及如何為這些外圍器件編寫中間件,并給出一個(gè)完整的例子,讓讀者全面掌握基于Small RTOS51的編程方法,體會(huì)了RTOS下編程的優(yōu)點(diǎn)。

圖書封面

圖書標(biāo)簽Tags

評(píng)論、評(píng)分、閱讀與下載


    嵌入式實(shí)時(shí)操作系統(tǒng)Small RTOS51原理及應(yīng)用 PDF格式下載


用戶評(píng)論 (總計(jì)1條)

 
 

  •   如果您C51比較熟悉如果您一直“裸奔”(沒有用操作系統(tǒng))如果您準(zhǔn)備從8位步入32位,又對(duì)那個(gè)UCOSii很郁悶?zāi)敲矗梢韵瓤纯催@本書不過我這樣的剛?cè)腴T的忍看起來有點(diǎn)困難不過我的原則是:看得懂的書,多看幾遍看不懂的書,硬頭皮看幾遍……
 

250萬本中文圖書簡介、評(píng)論、評(píng)分,PDF格式免費(fèi)下載。 第一圖書網(wǎng) 手機(jī)版

京ICP備13047387號(hào)-7