微機(jī)系統(tǒng)與接口技術(shù)實(shí)驗(yàn)指導(dǎo)書_第1頁(yè)
微機(jī)系統(tǒng)與接口技術(shù)實(shí)驗(yàn)指導(dǎo)書_第2頁(yè)
微機(jī)系統(tǒng)與接口技術(shù)實(shí)驗(yàn)指導(dǎo)書_第3頁(yè)
微機(jī)系統(tǒng)與接口技術(shù)實(shí)驗(yàn)指導(dǎo)書_第4頁(yè)
微機(jī)系統(tǒng)與接口技術(shù)實(shí)驗(yàn)指導(dǎo)書_第5頁(yè)
已閱讀5頁(yè),還剩22頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

付費(fèi)下載

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

微機(jī)系統(tǒng)與接口技術(shù)

實(shí)驗(yàn)指導(dǎo)書

東南大學(xué)電子科學(xué)與工程學(xué)院

2008年2月

目錄

一、概述...........................................................5

二、實(shí)驗(yàn)裝置基本組成...............................................6

三、實(shí)驗(yàn)臺(tái)結(jié)構(gòu).....................................................12

I、I/O地址譯碼電路......................................................12

2、總線插孔..............................................................12

3、時(shí)鐘電路..............................................................12

4、邏輯電平開關(guān)電路.......................................................12

5、LED顯示電路.........................................................13

6、七段數(shù)碼管顯示電路..................................................13

7、單脈沖電路............................................................14

8、邏輯筆................................................................14

9、維電器及驅(qū)動(dòng)電路....................................................14

10、復(fù)位電路.............................................................14

11、接口集成電路.........................................................15

12、跳線開關(guān)(JP).............................................................15

13、+5V電源插針........................................................15

14、通用集成電路插座.....................................................15

15、數(shù)字電路實(shí)驗(yàn)區(qū).......................................................15

16、接線端子.............................................................15

17、50線總線插座信號(hào)安排...............................................16

18、直流電源開關(guān)(KI)和存儲(chǔ)器地址選擇開關(guān)(K2).....................16

19、使用外加直流電源注意事項(xiàng)..........................................16

2()、高位地址選擇電路....................................................16

四、實(shí)驗(yàn)......................................................................18

實(shí)驗(yàn)一、I/O地址譯碼.......................................................20

實(shí)驗(yàn)二、簡(jiǎn)單并行接口......................................................21

實(shí)驗(yàn)三、可編程定時(shí)器/計(jì)數(shù)器(8253)..........................................23

實(shí)驗(yàn)四、可編程并行接口(一)(8255方式())...............25

實(shí)驗(yàn)五、七段數(shù)碼管.........................................................26

實(shí)驗(yàn)六、競(jìng)賽搶答器.........................................................29

實(shí)驗(yàn)七、交通燈控制實(shí)驗(yàn)....................................................31

實(shí)驗(yàn)八、中斷...............................................................32

實(shí)驗(yàn)九、可編程并行接口(二)(8255方式1).................................36

實(shí)驗(yàn)十、數(shù)/模轉(zhuǎn)換器.......................................................39

實(shí)驗(yàn)十一、模/數(shù)轉(zhuǎn)換器.......................................................39

實(shí)驗(yàn)十二、步進(jìn)電機(jī)控制實(shí)驗(yàn).................................................60

實(shí)驗(yàn)十三、數(shù)字溫度檢測(cè)實(shí)驗(yàn).................................................79

附錄1、查看PCI卡資源的方法........................................97

附錄2、匯編語言使用方法...........................................97

一、概述

“TPC-2005通用32位微機(jī)接口(PCI)實(shí)驗(yàn)系統(tǒng)”是清華大學(xué)科教儀器廠推出的微機(jī)硬件實(shí)驗(yàn)

教學(xué)設(shè)備。該教學(xué)實(shí)驗(yàn)系統(tǒng)具有實(shí)驗(yàn)項(xiàng)目多、內(nèi)容全面、開放能力和靈活性強(qiáng)等特點(diǎn)。它不僅適

用于一些典型的微機(jī)接口教學(xué)實(shí)驗(yàn),而且還是一個(gè)為學(xué)生在提供了鍛煉學(xué)生動(dòng)手能力,發(fā)揮創(chuàng)造

才能和開展創(chuàng)新活動(dòng)的計(jì)算機(jī)硬件平臺(tái)。該系統(tǒng)主要有以下特點(diǎn):

★實(shí)驗(yàn)電路連接采用了國(guó)家專利、獲獎(jiǎng)產(chǎn)品“自鎖緊”插座及導(dǎo)線,消除了連線接觸不良

的現(xiàn)象。

★電路設(shè)計(jì)中增加了多項(xiàng)保護(hù)措施,可有效的避免由于學(xué)生實(shí)驗(yàn)時(shí)錯(cuò)接、錯(cuò)編程損壞主機(jī)或

接口集成電路的現(xiàn)象。

★實(shí)驗(yàn)臺(tái)?上增加了邏輯筆、通用IC插座等電路??勺鳛閿?shù)字電路實(shí)驗(yàn)儀器使用,也可以用于

學(xué)生畢業(yè)設(shè)計(jì)、科技創(chuàng)新活動(dòng)及科研開發(fā)。

儀器硬件包括接口卡、實(shí)驗(yàn)臺(tái)(箱)兩部分組成,兩者之間通過50線扁平電纜相連。接口卡

可以插入PC系列微機(jī)中任意一個(gè)PCI擴(kuò)展插槽,它的主要功能是將與實(shí)驗(yàn)有關(guān)的總線信號(hào)加以驅(qū)

動(dòng)后引到實(shí)驗(yàn)臺(tái)上,同時(shí)引出信號(hào)還有與“中斷”和“DMA”實(shí)驗(yàn)操作有關(guān)的信號(hào)及+5V、+12V、

T2V電源。實(shí)驗(yàn)臺(tái)上設(shè)有I/O地址譯碼電路、總線插孔、接口實(shí)驗(yàn)常用集成電路、外圍電路及通

用IC插座等部分組成。外圍電路包括邏用電平開關(guān)電路、1ED顯示電路、時(shí)鐘電路、單脈沖電路、

邏輯筆、復(fù)位電路、七段數(shù)碼管顯示電路、基本門電路、維電器及步進(jìn)電機(jī)、小直流電機(jī)的驅(qū)動(dòng)

電路。

二、實(shí)驗(yàn)裝置基本組成

(1)硬件:PC機(jī);PCI接口卡;實(shí)驗(yàn)箱;50線扁平電纜:自鎖緊導(dǎo)線。本實(shí)驗(yàn)裝置在PC

系統(tǒng)中的位置如圖所示(虛線框內(nèi)):

(2)軟件:DOS操作系統(tǒng)的匯編系統(tǒng);TPC-2003A集成開發(fā)環(huán)境。

二級(jí)

三、實(shí)驗(yàn)平臺(tái)結(jié)構(gòu)CPU緩存

