本書(shū)從實(shí)用性和先進(jìn)性出發(fā),遵循由淺入深、循序漸進(jìn)的原則,較全面地講解了51單片機(jī)的知識(shí)體系。全書(shū)主要內(nèi)容包括:51單片機(jī)的硬件結(jié)構(gòu)與工作原理、內(nèi)部資源及應(yīng)用、指令系統(tǒng)及C51程序設(shè)計(jì)、信息的顯示與輸入/輸出、定時(shí)器/計(jì)數(shù)器、中斷、串行口通信、系統(tǒng)擴(kuò)展、接口電路的設(shè)計(jì)與拓展等。本書(shū)在講解單片機(jī)開(kāi)發(fā)的必要理論知識(shí)的同時(shí),結(jié)合了各種應(yīng)用及經(jīng)典的設(shè)計(jì)案例。此外,本書(shū)還介紹了C51程序設(shè)計(jì)的開(kāi)發(fā)工具Keil μVision5及嵌入式仿真工具Proteus的使用方法。本書(shū)以培養(yǎng)學(xué)生51單片機(jī)的應(yīng)用能力為目標(biāo),理論知識(shí)與系統(tǒng)設(shè)計(jì)并重,并引入51單片機(jī)的新技術(shù),理論聯(lián)系實(shí)際,既可作為高等學(xué)校自動(dòng)化、電氣工程、電子信息類(lèi)等專(zhuān)業(yè)的基礎(chǔ)教材,也可作為相關(guān)工程技術(shù)人員學(xué)習(xí)的參考書(shū)。
趙亮,博士,大連理工大學(xué)控制科學(xué)與工程學(xué)院副教授,碩士生導(dǎo)師。從事工業(yè)互聯(lián)網(wǎng)、智能控制及建筑能源系統(tǒng)信息化等方面的研究,IEC國(guó)際標(biāo)委會(huì)委員,遼寧省優(yōu)秀博士學(xué)位論文獲得者,英國(guó)Staffordshire University訪問(wèn)學(xué)者。負(fù)責(zé)國(guó)家自然科學(xué)基金項(xiàng)目1項(xiàng)、國(guó)家工信部綠色制造系統(tǒng)集成項(xiàng)目1項(xiàng)、遼寧省科技創(chuàng)新重大專(zhuān)項(xiàng)項(xiàng)目1項(xiàng),負(fù)責(zé)企業(yè)委托開(kāi)發(fā)項(xiàng)目多項(xiàng),參與國(guó)家863重點(diǎn)項(xiàng)目、國(guó)家科技支撐項(xiàng)目1項(xiàng)、國(guó)家自然科學(xué)基金項(xiàng)目等多項(xiàng),獲日內(nèi)瓦國(guó)際發(fā)明金獎(jiǎng)1項(xiàng)、遼寧省科技進(jìn)步三等獎(jiǎng)1項(xiàng),獲得專(zhuān)利2項(xiàng),軟件著作權(quán)登記5項(xiàng),發(fā)表論文50余篇。
目 錄
第1章 概述 1
1.1 什么是單片機(jī) 1
1.1.1 單片機(jī)的發(fā)展過(guò)程 1
1.1.2 單片機(jī)的特點(diǎn) 2
1.2 單片機(jī)的應(yīng)用領(lǐng)域 3
1.3 單片機(jī)的發(fā)展趨勢(shì) 4
1.4 STC系列單片機(jī)介紹 5
1.5 感受單片機(jī)第一個(gè)實(shí)例 6
第2章 硬件基礎(chǔ)知識(shí)介紹 9
2.1 STC系列8051單片機(jī)片內(nèi)
硬件結(jié)構(gòu) 9
2.1.1 8051單片機(jī)的
硬件結(jié)構(gòu) 11
2.1.2 8051單片機(jī)
存儲(chǔ)器的結(jié)構(gòu) 13
2.1.3 8051單片機(jī)引腳功能 17
2.1.4 單片機(jī)內(nèi)部時(shí)序 20
2.2 常用電子元器件 21
2.2.1 電阻 21
2.2.2 電容 23
2.2.3 電感 25
2.2.4 二極管 25
2.2.5 三極管 27
2.2.6 場(chǎng)效應(yīng)管 28
2.2.7 光電耦合器 29
2.2.8 蜂鳴器 30
2.2.9 繼電器 31
2.2.10 晶閘管 32
2.2.11 常用保護(hù)元件 33
2.3 基本邏輯門(mén)電路 34
2.3.1 三種基本邏輯門(mén)電路 34
2.3.2 組合邏輯電路 36
第3章 C語(yǔ)言基礎(chǔ)知識(shí) 40
3.1 數(shù)進(jìn)制轉(zhuǎn)換 40
3.1.1 數(shù)進(jìn)制介紹 40
3.1.2 數(shù)進(jìn)制之間的轉(zhuǎn)換 41
3.2 C51語(yǔ)言的格式與特點(diǎn) 43
3.2.1 C51語(yǔ)言簡(jiǎn)介與特點(diǎn) 43
3.2.2 C51語(yǔ)言的格式 43
3.3 C51語(yǔ)言的數(shù)據(jù)類(lèi)型與表達(dá) 45
3.3.1 C51語(yǔ)言的變量 45
3.3.2 C51語(yǔ)言的數(shù)據(jù)類(lèi)型 48
3.3.3 C51語(yǔ)言的變量名 50
3.3.4 C51語(yǔ)言的數(shù)組 52
3.4 C51語(yǔ)言的運(yùn)算符與表達(dá)式 54
3.4.1 賦值運(yùn)算符及
賦值表達(dá)式 54
3.4.2 算術(shù)運(yùn)算符及
算術(shù)表達(dá)式 55
3.4.3 關(guān)系運(yùn)算符及
關(guān)系表達(dá)式 56
3.4.4 邏輯運(yùn)算符及
邏輯表達(dá)式 56
3.4.5 位操作運(yùn)算符及
位操作表達(dá)式 57
3.5 C51語(yǔ)言的語(yǔ)句結(jié)構(gòu) 60
3.5.1 if選擇語(yǔ)句 60
3.5.2 switch開(kāi)關(guān)語(yǔ)句 63
3.5.3 for循環(huán)語(yǔ)句 66
3.5.4 while循環(huán)語(yǔ)句 68
3.5.5 do…while循環(huán)語(yǔ)句 69
3.6 C51語(yǔ)言的函數(shù)與預(yù)處理 70
3.6.1 函數(shù)的定義 70
3.6.2 函數(shù)的調(diào)用 72
3.6.3 變量的作用域 75
3.6.4 C51程序的預(yù)處理 77
3.7 C51語(yǔ)言的模塊化編程 79
第4章 單片機(jī)最小系統(tǒng)設(shè)計(jì) 83
4.1 最小系統(tǒng)原理圖繪制 83
4.2 最小系統(tǒng)PCB設(shè)計(jì) 92
4.3 軟件平臺(tái)Keil使用 104
4.3.1 Keil μVision5下載
與安裝 104
4.3.2 Keil μVision5
建立工程 105
4.3.3 程序編譯與調(diào)試 109
4.4 單片機(jī)應(yīng)用—I/O操作 112
4.4.1 51單片機(jī)I/O口
原理介紹 112
4.4.2 端口輸入與輸出程序 118
4.4.3 最小系統(tǒng)的軟件驗(yàn)證 119
4.4.4 最小系統(tǒng)的硬件調(diào)試 122
4.4.5 程序的燒寫(xiě)與驗(yàn)證 123
第5章 定時(shí)器/計(jì)數(shù)器與中斷 128
5.1 中斷系統(tǒng) 128
5.1.1 中斷概述 128
5.1.2 中斷系統(tǒng)的結(jié)構(gòu) 129
5.1.3 中斷控制 130
5.1.4 中斷響應(yīng)的處理過(guò)程 133
5.1.5 中斷請(qǐng)求的撤銷(xiāo) 134
5.2 定時(shí)器/計(jì)數(shù)器 135
5.2.1 定時(shí)器/計(jì)數(shù)器概述 135
5.2.2 定時(shí)器/計(jì)數(shù)器的結(jié)構(gòu) 135
5.2.3 TMOD和TCON 136
5.2.4 定時(shí)器/計(jì)數(shù)器的
工作方式 137
5.3 中斷系統(tǒng)軟件設(shè)計(jì) 140
5.3.1 中斷系統(tǒng)軟件
設(shè)計(jì)概述 140
5.3.2 中斷函數(shù) 141
5.3.3 中斷系統(tǒng)的應(yīng)用 141
5.3.4 外部中斷輸入口擴(kuò)充 148
5.4 定時(shí)器/計(jì)數(shù)器軟件設(shè)計(jì) 149
5.4.1 定時(shí)器/計(jì)數(shù)器概述 149
5.4.2 定時(shí)器/計(jì)數(shù)器
初始化 149
5.4.3 定時(shí)器/計(jì)數(shù)器的
應(yīng)用 150
第6章 串行通信 155
6.1 串行通信原理 155
6.1.1 通信概述 155
6.1.2 串行口的結(jié)構(gòu) 158
6.1.3 串行口控制 159
6.1.4 單片機(jī)串行口的
工作方式0 160
6.1.5 單片機(jī)串行口的
工作方式1 161
6.1.6 單片機(jī)串行口的工作
方式2與工作方式3 162
6.1.7 串行口波特率 163
6.2 串行口程序設(shè)計(jì)基礎(chǔ) 164
6.2.1 串行口程序設(shè)計(jì)
理論基礎(chǔ) 164
6.2.2 串行口的應(yīng)用及
程序設(shè)計(jì) 166
6.3 串行口調(diào)試工具的使用 178
第7章 單總線接口技術(shù) 181
7.1 單總線接口技術(shù)原理 181
7.1.1 單總線介紹 181
7.1.2 單總線通信時(shí)序 182
7.1.3 單總線I/O模擬 183
7.1.4 CRC校驗(yàn)簡(jiǎn)介 185
7.2 單總線實(shí)現(xiàn)唯一序列號(hào) 186
7.2.1 DS2401芯片簡(jiǎn)介 186
7.2.2 DS2401電路設(shè)計(jì)與
功能函數(shù) 187
7.2.3 DS2401操作原理 188
7.3 單總線實(shí)現(xiàn)溫度測(cè)量 189
7.3.1 DS18B20芯片簡(jiǎn)介 189
7.3.2 DS18B20電路設(shè)計(jì)與
功能函數(shù) 190
7.3.3 DS18B20操作原理 191
7.4 單總線實(shí)現(xiàn)電池監(jiān)控 195
7.4.1 DS2438芯片簡(jiǎn)介 195
7.4.2 DS2438電路設(shè)計(jì)與
功能函數(shù) 196
7.4.3 DS2438操作原理 198
7.5 單總線實(shí)現(xiàn)數(shù)據(jù)存儲(chǔ) 206
7.5.1 DS2431芯片簡(jiǎn)介 206
7.5.2 DS2431電路設(shè)計(jì)與
功能函數(shù) 207
7.5.3 DS2431操作原理 209
7.6 本章小結(jié)與拓展 213
7.7 本章習(xí)題 214
第8章 IIC總線接口技術(shù) 215
8.1 IIC總線接口技術(shù)原理 215
8.1.1 IIC總線介紹 215
8.1.2 IIC總線通信時(shí)序 216
8.1.3 IIC總線I/O模擬 220
8.2 IIC總線實(shí)現(xiàn)數(shù)據(jù)存儲(chǔ) 222
8.2.1 AT24C02芯片簡(jiǎn)介 222
8.2.2 AT24C02電路設(shè)計(jì)與
功能函數(shù) 223
8.2.3 AT24C02操作原理 225
8.3 IIC總線實(shí)現(xiàn)實(shí)時(shí)時(shí)鐘 227
8.3.1 PCF8563芯片簡(jiǎn)介 227
8.3.2 PCF8563電路設(shè)計(jì)與
功能函數(shù) 228
8.3.3 PCF8563操作原理 230
8.4 IIC總線實(shí)現(xiàn)A/D轉(zhuǎn)換 232
8.4.1 ADS1115芯片簡(jiǎn)介 232
8.4.2 ADS1115電路設(shè)計(jì)與
功能函數(shù) 232
8.4.3 ADS1115操作原理 234
8.5 IIC總線實(shí)現(xiàn)D/A轉(zhuǎn)換 236
8.5.1 DAC8571芯片簡(jiǎn)介 236
8.5.2 DAC8571電路設(shè)計(jì)與
功能函數(shù) 237
8.5.3 DAC8571操作原理 238
8.6 IIC總線實(shí)現(xiàn)溫度測(cè)量 241
8.6.1 TMP101芯片簡(jiǎn)介 241
8.6.2 TMP101電路設(shè)計(jì)與
功能函數(shù) 242
8.6.3 TMP101操作原理 244
8.7 本章小結(jié)與拓展 245
8.8 本章習(xí)題 245
第9章 SPI總線技術(shù) 247
9.1 SPI總線技術(shù)原理 247
9.1.1 SPI總線介紹 247
9.1.2 SPI總線通信時(shí)序 249
9.1.3 SPI總線I/O模擬 250
9.2 SPI總線實(shí)現(xiàn)數(shù)據(jù)存儲(chǔ) 251
9.2.1 AT93C46芯片簡(jiǎn)介 251
9.2.2 AT93C46電路設(shè)計(jì)與
功能函數(shù) 251
9.2.3 AT93C46操作原理 254
9.3 SPI總線實(shí)現(xiàn)實(shí)時(shí)時(shí)鐘 255
9.3.1 DS1302芯片簡(jiǎn)介 255
9.3.2 DS1302電路設(shè)計(jì)與
功能函數(shù) 256
9.3.3 DS1302操作原理 258
9.4 SPI總線實(shí)現(xiàn)A/D轉(zhuǎn)換 262
9.4.1 TLC2543芯片簡(jiǎn)介 262
9.4.2 TLC2543電路設(shè)計(jì)與
功能函數(shù) 263
9.4.3 TLC2543操作原理 264
9.5 SPI總線實(shí)現(xiàn)D/A轉(zhuǎn)換 266
9.5.1 TLC5618芯片簡(jiǎn)介 266
9.5.2 TLC5618電路設(shè)計(jì)與
功能函數(shù) 267
9.5.3 TLC5618操作原理 268
9.6 SPI總線實(shí)現(xiàn)溫度測(cè)量 269
9.6.1 TMP122芯片簡(jiǎn)介 269
9.6.2 TMP122電路設(shè)計(jì)與
功能函數(shù) 270
9.6.3 TMP122操作原理 271
9.7 本章小結(jié)與拓展 273
9.8 本章習(xí)題 274
第10章 單片機(jī)外部總線擴(kuò)展 275
10.1 單片機(jī)外部總線擴(kuò)展原理 275
10.1.1 系統(tǒng)總線結(jié)構(gòu) 275
10.1.2 系統(tǒng)總線具體實(shí)現(xiàn) 277
10.1.3 總線上的地址譯碼 279
10.1.4 總線地址讀寫(xiě) 280
10.2 外部總線實(shí)現(xiàn)人機(jī)接口 281
10.2.1 總線擴(kuò)展電路設(shè)計(jì) 281
10.2.2 發(fā)光二極管與
數(shù)碼管驅(qū)動(dòng) 282
10.2.3 LCD1602驅(qū)動(dòng) 283
10.2.4 矩陣鍵盤(pán)驅(qū)動(dòng) 286
10.3 外部總線實(shí)現(xiàn)A/D轉(zhuǎn)換 289
10.3.1 ADC0809芯片簡(jiǎn)介 289
10.3.2 ADC0809電路設(shè)計(jì)
與功能函數(shù) 289
10.3.3 ADC0809操作原理 291
10.4 外部總線實(shí)現(xiàn)D/A轉(zhuǎn)換 292
10.4.1 DAC0832芯片簡(jiǎn)介 292
10.4.2 DAC0832電路設(shè)計(jì)
與功能函數(shù) 292
10.4.3 DAC0832操作原理 293
10.5 外部總線實(shí)現(xiàn)實(shí)時(shí)時(shí)鐘 294
10.5.1 DS12887芯片簡(jiǎn)介 294
10.5.2 DS12887電路設(shè)計(jì)
與功能函數(shù) 295
10.5.3 DS12887操作原理 297
10.6 本章小結(jié)與拓展 300
10.7 本章習(xí)題 301
第11章 單片機(jī)相關(guān)片上資源 302
11.1 內(nèi)部看門(mén)狗 302
11.1.1 看門(mén)狗技術(shù)簡(jiǎn)介 302
11.1.2 內(nèi)部看門(mén)狗
功能函數(shù) 302
11.1.3 內(nèi)部看門(mén)狗
操作原理 304
11.2 內(nèi)部存儲(chǔ)器 305
11.2.1 內(nèi)部存儲(chǔ)器簡(jiǎn)介 305
11.2.2 內(nèi)部存儲(chǔ)器
功能函數(shù) 306
11.2.3 內(nèi)部存儲(chǔ)器
操作原理 308
11.3 內(nèi)部SPI 312
11.3.1 內(nèi)部SPI簡(jiǎn)介 312
11.3.2 內(nèi)部SPI功能函數(shù) 312
11.3.3 內(nèi)部SPI操作原理 313
11.4 內(nèi)部A/D轉(zhuǎn)換器 322
11.4.1 內(nèi)部A/D轉(zhuǎn)換器
簡(jiǎn)介 322
11.4.2 內(nèi)部A/D功能函數(shù) 322
11.4.3 內(nèi)部A/D操作原理 325
11.5 內(nèi)部PCA/PWM 331
11.5.1 內(nèi)部PCA/PWM
簡(jiǎn)介 331
11.5.2 內(nèi)部PCA/PWM
功能函數(shù) 331
11.5.3 內(nèi)部PCA/PWM
操作原理 333
11.6 本章小結(jié)與拓展 341
11.7 本章習(xí)題 341
參考文獻(xiàn) 342