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

下載本文檔

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

文檔簡介

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

實驗指導(dǎo)書

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

2008年2月

目錄

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

二、實驗裝置基本組成...............................................6

三、實驗臺結(jié)構(gòu).....................................................12

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

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

3、時鐘電路..............................................................12

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

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

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

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

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

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

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

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

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

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

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

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

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

17、50線總線插座信號安排...............................................16

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

19、使用外加直流電源注意事項..........................................16

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

四、實驗......................................................................18

實驗一、I/O地址譯碼.......................................................20

實驗二、簡單并行接口......................................................21

實驗三、可編程定時器/計數(shù)器(8253)..........................................23

實驗四、可編程并行接口(一)(8255方式())...............25

實驗五、七段數(shù)碼管.........................................................26

實驗六、競賽搶答器.........................................................29

實驗七、交通燈控制實驗....................................................31

實驗八、中斷...............................................................32

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

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

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

實驗十二、步進電機控制實驗.................................................60

實驗十三、數(shù)字溫度檢測實驗.................................................79

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

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

一、概述

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

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

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

才能和開展創(chuàng)新活動的計算機硬件平臺。該系統(tǒng)主要有以下特點:

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

的現(xiàn)象。

★電路設(shè)計中增加了多項保護措施,可有效的避免由于學(xué)生實驗時錯接、錯編程損壞主機或

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

★實驗臺?上增加了邏輯筆、通用IC插座等電路。可作為數(shù)字電路實驗儀器使用,也可以用于

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

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

可以插入PC系列微機中任意一個PCI擴展插槽,它的主要功能是將與實驗有關(guān)的總線信號加以驅(qū)

動后引到實驗臺上,同時引出信號還有與“中斷”和“DMA”實驗操作有關(guān)的信號及+5V、+12V、

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

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

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

電路。

二、實驗裝置基本組成

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

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

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

二級

三、實驗平臺結(jié)構(gòu)CPU緩存

1、I/O地址譯碼電路

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

總線

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

2BFH,8根譯碼輸出線在實驗臺“I/O?廣處分別由“自鎖緊”插孔引出,供實驗選用。

2、總線插孔-----

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

顯卡主橋網(wǎng)卡

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

信號,供學(xué)可下各種接口實驗電療用。

3、?我1由蚣

PCI總線

驗使用〉

4、邏輯電'①

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

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

電平,向下打至,開橋J1mH

1

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

5、LED顯和路

如圖《□

ISA總線ISA-like50芯教學(xué)實驗總線

為“1”時MT,為“0”盯火。

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

TPC-2005A

微機實驗箱

I_______________________________________

如圖-7所示,實驗臺上設(shè)有兩個共陰極七段數(shù)碼管及驅(qū)動電路,段碼為同相驅(qū)動器,位碼

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

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

7、單脈沖電路

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

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

8、邏輯筆

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

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

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

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

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

10、復(fù)位電路

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

等接口芯片使用。

11、接口集成電路

實驗臺上有微機原理硬件實驗最常用接口電路芯片,包括:可編程定時器/計數(shù)器(8253)、

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

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

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

電路可見下面重驗說明.

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

實驗臺上共有5個跳線開關(guān),其中Ja、Jb、Jc在實驗臺的左上角,50線總線插座的左方。

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

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

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

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

置,JC應(yīng)插在DMA位置。實驗臺出廠時短路片在I/O實驗位置。

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

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

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

13、+5V電源插針

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

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

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

14、通用集成電路插座

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

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

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

這些插座搭試的。要求高的學(xué)??梢宰寣W(xué)生自己搭試更多的實驗,以提高學(xué)生動手能力。利用這

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

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

全松開后,再向上拔出。

15、數(shù)字電路實驗區(qū)

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

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

16、接線端子

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

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

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

17、50線總線插座信號安排

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

實驗臺上有一直流電源開關(guān)(K1),在實驗臺的左上角。在主機電源打開后,再打開

實驗臺上開關(guān)K1,實驗臺才會加電。另外,實驗臺上還有一個四位撥動開關(guān)K2,在實驗

臺8255芯片的右方。K2是在做存儲器實驗時選擇存儲器地址使用的。

19、使用外加直流電源注意事項:

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

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

連接的。

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

才能將外部電源接入。

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

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

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

《5》以上各項都正常后,打開電源即可進行實驗。

20、高位地址選擇電路

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

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

個64K的地址空間。

譯碼表如下:

1234譯碼地址1234譯碼地址

10NONONON00000H9OFFONONON80000H

2ONONONOFF10000H10OFFONONOFF9000011

3ONONOFFON20000H11OFFONOFFONAOOOOII

