《單片機(jī)原理與接口技術(shù)(第2版)》為普通高等教育“十一五”國(guó)家級(jí)規(guī)劃教材。《單片機(jī)原理與接口技術(shù)(第2版)》在第1版基礎(chǔ)上,保留并修訂了MCS-51單片機(jī)的硬件結(jié)構(gòu)、指令系統(tǒng)、內(nèi)部資源的應(yīng)用方法、51匯編語(yǔ)言及C51語(yǔ)言程序設(shè)計(jì)方法、Keil C51調(diào)試工具軟件等51內(nèi)核單片機(jī)的基本應(yīng)用擴(kuò)展技術(shù)和單片機(jī)應(yīng)用系統(tǒng)的抗干擾技術(shù)等內(nèi)容,補(bǔ)充完善了實(shí)驗(yàn)和課程設(shè)計(jì)內(nèi)容及每章后的習(xí)題與思考題。增加了目前較為流行的I2C和SPI等串行接口擴(kuò)展技術(shù)、短距離無(wú)線擴(kuò)展技術(shù)和Proteus仿真調(diào)試工具軟件等內(nèi)容,以使讀者能達(dá)到以當(dāng)今主流技術(shù)開(kāi)發(fā)單片機(jī)應(yīng)用產(chǎn)品的目的。新增內(nèi)容包括:以串行接口技術(shù)擴(kuò)展存儲(chǔ)器、I/O接口、鍵盤(pán)、顯示器、A/D轉(zhuǎn)換、D/A轉(zhuǎn)換、日歷時(shí)鐘芯片和IC卡的方法;點(diǎn)對(duì)點(diǎn)無(wú)線通信和ZigBee無(wú)線網(wǎng)絡(luò)通信等單片機(jī)系統(tǒng)短距離無(wú)線擴(kuò)展技術(shù);單片機(jī)系統(tǒng)供電電源解決方案和典型實(shí)用電路;應(yīng)用Proteus電路分析仿真軟件進(jìn)行仿真調(diào)試的方法。為配合初學(xué)者學(xué)習(xí),《單片機(jī)原理與接口技術(shù)(第2版)》還專門(mén)設(shè)計(jì)并為讀者提供一套單片機(jī)實(shí)驗(yàn)開(kāi)發(fā)系統(tǒng)(學(xué)習(xí)板)的硬件原理圖、PCB板圖設(shè)計(jì)資料和軟件源程序包,供讀者搭建一個(gè)實(shí)際開(kāi)發(fā)環(huán)境進(jìn)行開(kāi)發(fā)訓(xùn)練,以增強(qiáng)實(shí)際開(kāi)發(fā)能力。
第1章 概述 1
1.1 單片機(jī)的結(jié)構(gòu)組成、特點(diǎn)和指標(biāo) 1
1.1.1 微型計(jì)算機(jī)的基本結(jié)構(gòu) 1
1.1.2 單片機(jī)的基本結(jié)構(gòu) 2
1.1.3 單片機(jī)的特點(diǎn) 3
1.1.4 單片機(jī)的重要指標(biāo) 3
1.2 單片機(jī)的發(fā)展歷史和產(chǎn)品類型 4
1.2.1 單片機(jī)的發(fā)展歷史 4
1.2.2 單片機(jī)的產(chǎn)品類型 5
1.2.3 80C51系列單片機(jī) 5
1.2.4 其他系列單片機(jī) 9
1.3 單片機(jī)的應(yīng)用 9
1.3.1 單片機(jī)應(yīng)用領(lǐng)域 9
1.3.2 單片機(jī)應(yīng)用舉例 10
1.4 單片機(jī)技術(shù)相關(guān)網(wǎng)站 14
習(xí)題與思考題 15
第2章 MCS-51單片機(jī)硬件結(jié)構(gòu)和原理 16
2.1 MCS-51系列單片機(jī)的分類 16
2.2 單片機(jī)硬件結(jié)構(gòu) 16
2.2.1 單片機(jī)的引腳功能 16
2.2.2 單片機(jī)的內(nèi)部結(jié)構(gòu) 18
2.3 中央處理器(CPU) 19
2.3.1 運(yùn)算器 19
2.3.2 控制器 20
2.3.3 布爾(位)處理器 21
2.4 存儲(chǔ)器 21
2.4.1 程序存儲(chǔ)器 22
2.4.2 數(shù)據(jù)存儲(chǔ)器 22
2.5 并行輸入/輸出(I/O)端口 26
2.5.1 P1口 27
2.5.2 P2口 27
2.5.3 P3口 28
2.5.4 P0口 29
2.5.5 并行口的應(yīng)用 30
2.6 時(shí)鐘電路和時(shí)序 32
2.6.1 時(shí)鐘電路 32
2.6.2 時(shí)序 33
2.7 單片機(jī)的工作方式 35
2.7.1 復(fù)位方式 35
2.7.2 程序執(zhí)行方式 36
2.7.3 低功耗運(yùn)行方式 36
習(xí)題與思考題 37
第3章 MCS-51單片機(jī)指令系統(tǒng) 38
3.1 指令系統(tǒng)簡(jiǎn)介 38
3.1.1 指令系統(tǒng)的分類 38
3.1.2 指令格式 39
3.1.3 指令中的常用符號(hào) 39
3.1.4 尋址方式 40
3.2 指令系統(tǒng) 44
3.2.1 數(shù)據(jù)傳送指令 44
3.2.2 算術(shù)運(yùn)算指令 48
3.2.3 邏輯運(yùn)算指令 52
3.2.4 控制轉(zhuǎn)移指令 55
3.2.5 位操作指令 59
習(xí)題與思考題 61
第4章 MCS-51匯編語(yǔ)言程序設(shè)計(jì) 64
4.1 程序設(shè)計(jì)概述 64
4.1.1 程序設(shè)計(jì)的步驟 64
4.1.2 程序設(shè)計(jì)的方法 65
4.1.3 匯編語(yǔ)言的規(guī)范 65
4.1.4 匯編語(yǔ)言程序編輯和匯編 68
4.2 結(jié)構(gòu)化程序設(shè)計(jì)方法 69
4.2.1 順序結(jié)構(gòu)程序 69
4.2.2 分支結(jié)構(gòu)程序 70
4.2.3 循環(huán)結(jié)構(gòu)程序 71
4.2.4 查表程序 74
4.2.5 子程序 75
4.3 匯編語(yǔ)言程序設(shè)計(jì)實(shí)例 78
4.3.1 算術(shù)運(yùn)算程序 78
4.3.2 數(shù)據(jù)排序程序 82
4.3.3 數(shù)制轉(zhuǎn)換程序 83
4.3.4 線性標(biāo)度變換程序 86
習(xí)題與思考題 86
第5章 MCS-51單片機(jī)C51程序設(shè)計(jì) 88
5.1 C51概述 88
5.2 C51語(yǔ)法基礎(chǔ) 89
5.2.1 標(biāo)識(shí)符和關(guān)鍵字 89
5.2.2 數(shù)據(jù)類型 90
5.2.3 C51運(yùn)算符和表達(dá)式 92
5.2.4 程序結(jié)構(gòu) 93
5.3 C51對(duì)MCS-51單片機(jī)的訪問(wèn) 94
5.3.1 存儲(chǔ)類型 94
5.3.2 存儲(chǔ)模式 95
5.3.3 對(duì)特殊功能寄存器的訪問(wèn) 96
5.3.4 對(duì)存儲(chǔ)器和并行口的訪問(wèn) 97
5.3.5 位地址訪問(wèn) 100
5.4 C51函數(shù) 100
5.4.1 函數(shù)的分類 101
5.4.2 函數(shù)的定義 101
5.4.3 函數(shù)的調(diào)用 102
5.4.4 對(duì)被調(diào)函數(shù)的說(shuō)明 102
5.4.5 中斷函數(shù) 103
5.5 C51結(jié)構(gòu)化程序設(shè)計(jì) 104
5.5.1 順序結(jié)構(gòu)程序 104
5.5.2 選擇結(jié)構(gòu)程序 104
5.5.3 循環(huán)結(jié)構(gòu)程序 107
5.6 C51程序設(shè)計(jì)實(shí)例 109
5.6.1 查表程序 109
5.6.2 單片機(jī)內(nèi)/外部資源應(yīng)用程序設(shè)計(jì) 110
5.6.3 C51語(yǔ)言和MCS-51匯編語(yǔ)言混合編程 116
5.6.4 編程優(yōu)化的概念 118
習(xí)題與思考題 118
第6章 MCS-51單片機(jī)中斷系統(tǒng) 120
6.1 中斷概述 120
6.1.1 CPU與外設(shè)的輸入/輸出方式 120
6.1.2 中斷的概念 121
6.2 MCS-51中斷系統(tǒng) 123
6.2.1 中斷系統(tǒng)的內(nèi)部結(jié)構(gòu) 123
6.2.2 中斷源與中斷方式 123
6.2.3 中斷控制寄存器 125
6.2.4 中斷響應(yīng) 129
6.3 中斷應(yīng)用舉例 131
6.3.1 中斷服務(wù)程序設(shè)計(jì) 131
6.3.2 中斷系統(tǒng)應(yīng)用實(shí)例 132
習(xí)題與思考題 136
第7章 MCS-51單片機(jī)定時(shí)/計(jì)數(shù)器和串行接口 137
7.1 定時(shí)/計(jì)數(shù)器 137
7.1.1 定時(shí)/計(jì)數(shù)器的結(jié)構(gòu)與原理 137
7.1.2 定時(shí)/計(jì)數(shù)器的工作方式 139
7.1.3 定時(shí)/計(jì)數(shù)器對(duì)輸入信號(hào)的 要求 142
7.1.4 定時(shí)/計(jì)數(shù)器的應(yīng)用 142
7.2 串行通信接口 149
7.2.1 串行通信基礎(chǔ)知識(shí) 149
7.2.2 MCS-51串行通信接口 151
7.2.3 串行通信接口的應(yīng)用 155
習(xí)題與思考題 162
第8章 單片機(jī)系統(tǒng)基本并行擴(kuò)展技術(shù) 164
8.1 概述 164
8.2 外部總線擴(kuò)展 164
8.3 外部存儲(chǔ)器擴(kuò)展 165
8.3.1 外部程序存儲(chǔ)器擴(kuò)展 165
8.3.2 外部數(shù)據(jù)存儲(chǔ)器擴(kuò)展 170
8.3.3 多片存儲(chǔ)器芯片擴(kuò)展 172
8.4 并行接口擴(kuò)展 173
8.4.1 并行接口的簡(jiǎn)單擴(kuò)展方法 173
8.4.2 8155可編程并行I/O接口擴(kuò)展 175
8.5 顯示器與鍵盤(pán)擴(kuò)展 179
8.5.1 LED顯示器接口擴(kuò)展 179
8.5.2 LCD顯示器接口擴(kuò)展 181
8.5.3 鍵盤(pán)接口擴(kuò)展 183
8.5.4 鍵盤(pán)和顯示器接口設(shè)計(jì)實(shí)例 187
8.6 打印機(jī)擴(kuò)展 189
8.6.1 TPuP-16A/40A微型打印機(jī) 189
8.6.2 打印機(jī)接口擴(kuò)展方法 190
習(xí)題與思考題 192
第9章 單片機(jī)系統(tǒng)常用串行擴(kuò)展技術(shù) 194
9.1 常用串行總線協(xié)議 194
9.1.1 I2C串行總線 194
9.1.2 SPI總線 198
9.1.3 單線總線 201
9.2 串行存儲(chǔ)器擴(kuò)展 204
9.2.1 I2C接口EEPROM的存儲(chǔ)器擴(kuò)展 204
9.2.2 SPI接口的大容量Flash存儲(chǔ)器擴(kuò)展 209
9.3 串行轉(zhuǎn)并行I/O接口擴(kuò)展 214
9.3.1 串行轉(zhuǎn)并行I/O擴(kuò)展芯片的工作原理 214
9.3.2 串行總線擴(kuò)展I/O接口實(shí)例 216
9.4 串行鍵盤(pán)和LED顯示器擴(kuò)展 218
9.4.1 串行鍵盤(pán)和LED顯示器控制芯片的工作原理 218
9.4.2 串行鍵盤(pán)和LED顯示器擴(kuò)展實(shí)例 221
9.5 串行總線擴(kuò)展實(shí)例簡(jiǎn)介 226
習(xí)題與思考題 228
第10章 單片機(jī)系統(tǒng)模擬量及其他擴(kuò)展技術(shù) 229
10.1 A/D轉(zhuǎn)換擴(kuò)展 229
10.1.1 并行A/D轉(zhuǎn)換擴(kuò)展 229
10.1.2 串行A/D轉(zhuǎn)換擴(kuò)展 231
10.2 D/A轉(zhuǎn)換擴(kuò)展 241
10.2.1 并行D/A轉(zhuǎn)換擴(kuò)展 241
10.2.2 串行D/A轉(zhuǎn)換擴(kuò)展 244
10.3 日歷時(shí)鐘芯片擴(kuò)展 248
10.3.1 日歷時(shí)鐘芯片8563 248
10.3.2 單片機(jī)與日歷時(shí)鐘芯片的接口方法 250
10.4 IC卡擴(kuò)展 251
10.4.1 SLE4442 IC卡 251
10.4.2 SLE4442 IC卡數(shù)據(jù)傳送協(xié)議 252
10.4.3 SLE4442 IC卡操作命令 254
10.4.4 單片機(jī)與SLE4442 IC卡的接口方法 255
習(xí)題與思考題 256
第11章 單片機(jī)系統(tǒng)無(wú)線擴(kuò)展技術(shù) 257
11.1 點(diǎn)對(duì)點(diǎn)無(wú)線通信 257
11.1.1 nRF905芯片介紹 257
11.1.2 應(yīng)用nRF905擴(kuò)展單片機(jī)無(wú)線接口 261
11.2 ZigBee無(wú)線網(wǎng)絡(luò)技術(shù)簡(jiǎn)介 265
11.2.1 ZigBee網(wǎng)絡(luò)框架 266
11.2.2 ZigBee網(wǎng)絡(luò)中的設(shè)備 266
11.2.3 ZigBee網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu) 266
11.2.4 ZigBee技術(shù)的特點(diǎn)和應(yīng)用領(lǐng)域 267
11.3 ZigBee無(wú)線網(wǎng)絡(luò)技術(shù)應(yīng)用實(shí)例 268
11.3.1 支持ZigBee無(wú)線網(wǎng)絡(luò)的單片機(jī)選擇 268
11.3.2 串行總線接口的數(shù)字式溫濕度傳感器選擇 272
11.3.3 ZigBee無(wú)線網(wǎng)絡(luò)節(jié)點(diǎn)的硬件電路設(shè)計(jì) 276
11.3.4 軟件設(shè)計(jì) 277
習(xí)題與思考題 280
第12章 單片機(jī)系統(tǒng)電源設(shè)計(jì) 281
12.1 單片機(jī)系統(tǒng)電源設(shè)計(jì)的考慮因素 281
12.2 線性穩(wěn)壓供電電源 281
12.2.1 三端固定輸出集成穩(wěn)壓器電源電路 282
12.2.2 三端可調(diào)輸出集成穩(wěn)壓器電源電路 282
12.2.3 低壓差線性穩(wěn)壓器(LDO)電源電路 283
12.3 DC/DC供電電源 284
12.3.1 降壓型DC/DC電源電路 284
12.3.2 升壓型DC/DC電源電路 286
12.3.3 DC/DC模塊電源的選擇與應(yīng)用 288
12.4 AC/DC供電技術(shù) 289
12.4.1 AC/DC電源技術(shù) 289
12.4.2 AC/DC模塊電源 291
12.5 基準(zhǔn)電源的產(chǎn)生方法 292
12.5.1 穩(wěn)壓管基準(zhǔn)電壓源電路 292
12.5.2 集成塊基準(zhǔn)電壓源電路 292
習(xí)題與思考題 295
第13章 單片機(jī)應(yīng)用系統(tǒng)抗干擾技術(shù) 296
13.1 干擾源及其分類 296
13.1.1 干擾的定義 296
13.1.2 干擾的種類 296
13.2 干擾對(duì)單片機(jī)應(yīng)用系統(tǒng)的影響 298
13.3 硬件抗干擾技術(shù) 299
13.3.1 無(wú)源濾波 299
13.3.2 有源濾波 299
13.3.3 去耦電路 299
13.3.4 屏蔽技術(shù) 300
13.3.5 隔離技術(shù) 300
13.3.6 接地技術(shù) 302
13.4 軟件抗干擾技術(shù) 304
13.4.1 軟件抗干擾的一般方法 304
13.4.2 指令冗余技術(shù) 305
13.4.3 軟件陷阱技術(shù) 305
13.4.4 “看門(mén)狗”技術(shù) 308
13.5 數(shù)字濾波技術(shù) 310
13.5.1 一階低通濾波法 310
13.5.2 程序判斷濾波法 311
13.5.3 算術(shù)平均濾波法 311
13.5.4 中位值平均濾波法 312
13.5.5 中值濾波法 313
13.5.6 遞推平均濾波法 313
13.5.7 防脈沖干擾平均值濾波法 314
習(xí)題與思考題 315
第14章 單片機(jī)系統(tǒng)開(kāi)發(fā)工具與 設(shè)計(jì)實(shí)例 316
14.1 單片機(jī)應(yīng)用系統(tǒng)開(kāi)發(fā)環(huán)境 316
14.1.1 開(kāi)發(fā)系統(tǒng)的功能 316
14.1.2 開(kāi)發(fā)系統(tǒng)的分類 316
14.2 Keil C51開(kāi)發(fā)工具及仿真調(diào)試方法 317
14.2.1 Keil C51開(kāi)發(fā)工具 317
14.2.2 應(yīng)用Keil C51進(jìn)行單片機(jī)軟件開(kāi)發(fā)調(diào)試的方法 319
14.2.3 應(yīng)用Keil C51調(diào)試C51應(yīng)用程序舉例 322
14.3 Proteus電路分析與實(shí)物仿真軟件及調(diào)試方法 325
14.3.1 Proteus仿真軟件 325
14.3.2 應(yīng)用Proteus進(jìn)行單片機(jī)應(yīng)用系統(tǒng)仿真調(diào)試的方法 326
14.3.3 應(yīng)用Proteus進(jìn)行單片機(jī)系統(tǒng)仿真調(diào)試舉例 327
14.4 單片機(jī)應(yīng)用系統(tǒng)設(shè)計(jì)舉例 331
14.4.1 需求分析 331
14.4.2 功能說(shuō)明 332
14.4.3 體系結(jié)構(gòu)設(shè)計(jì) 332
14.4.4 硬件系統(tǒng)設(shè)計(jì) 334
14.4.5 軟件系統(tǒng)設(shè)計(jì) 336
14.4.6 系統(tǒng)調(diào)試 339
習(xí)題與思考題 339
第15章 實(shí)驗(yàn)及課程設(shè)計(jì) 341
15.1 概述 341
15.2 實(shí)驗(yàn) 341
15.2.1 實(shí)驗(yàn)1——BCD碼/十六進(jìn)制碼轉(zhuǎn)換 341
15.2.2 實(shí)驗(yàn)2——排序程序 342
15.2.3 實(shí)驗(yàn)3——定時(shí)/計(jì)數(shù)器 344
15.2.4 實(shí)驗(yàn)4——基本輸入/輸出 348
15.2.5 實(shí)驗(yàn)5——外部中斷 350
15.2.6 實(shí)驗(yàn)6——并行接口擴(kuò)展 352
15.2.7 實(shí)驗(yàn)7——A/D轉(zhuǎn)換 355
15.2.8 實(shí)驗(yàn)8——D/A轉(zhuǎn)換 356
15.2.9 實(shí)驗(yàn)9——單片機(jī)與PC通信 357
15.2.10 實(shí)驗(yàn)10——綜合實(shí)驗(yàn)(溫度控制系統(tǒng)設(shè)計(jì)實(shí)例) 361
15.3 課程設(shè)計(jì) 365
15.3.1 課程設(shè)計(jì)的目的 365
15.3.2 課程設(shè)計(jì)要求 365
15.3.3 課程設(shè)計(jì)題目及要求 366
附錄A MCS-51匯編指令-機(jī)器碼對(duì)照表 370
附錄B ASCII編碼表 372
參考文獻(xiàn) 373