1、I/O地址譯碼電路

如圖-3所示,地址空間cofuj-+zio夕短少vc、其地址分別是280H?

總線

287H:288H?28FH;290H~\p“…飛HOST?2B0H?2B7H:2B8H?

2BFH,8根譯碼輸出線在實(shí)驗(yàn)臺(tái)“I/O?廣處分別由“自鎖緊”插孔引出,供實(shí)驗(yàn)選用。

2、總線插孔-----

采用插座在P主存);地址總線一不一

顯卡主橋網(wǎng)卡

讀、寫信中斷iiA請(qǐng)求怡&DKW;山A響應(yīng)信號(hào)、

信號(hào),供學(xué)可下各種接口實(shí)驗(yàn)電療用。

3、?我1由蚣

PCI總線

驗(yàn)使用〉

4、邏輯電'①

如圖-5所;T聲卡下彳擴(kuò)展總線?K0,i開關(guān)撥至I“1”他J酗部關(guān)斷升,輸出高

平,電路中串投邇?nèi)缘顢U(kuò)艇路不百擇

電平,向下打至,開橋J1mH

1

同+5Y、GND相連,可有效地防k聲J不IL、誤締程損壞集成電路理%

5、LED顯和路

如圖《□

ISA總線ISA-like50芯教學(xué)實(shí)驗(yàn)總線

為“1”時(shí)MT,為“0”盯火。

6、七段數(shù)碼管顯示電路

TPC-2005A

微機(jī)實(shí)驗(yàn)箱

I_______________________________________

如圖-7所示,實(shí)驗(yàn)臺(tái)上設(shè)有兩個(gè)共陰極七段數(shù)碼管及驅(qū)動(dòng)電路,段碼為同相驅(qū)動(dòng)器,位碼

為反相驅(qū)動(dòng)器,從段碼與位碼的驅(qū)動(dòng)器輸入端(段碼輸入端:a、b、c、d、e、f、g、dp,位碼

輸入端:si、s2)輸入不同的代碼即可顯示不同數(shù)字或符號(hào)。

7、單脈沖電路

如圖-8所示,采用RS觸發(fā)器產(chǎn)生,實(shí)驗(yàn)者每按一次開關(guān)即可以從兩個(gè)插座上分別輸出一個(gè)

正脈沖及負(fù)脈沖,供“中斷”、“DMA”、“定時(shí)器/計(jì)數(shù)器”等實(shí)驗(yàn)使用。

8、邏輯筆

如圖-9所示,當(dāng)輸入端Ui接高電平時(shí)紅燈(D2)亮:接低電平時(shí)綠燈亮。

9、繼電器及驅(qū)動(dòng)電路

如圖10所示,實(shí)驗(yàn)臺(tái)上設(shè)有一個(gè)+5V直流繼電器及相應(yīng)的驅(qū)動(dòng)電路,當(dāng)其開關(guān)量輸入端

輸入數(shù)字量“1”時(shí),繼電器動(dòng)作:常開觸點(diǎn)閉合、常閉觸點(diǎn)斷開。通過相應(yīng)的實(shí)驗(yàn)使學(xué)生了解

開關(guān)量控制的一般原理。

10、復(fù)位電路

如圖T1所示,能在上電時(shí),或按下復(fù)位開關(guān)S2后產(chǎn)生一個(gè)高電平的復(fù)位信號(hào)供8255、8251

等接口芯片使用。

11、接口集成電路

實(shí)驗(yàn)臺(tái)上有微機(jī)原理硬件實(shí)驗(yàn)最常用接口電路芯片,包括:可編程定時(shí)器/計(jì)數(shù)器(8253)、

可編程并行接I」(8255)、數(shù)/模轉(zhuǎn)換器(DACO832)、模/數(shù)轉(zhuǎn)換器(ADC0809),這里芯片與CPU

相連的引線除片選信號(hào)CS外都已連好,與外界連接的關(guān)鍵引腳在芯片周圍用“自鎖緊''插座引出,

供學(xué)生實(shí)驗(yàn)時(shí)使用。其中數(shù)/模轉(zhuǎn)換器附有雙極性輸出,模/數(shù)轉(zhuǎn)換器附有雙極性輸入插座。具體

電路可見下面重驗(yàn)說明.

12、跳線開關(guān)(JP)

實(shí)驗(yàn)臺(tái)上共有5個(gè)跳線開關(guān),其中Ja、Jb、Jc在實(shí)驗(yàn)臺(tái)的左上角,50線總線插座的左方。

Ja用來選擇用主機(jī)電源還是用外加電源的,當(dāng)用主機(jī)電源時(shí),應(yīng)將JA上+5V、+12V、-12V三個(gè)短

路片插好。若想使用外加電源,必須首先將JA上的三個(gè)短路片全部拔掉,才能將外接電源加入。

JB和JC是在使用ISA卡時(shí)來選擇實(shí)驗(yàn)類型的,I/O實(shí)驗(yàn)時(shí)JB、JC上的短路片都應(yīng)插在標(biāo)有“T/O”

的位置。做存儲(chǔ)器實(shí)驗(yàn)時(shí),短路片應(yīng)插在標(biāo)有“MEM”的位置。做DMA實(shí)驗(yàn)時(shí)JB應(yīng)插在“I/O”位

置,JC應(yīng)插在DMA位置。實(shí)驗(yàn)臺(tái)出廠時(shí)短路片在I/O實(shí)驗(yàn)位置。

實(shí)驗(yàn)臺(tái)上另外兩個(gè)跳線開關(guān)為JP2和JP3,在實(shí)驗(yàn)臺(tái)的左下角,分別用于模/數(shù)轉(zhuǎn)換器模擬量

輸入極性選擇,將JP2的1、2短路時(shí)IN2(J2)可輸入雙極性電壓(一5V?+5V),2、3短路為

單極性(0?+5V),JP3用于選擇IN1的輸入極性,方法與JP2相同。

13、+5V電源插針

為了減少主機(jī)+5V電源的負(fù)擔(dān)和各主要芯片的安全,在主要接口芯片的左上角都有相應(yīng)的電

源連接插針(標(biāo)記為+5V)當(dāng)實(shí)驗(yàn)需要該芯片時(shí),用短路塊短接插針即可接通+5V電源。對(duì)用

不到的芯片可將短路片拔掉,以確保芯片安全。

14、通用集成電路插座

實(shí)驗(yàn)臺(tái)上設(shè)有4個(gè)通用數(shù)字集成電路插座,其中插座A、B為20P,插座D為40P,插座D可

以插入一個(gè)24?40腳的集成電路芯片或者2個(gè)8?20腳的集成電路芯片。每個(gè)插座引腳附近都有

相應(yīng)的“自鎖緊”插座,部分實(shí)驗(yàn)(簡(jiǎn)單并行接口、DMA、串行通訊、集成電路測(cè)試)電路是利用

這些插座搭試的。要求高的學(xué)校可以讓學(xué)生自己搭試更多的實(shí)驗(yàn),以提高學(xué)生動(dòng)手能力。利用這