4ONONOFFOFF30000H12OFFONOFFOFFBOOOOH

5ONOFFONON400001113OFFOFFONONCOOOOII

6ONOFFONOFF50000H14OFFOFFONOFFDOOOOH

7ONOFFOFFON600001115OFFOFFOFFONEOOOOH

8ONOFFOFFOFF70000H16OFFOFFOFFOFFFOOOOII

四、實驗

實驗一I/O地址譯碼

一、實驗?zāi)康?/p>

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

二、實驗原理和內(nèi)容

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

觸發(fā)器,74LS138為地址譯碼器。譯碼輸出端Y0-Y7在實驗臺上“I/O地址''輸出端引出,每個

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

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

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

MOVDX,2A0H

OUTDX,AL(或INAL,DX)

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

MOVDX,2A8H

OUTDX,AL(或INAL,DX)

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

三、編程提示

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

滅。

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

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

四、思考題:

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

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

實驗二簡單并行接口

一、實驗?zāi)康?/p>

掌握簡單并行接口的工作原理及使用方法。

二、實驗內(nèi)容

1、按下面圖12簡單并行輸出接口電路圖連接線路(74LS273插通用插座,74LS32用實驗臺

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

LED顯示電路L0?L7。

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

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

3、按下面圖13簡單并行輸入接口電路圖連接電路(74LS244插通用插座,74LS32用實驗

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

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

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

屏幕上顯示出來。

三、編程提示

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

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

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

MOVDX,2A8H

OUTDX,AL

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

MOVDX,2ADH

TNAL,DX

2、參考流程圖

實驗三可編程定時器/計數(shù)器(8253)

一、實驗?zāi)康?/p>

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

二、實驗內(nèi)容

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

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

沖后0UT0變高電平)c

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

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

三、編程提示

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

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

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

CLKO連接時鐘1MH2

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

四、思考題:

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

3、1),并以實驗驗證。

實驗四、可編程并行接口(一)(8255方式0)

一、實驗?zāi)康?/p>

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

二、實驗內(nèi)容

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

2.編程從8255c口輸入數(shù)據(jù),再從A口輸出.

三、編程提示

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

A口的地址288H

C口的地址28AH

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

實驗五七段數(shù)碼管

一、實驗?zāi)康?/p>

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

二、實驗內(nèi)容

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

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

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

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

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

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

三、編程提示

1、實驗臺上的七段數(shù)瑪管為共陰型,段碼采用同相驅(qū)動,輸入端加高電平,選中的數(shù)碼管

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

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

顯示字形gefdcba段碼

001111113fh

1000011006h

210110115bh

310011114fh

4110011066h

511011016dh

611111017dh

7000011107h3、參考流程圖(見圖

811111117fh24)

四、思考題:

911011116fh

1、在共陰極條件

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

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

3、請寫出方式1輸入時A口和B口的STB、IBF、INTR信號分別書由哪幾個引腳提供。

4、動態(tài)掃描間隔時間的長短對顯示效果有何影響?

實驗六競賽搶答器

一、實驗?zāi)康?/p>

1、了解微機化競賽搶答器的基本原理。

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

二、實驗內(nèi)容

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

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

并使微機揚聲器響一下。

三、編程提示

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

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

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

實驗七交通燈控制實驗

一.實驗?zāi)康?/p>

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

二.實驗內(nèi)容

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

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

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

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

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

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

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

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

四、參考流程圖

四、思考題:

1、討論延時時間的長短對顯示效果有何影響?。

2、在方式I時,INTA、INTB作為中斷使能信號,在輸入輸出時,分別有由C口的哪二位進

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

實驗八中斷

一、實驗?zāi)康?/p>

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

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

二、實驗原理與內(nèi)容

1、實驗原理

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

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

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

中斷源中斷類型號中斷功能

IRQO08H時鐘

IRQ109H鍵盤

IRQ2OAII保留

IRQ3OBH串行口2

IRQ4OCH串行口1

IRQ5ODH硬盤

IRQ6OEH軟盤

IRQ7OFH并行打印機

8個中斷源的中斷請求信號線IRQ0-IRQ7在主機的62線ISA總線插座中可以引出,系統(tǒng)已

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

8259中斷控制,IRQ2用于兩片8259之間級連,對外可以提供16個中斷源:

中斷源中斷類型號中斷功能

IRQ8070H實時時鐘

IRQ9071H用戶中斷

IRQ1007211保留

IRQ11073H保留

IRQ12074H保留

IRQ13075H協(xié)處理器

IRQ14076H硬盤

IRQ15077H保留

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

和某一根中斷相連接才能進行中斷申請。

2、實驗內(nèi)容

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

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

三、編程提示

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

