《計算機“卓越工程師計劃”應用型教材:微機原理與接口技術》以Intel 8086/8088微處理器為基礎,兼顧高性能80x86以及Pentium系列微處理器的介紹,主要講述微機原理、匯編語言和接口技術。全書共10章,包括計算機基礎知識、8086/8088結構與總線技術、8086/8088指令系統、匯編語言程序設計、存儲器組織、輸入/輸出技術、中斷系統與定時/計數技術、串行通信及其接口電路、模擬接口技術以及高檔微處理器簡介。每章都有適量的例題與習題,幫助讀者鞏固和應用學到的知識。
《計算機“卓越工程師計劃”應用型教材:微機原理與接口技術》可作為計算機科學與技術、軟件工程、電子信息工程、電氣工程及其自動化、通信與電子類專業的本專科學生的教材,也可作為相關領域工程技術人員的參考書。
本書編寫的主要指導思想是正確地處理先進性和教學適用性的關系,盡量反映微機原理與接口技術發展的最新技術,又重視遵循教學規律,更好地體現“基礎性、系統性、實用性和先進性”的統一;努力體現素質教育與創新教育的思想,注重理論與實踐的結合,原理、技術與應用的結合,硬件與軟件的結合,將科研經驗和應用實例相融合,培養和開發學生的創新思維和分析解決實際問題的能力。本書特別注意闡明基本概念、方法以及使用中的注意事項,內容簡明扼要、深入淺出,融入了作者多年教學與工程實踐的經驗與體會。全書共10章,包括計算機基礎知識、8086/8088微處理器結構與總線技術、8086/8088微處理器指令系統、匯編語言程序設計、存儲器組織、輸入/輸出技術、中斷系統與定時/計數技術、串行通信及其接口電路、模擬接口技術以及高檔微處理器簡介。每章都有適量的例題與習題,幫助讀者鞏固和應用學到的知識。
微機原理與接口技術的教材很多,但其內容處于兩極分化的狀態,要么以8086/8088CPU及其相應的接口芯片為基礎,其內容顯得陳舊;要么以80386/Pentium及其主板芯片組為基礎,內容新穎但學生難以理解。本教材以Intel8086/8088為基礎,便于學生理解,兼顧高性能微處理器80x86以及Pentuim系列的介紹。雖然Intel公司的微處理器從早期的8086、80x86到后來的Pentium系列以及現在的Pentium4和多核技術,無論其制造工藝還是技術和性能,都有了極大的改進和提高,但從編程的角度看,它們仍然是一個系列,完全兼容。應用編程的寄存器結構只有字長之分,而無本質區別,指令系統從8086到Pentium系列,除部分保護模式下擴展指令外,80%以上是完全相同的,在應用程序中所用到的絕大多數指令依然是基本指令集中的指令,即8086指令集。雖然微機的存儲器容量越來越大,但存儲器的基本工作原理和構成沒有變化;雖然微機連接的外部設備越來越豐富,但中斷工作的原理和輸入/輸出控制方法沒有變化;雖然隨著大規模集成電路技術的發展,主板上曾經大量獨立的接口芯片都已被集成到現在的主板芯片組中,但并行接口8255、中斷控制器8259A、定時/計數器8253、串行接口8250和模擬接口等可編程芯片的作用依然存在。總之,雖然微型計算機技術有了巨大的發展,但其基本工作原理是相同的。本教材注重吸取微機發展的最新技術和最新知識,并將其融于全書之中,從不同機型之間的共性和最基本的概念入手,引導學生逐步掌握微機從硬件組成到軟件編程的基本知識,逐步掌握微機的組成原理、工作原理、匯編語言的編程方法和接口技術,并為學生掌握和應用高檔微處理器或單片機以及微機發展的新技術打下基礎。
本書由李永忠教授主編,李少梅、張心歌等參編。甘肅廣播電視大學李少梅完成了第6、9章和第10章部分內容的編寫,約14.2萬字;西北民族大學張心歌完成了第5、6章和第10章部分內容的編寫,約12.8萬字;西北民族大學楊成慧完成了第3、8章部分內容的編寫,約12.5萬字;金陵科技學院張利峰完成了第3、4章部分內容的編寫,約5.3萬字;江蘇科技大學潘磊、龐林斌參編了其余章節的部分內容,分別為5.2萬字和5.1萬字。全書由李永忠負責全部內容的組織編寫、修改和最終定稿以及統稿工作。
本書在編寫和出版過程中得到了學校、學院領導的指導與幫助,許多老師為本書提出了許多寶貴意見,在此一并表示衷心感謝。本書在編寫過程中參考了有關作者的書籍,在此謹表謝意。
由于計算機技術發展迅速,加之作者水平有限,書中難免會有不足之處,敬請廣大讀者、同行和專家批評指正。
編者
2013年1月于鎮江
第1章 計算機基礎知識
1.1 計算機的發展
1.1.1 計算機概述
1.1.2 微型計算機的發展
1.1.3 微型計算機的特點
1.2 微型計算機系統結構
1.2.1 微型計算機的硬件系統
1.2.2 微型計算機的軟件系統
1.2.3 微型計算機的性能指標
1.2.4 微型計算機發展的新技術
1.3 計算機中數值數據的表示
1.3.1 進位計數制及其相互轉換
1.3.2 計算機中數的表示
1.4 計算機運算基礎
1.4.1 算術運算
1.4.2 邏輯運算
1.5 計算機中常用編碼
1.5.1 ASCII碼
1.5.2 BCD碼及其調整
1.5.3 漢字編碼
習題1
第2章 8086/8088微處理器的結構與總線技術
2.1 8086/8088微處理器的內部結構及其寄存器
2.1.1 8086/8088微處理器的內部結構
2.1.2 8086/8088微處理器的內部寄存器
2.2 8086/8088微處理器的外部結構
2.2.1 8086/8088微處理器的工作模式與引腳功能
2.2.2 8086/8088微處理器的總線周期
2.2.3 8086/8088微處理器的總線接口器件
2.3 8086/8088微處理器的存儲器結構
2.3.1 8086/8088系統存儲器組織
2.3.2 最小與最大模式總線接口
2.4 微機系統中的總線結構
2.4.1 總線的分類與總線標準
2.4.2 微機總線的性能指標
2.4.3 PC系列微機總線
習題2
第3章 8086/8088微處理器指令系統
3.1 指令與指令系統概述
3.2 8086/8088微處理器的尋址方式
3.2.1 立即數尋址方式
3.2.2 寄存器尋址方式
3.2.3 直接尋址方式
3.2.4 寄存器間接尋址方式
3.2.5 寄存器相對尋址方式
3.2.6 基址變址尋址方式
3.2.7 相對基址變址尋址方式
3.2.8 轉移類指令的尋址方式
3.2.9 I/O端口尋址方式
3.3 8086/8088微處理器指令系統
3.3.1 數據傳送指令
3.3.2 算術運算指令
3.3.3 位處理指令
3.3.4 串操作指令
3.3.5 控制轉移指令
3.3.6 處理器控制指令
習題3
第4章 匯編語言程序設計
4.1 匯編語言基本概念
4.1.1 機器語言、匯編語言和匯編程序
4.1.2 匯編語言程序的開發過程
4.1.3 匯編語言程序的上機流程
4.2 匯編語言語句與源程序格式
4.2.1 匯編語言語句格式
4.2.2 匯編語言源程序結構
4.3 偽指令
4.3.1 段定義偽指令
4.3.2 數據定義及存儲器分配偽指令
4.3.3 數據定義偽指令中操作數的表達形式
4.3.4 符號定義偽指令
4.3.5 過程定義偽指令
4.3.6 程序開始和結束偽指令
4.3.7 定位偽指令
4.3.8 段定義的簡化
4.3.9 宏指令
4.4 典型匯編語言程序設計舉例
4.4.1 匯編語言程序設計步驟
4.4.2 順序程序設計
4.4.3 分支程序設計
4.4.4 循環程序設計
4.4.5 子程序設計
4.4.6 DOS系統功能調用
4.5 其他匯編技術
4.5.1 重復匯編
4.5.2 條件匯編
4.5.3 宏匯編
習題4
第5章 存儲器組織
5.1 存儲器概述
5.1.1 存儲器基本概念
5.1.2 存儲器分類
5.1.3 存儲器的性能指標
5.1.4 現代微機中存儲器的層次結構
5.2 半導體存儲器
5.2.1 隨機存取存儲器
5.2.2 只讀存儲器
5.2.3 現代微機內存DRAM
5.3 存儲器與CPU的連接
5.3.1 存儲器與CPU連接應注意的問題
5.3.2 存儲器片選信號的處理方法
5.3.3 存儲器容量的擴展
5.3.4 8086 微處理器的存儲器接口
5.4 高速緩沖存儲器與虛擬存儲器
5.4.1 高速緩沖存儲器(Cache)
5.4.2 虛擬存儲器
5.4.3 虛擬存儲器與Cache的異同
5.5 外存儲器簡介
習題5
第6章 輸入/輸出技術
6.1 輸入/輸出接口的基本知識
6.1.1 I/O接口簡介
6.1.2 I/O接口的功能
6.1.3 I/O接口的基本結構
6.1.4 接口的組成與分析方法
6.1.5 I/O端口的編址
6.2 CPU與外設之間的數據傳送
6.2.1 CPU與外設交換的信息類型
6.2.2 CPU與外設信息交換的方式
6.3 簡單并行I/O接口
6.3.1 并行通信和串行通信
6.3.2 簡單并行接口的設計
6.3.3 簡單并行I/O接口實例
6.4 可編程并行I/O接口芯片Intel 8255A
6.4.1 Intel 8255A的引腳及編程結構
6.4.2 Intel 8255A的工作方式
6.4.3 Intel 8255A的操作編程
6.5 Intel 8255A的應用舉例
6.5.1 Intel 8255A在IBM PC/XT機上的應用
6.5.2 打印機接口
6.5.3 七段數碼管顯示器接口
6.5.4 非編碼鍵盤接口
6.6 DMA控制器Intel 8237A
6.6.1 DMA傳送方式
6.6.2 Intel 8237A的內部結構與引腳
6.6.3 Intel 8237A的工作方式
6.6.4 Intel 8237A的工作時序
6.6.5 Intel 8237A內部寄存器與編程
6.6.6 Intel 8237A在IBM PC系列機上的應用
習題6
第7章 中斷系統與定時/計數技術
7.1 中斷的基本概念
7.1.1 中斷系統
7.1.2 中斷處理過程
7.1.3 中斷優先級
7.1.4 中斷嵌套
7.2 80x86中斷系統
7.2.1 80x86的中斷類型
7.2.2 80x86響應中斷的過程
7.2.3 80x86的中斷向量表
7.2.4 中斷向量表的初始化
7.2.5 80x86的中斷優先級
7.3 可編程中斷控制器Intel 8259A
7.3.1 Intel 8259A的基本結構
7.3.2 Intel 8259A的編程
7.4 Intel 8259A應用舉例
7.4.1 8259A在IBM PC/XT中的應用
7.4.2 8259A在控制系統中的應用
7.4.3 8259A的級聯應用
7.4.4 8259A的查詢字應用
7.4.5 8259A的定時應用
7.4.6 8259A在Pentium機上的應用
7.5 定時/計數技術
7.6 可編程定時/計數器Intel 8253
7.6.1 Intel 8253的主要特性與功能
7.6.2 Intel 8253的內部結構與引腳
7.6.3 Intel 8253的工作方式
7.6.4 Intel 8253方式控制字
7.7 Intel 8253應用舉例
7.7.1 Intel 8253初始化
7.7.2 Intel 8253應用實例
7.8 實時時鐘電路MC146818
7.8.1 MC146818功能特點
7.8.2 MC146818的引腳功能及其工作原理
7.8.3 MC146818的工作方式
7.8.4 MC146818的寄存器
7.8.5 MC146818的初始化
7.8.6 MC146818與計算機系統的連接
7.8.7 MC146818應用舉例
習題7
第8章 串行通信及其接口電路
8.1 串行通信簡介
8.1.1 串行通信的特點
8.1.2 串行通信的基本概念
8.2 RS-232與RS-423、RS-422、RS-485接口標準
8.2.1 串行通信接口標準
8.2.2 RS-232接口標準
8.2.3 RS-423、RS-422、RS-485接口標準
……