些插座可以開發(fā)新的實(shí)驗(yàn),也可以進(jìn)行數(shù)字電路實(shí)驗(yàn),及學(xué)生畢業(yè)設(shè)計(jì)。自鎖緊插座插入導(dǎo)線時(shí),

應(yīng)稍加力并延順時(shí)針方向旋轉(zhuǎn)一卜,才能保證接觸良好,拔出時(shí),應(yīng)先逆時(shí)針方向旋轉(zhuǎn)待插頭完

全松開后,再向上拔出。

15、數(shù)字電路實(shí)驗(yàn)區(qū)

實(shí)驗(yàn)臺(tái)上有一塊數(shù)字電路實(shí)驗(yàn)區(qū),設(shè)有三種基本門電路(與、或、非)及D觸發(fā)器,供學(xué)生

在接口實(shí)驗(yàn)或數(shù)字電路實(shí)驗(yàn)時(shí)直接使用。

16、接線端子

實(shí)驗(yàn)臺(tái)上設(shè)有J7,J8共2個(gè)接線端子。"用于外接用戶開發(fā)的實(shí)驗(yàn)板,J7是一個(gè)20芯通用

插座,用于外接用戶開發(fā)的實(shí)驗(yàn)板,本系統(tǒng)中8279鍵盤顯示實(shí)驗(yàn)板就從此插頭引出。J8為用戶

外接開發(fā)實(shí)驗(yàn)板時(shí)外接板的片選信號(hào)端。J7各引腳信號(hào)安排如下:

17、50線總線插座信號(hào)安排

18、直流電源開關(guān)(K1)和存儲(chǔ)器地址選擇開關(guān)(K2)

實(shí)驗(yàn)臺(tái)上有一直流電源開關(guān)(K1),在實(shí)驗(yàn)臺(tái)的左上角。在主機(jī)電源打開后,再打開

實(shí)驗(yàn)臺(tái)上開關(guān)K1,實(shí)驗(yàn)臺(tái)才會(huì)加電。另外,實(shí)驗(yàn)臺(tái)上還有一個(gè)四位撥動(dòng)開關(guān)K2,在實(shí)驗(yàn)

臺(tái)8255芯片的右方。K2是在做存儲(chǔ)器實(shí)驗(yàn)時(shí)選擇存儲(chǔ)器地址使用的。

19、使用外加直流電源注意事項(xiàng):

《1》用戶可以使用主機(jī)電源,也可以使用外加直流電源,主機(jī)電源通過總線擴(kuò)展卡引入到

文瞼臺(tái)的50芯插座上,再通過短路子JA接到電源開關(guān)上。該文驗(yàn)臺(tái)山廠時(shí)是按使用主機(jī)電源

連接的。

《2》用戶若想使用外加電源。必須首先將JA上的三個(gè)短路片全部拔掉,將主機(jī)電源斷開,

才能將外部電源接入。

《3》用戶電源通過外接電源插座J0接到實(shí)驗(yàn)臺(tái)上。插入以前應(yīng)仔細(xì)檢查電源插頭上各路

電源與.J0上標(biāo)注的是否相同,如不相同應(yīng)修改電源插頭,否則會(huì)損壞實(shí)驗(yàn)臺(tái)。

《4》外接電源插入以前,應(yīng)檢查各路電源輸出是否正確,如不正確應(yīng)修改或更換電源。

《5》以上各項(xiàng)都正常后,打開電源即可進(jìn)行實(shí)驗(yàn)。

20、高位地址選擇電路

如圖所示,實(shí)驗(yàn)臺(tái)上設(shè)有一高位地址選擇電路,將高位地址線A19、A18、A17、

.A16與設(shè)置開關(guān)K2的設(shè)置值進(jìn)行比較,都相同時(shí)MEMCS輸出低電平。因此可以選擇出16

個(gè)64K的地址空間。

譯碼表如下:

1234譯碼地址1234譯碼地址

10NONONON00000H9OFFONONON80000H

2ONONONOFF10000H10OFFONONOFF9000011

3ONONOFFON20000H11OFFONOFFONAOOOOII

4ONONOFFOFF30000H12OFFONOFFOFFBOOOOH

5ONOFFONON400001113OFFOFFONONCOOOOII

6ONOFFONOFF50000H14OFFOFFONOFFDOOOOH

7ONOFFOFFON600001115OFFOFFOFFONEOOOOH

8ONOFFOFFOFF70000H16OFFOFFOFFOFFFOOOOII

四、實(shí)驗(yàn)

實(shí)驗(yàn)一I/O地址譯碼

一、實(shí)驗(yàn)?zāi)康?/p>

掌握I/O地址譯碼電路的工作原理。

二、實(shí)驗(yàn)原理和內(nèi)容

實(shí)驗(yàn)電路如圖11所示,其中74LS74為D觸發(fā)器,可直接使用實(shí)驗(yàn)臺(tái)上數(shù)字電路實(shí)驗(yàn)區(qū)的D

觸發(fā)器,74LS138為地址譯碼器。譯碼輸出端Y0-Y7在實(shí)驗(yàn)臺(tái)上“I/O地址''輸出端引出,每個(gè)

輸出端包含8個(gè)地址,Y0:280H?287H,Yl:288H?28FH,……當(dāng)CPU執(zhí)行1/0指令且地址在

280H?2BFH范圍內(nèi),譯碼楷選中,必有?根譯碼線輸出負(fù)脈沖。

例如:執(zhí)行下面兩條指令,Y4輸出一個(gè)負(fù)脈沖;

MOVDX,2A0H

OUTDX,AL(或INAL,DX)

執(zhí)行下面兩條指令,Y5輸出一個(gè)負(fù)脈沖。

MOVDX,2A8H

OUTDX,AL(或INAL,DX)

利用這個(gè)負(fù)脈沖控制L7閃爍發(fā)光(鳧、滅、克、滅、一),時(shí)間間隔通過軟件延時(shí)實(shí)現(xiàn)。

三、編程提示

1、實(shí)驗(yàn)電路中D觸發(fā)器CLK端輸入脈沖時(shí)、上升沿使Q端輸出高電平L7發(fā)光,CD端加低電平L7

滅。

2、山于TPC卡使用PCI總線,所以分配的10地址每臺(tái)微機(jī)可能都不同,編程時(shí)需要了解當(dāng)前

的微機(jī)使用那段10地址并進(jìn)行設(shè)置.,獲取方法請(qǐng)參看本書附件1文章中的介紹。

四、思考題:

I、若使用地址A2控制74LS138的E2端。試寫出Y0?Y7的地址范圍。

2、試編寫一段程序,使L1?L7輪流發(fā)光循環(huán)顯示并以實(shí)驗(yàn)驗(yàn)證。

實(shí)驗(yàn)二簡(jiǎn)單并行接口

一、實(shí)驗(yàn)?zāi)康?/p>

