本書以MCS-51系列單片機為例介紹單片機的硬件結(jié)構(gòu)、工作原理、指令系統(tǒng)、匯編語言及接口技術(shù)、中斷系統(tǒng)及單片機應用等,主要內(nèi)容包括:單片機結(jié)構(gòu)及原理、指令系統(tǒng)、匯編語言程序設計、定時器/計數(shù)器、中斷系統(tǒng)、串行接口、系統(tǒng)擴展、單片機應用系統(tǒng)的設計與開發(fā)等。本書在各章中對關(guān)鍵性內(nèi)容都結(jié)合實例予以說明,并附大量思考題與習題,配套電子課件、程序代碼、參考答案等(凡選用本書作為教材的教師均可登錄機械工業(yè)出版社教育服務網(wǎng)www.cmpedu.com下載)。
本書內(nèi)容全面,通俗易懂,實例豐富,所列舉的程序?qū)嵗哂械湫托裕⑶胰拷?jīng)過調(diào)試,有很大的參考價值。
本書可作為高等院校電子信息類專業(yè)的教材,也可作為工程技術(shù)人員的參考用書,或智能產(chǎn)品開發(fā)愛好者的自學用書。
前言
第1章單片機概述1
1.1單片機的概念1
1.1.1單片機的定義1
1.1.2單片機內(nèi)部結(jié)構(gòu)1
1.1.3單片機應用系統(tǒng)與單片機開發(fā)
系統(tǒng)3
1.1.4單片機程序設計語言和軟件3
1.2單片機的發(fā)展4
1.2.1單片機的發(fā)展概述4
1.2.2單片機與嵌入式系統(tǒng)4
1.2.3單片機的產(chǎn)品類型5
1.3單片機的應用領域7
思考題與習題7
第2章計算機應用的數(shù)學基礎8
2.1計算機中的數(shù)制及數(shù)的轉(zhuǎn)換8
2.1.1計算機中的數(shù)制8
2.1.2計算機中數(shù)制間數(shù)的轉(zhuǎn)換10
2.2計算機中數(shù)的表示13
2.2.1計算機中數(shù)的表示方法13
2.2.2計算機中數(shù)的表示形式18
2.3計算機中數(shù)和字符的編碼22
2.3.1BCD碼和ASCII碼23
2.3.2漢字的編碼24
思考題與習題25
第3章單片機硬件結(jié)構(gòu)26
3.1MCS51單片機的基本組成26
3.1.1MCS51單片機的邏輯結(jié)構(gòu)26
3.1.2MCS51單片機的引腳信號28
3.2MCS51單片機存儲器30
3.2.1程序存儲器30
3.2.2數(shù)據(jù)存儲器31
3.3MCS51單片機的時鐘、復位及時序36
3.3.1時鐘電路36
3.3.2復位電路37
3.3.3單片機時序38
思考題與習題39
第4章指令系統(tǒng)40
4.1概述40
4.1.1指令與程序設計語言40
4.1.2指令格式40
4.1.3指令的分類40
4.1.4指令系統(tǒng)綜述42
4.2尋址方式43
4.2.1立即尋址43
4.2.2直接尋址43
4.2.3寄存器尋址44
4.2.4寄存器間接尋址44
4.2.5變址尋址45
4.2.6相對尋址45
4.2.7位尋址46
4.3MCS51單片機指令系統(tǒng)46
4.3.1數(shù)據(jù)傳送類指令47
4.3.2算術(shù)運算類指令50
4.3.3邏輯操作類指令53
4.3.4控制轉(zhuǎn)移類指令55
4.3.5位運算類指令58
思考題與習題60
第5章匯編語言程序設計61
5.1匯編語言概述61
5.1.1匯編語言基本結(jié)構(gòu)61
5.1.2匯編語言源程序設計步驟61
5.2偽指令63
5.3匯編語言程序設計類型64
5.3.1順序程序設計64
5.3.2分支程序設計65
5.3.3循環(huán)程序設計66
5.3.4查表程序設計67
5.3.5子程序設計69
5.4匯編語言綜合程序設計70
思考題與習題74
第6章單片機存儲器的擴展75
6.1單片機系統(tǒng)擴展及結(jié)構(gòu)75
6.1.1系統(tǒng)擴展結(jié)構(gòu)75
6.1.2系統(tǒng)總線及總線構(gòu)造75
6.2存儲器擴展與編址技術(shù)77
6.2.1單片機存儲器系統(tǒng)77
6.2.2存儲器擴展概述78
6.2.3擴展存儲器編址技術(shù)78
6.3單片機程序存儲器擴展81
6.3.1只讀存儲器概述81
6.3.2程序存儲器擴展用典型芯片82
6.3.3程序存儲器擴展舉例83
6.4數(shù)據(jù)存儲器擴展85
6.4.1隨機存儲器概述85
6.4.2數(shù)據(jù)存儲器擴展用典型芯片86
微控制器原理與接口技術(shù)目錄 6.4.3數(shù)據(jù)存儲器擴展舉例87
6.5存儲器綜合擴展87
6.6flash存儲器89
6.6.1flash類型及應用89
6.6.2NOR和NAND flash存儲器的
使用區(qū)別90
6.6.3eMMC技術(shù)90
思考題與習題91
第7章單片機中斷系統(tǒng)92
7.1中斷的概述92
7.1.1中斷的定義92
7.1.2中斷源92
7.1.3中斷的分類93
7.1.4中斷的嵌套94
7.1.5中斷系統(tǒng)的功能95
7.2MCS51單片機中斷系統(tǒng)結(jié)構(gòu)及
中斷控制96
7.2.1MCS51單片機的中斷源和
中斷標志97
7.2.2MCS51單片機對中斷請求的
控制99
7.3中斷響應及中斷處理過程102
7.3.1中斷響應102
7.3.2中斷處理104
7.3.3中斷返回104
7.4單片機外部中斷程序案例105
思考題與習題106
第8章MCS51單片機的定時器/
計數(shù)器107
8.1定時器/計數(shù)器概述107
8.1.1什么是計數(shù)和定時107
8.1.2定時器/計數(shù)器的組成107
8.2定時器/計數(shù)器的控制108
8.2.1工作方式寄存器TMOD109
8.2.2定時器控制寄存器TCON109
8.2.3MCS51單片機定時器/計數(shù)器的
初始化110
8.3定時器/計數(shù)器的4種工作方式
及應用111
8.3.1方式1及其應用111
8.3.2方式2及其應用112
8.3.3方式3及其應用114
8.4綜合應用實例116
思考題與習題120
第9章MCS51單片機I/O接口
技術(shù)121
9.1MCS51單片機的并行I/O口的結(jié)構(gòu)
及工作原理121
9.1.1I/O接口擴展概述121
9.1.2P0口的結(jié)構(gòu)122
9.1.3P1口的結(jié)構(gòu)123
9.1.4P2口的結(jié)構(gòu)123
9.1.5P3口的結(jié)構(gòu)123
9.2MCS51單片機的并行I/O口的
應用124
9.2.1并行I/O的控制方式124
9.2.2并行I/O的應用125
9.3LED數(shù)碼管顯示器的接口設計126
9.3.1LED數(shù)碼管的工作原理126
9.3.2LED數(shù)碼管顯示器接口
設計舉例127
9.4鍵盤的接口設計128
9.4.1獨立式按鍵接口設計128
9.4.2矩陣式按鍵接口設計129
思考題與習題131
第10章MCS51單片機并行擴展
應用132
10.1A/D轉(zhuǎn)換器接口132
10.1.1A/D轉(zhuǎn)換器概述132
10.1.2MCS51單片機與8位
ADC0809的接口135
10.2D/A轉(zhuǎn)換器擴展139
10.2.1D/A轉(zhuǎn)換器概述139
10.2.2MCS51單片機與8位
DAC0832的接口 140
10.3字符點陣LCM顯示模塊的控制145
10.3.11602字符點陣式LCM簡介145
10.3.21602字符點陣式LCM與單片機
的接口149
思考題與習題151
第11章MCS51單片機的串行接口
及其應用153
11.1串行通信基礎153
11.1.1數(shù)據(jù)通信153
11.1.2異步通信和同步通信154
11.1.3單片機異步串行通信的過程155
11.2MCS51單片機的串行口156
11.2.1串行口的結(jié)構(gòu)156
11.2.2串行口的工作方式158
11.2.3串行口的波特率161
11.3串行口的應用162
11.3.1串行口方式0的應用162
11.3.2串行口其他工作方式的應用164
11.4MCS51單片機與PC間通信166
11.4.1單片機與PC通信的接口電路166
11.4.2單片機與PC端通信程序設計167
11.5藍牙擴展技術(shù)168
11.5.1藍牙技術(shù)概述168
11.5.2藍牙模塊簡介169
11.5.3藍牙模塊與單片機的接口
及應用171
11.6通過RS485總線實現(xiàn)單片機的
多機通信172
11.6.1RS485通信接口介紹172
11.6.2單片機主從式多機通信設計
實例174
思考題與習題175
第12章MCS51單片機的串行
擴展技術(shù)176
12.1IIC總線擴展技術(shù)176
12.1.1IIC 總線物理層176
12.1.2IIC總線協(xié)議層177
12.1.3基于IIC總線的EEPROM
擴展179
12.2SPI總線擴展技術(shù)186
12.2.1SPI總線的擴展結(jié)構(gòu)187
12.2.2基于SPI總線的DS1302擴展187
思考題與習題194
第13章C51語言編程基礎195
13.1編程語言C51195
13.1.1C51語言簡介195
13.1.2C51語言與標準C語言的
比較195
13.2C51語言程序設計基礎196
13.2.1C51語言中的數(shù)據(jù)類型與
存儲類型196
13.2.2C51語言的特殊功能寄存器
及位變量定義199
13.2.3C51語言的絕對地址訪問201
13.2.4C51語言中斷服務函數(shù)203
思考題與習題203
第14章單片機應用系統(tǒng)的抗干擾
及可靠性設計204
14.1干擾的來源及影響204
14.2供電系統(tǒng)干擾及其抗干擾措施204
14.2.1電源噪聲來源、種類及危害205
14.2.2供電系統(tǒng)的抗干擾設計206
14.3過程通道干擾的抑制措施——
隔離207
14.3.1隔離技術(shù)207
14.3.2光電隔離的基本配置207
14.3.3光電隔離的實現(xiàn)208
14.4空間干擾及抗干擾措施209
14.4.1接地技術(shù)209
14.4.2屏蔽技術(shù)210
14.5印制電路板的抗干擾設計210
14.5.1地線及電源線設計210
14.5.2去耦電容器的配置211
14.5.3印制電路板布線的抗干擾
設計211
思考題與習題212
第15章單片機應用系統(tǒng)實例213
15.1出租車計價器213
15.1.1總體方案設計213
15.1.2基本功能213
15.1.3硬件設計方案214
15.1.4軟件設計方案214
15.2智能稱重電子秤215
15.2.1總體方案設計215
15.2.2硬件設計方案215
15.2.3軟件設計方案216
15.3智能熱水器控制系統(tǒng)216
15.3.1總體方案設計217
15.3.2硬件設計方案217
15.3.3軟件設計方案217
思考題與習題218
第16章Keil C51軟件使用219
16.1Keil C51軟件簡介219
16.1.1Keil μVision 集成開發(fā)環(huán)境219
16.1.2Keil工程文件的建立221
16.1.3工程項目的編譯222
16.1.4工程項目的調(diào)試223
16.2單片機程序開發(fā)224
16.2.1常用調(diào)試命令224
16.2.2斷點設置225
思考題與習題225
附錄226
參考文獻232