項目驅(qū)動

出版時間:2011-7  出版社:北京航空航天大學  作者:周立功  頁數(shù):286  
Tag標簽:無  

內(nèi)容概要

這本《項目驅(qū)動——單片機應用設計基礎》由周立功主編陳明計等編著,全書以80C51單片機為主,通過項目驅(qū)動的方法融合相關知識點。內(nèi)容主要分兩部分:第一部分為第1~4
章,以SDCC51編程語言為基礎,深入淺出地介紹如何使用嵌入式C編程來控制單片機各種外設部件,并給出常用C編程算法。第二部分為第5~7章,重點介紹TinyOS51嵌入式多任務操作系統(tǒng)的基本原理,及其在
80C51單片機中的實現(xiàn),并針對同一工程項目給出使用前后臺程序和嵌入式多任務操作系統(tǒng)兩種不同的編程方法。通過這兩種方法的比較,可使讀者了解嵌入式多任務操作系統(tǒng)在項目編程中的優(yōu)勢。
本書注重在教學中強化學生的動手訓練,強調(diào)理論與實踐相結合。讀者通過本書的學習,可熟練掌握嵌入式C的編程方法,并初步掌握嵌入式多任務操作系統(tǒng)的編程知識。
《項目驅(qū)動——單片機應用設計基礎》可作為大學本科、高職高專電子信息、自動化、機電一體化、計算機等專業(yè)的教材,也可作為電子愛好者的自學用書,還可作為從事單片機應用開發(fā)工程技術人員的參考資料。

書籍目錄