掌握簡(jiǎn)單并行接口的工作原理及使用方法。

二、實(shí)驗(yàn)內(nèi)容

1、按下面圖12簡(jiǎn)單并行輸出接口電路圖連接線路(74LS273插通用插座,74LS32用實(shí)驗(yàn)臺(tái)

上的“或門”)o74LS273為八D觸發(fā)器,8個(gè)D輸入端分別按數(shù)據(jù)總線D0?D7,8個(gè)Q輸出端接

LED顯示電路L0?L7。

2、編程從鍵盤輸入一個(gè)字符或數(shù)字,將其ASCH碼通過這個(gè)輸出接口輸出,根據(jù)8個(gè)發(fā)光二

極管發(fā)光情況驗(yàn)證正確性。

3、按下面圖13簡(jiǎn)單并行輸入接口電路圖連接電路(74LS244插通用插座,74LS32用實(shí)驗(yàn)

臺(tái)上的“或門”)。74LS244為八緩沖器,8個(gè)數(shù)據(jù)輸入端分別接邏輯電平開關(guān)輸出K0-K7,8

個(gè)數(shù)據(jù)輸出端分別接數(shù)據(jù)總線DO?D7。

4、用邏輯電平開關(guān)預(yù)置某個(gè)字母的ASCI【碼,編程輸入這個(gè)ASCH碼,并將其對(duì)應(yīng)字母在

屏幕上顯示出來。

三、編程提示

1、卜述并行輸出接口的地卅為2A8H,并行愉入接口的地加為2A0H.通過卜述并行接口電路輸

出數(shù)據(jù)需要3條指令:

MOVAL,數(shù)據(jù)

MOVDX,2A8H

OUTDX,AL

通過上述并行接口輸入數(shù)據(jù)需要2條指令:

MOVDX,2ADH

TNAL,DX

2、參考流程圖

實(shí)驗(yàn)三可編程定時(shí)器/計(jì)數(shù)器(8253)

一、實(shí)驗(yàn)?zāi)康?/p>

掌握8253的基本匚作原理和編程方法。

二、實(shí)驗(yàn)內(nèi)容

1.按圖16虛線連接電路,將計(jì)數(shù)器0設(shè)置為方式0,計(jì)數(shù)器初值為N(NWOFH),用手動(dòng)逐個(gè)

輸入單脈沖,編程使計(jì)數(shù)值在屏幕上顯示,并同時(shí)用邏輯筆觀察OUTO電平變化(當(dāng)輸入N+1個(gè)脈

沖后0UT0變高電平)c

2.按圖17連接電路,將計(jì)數(shù)器0、計(jì)數(shù)器1分別設(shè)置為方式3,計(jì)數(shù)初值設(shè)為1000,用邏輯筆

觀察om輸出電平的變化(頻率1HZ)。

三、編程提示

1、8253控制寄存器地址283H

計(jì)數(shù)器0地址280H

計(jì)數(shù)器1地址281H

CLKO連接時(shí)鐘1MH2

2、參考流程圖(見圖18、19):

四、思考題:

1、在實(shí)驗(yàn)內(nèi)容一的基礎(chǔ)匕修改程序,使屏幕上僅顯示奇數(shù)(即只是顯示F、D、B、9、7、5、

3、1),并以實(shí)驗(yàn)驗(yàn)證。

實(shí)驗(yàn)四、可編程并行接口(一)(8255方式0)

一、實(shí)驗(yàn)?zāi)康?/p>

掌握8255方式0的工作原理及使用方法。

二、實(shí)驗(yàn)內(nèi)容

1.實(shí)驗(yàn)電路如圖20,8255c口接邏輯電平開關(guān)K0?K7,A口接LED顯示電路L0?L7。

2.編程從8255c口輸入數(shù)據(jù),再?gòu)腁口輸出.

三、編程提示

1、8255控制寄存器端口地址28BH

A口的地址288H

C口的地址28AH

2、參考流程圖(見圖21):

實(shí)驗(yàn)五七段數(shù)碼管

一、實(shí)驗(yàn)?zāi)康?/p>

掌握數(shù)碼管顯示數(shù)字的原理

二、實(shí)驗(yàn)內(nèi)容

1.靜態(tài)顯示:按圖22連接好電路,將8255的A口PAO?PA6分別與七段數(shù)碼管的段碼驅(qū)動(dòng)輸

入端a?g相連,位碼驅(qū)動(dòng)輸入端S1接+5V(選中),SO、dp接地(關(guān)閉)。編程從鍵盤輸入一位十

進(jìn)制數(shù)字(。?9),在七段數(shù)碼管上顯示出來。

2.動(dòng)態(tài)顯示:按圖23連接好電路,七段數(shù)碼管段碼連接不變,位碼驅(qū)動(dòng)輸入端SI,SO接

8255C口的PCI,PCOo編程在兩個(gè)數(shù)碼管上顯示“56”。

3.動(dòng)態(tài)顯示(選作):使用圖23的電路,編程在兩個(gè)數(shù)碼管上循環(huán)顯示“00-99”。

三、編程提示

1、實(shí)驗(yàn)臺(tái)上的七段數(shù)瑪管為共陰型,段碼采用同相驅(qū)動(dòng),輸入端加高電平,選中的數(shù)碼管

亮,位碼加反相驅(qū)動(dòng)器,位碼輸入端高電平選中。

_____________________________________________________2、七段數(shù)碼管的字型

顯示字形gefdcba段碼

001111113fh

1000011006h

210110115bh

310011114fh

4110011066h

511011016dh

611111017dh

7000011107h3、參考流程圖(見圖

811111117fh24)

四、思考題:

911011116fh

1、在共陰極條件

下,編程從鍵盤輸入一個(gè)字母(A?F),在七段數(shù)碼管上顯示出來,并以實(shí)驗(yàn)驗(yàn)證之,

2、動(dòng)態(tài)顯示過程中,能否不通過延時(shí)來保證56穩(wěn)定顯示。

3、請(qǐng)寫出方式1輸入時(shí)A口和B口的STB、IBF、INTR信號(hào)分別書由哪幾個(gè)引腳提供。

4、動(dòng)態(tài)掃描間隔時(shí)間的長(zhǎng)短對(duì)顯示效果有何影響?

實(shí)驗(yàn)六競(jìng)賽搶答器

一、實(shí)驗(yàn)?zāi)康?/p>

1、了解微機(jī)化競(jìng)賽搶答器的基本原理。

2、進(jìn)一步學(xué)習(xí)使用并行接口。

二、實(shí)驗(yàn)內(nèi)容

圖27為競(jìng)賽搶答器(模擬)的原理圖,邏輯開關(guān)K0?K7代表競(jìng)賽搶答按鈕0?7號(hào),當(dāng)某

個(gè)邏輯電平開關(guān)置“1”時(shí),相當(dāng)某組搶答按鈕按下。在七段數(shù)碼管上將其組號(hào)(0?7)顯示出來,

并使微機(jī)揚(yáng)聲器響一下。