能正常運行。這里指的純DOS環(huán)境是指微機啟動時按F8鍵進入的DOS環(huán)境。WINDOWS重啟進入MSDOS

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

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

微機使用那個中斷號并進行設(shè)置,獲取方法請參看匯編程序使用方法的介紹。(也可使用自動獲

取資源分配的程序取得中斷號)

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

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

要將此選項修改為使用即插即用。

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

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

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

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

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

代碼如下:

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

inax,dx

orax,0900h

outdx,ax

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

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

資源分配的程序取得),+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ù)手冊

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

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

inax,dx

andax,Of7ffh

outdx,ax

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

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

MOVAL,20H

OUT2011,AL

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

四、參考流程圖

實驗九可編程并行接口(二)(8255方式1)

一、實驗?zāi)康?/p>

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

2.進一步掌握中斷處理程序的編寫。

二、實驗內(nèi)容

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

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

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

次結(jié)束。

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

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

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

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

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

一、實驗?zāi)康?/p>

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

二、實驗內(nèi)容

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

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

雙極性輸出端Ub的電壓,驗證數(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機的+5V電源。

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

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

四、參考流程圖:

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

一、實驗?zāi)康?/p>

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

二、實驗內(nèi)容

1、實驗電路原理圖如圖38。通過實驗臺左下角電位器RW1輸出0?5V直流電壓送入AK0809

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

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

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

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

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

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

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

三、實驗提示

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

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

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

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

MOVDX,口地址

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

;延時

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

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

實驗十二步進電機控制實驗

一、實驗?zāi)康?/p>

1、了解步進電機控制的基本原理。

2、掌握控制步進電機轉(zhuǎn)動的編程方法。

二、實驗內(nèi)容

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

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

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

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

三、實驗說明

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

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

如圖54所示:本實驗便用的步進電機用直流+5V電壓,每相電流為,電機線圈由四相組成:

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

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

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

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

10110

20011

31001

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

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

實驗可通過不同長度的延時來得到不同頻率的步進電機輸入脈沖,從而得到多種步進速度。

四、參考流程圖

實驗十三數(shù)字溫度檢測實驗

一、實驗?zāi)康?/p>

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

二、實驗內(nèi)容:

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

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

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

用短路子短接。

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

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

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

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

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

VCCo

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

三、參考流程圖

<一〉主程序流程序

〈三〉寫DS18B20子程序

〈四》讀DS18B20子程序

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

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

因為PCI總線結(jié)構(gòu)支持p&p即插即用功能,每臺微機分配給PCI擴展板的資源是動態(tài)浮動

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

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

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

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

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

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

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

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接口在微機中被動態(tài)分配的i?;刂?,即需要替換的地址,相當(dāng)于設(shè)備中的

地址()28()ho

”0d800h”是TPC卡中PCI接口芯片上的設(shè)置寄存器組占用的io地址,因為某些實驗需要設(shè)置該

芯片的寄存器。

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

起始地址Oho

替換方法如下:

步驟1:

參照實驗指導(dǎo)書安裝接口卡及其驅(qū)動程序

步驟2:

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

實驗裝置”

打開“TPC”

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

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

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

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

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

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

記錄下基址值。

步驟3:

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

io基地址為:

ioporiequ0d4()0h-0280h;TPC長中設(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屬性窗口中的中斷請求號碼來修改程序中的中斷

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

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

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

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

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

編輯程序

A匯編語言使用

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

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

A.1運行匯編程序必的條件源程序

運行匯編程序必備的軟彳旭4*文件

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

MASM宏匯編程序文件

N

LINK連接程序文件

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

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

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

序擴展名為.ASMo'

目標(biāo)程

A.2編寫匯編源程序

序文件

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

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

1)源程序的書寫格式

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

存儲器訪問,因此在編源程序時迦須L由于每個段的物理空間為:

有語法錯?

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

邏輯堆棧段堆棧段名SEGMENISTAC

用變量定夕預(yù)置的堆棧空間N

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

邏輯代碼段

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

過程名PROC???

程序

過程名

代碼段名

END

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

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

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

置堆棧段。?

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

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

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

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

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

(1)DS、ES、SS的裝入

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

送給段寄存器。

MOVAX,邏輯段名

MOV段寄存器,AX

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

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

(2)CS的裝入

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

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

對CS和IP的裝入有如下幾種情況:

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

偏移地址。

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

指向新的代碼段。

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

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

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

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

將變量與數(shù)據(jù)結(jié)合在一起??梢詾槟硞€變量分配存儲空間以便在程序執(zhí)行過程中存放中間

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

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

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

實現(xiàn)。

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

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

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

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

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

溫馨提示

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

評論

0/150

提交評論