微型計算機(jī)技術(shù)發(fā)展迅猛,由于Intel x86的向下兼容性,Intel 8086是學(xué)習(xí)微型計算機(jī)原理的最佳基礎(chǔ)平臺!段C(jī)原理與接口技術(shù)》以實用為宗旨,在講述微機(jī)基本原理的同時兼顧微機(jī)接口應(yīng)用設(shè)計,用眾多的實例講解微型計算機(jī)原理及接口技術(shù)和硬、軟件開發(fā)技術(shù),每個實例包含詳細(xì)的設(shè)計分析、完整的程序或電路。全書內(nèi)容共分為11章,分別是:微型計算機(jī)基礎(chǔ)知識、微處理器結(jié)構(gòu)和總線操作時序、8086指令系統(tǒng)、匯編語言程序設(shè)計、半導(dǎo)體存儲器、輸入/輸出接口技術(shù)、中斷、可編程并行接口芯片8255A、可編程定時/計數(shù)器8253、可編程串行通信接口芯片8251A、A/D與D/A轉(zhuǎn)換接口。附錄中以列表形式給出了DOS系統(tǒng)功能調(diào)用以及BIOS功能調(diào)用的參考信息,以便于讀者查閱。
《微機(jī)原理與接口技術(shù)》可作為各類本科和?圃盒<芭嘤(xùn)機(jī)構(gòu)作為“微機(jī)原理與應(yīng)用”、“微機(jī)原理與接口技術(shù)”類課程的教材,也適合學(xué)習(xí)微型計算機(jī)與接口應(yīng)用開發(fā)的讀者,也可供各類電子工程、自動化技術(shù)人員和計算機(jī)愛好者參考。
《微機(jī)原理與接口技術(shù)》企圖突出應(yīng)用性,我們參考了大量同類教材,重新組織和編排內(nèi)容,力爭減小教材篇幅,給應(yīng)用型院!拔C(jī)原理與接口技術(shù)”課程教材提供一種新的選擇,在匯編語言程序設(shè)計和接口應(yīng)用設(shè)計上采用大量實例,用眾多的實例講解微型計算機(jī)原理及接口技術(shù)和硬、軟件開發(fā)技術(shù),每個實例包含詳細(xì)的設(shè)計分析、完整的程序或電路。將“微機(jī)原理與應(yīng)用”的教學(xué)內(nèi)容進(jìn)行了去繁就簡,選擇16位CPIJ為基礎(chǔ)平臺,重點是掌握學(xué)習(xí)微型計算機(jī)的工作原理的方法,特別是對接口技術(shù)的學(xué)習(xí)方法,重點掌握可程控芯片的學(xué)習(xí)和使用方法。
微型計算機(jī)技術(shù)發(fā)展迅猛,“IA一32執(zhí)行層軟件的推出給安騰在32位傳統(tǒng)應(yīng)用方面徹底平反,它讓人們意識到,安騰對于32位應(yīng)用方面一直都是支持的,而且,支持的力度一直在提升,技術(shù)本身也在不斷完善和創(chuàng)新……”,“當(dāng)Intel x86迎來64位時代時,兼容32/64位應(yīng)用成了最大的亮點……”,微型計算機(jī)技術(shù)領(lǐng)域的源頭技術(shù)公司不斷發(fā)布技術(shù)新聞。而對于老師和學(xué)生,如何面對技術(shù)的快速更新去學(xué)習(xí),學(xué)生總是抱怨在學(xué)校學(xué)習(xí)的技術(shù)太陳1日,老師也一直在解決有限學(xué)時和新增新技術(shù)的矛盾,學(xué)校是直接開設(shè)新的技術(shù)平臺課程,還是有其他途徑可以探索呢?
目前,“微機(jī)原理與應(yīng)用”、“微機(jī)原理與接口技術(shù)”課程的教材種類齊全,有外文原版教材,也有大量中文版教材,有基于8/16位CPU的,也有基于32位CPIJ的、,大部分是兼顧16/32位CPU的教材。從內(nèi)容上看,兼顧16/32位的教材在講解微型計算機(jī)工作原理時大都以16位CPU為主,整體內(nèi)容也涉及了32位指令系統(tǒng)和匯編語言程序設(shè)計,因此內(nèi)容比較多,教材的篇幅比較大,有的教材甚至達(dá)到600頁,這就是編寫該類教材的困難。因此在選擇教材時就發(fā)現(xiàn)兩個方面的問題。第一,“微機(jī)原理與接口技術(shù)”教材很多,但兼顧原理與接口應(yīng)用設(shè)計的教材不多,可選擇的余地較小,要么選擇內(nèi)容比較全的教材,但需要學(xué)時很多,對于應(yīng)用型院校不是特別合適;要么選擇內(nèi)容精簡的教材,但對于接口應(yīng)用設(shè)計也不是很突出。第二,市場上有關(guān)于微機(jī)接口及應(yīng)用設(shè)計的書籍,一般面向開發(fā),不講原理,屬于高級教程,不適合初學(xué)者。而應(yīng)用型專業(yè)需要一本在講微機(jī)基本原理的同時能兼顧微機(jī)接口應(yīng)用設(shè)計兩個方面的教材,避免學(xué)生在學(xué)習(xí)“微機(jī)原理與應(yīng)用”課程時感到課程沒有實際應(yīng)用性,或需要另外參考一本微機(jī)接口應(yīng)用設(shè)計方面的教材。實際上,從“微機(jī)原理與接口技術(shù)”課程教材的使用上看,由于大部分學(xué)校的實驗平臺是16位CPU平臺,因此從學(xué)時和實驗等角度出發(fā),在實際使用上教師往往做了大量的裁減,從學(xué)生的角度,很難適應(yīng)這種裁減,特別是剛接觸這類課程的學(xué)生就更感困難,他們在處理教材內(nèi)容和教師的講義內(nèi)容的關(guān)系上遇到麻煩。
正基于此,我們將“微機(jī)原理與接口技術(shù)”的教學(xué)定義為“單片機(jī)原理與設(shè)計”和“DSF’技術(shù)”等課程的基礎(chǔ)平臺課程,由于Intel x86的向下兼容性,因此Intel 8086是學(xué)習(xí)微型計算機(jī)原理的最佳基礎(chǔ)平臺,我們?nèi)匀徊捎靡?6位CPU為核心,對于需要進(jìn)一步學(xué)習(xí)32/64位平臺的讀者也是一種很好的基礎(chǔ)平臺。本書企圖突出應(yīng)用性,我們參考了大量同類教材,重新組織和編排內(nèi)容,力爭減小教材篇幅,給應(yīng)用型院!拔C(jī)原理與接口技術(shù)”課程教材提供一種新的選擇,在匯編語言程序設(shè)計和接口應(yīng)用設(shè)計上采用大量實例,用眾多的實例講解微型計算機(jī)原理及接口技術(shù)和硬、軟件開發(fā)技術(shù),每個實例包含詳細(xì)的設(shè)計分析、完整的程序或電路。將“微機(jī)原理與應(yīng)用”的教學(xué)內(nèi)容進(jìn)行了去繁就簡,選擇16位CPIJ為基礎(chǔ)平臺,重點是掌握學(xué)習(xí)微型計算機(jī)的工作原理的方法,特別是對接口技術(shù)的學(xué)習(xí)方法,重點掌握可程控芯片的學(xué)習(xí)和使用方法。
第1章 微型計算機(jī)基礎(chǔ)知識
1.1 概述
1.1.1 微機(jī)發(fā)展概況
1.1.2 微機(jī)的特點與應(yīng)用
1.2 計算機(jī)中的數(shù)制和編碼
1.2.1 計算機(jī)中的數(shù)制
1.2.2 帶符號數(shù)的表示
1.2.3 數(shù)的定點與浮點表示
1.2.4 其他的信息編碼
1.3 微機(jī)結(jié)構(gòu)及工作原理
1.3.1 微機(jī)的基本結(jié)構(gòu)
1.3.2 常用基本概念
1.3.3 微機(jī)的總線結(jié)構(gòu)和工作原理
1.3.4 計算機(jī)的硬件和軟件
本章小結(jié)
習(xí)題一
第2章 微處理器結(jié)構(gòu)和總線操作時序
2.1 8086微處理器的內(nèi)部結(jié)構(gòu)
2.1.1 8086微處理器的內(nèi)部結(jié)構(gòu)
2.1.2 8086微處理器的內(nèi)部寄存器
2.2 8086系列微處理器的外部特性
2.2.1 CPU的引腳與功能
2.2.2 8086 CP[J的工作時序
2.2.3 總線接口器件
2.3 8086的系統(tǒng)結(jié)構(gòu)
2.3.1 8086系統(tǒng)的存儲器結(jié)構(gòu)
2.3.2 8086系統(tǒng)的堆棧
2.3.3 最小與最大模式總線形成
2.4 微機(jī)系統(tǒng)的總線結(jié)構(gòu)
2.4.1 總線分類與總線標(biāo)準(zhǔn)
2.4.2 微機(jī)總線的性能指標(biāo)
2.4.3 PC系列微機(jī)總線
本章小結(jié)
習(xí)題二
第3章 8086指令系統(tǒng)
3.1 8086微處理器的指令格式
3.1.1 8086機(jī)器語言指令格式
3.1.2 8086匯編語言指令格式
3.2 8086尋址方式
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.3 8086指令系統(tǒng)
3.3.1 數(shù)據(jù)傳送指令
3.3.2 算術(shù)運算指令
3.3.3 邏輯運算和移位指令
3.3.4 串操作指令
3.3.5 控制轉(zhuǎn)移指令
3.3.6 處理器控制指令
3.4 80386以上微處理器新增指令系統(tǒng)
本章小結(jié)
習(xí)題三
第4章 匯編語言程序設(shè)計
4.1 匯編語言概述
4.1.1 匯編源程序調(diào)試準(zhǔn)備
4.1.2 匯編程序調(diào)試過程
4.2 匯編語言
4.2.1 段
4.2.2 語句
4.3 8086匯編語言的基本語法
4.3.1 字符集
4.3.2 常量
4.3.3 保留字
4.3.4 標(biāo)識符
4.3.5 表達(dá)式
4.4 偽操作指令
4.4.1 數(shù)據(jù)定義偽操作
4.4.2 符號定義偽操作
4.4.3 段定義偽操作
4.4.4 過程定義偽操作
4.4.5 宏處理偽操作
4.4.6 其他偽操作
4.5 匯編語言程序設(shè)計
4.5.1 順序程序設(shè)計
4.5.2 分支程序設(shè)計
4.5.3 循環(huán)程序設(shè)計
4.5.4 子程序設(shè)計
4.5.5 多模塊程序設(shè)計
4.6 DOS及BIOS功能調(diào)用
4.6.1 DOS系統(tǒng)功能調(diào)用方式
4.6.2 常用BIOS功能調(diào)用
4.7 匯編語言程序設(shè)計舉例
4.8 高級語言與匯編語言的混合編程
4.8.1 匯編語言與C語言程序的基本接口規(guī)范
4.8.2 C語言程序?qū)R編語言程序的調(diào)用
4.8.3 匯編語言程序?qū)語言程序的調(diào)用
本章小結(jié)
習(xí)題四
第5章 半導(dǎo)體存儲器
5.1 概述
5.1.1 半導(dǎo)體存儲器的技術(shù)指標(biāo)
5.1.2 存儲器的分類
5.1.3 存儲器的系統(tǒng)結(jié)構(gòu)
5.2 讀/寫存儲器RAM
5.2.1 靜態(tài)RAM
5.2.2 動態(tài)RAM
5.3 只讀存儲器ROM
5.3.1 掩膜型ROM——MROM
5.3.2 可編程ROM——PROM
5.3.3 可擦除可編程ROM——EPROM
5.3.4 電可擦除可編程ROM——E2PROM
5.3.5 快擦型存儲器——Flash Memory
5.4 存儲器芯片的擴(kuò)展及其與系統(tǒng)總線的連接
5.4.1 存儲器芯片與CPU的連接的主要問題
5.4.2 存儲器的工作時序
5.4.3 存儲器片選控制方法
5.4.4 8086存儲器組織結(jié)構(gòu)
5.4.5 存儲器芯片的擴(kuò)展及實例
本章小結(jié)
習(xí)題五
第6章 輸入/輸出接口技術(shù)
6.1 概述
6.1.1 I/O接口的概念與功能
6.1.2 CPU與I/O設(shè)備之間的接口信息
6.1.3 I/O接口電路的基本結(jié)構(gòu)
6.1.4 I/O端口的編址方式
6.1.5 I/O端口的地址譯碼及譯碼電路設(shè)計實例
6.2 輸入/輸出傳送方式
6.2.1 無條件傳送方式
6.2.2 查詢傳送方式
6.2.3 中斷傳送方式
6.2.4 直接存儲器存取(DMA)傳送方式
6.2.5 專用I/O處理機(jī)方式
6.3 簡單I/O接口設(shè)計及實例
6.3.1 常用接口芯片
6.3.2 簡單接口設(shè)計方法及實例
本章小結(jié)
習(xí)題六
第7章 中斷
7.1 中斷系統(tǒng)概述
7.1.1 中斷的基本概念
7.1.2 中斷處理系統(tǒng)
7.2 8086微處理器的中斷方式
7.2.1 8086CPU的中斷類型
7.2.2 中斷向量表與中斷向量的獲取
7.2.3 8086的中斷響應(yīng)與處理過程
7.3 可編程中斷控制器8259A
7.3.1 8259A的內(nèi)部結(jié)構(gòu)和引腳
7.3.2 8259A的工作方式
7.3.3 8259A的編程
7.3.4 8259A的中斷級聯(lián)
7.3.5 8259A的應(yīng)用實例
本章小結(jié)
習(xí)題七
第8章可編程并行接口芯片8255A
8.1并行接口和串行接口概述
8.2 8255A的結(jié)構(gòu)和引腳
8.3 8255A的控制字及工作方式
8.4 8255A的應(yīng)用舉例
本章小結(jié)
習(xí)題八
第9章 可編程定時/計數(shù)器8253
9.1 可編程定時/計數(shù)器8253的功能、用途及內(nèi)部結(jié)構(gòu)
9.1.1 8253的主要功能
9.1.2 8253的主要用途
9.1.3 8253的引腳功能與內(nèi)部結(jié)構(gòu)
9.2 可編程定時/計數(shù)器8253的控制字
9.3 可編程定時/計數(shù)器8253的工作方式與時序
9.4 可編程定時/計數(shù)器8253的應(yīng)用設(shè)計舉例
本章小結(jié)
習(xí)題九
第10章 可編程串行通信接口芯片8251A
10.1 串行通信的基本概念
10.2 串行接口標(biāo)準(zhǔn)
10.3 串行通信接口芯片8251A
10.3.1 8251A的結(jié)構(gòu)和引腳
10.3.2 8251A的控制字及工作方式
10.3.3 8251A的應(yīng)用舉例
本章小結(jié)
習(xí)題十
第11章 A/D與D/A轉(zhuǎn)換器接口
11.1 概述
11.2 D/A轉(zhuǎn)換器接口及應(yīng)用
11.2.1 D/A轉(zhuǎn)換器的基本原理
11.2.2 D/A轉(zhuǎn)換器的主要性能參數(shù)
11.2.3 D/A轉(zhuǎn)換器的分類
11.2.4 典型的D/A轉(zhuǎn)換器芯片
11.2.5 D/A轉(zhuǎn)換器與微機(jī)的接口及應(yīng)用
11.3 A/D轉(zhuǎn)換器接口及應(yīng)用
11.3.1 A/D轉(zhuǎn)換器的類型及原理
11.3.2 A/D轉(zhuǎn)換器的主要性能參數(shù)
11.3.3 典型的A/D轉(zhuǎn)換器芯片
11.3.4 A/D轉(zhuǎn)換器與微機(jī)的接口及應(yīng)用
本章小結(jié)
習(xí)題十一
附錄A DOS功能調(diào)用(INT 21H)
附錄B BIOS功能調(diào)用
參考文獻(xiàn)
第1章微型計算機(jī)基礎(chǔ)知識
1.1 概述
1.1.1 微機(jī)發(fā)展概況
1943年美國為解決復(fù)雜的導(dǎo)彈計算而開始研制電子計算機(jī)。1946年2月,世界上第一臺數(shù)字式電子計算機(jī)ENIAC(E1ectronicNumericalIntegratorAndCalculator)在美國賓夕法尼亞大學(xué)研制成功。這臺計算機(jī)使用了約18000個電子管、1500個繼電器,功耗達(dá)150kW,占地面積167m2,重量約30t,計算速度每秒5000次,采用字長10位的十進(jìn)制計數(shù)方式,編程通過接插線進(jìn)行。在其后的60多年里,計算機(jī)經(jīng)歷了迅猛的發(fā)展,得到了廣泛的普及應(yīng)用,對整個社會的進(jìn)步和科學(xué)的發(fā)展產(chǎn)生了極其深遠(yuǎn)的影響。通常按照電子計算機(jī)采用的電子器件不同將電子計算機(jī)的發(fā)展分為四個階段,習(xí)慣上稱為四代。
第一代:電子管計算機(jī)時代(1946~1957)。采用水銀延遲線作為內(nèi)存,磁鼓作為外存。體積大、耗電多、運算速度慢。最初只能使用二進(jìn)制表示的機(jī)器語言,到20世紀(jì)50年代中期才出現(xiàn)匯編語言。這個時期,計算機(jī)主要用于科學(xué)計算和軍事方面,應(yīng)用很不普遍。
第二代:晶體管計算機(jī)時代(1958-1963)。內(nèi)存主要采用磁芯,外存大量采用磁盤,輸入/輸出設(shè)備有了較大改進(jìn)。體積顯著減小,可靠性提高,運算速度可達(dá)每秒百萬次。