本書全面系統(tǒng)地講述了MCS-51系列單片機(jī)的基本結(jié)構(gòu)和工作原理、基本系統(tǒng)、指令系統(tǒng)、匯編語言程序設(shè)計、并行和串行擴(kuò)展方法、人機(jī)接口、SPI和I2C等串行數(shù)據(jù)總線接口,以及C語言程序開發(fā)、Proteus下單片機(jī)仿真等單片機(jī)應(yīng)用方面的內(nèi)容。針對嵌入式系統(tǒng)的發(fā)展趨勢,推出了ARM嵌入式處理器,通過μC/OS-Ⅱ介紹了嵌入式操作系統(tǒng)及軟件開發(fā),以STM32F103xx系列微控制器為例,說明了基于ARM內(nèi)核的嵌入式微控制器的應(yīng)用。每章都附有習(xí)題,以供課后練習(xí)。附錄中還列出了單片機(jī)應(yīng)用資料的網(wǎng)上查詢方法等內(nèi)容。
第1章 緒論
1.1 單片機(jī)與嵌入式系統(tǒng)發(fā)展概況
1.1.1單片機(jī)的發(fā)展歷史
1.1.2嵌入式系統(tǒng)的產(chǎn)生和發(fā)展
1.1.3嵌入式系統(tǒng)的特點(diǎn)
1.1.4 典型的嵌入式單片機(jī)產(chǎn)品
1.2 單片機(jī)的嵌入式應(yīng)用領(lǐng)域和應(yīng)用方式
習(xí)題1
第2章 單片機(jī)的基本結(jié)構(gòu)與工作原理
2.1 MCS-51系列單片機(jī)總體結(jié)構(gòu)
2.1.1 8051單片機(jī)的引腳描述
2.1.2 8051單片機(jī)的硬件資源
2.1.3 8051單片機(jī)的片外總線結(jié)構(gòu)
2.2 時鐘電路及CPU的工作時序
2.2.1 時鐘電路
2.2.2 CPU的工作時序
2.3 存貯器組織
2.3.1 程序存貯器
2.3.2 內(nèi)部RAM數(shù)據(jù)存貯器
2.3.3 特殊功能寄存器
2.3.4 位尋址區(qū)
2.3.5 外部RAM和I/O口
2.4 CHMOS型單片機(jī)的低功耗工作方式
2.4.1 空閑方式
2.4.2 掉電方式
2.4.3 節(jié)電方式的應(yīng)用
習(xí)題2
第3章 單片機(jī)的指令系統(tǒng)
3.1 指令格式
3.1.1 匯編指令
3.1.2 [偽指令]指令類型
3.1.3 單片機(jī)助記符語言
3.1.4 常用的縮寫符號
3.2 尋址方式
3.2.1 寄存器尋址
3.2.2 立即尋址
3.2.3 直接尋址
3.2.4 寄存器間接尋址
3.2.5 基寄存器加變址寄存器間接尋址
3.2.6 “相對尋址”
3.2.7 “位尋址”
3.3 指令的類型、字節(jié)和周期
3.3.1 指令系統(tǒng)的結(jié)構(gòu)及分類
3.3.2 指令的字節(jié)和周期
3.4 數(shù)據(jù)傳送指令
3.4.1 一般傳送指令
3.4.2累加器專用數(shù)據(jù)交換指令
3.5 算術(shù)運(yùn)算指令
3.5.1加減指令
3.5.2乘法和除法指令
3.6 邏輯運(yùn)算指令
3.6.1 累加器A的邏輯運(yùn)算指令
3.6.2 兩個操作數(shù)的邏輯運(yùn)算指令
3.6.3 單位變量邏輯運(yùn)算指令
3.6.4 雙位變量邏輯運(yùn)算指令
3.7 控制轉(zhuǎn)移指令
3.7.1 無條件轉(zhuǎn)移指令
3.7.2 條件轉(zhuǎn)移指令
3.7.3 子程序調(diào)用和返回指令
習(xí)題3
第4章 單片機(jī)的其它片內(nèi)功能部件
4.1 并行口
4.1.1 P1口
4.1.2 P2口
4.1.3 P0口
4.1.4 P3口
4.2 定時器/計數(shù)器
4.2.1 定時器的一般結(jié)構(gòu)和工作原理
4.2.2 定時器/計數(shù)器T0和T1
4.2.3 (8052等單片機(jī)的)定時器/計數(shù)器T2
4.3 串行通信接口
4.3.1 串行通信及基礎(chǔ)知識
4.3.2 串行接口的組成和特性
4.3.2 串行接口的工作方式
4.3.3 波特率設(shè)計
4.3.4 單片機(jī)雙機(jī)通訊和多機(jī)通信
4.4 中斷系統(tǒng)
4.4.1 中選系統(tǒng)概述
4.4.2 中斷處理過程
4.4.3 中斷的應(yīng)用
習(xí)題4
第5章 匯編語言程序設(shè)計
5.1匯編語言概述
5.1.1 匯編語言的優(yōu)點(diǎn)
5.1.2 匯編語言程序設(shè)計的步驟
5.1.3評價程序質(zhì)量的標(biāo)準(zhǔn)
5.2 簡單程序設(shè)計
5.3 分支程序
5.3.1簡單分支程序
5.3.2多重分支程序
5.3.3 N路分支程序
5.4 循環(huán)程序
5.4.1 循環(huán)程序的導(dǎo)出
5.4.2編寫循環(huán)程序應(yīng)注意的問題
5.5查表程序
5.6子程序的設(shè)計及其調(diào)用
5.6.1子程序的概念
5.6.2調(diào)用子程序的要點(diǎn)
5.6.3子程序的調(diào)用及嵌套
習(xí)題5
第6章 單片機(jī)系統(tǒng)的并行擴(kuò)展
6.1 MCS-51系統(tǒng)的并行擴(kuò)展原理
6.1.1 MCS-51并行擴(kuò)展總線
6.1.2 地址譯碼方法
6.2 程序存貯器擴(kuò)展
6.2.1 常用EPROM存貯器電路
6.2.2 程序存貯器擴(kuò)展方法
6.3 數(shù)據(jù)存貯器RAM的擴(kuò)展
6.3.1 常用的數(shù)據(jù)存貯器
6.3.2 RAM存貯器擴(kuò)展方法
6.4 并行接口的擴(kuò)展
6.4.1 用74系列器件擴(kuò)展并行I/O口
6.4.2 可編程并行I/O擴(kuò)展接口8255A
6.4.3 帶RAM和計數(shù)器的可編程并行I/O擴(kuò)展接口8155
6.5 D/A接口的擴(kuò)展
6.5.1 梯形電阻式D/A轉(zhuǎn)換原理
6.5.2 DAC0832
6.6 A/D接口的擴(kuò)展
6.6.1 MC14433接口方法
6.6.2 ADC0809
習(xí)題6
第7章 單片機(jī)系統(tǒng)的串行擴(kuò)展
7.1 MCS-51系統(tǒng)的串行擴(kuò)展原理
7.1.1 SPI三線總線
7.1.2 I2C公用雙總線
7.2 單片機(jī)的外部串行擴(kuò)展
7.2.1 串行擴(kuò)展E2PROM
7.2.2 串行擴(kuò)展I/O接口
7.2.3 串行擴(kuò)展A/D轉(zhuǎn)換器
習(xí)題7
第8章 單片機(jī)的人機(jī)接口
8.1 鍵盤接口
8.1.1 鍵盤的工作原理和掃描方式
8.1.2 鍵盤的接口電路
8.1.3 鍵盤輸入程序設(shè)計方法
8.2 LED顯示器接口
8.2.1 LED顯示器的工作原理
8.2.2 LED顯示器的工作方式和顯示程序設(shè)計
8.3 LCD顯示器接口
8.3.1 LCD顯示器的工作原理
8.3.2 LCD顯示器的接口電路和顯示程序設(shè)計
8.4 8279專用鍵盤顯示器
8.4.1 8279的內(nèi)部原理
8.4.2 8279的引腳分析
8.4.3 8279的鍵盤顯示器電路
8.4.4 8279的設(shè)置
習(xí)題8
第9章 MCS-51單片機(jī)系統(tǒng)的開發(fā)與應(yīng)用
9.1 單片機(jī)應(yīng)用系統(tǒng)的研制過程
9.1.1 總體設(shè)計
9.1.2 硬件設(shè)計
9.1.3 可靠性設(shè)計
9.1.4 軟件設(shè)計
9.1.5 系統(tǒng)調(diào)試
9.2 磁電機(jī)性能智能測試臺的研制
9.2.1 系統(tǒng)概述
9.2.2 測試系統(tǒng)硬件設(shè)計
9.2.3 測控算法
9.2.4 程序設(shè)計
9.2.5 實驗結(jié)果
9.3 水產(chǎn)養(yǎng)殖水體多參數(shù)測控儀
9.3.1 系統(tǒng)概述
9.3.2 水體多參數(shù)測控儀的基本組成及工作原理
9.3.3 硬件設(shè)計
9.3.4 軟件設(shè)計
9.3.5 可靠性措施
9.3.6 運(yùn)行效果
9.4 課程設(shè)計用單片機(jī)溫度控制實驗裝置的研制
9.4.1 系統(tǒng)的組成及控制原理
9.4.2 控制系統(tǒng)軟件編制
9.4.3 課程設(shè)計的安排
9.4.4 教學(xué)效果
9.5 單片機(jī)的C語言程序開發(fā)
9.5.1 Keil IDE μVision2集成開發(fā)環(huán)境
9.5.2 Wave6000 IDE集成開發(fā)環(huán)境
9.5.3 常用的C語言程序模塊和主程序結(jié)構(gòu)
9.6 Proteus ISIS軟件簡介
9.6.1 Proteus ISIS軟件的工作界面
9.6.2 Proteus ISIS環(huán)境下的電路圖設(shè)計
9.6.3 Proteus下單片機(jī)仿真
習(xí)題9
第10章 嵌入式系統(tǒng)及ARM嵌入式處理器
10.1 嵌入式系統(tǒng)的概念
10.2 嵌入式系統(tǒng)的組成
10.2.1 嵌入式處理器
10.2.2 外圍設(shè)備
10.2.3 嵌入式操作系統(tǒng)
10.2.4 應(yīng)用軟件
10.3 嵌入式系統(tǒng)的分類
10.4 嵌入式處理器的分類
10.4.1.嵌入式微處理器(Embedded MicroProcessor Unit,EMPU)
10.4.2.嵌入式微控制器(MicroControllerUnit,MCU)
10.4.3.嵌入式DSP處理器(Embedded Digital Signal Processor,EDSP)
10.4.4嵌入式片上系統(tǒng)(SystemonChip,SoC)
10.5 嵌入式處理器的技術(shù)指標(biāo)
10.6 如何選擇嵌入式處理器
10.6.1 選擇處理器的總原則
10.6.2 選擇嵌入式處理器的具體方法
10.7嵌入式ARM處理器基礎(chǔ)
10.7.1 ARM處理器系列
10.7.2 ARM處理器體系結(jié)構(gòu)
10.7.3 ARM處理器應(yīng)用選型
10.8 ARM處理器的工作狀態(tài)和工作模式
10.8.1 ARM處理器的工作狀態(tài)
10.8.2 ARM處理器的工作模式
10.9 ARM處理器的寄存器組織
10.9.1 ARM狀態(tài)下的寄存器組織
10.9.2 Thumb狀態(tài)下的寄存器組織
10.9.3 程序狀態(tài)寄存器
10.10 ARM處理器的存儲器組織
10.11 ARM體系結(jié)構(gòu)所支持的異常
習(xí)題 10
第11章 嵌入式操作系統(tǒng)及軟件開發(fā)
11.1 嵌入式操作系統(tǒng)的概述
11.1.1 嵌入式操作系統(tǒng)的特點(diǎn)
11.1.2 嵌入式操作系統(tǒng)的分類
11.1.3 使用嵌入式操作系統(tǒng)的必要性
11.1.4 常見的嵌入式操作系統(tǒng)
11.2 嵌入式操作系統(tǒng)內(nèi)核基礎(chǔ)
11.2.1 多進(jìn)程和多線程
11.2.2任務(wù)
11.2.3 任務(wù)切換
11.2.4 內(nèi)核
11.2.5 任務(wù)調(diào)度
11.2.6 任務(wù)間的通信與同步
11.3 嵌入式操作系統(tǒng)μC/OS-Ⅱ簡介
11.3.1 嵌入式操作系統(tǒng)μC/OS-Ⅱ概述
11.3.2 嵌入式操作系統(tǒng)μC/OS-Ⅱ的軟件體系結(jié)構(gòu)
11.4 嵌入式操作系統(tǒng)μC/OS-Ⅱ在ARM上的移植
11.4.1 移植條件
11.4.2 移植步驟
11.5嵌入式系統(tǒng)軟件開發(fā)
11.5.1 嵌入式軟件結(jié)構(gòu)和組成
11.5.2嵌入式操作系統(tǒng)運(yùn)行的必要條件
11.5.3嵌入式系統(tǒng)軟件運(yùn)行運(yùn)行流程
11.5.4 無操作系統(tǒng)的嵌入式系統(tǒng)軟件設(shè)計
11.5.5 有操作系統(tǒng)的嵌入式系統(tǒng)軟件設(shè)計
習(xí)題11
第12章 基于ARM內(nèi)核的STM32系列嵌入式微控制器及應(yīng)用
12.1 Cortex-M3簡介
12.2 STM32的發(fā)展
12.3 STM32F103xx系列微控制器簡介
12.3.1 STM32F103xx系列微控制器的主要特性
12.3.2 STM32F103xx系列微控制器的內(nèi)部結(jié)構(gòu)
12.4 STM32的A/D轉(zhuǎn)換器及應(yīng)用
12.4.1 ADC硬件結(jié)構(gòu)及功能
13.4.2 ADC工作模式
12.4.3 ADC數(shù)據(jù)對齊和中斷
12.4.4 ADC控制寄存器
12.5 ADC程序設(shè)計
習(xí)題12
附錄A 單片機(jī)應(yīng)用資料的網(wǎng)上查詢方法
附錄B MCS-51單片機(jī)的指令表
參考文獻(xiàn)