編者通過總結(jié)多年來的教學實踐,結(jié)合高等學校單片機課程的實際教學安排,在本書前3版的基礎(chǔ)上,對全書內(nèi)容進行了合理整合,充實了目前廣為應(yīng)用的串行口擴展方法,并給出可以實際使用的例子,更能體現(xiàn)單片機課程的基本教學需求和實際應(yīng)用情況。全書共11章。以典型的MCS-51單片機為例,系統(tǒng)地介紹單片機的硬件結(jié)構(gòu)、定時/計數(shù)器、串行口、中斷系統(tǒng)的工作原理,指令系統(tǒng)及匯編語言程序設(shè)計,針對單片機內(nèi)部資源的C51語言編程方法及其與匯編語言的混合編程,通過并行口擴展外部總線、外部存儲器、鍵盤、LED和LCD顯示器、A/D和D/A轉(zhuǎn)換器的方法,采用I2C、SPI、1-Wire等目前廣為應(yīng)用的串行擴展技術(shù)擴展EEPROM和Flash存儲器、鍵盤和LED顯示器、A/D和D/A轉(zhuǎn)換器的方法,以及單片機系統(tǒng)電源設(shè)計、硬件和軟件抗干擾技術(shù)等,各部分內(nèi)容都舉實例講解。還介紹了應(yīng)用新版本的Keil C51和Proteus仿真調(diào)試軟件進行單片機應(yīng)用系統(tǒng)開發(fā)及仿真調(diào)試的方法。最后給出了基本實驗和課程設(shè)計參考題目及內(nèi)容。 本書可作為高等學校通信工程、電子信息工程、測控技術(shù)與儀器、自動化、電氣工程及其自動化、機械工程及其自動化、計算機科學與技術(shù)等專業(yè)的“單片機原理與接口技術(shù)”及相關(guān)課程的教材,也可供從事單片機應(yīng)用系統(tǒng)開發(fā)的工程技術(shù)人員及單片機愛好者參考。
李曉林,太原理工大學電氣與動力工程學院碩士生導(dǎo)師,多年來一直從事單片機原理及應(yīng)用、智能儀表、集散控制系統(tǒng)及應(yīng)用等方面的教學和科研工作。
第1章 概述 1
1.1 單片機的結(jié)構(gòu)組成、特點和指標 1
1.1.1 微型計算機的基本結(jié)構(gòu) 1
1.1.2 單片機的基本結(jié)構(gòu) 2
1.1.3 單片機的特點 3
1.1.4 單片機的重要指標 4
1.2 單片機的發(fā)展歷史和產(chǎn)品類型 4
1.2.1 單片機的發(fā)展歷史 4
1.2.2 單片機的產(chǎn)品類型 5
1.2.3 80C51系列單片機 5
1.2.4 其他系列單片機 8
1.3 單片機的應(yīng)用 9
1.3.1 單片機應(yīng)用領(lǐng)域 9
1.3.2 單片機應(yīng)用舉例 10
1.4 單片機技術(shù)相關(guān)網(wǎng)站 14
思考題與習題1 14
第2章 MCS-51單片機硬件結(jié)構(gòu)和工作原理 15
2.1 MCS-51單片機的分類 15
2.2 單片機硬件結(jié)構(gòu) 15
2.2.1 單片機的引腳功能 15
2.2.2 單片機的內(nèi)部結(jié)構(gòu) 17
2.3 中央處理器(CPU) 18
2.3.1 運算器 18
2.3.2 控制器 19
2.3.3 布爾(位)處理器 19
2.4 存儲器 20
2.4.1 程序存儲器(ROM) 20
2.4.2 數(shù)據(jù)存儲器(RAM) 21
2.5 并行I/O接口 25
2.5.1 P1口 25
2.5.2 P2口 26
2.5.3 P3口 27
2.5.4 P0口 27
2.5.5 并行I/O接口的應(yīng)用 28
2.6 時鐘電路和時序 32
2.6.1 時鐘電路 32
2.6.2 時序 33
2.7 單片機的工作方式 34
2.7.1 復(fù)位方式 34
2.7.2 程序執(zhí)行方式 35
2.7.3 低功耗運行方式 36
思考題與習題2 37
第3章 MCS-51指令系統(tǒng)及匯編程序設(shè)計 38
3.1 指令系統(tǒng)簡介 38
3.1.1 指令系統(tǒng)的分類 38
3.1.2 指令格式 39
3.1.3 指令中的常用符號 39
3.1.4 尋址方式 40
3.2 指令系統(tǒng) 44
3.2.1 數(shù)據(jù)傳送指令 44
3.2.2 算術(shù)運算指令 48
3.2.3 邏輯運算指令 52
3.2.4 控制轉(zhuǎn)移指令 55
3.2.5 位操作指令 59
3.3 匯編語言程序設(shè)計 61
3.3.1 匯編語言程序設(shè)計的步驟 61
3.3.2 匯編語言的程序編輯和匯編 62
3.3.3 結(jié)構(gòu)化程序設(shè)計方法 65
思考題與習題3 72
第4章 MCS-51單片機的C程序設(shè)計 74
4.1 C51概述 74
4.2 C51語法基礎(chǔ) 75
4.2.1 標識符和關(guān)鍵字 75
4.2.2 數(shù)據(jù)類型 76
4.2.3 C51運算符 78
4.2.4 程序結(jié)構(gòu) 78
4.3 C51對MCS-51單片機的訪問 79
4.3.1 存儲類型 79
4.3.2 存儲模式 80
4.3.3 對特殊功能寄存器的訪問 81
4.3.4 對存儲器和并行口的訪問 82
4.3.5 位地址訪問 84
4.3.6 中斷函數(shù) 85
4.4 C51結(jié)構(gòu)化程序設(shè)計 86
4.4.1 順序結(jié)構(gòu)程序 86
4.4.2 選擇結(jié)構(gòu)程序 86
4.4.3 循環(huán)結(jié)構(gòu)程序 89
4.5 C51程序設(shè)計實例 91
4.5.1 查表程序 91
4.5.2 單片機應(yīng)用程序設(shè)計 92
4.5.3 C51語言和匯編語言混合編程 97
4.5.4 編程優(yōu)化的概念 99
思考題與習題4 100
第5章 MCS-51單片機中斷、定時/計數(shù)器及串行口 101
5.1 中斷系統(tǒng) 101
5.1.1 中斷系統(tǒng)概述 101
5.1.2 MCS-51單片機中斷系統(tǒng) 103
5.1.3 中斷系統(tǒng)應(yīng)用舉例 111
5.2 定時/計數(shù)器 114
5.2.1 定時/計數(shù)器的結(jié)構(gòu)與原理 114
5.2.2 定時/計數(shù)器的工作方式 116
5.2.3 定時/計數(shù)器對輸入信號的要求 119
5.2.4 定時/計數(shù)器的應(yīng)用 119
5.3 串行口 126
5.3.1 串行通信基礎(chǔ)知識 126
5.3.2 MCS-51單片機串行口 127
5.3.3 串行口的應(yīng)用 132
思考題與習題5 139
第6章 單片機系統(tǒng)基本并行擴展技術(shù) 141
6.1 并行擴展概述 141
6.2 外部總線擴展 141
6.3 外部存儲器擴展 142
6.3.1 外部ROM擴展 142
6.3.2 外部RAM擴展 147
6.3.3 多存儲器芯片擴展 149
6.4 并行口擴展 150
6.4.1 8155可編程并行口芯片 150
6.4.2 8155與單片機的接口方法 153
6.5 顯示器與鍵盤擴展 154
6.5.1 LED顯示器擴展 154
6.5.2 LCD顯示器擴展 156
6.5.3 鍵盤接口擴展 162
6.5.4 鍵盤和顯示器接口設(shè)計實例 165
6.6 A/D和D/A轉(zhuǎn)換器擴展 167
6.6.1 并行A/D轉(zhuǎn)換器擴展 167
6.6.2 并行D/A轉(zhuǎn)換器擴展 170
思考題與習題6 173
第7章 單片機系統(tǒng)常用串行擴展技術(shù) 174
7.1 串行擴展概述 174
7.2 常用串行總線協(xié)議 174
7.2.1 I2C串行總線 174
7.2.2 SPI總線 178
7.2.3 1-Wire總線 181
7.3 串行存儲器擴展 184
7.3.1 I2C接口的EEPROM存儲器擴展 184
7.3.2 SPI接口的大容量Flash存儲器擴展 191
7.4 串行轉(zhuǎn)并行I/O接口擴展 201
7.4.1 串行轉(zhuǎn)并行I/O擴展芯片的工作原理 201
7.4.2 串行總線擴展I/O接口實例 204
思考題與習題7 205
第8章 單片機系統(tǒng)外設(shè)串行擴展技術(shù) 206
8.1 串行鍵盤和LED顯示器擴展 206
8.1.1 串行鍵盤和LED顯示器控制芯片的工作原理 206
8.1.2 串行鍵盤和LED顯示器擴展實例 209
8.2 串行A/D和D/A轉(zhuǎn)換器擴展 215
8.2.1 串行A/D轉(zhuǎn)換器擴展 215
8.2.2 串行D/A轉(zhuǎn)換器擴展 225
思考題與習題8 229
第9章 單片機系統(tǒng)電源設(shè)計與抗干擾技術(shù) 230
9.1 單片機系統(tǒng)電源設(shè)計的考慮因素 230
9.2 線性穩(wěn)壓電源 230
9.2.1 三端固定輸出集成穩(wěn)壓器 231
9.2.2 三端可調(diào)輸出集成穩(wěn)壓器 231
9.2.3 低壓差線性穩(wěn)壓器(LDO) 232
9.3 DC/DC電源 233
9.3.1 降壓型DC/DC電源電路 233
9.3.2 升壓型DC/DC電源電路 235
9.3.3 DC/DC模塊電源的選擇與應(yīng)用 237
9.4 AC/DC電源 238
9.4.1 AC/DC電源技術(shù) 238
9.4.2 AC/DC模塊電源 240
9.5 基準電源的產(chǎn)生方法 241
9.5.1 穩(wěn)壓管基準電源電路 241
9.5.2 集成基準電源電路 241
9.6 干擾對單片機應(yīng)用系統(tǒng)的影響 244
9.7 硬件抗干擾技術(shù) 244
9.7.1 無源濾波 244
9.7.2 有源濾波 245
9.7.3 去耦電路 245
9.7.4 屏蔽技術(shù) 245
9.7.5 隔離技術(shù) 246
9.7.6 接地技術(shù) 247
9.8 軟件抗干擾技術(shù) 249
9.8.1 軟件抗干擾的一般方法 249
9.8.2 指令冗余技術(shù) 250
9.8.3 軟件陷阱技術(shù) 250
9.8.4 “看門狗”技術(shù) 253
思考題與習題9 255
第10章 單片機系統(tǒng)開發(fā)工具 256
10.1 單片機應(yīng)用系統(tǒng)開發(fā)環(huán)境 256
10.1.1 開發(fā)系統(tǒng)的功能 256
10.1.2 開發(fā)系統(tǒng)的分類 256
10.2 Keil C51開發(fā)工具及仿真調(diào)試方法 257
10.2.1 Keil C51開發(fā)工具 257
10.2.2 應(yīng)用Keil C51進行單片機軟件開發(fā)調(diào)試的方法 259
10.2.3 應(yīng)用Keil C51調(diào)試C51應(yīng)用程序舉例 263
10.3 Proteus仿真軟件及調(diào)試方法 266
10.3.1 Proteus仿真軟件 266
10.3.2 Proteus進行單片機應(yīng)用系統(tǒng)仿真調(diào)試的方法 267
10.3.3 Proteus進行單片機應(yīng)用系統(tǒng)仿真調(diào)試舉例 268
10.4 單片機應(yīng)用系統(tǒng)設(shè)計實例 273
10.4.1 系統(tǒng)結(jié)構(gòu) 273
10.4.2 硬件設(shè)計 274
10.4.3 軟件設(shè)計 276
思考題與習題10 280
第11章 實驗及課程設(shè)計 281
11.1 概述 281
11.2 實驗 281
11.2.1 實驗1——BCD碼/十六進制碼轉(zhuǎn)換 281
11.2.2 實驗2——排序程序 282
11.2.3 實驗3——定時/計數(shù)器 284
11.2.4 實驗4——基本輸入/輸出 288
11.2.5 實驗5——外部中斷 290
11.2.6 實驗6——并行口擴展 292
11.2.7 實驗7——串行A/D轉(zhuǎn)換 295
11.2.8 實驗8——串行D/A轉(zhuǎn)換 296
11.3 課程設(shè)計 296
11.3.1 課程設(shè)計目的 296
11.3.2 課程設(shè)計要求 296
11.3.3 課程設(shè)計參考題目及要求 297
附錄A MCS-51匯編指令-機器碼對照表 301
附錄B ASCII編碼表 303
參考文獻 304