本書是為高等院校非計(jì)算機(jī)專業(yè)學(xué)生編寫的計(jì)算機(jī)技術(shù)基礎(chǔ)課教材。作者根據(jù)微型計(jì)算機(jī)技術(shù)發(fā)展現(xiàn)狀,考慮非計(jì)算機(jī)專業(yè)學(xué)生的數(shù)字技術(shù)基礎(chǔ)薄弱,結(jié)合工科院校學(xué)生對計(jì)算機(jī)應(yīng)用的偏好,以8086/8088 CPU為背景,介紹微型計(jì)算機(jī)的基礎(chǔ)知識、CPU功能結(jié)構(gòu)和工作原理、指令系統(tǒng)與匯編語言程序設(shè)計(jì)基礎(chǔ)、C/C 與匯編語言混合編程、存儲器設(shè)計(jì)基礎(chǔ)、接口技術(shù)基礎(chǔ)及應(yīng)用。通過微處理器與存儲系統(tǒng)、輸入輸出系統(tǒng)的連接結(jié)構(gòu),以及在這個結(jié)構(gòu)下匯編語言指令和程序的執(zhí)行過程的理解,使讀者建立微型計(jì)算機(jī)系統(tǒng)的整體概念,深入全面地理解計(jì)算機(jī)的工作過程,形成對微型計(jì)算機(jī)控制系統(tǒng)設(shè)計(jì)及應(yīng)用的能力。本書注重基礎(chǔ),力求理論與實(shí)踐相結(jié)合,以學(xué)以致用為原則。
本書可作為普通高等院校本科生微型計(jì)算機(jī)原理與接口技術(shù)課程的教材,也可作為成人高等教育的培訓(xùn)教材及廣大科技工作者的自學(xué)參考書。
本書是為高等院校非計(jì)算機(jī)專業(yè)學(xué)生編寫的計(jì)算機(jī)技術(shù)基礎(chǔ)課教材。作者根據(jù)微型計(jì)算機(jī)技術(shù)發(fā)展現(xiàn)狀,考慮非計(jì)算機(jī)專業(yè)學(xué)生的數(shù)字技術(shù)基礎(chǔ)薄弱,結(jié)合工科院校學(xué)生對計(jì)算機(jī)應(yīng)用的偏好,以8086/8088CPU為背景,介紹微型計(jì)算機(jī)的原理與接口技術(shù)。內(nèi)容包括微型計(jì)算機(jī)的基礎(chǔ)知識、CPU功能結(jié)構(gòu)和工作原理、指令系統(tǒng)與匯編語言程序設(shè)計(jì)基礎(chǔ)、C/C 與匯編語言混合編程、存儲器設(shè)計(jì)基礎(chǔ)、接口技術(shù)基礎(chǔ)及應(yīng)用等。通過微處理器與存儲系統(tǒng)、輸入輸出系統(tǒng)的連接結(jié)構(gòu),以及在這個結(jié)構(gòu)下匯編語言指令和程序的執(zhí)行過程的理解,使讀者建立微型計(jì)算機(jī)系統(tǒng)的整體概念,深入全面地理解計(jì)算機(jī)的工作過程,形成對微型計(jì)算機(jī)控制系統(tǒng)設(shè)計(jì)及應(yīng)用的能力。本書注重基礎(chǔ),力求理論與實(shí)踐相結(jié)合,以學(xué)以致用為原則?勺鳛槠胀ǜ叩仍盒1究粕C(jī)原理與接口技術(shù)課程的教材,也可作為成人高等教育的培訓(xùn)教材及廣大科技工作者的自學(xué)參考書。
前言
本書是高等院校非計(jì)算機(jī)專業(yè)學(xué)生學(xué)習(xí)微型計(jì)算機(jī)原理與接口技術(shù)課程的通用教材,主要以8086/8088 CPU系統(tǒng)為背景,介紹微型計(jì)算機(jī)的基礎(chǔ)知識、CPU功能結(jié)構(gòu)和工作原理、指令系統(tǒng)、存儲系統(tǒng)、基本輸入輸出接口和中斷技術(shù),對微機(jī)接口芯片的功能結(jié)構(gòu)、編程方法,進(jìn)行理論剖析和實(shí)踐應(yīng)用。本書共9章。第1章主要講述微型計(jì)算機(jī)基礎(chǔ)知識,包括整數(shù)運(yùn)算、浮點(diǎn)數(shù)運(yùn)算、運(yùn)算溢出判斷、邏輯運(yùn)算和基本邏輯門電路。第2章主要介紹Intel 8086/8088的功能特征、引腳信號、基本時序、系統(tǒng)構(gòu)成和編程結(jié)構(gòu)。第3章講述8086/8088指令格式、尋址方式和指令系統(tǒng)。第4章講述匯編語言程序格式、偽指令和匯編語言上機(jī)過程、簡單分支程序設(shè)計(jì)、多分支程序設(shè)計(jì)、循環(huán)程序設(shè)計(jì)、子程序的結(jié)構(gòu)、子程序的參數(shù)傳遞方法、子程序的嵌套與遞歸和子程序設(shè)計(jì)舉例。第5章講述半導(dǎo)體存儲器的分類及性能指標(biāo)、ROM及RAM存儲芯片應(yīng)用、高速緩沖存儲器。第6章介紹基本輸入/輸出接口電路、CPU與外設(shè)之間數(shù)據(jù)傳送的控制方式(無條件傳送方式、程序查詢傳送方式、中斷方式、DMA傳送方式)、中斷的基本概念、中斷處理過程和可編程中斷控制器8259A。第7章講述可編程并行輸入/輸出接口芯片8255A、8255A各種工作方式的應(yīng)用、可編程計(jì)數(shù)器/定時器8253及其在計(jì)數(shù)和定時的應(yīng)用、可編程串行通信接口芯片8251A、串行通信系統(tǒng)實(shí)例。第8章主要講述數(shù)/模轉(zhuǎn)換器及應(yīng)用、模/數(shù)轉(zhuǎn)換器及應(yīng)用。第9章主要講述總線的概念及分類、ISA總線、PCI總線。為便于多媒體教學(xué),本教材配有電子教案,并錄制了80多個理論及實(shí)驗(yàn)教學(xué)視頻,讀者可以以慕課的形式學(xué)習(xí)。本書第1、2章由郭威編寫,第3、4、7章由侯彥利、楊卉編寫,第5章由趙永華編寫,第6章由劉通、侯彥利編寫,第8、9章由馬愛民編寫,全書由侯彥利統(tǒng)稿。在本書的寫作過程中還得到了計(jì)算機(jī)教學(xué)與研究中心秦貴和教授和張欣主任的熱情關(guān)懷和支持,吉林大學(xué)計(jì)算機(jī)學(xué)院趙宏偉教授提出了很多寶貴意見,在此,作者謹(jǐn)向他們表示衷心的感謝!由于作者水平有限,書中難免有錯誤和不當(dāng)之處,懇請讀者和同行專家批評指正。
編者2016年8月8日于吉林大學(xué)
目錄
第1章微型計(jì)算機(jī)基礎(chǔ)知識1
1.1微型計(jì)算機(jī)簡介1
1.2計(jì)算機(jī)中的數(shù)據(jù)5
1.2.1數(shù)制5
1.2.2各種數(shù)制之間的轉(zhuǎn)換7
1.3二進(jìn)制整數(shù)的算術(shù)運(yùn)算9
1.3.1二進(jìn)制數(shù)的算術(shù)運(yùn)算規(guī)則9
1.3.2無符號整數(shù)的算術(shù)運(yùn)算10
1.3.3帶符號整數(shù)的表示方法11
1.3.4補(bǔ)碼運(yùn)算13
1.3.5帶符號數(shù)的溢出判斷14
1.4浮點(diǎn)數(shù)15
1.5基本邏輯運(yùn)算及常用邏輯部件16
1.5.1基本邏輯運(yùn)算17
1.5.2基本邏輯門18
1.6編碼21
1.6.1字符編碼21
1.6.2Unicode碼22
1.6.3BCD碼22
練習(xí)題23
第2章8086/8088微處理器25
2.18086/8088微處理器的功能結(jié)構(gòu)25
2.1.1執(zhí)行單元25
2.1.2總線接口單元26
2.28088 CPU的引腳及功能27
2.2.1引腳定義27
2.2.28088 CPU的總線時序31[1][3]微型計(jì)算機(jī)原理與接口技術(shù)
2.38088 CPU的存儲器組織37
2.3.1存儲器分段管理37
2.3.28088 CPU的編程結(jié)構(gòu)38
練習(xí)題40
第3章8086/8088指令系統(tǒng)42
3.1概述42
3.1.1機(jī)器語言與匯編語言42
3.1.2指令的基本構(gòu)成43
3.28086 CPU尋址方式44
3.2.1立即尋址45
3.2.2直接尋址45
3.2.3寄存器尋址47
3.2.4寄存器間接尋址47
3.2.5寄存器相對尋址47
3.2.6基址變址尋址48
3.2.7基址變址相對尋址49
3.2.8隱含尋址49
3.38086 CPU指令系統(tǒng)49
3.3.1數(shù)據(jù)傳送指令50
3.3.2算術(shù)運(yùn)算指令56
3.3.3邏輯運(yùn)算與移位指令63
3.3.4串操作指令69
3.3.5程序控制指令74
3.3.6處理器控制指令81
練習(xí)題82
第4章匯編語言程序設(shè)計(jì)85
4.1匯編語言源程序85
4.1.1匯編語言源程序結(jié)構(gòu)85
4.1.2匯編語言源程序的處理過程87
4.1.3匯編語言中的操作數(shù)87
4.2偽指令90
4.2.1段定義偽指令90
4.2.2數(shù)據(jù)定義偽指令92
4.2.3符號定義偽指令94
4.2.4過程定義偽指令95
4.2.5程序結(jié)束偽指令96
4.2.6其他較常見偽指令簡介96
4.3DOS系統(tǒng)功能調(diào)用97
4.3.1輸入單個字符97
4.3.2輸入字符串97
4.3.3顯示單個字符98
4.3.4顯示字符串99
4.3.5返回操作系統(tǒng)99
4.4匯編語言程序設(shè)計(jì)基礎(chǔ)99
4.4.1匯編語言程序設(shè)計(jì)步驟99
4.4.2順序程序設(shè)計(jì)100
4.4.3分支程序設(shè)計(jì)101
4.4.4循環(huán)程序設(shè)計(jì)104
4.4.5過程設(shè)計(jì)106
4.4.6匯編語言程序的開發(fā)過程110
4.5在C/C 內(nèi)使用匯編語言111
4.5.1為什么要在C/C 中使用匯編語言112
4.5.2嵌入?yún)R編語言基本規(guī)則112
4.5.3嵌入?yún)R編程序114
4.5.4VC 6.0中編譯調(diào)試匯編程序115
練習(xí)題116
第5章存儲器118
5.1存儲器概述118
5.1.1內(nèi)存儲器分類118
5.1.2存儲器件119
5.1.3存儲器件的性能指標(biāo)120
5.2隨機(jī)存儲器121
5.2.1靜態(tài)隨機(jī)存儲器121
5.2.2靜態(tài)RAM芯片應(yīng)用124
5.2.3動態(tài)隨機(jī)存儲器133
5.2.4動態(tài)隨機(jī)存儲器應(yīng)用137
5.3只讀存儲器140
5.3.1只讀存儲器簡介140
5.3.2EPROM應(yīng)用142
5.4高速緩沖存儲器145
練習(xí)題146
第6章輸入/輸出與中斷技術(shù)147
6.1I/O接口概述147
6.1.1I/O接口功能147
6.1.2I/O端口148
6.1.3I/O端口編址方式149
6.1.4基本輸入/輸出接口151
6.2數(shù)據(jù)傳送控制方式157
6.2.1無條件傳送方式157
6.2.2程序查詢方式157
6.2.3中斷傳送方式159
6.2.4DMA方式160
6.3鍵盤和顯示接口160
6.3.1鍵盤接口161
6.3.2LED數(shù)碼管顯示接口166
6.3.31616 LED點(diǎn)陣顯示接口169
6.4中斷173
6.4.1中斷的基本概念174
6.4.2中斷處理的基本過程174
6.58086/8088中斷系統(tǒng)178
6.5.1中斷向量和中斷向量表178
6.5.2硬件中斷180
6.5.3中斷處理流程181
6.6可編程中斷控制器8259A182
6.6.18259A的內(nèi)部結(jié)構(gòu)182
6.6.28259A的引腳功能183
6.6.38259A與微處理器連接184
6.6.48259A編程185
6.6.58259A的工作方式190
6.6.68259A的應(yīng)用舉例193
練習(xí)題195
第7章可編程接口芯片197
7.1可編程外圍設(shè)備接口197
7.1.18255A的功能結(jié)構(gòu)197
7.1.28255A的工作方式199
7.1.38255A的控制字203
7.1.48255A與微處理器的連接206
7.1.5方式0操作舉例207
7.1.6方式1選通輸入操作218
7.1.7方式1選通輸出操作220
7.2可編程定時器/計(jì)數(shù)器8253223
7.2.18253的功能結(jié)構(gòu)224
7.2.28253的外部引腳225
7.2.38253的控制字226
7.2.48253的工作方式227
7.2.58253的應(yīng)用231
7.3串行通信接口236
7.3.1串行通信基本概念236
7.3.2可編程串行接口芯片8251A239
練習(xí)題248
第8章數(shù)/模轉(zhuǎn)換及模/數(shù)轉(zhuǎn)換技術(shù)251
8.1數(shù)/模轉(zhuǎn)換器252
8.1.1數(shù)/模轉(zhuǎn)換原理252
8.1.2D/A轉(zhuǎn)換器的性能參數(shù)253
8.1.3DAC 0832及其接口電路254
8.1.4實(shí)例259
8.2模/數(shù)轉(zhuǎn)換器260
8.2.1A/D轉(zhuǎn)換原理260
8.2.2A/D轉(zhuǎn)換器性能參數(shù)260
8.2.3ADC 0809261
練習(xí)題266
第9章總線技術(shù)267
9.1總線規(guī)范267
9.2總線的分類及其優(yōu)點(diǎn)267
9.2.1按總線的功能分類267
9.2.2按總線的層次結(jié)構(gòu)分類268
9.2.3總線設(shè)計(jì)優(yōu)點(diǎn)269
9.3總線的性能指標(biāo)和數(shù)據(jù)傳輸及仲裁269
9.3.1總線的性能指標(biāo)269
9.3.2總線的數(shù)據(jù)傳輸過程269
9.3.3總線數(shù)據(jù)傳送270
9.3.4總線的仲裁272
9.4典型總線275
9.4.1PC/XT總線275
9.4.2ISA總線275
9.4.3EISA總線276
9.4.4PCI總線276
9.4.5AGP總線277
9.4.6MCA總線278
9.4.7IEEE 488總線279
9.4.8CAN總線279
練習(xí)題280
附錄A8086/8088 CPU指令表282
附錄BDOS功能調(diào)用290
附錄CIBM PC/XT機(jī)中斷矢量號配置295
參考文獻(xiàn)296
6.3.31616 LED點(diǎn)陣顯示接口170
6.4中斷174
6.4.1中斷的基本概念174
6.4.2中斷處理的基本過程175
6.58086/8088中斷系統(tǒng)178
6.5.1中斷向量和中斷向量表178
6.5.2硬件中斷180
6.5.3中斷處理流程181
6.6可編程中斷控制器8259A182
6.6.18259A的內(nèi)部結(jié)構(gòu)182
6.6.28259A的引腳功能184
6.6.38259A與微處理器連接184
6.6.48259A編程186
6.6.58259A的工作方式190
6.6.68259A的應(yīng)用舉例193
練習(xí)題195
第7章可編程接口芯片197
7.1可編程外圍設(shè)備接口197
7.1.18255A的功能結(jié)構(gòu)197
7.1.28255A的工作方式199
7.1.38255A的控制字203
7.1.48255A與微處理器的連接206
7.1.5方式0操作舉例207
7.1.6方式1選通輸入操作218
7.1.7方式1選通輸出操作219
7.2可編程定時器/計(jì)數(shù)器8253222
7.2.18253的功能結(jié)構(gòu)223
7.2.28253的外部引腳224
7.2.38253的控制字225
7.2.48253的工作方式226
7.2.58253的應(yīng)用230
7.3串行通信接口236
7.3.1串行通信基本概念236
7.3.2可編程串行接口芯片8251A239
練習(xí)題247
第8章數(shù)/模轉(zhuǎn)換及模/數(shù)轉(zhuǎn)換技術(shù)249
8.1數(shù)/模轉(zhuǎn)換器250
8.1.1數(shù)/模轉(zhuǎn)換原理250
8.1.2D/A轉(zhuǎn)換器的性能參數(shù)252
8.1.3DAC 0832及其接口電路253
8.1.4實(shí)例257
8.2模/數(shù)轉(zhuǎn)換器258
8.2.1A/D轉(zhuǎn)換原理258
8.2.2A/D轉(zhuǎn)換器性能參數(shù)259
8.2.3ADC 0809259
練習(xí)題265
第9章總線技術(shù)266
9.1總線規(guī)范266
9.2總線的分類及其優(yōu)點(diǎn)266
9.2.1按總線的功能分類266
9.2.2按總線的層次結(jié)構(gòu)分類267
9.2.3總線設(shè)計(jì)優(yōu)點(diǎn)268
9.3總線的性能指標(biāo)和數(shù)據(jù)傳輸及仲裁268
9.3.1總線的性能指標(biāo)268
9.3.2總線的數(shù)據(jù)傳輸過程268
9.3.3總線數(shù)據(jù)傳送269
9.3.4總線的仲裁271
9.4典型總線274
9.4.1PC/XT總線274
9.4.2ISA總線274
9.4.3EISA總線275
9.4.4PCI總線275
9.4.5AGP總線276
9.4.6MCA總線277
9.4.7IEEE 488總線278
9.4.8CAN總線278
練習(xí)題279
附錄A8086/8088 CPU指令表281
附錄BDOS功能調(diào)用289
附錄CIBM PC/XT機(jī)中斷矢量號配置294
參考文獻(xiàn)295