本書以MCS 51系列單片機為主要對象,以C語言為主、匯編語言為輔安排全書內(nèi)容,詳細介紹了51系列單片機的結(jié)構(gòu)原理和系統(tǒng)設(shè)計,敘述了單片機開發(fā)軟件KeilC51的應(yīng)用及調(diào)試方法,介紹了單片機應(yīng)用仿真工具ProteusISIS,最后一章講述了單片機系統(tǒng)的實際開發(fā)制作過程.本書是再版書,相比第2版,本書從單片機的簡單應(yīng)用實例講起,并對舊版書的結(jié)構(gòu)、內(nèi)容進行了更新.
書中列舉了大量單片機應(yīng)用實例,所有實例均仿真通過.本書配套資料中既包含全書的應(yīng)用實例,還包含30個課外實例供讀者參考選用.本書各章都有小結(jié),并配有習(xí)題,多數(shù)習(xí)題要求仿真結(jié)果,讀者通過Proteus仿真可以直接驗證自己的設(shè)計.
本書既可作為高等院校電氣、電子、計算機、信息及自動化、智能儀器儀表等專業(yè)“單片機原理與應(yīng)用”課程教材,也可作為從事單片機開發(fā)應(yīng)用的技術(shù)人員的參考用書.
第1章 單片機基礎(chǔ)知識………………………………………………………… 1
1.1 單片機的應(yīng)用與發(fā)展……………………………………………………… 1
1.1.1 單片機的簡單應(yīng)用………………………………………………… 1
1.1.2 單片機的發(fā)展歷史………………………………………………… 3
1.2 單片機的分類……………………………………………………………… 6
1.3 AT89C52單片機簡介……………………………………………………… 7
1.3.1 AT89C52單片機的引腳功能……………………………………… 8
1.3.2 AT89C52單片機的內(nèi)部結(jié)構(gòu)……………………………………… 9
1.3.3 AT89C52單片機的I/O接口部分和特殊功能部分…………… 16
1.4 AT89C52單片機的時鐘與復(fù)位電路…………………………………… 17
1.4.1 復(fù)位操作和復(fù)位電路……………………………………………… 17
1.4.2 振蕩電路和時鐘…………………………………………………… 19
1.4.3 AT89C52單片機的機器周期…………………………………… 20
1.5 AT89C52單片機的低功耗工作方式…………………………………… 21
1.6 常用的名詞術(shù)語和二進制編碼…………………………………………… 23
1.7 指令程序和指令執(zhí)行……………………………………………………… 27
本章小結(jié)…………………………………………………………………… 27
思考題與習(xí)題……………………………………………………………… 28
第2章 指令系統(tǒng)及匯編語言程序設(shè)計…………………………………… 29
2.1 尋址方式…………………………………………………………………… 29
2.2 指令系統(tǒng)…………………………………………………………………… 34
2.2.1 數(shù)據(jù)傳送指令……………………………………………………… 34
2.2.2 算術(shù)運算指令……………………………………………………… 37
2.2.3 邏輯運算指令……………………………………………………… 39
2.2.4 位(布爾)操作類指令……………………………………………… 41
2.2.5 控制轉(zhuǎn)移類指令…………………………………………………… 42
2.3 匯編語言指令格式及匯編語言程序設(shè)計基礎(chǔ)…………………………… 46
2.3.1 匯編語言執(zhí)行指令格式…………………………………………… 46
2.3.2 匯編偽指令………………………………………………………… 47
2 單片機原理與應(yīng)用實例仿真(第3版)
2.3.3 匯編語言的特點…………………………………………………… 49
2.3.4 匯編語言程序設(shè)計的步驟………………………………………… 49
本章小結(jié)…………………………………………………………………… 49
思考題與習(xí)題……………………………………………………………… 49
第3章 單片機的C語言程序設(shè)計…………………………………………… 51
3.1 C51的程序結(jié)構(gòu)…………………………………………………………… 51
3.2 數(shù)據(jù)類型、存儲類型及存儲模式………………………………………… 53
3.2.1 數(shù)據(jù)類型…………………………………………………………… 53
3.2.2 常量和變量………………………………………………………… 54
3.2.3 C51的存儲類型及存儲模式……………………………………… 55
3.2.4 特殊功能寄存器、并行接口及位變量的定義…………………… 58
3.3 運算符、函數(shù)及程序流程控制…………………………………………… 61
3.3.1 C51的運算符……………………………………………………… 61
3.3.2 C51的函數(shù)………………………………………………………… 62
3.3.3 C51的流程控制語句……………………………………………… 65
3.4 C51的構(gòu)造數(shù)據(jù)類型……………………………………………………… 68
3.4.1 數(shù) 組……………………………………………………………… 68
3.4.2 結(jié) 構(gòu)……………………………………………………………… 69
3.4.3 聯(lián) 合……………………………………………………………… 70
3.4.4 枚 舉……………………………………………………………… 71
3.4.5 指 針……………………………………………………………… 71
3.5 C51實例分析及混合編程………………………………………………… 74
3.5.1 C51實例分析……………………………………………………… 74
3.5.2 混合編程…………………………………………………………… 75
3.6 KeilC51簡介……………………………………………………………… 78
3.6.1 項目文件的建立、設(shè)置與目標文件的獲得……………………… 78
3.6.2 程序的調(diào)試………………………………………………………… 81
本章小結(jié)…………………………………………………………………… 85
思考題與習(xí)題……………………………………………………………… 85
第4章 單片機的I/O 口及Proteus簡介…………………………………… 87
4.1 P0~P3端口的結(jié)構(gòu)與功能……………………………………………… 87
4.1.1 P0端口的結(jié)構(gòu)與功能…………………………………………… 87
4.1.2 P1端口的結(jié)構(gòu)與功能…………………………………………… 88
4.1.3 P2端口的結(jié)構(gòu)與功能…………………………………………… 89
4.1.4 P3端口的結(jié)構(gòu)與功能…………………………………………… 90
4.2 Proteus簡介……………………………………………………………… 91
4.2.1 ProteusISIS的工作界面………………………………………… 92
4.2.2 ProteusISIS的基本操作………………………………………… 92
4.2.3 ProteusISIS的原理圖繪制和仿真……………………………… 96
4.2.4 Proteus與KeilC相結(jié)合的設(shè)計和仿真………………………… 98
4.3 I/O口應(yīng)用實例與仿真………………………………………………… 105
4.3.1 LED與數(shù)碼管簡介……………………………………………… 105
4.3.2 LED點陣顯示屏………………………………………………… 107
4.3.3 簡易鍵盤的設(shè)計………………………………………………… 109
4.3.4 I/O口的實例仿真……………………………………………… 111
本章小結(jié)…………………………………………………………………… 125
思考題與習(xí)題……………………………………………………………… 125
第5章 單片機的中斷系統(tǒng)與實例仿真…………………………………… 126
5.1 中斷系統(tǒng)結(jié)構(gòu)…………………………………………………………… 126
5.1.1 中斷概述………………………………………………………… 126
5.1.2 中斷系統(tǒng)結(jié)構(gòu)與中斷控制……………………………………… 127
5.2 中斷的實現(xiàn)過程………………………………………………………… 132
5.2.1 中斷采樣………………………………………………………… 133
5.2.2 中斷查詢………………………………………………………… 133
5.2.3 中斷響應(yīng)………………………………………………………… 133
5.2.4 中斷服務(wù)………………………………………………………… 135
5.2.5 中斷返回………………………………………………………… 136
5.2.6 中斷請求的撤銷………………………………………………… 137
5.3 中斷系統(tǒng)實例與仿真…………………………………………………… 138
本章小結(jié)…………………………………………………………………… 148
思考題與習(xí)題……………………………………………………………… 149
第6章 定時/計數(shù)器原理及實例仿真……………………………………… 150
6.1 定時/計數(shù)器0和1結(jié)構(gòu)和工作原理…………………………………… 150
6.1.1 定時/計數(shù)器0和1……………………………………………… 150
6.1.2 與定時/計數(shù)器0和定時/計數(shù)器1相關(guān)的特殊功能寄存器…………………………………………………………………… 151
6.1.3 定時/計數(shù)器0和定時/計數(shù)器1的工作模式………………… 153
6.2 定時/計數(shù)器2(T/C2)的結(jié)構(gòu)和工作原理…………………………… 155
4 單片機原理與應(yīng)用實例仿真(第3版)
6.2.1 與定時/計數(shù)器2相關(guān)的特殊功能寄存器……………………… 155
6.2.2 定時/計數(shù)器2的工作模式……………………………………… 156
6.3 仿真實例………………………………………………………………… 160
6.3.1 定時器工作方式實例…………………………………………… 160
6.3.2 計數(shù)器工作方式實例…………………………………………… 166
6.3.3 捕捉模式實例…………………………………………………… 168
6.3.4 定時/計數(shù)器復(fù)雜應(yīng)用實例……………………………………… 174
6.4 看門狗定時器…………………………………………………………… 178
6.4.1 看門狗簡介……………………………………………………… 178
6.4.2 看門狗的工作原理……………………………………………… 179
6.4.3 看門狗的使用…………………………………………………… 179
6.4.4 高級看門狗……………………………………………………… 180
本章小結(jié)…………………………………………………………………… 180
思考題與習(xí)題……………………………………………………………… 181
第7章 單片機的串行通信與實例仿真…………………………………… 182
7.1 串行通信概述…………………………………………………………… 182
7.2 串行接口結(jié)構(gòu)與工作原理……………………………………………… 184
7.2.1 AT89C52單片機的串行接口結(jié)構(gòu)……………………………… 184
7.2.2 AT89C52單片機的串行通信過程……………………………… 185
7.3 串行接口的控制寄存器與工作方式…………………………………… 185
7.3.1 串行接口的控制寄存器………………………………………… 185
7.3.2 串行口的工作方式……………………………………………… 188
7.3.3 波特率的確定…………………………………………………… 191
7.3.4 定時/計數(shù)器T2產(chǎn)生波特率…………………………………… 192
7.4 串行接口的實例與仿真………………………………………………… 193
7.5 單片機多機通信………………………………………………………… 200
7.6 單片機與PC機串行口通信…………………………………………… 207
7.6.1 RS232C接口…………………………………………………… 207
7.6.2 RS485接口……………………………………………………… 212
7.6.3 Proteus實現(xiàn)的PC機與單片機的串行通信仿真……………… 216
7.6.4 單片機與計算機的串行通信技術(shù)……………………………… 221
本章小結(jié)…………………………………………………………………… 232
思考題與習(xí)題……………………………………………………………… 232
第8章 單片機擴展技術(shù)與實例仿真……………………………………… 234
8.1 存儲器的擴展實例與仿真……………………………………………… 234
8.1.1 數(shù)據(jù)存儲器的擴展……………………………………………… 234
8.1.2 程序存儲器的擴展……………………………………………… 239
8.2 I/O接口的擴展實例與仿真…………………………………………… 243
8.2.1 可編程接口芯片8255A ………………………………………… 243
8.2.2 8255A 的應(yīng)用及仿真…………………………………………… 249
8.3 D/A、A/D接口應(yīng)用實例與仿真……………………………………… 252
8.3.1 D/A 轉(zhuǎn)換器……………………………………………………… 252
8.3.2 A/D轉(zhuǎn)換器……………………………………………………… 260
本章小結(jié)…………………………………………………………………… 267
習(xí)題與思考題……………………………………………………………… 267
第9章 單片機高級應(yīng)用實例………………………………………………… 269
9.1 Mifare射頻卡讀/寫器的設(shè)計………………………………………… 269
9.1.1 Mifare卡的內(nèi)部結(jié)構(gòu)…………………………………………… 270
9.1.2 Mifare卡讀/寫器主要模塊的設(shè)計…………………………… 272
9.1.3 Mifare卡操作流程……………………………………………… 277
9.1.4 FM1702SL密鑰的設(shè)計與沖突檢測措施……………………… 278
9.1.5 Mifare卡讀/寫軟件設(shè)計……………………………………… 280
9.2 基于nRF905的無線傳輸系統(tǒng)設(shè)計…………………………………… 287
9.2.1 nRF905簡介…………………………………………………… 288
9.2.2 nRF905電路原理圖…………………………………………… 292
9.2.3 nRF905固件程序設(shè)計………………………………………… 294
本章小結(jié)…………………………………………………………………… 301
思考題與習(xí)題……………………………………………………………… 301
第10章 程序燒錄與樣機開發(fā)……………………………………………… 302
10.1 項目開發(fā)流程…………………………………………………………… 302
10.1.1 項目開發(fā)概述…………………………………………………… 302
10.1.2 需求分析………………………………………………………… 302
10.1.3 系統(tǒng)總體設(shè)計…………………………………………………… 305
10.2 硬件電路設(shè)計與焊接…………………………………………………… 306
10.2.1 準備工作………………………………………………………… 306
10.2.2 最小系統(tǒng)硬件電路焊接………………………………………… 308
6 單片機原理與應(yīng)用實例仿真(第3版)
10.2.3 電路板焊接效果檢查…………………………………………… 309
10.3 軟件開發(fā)………………………………………………………………… 310
10.3.1 軟件開發(fā)過程…………………………………………………… 311
10.3.2 構(gòu)建軟件項目…………………………………………………… 312
10.3.3 μVision5軟件調(diào)試…………………………………………… 316
10.4 程序存儲器編程………………………………………………………… 321
10.4.1 程序存儲器編程方法…………………………………………… 321
10.4.2 在線編程原理…………………………………………………… 322
10.4.3 STC系列單片機的程序下載………………………………… 324
10.5 綜合調(diào)試………………………………………………………………… 326
10.6 綜合實例———掉電不丟失日歷時鐘…………………………………… 327
10.6.1 系統(tǒng)功能要求…………………………………………………… 327
10.6.2 功能分析及主要元器件確定…………………………………… 327
10.6.3 主要元器件性能介紹…………………………………………… 328
10.6.4 硬件設(shè)計………………………………………………………… 334
10.6.5 軟件設(shè)計………………………………………………………… 335
本章小結(jié)…………………………………………………………………… 337
思考題與習(xí)題……………………………………………………………… 337
附錄A 主要單片機生產(chǎn)商網(wǎng)址及相關(guān)信息網(wǎng)址……………………… 338
附錄B 常用數(shù)碼對應(yīng)關(guān)系表………………………………………………… 339
附錄C ProteusVSM 元件庫和常用元器件說明………………………… 340
附錄D C語言的關(guān)鍵字……………………………………………………… 343
附錄E C51的庫函數(shù)………………………………………………………… 345
附錄F MCS 51指令表……………………………………………………… 356
參考文獻…………………………………………………………………………… 360