第1章  深入理解嵌入式C
1.1 概述
1.1.1 特性
1.1.2 引腳排列與描述
1.1.3 特殊功能寄存器
1.2 單片機最小系統(tǒng)與開發(fā)工具
1.2.1 Tiny51核心模塊
1.2.2 復位電路
1.2.3 晶體振蕩電路
1.2.4 單片機在線仿真與編程
1.3 SDCC擴展
1.3.1 SDCC簡介
1.3.2 應用示例
1.3.3 關鍵字與數(shù)據(jù)類型
1.4 存儲器類語言
1.4.1 存儲類型
1.4.2 存儲模式
1.4.3 特殊功能寄存器數(shù)據(jù)類型
1.4.4 位數(shù)據(jù)類型
1.4.5 存儲器絕對尋址
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 局部變量存儲
1.7 經(jīng)典范例程序設計
1.7.1 LED流水燈范例
1.7.2 蜂鳴器驅(qū)動范例
1.7.3 數(shù)碼管動態(tài)掃描顯示驅(qū)動范例
1.7.4 鍵盤動態(tài)掃描驅(qū)動范例
第2章 特殊功能部件與外設
2.1 中斷系統(tǒng)
2.1.1 中斷概念
2.1.2 80C51的中斷結構
2.1.3 相關寄存器
2.1.4 中斷向量
2.1.5 中斷操作
2.1.6 使能和禁止中斷
2.2 定時/計數(shù)器
2.2.1 相關寄存器
2.2.2 定時/計數(shù)器模式
2.2.3 定時器查詢延時
2.2.4 定時器中斷延時
2.2.5 無源蜂鳴器驅(qū)動程序
2.2.6 數(shù)碼管動態(tài)掃描演示程序
2.2.7 測量負脈沖
2.3 看門狗
2.3.1 看門狗的作用
2.3.2 看門狗的工作原理
2.3.3 看門狗定時器的結構
2.3.4 寄存器描述
2.3.5 看門狗周期值設置
2.3.6 應用示例
2.4 I2C總線及其驅(qū)動程序
2.4.1 I2C簡介
2.4.2 決策
2.4.3 軟件接口
2.4.4 基本時序代碼
2.4.5 外部接口代碼
2.4.6 E2PROM讀/寫范例
2.4.7 CAT1024驅(qū)動程序
2.4.8 溫度的測量
2.5 串行口及其驅(qū)動程序
2.5.1 硬件基礎
2.5.2 決策
2.5.3 軟件接口
2.5.4 初始化
2.5.5 發(fā)送數(shù)據(jù)
2.5.6 接收數(shù)據(jù)
2.5.7 測試用例
第3章 數(shù)據(jù)結構與計算方法初步
3.1 簡單閾值控制算法
3.1.1 算法原理
3.1.2 應用實例
3.2 循環(huán)隊列
3.2.1 隊列的邏輯結構和基本運算
3.2.2 隊列的存儲結構
3.2.3 循環(huán)隊列的運算
3.3 常用檢錯算法
3.3.1 奇偶校驗
3.3.2 和校驗
3.3.3 循環(huán)冗余校驗
3.4 應用實例
3.4.1 Hex文件
3.4.2 通信編程
第4章 保險箱密碼鎖控制器(方案一)
4.1 概述
4.1.1 保險箱
4.1.2 鎖芯機械結構
4.1.3 密碼鎖控制器
4.1.4 密碼鎖工作原理
4.2 準備工作
4.2.1 概述
4.2.2 使用說明
4.2.3 硬件概要設計
4.2.4 軟件概要設計
4.3 硬件驅(qū)動設計
4.3.1 延時驅(qū)動
4.3.2 鎖驅(qū)動
4.3.3 可復用的硬件驅(qū)動
4.4 虛擬驅(qū)動設計
4.4.1 虛擬鎖驅(qū)動
4.4.2 虛擬鍵盤驅(qū)動
4.4.3 虛擬蜂鳴器驅(qū)動
4.4.4 虛擬顯示器驅(qū)動
4.4.5 虛擬存儲器驅(qū)動
4.5 主程序設計
4.5.1 準備工作
4.5.2 編寫代碼
4.6 直流電機及其功率接口
4.6.1 概述
4.6.2 直流電機的工作原理
4.6.3 直流電機的單向驅(qū)動
4.6.4 直流電機的雙向驅(qū)動
第5章 TinyOS51嵌入式操作系統(tǒng)微小內(nèi)核
5.1 基礎知識
5.1.1 概述
5.1.2 頭文件
5.1.3 變量命名規(guī)則
5.1.4 范例分析
5.1.5 setjmp與longjmp的實現(xiàn)
5.2 最簡單的多任務模型
5.2.1 雙任務切換模型
5.2.2 待解決的問題
5.2.3 setTaskJmp()的實現(xiàn)
5.2.4 任務切換模型范例分析
5.3 協(xié)作式多任務操作系統(tǒng)
5.3.1 整體規(guī)劃
5.3.2 任務控制塊
5.3.3 內(nèi)部變量初始化
5.3.4 創(chuàng)建任務
5.3.5 啟動多任務環(huán)境
5.3.6 任務切換
5.3.7 刪除任務
5.3.8 小結
5.4 時間片輪詢多任務操作系統(tǒng)
5.4.1 概述
5.4.2 整體規(guī)劃
5.4.3 任務控制塊
5.4.4 內(nèi)部變量初始化
5.4.5 創(chuàng)建任務
5.4.6 啟動多任務環(huán)境
5.4.7 任務調(diào)度
5.4.8 時鐘節(jié)拍中斷
5.4.9 longjmpInIsr()
5.4.10 任務延時
5.4.11 刪除任務
5.5 信號量
5.5.1 概述
5.5.2 整體規(guī)劃
5.5.3 任務控制塊
5.5.4 內(nèi)部變量初始化
5.5.5 信號量定義
5.5.6 創(chuàng)建信號量
5.5.7 獲得信號量
5.5.8 發(fā)送信號量
5.5.9 刪除任務
5.6 消息郵箱
5.6.1 概述
5.6.2 整體規(guī)劃
5.6.3 任務標志與消息郵箱
5.6.4 創(chuàng)建消息郵箱
5.6.5 獲得消息
5.6.6 發(fā)送消息
第6章 程序設計基礎
6.1 任務設計
6.1.1 任務的分類
6.1.2 任務的劃分
6.2 系統(tǒng)函數(shù)使用概述
6.2.1 系統(tǒng)函數(shù)總覽
6.2.2 中斷服務程序調(diào)用函數(shù)的限制
6.2.3 系統(tǒng)函數(shù)的分類
6.3 系統(tǒng)函數(shù)的使用場合
6.3.1 時間管理
6.3.2 資源同步
6.3.3 行為同步
6.4 時間管理
6.5 臨界區(qū)
6.6 信號量
6.6.1 簡介
6.6.2 信號量的工作方式
6.6.3 任務同步中斷服務程序
6.6.4 任務間同步
6.6.5 資源同步
6.7 消息郵箱
6.7.1 簡介
6.7.2 消息郵箱的工作方式
6.7.3 中斷服務程序與任務通信
6.7.4 任務間數(shù)據(jù)通信
第7章 保險箱密碼鎖控制器(方案二)
7.1 軟件開發(fā)流程
7.2 決策
7.2.1 概述
7.2.2 總體目標
7.2.3 使用說明
7.2.4 限制條件
7.2.5 具體開發(fā)目標
7.2.6 其他決策內(nèi)容
7.3 模塊劃分
7.3.1 概述
7.3.2 硬件層
7.3.3 設備驅(qū)動層
7.3.4 虛擬設備層
7.3.5 應用層
7.4 接口定義
7.4.1 密碼的輸出、存儲與顯示
7.4.2 應用層接口
7.4.3 虛擬設備層接口
7.4.4 設備驅(qū)動層接口
7.5 編寫代碼
7.5.1 概述
7.5.2 可復用的驅(qū)動
7.5.3 I2C驅(qū)動
7.5.4 CAT1024驅(qū)動
7.5.5 虛擬鍵盤驅(qū)動
7.5.6 虛擬蜂鳴器驅(qū)動
7.5.7 人機交互程序
7.5.8 主程序
7.6 測試、驗收與小結
參考文獻