三、編程提示

設(shè)置8255為C口輸入、A口輸出,讀取C口數(shù)據(jù),若為0表示無人搶答,若不為0則有人搶

答。根據(jù)讀取數(shù)據(jù)可判斷其組號(hào)。從鍵盤上按空格鍵開始F?輪搶答,按其它鍵程序退出。

四、參考流程圖(見圖28)

實(shí)驗(yàn)七交通燈控制實(shí)驗(yàn)

一.實(shí)驗(yàn)?zāi)康?/p>

通過并行接口8255實(shí)現(xiàn)十字路口交通燈的模擬控制,進(jìn)一步掌握對(duì)并行口的使用。

二.實(shí)驗(yàn)內(nèi)容

如圖-29,L7、L6、L5;乍為南北路口的交通燈與PC7、PC6、PC5相連,L2、LI、L0作為東西

路口的交通燈與PC2、PCI、PC0相連。編程使六個(gè)燈按交通燈變化規(guī)律亮滅。

三.編程提示:十字路口交通燈的變化規(guī)律要求:

(1)南北路口的綠燈、東西路口的紅燈同時(shí)亮30秒左右。

(2)南北路口的黃燈閃爍若干次,同時(shí)東西路3的紅燈繼續(xù)亮。

(3)南北路口的紅燈、東西路口的綠燈同時(shí)亮30秒左右。

(4)南北路口的紅燈繼續(xù)亮、同時(shí)東西路口的黃燈亮閃爍若干次。

(5)轉(zhuǎn)(1)重復(fù)。

四、參考流程圖

四、思考題:

1、討論延時(shí)時(shí)間的長(zhǎng)短對(duì)顯示效果有何影響?。

2、在方式I時(shí),INTA、INTB作為中斷使能信號(hào),在輸入輸出時(shí),分別有由C口的哪二位進(jìn)

行置位何復(fù)位的。

實(shí)驗(yàn)八中斷

一、實(shí)驗(yàn)?zāi)康?/p>

1、掌握PC機(jī)中斷處理系統(tǒng)的基本原理。

2、學(xué)會(huì)編寫中斷服務(wù)程序。

二、實(shí)驗(yàn)原理與內(nèi)容

1、實(shí)驗(yàn)原理

PC機(jī)用戶可使用的硬件中斷只有可屏蔽中斷,由8259中斷控制器管理。中斷控制器用于接

收外部的中斷請(qǐng)求信號(hào),經(jīng)過優(yōu)先級(jí)判別等處理后向CPU發(fā)出可屏蔽中斷請(qǐng)求。TBMPC、PC/XT

機(jī)內(nèi)有一片8259中斷控制器對(duì)外可以提供8個(gè)中斷源:

中斷源中斷類型號(hào)中斷功能

IRQO08H時(shí)鐘

IRQ109H鍵盤

IRQ2OAII保留

IRQ3OBH串行口2

IRQ4OCH串行口1

IRQ5ODH硬盤

IRQ6OEH軟盤

IRQ7OFH并行打印機(jī)

8個(gè)中斷源的中斷請(qǐng)求信號(hào)線IRQ0-IRQ7在主機(jī)的62線ISA總線插座中可以引出,系統(tǒng)已

設(shè)定中斷請(qǐng)求信號(hào)為“邊沿觸發(fā)”,普通結(jié)束方式。對(duì)于PC/AT及286以上微機(jī)內(nèi)乂擴(kuò)展了一片

8259中斷控制,IRQ2用于兩片8259之間級(jí)連,對(duì)外可以提供16個(gè)中斷源:

中斷源中斷類型號(hào)中斷功能

IRQ8070H實(shí)時(shí)時(shí)鐘

IRQ9071H用戶中斷

IRQ1007211保留

IRQ11073H保留

IRQ12074H保留

IRQ13075H協(xié)處理器

IRQ14076H硬盤

IRQ15077H保留

PCI總線中的中斷線只有四根,INTA#、TNTB#、INTC#、INTD#,它們需要通過P&P的設(shè)置來

和某一根中斷相連接才能進(jìn)行中斷申請(qǐng)。

2、實(shí)驗(yàn)內(nèi)容

實(shí)驗(yàn)電路如圖31,直接用手動(dòng)產(chǎn)單脈沖作為中斷請(qǐng)求信號(hào)(只需連接一根導(dǎo)線)。要求每按

一次開關(guān)產(chǎn)生一次中斷,在屏幕上顯示一次“TPCpcicareInterrupt",中斷10次后程序退出。

三、編程提示

1.由于9054的驅(qū)動(dòng)程序影響直寫9054芯片的控制寄存器,中斷實(shí)驗(yàn)需要在純DOS的環(huán)境中才

能正常運(yùn)行。這里指的純DOS環(huán)境是指微機(jī)啟動(dòng)時(shí)按F8鍵進(jìn)入的DOS環(huán)境。WINDOWS重啟進(jìn)入MSDOS

方式由丁系統(tǒng)資源被重新規(guī)劃過,所以也不能正常實(shí)驗(yàn)。

2.由十TPC卡使用PCI總線,所以分配的中斷號(hào)每臺(tái)微機(jī)可能都小同,編程時(shí)需要了解當(dāng)前的

微機(jī)使用那個(gè)中斷號(hào)并進(jìn)行設(shè)置,獲取方法請(qǐng)參看匯編程序使用方法的介紹。(也可使用自動(dòng)獲

取資源分配的程序取得中斷號(hào))

3.在純DOS環(huán)境下,有些微機(jī)的BIOS設(shè)置中有將資源保留給TSA總線使用的選項(xiàng),致使在純DOS

環(huán)境(WINDOWS環(huán)境下不會(huì)出現(xiàn)此問題)下PCI總線無法獲得系統(tǒng)資源,也就無法做實(shí)驗(yàn),這時(shí)需

要將此選項(xiàng)修改為使用即插即用。

4.在純DOS環(huán)境下,有些微機(jī)的BIOS設(shè)置中有使用即插即用操作系統(tǒng)的選項(xiàng),如果在使用即

插即用操作系統(tǒng)狀態(tài)下,BIOS將不會(huì)給TPC卡分配系統(tǒng)資源,致使在純DOS環(huán)境(WINDOWS環(huán)境下

不會(huì)出現(xiàn)此問題)下PCI總線無法獲得系統(tǒng)資源,也就無法做實(shí)驗(yàn),這時(shí)需要將此選項(xiàng)修改為不

使用即插即用操作系統(tǒng)。

5.由于TPC卡使用9054芯片連接微機(jī),所以在編程使用微機(jī)中斷前需要使用9054的中斷功能,

代碼如下:

movdx,ioport_cer.t+68h;設(shè)置tpc卡中9054芯片io口,使能中斷

inax,dx

orax,0900h

outdx,ax

其中IOPORT一CENT是9051芯片寄存器組的I/O起始地址,每臺(tái)微機(jī)可能都不同,編程時(shí)需要了

