本書從實(shí)用性和先進(jìn)性出發(fā),遵循由淺入深、循序漸進(jìn)的原則,較全面地講解了51單片機(jī)的知識體系。全書主要內(nèi)容包括:51單片機(jī)的硬件結(jié)構(gòu)與工作原理、內(nèi)部資源及應(yīng)用、指令系統(tǒng)及C51程序設(shè)計(jì)、信息的顯示與輸入/輸出、定時(shí)器/計(jì)數(shù)器、中斷、串行口通信、系統(tǒng)擴(kuò)展、接口電路的設(shè)計(jì)與拓展等。本書在講解單片機(jī)開發(fā)的必要理論知識的同時(shí),結(jié)合了各種應(yīng)用及經(jīng)典的設(shè)計(jì)案例。此外,本書還介紹了C51程序設(shè)計(jì)的開發(fā)工具Keil μVision5及嵌入式仿真工具Proteus的使用方法。本書以培養(yǎng)學(xué)生51單片機(jī)的應(yīng)用能力為目標(biāo),理論知識與系統(tǒng)設(shè)計(jì)并重,并引入51單片機(jī)的新技術(shù),理論聯(lián)系實(shí)際,既可作為高等學(xué)校自動(dòng)化、電氣工程、電子信息類等專業(yè)的基礎(chǔ)教材,也可作為相關(guān)工程技術(shù)人員學(xué)習(xí)的參考書。
趙亮,博士,大連理工大學(xué)控制科學(xué)與工程學(xué)院副教授,碩士生導(dǎo)師。從事工業(yè)互聯(lián)網(wǎng)、智能控制及建筑能源系統(tǒng)信息化等方面的研究,IEC國際標(biāo)委會(huì)委員,遼寧省優(yōu)秀博士學(xué)位論文獲得者,英國Staffordshire University訪問學(xué)者。負(fù)責(zé)國家自然科學(xué)基金項(xiàng)目1項(xiàng)、國家工信部綠色制造系統(tǒng)集成項(xiàng)目1項(xiàng)、遼寧省科技創(chuàng)新重大專項(xiàng)項(xiàng)目1項(xiàng),負(fù)責(zé)企業(yè)委托開發(fā)項(xiàng)目多項(xiàng),參與國家863重點(diǎn)項(xiàng)目、國家科技支撐項(xiàng)目1項(xiàng)、國家自然科學(xué)基金項(xiàng)目等多項(xiàng),獲日內(nèi)瓦國際發(fā)明金獎(jiǎng)1項(xiàng)、遼寧省科技進(jìn)步三等獎(jiǎng)1項(xiàng),獲得專利2項(xiàng),軟件著作權(quán)登記5項(xiàng),發(fā)表論文50余篇。
目 錄
第1章 概述 1
1.1 什么是單片機(jī) 1
1.1.1 單片機(jī)的發(fā)展過程 1
1.1.2 單片機(jī)的特點(diǎn) 2
1.2 單片機(jī)的應(yīng)用領(lǐng)域 3
1.3 單片機(jī)的發(fā)展趨勢 4
1.4 STC系列單片機(jī)介紹 5
1.5 感受單片機(jī)第一個(gè)實(shí)例 6
第2章 硬件基礎(chǔ)知識介紹 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ī)
存儲器的結(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 場效應(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 基本邏輯門電路 34
2.3.1 三種基本邏輯門電路 34
2.3.2 組合邏輯電路 36
第3章 C語言基礎(chǔ)知識 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語言的格式與特點(diǎn) 43
3.2.1 C51語言簡介與特點(diǎn) 43
3.2.2 C51語言的格式 43
3.3 C51語言的數(shù)據(jù)類型與表達(dá) 45
3.3.1 C51語言的變量 45
3.3.2 C51語言的數(shù)據(jù)類型 48
3.3.3 C51語言的變量名 50
3.3.4 C51語言的數(shù)組 52
3.4 C51語言的運(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語言的語句結(jié)構(gòu) 60
3.5.1 if選擇語句 60
3.5.2 switch開關(guān)語句 63
3.5.3 for循環(huán)語句 66
3.5.4 while循環(huán)語句 68
3.5.5 do…while循環(huán)語句 69
3.6 C51語言的函數(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語言的模塊化編程 79
第4章 單片機(jī)最小系統(tǒng)設(shè)計(jì) 83
4.1 最小系統(tǒng)原理圖繪制 83
4.2 最小系統(tǒng)PCB設(shè)計(jì) 92
4.3 軟件平臺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 程序的燒寫與驗(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)的處理過程 133
5.1.5 中斷請求的撤銷 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)簡介 185
7.2 單總線實(shí)現(xiàn)唯一序列號 186
7.2.1 DS2401芯片簡介 186
7.2.2 DS2401電路設(shè)計(jì)與
功能函數(shù) 187
7.2.3 DS2401操作原理 188
7.3 單總線實(shí)現(xiàn)溫度測量 189
7.3.1 DS18B20芯片簡介 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芯片簡介 195
7.4.2 DS2438電路設(shè)計(jì)與
功能函數(shù) 196
7.4.3 DS2438操作原理 198
7.5 單總線實(shí)現(xiàn)數(shù)據(jù)存儲 206
7.5.1 DS2431芯片簡介 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ù)存儲 222
8.2.1 AT24C02芯片簡介 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芯片簡介 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芯片簡介 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芯片簡介 236
8.5.2 DAC8571電路設(shè)計(jì)與
功能函數(shù) 237
8.5.3 DAC8571操作原理 238
8.6 IIC總線實(shí)現(xiàn)溫度測量 241
8.6.1 TMP101芯片簡介 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ù)存儲 251
9.2.1 AT93C46芯片簡介 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芯片簡介 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芯片簡介 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芯片簡介 266
9.5.2 TLC5618電路設(shè)計(jì)與
功能函數(shù) 267
9.5.3 TLC5618操作原理 268
9.6 SPI總線實(shí)現(xiàn)溫度測量 269
9.6.1 TMP122芯片簡介 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 總線地址讀寫 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 矩陣鍵盤驅(qū)動(dòng) 286
10.3 外部總線實(shí)現(xiàn)A/D轉(zhuǎn)換 289
10.3.1 ADC0809芯片簡介 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芯片簡介 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芯片簡介 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)部看門狗 302
11.1.1 看門狗技術(shù)簡介 302
11.1.2 內(nèi)部看門狗
功能函數(shù) 302
11.1.3 內(nèi)部看門狗
操作原理 304
11.2 內(nèi)部存儲器 305
11.2.1 內(nèi)部存儲器簡介 305
11.2.2 內(nèi)部存儲器
功能函數(shù) 306
11.2.3 內(nèi)部存儲器
操作原理 308
11.3 內(nèi)部SPI 312
11.3.1 內(nèi)部SPI簡介 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)換器
簡介 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
簡介 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