本書以MCS51為主線,系統(tǒng)地論述了單片機的組成原理、指令系統(tǒng)和匯編語言程序設(shè)計、中斷系統(tǒng)、并行和串行I/O接口以及MCS51對A/D和D/A的接口等內(nèi)容,并在此基礎(chǔ)上介紹了單片機應(yīng)用系統(tǒng)的設(shè)計。全書共分10章,第1章留給學生自學和查閱,第2~9章為必須講授的內(nèi)容,第10章可根據(jù)情況選講。
本書繼承和發(fā)揚了《單片機原理及其接口技術(shù)(第3版)》的風格和特色,刪除了8255A和LM331等一些舊內(nèi)容,全面論述了LCD顯示器和數(shù)字溫度傳感器的原理及應(yīng)用。書中內(nèi)容全面、自成體系、結(jié)構(gòu)緊湊、前后呼應(yīng)、銜接自然、語言通俗且行文流暢。為便于讀者學習,作者還專門制作了與本書配套的CAI教學光盤,光盤上的軟件可從清華大學出版社網(wǎng)站下載。
本書既可作為高等院校教材,也可作為廣大科技人員的自學參考書。
* 本書以MCS-51為主線,系統(tǒng)講述了單片機的組成原理、指令系統(tǒng)和匯編語言程序設(shè)計、中斷系統(tǒng)和串行I/O口以及MCS-51對A/D和D/A的接口等問題,并在此基礎(chǔ)上講述了單片機應(yīng)用系統(tǒng)的設(shè)計。* 本書繼承和發(fā)揚了第3版的風格和特色,全面論述了MCS-51對LCD和DS18B20的原理和應(yīng)用,并增加了15個可以在PROTEUS環(huán)境下仿真運行的應(yīng)用實例。借助于系統(tǒng)機平臺,讀者在茶余飯后既可以進行理論學習,也可以通過Vision 3 集成開發(fā)環(huán)境進行程序設(shè)計的實驗,以及在PROTEUS環(huán)境下進行原理圖的仿真、演示和實驗。* 在配書光盤中,作者為書中各章節(jié)提供了生動活潑的教學課件,并給出了各章習題和思考題的參考答案。作者還對每章習題與思考題進行了補充和完善,使之與主教材遙相呼應(yīng),形象生動,語言通俗,方便而實用。* 在本書中,作者詳細論述了LCD液晶顯示芯片的原理、結(jié)構(gòu)及它們對MCS-51的接口,為讀者深入掌握單片機的應(yīng)用打下了堅實基礎(chǔ),這是現(xiàn)有單片機書籍中*的,也是讀者*難理解的問題,在這里可以找到答案了。
前言
《單片機原理及其接口技術(shù)(第3版)》自出版以來,受到廣大讀者的一致好評,也得到了高等院校師生們的再次肯定。為了使單片機課程教學能跟上新的發(fā)展形勢并滿足教學需要,作者對原書進行了全面審校,并在此基礎(chǔ)上加以修訂,刪除了8255A和LM331等一些舊內(nèi)容;全面論述了LCD顯示器和數(shù)字溫度傳感器的原理及應(yīng)用,還增加了15個可以在PROTEUS環(huán)境下仿真運行的應(yīng)用實例,以此奉獻給廣大讀者。
修訂后,全書分為10章。第1章是微型計算機基礎(chǔ),供學生自學或查閱;第2~4章是指令系統(tǒng)和匯編語言程序設(shè)計,用于培養(yǎng)讀者的程序設(shè)計能力;第5~9章為半導體存儲器、MCS51中斷系統(tǒng)、并行I/O接口、MCS51對A/D和D/A的接口以及MCS51的串行通信;第10章為單片機應(yīng)用系統(tǒng)的設(shè)計,主要講授單片機應(yīng)用系統(tǒng)前向和后向通道的設(shè)計以及單片機應(yīng)用系統(tǒng)的抗干擾設(shè)計等內(nèi)容。與第3版相比,本書內(nèi)容更全面,結(jié)構(gòu)更緊湊,通用性、系統(tǒng)性和實用性更好。
本教材配有CAI教學光盤,光盤內(nèi)容可從清華大學出版社網(wǎng)站(www.tup.com.cn)下載。光盤中的教學內(nèi)容共分10章和1個附錄,分別與教材中的第1~10章和附錄相對應(yīng),每章后都有習題與思考題的參考答案。在光盤上每章后的習題與思考題中,還有填充題和選擇題,并附有相應(yīng)參考答案。該光盤總攬了教學所需的內(nèi)容和圖形,教師可根據(jù)不同層次學生的情況和不同教學要求從中選取適用的教學內(nèi)容。光盤中還穿插了大量動畫來展現(xiàn)指令和程序的執(zhí)行功能以及硬件電路中的信息流,活潑而又生動,具有創(chuàng)新特色。
在本書編寫以及資料制作和移植過程中,得到了上官劍峰、王梓驍、張世逸和姜曉琳等的大力支持和指導。為此,對于上述同志以及參與本書出版工作的有關(guān)人員表示誠摯謝意。
注: 文中所說光盤并沒有隨書一起出版,而是把其內(nèi)容放到了清華大學出版社網(wǎng)站上供讀者下載。
由于作者水平所限,書中可能還會存在某些錯誤和不妥之處,懇請廣大讀者批評指正。
作者
2017年11月
目錄
第1章微型計算機基礎(chǔ)1
1.1計算機中的數(shù)制及數(shù)的轉(zhuǎn)換1
1.1.1計算機中的數(shù)制1
1.1.2計算機中數(shù)制間數(shù)的轉(zhuǎn)換4
1.2計算機中數(shù)的表示方法7
1.2.1定點機中數(shù)的表示方法7
1.2.2浮點機中數(shù)的表示方法8
1.2.3二進制數(shù)的運算9
1.3計算機中數(shù)的表示形式13
1.3.1機器數(shù)的原碼、反碼和補碼13
1.3.2補碼的加減運算16
1.3.3補碼運算的正確性及變形碼17
1.4計算機中數(shù)和字符的編碼21
1.4.1BCD碼和ASCII碼21
1.4.2漢字的編碼24
1.4.3校驗碼編碼25
1.5單片微型計算機概述29
1.5.1單片機的內(nèi)部結(jié)構(gòu)29
1.5.2單片機的基本原理32
1.5.3單片機的分類及發(fā)展35
1.5.4典型單片機性能概覽36
1.5.5單片機在工業(yè)控制中的應(yīng)用46
習題與思考題47
第2章MCS51單片機結(jié)構(gòu)與時序49
2.1MCS51單片機內(nèi)部結(jié)構(gòu)49
2.1.1CPU結(jié)構(gòu)49
2.1.2存儲器結(jié)構(gòu)55
2.1.3I/O端口59
2.1.4定時器/計數(shù)器61
2.1.5中斷系統(tǒng)61
2.2MCS51單片機引腳功能61
2.2.1MCS51單片機引腳及其功能63
2.2.28031對片外存儲器的連接65
2.3MCS51單片機的工作方式66
2.3.1復位方式67
2.3.2程序執(zhí)行方式67
2.3.3節(jié)電方式68
2.3.4EPROM的編程和校驗方式70
2.4MCS51單片機時序73
2.4.1機器周期和指令周期73
2.4.2MCS51指令的取指/執(zhí)行時序74
2.4.3訪問片外ROM/RAM的指令時序75
習題與思考題78
第3章MCS51單片機指令系統(tǒng)79
3.1概述79
3.1.1指令格式79
3.1.2指令的3種表示形式80
3.1.3指令的字節(jié)數(shù)80
3.1.4指令的分類82
3.1.5指令系統(tǒng)綜述83
3.2尋址方式84
3.2.1寄存器尋址84
3.2.2直接尋址84
3.2.3立即尋址86
3.2.4寄存器間址86
3.2.5變址尋址87
3.2.6相對尋址88
3.2.7位尋址89
3.3數(shù)據(jù)傳送指令90
3.3.1內(nèi)部數(shù)據(jù)傳送指令(15條)90
3.3.2外部數(shù)據(jù)傳送指令(7條)93
3.3.3堆棧操作指令(2條)96
3.3.4數(shù)據(jù)交換指令(4條)97
3.4算術(shù)與邏輯運算和移位指令98
3.4.1算術(shù)運算指令(24條)98
3.4.2邏輯運算指令(20條)105
3.4.3移位指令(5條)108
3.5控制轉(zhuǎn)移和位操作指令110
3.5.1控制轉(zhuǎn)移指令(17條)110
352位操作指令(17條)119
習題與思考題122
第4章匯編語言程序設(shè)計126
4.1匯編語言的構(gòu)成126
4.1.1程序設(shè)計語言126
4.1.2匯編語言的格式127
4.1.3匯編語言的構(gòu)成129
4.2匯編語言源程序的設(shè)計與匯編133
4.2.1匯編語言源程序的設(shè)計步驟134
4.2.2匯編語言源程序的匯編135
4.2.3Vision 3集成開發(fā)環(huán)境簡介138
4.3簡單程序與分支程序設(shè)計139
4.3.1簡單程序設(shè)計139
4.3.2分支程序設(shè)計141
4.4循環(huán)與查表程序設(shè)計146
4.4.1循環(huán)程序設(shè)計146
4.4.2查表程序設(shè)計152
4.5子程序與運算程序設(shè)計156
4.5.1子程序設(shè)計156
4.5.2運算程序設(shè)計160
習題與思考題167
第5章半導體存儲器170
5.1半導體存儲器基礎(chǔ)170
5.1.1半導體存儲器的分類和作用170
5.1.2半導體存儲器的技術(shù)指標173
5.1.3半導體存儲器的現(xiàn)狀和前景174
5.1.4半導體存儲器的基本結(jié)構(gòu)175
5.2只讀存儲器178
5.2.1掩膜ROM的原理178
5.2.2PROM的原理179
5.2.3EPROM的原理180
5.2.4ROM舉例181
5.3隨機存取存儲器187
5.3.1靜態(tài)RAM的基本存儲電路187
5.3.2動態(tài)RAM的基本存儲電路188
5.3.3RAM舉例189
5.4MCS51和外部存儲器的連接193
5.4.1連接中應(yīng)考慮的問題193
5.4.2MCS51對外部ROM的連接196
5.4.3MCS51對外部RAM的連接198
5.4.4MCS51對外部存儲器的連接202
習題與思考題203
第6章MCS51中斷系統(tǒng)206
6.1概述206
6.1.1中斷的定義和作用206
6.1.2中斷源207
6.1.3中斷的分類208
6.1.4中斷的嵌套208
6.1.5中斷系統(tǒng)的功能209
6.2MCS51的中斷系統(tǒng)210
6.2.1MCS51的中斷源和中斷標志210
6.2.2MCS51對中斷請求的控制213
6.2.3MCS51對中斷的響應(yīng)216
6.2.4MCS51對中斷的響應(yīng)時間216
6.2.5MCS51對中斷請求的撤除217
6.2.6MCS51中斷系統(tǒng)的初始化218
6.2.7MCS51外部中斷的應(yīng)用219
6.3中斷控制器8259A224
6.3.18259的內(nèi)部結(jié)構(gòu)224
6.3.28259的引腳功能225
6.3.38259的命令字226
6.3.48259的工作模式233
6.3.58259的級聯(lián)238
6.4MCS51對外部中斷源的擴展239
6.4.1借用定時器溢出中斷擴展外部中斷源240
6.4.2采用查詢法擴展外部中斷源240
6.4.3采用8259擴展外部中斷源242
習題與思考題244
第7章并行I/O接口246
7.1概述246
7.1.1I/O接口的作用247
7.1.2外部設(shè)備的編址247
7.1.3I/O數(shù)據(jù)的4種傳送方式249
7.1.4I/O接口的類型252
7.2MCS51內(nèi)部并行I/O端口及其應(yīng)用253
7.2.1MCS51內(nèi)部并行I/O端口253
7.2.2MCS51內(nèi)部并行I/O端口的應(yīng)用253
7.3MCS51并行I/O端口的擴展260
7.3.1Intel 8155260
7.3.2MCS51對并行I/O端口的擴展267
7.4MCS51對LED/鍵盤的接口273
7.4.1MCS51對LED的接口273
7.4.2MCS51對非編碼鍵盤的接口277
7.4.3鍵盤/顯示系統(tǒng)284
7.5MCS51內(nèi)部定時器/計數(shù)器285
7.5.1MCS51對內(nèi)部定時器/計數(shù)器的控制286
7.5.2MCS51內(nèi)部定時器/計數(shù)器的工作方式288
7.5.3MCS51對內(nèi)部定時器/計數(shù)器的初始化289
7.5.4應(yīng)用舉例291
7.6MCS51對LCD的接口294
7.6.1字段式LCD液晶顯示器294
7.6.2點陣式LCD液晶顯示器302
習題與思考題324
第8章MCS51對A/D和D/A的接口326
8.1D/A轉(zhuǎn)換器326
8.1.1D/A轉(zhuǎn)換器的原理327
8.1.2D/A轉(zhuǎn)換器的性能指標328
8.1.3DAC0832329
8.2MCS51對D/A的接口330
8.2.1DAC的應(yīng)用331
8.2.2MCS51對8位DAC的接口333
8.2.3MCS51對12位DAC的接口338
8.3A/D轉(zhuǎn)換器340
8.3.1逐次逼近式A/D轉(zhuǎn)換原理341
8.3.2并行A/D轉(zhuǎn)換原理341
8.3.3A/D轉(zhuǎn)換器的性能指標343
8.3.4ADC0809343
8.4MCS51對A/D的接口346
8.4.1MCS51對ADC0809的接口346
8.4.2MCS51對AD574A的接口350
習題與思考題353
第9章MCS51的串行通信356
9.1串行通信基礎(chǔ)356
9.1.1串行通信的分類356
9.1.2串行通信的制式358
9.1.3串行通信中的調(diào)制解調(diào)器359
9.1.4串行通信中串行I/O數(shù)據(jù)的實現(xiàn)362
9.2MCS51的串行接口365
9.2.1串行口的結(jié)構(gòu)365
9.2.2串行口的工作方式368
9.2.3串行口的通信波特率370
9.3MCS51串行口的應(yīng)用371
9.3.1串行口在方式0下的應(yīng)用371
9.3.2串行口在其他方式下的應(yīng)用373
9.4單片機的多機通信379
9.4.1軟件中斷型主從式多機通信380
9.4.2硬件中斷型主從式多機通信386
9.4.3分布式通信系統(tǒng)387
9.4.4光纖通信簡介392
習題與思考題396
第10章單片機應(yīng)用系統(tǒng)的設(shè)計398
10.1單片機的總線結(jié)構(gòu)398
10.1.1單片機總線概述398
10.1.2板級總線401
10.1.3通信總線406
10.2單片機前向通道的設(shè)計414
10.2.1傳感器和模擬信號放大器415
10.2.2多路開關(guān)和采樣保持器418
10.2.3DS18B20的原理及應(yīng)用422
10.3單片機后向通道的設(shè)計439
10.3.1線路驅(qū)動器和接收器439
10.3.2外圍驅(qū)動器441
10.3.3顯示驅(qū)動器和電平轉(zhuǎn)換器444
10.3.4電氣隔離技術(shù)446
10.4單片機應(yīng)用系統(tǒng)的抗干擾設(shè)計451
10.4.1單片機應(yīng)用系統(tǒng)的硬件抗干擾設(shè)計451
10.4.2單片機應(yīng)用系統(tǒng)的軟件抗干擾設(shè)計460
習題與思考題467
附錄AASCII碼字符表469
附錄B圖形字符代碼表(漢字編碼部分)示例圖470
附錄CMCS51系列單片機指令表471
附錄DLCD控制芯片HD44780中CGROM字符表480
附錄EPROTEUS多功能EDA軟件簡介481
附錄F配套光盤簡介483
參考文獻485