解當(dāng)前的微機(jī)使用哪段并進(jìn)行設(shè)置.,獲取方法請(qǐng)參看本書結(jié)尾部分的介紹。(也可使用自動(dòng)獲取

資源分配的程序取得),+68H的偏移是關(guān)于中斷使能的寄存器地址,設(shè)置含義如下:

設(shè)置INTCSR(68H)寄存器,中斷模式設(shè)置

BITS功能

81:能夠產(chǎn)生PCI中斷

0:禁止產(chǎn)生PCI中斷

111:能夠LOCAL端輸入的中斷送到PCI端

0:禁止LOCAL端輸入的中斷送到PCI端

其它位為零即可,更多內(nèi)容參看9054芯片數(shù)據(jù)手冊(cè)

程序退出前還要關(guān)閉9054的中斷,代碼如下:

movdx,ioport_cent+68h;設(shè)置tpc卡中9054芯片io口,關(guān)閉中斷

inax,dx

andax,Of7ffh

outdx,ax

6.PC機(jī)中斷控制器8259的地址為20H、21H,編程時(shí)要根據(jù)中斷類型號(hào)設(shè)置中斷矢量,8259

中斷屏蔽寄存器IMR對(duì)應(yīng)位要清零(允許中斷),中斷服務(wù)結(jié)束返回前要使用中斷結(jié)束命令:

MOVAL,20H

OUT2011,AL

中斷結(jié)束返回DOS時(shí)應(yīng)將IMR對(duì)應(yīng)位置1,以關(guān)閉中斷。

四、參考流程圖

實(shí)驗(yàn)九可編程并行接口(二)(8255方式1)

一、實(shí)驗(yàn)?zāi)康?/p>

1.掌握8255工作方式1時(shí)的使用及編程。

2.進(jìn)一步掌握中斷處理程序的編寫。

二、實(shí)驗(yàn)內(nèi)容

1.按圖33(A)8255方式1的輸出電路連好線路。

2.編程:每按一次單脈沖按鈕產(chǎn)生一個(gè)正脈沖使8255產(chǎn)生一次中斷請(qǐng)求,讓CPU進(jìn)行一

次中斷服務(wù):依次輸出01H、02H,04H,08H,10H,20H,40H,80H使L0?L7依次發(fā)光,中斷8

次結(jié)束。

3.按圖33(B)8255方式1輸入電路,連好線路。

4.編程:每按一次單泳沖按鈕產(chǎn)生一個(gè)正脈沖使8255產(chǎn)生一次中斷請(qǐng)求,讓CPI.進(jìn)行一次

中斷服務(wù):讀取邏輯電平開關(guān)預(yù)置的ASCH碼,在屏幕上顯示其對(duì)應(yīng)的字符,中斷8次結(jié)束。

三、參考流程圖:(如圖34,35)

實(shí)驗(yàn)十?dāng)?shù)/模轉(zhuǎn)換器

一、實(shí)驗(yàn)?zāi)康?/p>

了解數(shù)/模轉(zhuǎn)換器的基本原理,掌握DAC0832芯片的使用方法。

二、實(shí)驗(yàn)內(nèi)容

1、實(shí)驗(yàn)電路原理如圖26,DAC0832采用單緩沖方式,具有單雙極性輸入端(圖中的Ua、Ub),

利用debug輸出命令(Out290數(shù)據(jù))輸出數(shù)據(jù)給DAC0832,用萬用表測(cè)量單極性輸出端Ua及

雙極性輸出端Ub的電壓,驗(yàn)證數(shù)字與電壓之間的線性關(guān)系。

2、編程產(chǎn)生以下波形(從Ub輸出,用示波器觀察)

(1)鋸齒波

(2)正弦波

三、編程提示

1、8位D/A轉(zhuǎn)換器DAC0832的口地址為290H,輸入數(shù)據(jù)與輸出電壓的關(guān)系為:

(UREF表示參考電壓,N表示數(shù)數(shù)據(jù)),這里的參考電壓為PC機(jī)的+5V電源。

2、產(chǎn)生鋸齒波只須將輸出到DAC0832的數(shù)據(jù)由0循環(huán)遞增。產(chǎn)生正弦波可根據(jù)正弦函數(shù)建一

個(gè)下弦數(shù)字量表,取值范圍為一個(gè)周期,表中數(shù)據(jù)個(gè)數(shù)在16個(gè)以上。

四、參考流程圖:

實(shí)驗(yàn)十一模/數(shù)轉(zhuǎn)換器

一、實(shí)驗(yàn)?zāi)康?/p>

了解模/數(shù)轉(zhuǎn)換的基本原理,掌握ADC0809的使用方法。

二、實(shí)驗(yàn)內(nèi)容

1、實(shí)驗(yàn)電路原理圖如圖38。通過實(shí)驗(yàn)臺(tái)左下角電位器RW1輸出0?5V直流電壓送入AK0809

通道O(INO),利用debug的輸出命令啟動(dòng)A/D轉(zhuǎn)換器,輸入命令讀取轉(zhuǎn)換結(jié)果,驗(yàn)證輸入電壓與

轉(zhuǎn)換后數(shù)字的關(guān)系。

啟動(dòng)IN0開始轉(zhuǎn)換:Out02980

讀取轉(zhuǎn)換結(jié)果:In0298

2、編程采集INO輸入的電壓,在屏幕上顯示出轉(zhuǎn)換后的數(shù)據(jù)(用16進(jìn)制數(shù))。

3、將JP3的1、2短接,使IN2處于雙極性工作方式,并給IN1輸入一個(gè)低頻交流信號(hào)(幅

度為±5V),編程采集這個(gè)信號(hào)數(shù)據(jù)并在屏幕上顯示波形。

三、實(shí)驗(yàn)提示

1、ADC0809的INOPl地址為298H,IN1口地址為299H。

2、IN0單極性輸入電壓與轉(zhuǎn)換后數(shù)字的關(guān)系為:

其中Ui為輸入電壓,UREF為參考電壓,這里的參考電壓為PC機(jī)的+5V電源。

3、一次A/D轉(zhuǎn)換的程序可以為

MOVDX,口地址

OCTDX,AL;啟動(dòng)轉(zhuǎn)換

;延時(shí)

INAL,DX;讀取轉(zhuǎn)換結(jié)果放在AL中

四、參考流程圖(見圖39,40)

實(shí)驗(yàn)十二步進(jìn)電機(jī)控制實(shí)驗(yàn)

一、實(shí)驗(yàn)?zāi)康?/p>

1、了解步進(jìn)電機(jī)控制的基本原理。

2、掌握控制步進(jìn)電機(jī)轉(zhuǎn)動(dòng)的編程方法。

二、實(shí)驗(yàn)內(nèi)容

1、按圖53連接線路,利用8255輸出脈沖序列,開關(guān)K0?K6控制步進(jìn)電機(jī)轉(zhuǎn)速,K7控制

步進(jìn)電機(jī)轉(zhuǎn)向。8255CS接288H?28FH。PAO?PA3接BA?BD;PCO?PC7接K0?K7。