章節(jié)摘錄

版權頁:插圖:③當串行口接收到或發(fā)送完一個字符時,將中斷標志RI/TI置位。中斷標志置位并不意味著CPU即刻響應中斷,若要CPU產(chǎn)生中斷響應還必須將中斷使能寄存器IE(見表2.1)中的總中斷使能位EA和相對應的中斷使能位置位。一個中斷源產(chǎn)生中斷請求(即該中斷源的中斷標志置位)后,若該中斷使能(IE寄存器的總中斷使能位EA和單獨中斷使能位均置位),且CPU沒有處理同優(yōu)先級中斷或更高優(yōu)先級的中斷,則該中斷將立即得到響應。此時,正常的程序流程將被打斷,程序計數(shù)器Pc將指向該中斷源的中斷向量地址來執(zhí)行中斷服務程序,中斷服務程序執(zhí)行完畢將執(zhí)行中斷返回指令RETI,返回中斷前被打斷的正常程序流程處繼續(xù)執(zhí)行下面的程序,如圖2.2所示。若CPU正在處理同優(yōu)先級中斷或更高優(yōu)先級中斷,則要等到同優(yōu)先級中斷或更高優(yōu)先級中斷處理完畢才能響應這個中斷(得到響應)。因中斷可能發(fā)生在正常程序流程的任何地方,故在中斷服務程序執(zhí)行完畢,為了使程序能正確返回到發(fā)生中斷的地方繼續(xù)執(zhí)行,在進入中斷服務程序之前,CPU自動將當前的PC值壓入堆棧。當中斷返回時,只要執(zhí)行RETI指令,CPU就能將之前壓人的返回地址彈出到PC,繼續(xù)執(zhí)行正常程序流程。必須在中斷退出之前清除中斷源的中斷請求標志,否則會引發(fā)重復中斷。在表2.3中所有的中斷請求標志都是由硬件置位。編號為0~3的中斷源的中斷請求標志在進入中斷響應時由硬件清除,編號為4的串行口中斷請求標志RI或TI必須要通過軟件清除。在圖2.2中,正常程序流程可以是主程序中的程序,也可以是正在執(zhí)行的較低優(yōu)先級的中斷服務程序。在正常程序流程和中斷服務程序中,可能都要用到一些CPU的公共資源,比如,累加器A、B、PSW、DPTR和R0~R7。一旦CPU的硬件收到中斷的信號,它就會自動地開始所有的工作,推進CPU的狀態(tài),讀中斷數(shù),從RAM中提取向量,然后啟動ISR。此時,作為程序員必須將“斷點”處的信息保存到堆棧中,當程序恢復運行時,將保存在堆棧中的“信息”再恢復到CPU的寄存器中,在“斷點”處作為初始數(shù)據(jù)接著運行。在用匯編語言編程時,執(zhí)行中斷服務程序之前,須將這些公共資源人棧(PUSH),這叫做“現(xiàn)場保護”;當中斷服務程序執(zhí)行完畢,在執(zhí)行RETI指令之前,將這些公共資源出棧(POP),這叫做“現(xiàn)場恢復”。R0~R7也可通過改變PSW寄存器中的RS0和RS1位來切換通用寄存器組而不必入棧。若用C51語言編程,編譯器可自動處理壓棧和出棧而不用軟件干預,通用寄存器組的切換也可用關鍵字using實現(xiàn)。

