單片機(jī)原理與應(yīng)用(C51語言版)
定 價(jià):55 元
- 作者:歐偉明 等
- 出版時(shí)間:2019/4/1
- ISBN:9787121361258
- 出 版 社:電子工業(yè)出版社
- 中圖法分類:TP368.1;TP312.8
- 頁碼:348
- 紙張:
- 版次:01
- 開本:16開
本書以89S51 為典型機(jī),主要論述單片機(jī)的基本結(jié)構(gòu)與工作原理,以及單片機(jī)應(yīng)用系統(tǒng)的設(shè)計(jì)與開發(fā)方法。全書內(nèi)容分為13 章,內(nèi)容包括概述、單片機(jī)的結(jié)構(gòu)和工作原理、指令系統(tǒng)、單片機(jī)C51 語言程序設(shè)計(jì)基礎(chǔ)、中斷系統(tǒng)、定時(shí)器/計(jì)數(shù)器、單片機(jī)的串行口UART、單片機(jī)常用并行接口技術(shù)、串行總線接口技術(shù)、單片機(jī)應(yīng)用系統(tǒng)開發(fā)環(huán)境、基于嵌入式實(shí)時(shí)操作系統(tǒng)的單片機(jī)程序設(shè)計(jì)方法、基于RTX51的樂曲編輯器和發(fā)生器設(shè)計(jì)、數(shù)控電流源設(shè)計(jì)。書后附錄給出了18 個(gè)單片機(jī)課程設(shè)計(jì)課題,以及單片機(jī)89S51 的指令系統(tǒng)。本書從工程應(yīng)用出發(fā),突出單片機(jī)應(yīng)用技術(shù)的新穎性和實(shí)用性;此外,本書為任課教師免費(fèi)提供電子課件。
歐偉明,湖南工業(yè)大學(xué)信息工程學(xué)院教授,長期從事電子技術(shù)方面的教學(xué)與研究工作,教材成果豐富,出版教材2部,發(fā)表論文多篇。
第1章 概述 1
1.1 單片機(jī)概念與發(fā)展過程 1
1.1.1 單片機(jī)概念 1
1.1.2 單片機(jī)技術(shù)發(fā)展過程 1
1.1.3 單片機(jī)技術(shù)發(fā)展方向 3
1.1.4 常用數(shù)制與編碼 4
1.2 單片機(jī)應(yīng)用領(lǐng)域與嵌入式系統(tǒng)概念 5
1.2.1 單片機(jī)應(yīng)用領(lǐng)域 6
1.2.2 嵌入式系統(tǒng)概念 6
1.3 單片機(jī)應(yīng)用系統(tǒng)開發(fā)過程簡述 8
1.3.1 單片機(jī)編程語言 8
1.3.2 單片機(jī)應(yīng)用系統(tǒng)結(jié)構(gòu) 9
1.3.3 單片機(jī)應(yīng)用模式 10
1.3.4 單片機(jī)應(yīng)用系統(tǒng)開發(fā)過程簡介 11
1.4 本書特點(diǎn)與教材使用建議 12
1.4.1 本書編寫指導(dǎo)思想 13
1.4.2 本書特點(diǎn) 15
1.4.3 教材使用建議 16
1.5 本章小結(jié) 18
1.6 思考題與習(xí)題 19
第2章 單片機(jī)的結(jié)構(gòu)和工作原理 20
2.1 MCS-51系列單片機(jī)概述 20
2.2 89S51單片機(jī)引腳功能說明 21
2.2.1 89S51的引腳圖與封裝 21
2.2.2 89S51的引腳功能說明 22
2.2.3 89S51的引腳應(yīng)用特性 23
2.3 89S51單片機(jī)內(nèi)部結(jié)構(gòu) 24
2.3.1 89S51的基本組成 24
2.3.2 89S51的CPU 26
2.4 89S51單片機(jī)的存儲(chǔ)器 28
2.4.1 程序存儲(chǔ)器 29
2.4.2 數(shù)據(jù)存儲(chǔ)器 29
2.5 89S51單片機(jī)的時(shí)鐘電路與時(shí)序 32
2.5.1 時(shí)鐘電路 32
2.5.2 基本時(shí)序單位 33
2.6 89S51單片機(jī)的工作方式 35
2.6.1 復(fù)位工作方式和復(fù)位電路 35
2.6.2 低功耗工作方式 36
2.6.3 串行ISP編程方式 37
2.7 89S51單片機(jī)的輸入/輸出端口 38
2.7.1 P0端口 38
2.7.2 P1端口 39
2.7.3 P2端口 40
2.7.4 P3端口 40
2.8 本章小結(jié) 41
2.9 思考題與習(xí)題 42
第3章 指令系統(tǒng)* 43
3.1 MCS-51單片機(jī)指令概述 43
3.1.1 指令格式 43
3.1.2 符號(hào)說明 44
3.2 尋址方式 45
3.2.1 寄存器尋址方式 45
3.2.2 直接尋址方式 45
3.2.3 寄存器間接尋址方式 46
3.2.4 立即尋址方式 46
3.2.5 變址尋址方式 46
3.2.6 相對(duì)尋址方式 47
3.2.7 位尋址方式 47
3.3 89S51單片機(jī)的指令系統(tǒng) 47
3.3.1 數(shù)據(jù)傳送類指令 47
3.3.2 算術(shù)運(yùn)算類指令 50
3.3.3 邏輯運(yùn)算及移位類指令 53
3.3.4 控制轉(zhuǎn)移類指令 54
3.3.5 位操作類指令 56
3.4 單片機(jī)匯編語言簡介 58
3.4.1 匯編語言的語句格式 58
3.4.2 偽指令 59
3.4.3 單片機(jī)匯編語言程序設(shè)計(jì) 60
3.5 本章小結(jié) 63
3.6 思考題與習(xí)題 63
第4章 單片機(jī)C51語言程序設(shè)計(jì)基礎(chǔ) 65
4.1 單片機(jī)C51語言概述 65
4.1.1 C51語言在單片機(jī)應(yīng)用系統(tǒng)開發(fā)中的優(yōu)勢(shì) 65
4.1.2 C51語言與標(biāo)準(zhǔn)C語言的比較 65
4.1.3 編寫C51語言程序的基本原則 66
4.2 C51語言關(guān)鍵字與數(shù)據(jù)類型 67
4.2.1 標(biāo)識(shí)符 67
4.2.2 關(guān)鍵字 68
4.2.3 數(shù)據(jù)類型 69
4.3 C51語言數(shù)據(jù) 71
4.3.1 常量 71
4.3.2 變量 72
4.3.3 存儲(chǔ)器類型和存儲(chǔ)器模式 72
4.3.4 數(shù)組 74
4.3.5 指針 75
4.4 C51語言對(duì)單片機(jī)硬件資源的控制 76
4.4.1 特殊功能寄存器(SFR)的定義 76
4.4.2 位變量的定義 77
4.4.3 存儲(chǔ)器和外接I/O端口的絕對(duì)地址訪問 78
4.5 C51語言運(yùn)算符和表達(dá)式 79
4.5.1 運(yùn)算符 79
4.5.2 表達(dá)式 81
4.6 C51語言流程控制語句 81
4.6.1 語句的概念和分類 81
4.6.2 判斷分支(if、switch語句) 82
4.6.3 循環(huán)控制(for、while語句) 84
4.6.4 break、continue、return、goto語句 85
4.7 C51語言函數(shù) 86
4.7.1 函數(shù)的定義 87
4.7.2 函數(shù)的調(diào)用 88
4.7.3 C51語言中斷函數(shù) 89
4.8 C51語言預(yù)處理命令 90
4.8.1 文件包含 90
4.8.2 宏定義 90
4.8.3 條件編譯 91
4.9 C51語言與匯編語言混合編程方法 91
4.9.1 C51語言程序嵌入?yún)R編語句 92
4.9.2 C51語言程序調(diào)用匯編語言子程序 93
4.10 本章小結(jié) 94
4.11 思考題與習(xí)題 95
第5章 中斷系統(tǒng) 96
5.1 中斷 96
5.1.1 中斷的概念 96
5.1.2 中斷的條件和中斷響應(yīng)過程 97
5.2 89S51中斷系統(tǒng)結(jié)構(gòu)與控制 98
5.2.1 89S51的中斷源和中斷入口地址 98
5.2.2 89S51的中斷系統(tǒng)結(jié)構(gòu) 99
5.2.3 中斷控制 100
5.3 中斷應(yīng)用舉例 105
5.3.1 單外部中斷源系統(tǒng)的設(shè)計(jì) 105
5.3.2 多外部中斷源系統(tǒng)的設(shè)計(jì) 106
5.4 本章小結(jié) 107
5.5 思考題與習(xí)題 108
第6章 定時(shí)器/計(jì)數(shù)器 109
6.1 定時(shí)器/計(jì)數(shù)器的結(jié)構(gòu)與控制 109
6.1.1 89S51定時(shí)器/計(jì)數(shù)器的結(jié)構(gòu) 109
6.1.2 定時(shí)器/計(jì)數(shù)器的控制 110
6.2 定時(shí)器/計(jì)數(shù)器的4種工作方式 111
6.2.1 工作方式1 111
6.2.2 工作方式2 112
6.2.3 工作方式3 113
6.2.4 工作方式0 115
6.3 定時(shí)器/計(jì)數(shù)器的應(yīng)用舉例 115
6.3.1 脈沖信號(hào)的產(chǎn)生 115
6.3.2 脈沖寬度的測(cè)量 116
6.4 本章小結(jié) 117
6.5 思考題與習(xí)題 117
第7章 單片機(jī)的串行口UART 119
7.1 串行通信概述 119
7.1.1 串行通信與并行通信 119
7.1.2 串行通信的分類 119
7.1.3 串行通信的數(shù)據(jù)傳送方式 121
7.2 89S51串行口UART的結(jié)構(gòu)與控制 122
7.2.1 串行口UART的結(jié)構(gòu) 122
7.2.2 串行口UART的工作方式 124
7.2.3 串行口UART的波特率計(jì)算 126
7.3 串行口UART的編程及應(yīng)用實(shí)例 128
7.3.1 串行口UART的編程步驟 128
7.3.2 串行口UART應(yīng)用實(shí)例 128
7.4 本章小結(jié) 131
7.5 思考題與習(xí)題 131
第8章 單片機(jī)常用并行接口技術(shù) 133
8.1 鍵盤接口 133
8.1.1 獨(dú)立按鍵 134
8.1.2 矩陣鍵盤 136
8.2 LED顯示器接口 141
8.2.1 LED數(shù)碼管 141
8.2.2 LED數(shù)碼管靜態(tài)顯示接口 142
8.2.3 LED數(shù)碼管動(dòng)態(tài)顯示接口 144
8.3 DAC接口 147
8.3.1 DAC0832芯片介紹 147
8.3.2 DAC0832與89S51的接口電路 148
8.3.3 利用DAC0832輸出各種電壓波形 149
8.4 ADC接口 151
8.4.1 ADC0809芯片介紹 151
8.4.2 ADC0809與89S51的接口電路 153
8.4.3 ADC0809應(yīng)用舉例 154
8.5 液晶顯示模塊LCD1602的接口 155
8.5.1 LCD1602介紹 155
8.5.2 LCD1602與89S51的接口電路 160
8.5.3 LCD1602應(yīng)用舉例 161
8.6 外部并行三總線接口 164
8.7 大功率器件驅(qū)動(dòng)接口 165
8.7.1 光耦接口 166
8.7.2 繼電器接口 166
8.7.3 雙向晶閘管輸出接口 167
8.7.4 固態(tài)繼電器輸出接口 168
8.8 本章小結(jié) 169
8.9 思考題與習(xí)題 169
第9章 串行總線接口技術(shù) 170
9.1 EIA系列總線標(biāo)準(zhǔn)及其接口 170
9.1.1 RS-232C總線 170
9.1.2 RS-485總線 172
9.1.3 單片機(jī)與PC之間的通信 174
9.2 SPI總線 176
9.2.1 SPI總線簡介 176
9.2.2 SPI總線通信協(xié)議 177
9.2.3 E2PROM存儲(chǔ)器AT93C46及其應(yīng)用 177
9.3 I2C總線 180
9.3.1 I2C總線簡介 180
9.3.2 I2C總線通信協(xié)議 181
9.3.3 I2C接口存儲(chǔ)器AT24C02及其應(yīng)用 183
9.4 1-Wire單總線 191
9.4.1 1-Wire單總線簡介 191
9.4.2 溫度傳感器DS18B20及其應(yīng)用 193
9.5 USB總線 198
9.5.1 USB總線原理 198
9.5.2 USB總線通信接口設(shè)計(jì)實(shí)例 200
9.6 CAN總線 202
9.6.1 CAN總線簡介 203
9.6.2 CAN總線控制器 204
9.6.3 CAN總線通信接口設(shè)計(jì)實(shí)例 204
9.7 本章小結(jié) 205
9.8 思考題與習(xí)題 206
第10章 單片機(jī)應(yīng)用系統(tǒng)開發(fā)環(huán)境 207
10.1 單片機(jī)應(yīng)用系統(tǒng)的調(diào)試方法 207
10.1.1 硬件調(diào)試方法 207
10.1.2 軟件仿真調(diào)試方法 209
10.2 Keil μVision4集成開發(fā)環(huán)境 210
10.2.1 Keil μVision4的主要特性 210
10.2.2 Keil μVision4集成開發(fā)環(huán)境設(shè)置方法 211
10.2.3 Keil μVision4工程應(yīng)用 216
10.2.4 Keil C51主要頭文件介紹 226
10.3 Proteus 8仿真軟件 228
10.3.1 Proteus 8主界面介紹 228
10.3.2 Proteus 8繪制電路原理圖 230
10.3.3 Proteus 8仿真調(diào)試 232
10.4 單片機(jī)應(yīng)用系統(tǒng)開發(fā)小工具 233
10.4.1 波特率初值計(jì)算工具 233
10.4.2 數(shù)碼管編碼器 233
10.4.3 定時(shí)器計(jì)算工具 234
10.4.4 串口調(diào)試助手 234
10.5 本章小結(jié) 235
10.6 思考題與習(xí)題 236
第11章 基于嵌入式實(shí)時(shí)操作系統(tǒng)的單片機(jī)程序設(shè)計(jì)方法 237
11.1 嵌入式實(shí)時(shí)操作系統(tǒng)的概念 237
11.1.1 嵌入式系統(tǒng)的特征 237
11.1.2 嵌入式實(shí)時(shí)操作系統(tǒng)的概念 238
11.2 在電子系統(tǒng)設(shè)計(jì)中引入RTOS的意義 238
11.2.1 兩種軟件開發(fā)模式的比較 239
11.2.2 嵌入式應(yīng)用中使用嵌入式RTOS的必要性 239
11.2.3 嵌入式操作系統(tǒng)環(huán)境下的應(yīng)用軟件設(shè)計(jì) 240
11.2.4 嵌入式操作系統(tǒng)環(huán)境下的應(yīng)用軟件調(diào)試 241
11.3 嵌入式實(shí)時(shí)操作系統(tǒng)RTX51的介紹 241
11.3.1 RTX51的技術(shù)參數(shù) 241
11.3.2 幾個(gè)概念 242
11.3.3 RTX Tiny內(nèi)核分析 245
11.3.4 RTX Tiny內(nèi)核源代碼 249
11.4 基于RTX51的單片機(jī)程序設(shè)計(jì)方法 251
11.4.1 目標(biāo)系統(tǒng)需求 251
11.4.2 軟件設(shè)計(jì)指導(dǎo)方針 251
11.4.3 任務(wù)劃分的原則 252
11.4.4 應(yīng)用程序架構(gòu) 254
11.5 本章小結(jié) 256
11.6 思考題與習(xí)題 256
第12章 基于RTX51的樂曲編輯器和發(fā)生器設(shè)計(jì) 257
12.1 設(shè)計(jì)任務(wù) 257
12.2 方案設(shè)計(jì)與論證 257
12.2.1 以FPGA為核心的實(shí)現(xiàn)方案 257
12.2.2 以MCU為核心的實(shí)現(xiàn)方案 257
12.3 系統(tǒng)硬件設(shè)計(jì) 258
12.3.1 系統(tǒng)硬件電路原理圖 258
12.3.2 人機(jī)交互界面 259
12.4 基于RTX51的系統(tǒng)軟件設(shè)計(jì) 260
12.4.1 樂曲的表示方法 260
12.4.2 編輯樂曲的軟件實(shí)現(xiàn)方法 261
12.4.3 播放樂曲的軟件實(shí)現(xiàn)方法 262
12.4.4 系統(tǒng)軟件流程框圖 264
12.5 系統(tǒng)源程序清單 265
12.5.1 C51語言主程序 265
12.5.2 讀AT24C02匯編語言子程序 276
12.5.3 寫AT24C02匯編語言子程序 279
12.5.4 鍵盤掃描匯編語言子程序 281
12.5.5 實(shí)時(shí)操作系統(tǒng)RTX51 Tiny內(nèi)核程序 283
12.6 系統(tǒng)設(shè)計(jì)總結(jié) 283
第13章 數(shù)控電流源設(shè)計(jì) 284
13.1 設(shè)計(jì)任務(wù) 284
13.2 方案設(shè)計(jì)與論證 284
13.2.1 D/A轉(zhuǎn)換模塊設(shè)計(jì)方案的論證與比較 285
13.2.2 恒流源模塊設(shè)計(jì)方案的論證與比較 285
13.2.3 數(shù)據(jù)采集模塊設(shè)計(jì)方案的論證與比較 286
13.2.4 輔助電源、主電源設(shè)計(jì)方案的論證與比較 287
13.2.5 鍵盤、顯示器設(shè)計(jì)方案的論證與比較 288
13.3 理論計(jì)算與EWB仿真 288
13.3.1 采樣電阻值的確定 288
13.3.2 D/A轉(zhuǎn)換器分辨率的確定 289
13.3.3 TLC5618參考電壓的確定 289
13.3.4 主電源參數(shù)的確定 289
13.3.5 用EWB進(jìn)行電路仿真 289
13.4 系統(tǒng)硬件設(shè)計(jì) 291
13.4.1 MCU微控制器、鍵盤、顯示器電路圖 291
13.4.2 D/A轉(zhuǎn)換模塊、恒流源模塊的電路圖 291
13.4.3 數(shù)據(jù)采集模塊的電路圖 294
13.4.4 輔助電源、主電源的電路圖 294
13.5 系統(tǒng)軟件設(shè)計(jì) 298
13.5.1 主程序流程框圖 298
13.5.2 設(shè)置輸出電流給定值功能函數(shù)程序流程框圖 299
13.5.3 設(shè)置電流步進(jìn)值功能函數(shù)程序流程框圖 299
13.5.4 鍵盤掃描程序流程框圖 300
13.6 系統(tǒng)測(cè)試方法與結(jié)果分析 300
13.6.1 測(cè)試使用的儀器 300
13.6.2 恒流特性的測(cè)試 301
13.6.3 電流步進(jìn)值為1mA的測(cè)試 301
13.6.4 紋波電流的測(cè)試 302
13.6.5 輸出電流范圍的測(cè)試 302
13.6.6 輸出電壓的測(cè)試 302
13.6.7 1~99mA內(nèi)任意電流步進(jìn)值設(shè)置功能的測(cè)試 303
13.6.8 測(cè)試結(jié)果分析 303
13.7 系統(tǒng)使用說明書 303
13.7.1 鍵盤界面 304
13.7.2 菜單操作 305
13.8 系統(tǒng)源程序清單 305
13.8.1 C51語言主程序 305
13.8.2 鍵盤掃描匯編語言子程序 316
13.8.3 寫TLC5618的匯編語言子程序 318
13.8.4 讀MC14433的匯編語言子程序 319
13.8.5 顯示緩沖器的匯編語言子程序 320
13.9 系統(tǒng)設(shè)計(jì)總結(jié) 321
附錄A 單片機(jī)課程設(shè)計(jì) 322
附錄B 89S51指令表 331