2、編程:當(dāng)K0?K6中某一開關(guān)為“1”(向上撥)時(shí)步進(jìn)電機(jī)啟動(dòng)。K7向上撥電機(jī)正轉(zhuǎn),

向下?lián)茈姍C(jī)反轉(zhuǎn)。

三、實(shí)驗(yàn)說明

步進(jìn)電機(jī)驅(qū)動(dòng)原理是通過對(duì)每相線圈中的電流的順序切換來使電機(jī)作步進(jìn)式旋轉(zhuǎn)。驅(qū)動(dòng)電

路由脈沖信號(hào)來控制,所以調(diào)節(jié)脈沖信號(hào)的頻率便可改變步進(jìn)電機(jī)的轉(zhuǎn)速。

如圖54所示:本實(shí)驗(yàn)便用的步進(jìn)電機(jī)用直流+5V電壓,每相電流為,電機(jī)線圈由四相組成:

即:e1(BA):62(BB);63(BC);4>4(BD)

駁動(dòng)方式為二相激磁方式,各線圈通電順序如下表.

順序相616263(1)4反時(shí)針方向回轉(zhuǎn)

01100正時(shí)針方向回轉(zhuǎn)

10110

20011

31001

表中首先向61線圈一。2線圈輸入驅(qū)動(dòng)電流,接著62—63,63—64,64一小1,又返回

到小1一62,按這種順序切換,電機(jī)軸按順時(shí)針方向旋轉(zhuǎn)。

實(shí)驗(yàn)可通過不同長(zhǎng)度的延時(shí)來得到不同頻率的步進(jìn)電機(jī)輸入脈沖,從而得到多種步進(jìn)速度。

四、參考流程圖

實(shí)驗(yàn)十三數(shù)字溫度檢測(cè)實(shí)驗(yàn)

一、實(shí)驗(yàn)?zāi)康?/p>

了解數(shù)字溫度傳感器工作原理及使用方法。

二、實(shí)驗(yàn)內(nèi)容:

1.查看資料了解DS18E20的測(cè)溫原理、內(nèi)部結(jié)構(gòu)和使用方法。

2.實(shí)驗(yàn)電路如圖所示:圖中DO為DS18B20數(shù)據(jù)輸出,DI為數(shù)據(jù)輸入。實(shí)驗(yàn)前DO接8255的PA7,

DI接8255的PC7,8253的CLKO接1UHZ時(shí)鐘,GATEO接PCO,OUTO接非門輸入A,非「1輸出Y接IRQ,K7

用短路子短接。

3.DS19B2測(cè)溫原理:DS18B20是美國(guó)DALLAS公司生產(chǎn)的單總線接口數(shù)字溫度傳感器,只需一

根線即可與主機(jī)通信。接口電路簡(jiǎn)單,但通信過程中對(duì)時(shí)序的要求非常嚴(yán)格。在我們的實(shí)驗(yàn)方案

中,8253定時(shí)器是為了產(chǎn)生DS18B20讀寫過程中定時(shí)需要設(shè)定的,8253的GATEO接8255的PCO,這

樣就可以由軟件控制8253計(jì)數(shù)的開始和停止,從而得到所需要的延時(shí)時(shí)間長(zhǎng)度。寫入數(shù)據(jù)(ID)

由8255的PC7通過一個(gè)集電極開始的緩沖門7407送至IJDS18B20的2腳(DO),DS18B20的3腳直接接

VCCo

4.編程利用DS18B20測(cè)溫,測(cè)試結(jié)果在屏幕上顯示。

三、參考流程圖

<一〉主程序流程序

〈三〉寫DS18B20子程序

〈四》讀DS18B20子程序

附錄1、查看PCI卡資源的方法

匯編程序支持win9x系統(tǒng)

因?yàn)镻CI總線結(jié)構(gòu)支持p&p即插即用功能,每臺(tái)微機(jī)分配給PCI擴(kuò)展板的資源是動(dòng)態(tài)浮動(dòng)

的,不像ISA總線是固定死的,因此分配給設(shè)備的I/O基地址、mem基地址空間及int中新號(hào)會(huì)

囚為不同的微機(jī)而變化,所以實(shí)驗(yàn)前需要確定當(dāng)前微機(jī)中PCI卡的資源,并用其替換程序中的相

應(yīng)值,重新編譯鏈接后才能實(shí)現(xiàn)實(shí)驗(yàn)效果。

如果發(fā)現(xiàn)您的微機(jī)中PCI卡的設(shè)置與以下內(nèi)容所描述的不一致,這應(yīng)該是系統(tǒng)沒有分配好資

源導(dǎo)致的,實(shí)驗(yàn)可能做不了,您可以將驅(qū)動(dòng)卸掉再重新安裝,看看還出現(xiàn)這種情況否,或是換一

臺(tái)機(jī)席試一下,確認(rèn)是ipc卡的問題還是操作系統(tǒng)安裝驅(qū)動(dòng)程序時(shí)出現(xiàn)的問題。

需要替換的基地址值為每個(gè)匯編程序頭中的定義行:

io基地址為:

ioponequ0d400h-0280h;TPC卡中設(shè)備的io地址

ioport_dataequ0d4(M)h-0280h;TPC卡中設(shè)備的沁地址

ioport_ccntcquOd8(X)h:TPC卡中PCI接口芯片的io地址

mem基地址為:

mem_dataequOfTPC卡中設(shè)備的mem地址

其中”0d400h”是pci接口在微機(jī)中被動(dòng)態(tài)分配的i。基地址,即需要替換的地址,相當(dāng)于設(shè)備中的

地址()28()ho

”0d800h”是TPC卡中PCI接口芯片上的設(shè)置寄存器組占用的io地址,因?yàn)槟承?shí)驗(yàn)需要設(shè)置該

芯片的寄存器。

,是pci接口在微機(jī)中被動(dòng)態(tài)分配的mcm基地址,也是需要替換的地址,相當(dāng)于設(shè)備存儲(chǔ)器的

起始地址Oho

替換方法如下:

步驟1:

參照實(shí)驗(yàn)指導(dǎo)書安裝接口卡及其驅(qū)動(dòng)程序

步驟2:

啟動(dòng)微機(jī)并打開“控制面板”->“系統(tǒng)”->“設(shè)備管理器”并存到“微機(jī)原理教學(xué)

實(shí)驗(yàn)裝置”

打開“TPC”

找到兩個(gè)輸入/輸出范圍(數(shù)值可能不會(huì)與圖中相同),其中一個(gè)范闈大小是Offh的是PCI接

口芯片卜的設(shè)置寄存器組占用的io地址空間.另一個(gè)范圍大小是07fh的是TPC設(shè)備的io地址空

間:兩個(gè)內(nèi)存范圍(數(shù)值可能不會(huì)與圖中相同),一個(gè)范圍大小是Offh的是PCI接口芯片占用的

