編者通過(guò)總結(jié)多年來(lái)的教學(xué)實(shí)踐,結(jié)合高等學(xué)校單片機(jī)課程的實(shí)際教學(xué)安排,在本書前3版的基礎(chǔ)上,對(duì)全書內(nèi)容進(jìn)行了合理整合,充實(shí)了目前廣為應(yīng)用的串行口擴(kuò)展方法,并給出可以實(shí)際使用的例子,更能體現(xiàn)單片機(jī)課程的基本教學(xué)需求和實(shí)際應(yīng)用情況。全書共11章。以典型的MCS-51單片機(jī)為例,系統(tǒng)地介紹單片機(jī)的硬件結(jié)構(gòu)、定時(shí)/計(jì)數(shù)器、串行口、中斷系統(tǒng)的工作原理,指令系統(tǒng)及匯編語(yǔ)言程序設(shè)計(jì),針對(duì)單片機(jī)內(nèi)部資源的C51語(yǔ)言編程方法及其與匯編語(yǔ)言的混合編程,通過(guò)并行口擴(kuò)展外部總線、外部存儲(chǔ)器、鍵盤、LED和LCD顯示器、A/D和D/A轉(zhuǎn)換器的方法,采用I2C、SPI、1-Wire等目前廣為應(yīng)用的串行擴(kuò)展技術(shù)擴(kuò)展EEPROM和Flash存儲(chǔ)器、鍵盤和LED顯示器、A/D和D/A轉(zhuǎn)換器的方法,以及單片機(jī)系統(tǒng)電源設(shè)計(jì)、硬件和軟件抗干擾技術(shù)等,各部分內(nèi)容都舉實(shí)例講解。還介紹了應(yīng)用新版本的Keil C51和Proteus仿真調(diào)試軟件進(jìn)行單片機(jī)應(yīng)用系統(tǒng)開發(fā)及仿真調(diào)試的方法。最后給出了基本實(shí)驗(yàn)和課程設(shè)計(jì)參考題目及內(nèi)容。 本書可作為高等學(xué)校通信工程、電子信息工程、測(cè)控技術(shù)與儀器、自動(dòng)化、電氣工程及其自動(dòng)化、機(jī)械工程及其自動(dòng)化、計(jì)算機(jī)科學(xué)與技術(shù)等專業(yè)的“單片機(jī)原理與接口技術(shù)”及相關(guān)課程的教材,也可供從事單片機(jī)應(yīng)用系統(tǒng)開發(fā)的工程技術(shù)人員及單片機(jī)愛(ài)好者參考。
李曉林,太原理工大學(xué)電氣與動(dòng)力工程學(xué)院碩士生導(dǎo)師,多年來(lái)一直從事單片機(jī)原理及應(yīng)用、智能儀表、集散控制系統(tǒng)及應(yīng)用等方面的教學(xué)和科研工作。
第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) 4
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ī) 8
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í)題1 14
第2章 MCS-51單片機(jī)硬件結(jié)構(gòu)和工作原理 15
2.1 MCS-51單片機(jī)的分類 15
2.2 單片機(jī)硬件結(jié)構(gòu) 15
2.2.1 單片機(jī)的引腳功能 15
2.2.2 單片機(jī)的內(nèi)部結(jié)構(gòu) 17
2.3 中央處理器(CPU) 18
2.3.1 運(yùn)算器 18
2.3.2 控制器 19
2.3.3 布爾(位)處理器 19
2.4 存儲(chǔ)器 20
2.4.1 程序存儲(chǔ)器(ROM) 20
2.4.2 數(shù)據(jù)存儲(chǔ)器(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 時(shí)鐘電路和時(shí)序 32
2.6.1 時(shí)鐘電路 32
2.6.2 時(shí)序 33
2.7 單片機(jī)的工作方式 34
2.7.1 復(fù)位方式 34
2.7.2 程序執(zhí)行方式 35
2.7.3 低功耗運(yùn)行方式 36
思考題與習(xí)題2 37
第3章 MCS-51指令系統(tǒng)及匯編程序設(shè)計(jì) 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
3.3 匯編語(yǔ)言程序設(shè)計(jì) 61
3.3.1 匯編語(yǔ)言程序設(shè)計(jì)的步驟 61
3.3.2 匯編語(yǔ)言的程序編輯和匯編 62
3.3.3 結(jié)構(gòu)化程序設(shè)計(jì)方法 65
思考題與習(xí)題3 72
第4章 MCS-51單片機(jī)的C程序設(shè)計(jì) 74
4.1 C51概述 74
4.2 C51語(yǔ)法基礎(chǔ) 75
4.2.1 標(biāo)識(shí)符和關(guān)鍵字 75
4.2.2 數(shù)據(jù)類型 76
4.2.3 C51運(yùn)算符 78
4.2.4 程序結(jié)構(gòu) 78
4.3 C51對(duì)MCS-51單片機(jī)的訪問(wèn) 79
4.3.1 存儲(chǔ)類型 79
4.3.2 存儲(chǔ)模式 80
4.3.3 對(duì)特殊功能寄存器的訪問(wèn) 81
4.3.4 對(duì)存儲(chǔ)器和并行口的訪問(wèn) 82
4.3.5 位地址訪問(wèn) 84
4.3.6 中斷函數(shù) 85
4.4 C51結(jié)構(gòu)化程序設(shè)計(jì) 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è)計(jì)實(shí)例 91
4.5.1 查表程序 91
4.5.2 單片機(jī)應(yīng)用程序設(shè)計(jì) 92
4.5.3 C51語(yǔ)言和匯編語(yǔ)言混合編程 97
4.5.4 編程優(yōu)化的概念 99
思考題與習(xí)題4 100
第5章 MCS-51單片機(jī)中斷、定時(shí)/計(jì)數(shù)器及串行口 101
5.1 中斷系統(tǒng) 101
5.1.1 中斷系統(tǒng)概述 101
5.1.2 MCS-51單片機(jī)中斷系統(tǒng) 103
5.1.3 中斷系統(tǒng)應(yīng)用舉例 111
5.2 定時(shí)/計(jì)數(shù)器 114
5.2.1 定時(shí)/計(jì)數(shù)器的結(jié)構(gòu)與原理 114
5.2.2 定時(shí)/計(jì)數(shù)器的工作方式 116
5.2.3 定時(shí)/計(jì)數(shù)器對(duì)輸入信號(hào)的要求 119
5.2.4 定時(shí)/計(jì)數(shù)器的應(yīng)用 119
5.3 串行口 126
5.3.1 串行通信基礎(chǔ)知識(shí) 126
5.3.2 MCS-51單片機(jī)串行口 127
5.3.3 串行口的應(yīng)用 132
思考題與習(xí)題5 139
第6章 單片機(jī)系統(tǒng)基本并行擴(kuò)展技術(shù) 141
6.1 并行擴(kuò)展概述 141
6.2 外部總線擴(kuò)展 141
6.3 外部存儲(chǔ)器擴(kuò)展 142
6.3.1 外部ROM擴(kuò)展 142
6.3.2 外部RAM擴(kuò)展 147
6.3.3 多存儲(chǔ)器芯片擴(kuò)展 149
6.4 并行口擴(kuò)展 150
6.4.1 8155可編程并行口芯片 150
6.4.2 8155與單片機(jī)的接口方法 153
6.5 顯示器與鍵盤擴(kuò)展 154
6.5.1 LED顯示器擴(kuò)展 154
6.5.2 LCD顯示器擴(kuò)展 156
6.5.3 鍵盤接口擴(kuò)展 162
6.5.4 鍵盤和顯示器接口設(shè)計(jì)實(shí)例 165
6.6 A/D和D/A轉(zhuǎn)換器擴(kuò)展 167
6.6.1 并行A/D轉(zhuǎn)換器擴(kuò)展 167
6.6.2 并行D/A轉(zhuǎn)換器擴(kuò)展 170
思考題與習(xí)題6 173
第7章 單片機(jī)系統(tǒng)常用串行擴(kuò)展技術(shù) 174
7.1 串行擴(kuò)展概述 174
7.2 常用串行總線協(xié)議 174
7.2.1 I2C串行總線 174
7.2.2 SPI總線 178
7.2.3 1-Wire總線 181
7.3 串行存儲(chǔ)器擴(kuò)展 184
7.3.1 I2C接口的EEPROM存儲(chǔ)器擴(kuò)展 184
7.3.2 SPI接口的大容量Flash存儲(chǔ)器擴(kuò)展 191
7.4 串行轉(zhuǎn)并行I/O接口擴(kuò)展 201
7.4.1 串行轉(zhuǎn)并行I/O擴(kuò)展芯片的工作原理 201
7.4.2 串行總線擴(kuò)展I/O接口實(shí)例 204
思考題與習(xí)題7 205
第8章 單片機(jī)系統(tǒng)外設(shè)串行擴(kuò)展技術(shù) 206
8.1 串行鍵盤和LED顯示器擴(kuò)展 206
8.1.1 串行鍵盤和LED顯示器控制芯片的工作原理 206
8.1.2 串行鍵盤和LED顯示器擴(kuò)展實(shí)例 209
8.2 串行A/D和D/A轉(zhuǎn)換器擴(kuò)展 215
8.2.1 串行A/D轉(zhuǎn)換器擴(kuò)展 215
8.2.2 串行D/A轉(zhuǎn)換器擴(kuò)展 225
思考題與習(xí)題8 229
第9章 單片機(jī)系統(tǒng)電源設(shè)計(jì)與抗干擾技術(shù) 230
9.1 單片機(jī)系統(tǒng)電源設(shè)計(jì)的考慮因素 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 基準(zhǔn)電源的產(chǎn)生方法 241
9.5.1 穩(wěn)壓管基準(zhǔn)電源電路 241
9.5.2 集成基準(zhǔn)電源電路 241
9.6 干擾對(duì)單片機(jī)應(yīng)用系統(tǒng)的影響 244
9.7 硬件抗干擾技術(shù) 244
9.7.1 無(wú)源濾波 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
思考題與習(xí)題9 255
第10章 單片機(jī)系統(tǒng)開發(fā)工具 256
10.1 單片機(jī)應(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進(jìn)行單片機(jī)軟件開發(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進(jìn)行單片機(jī)應(yīng)用系統(tǒng)仿真調(diào)試的方法 267
10.3.3 Proteus進(jìn)行單片機(jī)應(yīng)用系統(tǒng)仿真調(diào)試舉例 268
10.4 單片機(jī)應(yīng)用系統(tǒng)設(shè)計(jì)實(shí)例 273
10.4.1 系統(tǒng)結(jié)構(gòu) 273
10.4.2 硬件設(shè)計(jì) 274
10.4.3 軟件設(shè)計(jì) 276
思考題與習(xí)題10 280
第11章 實(shí)驗(yàn)及課程設(shè)計(jì) 281
11.1 概述 281
11.2 實(shí)驗(yàn) 281
11.2.1 實(shí)驗(yàn)1——BCD碼/十六進(jìn)制碼轉(zhuǎn)換 281
11.2.2 實(shí)驗(yàn)2——排序程序 282
11.2.3 實(shí)驗(yàn)3——定時(shí)/計(jì)數(shù)器 284
11.2.4 實(shí)驗(yàn)4——基本輸入/輸出 288
11.2.5 實(shí)驗(yàn)5——外部中斷 290
11.2.6 實(shí)驗(yàn)6——并行口擴(kuò)展 292
11.2.7 實(shí)驗(yàn)7——串行A/D轉(zhuǎn)換 295
11.2.8 實(shí)驗(yàn)8——串行D/A轉(zhuǎn)換 296
11.3 課程設(shè)計(jì) 296
11.3.1 課程設(shè)計(jì)目的 296
11.3.2 課程設(shè)計(jì)要求 296
11.3.3 課程設(shè)計(jì)參考題目及要求 297
附錄A MCS-51匯編指令-機(jī)器碼對(duì)照表 301
附錄B ASCII編碼表 303
參考文獻(xiàn) 304