高等院校電類專業(yè)新概念教材·項(xiàng)目驅(qū)動(dòng):?jiǎn)纹瑱C(jī)應(yīng)用設(shè)計(jì)基礎(chǔ)
定 價(jià):33 元
叢書名:卓越工程師教育叢書
- 作者:周立功 著
- 出版時(shí)間:2011/7/1
- ISBN:9787512404922
- 出 版 社:北京航空航天大學(xué)出版社
- 中圖法分類:TP368.1-43
- 頁碼:286
- 紙張:膠版紙
- 版次:1
- 開本:16開
《項(xiàng)目驅(qū)動(dòng)——單片機(jī)應(yīng)用設(shè)計(jì)基礎(chǔ)》以80C51單片機(jī)為主,通過項(xiàng)目驅(qū)動(dòng)的方法融合相關(guān)知識(shí)點(diǎn)。內(nèi)容主要分兩部分:第一部分為第1~4 章,以SDCC51編程語言為基礎(chǔ),深入淺出地介紹如何使用嵌入式C編程來控制單片機(jī)各種外設(shè)部件,并給出常用C編程算法。第二部分為第5~7章,重點(diǎn)介紹TinyOS51嵌入式多任務(wù)操作系統(tǒng)的基本原理,及其在 80C51單片機(jī)中的實(shí)現(xiàn),并針對(duì)同一工程項(xiàng)目給出使用前后臺(tái)程序和嵌入式多任務(wù)操作系統(tǒng)兩種不同的編程方法。通過這兩種方法的比較,可使讀者了解嵌入式多任務(wù)操作系統(tǒng)在項(xiàng)目編程中的優(yōu)勢(shì)。 本書注重在教學(xué)中強(qiáng)化學(xué)生的動(dòng)手訓(xùn)練,強(qiáng)調(diào)理論與實(shí)踐相結(jié)合。讀者通過本書的學(xué)習(xí),可熟練掌握嵌入式C的編程方法,并初步掌握嵌入式多任務(wù)操作系統(tǒng)的編程知識(shí)。 《項(xiàng)目驅(qū)動(dòng)——單片機(jī)應(yīng)用設(shè)計(jì)基礎(chǔ)》可作為大學(xué)本科、高職高專電子信息、自動(dòng)化、機(jī)電一體化、計(jì)算機(jī)等專業(yè)的教材,也可作為電子愛好者的自學(xué)用書,還可作為從事單片機(jī)應(yīng)用開發(fā)工程技術(shù)人員的參考資料。
《項(xiàng)目驅(qū)動(dòng):?jiǎn)纹瑱C(jī)應(yīng)用設(shè)計(jì)基礎(chǔ)》或許讓人看起來并不起眼,甚至?xí)恍家活,但作者認(rèn)為,對(duì)于初學(xué)者來說面的知識(shí),,本書確實(shí)具有與眾不同的特點(diǎn),它不僅融合了數(shù)據(jù)結(jié)構(gòu)、計(jì)算方法、直流電機(jī)及其功率接口等方而且在單片機(jī)教學(xué)中引入了嵌入式操作系統(tǒng)與程序設(shè)計(jì)基礎(chǔ)的思想。盡管TinyOS51是一個(gè)基于80C51單片機(jī)的嵌入式微小內(nèi)核,但麻雀雖小,五臟俱全。更重要的是,學(xué)生能夠通過TinyOS51真實(shí)地了解項(xiàng)目驅(qū)動(dòng)所融合的相關(guān)知識(shí)點(diǎn)的奧秘和機(jī)理。當(dāng)然,學(xué)生僅學(xué)習(xí)上述內(nèi)容還不足以全面掌握相關(guān)知識(shí)點(diǎn),因此,在后續(xù)項(xiàng)目驅(qū)動(dòng)的相關(guān)教材中,作者還會(huì)根據(jù)需要,不斷融合更多關(guān)鍵的知識(shí)點(diǎn),以達(dá)到卓越計(jì)劃的教學(xué)目標(biāo)。
第1章 深入理解嵌入式C
1.1 概述
1.1.1 特性
1.1.2 引腳排列與描述
1.1.3 特殊功能寄存器
1.2 單片機(jī)最小系統(tǒng)與開發(fā)工具
1.2.1 Tiny51核心模塊
1.2.2 復(fù)位電路
1.2.3 晶體振蕩電路
1.2.4 單片機(jī)在線仿真與編程
1.3 SDCC擴(kuò)展
1.3.1 SDCC簡(jiǎn)介
1.3.2 應(yīng)用示例
1.3.3 關(guān)鍵字與數(shù)據(jù)類型
1.4 存儲(chǔ)器類語言
1.4.1 存儲(chǔ)類型
1.4.2 存儲(chǔ)模式
1.4.3 特殊功能寄存器數(shù)據(jù)類型
1.4.4 位數(shù)據(jù)類型
1.4.5 存儲(chǔ)器絕對(duì)尋址
1.4.6 指針
1.5 函數(shù)
1.5.1 函數(shù)參數(shù)和局部變量
1.5.2 覆蓋
1.5.3 使用專用寄存器組
1.6 深入理解嵌入式C
1.6.1 概述
1.6.2 方法
1.6.3 函數(shù)調(diào)用與參數(shù)傳遞
1.6.4 函數(shù)返回
1.6.5 局部變量存儲(chǔ)
1.7 經(jīng)典范例程序設(shè)計(jì)
1.7.1 LED流水燈范例
1.7.2 蜂鳴器驅(qū)動(dòng)范例
1.7.3 數(shù)碼管動(dòng)態(tài)掃描顯示驅(qū)動(dòng)范例
1.7.4 鍵盤動(dòng)態(tài)掃描驅(qū)動(dòng)范例
第2章 特殊功能部件與外設(shè)
2.1 中斷系統(tǒng)
2.1.1 中斷概念
2.1.2 80C51的中斷結(jié)構(gòu)
2.1.3 相關(guān)寄存器
2.1.4 中斷向量
2.1.5 中斷操作
2.1.6 使能和禁止中斷
2.2 定時(shí)/計(jì)數(shù)器
2.2.1 相關(guān)寄存器
2.2.2 定時(shí)/計(jì)數(shù)器模式
2.2.3 定時(shí)器查詢延時(shí)
2.2.4 定時(shí)器中斷延時(shí)
2.2.5 無源蜂鳴器驅(qū)動(dòng)程序
2.2.6 數(shù)碼管動(dòng)態(tài)掃描演示程序
2.2.7 測(cè)量負(fù)脈沖
2.3 看門狗
2.3.1 看門狗的作用
2.3.2 看門狗的工作原理
2.3.3 看門狗定時(shí)器的結(jié)構(gòu)
2.3.4 寄存器描述
2.3.5 看門狗周期值設(shè)置
2.3.6 應(yīng)用示例
2.4 I2C總線及其驅(qū)動(dòng)程序
2.4.1 I2C簡(jiǎn)介
2.4.2 決策
2.4.3 軟件接口
2.4.4 基本時(shí)序代碼
2.4.5 外部接口代碼
2.4.6 E2PROM讀/寫范例
2.4.7 CAT1024驅(qū)動(dòng)程序
2.4.8 溫度的測(cè)量
2.5 串行口及其驅(qū)動(dòng)程序
2.5.1 硬件基礎(chǔ)
2.5.2 決策
2.5.3 軟件接口
2.5.4 初始化
2.5.5 發(fā)送數(shù)據(jù)
2.5.6 接收數(shù)據(jù)
2.5.7 測(cè)試用例
第3章 數(shù)據(jù)結(jié)構(gòu)與計(jì)算方法初步
3.1 簡(jiǎn)單閾值控制算法
3.1.1 算法原理
3.1.2 應(yīng)用實(shí)例
3.2 循環(huán)隊(duì)列
3.2.1 隊(duì)列的邏輯結(jié)構(gòu)和基本運(yùn)算
3.2.2 隊(duì)列的存儲(chǔ)結(jié)構(gòu)
3.2.3 循環(huán)隊(duì)列的運(yùn)算
3.3 常用檢錯(cuò)算法
3.3.1 奇偶校驗(yàn)
3.3.2 和校驗(yàn)
3.3.3 循環(huán)冗余校驗(yàn)
3.4 應(yīng)用實(shí)例
3.4.1 Hex文件
3.4.2 通信編程
第4章 保險(xiǎn)箱密碼鎖控制器(方案一)
4.1 概述
4.1.1 保險(xiǎn)箱
4.1.2 鎖芯機(jī)械結(jié)構(gòu)
4.1.3 密碼鎖控制器
4.1.4 密碼鎖工作原理
4.2 準(zhǔn)備工作
4.2.1 概述
4.2.2 使用說明
4.2.3 硬件概要設(shè)計(jì)
4.2.4 軟件概要設(shè)計(jì)
4.3 硬件驅(qū)動(dòng)設(shè)計(jì)
4.3.1 延時(shí)驅(qū)動(dòng)
4.3.2 鎖驅(qū)動(dòng)
4.3.3 可復(fù)用的硬件驅(qū)動(dòng)
4.4 虛擬驅(qū)動(dòng)設(shè)計(jì)
4.4.1 虛擬鎖驅(qū)動(dòng)
4.4.2 虛擬鍵盤驅(qū)動(dòng)
4.4.3 虛擬蜂鳴器驅(qū)動(dòng)
4.4.4 虛擬顯示器驅(qū)動(dòng)
4.4.5 虛擬存儲(chǔ)器驅(qū)動(dòng)
4.5 主程序設(shè)計(jì)
4.5.1 準(zhǔn)備工作
4.5.2 編寫代碼
4.6 直流電機(jī)及其功率接口
4.6.1 概述
4.6.2 直流電機(jī)的工作原理
4.6.3 直流電機(jī)的單向驅(qū)動(dòng)
4.6.4 直流電機(jī)的雙向驅(qū)動(dòng)
第5章 TinyOS51嵌入式操作系統(tǒng)微小內(nèi)核
5.1 基礎(chǔ)知識(shí)
5.1.1 概述
5.1.2 頭文件
5.1.3 變量命名規(guī)則
5.1.4 范例分析
5.1.5 setjmp與longjmp的實(shí)現(xiàn)
5.2 最簡(jiǎn)單的多任務(wù)模型
5.2.1 雙任務(wù)切換模型
5.2.2 待解決的問題
5.2.3 setTaskJmp()的實(shí)現(xiàn)
5.2.4 任務(wù)切換模型范例分析
5.3 協(xié)作式多任務(wù)操作系統(tǒng)
5.3.1 整體規(guī)劃
5.3.2 任務(wù)控制塊
5.3.3 內(nèi)部變量初始化
5.3.4 創(chuàng)建任務(wù)
5.3.5 啟動(dòng)多任務(wù)環(huán)境
5.3.6 任務(wù)切換
5.3.7 刪除任務(wù)
5.3.8 小結(jié)
5.4 時(shí)間片輪詢多任務(wù)操作系統(tǒng)
5.4.1 概述
5.4.2 整體規(guī)劃
5.4.3 任務(wù)控制塊
5.4.4 內(nèi)部變量初始化
5.4.5 創(chuàng)建任務(wù)
5.4.6 啟動(dòng)多任務(wù)環(huán)境
5.4.7 任務(wù)調(diào)度
5.4.8 時(shí)鐘節(jié)拍中斷
5.4.9 longjmpInIsr()
5.4.10 任務(wù)延時(shí)
5.4.11 刪除任務(wù)
5.5 信號(hào)量
5.5.1 概述
5.5.2 整體規(guī)劃
5.5.3 任務(wù)控制塊
5.5.4 內(nèi)部變量初始化
5.5.5 信號(hào)量定義
5.5.6 創(chuàng)建信號(hào)量
5.5.7 獲得信號(hào)量
5.5.8 發(fā)送信號(hào)量
5.5.9 刪除任務(wù)
5.6 消息郵箱
5.6.1 概述
5.6.2 整體規(guī)劃
5.6.3 任務(wù)標(biāo)志與消息郵箱
5.6.4 創(chuàng)建消息郵箱
5.6.5 獲得消息
5.6.6 發(fā)送消息
第6章 程序設(shè)計(jì)基礎(chǔ)
6.1 任務(wù)設(shè)計(jì)
6.1.1 任務(wù)的分類
6.1.2 任務(wù)的劃分
6.2 系統(tǒng)函數(shù)使用概述
6.2.1 系統(tǒng)函數(shù)總覽
6.2.2 中斷服務(wù)程序調(diào)用函數(shù)的限制
6.2.3 系統(tǒng)函數(shù)的分類
6.3 系統(tǒng)函數(shù)的使用場(chǎng)合
6.3.1 時(shí)間管理
6.3.2 資源同步
6.3.3 行為同步
6.4 時(shí)間管理
6.5 臨界區(qū)
6.6 信號(hào)量
6.6.1 簡(jiǎn)介
6.6.2 信號(hào)量的工作方式
6.6.3 任務(wù)同步中斷服務(wù)程序
6.6.4 任務(wù)間同步
6.6.5 資源同步
6.7 消息郵箱
6.7.1 簡(jiǎn)介
6.7.2 消息郵箱的工作方式
6.7.3 中斷服務(wù)程序與任務(wù)通信
6.7.4 任務(wù)間數(shù)據(jù)通信
第7章 保險(xiǎn)箱密碼鎖控制器(方案二)
7.1 軟件開發(fā)流程
7.2 決策
7.2.1 概述
7.2.2 總體目標(biāo)
7.2.3 使用說明
7.2.4 限制條件
7.2.5 具體開發(fā)目標(biāo)
7.2.6 其他決策內(nèi)容
7.3 模塊劃分
7.3.1 概述
7.3.2 硬件層
7.3.3 設(shè)備驅(qū)動(dòng)層
7.3.4 虛擬設(shè)備層
7.3.5 應(yīng)用層
7.4 接口定義
7.4.1 密碼的輸出、存儲(chǔ)與顯示
7.4.2 應(yīng)用層接口
7.4.3 虛擬設(shè)備層接口
7.4.4 設(shè)備驅(qū)動(dòng)層接口
7.5 編寫代碼
7.5.1 概述
7.5.2 可復(fù)用的驅(qū)動(dòng)
7.5.3 I2C驅(qū)動(dòng)
7.5.4 CAT1024驅(qū)動(dòng)
7.5.5 虛擬鍵盤驅(qū)動(dòng)
7.5.6 虛擬蜂鳴器驅(qū)動(dòng)
7.5.7 人機(jī)交互程序
7.5.8 主程序
7.6 測(cè)試、驗(yàn)收與小結(jié)
參考文獻(xiàn)