mem地址空間,另一個(gè)范圍大小是Offfffh的是TPC設(shè)備的mem地址空間。

它們的起始地址即為我們需要的基址值,圖中PCI接口芯片輸入輸出范圍是cOOO-cOff,基址

為cOOO;TPC設(shè)備的輸入輸出范圍是c400-c47ff

記錄下基址值。

步驟3:

用記錄下的基址值替換每個(gè)匯編程序頭中的定義行中的值,并重新編譯鏈接后即可。

io基地址為:

ioporiequ0d4()0h-0280h;TPC長(zhǎng)中設(shè)備的io地址

????

????

ioport_dataequ0d400h-0280h;TPC卡中設(shè)備的沁地址

????

????

ioport_ccntcqu0d800h;TPC卡中PCI接口芯片的io地址

mem基地址為:

mem_da(aequOfTPCR中設(shè)備的mem地址

即替換“0d400h”為“0c400h”,“0d800h”為“OcOOOh”,“Of”為“Of”,并重新編譯逑接后

即可。

如果程序中使用了中斷,則需要根據(jù)TPC屬性窗口中的中斷請(qǐng)求號(hào)碼來修改程序中的中斷

向量、中斷掩碼的參數(shù),并重新編譯鏈接后即可。

附錄2、匯編語言使用方法

匯編語言程序的開發(fā)過程

用匯編語言編制的程序稱為匯編語言源程序,它必須經(jīng)過匯編、連接,生成二進(jìn)

制代碼的目標(biāo)程序,才能直接由計(jì)算機(jī)執(zhí)行。匯編語言程序的開發(fā)過程如下圖所示。

編輯程序

A匯編語言使用

所謂匯編就是把用匯編吾言編寫語言目標(biāo)代碼程序的過程.匯

編程序一般使用宏匯編程序(MASM)o

A.1運(yùn)行匯編程序必的條件源程序

運(yùn)行匯編程序必備的軟彳旭4*文件

匯編系統(tǒng)盤應(yīng)包含如下交件:

MASM宏匯編程序文件

N

LINK連接程序文件

CREF索引程序文件(也可不用)宏匯編程序MASM

EDIT文本編輯程序(或PE等文本

用戶通過屏幕編輯程序鍵人源程序,檢查,可將源程序存到硬盤或軟盤二,程

序擴(kuò)展名為.ASMo'

目標(biāo)程

A.2編寫匯編源程序

序文件

用匯編語言編寫的源程必須是一個(gè):用戶通過屏幕編輯程序鍵人源

程序,檢查無誤,可將源程手存盤,程序.ASM.

1)源程序的書寫格式

當(dāng)CPU訪問內(nèi)存時(shí),是把存儲(chǔ)器分成若干通過4個(gè)段寄存器中存放的地玨對(duì)內(nèi)

存儲(chǔ)器訪問,因此在編源程序時(shí)迦須L由于每個(gè)段的物理空間為:

有語法錯(cuò)?

5:64KB,所以程序中各段石書寫一般有如下形式:

邏輯堆棧段堆棧段名SEGMENISTAC

用變量定夕預(yù)置的堆??臻gN

邏輯數(shù)據(jù)段

邏輯代碼段

ASSUME定義各段尋址關(guān)系

過程名PROC???

程序

過程名

代碼段名

END

在源程序中最少要有一個(gè)代碼段,數(shù)據(jù)段根據(jù)需要確定用否,也可以增設(shè)附加段。對(duì)

于堆棧段也可以根據(jù)需要確定用否,但在連接(LINK)時(shí)計(jì)算機(jī)將顯示警告性的錯(cuò)誤。在程

序中如果沒有用到堆棧時(shí),該錯(cuò)誤提示不影響程序的運(yùn)行;如果程序中用到堆棧時(shí)必須設(shè)

置堆棧段。?

SEGMENT.ASSUME.PROC???ENDP為偽指令,偽指令是發(fā)給匯編程序M.ASM的,而不和

微處理器打交道,在匯編時(shí)不產(chǎn)生目標(biāo)代碼,只是把源程序中各種設(shè)置情況告訴匯編程序。

2)段寄存器的段地址的裝入

Assume偽指令語句只是建立了當(dāng)前段與段寄存器的聯(lián)系,但不能把各段的段地址裝入

相應(yīng)的段寄存器中,段寄存器的段地址的裝入是在程序中完成的。

(1)DS、ES、SS的裝入

由于段寄存器不能用立即數(shù)尋址方式直接傳送,所以段地址裝入可通過通用寄存器傳

送給段寄存器。

MOVAX,邏輯段名

MOV段寄存器,AX

其中邏輯段名為程序中定義各邏輯段的名字,(不包括代碼段),段寄存器是指與各邏

輯段相對(duì)應(yīng)的各段寄存器(DS、ES、SS)o

(2)CS的裝入

代碼段寄存器是裝當(dāng)前執(zhí)行目標(biāo)代碼的段地址,IP是提供下一條要執(zhí)行的目標(biāo)代碼的

偏移量。為了保證程序的正確執(zhí)行,CS和IP裝入新值時(shí)是一起完成的。

對(duì)CS和IP的裝入有如下幾種情況:

①根據(jù)用戶程序中的偽指令END后的標(biāo)號(hào)為CS和TP提供代碼段的段地址和目標(biāo)代碼的

偏移地址。

②在程序運(yùn)行過程中,當(dāng)執(zhí)行某些指令和操作時(shí),CPU自動(dòng)修改CS和IP的值,使它們

指向新的代碼段。

3)程序中的數(shù)據(jù)與變量

在匯編源程序中的數(shù)據(jù)除了立即數(shù),由指令產(chǎn)生的數(shù)和通過鍵盤輸入的數(shù)以外,還有

大量的數(shù)據(jù)是通過偽指令語句進(jìn)行預(yù)置酚配的。也就是在某邏輯段中(除代碼段),將所需

的數(shù)據(jù)以某種形式存放起來,在程序中可任意調(diào)用。在數(shù)據(jù)定義的同時(shí)還可以定義變量,

將變量與數(shù)據(jù)結(jié)合在一起。可以為某個(gè)變量分配存儲(chǔ)空間以便在程序執(zhí)行過程中存放中間

結(jié)果和最終結(jié)果,使用起來極為方便。

(1)變量與數(shù)據(jù)的定義

變量與數(shù)據(jù)的定義大以通過符號(hào)定義偽指令EQU、=和數(shù)據(jù)定義偽指令DB或DW或DD來

實(shí)現(xiàn)。

七(^和=可以出現(xiàn)在程序的邏輯段內(nèi),也可出現(xiàn)在邏輯段外。

(2)匯編程序中數(shù)據(jù)的提供方法

①用數(shù)據(jù)定義偽指令提供數(shù)據(jù)如果程序要求原始數(shù)據(jù)為一批數(shù)據(jù)時(shí),用數(shù)據(jù)

定義偽指令DB、DW和DD來提供較為方便。

②用立即數(shù)的形式提供

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論