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