本書以MCS-51系列單片機(jī)原理和應(yīng)用為主線,重點介紹單片機(jī)的結(jié)構(gòu)、C51程序設(shè)計、內(nèi)部標(biāo)準(zhǔn)功能單元、系統(tǒng)擴(kuò)展等內(nèi)容,并精心設(shè)計了大量例題和多種解題思路。本書教學(xué)重點突出,敘述準(zhǔn)確精練,完全可以滿足教師課堂教學(xué)和學(xué)生課程學(xué)習(xí)之需要。 全書結(jié)構(gòu)規(guī)范、系統(tǒng)性強(qiáng)、實例豐富,既注重基礎(chǔ)知識的講解和邏輯思維的訓(xùn)練,又突出工程實踐和實際應(yīng)用。為了方便教師教學(xué)和學(xué)生自學(xué),隨書提供PPT、C語言程序源代碼等輔助學(xué)習(xí)資料,需要的讀者可從華信教育資源網(wǎng)下載。 本書既可作為普通高等院校通信工程、電子信息、自動化、電氣工程、機(jī)電一體化、測控技術(shù)和儀器儀表等專業(yè)的教材,又可作為電子設(shè)計、開發(fā)愛好者的參考書。
張春光,2014.7-至今,大連交通大學(xué)副教授!豆I(yè)過程控制》遼寧省一流本科課程負(fù)責(zé)人(2022年),《單片機(jī)原理與接口技術(shù)》遼寧省一流本科課程團(tuán)隊成員(2020年)。
第1章 單片機(jī)基礎(chǔ)知識 1
1.1 單片機(jī)概述 1
1.1.1 單片機(jī)的基本概念 1
1.1.2 單片機(jī)的特點 2
1.1.3 單片機(jī)系統(tǒng) 2
1.1.4 單片機(jī)程序設(shè)計語言 3
1.2 單片機(jī)的發(fā)展歷史和趨勢 4
1.2.1 單片機(jī)的發(fā)展歷史 4
1.2.2 單片機(jī)的發(fā)展趨勢 5
1.3 典型單片機(jī)簡介 6
1.3.1 MCS-51系列單片機(jī) 6
1.3.2 AT89系列單片機(jī) 7
1.3.3 PIC系列單片機(jī) 7
1.3.4 MSP430系列單片機(jī) 8
1.4 單片機(jī)的應(yīng)用 9
1.4.1 單片機(jī)的應(yīng)用特點 9
1.4.2 單片機(jī)的應(yīng)用領(lǐng)域 9
思考與練習(xí) 10
第2章 單片機(jī)基本結(jié)構(gòu)和工作原理 11
2.1 單片機(jī)的組成和內(nèi)部結(jié)構(gòu) 11
2.1.1 單片機(jī)的組成 11
2.1.2 單片機(jī)的內(nèi)部邏輯結(jié)構(gòu) 12
2.1.3 CPU的內(nèi)部結(jié)構(gòu) 13
2.1.4 單片機(jī)其他結(jié)構(gòu)模塊 14
2.2 單片機(jī)的外部引腳及功能 15
2.2.1 I/O引腳 15
2.2.2 控制引腳 15
2.2.3 電源與晶振引腳 16
2.3 單片機(jī)的存儲器結(jié)構(gòu) 16
2.3.1 程序存儲器 16
2.3.2 數(shù)據(jù)存儲器 18
2.3.3 特殊功能寄存器 20
2.4 單片機(jī)的I/O口 23
2.4.1 P0口 23
2.4.2 P1口 24
2.4.3 P2口 25
2.4.4 P3口 26
2.5 單片機(jī)輔助電路 27
2.5.1 時鐘電路 27
2.5.2 復(fù)位方式和復(fù)位電路 28
2.5.3 單片機(jī)最小系統(tǒng) 30
2.6 單片機(jī)的工作時序和工作方式 30
2.6.1 時序的基本概念 31
2.6.2 單片機(jī)的工作時序 31
2.6.3 單片機(jī)的工作方式 32
思考與練習(xí) 34
第3章 C51程序設(shè)計基礎(chǔ) 35
3.1 C51的概述 35
3.1.1 C51程序結(jié)構(gòu)概述 35
3.1.2 C51對標(biāo)準(zhǔn)C語言的擴(kuò)展 36
3.2 C51的編譯和編譯預(yù)處理 37
3.2.1 編譯 37
3.2.2 編譯預(yù)處理 38
3.3 C51的基本語法 39
3.3.1 常量 39
3.3.2 變量 40
3.3.3 常用運(yùn)算符與表達(dá)式 45
3.4 C51的程序結(jié)構(gòu) 48
3.4.1 分支語句 48
3.4.2 循環(huán)語句 52
3.5 C51的函數(shù) 56
3.5.1 函數(shù)的定義和分類 56
3.5.2 函數(shù)的調(diào)用 58
3.5.3 中斷服務(wù)函數(shù) 59
3.6 C51的數(shù)組 60
3.6.1 數(shù)組的定義 60
3.6.2 數(shù)組的應(yīng)用 61
?
3.7 C51的指針 62
3.7.1 指針與地址 62
3.7.2 指針變量的定義 63
3.7.3 指針的引用 64
3.8 讀寫I/O口的C51編程 64
思考與練習(xí) 68
第4章 中斷系統(tǒng) 70
4.1 中斷系統(tǒng)的基本概念和基本結(jié)構(gòu) 70
4.1.1 中斷的基本概念 70
4.1.2 中斷系統(tǒng)的基本結(jié)構(gòu) 71
4.2 中斷系統(tǒng)的控制與實現(xiàn) 72
4.2.1 中斷請求控制 72
4.2.2 中斷允許控制 74
4.2.3 中斷優(yōu)先級控制 74
4.3 中斷處理過程 75
4.3.1 中斷響應(yīng) 76
4.3.2 中斷處理 78
4.3.3 中斷返回 78
4.3.4 中斷請求的深入理解 78
4.4 中斷系統(tǒng)的應(yīng)用 79
4.4.1 中斷服務(wù)函數(shù) 79
4.4.2 中斷程序的內(nèi)容 80
4.4.3 外部中斷源的應(yīng)用程序 81
4.4.4 外部中斷源的擴(kuò)展及應(yīng)用 83
思考與練習(xí) 85
第5章 定時器/計數(shù)器 87
5.1 定時器/計數(shù)器的基本結(jié)構(gòu)和工作原理 87
5.1.1 定時器/計數(shù)器的基本結(jié)構(gòu) 87
5.1.2 定時器/計數(shù)器的工作原理 88
5.1.3 定時器/計數(shù)器的控制 88
5.2 定時器/計數(shù)器的工作方式 90
5.2.1 方式0 90
5.2.2 方式1 90
5.2.3 方式2 91
5.2.4 方式3 92
?
5.3 定時器/計數(shù)器的應(yīng)用 92
5.3.1 定時器/計數(shù)器初值計算和初始化 92
5.3.2 計數(shù)應(yīng)用 94
5.3.3 定時應(yīng)用 96
5.3.4 門控位的應(yīng)用 100
5.3.5 擴(kuò)展外部中斷源 101
思考與練習(xí) 101
第6章 串行口 103
6.1 串行通信的基本概念 103
6.1.1 串行通信的分類 104
6.1.2 串行通信的數(shù)據(jù)傳輸方式 105
6.2 串行口的內(nèi)部結(jié)構(gòu)和工作原理 106
6.2.1 串行口的內(nèi)部結(jié)構(gòu) 106
6.2.2 串行口的工作原理 107
6.2.3 串行口的控制與狀態(tài) 107
6.2.4 串行口的工作方式 108
6.3 串行通信的應(yīng)用 110
6.3.1 串行口波特率的確定和初始化 110
6.3.2 串行口用于擴(kuò)展并行I/O口 112
6.3.3 雙機(jī)通信 115
6.3.4 多機(jī)通信 120
6.3.5 單片機(jī)與計算機(jī)之間的通信 123
思考與練習(xí) 129
第7章 單片機(jī)并行擴(kuò)展技術(shù) 130
7.1 單片機(jī)的最小系統(tǒng) 130
7.1.1 80C51/89C51最小應(yīng)用系統(tǒng) 130
7.1.2 8031最小應(yīng)用系統(tǒng) 130
7.2 總線擴(kuò)展及編址方法 131
7.2.1 單片機(jī)的外總線結(jié)構(gòu) 131
7.2.2 單片機(jī)的擴(kuò)展能力 132
7.2.3 地址譯碼方法 132
7.3 存儲器的擴(kuò)展 135
7.3.1 EPROM程序存儲器的擴(kuò)展 135
7.3.2 E2PROM程序存儲器的擴(kuò)展 137
7.3.3 數(shù)據(jù)存儲器及其擴(kuò)展 138
?
7.4 并行I/O口的擴(kuò)展 141
7.4.1 簡單I/O口的擴(kuò)展 142
7.4.2 LED數(shù)碼管顯示接口 143
7.4.3 鍵盤接口 148
7.5 A/D轉(zhuǎn)換器、D/A轉(zhuǎn)換器及其應(yīng)用 154
7.5.1 A/D轉(zhuǎn)換器 155
7.5.2 D/A轉(zhuǎn)換器 161
思考與練習(xí) 167
第8章 單片機(jī)串行擴(kuò)展技術(shù) 168
8.1 串行總線概述 168
8.2 單總線接口及其擴(kuò)展 168
8.2.1 單總線的基礎(chǔ)知識 168
8.2.2 單總線的數(shù)據(jù)傳輸時序 169
8.2.3 數(shù)字溫度傳感器DS18B20 171
8.3 I2C總線接口及其擴(kuò)展 176
8.3.1 I2C總線的基礎(chǔ)知識 176
8.3.2 I2C總線的數(shù)據(jù)傳輸時序 177
8.3.3 I2C總線的時序模擬 179
8.3.4 串行程序存儲器AT24C04 180
8.4 SPI總線接口及其擴(kuò)展 187
8.4.1 SPI總線的基礎(chǔ)知識 187
8.4.2 SPI總線的數(shù)據(jù)傳輸時序 188
8.4.3 A/D轉(zhuǎn)換器TLC549 189
思考與練習(xí) 191
第9章 單片機(jī)開發(fā)入門知識 193
9.1 單片機(jī)系統(tǒng)開發(fā)技術(shù) 193
9.1.1 單片機(jī)系統(tǒng)的開發(fā)過程 193
9.1.2 單片機(jī)開發(fā)調(diào)試工具 195
9.2 Keil μVision4集成開發(fā)平臺 198
9.2.1 應(yīng)用程序的創(chuàng)建 199
9.2.2 應(yīng)用程序的編輯、編譯和鏈接 203
9.2.3 應(yīng)用程序的仿真和調(diào)試 205
9.2.4 應(yīng)用程序調(diào)試的常用窗口 208
9.3 Proteus 8仿真平臺簡介 210
9.3.1 主窗口 211
9.3.2 原理圖窗口 216
9.3.3 原理圖設(shè)計 221
9.3.4 VSM Studio仿真 227
9.3.5 仿真調(diào)試工具簡介 235
思考與練習(xí) 243
第10章 單片機(jī)學(xué)習(xí)板及其功能模塊 244
10.1 單片機(jī)學(xué)習(xí)板的用途和特點 244
10.2 單片機(jī)學(xué)習(xí)板的整體設(shè)計 245
10.3 STC-ISP燒錄軟件的使用方法 245
10.4 單片機(jī)學(xué)習(xí)板的功能模塊 247
10.4.1 流水燈控制單元 247
10.4.2 數(shù)碼管顯示單元 249
10.4.3 蜂鳴器單元 251
10.4.4 獨立按鍵單元 253
10.4.5 矩陣鍵盤單元 254
10.4.6 液晶顯示單元 256
10.4.7 I2C總線單元 263
10.4.8 A/D和D/A單元 264
10.4.9 溫度測量單元 270
10.4.10 串行口通信單元 273
附錄A ASCII碼表 275
附錄B MCS-51指令表 279
附錄C 單片機(jī)學(xué)習(xí)板MD-100的原理圖 282
參考文獻(xiàn) 283