本書以 8051 單片機(jī)為主線, 輔以 ARM32 位單片機(jī), 全面、 詳細(xì)地介紹了單片機(jī)嵌入式系統(tǒng)的原理和應(yīng)用。 內(nèi)容包括單片機(jī)嵌入式系統(tǒng)簡介,8051 單片機(jī)的結(jié)構(gòu)體系, 8051 指令系統(tǒng), 8051 單片機(jī)程序設(shè)計基礎(chǔ),8051 單片機(jī)嵌入式系統(tǒng)開發(fā)和仿真, 8051 單片機(jī)的中斷系統(tǒng), 8051 單片機(jī)的定時器/計數(shù)器, 8051 單片機(jī)的串行接口及串行總線, 8051 單片機(jī)系統(tǒng)擴(kuò)展與接口技術(shù), 實時操作系統(tǒng) RTX51, 單片機(jī)應(yīng)用系統(tǒng)開發(fā)及實例,ARM 32 位單片機(jī)的結(jié)構(gòu)、 編程及開發(fā)工具。 本書的特點(diǎn): 內(nèi)容豐富, 由淺入深, 循序漸進(jìn), 編排順序合理, 可讀性好, 實用性強(qiáng), 有豐富的例題及習(xí)題。
本書可作為高等院校電氣工程及其自動化、 電子與計算機(jī)工程、 自動化、 機(jī)械電子工程、 電子信息工程、 通信工程、 車輛工程等專業(yè)的教材,也可供單片機(jī)嵌入式工程開發(fā)及應(yīng)用等領(lǐng)域的技術(shù)人員閱讀和參考。
目前,單片機(jī)嵌入式系統(tǒng)應(yīng)用技術(shù)已成為一項新的工程應(yīng)用技術(shù),其應(yīng)用進(jìn)入飛速發(fā)展的階段,涉及家用電器、航天、機(jī)器人控制、醫(yī)療、汽車、通信、信息技術(shù)等工業(yè)領(lǐng)域。單片機(jī)作為嵌入式微控制器具有集成度高、功能強(qiáng)、結(jié)構(gòu)簡單、易于掌握、應(yīng)用靈活、可靠性高、價格低廉等優(yōu)點(diǎn),這為掌握、應(yīng)用單片機(jī)嵌入式系統(tǒng)提供了便利條件,同時,單片機(jī)也受到越來越多工程技術(shù)人員的關(guān)注。目前,大多數(shù)國內(nèi)高等院校將單片機(jī)嵌入式系統(tǒng)作為必修課程。
《單片機(jī)嵌入式系統(tǒng)原理及應(yīng)用》第1版于2013年出版,該書在內(nèi)容編排上由淺入深、循序漸進(jìn)、分散難點(diǎn)、突出實用性,使沒有學(xué)過單片機(jī)嵌入式系統(tǒng)的初學(xué)者也能比較順利地閱讀該書。該書出版發(fā)行后,收到了許多高校教師的郵件或來電,對教材內(nèi)容和特點(diǎn)給予了充分肯定,同時也提出了一些改進(jìn)意見。為了使本書的特點(diǎn)更加鮮明,充分反映單片機(jī)嵌入式系統(tǒng)技術(shù)發(fā)展的趨勢,更好地體現(xiàn)培養(yǎng)應(yīng)用型人才的要求,編者對第1版進(jìn)行了修訂。
這次修訂,本著開放、求新、務(wù)實、增強(qiáng)系統(tǒng)性的原則,在第1版的基礎(chǔ)上,進(jìn)一步融合了單片機(jī)嵌入式系統(tǒng)中最新的應(yīng)用技術(shù)。單片機(jī)程序設(shè)計基礎(chǔ)部分補(bǔ)充了KeilC51開發(fā)工具、程序開發(fā)過程以及與C51程序結(jié)構(gòu)相關(guān)知識點(diǎn)的介紹;系統(tǒng)擴(kuò)展與接口技術(shù)部分補(bǔ)充了功能更為強(qiáng)大的8155并行I/O接口芯片的介紹;增加了最新的高速并行D-A轉(zhuǎn)換器DAC1208的介紹;補(bǔ)充了目前廣泛應(yīng)用的單總線技術(shù)的介紹,并詳細(xì)介紹了數(shù)字溫度傳感器DS18B20的應(yīng)用實例。本書配套有中英文PPT教學(xué)課件,以滿足教學(xué)與自學(xué)的需要。
本書可作為本科、?、高職高專等高等院校的電氣工程及其自動化、電子與計算機(jī)工程、自動化、機(jī)械電子工程、電子信息工程、通信工程、車輛工程等相關(guān)專業(yè)的教材,也可供單片機(jī)嵌入式工程開發(fā)及應(yīng)用等領(lǐng)域的技術(shù)人員閱讀和參考。
本書主編王博編寫第12章,賈好來編寫第1章;副主編呂高編寫第9、10章,王愛樂編寫第11章,武興華編寫第2、3、4章;參編郝俊青編寫第5、8章及附錄,李莉編寫第6章,米娟芳編寫第7章。本書由王博負(fù)責(zé)全書的統(tǒng)稿。
在本書的修訂過程中,得到太原理工大學(xué)、江蘇大學(xué)、太原科技大學(xué)、山西大學(xué)有關(guān)領(lǐng)導(dǎo)的大力支持與幫助,得到同行專家與學(xué)者的熱情幫助,他們提出了許多建設(shè)性意見,在此,謹(jǐn)向給予我們支持和幫助的單位和個人表示最誠摯的謝意!
在本書的修訂過程中,參考了國內(nèi)外大量的文獻(xiàn)和資料,在此向這些作者致以衷心的
感謝。
編者
第 2 版前言
第 1 版前言
第 1 章 單片機(jī)嵌入式系統(tǒng)簡介 1
1.1 單片機(jī)嵌入式系統(tǒng)定義 1
1.1.1 通用計算機(jī)系統(tǒng)和嵌入式系統(tǒng) 1
1.1.2 嵌入式系統(tǒng)定義 2
1.1.3 嵌入式系統(tǒng)分類 2
1.2 嵌入式系統(tǒng)中的處理器 3
1.2.1 嵌入式微處理器 3
1.2.2 嵌入式單片機(jī) 4
1.2.3 數(shù)字信號處理器 4
1.2.4 專用系統(tǒng)處理器 4
1.2.5 多處理器系統(tǒng) 5
1.3 單片機(jī)的類型 5
1.3.1 8 位、 16 位、 32 位單片機(jī) 5
1.3.2 CISC 和 RISC 結(jié)構(gòu)單片機(jī) 7
1.3.3 單核、 雙核、 3 核單片機(jī) 7
1.3.4 JTAG 接口在線調(diào)試單片機(jī) 8
1.3.5 總線型單片機(jī)和非總線型單片機(jī) 9
1.3.6 專用型單片機(jī) 9
1.4 Atmel 公司生產(chǎn)的單片機(jī) 10
1.4.1 以 8051 為內(nèi)核的 8 位單片機(jī) 10
1.4.2 精簡指令集 AVR 單片機(jī) 12
1.4.3 基于 ARM 的 32 位單片機(jī) 13
1.5 嵌入式系統(tǒng)中的操作系統(tǒng) 13
1.5.1 嵌入式操作系統(tǒng) 13
1.5.2 實時操作系統(tǒng) 14
1.5.3 分時操作系統(tǒng) 15
1.5.4 嵌入式實時操作系統(tǒng)需要
滿足的條件 15
1.5.5 嵌入式操作系統(tǒng)的現(xiàn)狀 16
1.6 嵌入式系統(tǒng)和單片機(jī)發(fā)展
趨勢 16
本章小結(jié) 17
習(xí)題與思考題 18
第 2 章 8051 單片機(jī)的結(jié)構(gòu)體系 19
2.1 8051 單片機(jī)的主要特性 19
2.2 8051 單片機(jī)的內(nèi)部結(jié)構(gòu) 19
2.3 8051 單片機(jī)的引腳 21
2.4 8051 單片機(jī)的微處理器 23
2.4.1 運(yùn)算器 23
2.4.2 控制器 24
2.5 8051 單片機(jī)的存儲器結(jié)構(gòu) 25
2.5.1 程序存儲器 26
2.5.2 8051 的內(nèi)部數(shù)據(jù)存儲器 27
2.5.3 特殊功能寄存器 ( SFR) 27
2.5.4 位地址空間 30
2.5.5 外部數(shù)據(jù)存儲器 31
2.6 8051 單片機(jī)的并行 I /O 口 31
2.6.1 8051 的 I /O 結(jié)構(gòu) 32
2.6.2 讀 修改 寫特性 33
2.6.3 并行 I /O 口的應(yīng)用要點(diǎn) 34
2.7 8051 的時鐘電路與時序 34
2.7.1 時鐘電路 35
2.7.2 8051 單片機(jī)的時序 35
2.8 8051 的復(fù)位和復(fù)位電路 37
2.8.1 復(fù)位和復(fù)位電路 37
2.8.2 復(fù)位時序 38
2.9 8051 單片機(jī)的低功耗模式 40
2.9.1 空閑工作方式 41
2.9.2 掉電工作方式 41
2.10 AT89S52 的片內(nèi) Flash 串行
編程操作 42
2.10.1 標(biāo)志字節(jié) 42
2.10.2 程序存儲器的加密 42
2.10.3 Flash 存儲器的串行編程 43
2.11 AT89S52 單片機(jī)最小系統(tǒng)
設(shè)計 45
本章小結(jié) 46
習(xí)題與思考題 46
第 3 章 8051 指令系統(tǒng) 48
3.1 匯編語言指令格式 48
3.1.1 匯編語言執(zhí)行指令格式 48
3.1.2 匯編語言偽指令 49
3.2 尋址方式 51
3.2.1 寄存器尋址 51
3.2.2 直接尋址 51
3.2.3 立即尋址 51
3.2.4 寄存器間接尋址 52
3.2.5 基址加變址寄存器間接尋址 52
3.2.6 位尋址方式 52
3.2.7 相對尋址方式 53
3.3 8051 單片機(jī)指令分類 53
3.4 數(shù)據(jù)傳輸指令 54
3.4.1 一般傳輸指令 54
3.4.2 累加器傳輸指令 55
3.5 算術(shù)運(yùn)算指令 56
3.5.1 加法指令 56
3.5.2 減法指令 57
3.5.3 乘法指令和除法指令 58
3.6 邏輯運(yùn)算指令 59
3.6.1 單操作數(shù)指令 59
3.6.2 雙操作數(shù)指令 60
3.6.3 邏輯異或指令 60
3.7 轉(zhuǎn)移控制指令 61
3.7.1 調(diào)用和返回指令 61
3.7.2 無條件轉(zhuǎn)移指令 61
3.7.3 條件轉(zhuǎn)移指令 62
3.7.4 比較轉(zhuǎn)移指令 62
3.7.5 循環(huán)轉(zhuǎn)移指令 63
3.8 空操作指令 63
3.9 位處理指令 63
本章小結(jié) 64
習(xí)題與思考題 65
第 4 章 8051 單片機(jī)程序設(shè)計基礎(chǔ) 66
4.1 匯編語言程序結(jié)構(gòu) 67
4.1.1 簡單程序結(jié)構(gòu) 67
4.1.2 分支結(jié)構(gòu) 68
4.1.3 循環(huán)結(jié)構(gòu) 68
4.1.4 子程序及其參數(shù)傳遞方法 72
4.1.5 中斷服務(wù)程序 75
4.2 8051 單片機(jī)典型匯編程
序設(shè)計 75
4.2.1 無符號的多字節(jié)加法 75
4.2.2 雙字節(jié)二進(jìn)制無符號數(shù)乘法 76
4.2.3 碼制轉(zhuǎn)換程序 77
4.2.4 查表程序 78
4.3 C51 基礎(chǔ) 82
4.3.1 C51 編程概述 82
4.3.2 Keil C51 標(biāo)志符與關(guān)鍵字 83
4.3.3 C51 數(shù)據(jù)與數(shù)據(jù)類型 83
4.3.4 C51 變量及其存儲方式 84
4.3.5 C51 數(shù)據(jù)的存儲類型和
存儲模式 86
4.3.6 C51 對 8051 特殊功能寄存器的
定義 88
4.3.7 C51 對 8051 并行接口的定義 90
4.3.8 中斷服務(wù)函數(shù)與寄存器組的
定義 91
4.3.9 函數(shù)的參數(shù)和局部變量的存儲
器模式 92
4.4 C51 和匯編語言的混合編程 92
4.4.1 函數(shù)名的轉(zhuǎn)換 93
4.4.2 參數(shù)傳遞和函數(shù)返回規(guī)則 93
本章小結(jié) 99
習(xí)題與思考題 99
第 5 章 8051 單片機(jī)嵌入式系統(tǒng)開發(fā)和
仿真 100
5.1 8051 單片機(jī)軟件開發(fā)集成環(huán)境———
Keil μVision4 100
5.2 Keil 項目開發(fā)流程 101
5.3 AT89S5 X 單片機(jī)程序的下載 104
5.3.1 并口 ISP 下載電纜 104
5.3.2 USBISP 下載電纜 105
5.3.3 利用 USBISP 下載電纜下載程序到
AT89S52 105
5.4 8051 單片機(jī) Proteus 仿真
基礎(chǔ) 107
5.4.1 Proteus 仿真平臺 107
5.4.2 Proteus 的基本操作 108
5.4.3 Proteus 和第三方軟件接口 115
5.4.4 Keil 和 Proteus 的聯(lián)合仿真 115
本章小結(jié) 119
習(xí)題與思考題 119
第 6 章 8051 單片機(jī)的中斷系統(tǒng) 120
6.1 微型計算機(jī)中斷技術(shù)概述 120
6.1.1 中斷的概念 120
6.1.2 中