編輯推薦

《項目驅(qū)動:單片機應用設計基礎》為高等院校電類專業(yè)新概念教材?卓越工程師教育叢書之一。

圖書封面

圖書標簽Tags

評論、評分、閱讀與下載


    項目驅(qū)動 PDF格式下載


用戶評論 (總計38條)

 
 

  •   這書注重在教學中強化學生的動手訓練,強調(diào)理論與實踐相結合。讀者通過本書的學習,可熟練掌握嵌入式C的編程方法,并初步掌握嵌入式多任務操作系統(tǒng)的編程知識。特別是TinyOS51嵌入式多任務操作系統(tǒng)的基本原理,及其在\n80C51單片機中的實現(xiàn),并針對同一工程項目給出使用前后臺程序和嵌入式多任務操作系統(tǒng)兩種不同的編程方法。通過這兩種方法的比較,可使你了解嵌入式多任務操作系統(tǒng)在項目編程中的優(yōu)勢,一般有個8051的書很少觸及到操作系統(tǒng)層面,這也算是周公的這本書的一大兩點吧。
  •   操作系統(tǒng)的概念一定要學的 以后ARM的時候 都是操作系統(tǒng)跑 這本書如本不錯的 一直在看
    貌似現(xiàn)在 TinyOS這個系統(tǒng) 在無線傳感也有應用 看看吧
  •   這書學單片機應該不錯
  •   與一般的單片機的書不同,值得一讀。
  •   配合《新編計算機基礎》周立功的,不錯
  •   ZLG的書 就是沖著TinyOS51買的
  •   周立功推薦的好書
  •   周工的書的確能抓住讀者的❤啊!其實我一直期待的是那本C語言高級程序設計,還不出,急死我了
  •   最好適合和新編計算機基礎教程一起看才好
  •   講的比較基礎,適合入門不久之后閱讀
  •   內(nèi)容范圍廣、適合自動化專業(yè)的童鞋學習
  •   內(nèi)容相當棒,后悔沒早點看這本書。。里面代碼的風格正好承接arm的學習
  •   寫的很好,不太適合初學者
  •   正準備認真學習
  •   現(xiàn)在畢業(yè)已經(jīng)4年了,想學些東西心有余而力不足,要是在學校期間能讀到這本書的話,效果會很不一樣。非常好的一本書,值得推薦
  •   不錯! 很多內(nèi)容和以前買的書重復了! 都一個樣!
  •   編的很不錯,能加強實踐,很好的書
  •   快遞人員的服務態(tài)度不錯 而且 書也沒有什么問題!并且省去了 我直接去 書店購買!相當?shù)臐M意
  •   還可以,很多人推薦!
  •   ,不錯不錯,,不錯不錯,
  •   相對于市場上好幾十元的同類圖書,ZLG的書絕對值得購買
  •   幫同學下的單 他很感謝我 說書很好
  •   我很喜歡,可以認真讀了!
  •   是湊著周工的名聲買的,看了幾頁,感覺不錯。書本開頭主要以P89V51RB2為單片機講解,正好我手頭有一塊,好對應著看。。
  •   周立功的書,很適合初學者,基礎知識講的很詳細
  •   本教程的編寫思路較為新穎,若在融入些編程的思想和經(jīng)驗會更好。
  •   不太適合初學者,不過基礎知識挺全的。
  •   圖書內(nèi)容豐富,條理清晰,非常適合初學者及自學者。作為51入門教材很合適,很實用
  •   教學用書,初學者可看
  •   有實際基礎的不用看了,偶買錯了
  •   書的質(zhì)量很好,內(nèi)容大致的看了一下!挺好的!
  •   看了下,有點深,慢慢看吧
  •   帶個光盤什么的,都沒得,不過書還不錯
  •   挺好,易懂,適合剛入門
  •   京東沒得賣,只好在當當買。運費太貴。書不錯
  •   看過不少單片機的書,不過這樣清新的感覺還是第一次遇見,很不錯的書,進階高手很實用的,畢竟單片機的ROM一般就那么幾K,所以程序簡潔明了很重要
  •   很好,有個比較規(guī)范的模版可以學習
  •   書較薄,沒有光盤,參考參考吧!??!本來以為zlg的書會好些,實際看看都是技術tinyOS的,和項目管理的內(nèi)容很少
 

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

京ICP備13047387號-7