本書將微型計算機原理的基礎(chǔ)性與嵌入式系統(tǒng)的先進(jìn)性結(jié)合在一起,從計算機基礎(chǔ)知識入手,全面介紹微型計算機的基本組成和原理,內(nèi)容包括微處理器結(jié)構(gòu)、尋址方式和指令系統(tǒng)、匯編語言程序設(shè)計、輸入/輸出接口方式、微型計算機與外部設(shè)備的數(shù)據(jù)傳輸方式、中斷技術(shù)和總線技術(shù)、可編程定時器/計數(shù)器、串/并行接口技術(shù)、存儲器設(shè)計技術(shù)、A/D與D/A轉(zhuǎn)換技術(shù)等。嵌入式系統(tǒng)的內(nèi)容包括嵌入式系統(tǒng)概述、嵌入式系統(tǒng)硬件基礎(chǔ)、單片機結(jié)構(gòu)與工作原理、單片機最小系統(tǒng)應(yīng)用基礎(chǔ)、ARM嵌入式微處理器及接口技術(shù)等。
本書可作為計算機科學(xué)與技術(shù)、軟件工程、電子信息工程、電氣工程及其自動化、通信與電子類專業(yè)的學(xué)生教材,也可作為相關(guān)領(lǐng)域工程技術(shù)人員的參考書。
本書不同于以往同類參考書籍中簡單羅列刻板理論知識,明確了注重應(yīng)用性的定位,對基本知識進(jìn)行簡單介紹,對實用性知識進(jìn)行詳細(xì)介紹,滿足讀者將所學(xué)知識應(yīng)用于實踐項目的需求,為電子信息相關(guān)專業(yè)的大學(xué)生掌握今后工作所需技能打下良好的基礎(chǔ)。
任保全,軍事科學(xué)院系統(tǒng)工程研究院高級工程師,軍事通信學(xué)博士,通信與信息系統(tǒng)博士后。主要從事通信網(wǎng)絡(luò)技術(shù)研究,主持或參與國防通信網(wǎng)絡(luò)領(lǐng)域重要科研項目多項,研究成果獲省部級科技進(jìn)步獎二、三等獎多項,授權(quán)國防專利5項,出版編著3部,發(fā)表學(xué)術(shù)論文50余篇。
詹杰,湖南科技大學(xué)物理與電子科學(xué)學(xué)院教授,博士(后),Southern Illinois University高級訪問學(xué)者。湖南省組織部、人社廳、科技廳科技特派專家,《物聯(lián)網(wǎng)學(xué)報》編委,從事物聯(lián)網(wǎng)、近距離無線通信、嵌入式系統(tǒng)等方向的研究。從教25年,主持微機原理、單片機原理兩門課的教學(xué)16年,獲“兩滲透、三結(jié)合”,“嵌入式理工滲透人才培養(yǎng)模式的探索”獲湖南省普通高校教學(xué)成果三等獎一項。主持多項國家級項目,主持湖南省教育廳教研教改項目一項。出版專著一本,譯著一本(參編),教材兩部(參編)。
第 1章 微型計算機基礎(chǔ) 1
1.1 數(shù)字信號 1
1.2 數(shù)制的轉(zhuǎn)換、運算與編碼 2
1.3 計算機中的數(shù)值表示 4
1.3.1 機器數(shù)和真值 4
1.3.2 原碼、反碼、補碼 5
1.3.3 原碼、反碼、補碼的關(guān)系 5
1.4 常用編碼方案 6
1.4.1 BCD碼 6
1.4.2 ASCII碼 7
1.4.3 Unicode 8
1.4.4 非ASCII碼 9
1.5 數(shù)字電路基礎(chǔ) 9
1.5.1 邏輯門 9
1.5.2 IC分類 12
1.5.3 寄存器 12
1.5.4 多路復(fù)用器和譯碼器 14
1.6 計算機體系結(jié)構(gòu) 15
1.6.1 微型計算機的組成 15
1.6.2 CPU架構(gòu) 16
1.6.3 計算機總線 17
1.6.4 CPU結(jié)構(gòu) 18
思考題 19
第 2章 8086微處理器 21
2.1 8086微處理器結(jié)構(gòu) 21
2.1.1 8086微處理器內(nèi)部結(jié)構(gòu) 21
2.1.2 8086程序執(zhí)行流程 23
2.1.3 8086的寄存器結(jié)構(gòu) 23
2.2 8086的引腳及功能 26
2.2.1 8086的引腳功能 26
2.2.2 8086的最小模式和最大模式 30
2.3 8086的存儲器結(jié)構(gòu) 31
2.3.1 存儲器組織與數(shù)據(jù)存儲格式 31
2.3.2 存儲器分段結(jié)構(gòu) 33
2.3.3 邏輯地址與物理地址的轉(zhuǎn)換 35
2.3.4 堆!36
2.4 8086 I/O結(jié)構(gòu) 37
2.4.1 I/O接口的功能及基本結(jié)構(gòu) 37
2.4.2 I/O端口的編址方式 38
2.4.3 I/O的控制方式 38
思考題 40
第3章 8086的指令系統(tǒng) 41
3.1 8086指令的特點 41
3.2 8086的尋址方式 42
3.2.1 尋址方式說明 42
3.2.2 尋址方式種類 43
3.3 8086的指令格式及數(shù)據(jù)類型 49
3.3.1 匯編語言的語句格式 50
3.3.2 匯編語言中的符號、數(shù)據(jù)和表達(dá)式 51
3.4 8086的指令集 53
3.4.1 數(shù)據(jù)傳送類指令 53
3.4.2 算術(shù)運算類指令 59
3.4.3 位操作指令 67
3.4.4 串處理指令 69
3.4.5 控制轉(zhuǎn)移類指令 71
3.4.6 處理器控制類指令 73
思考題 74
第4章 8086匯編語言程序設(shè)計 76
4.1 程序設(shè)計語言概述 76
4.2 8086匯編語言中的偽指令 76
4.2.1 符號定義語句 77
4.2.2 變量定義語句 78
4.2.3 段定義語句 80
4.2.4 段分配語句 84
4.2.5 過程定義語句 84
4.2.6 結(jié)束語句 85
4.3 8086匯編語言中的運算符 85
4.3.1 常用運算符和操作符 85
4.3.2 運算符的優(yōu)先級 89
4.4 匯編語言程序設(shè)計 89
4.4.1 匯編語言程序設(shè)計基本步驟 89
4.4.2 順序結(jié)構(gòu)程序設(shè)計 90
4.4.3 分支結(jié)構(gòu)程序設(shè)計 92
4.4.4 循環(huán)結(jié)構(gòu)程序設(shè)計 95
4.5 宏與宏調(diào)用 101
4.5.1 宏概念 101
4.5.2 宏指令應(yīng)用舉例 102
4.6 匯編語言程序設(shè)計與上機調(diào)試 103
4.6.1 匯編語言程序設(shè)計實例 103
4.6.2 DOS功能調(diào)用與子程序設(shè)計 109
4.6.3 BIOS功能調(diào)用 112
4.6.4 子程序設(shè)計 113
4.6.5 匯編語言程序上機調(diào)試 118
思考題 119
第5章 存儲器及微型計算機存儲系統(tǒng) 121
5.1 存儲器的概念及分類 121
5.1.1 存儲器概述 121
5.1.2 存儲器的分類 121
5.1.3 存儲器的性能指標(biāo) 124
5.2 多級存儲結(jié)構(gòu) 125
5.3 主存儲器 128
5.3.1 主存儲器概述 128
5.3.2 半導(dǎo)體存儲器的基本結(jié)構(gòu) 129
5.3.3 隨機存取存儲器 131
5.3.4 只讀存儲器 136
5.4 閃存 139
5.4.1 閃存工作原理 139
5.4.2 閃存分類 140
5.4.3 NOR閃存 141
5.4.4 NAND閃存 142
5.4.5 應(yīng)用原則 143
5.5 8086中的存儲器管理 143
5.5.1 存儲器接口設(shè)計 143
5.5.2 存儲器的擴展 144
思考題 148
第6章 微型計算機接口技術(shù) 150
6.1 I/O接口概述 150
6.1.1 I/O接口的功能 150
6.1.2 I/O接口中的信息類型 152
6.1.3 I/O接口的典型結(jié)構(gòu) 152
6.2 I/O端口編址 153
6.2.1 I/O端口的尋址方式 153
6.2.2 I/O端口地址的形成 154
6.3 輸入/輸出的處理方式 155
6.3.1 程序控制傳輸方式 156
6.3.2 直接存儲器存取方式 156
6.4 CPU與外部設(shè)備的接口 157
6.4.1 同步傳輸方式與接口 157
6.4.2 異步查詢方式與接口 159
6.5 8086的輸入/輸出 162
6.5.1 8086的I/O指令 162
6.5.2 8086的I/O特點 162
6.6 可編程并行接口芯片8255A 163
6.6.1 8255A的外部特性和內(nèi)部結(jié)構(gòu) 164
6.6.2 8255A的編程命令 167
6.6.3 8255A的工作方式 168
6.6.4 8255A的應(yīng)用舉例 174
6.7 定時器/計數(shù)器 178
6.7.1 定時/計數(shù)概述 178
6.7.2 定時器/計數(shù)器8253 180
6.7.3 8253的外部特性 180
6.7.4 8253的內(nèi)部邏輯結(jié)構(gòu)與功能 181
6.7.5 8253的編程命令與讀/寫操作 182
6.7.6 8253的工作方式及其特點 184
6.7.7 8253應(yīng)用舉例 190
思考題 197
第7章 中斷 198
7.1 中斷原理 198
7.1.1 從無條件傳輸、條件傳輸?shù)街袛鄠鬏敗?98
7.1.2 中斷概念 201
7.2 中斷系統(tǒng)組成及其功能 202
7.2.1 與中斷有關(guān)的觸發(fā)器 202
7.2.2 中斷響應(yīng)條件 203
7.2.3 8086中斷系統(tǒng) 204
7.2.4 中斷響應(yīng)過程 205
7.2.5 8086的中斷向量 209
7.3 可編程中斷控制器8259A 211
7.3.1 8259A的內(nèi)部結(jié)構(gòu)及引腳分配 212
7.3.2 8259A的中斷管理方式 214
7.3.3 8259A的編程與應(yīng)用 216
7.4 IBM PC硬件中斷 220
7.4.1 IBM PC中斷設(shè)置 220
7.4.2 中斷應(yīng)用舉例 221
思考題 222
第8章 串行通信 224
8.1 串行通信概述 224
8.1.1 串行通信的數(shù)據(jù)傳輸方式 225
8.1.2 數(shù)據(jù)傳輸協(xié)議 225
8.2 RS-232C標(biāo)準(zhǔn) 228
8.2.1 信號接口 228
8.2.2 電氣特性 230
8.2.3 MAX232 231
8.2.4 RS-232C標(biāo)準(zhǔn)接口在通信中的連接 233
8.3 SPI通信接口 234
8.3.1 SPI概述 234
8.3.2 SPI定義及通信原理 234
8.3.3 DS1302實時時鐘 236
8.4 I2C通信接口 239
8.4.1 I2C概述 239
8.4.2 I2C的連接及尋址方式 240
8.4.3 I2C協(xié)議 241
8.4.4 24C04基本應(yīng)用 243
8.5 USB通信接口 245
8.5.1 USB概述 245
8.5.2 USB系統(tǒng)的組成 247
8.5.3 USB協(xié)議中的基本概念 248
8.5.4 USB通信傳輸方式 250
8.6 CAN總線接口 252
8.6.1 CAN總線概述 252
8.6.2 CAN的報文傳輸 253
8.7 可編程串行通信接口芯片8251 254
8.7.1 8251的結(jié)構(gòu)及引腳 254
8.7.2 8251的初始化 256
8.7.3 8251的初始化編程 258
8.8 USB轉(zhuǎn)接芯片CH341 260
8.8.1 CH341概述 260
8.8.2 CH341引腳定義 261
8.8.3 功能說明 263
思考題 266
第9章 A/D與D/A轉(zhuǎn)換 267
9.1 A/D轉(zhuǎn)換簡介 267
9.1.1 概述 267
9.1.2 模擬信號的取樣、量化和編碼 268
9.1.3 主要性能指標(biāo) 269
9.1.4 A/D轉(zhuǎn)換原理 270
9.1.5 A/D轉(zhuǎn)換器的應(yīng)用 272
9.2 A/D轉(zhuǎn)換設(shè)計 276
9.2.1 A/D轉(zhuǎn)換器 276
9.2.2 模擬接口插件卡 278
9.3 D/A轉(zhuǎn)換器 280
9.3.1 D/A轉(zhuǎn)換器的工作原理 280
9.3.2 D/A轉(zhuǎn)換器的性能和指標(biāo) 281
9.3.3 D/A轉(zhuǎn)換器的應(yīng)用 281
9.3.4 D/A轉(zhuǎn)換器TLC5620 283
9.4 A/D與D/A轉(zhuǎn)換應(yīng)用設(shè)計 286
思考題 289
第 10章 嵌入式系統(tǒng) 290
10.1 嵌入式系統(tǒng)概述 290
10.1.1 嵌入式系統(tǒng)的定義 290
10.1.2 嵌入式系統(tǒng)的特點 291
10.1.3 嵌入式系統(tǒng)的分類 292
10.1.4 嵌入式處理器的發(fā)展?fàn)顩r 293
10.1.5 嵌入式軟件的發(fā)展情況 294
10.1.6 嵌入式系統(tǒng)的發(fā)展情況 295
10.1.7 ARM的世界 295
10.2 嵌入式系統(tǒng)開發(fā)設(shè)計 297
10.2.1 嵌入式系統(tǒng)設(shè)計概述 297
10.2.2 嵌入式系統(tǒng)開發(fā)模型 298
10.2.3 嵌入式系統(tǒng)開發(fā)過程 299
10.2.4 嵌入式系統(tǒng)設(shè)計的核心技術(shù) 301
10.2.5 嵌入式開發(fā)設(shè)計環(huán)境 303
10.2.6 系統(tǒng)設(shè)計 303
10.3 嵌入式系統(tǒng)的開發(fā)工具 305
10.3.1 開發(fā)工具的組成 305
10.3.2 集成的IDE工具 307
10.4 嵌入式系統(tǒng)的調(diào)試方法 309
10.4.1 基于主機的調(diào)試 309
10.4.2 遠(yuǎn)程調(diào)試器與調(diào)試內(nèi)核 309
10.4.3 ROM仿真器 310
10.4.4 ICE 311
10.4.5 JTAG 312
10.5 嵌入式系統(tǒng)的應(yīng)用 313
思考題 314
第 11章 單片機基礎(chǔ)與C語言開發(fā)技術(shù) 315
11.1 MCS-51系列單片機 315
11.1.1 單片機簡介 315
11.1.2 單片機的發(fā)展史 315
11.1.3 MCS-51系列單片機分類 316
11.1.4 51內(nèi)核單片機 317
11.1.5 MCS-51系列單片機的結(jié)構(gòu)及引腳功能 319
11.1.6 單片機的應(yīng)用 323
11.2 MCS-51系列單片機的存儲器結(jié)構(gòu) 324
11.2.1 MCS-51系列單片機存儲器空間 324
11.2.2 特殊功能寄存器 325
11.3 時鐘電路與時序 329
11.3.1 時鐘電路 329
11.3.2 時序 330
11.3.3 復(fù)位電路 331
11.4 并行I/O端口結(jié)構(gòu) 332
11.5 單片機C語言程序設(shè)計基礎(chǔ) 336
11.5.1 C51語言 336
11.5.2 C51數(shù)據(jù)類型 336
11.5.3 C51數(shù)據(jù)存儲類型 338
11.5.4 C51運算符、表達(dá)式及規(guī)則 339
11.5.5 C51流程控制語句 341
11.5.6 C51 函數(shù) 344
思考題 347
第 12章 單片機應(yīng)用基礎(chǔ) 349
12.1 定時器/計數(shù)器 349
12.1.1 定時器/計數(shù)器的結(jié)構(gòu)和功能 349
12.1.2 方式寄存器和控制寄存器 350
12.1.3 定時器/計數(shù)器的工作方式 351
12.1.4 定時器/計數(shù)器初始化 354
12.1.5 定時器/計數(shù)器綜合應(yīng)用案例 355
12.1.6 定時器/計數(shù)器使用注意事項 359
12.2 MCS-51系列單片機中斷系統(tǒng) 359
12.2.1 中斷的概念 359
12.2.2 MCS-51系列單片機中斷系統(tǒng) 360
12.2.3 中斷的處理過程 362
12.2.4 中斷系統(tǒng)應(yīng)用 363
12.3 單片機系統(tǒng)擴展 366
12.3.1 單片機的片外總線結(jié)構(gòu) 367
12.3.2 外部程序存儲器擴展 368
12.3.3 外部數(shù)據(jù)存儲器擴展 370
12.4 單片機鍵盤及顯示接口 372
12.4.1 鍵盤接口原理 372
12.4.2 顯示接口原理 374
思考題 378