本書是為高等院校非計算機專業(yè)學生編寫的計算機技術基礎課教材。作者根據微型計算機技術發(fā)展現狀,考慮非計算機專業(yè)學生的數字技術基礎薄弱,結合工科院校學生對計算機應用的偏好,以8086/8088 CPU為背景,介紹微型計算機的基礎知識、CPU功能結構和工作原理、指令系統(tǒng)與匯編語言程序設計基礎、C/C 與匯編語言混合編程、存儲器設計基礎、接口技術基礎及應用。通過微處理器與存儲系統(tǒng)、輸入輸出系統(tǒng)的連接結構,以及在這個結構下匯編語言指令和程序的執(zhí)行過程的理解,使讀者建立微型計算機系統(tǒng)的整體概念,深入全面地理解計算機的工作過程,形成對微型計算機控制系統(tǒng)設計及應用的能力。本書注重基礎,力求理論與實踐相結合,以學以致用為原則。
本書可作為普通高等院校本科生微型計算機原理與接口技術課程的教材,也可作為成人高等教育的培訓教材及廣大科技工作者的自學參考書。
本書是為高等院校非計算機專業(yè)學生編寫的計算機技術基礎課教材。作者根據微型計算機技術發(fā)展現狀,考慮非計算機專業(yè)學生的數字技術基礎薄弱,結合工科院校學生對計算機應用的偏好,以8086/8088CPU為背景,介紹微型計算機的原理與接口技術。內容包括微型計算機的基礎知識、CPU功能結構和工作原理、指令系統(tǒng)與匯編語言程序設計基礎、C/C 與匯編語言混合編程、存儲器設計基礎、接口技術基礎及應用等。通過微處理器與存儲系統(tǒng)、輸入輸出系統(tǒng)的連接結構,以及在這個結構下匯編語言指令和程序的執(zhí)行過程的理解,使讀者建立微型計算機系統(tǒng)的整體概念,深入全面地理解計算機的工作過程,形成對微型計算機控制系統(tǒng)設計及應用的能力。本書注重基礎,力求理論與實踐相結合,以學以致用為原則?勺鳛槠胀ǜ叩仍盒1究粕C原理與接口技術課程的教材,也可作為成人高等教育的培訓教材及廣大科技工作者的自學參考書。
前言
本書是高等院校非計算機專業(yè)學生學習微型計算機原理與接口技術課程的通用教材,主要以8086/8088 CPU系統(tǒng)為背景,介紹微型計算機的基礎知識、CPU功能結構和工作原理、指令系統(tǒng)、存儲系統(tǒng)、基本輸入輸出接口和中斷技術,對微機接口芯片的功能結構、編程方法,進行理論剖析和實踐應用。本書共9章。第1章主要講述微型計算機基礎知識,包括整數運算、浮點數運算、運算溢出判斷、邏輯運算和基本邏輯門電路。第2章主要介紹Intel 8086/8088的功能特征、引腳信號、基本時序、系統(tǒng)構成和編程結構。第3章講述8086/8088指令格式、尋址方式和指令系統(tǒng)。第4章講述匯編語言程序格式、偽指令和匯編語言上機過程、簡單分支程序設計、多分支程序設計、循環(huán)程序設計、子程序的結構、子程序的參數傳遞方法、子程序的嵌套與遞歸和子程序設計舉例。第5章講述半導體存儲器的分類及性能指標、ROM及RAM存儲芯片應用、高速緩沖存儲器。第6章介紹基本輸入/輸出接口電路、CPU與外設之間數據傳送的控制方式(無條件傳送方式、程序查詢傳送方式、中斷方式、DMA傳送方式)、中斷的基本概念、中斷處理過程和可編程中斷控制器8259A。第7章講述可編程并行輸入/輸出接口芯片8255A、8255A各種工作方式的應用、可編程計數器/定時器8253及其在計數和定時的應用、可編程串行通信接口芯片8251A、串行通信系統(tǒng)實例。第8章主要講述數/模轉換器及應用、模/數轉換器及應用。第9章主要講述總線的概念及分類、ISA總線、PCI總線。為便于多媒體教學,本教材配有電子教案,并錄制了80多個理論及實驗教學視頻,讀者可以以慕課的形式學習。本書第1、2章由郭威編寫,第3、4、7章由侯彥利、楊卉編寫,第5章由趙永華編寫,第6章由劉通、侯彥利編寫,第8、9章由馬愛民編寫,全書由侯彥利統(tǒng)稿。在本書的寫作過程中還得到了計算機教學與研究中心秦貴和教授和張欣主任的熱情關懷和支持,吉林大學計算機學院趙宏偉教授提出了很多寶貴意見,在此,作者謹向他們表示衷心的感謝!由于作者水平有限,書中難免有錯誤和不當之處,懇請讀者和同行專家批評指正。
編者2016年8月8日于吉林大學
目錄
第1章微型計算機基礎知識1
1.1微型計算機簡介1
1.2計算機中的數據5
1.2.1數制5
1.2.2各種數制之間的轉換7
1.3二進制整數的算術運算9
1.3.1二進制數的算術運算規(guī)則9
1.3.2無符號整數的算術運算10
1.3.3帶符號整數的表示方法11
1.3.4補碼運算13
1.3.5帶符號數的溢出判斷14
1.4浮點數15
1.5基本邏輯運算及常用邏輯部件16
1.5.1基本邏輯運算17
1.5.2基本邏輯門18
1.6編碼21
1.6.1字符編碼21
1.6.2Unicode碼22
1.6.3BCD碼22
練習題23
第2章8086/8088微處理器25
2.18086/8088微處理器的功能結構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]微型計算機原理與接口技術
2.38088 CPU的存儲器組織37
2.3.1存儲器分段管理37
2.3.28088 CPU的編程結構38
練習題40
第3章8086/8088指令系統(tǒng)42
3.1概述42
3.1.1機器語言與匯編語言42
3.1.2指令的基本構成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數據傳送指令50
3.3.2算術運算指令56
3.3.3邏輯運算與移位指令63
3.3.4串操作指令69
3.3.5程序控制指令74
3.3.6處理器控制指令81
練習題82
第4章匯編語言程序設計85
4.1匯編語言源程序85
4.1.1匯編語言源程序結構85
4.1.2匯編語言源程序的處理過程87
4.1.3匯編語言中的操作數87
4.2偽指令90
4.2.1段定義偽指令90
4.2.2數據定義偽指令92
4.2.3符號定義偽指令94
4.2.4過程定義偽指令95
4.2.5程序結束偽指令96
4.2.6其他較常見偽指令簡介96
4.3DOS系統(tǒng)功能調用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匯編語言程序設計基礎99
4.4.1匯編語言程序設計步驟99
4.4.2順序程序設計100
4.4.3分支程序設計101
4.4.4循環(huán)程序設計104
4.4.5過程設計106
4.4.6匯編語言程序的開發(fā)過程110
4.5在C/C 內使用匯編語言111
4.5.1為什么要在C/C 中使用匯編語言112
4.5.2嵌入匯編語言基本規(guī)則112
4.5.3嵌入匯編程序114
4.5.4VC 6.0中編譯調試匯編程序115
練習題116
第5章存儲器118
5.1存儲器概述118
5.1.1內存儲器分類118
5.1.2存儲器件119
5.1.3存儲器件的性能指標120
5.2隨機存儲器121
5.2.1靜態(tài)隨機存儲器121
5.2.2靜態(tài)RAM芯片應用124
5.2.3動態(tài)隨機存儲器133
5.2.4動態(tài)隨機存儲器應用137
5.3只讀存儲器140
5.3.1只讀存儲器簡介140
5.3.2EPROM應用142
5.4高速緩沖存儲器145
練習題146
第6章輸入/輸出與中斷技術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數據傳送控制方式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數碼管顯示接口166
6.3.31616 LED點陣顯示接口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的內部結構182
6.6.28259A的引腳功能183
6.6.38259A與微處理器連接184
6.6.48259A編程185
6.6.58259A的工作方式190
6.6.68259A的應用舉例193
練習題195
第7章可編程接口芯片197
7.1可編程外圍設備接口197
7.1.18255A的功能結構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可編程定時器/計數器8253223
7.2.18253的功能結構224
7.2.28253的外部引腳225
7.2.38253的控制字226
7.2.48253的工作方式227
7.2.58253的應用231
7.3串行通信接口236
7.3.1串行通信基本概念236
7.3.2可編程串行接口芯片8251A239
練習題248
第8章數/模轉換及模/數轉換技術251
8.1數/模轉換器252
8.1.1數/模轉換原理252
8.1.2D/A轉換器的性能參數253
8.1.3DAC 0832及其接口電路254
8.1.4實例259
8.2模/數轉換器260
8.2.1A/D轉換原理260
8.2.2A/D轉換器性能參數260
8.2.3ADC 0809261
練習題266
第9章總線技術267
9.1總線規(guī)范267
9.2總線的分類及其優(yōu)點267
9.2.1按總線的功能分類267
9.2.2按總線的層次結構分類268
9.2.3總線設計優(yōu)點269
9.3總線的性能指標和數據傳輸及仲裁269
9.3.1總線的性能指標269
9.3.2總線的數據傳輸過程269
9.3.3總線數據傳送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
練習題280
附錄A8086/8088 CPU指令表282
附錄BDOS功能調用290
附錄CIBM PC/XT機中斷矢量號配置295
參考文獻296
6.3.31616 LED點陣顯示接口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的內部結構182
6.6.28259A的引腳功能184
6.6.38259A與微處理器連接184
6.6.48259A編程186
6.6.58259A的工作方式190
6.6.68259A的應用舉例193
練習題195
第7章可編程接口芯片197
7.1可編程外圍設備接口197
7.1.18255A的功能結構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可編程定時器/計數器8253222
7.2.18253的功能結構223
7.2.28253的外部引腳224
7.2.38253的控制字225
7.2.48253的工作方式226
7.2.58253的應用230
7.3串行通信接口236
7.3.1串行通信基本概念236
7.3.2可編程串行接口芯片8251A239
練習題247
第8章數/模轉換及模/數轉換技術249
8.1數/模轉換器250
8.1.1數/模轉換原理250
8.1.2D/A轉換器的性能參數252
8.1.3DAC 0832及其接口電路253
8.1.4實例257
8.2模/數轉換器258
8.2.1A/D轉換原理258
8.2.2A/D轉換器性能參數259
8.2.3ADC 0809259
練習題265
第9章總線技術266
9.1總線規(guī)范266
9.2總線的分類及其優(yōu)點266
9.2.1按總線的功能分類266
9.2.2按總線的層次結構分類267
9.2.3總線設計優(yōu)點268
9.3總線的性能指標和數據傳輸及仲裁268
9.3.1總線的性能指標268
9.3.2總線的數據傳輸過程268
9.3.3總線數據傳送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
練習題279
附錄A8086/8088 CPU指令表281
附錄BDOS功能調用289
附錄CIBM PC/XT機中斷矢量號配置294
參考文獻295