微機(jī)原理與接口技術(shù)詳解:全面指南_第1頁(yè)
微機(jī)原理與接口技術(shù)詳解:全面指南_第2頁(yè)
微機(jī)原理與接口技術(shù)詳解:全面指南_第3頁(yè)
微機(jī)原理與接口技術(shù)詳解:全面指南_第4頁(yè)
微機(jī)原理與接口技術(shù)詳解:全面指南_第5頁(yè)
已閱讀5頁(yè),還剩38頁(yè)未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

微機(jī)原理與接口技術(shù)A

試驗(yàn)指導(dǎo)書(shū)

天津理工大學(xué)光電系信息通信工程試驗(yàn)中心

匯編語(yǔ)言程序的上機(jī)過(guò)程

一、建立匯編語(yǔ)言的工作環(huán)境

匯編語(yǔ)言的工作環(huán)境基于DOS平臺(tái),建立在E盤(pán)的8086廣目錄中°

為了建立、運(yùn)行匯編語(yǔ)言程序,至少要住鹿盤(pán)上建立如下文獻(xiàn):

EDIT

ASM.EXE

或MASM.EXE

LINK.EXE

DEBUG

其中EDIT是DOS提供的全屏輯文本編輯程序。

ASM.EXE是一股匯編程序,它不支持宏匯編,假如要用宏匯編,則必須使用

MASM.EXE。

LINK為連接程序。

DEBUG為調(diào)試程序,它是運(yùn)行、調(diào)試匯編語(yǔ)言程序必不可少的工具。

當(dāng)顧客需要編制匯編語(yǔ)音源程序并在機(jī)器上運(yùn)行,必須通過(guò)如下幾種環(huán)節(jié):

1、調(diào)用編輯程序建立和修改擴(kuò)展名為.ASM的匯編語(yǔ)言源文獻(xiàn)。

2、源文獻(xiàn)必須通過(guò)匯編,生成機(jī)器代出的目的文獻(xiàn),

3、通過(guò)連接,把目的文獻(xiàn)與庫(kù)文獻(xiàn)及其他目的文獻(xiàn)連接在一起,形成可執(zhí)行文獻(xiàn).

4、運(yùn)行可執(zhí)行文獻(xiàn)。

二、調(diào)用編輯程序EDIT建立匯編語(yǔ)言源程序(ASM文獻(xiàn))

源程序就是用匯編語(yǔ)言語(yǔ)句編寫(xiě)的程序.它必須以ASM為附加文獻(xiàn)名.

住EDIT下,一般用鍵盤(pán)輸入源程序,此時(shí)源程序以ASCII字符形式寄存在內(nèi)存緩沖區(qū)。

若輸入過(guò)程有錯(cuò),可以用EDIT的命令來(lái)修改,改正后存盤(pán),于是在盤(pán)上就住立了一種源程

序文獻(xiàn)。

EDIT是MS-DOS中時(shí)全屏幕編輯器,它的使用措施可查閱手冊(cè)。

三、調(diào)用匯編程序MASM(或ASM)產(chǎn)生目的文獻(xiàn)(OBJ文獻(xiàn))

源程序建立后,必須通過(guò)匯編,以生成對(duì)應(yīng)機(jī)器代碼的目的文獻(xiàn),機(jī)器才也許運(yùn)行。目

的文獻(xiàn)以O(shè)BJ為擴(kuò)展名。

匯編是由調(diào)用宏匯編程序MASM或匯組程序ASM來(lái)實(shí)現(xiàn)的.

以源程序ABC.ASM為例,匯編過(guò)程如下:

E:\8086>MASMABC.ASM/

此時(shí)匯編程序被調(diào)入,顯示屏將顯示其版本號(hào),并依次出現(xiàn)三行提醒:

Objectfilename(ABC.OBJ):

Sourcelisting[NUL.LST]:

CrossrcfcrcnccJNUL.CRF]:

匯編后產(chǎn)生三個(gè)文獻(xiàn).目的文獻(xiàn)(.OBJ)、列表文獻(xiàn)(.LST)及交叉符號(hào)表文獻(xiàn)(CRF).

第一種是目?jī)?nèi)文獻(xiàn).在這個(gè)文獻(xiàn)中操作碼部分已變?yōu)闄C(jī)沿碼,但地址操作數(shù)只是?種可

浮動(dòng)的相對(duì)地址而不是內(nèi)存的絕對(duì)地址。產(chǎn)生目的文獻(xiàn)是我們進(jìn)行匯編的Ifi要目啊,操作時(shí)

t入回車就可以。

第二個(gè)是列表文獻(xiàn),它以LST為擴(kuò)展名,列表文獻(xiàn)同步給出源程序和機(jī)涔語(yǔ)言程序,

使調(diào)試程序變得以便.LST文獻(xiàn)可有可無(wú),不需要,打入回車,假如需要,打入文獻(xiàn)名、回

車。

第三個(gè)是交叉符號(hào)表文獻(xiàn),此表給出了顧客定義的所有符號(hào),對(duì)每個(gè)符號(hào)列出了將其定

義的所在行號(hào)及引用的行號(hào)。交叉符號(hào)表可有可無(wú),不需要,打入網(wǎng)車,假如需要,打入文

獻(xiàn)名、回車。

匯編結(jié)束,匯編程序給出源程序中的錯(cuò)誤信息,WarningErrors為警告性錯(cuò)誤,Sever

Errors為嚴(yán)亞錯(cuò)誤,前者指一般性錯(cuò)誤,后者指語(yǔ)法性鉗誤。若程序中存在這兩類錯(cuò)誤,則

應(yīng)重新調(diào)用編輯命令修改錯(cuò)誤再進(jìn)行匯編,直至匯編對(duì)口勺通過(guò)為止。

四、調(diào)用連接程序LINK產(chǎn)生執(zhí)行文獻(xiàn)(EXE文獻(xiàn))

匯編過(guò)程產(chǎn)生的目的文獻(xiàn)OBJ中的地址操作數(shù)是可浮動(dòng)的相對(duì)地址,不能直接上機(jī)執(zhí)

行,必須通過(guò)LINK命令連接后來(lái)才成為可執(zhí)行的EXE文獻(xiàn),假如一種程序由多種模塊構(gòu)

成,也應(yīng)當(dāng)用LINK將它們連接起來(lái)。

以對(duì)ABC.OBJ進(jìn)行連接為例,詳細(xì)操作如I':

E:\8O86>LINKABCZ

顯示屏將顯示其版本號(hào)并依次出現(xiàn)三行提酢

RunFilclABC.EXE]

ListFile(NUL.MAP|

Libraries!.LIB|

LINK程序有兩個(gè)輸入文獻(xiàn)OBJ和LIB,OBJ是需要連接IFJFH'J文獻(xiàn),LIB是需要用到

的庫(kù)文獻(xiàn).對(duì)LLIB|如無(wú)特殊需要,打入回車,若然要.輸入庫(kù)名。

LINK過(guò)程產(chǎn)生兩個(gè)輸出文獻(xiàn)。?種是EXE文獻(xiàn),產(chǎn)生此文獻(xiàn)是LINK過(guò)程的重要川向,

對(duì)[ABC.EXE]回答/。另一種是MAP文獻(xiàn),稱為列表分派文獻(xiàn),它給出每個(gè)段在內(nèi)存中的

分派狀況,對(duì)[ABC.MAP],不需要回答,打入回車,若需要,輸入文獻(xiàn)名、回車.

五、程序的執(zhí)行

匯編語(yǔ)言源程序通過(guò)匯編、連接后來(lái)生成的EXE文獻(xiàn),是可執(zhí)行文獻(xiàn).建立了EXE文

獻(xiàn),就可以在DOS提醒符下直接執(zhí)行程序.執(zhí)行程序時(shí)只要鍵入文獻(xiàn)名回車即可。加:

E:\8086〉A(chǔ)BCZ

一般程序執(zhí)行后,一次通過(guò)的也許性很小,這就需要反庭上述的編輯、匯編、連接和運(yùn)

行程序的全過(guò)程,直至程序運(yùn)行對(duì)的,

六、調(diào)試程序DEBUG

調(diào)試程序DEBUG是MS-DOS支持的動(dòng)態(tài)排錯(cuò)程序,是一種使用廣泛的強(qiáng)有力的匯編

語(yǔ)言程序或二進(jìn)制文獻(xiàn)向調(diào)試匚具。在DEBUG管理下,可以單步執(zhí)行程序,也可以在程序

中設(shè)置斷點(diǎn),可以顯示和修改指定內(nèi)存單元和區(qū)域的內(nèi)容,也可以顯示和修改CPU內(nèi)部寄

存器和標(biāo)志位的內(nèi)容,這樣符便于尋找程序中的錯(cuò)誤。用調(diào)試程序DEBUG發(fā)現(xiàn)錯(cuò)誤,再通

過(guò)編輯程呼EDIT糾正錯(cuò)誤。DEBUG的使用措施可參閱DOS手冊(cè)。下面給出最常用的幾種

命令。

I.怎樣調(diào)用DEBUG

DEBUG有兩種啟動(dòng)措施:

C:VDEBUG(文獻(xiàn)名.擴(kuò)展名)

或C:\>DEBUG

第一種方式是DOS把DEBUG調(diào)入內(nèi)存后DEBUG把被調(diào)試的程序調(diào)入內(nèi)存。被調(diào)試

程序裝入后顯示DEBUG提醒符“一”。

第二種方式是,調(diào)用DEBUG后,立即顯示提醒符“一”。

2.最常用啊DEBUG命令

?I)反匯編命令u

-U|addrcss|Z:從指定地址開(kāi)始反匯編32個(gè)字節(jié)

-U/;從目前地址開(kāi)始反匯編32個(gè)字節(jié)

-U[address1][addrcss2]/;對(duì)指定范圍內(nèi)【I勺存儲(chǔ)單元進(jìn)行反匯編

-2)顯示存儲(chǔ)單元命令D

-D[address]/;從指定地址開(kāi)始、顯示8*16個(gè)存儲(chǔ)第元

-DZ;從目前地址開(kāi)始顯示8*16個(gè)存儲(chǔ)胞元

—D(address11(acklrcss21Z:按指定范用顯示存儲(chǔ)單元內(nèi)容

?3)修改存儲(chǔ)單元命令E

-Eaddress(list]/;用命令中給定的內(nèi)容表來(lái)杵代指定范圍內(nèi)存單元內(nèi)容

例如:-EDS:100F3'XYZ'8D/

其中F3.X,丫,Z.8D各占一種字節(jié),該命令可以用這五個(gè)字節(jié)來(lái)替代存儲(chǔ)單元DS:10()

原先跖J內(nèi)容。

-Eaddress/;顯示指定地址單元的內(nèi)容并等待輸入新值

需要輸入新殖.按數(shù)字鍵(兩位十六進(jìn)制數(shù))

不需要輸入新值,按空格鍵,顯示下一種存儲(chǔ)單元內(nèi)容

?4)檢杳和修改寄存器內(nèi)容叫命令R

-RZ:顯示CPU內(nèi)部所有寄存器的內(nèi)容和標(biāo)志位狀態(tài)

給出13個(gè)寄存器的內(nèi)容及標(biāo)志寄存器中8個(gè)標(biāo)志位狀態(tài)

—Rregistername/;顯示和修改某個(gè)寄存器內(nèi)容

若不修改,按回車鍵,若修改,則鍵入敢修改的內(nèi)容。

-RFZ;顯示和修改標(biāo)志位狀態(tài)

若不修改,按網(wǎng)車鍵,若修改一種或多種標(biāo)志,只需輸入此標(biāo)志相反值,與輸入次序無(wú)

關(guān)。

⑸運(yùn)行命令G

G命令用來(lái)啟動(dòng)運(yùn)行一種程序或一段程序,格式為:

—G=addressladdress2/

輸入時(shí)等號(hào)必不可少。地址1指定了運(yùn)行的起始地址,如不指定地址,則從目前CS:

IP開(kāi)始運(yùn)行》背面的地址為斷點(diǎn)地址,斷點(diǎn)最多容許設(shè)置10個(gè),當(dāng)指令執(zhí)行到斷點(diǎn)時(shí),就

停止執(zhí)行并顯示目前所有寄存器的內(nèi)容及標(biāo)志位的狀態(tài)和下一條將要執(zhí)行的指令。

用G命令時(shí).,一旦程序執(zhí)行完,DEBUG顯示Programterminatednormally(程序正

常結(jié)束),若還要執(zhí)行此程序必須困新輸入程序。

?:6)跟蹤命令T

-Taddress/;逐條指令跟蹤

從指定地址起執(zhí)行一條指令后停下來(lái),顯示所有寄存涔的內(nèi)容和標(biāo)志位時(shí)狀態(tài),若未指

定地址,則從目前CS:IP開(kāi)始執(zhí)行.

-Taddressn/;多條指令跟蹤

從指定地址開(kāi)始,執(zhí)行由跟蹤條數(shù)n所決定啊幾條指令,每條指令執(zhí)行后都將顯示所有

寄存器的內(nèi)容及標(biāo)志位的狀態(tài)。

(7)退出命令Q

-QZ:程序調(diào)試完,退出DEBUG,返回DOS。

七、匯編語(yǔ)言程序的構(gòu)造(程序格式)

設(shè)計(jì)匯編語(yǔ)言程序必須嚴(yán)格遵照匯編語(yǔ)言程序的構(gòu)造,一種原則叫匯編語(yǔ)言程序框架構(gòu)

造如下:(在DOS環(huán)境下運(yùn)行)

DATASEGMENT:數(shù)據(jù)段

I

?

I

I

I

I

DATAENDS

STACKSEGMENTPARASTACKSTACK';堆棧段

I

I

I

I

I

STACKENDS

CODESEGMENT:代碼段

ASSUMECS:CODE,DS:DATA,SS:STACK,ES:DATA

ST/XRT:MOVAX.DATA

CODEENDS

ENDSTART

試驗(yàn)一8086匯編語(yǔ)言程序設(shè)計(jì)初步

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

1、熟悉在PC機(jī)上建立、匯編、連接、調(diào)試和運(yùn)行8086匯編語(yǔ)言程序的過(guò)程.

2、熟悉8086指令系統(tǒng)中某些常用指令內(nèi)功能和使用。

3、學(xué)習(xí)數(shù)據(jù)傳送和第術(shù)運(yùn)算.指令的使用措施,

二、試驗(yàn)內(nèi)容

詳細(xì)閱讀匯編語(yǔ)言程序曲上機(jī)過(guò)程。

試編寫(xiě)將兩個(gè)多位十進(jìn)制數(shù)相加程序,規(guī)定兩個(gè)加數(shù)均以ASCII碼形式各自次序存

在以DATA1和DATA2為首H勺5個(gè)內(nèi)存艙元中(低位在前),成果送回DATA1處.

三、試驗(yàn)設(shè)備

1、微型計(jì)算機(jī)一臺(tái)

2、EL-II型微機(jī)原理試驗(yàn)開(kāi)發(fā)系統(tǒng)一臺(tái)

四、程序參照流程圖

I、主程序參照流程圖2、加法了?程序參照流程圖

試驗(yàn)一參照程序清單

CRLFMACRO

MOVDL.ODH

MOVAH,02H

1NT2IH

MOVDL.OAH

MOVAH.02H

INT2IH

ENDM

DATASEGMENT

DATAIDB33H.39H.31H.37H.34H

DATA2DB36H.35H.30H.38H.32H

DATAENDS

STACKSEGMENTPARASTACKSTACK'

STADBiOODUP(?)

STACKENDS

OODESEGMENT

ASSUMECS:CODE.DS:DAIA.SS:STACK.ES:DATA

START:MOVAX.DATA

MOVDS,AX

MOVSI.OFFSETDATA2

MOVBX.05

CALLDISPL

CRLF

MOVSI.OFFSETDATAI

MOVBX.()5

CALLDISPL

CRLF

MOVDI.OFFSETDATA2

CALLADDA

MOVSI.OFFSETDATAI

MOVBX.05

CALLDISPL

CRLF

MOVAX,4C00H

INT2IH

DISPLPROCNEAR

DSI:MOVAH,02H

MOVDL.[SI+BX-I]

INT2IH

DECBX

JNZDS1

RET

DISPLENDP

ADDAPROCNEAR

MOVDX.SI

MOVBX.()5

ADI:SUBBYTEIH-RISI+BX-l],30H

SUBBYTEPTR|DI+BX-1],30H

DECBX

JNZADI

MOVCX.05

CLC

AD2:MOVAL.|S1]

MOVBL.[DI)

ADCAL,BL

AAA

MOV(SIJ.AL

INCSI

INCDI

LOOPAD2

MOVSI.DX

MOVBX.()5

AD3:ADDBYTEPTRISI+BX-I].30H

DECBX

JNZAD3

RET

ADDAENDP

OODEENDS

ENDSTART

試驗(yàn)二8086匯編語(yǔ)言程序設(shè)計(jì)

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

1、本試臉為設(shè)計(jì)性試臉,通過(guò)對(duì)基本cos系統(tǒng)功能調(diào)用,申操作,編程措施和闊試等

知識(shí)點(diǎn)整合開(kāi)出。

I、熟悉8086指令系統(tǒng),學(xué)習(xí)基本的8086匯編語(yǔ)言程序設(shè)計(jì)措施.

2、掌握提醒信息啊使用措施及8086巾操作指令的使用措施。

3、初步掌握調(diào)試修改程序的措旎.

二、試驗(yàn)內(nèi)容

用串操作指令設(shè)計(jì)一種搜索關(guān)健字程序,實(shí)目前存儲(chǔ)區(qū)(長(zhǎng)度為100H)中尋找關(guān)健字

空格字符(20H),退出時(shí)給出與否找到的信息。

三、試驗(yàn)設(shè)備

1、微型計(jì)算機(jī)一臺(tái)

2,EL-H型微機(jī)原理試驗(yàn)開(kāi)發(fā)系統(tǒng)一臺(tái)

四、編程提醒

1、8086中用于字符串檢索的指令為SCASB/SCASW,用AL中的字節(jié)或者AX中內(nèi)字

與位于ES段由DI寄存器所指的內(nèi)存單元的字節(jié)或字相比較,通過(guò)前綴的控制,可以實(shí)目

前DI所指的字符串中,尋找第一種與AL(或AX)的內(nèi)容相似的字節(jié)或字.

2、對(duì)于所有的串操作指令,都要注意方向標(biāo)志的設(shè)盥。指令CLD使方向標(biāo)志DF涌0,

SI和DI自動(dòng)增量修改,指令STD使DFSH,SI和DI自動(dòng)減量修改。

五、程序參照流程圖

1.主程序參照流程圖

Y

成驗(yàn)二DOS系統(tǒng)功能調(diào)用

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

1、熟悉DOS系統(tǒng)功能調(diào)用(1NT21H)的使用措施。

2,掌握從鍵就上讀取字符及字符串的措施和字符及字符串的顯示措施,

3、理解小寫(xiě)字母和大寫(xiě)字母在計(jì)算機(jī)內(nèi)的表達(dá)措施.并學(xué)會(huì)怎樣進(jìn)行轉(zhuǎn)換.

二、試驗(yàn)內(nèi)容

1、設(shè)計(jì)將鍵盤(pán)輸入的小耳宇母齒換成大寫(xiě)宇母程序。接受搬盤(pán)輸入宇為以△—C(03H)

為結(jié)束.并將其中的小寫(xiě)字母轉(zhuǎn)變?yōu)榇髮?xiě)字母,然后進(jìn)行顯示.

2、運(yùn)用DOS系統(tǒng)功能調(diào)用實(shí)現(xiàn)人機(jī)對(duì)話。根據(jù)計(jì)算機(jī)顯示屏上顯示向提蜴信息,從健

盤(pán)輸入字符串并存入內(nèi)存畿沖區(qū)。(將教材182頁(yè)例題補(bǔ)充完整)

三、試驗(yàn)設(shè)備

1、微型計(jì)算機(jī)一臺(tái)

2、EL-H型微機(jī)原理試驗(yàn)開(kāi)發(fā)系統(tǒng)一臺(tái)

RI-F4==

ei<in1{匕±1七一“M二

用INT21HIH09H號(hào)功能

試驗(yàn)四8255A并行接口試驗(yàn)

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

1、本試驗(yàn)為綜合性試臉,通過(guò)對(duì)某些常用指令,常用算法,延時(shí),I/O口連接,8255

芯片等知識(shí)點(diǎn)的整合開(kāi)出。

2,理解8255A芯片的構(gòu)造、功能及1:作原理。

3、掌握8086CPU與8255接口擴(kuò)展措獐,及通過(guò)8255A并行口傳播數(shù)據(jù)的措施。

4、握8255AMJ始化編程、及應(yīng)用程序設(shè)計(jì)措施,

二、試驗(yàn)內(nèi)容

運(yùn)用8255A、74LS04.LED發(fā)光二極管設(shè)計(jì)交通信號(hào)燈自動(dòng)控制系統(tǒng),設(shè)計(jì)規(guī)定見(jiàn)編

程提醒。

編寫(xiě)控制程序,通過(guò)8255A控制發(fā)光二極管,(用8255A的A端口和B端口控制6個(gè)

LED發(fā)光二極管的亮和滅,榆出為1則亮,輸出為0則滅)模擬交通信號(hào)燈口勺控制系統(tǒng)。

三、試驗(yàn)設(shè)備

I、微型計(jì)算機(jī)一臺(tái)

2、EL-H型微機(jī)原理試驗(yàn)開(kāi)發(fā)系統(tǒng)一臺(tái)

四、編程提醒

1、要完畢本試驗(yàn),首先必須理解交通信號(hào)燈的燃滅規(guī)律。設(shè)有一種十字路口,將L1、

L3、L5作為東西方向的指示燈,L2、L4、L6作為南北方向的指示燈,初始態(tài)為兩個(gè)方向的

紅燈全范之后,東西路口仍闋燈亮,南北路口的紅燈亮,東西方向通車.廷遲一段時(shí)間后,

東西路口向綠燈熄滅,黃燈開(kāi)始閃爍。閃爍若干次后,東西路口的紅燈亮,同步南北路口的

綠燈亮,南北方向開(kāi)始通車。延遲一段時(shí)間后,南北路口的綠燈熄滅,而黃燈開(kāi)始閃爍。閃

爍若干次后,再切換到東西路口方向,之后,反耳上述過(guò)程,

2、程序中應(yīng)設(shè)定好8255Al向工作模式使三個(gè)端口均工作于方式0.并處在輸出狀態(tài)。

3、8255A的各端口地址(片選信號(hào)為CS0時(shí)):A端口地址04A0H、

B端「I地址04A2H、C端口地址04A43、控制端n地址04A6H。

五、試驗(yàn)參照電路圖

六、連線措施

按照試驗(yàn)電路圖也按硬件級(jí)路:

1、將PAO、PA1插孔與發(fā)光二極管口、L2相連:(口、L2為紅燈)

2、將PA4、PA5插孔與發(fā)光二極管L5、L6相連;(L5、L6為綠燈)

3、將PB4、PB5插孔與發(fā)光二極管L3、L4相連:(L3、L4為黃燈)

4,將PCO、PC1插孔與發(fā)光二極管L7、L8相連:(L7,L8本忒驗(yàn)不用,關(guān)閉,

5,CS8255與CSO相連。

七、程序參照流程圖

7.Uel八r了?!、

試驗(yàn)五8253定期器/計(jì)數(shù)器接口試驗(yàn)

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

I、理解8253定期器/計(jì)數(shù)器構(gòu)造、功能和工作原理.

2、熟悉8086CPU與8253接口擴(kuò)展措幅及對(duì)8253初始化編程。

3、掌握8253多種工作模式下內(nèi)軟件編程措施。

二、試驗(yàn)內(nèi)容

運(yùn)用8253芯片設(shè)計(jì)定期器接口電路,編制程序,將8253內(nèi)部計(jì)數(shù)器設(shè)置為1:作模式

3(和其他不一樣工作模式),觀測(cè)并畫(huà)出其不?樣模式下的輸出波形,且輸出端分別經(jīng)驅(qū)動(dòng)

后接發(fā)光二極管。

三、試驗(yàn)設(shè)備

1、微型計(jì)算機(jī)?臺(tái)

2、EL-H型微機(jī)原理試驗(yàn)開(kāi)發(fā)系統(tǒng)一臺(tái)

以編程提醒

1.8253的時(shí)鐘端CLKO.CLK1的時(shí)鐘頻率均為1M/8。CLK2的時(shí)鐘由OUTO來(lái)控制。

8253是8086系統(tǒng)中常用的可編程定期涔/計(jì)數(shù)涔,有多種工作模式,其中模式3為方波方式。

8253工作于模式3時(shí),當(dāng)CPU寫(xiě)入控制字后,輸出端OUT變?yōu)楦唠娖?,?xiě)入計(jì)數(shù)初值后,

計(jì)數(shù)器從下一種時(shí)鐘脈沖向下降沿開(kāi)始計(jì)數(shù),當(dāng)計(jì)數(shù)到初值二分之一時(shí)輸出變?yōu)榈停敝劣?jì)

數(shù)到零,輸出又變?yōu)楹?,重新開(kāi)始”?數(shù)。輸出為一方波。當(dāng)CLKO的頻率為1M/8,計(jì)數(shù)器

0H勺初值為F424H(十進(jìn)制數(shù)為62500),方法周期為0.5s。在計(jì)數(shù)器2中設(shè)置不一樣的初值

n,可得到周期11X0.5s的方波。采用兩級(jí)計(jì)數(shù)會(huì)加,輸出周期范圍可大幅度提高。如能合

理設(shè)置初值,這種廣域范圍時(shí)周期設(shè)定在實(shí)礪控制中非常有用.

2,程序中應(yīng)設(shè)定好8沒(méi)3中計(jì)數(shù)器0、計(jì)數(shù)器I、計(jì)數(shù)器2的工作模式。

3、8253的各計(jì)數(shù)器端口地址(片選信號(hào)為CS0時(shí)):計(jì)數(shù)器0端口地址04A0H

計(jì)數(shù)器I端口地址04A2H,計(jì)數(shù)器2端口地址04A4H

控制寄存器端口地址04A6Ho

五、試驗(yàn)原理圖

<0UT0

00m

90vl2

六、連線措施

1.8253片選信號(hào)CS8253與試驗(yàn)系統(tǒng)通用片選信號(hào)CS0相連。

2、8253的OUTO與CLK2相連,OUT2與發(fā)光二極管L1相連。

3、OUTI接發(fā)光二極管L2或示波器,

七、程序參照流程圖

試驗(yàn)六8259A中斷控制器試驗(yàn)

一、試驗(yàn)?zāi)堪?/p>

I.本試驗(yàn)為綜合性試驗(yàn),通過(guò)對(duì)奧些常用指令.常用算法,延時(shí),定期器,LO口連接.8255

芯片.8259A芯片和中斷等知識(shí)點(diǎn)的整合開(kāi)出。

2.掌握8259A中斷控制器的工作原理。

3,熟悉8259A的I:作方式,學(xué)會(huì)中斷服務(wù)程序的編寫(xiě)措施.

4.掌握初始化中斷向量的措施。

二、試驗(yàn)內(nèi)容

運(yùn)用8259A.8255As8253、74LS07、發(fā)光二極管、單脈沖發(fā)生器設(shè)計(jì)種中斷系統(tǒng)。

規(guī)定每次CPU響應(yīng)外部中斷時(shí),將數(shù)據(jù)(JO55H寫(xiě)入累加器AX,并將該數(shù)據(jù)由8255A的A

端口輸出,點(diǎn)亮發(fā)光二極管。假如不產(chǎn)生中新,則AX一直為0,短滅發(fā)光二極管。

中斷祈求信號(hào)通過(guò)8259A中斷控制器的1R0端輸入,中斷源可以是片外8253定期器輸

出口勺脈沖.也可以是其他脈沖。本試驗(yàn)可直接使用8253定期器的輸出脈沖作為中斷海:也

可采用試臉臺(tái)上單脈沖發(fā)生器啊輸出膿沖作為中斷源,每按一次PUL鍵產(chǎn)生一次中斷祈求。

三、試驗(yàn)設(shè)備

1、微型計(jì)算機(jī),臺(tái)2、EL-H型微機(jī)原理試臉開(kāi)發(fā)系統(tǒng)一臺(tái)

四、編程提保

I、8259A中斷控制器工作原理及使用闡明請(qǐng)?jiān)敿?xì)閱讀教科書(shū)。8086的中斷系統(tǒng)是向最

中斷方式,不一樣類型的中斷向殳存于內(nèi)存不一樣的位置.其計(jì)算措施是中斷類型NX4。

中斷類型的高5位由8259A讀出(系統(tǒng)設(shè)置45位為10000).低3位由IR的編碼確定JR0

的編碼為000(

2、初始化命令字ICWI規(guī)定寫(xiě)入偶地址,[CW2、ICW3、ICW4規(guī)定寫(xiě)入奇地址,本

試臉系統(tǒng)8259A試驗(yàn)電路的設(shè)計(jì)均為偶地址有效,因此,8259A的偶地址為03F0H.8259A

的奇地址為03F2H:

3、編程時(shí),初始化命令字必須按次序?qū)懭耄詤^(qū)別它們,否則8259A將不能對(duì)的工作。

4.調(diào)試程序時(shí)斷點(diǎn)必須設(shè)置丁?發(fā)生中斷之后。

五、試驗(yàn)參照電路圖

D7

D6

D5

D4

D3

D2

D1f笳出

D0處

實(shí)除系嫵遇用

片選信號(hào)而

A1

六、連線措施

1、將中斷控制試驗(yàn)板插入忒驗(yàn)臺(tái)右上角的插槽中:?jiǎn)蚊}沖發(fā)生器臨出端(PUL鍵處)

與中斷控制試驗(yàn)板時(shí)IR0相連:或8253H勺OUT2與中斷控制試驗(yàn)板的IR0相連。

2,中斷控制試驗(yàn)板的C59與與試驗(yàn)系統(tǒng)通用片選信號(hào)CS7相連。

3、8255All'JA端LIPA0—PA7分別與發(fā)九二極管L1一L?相連,8255AR勺片選信號(hào)CS8255

與試驗(yàn)系統(tǒng)通用片選信號(hào)CS1相連。

七、程序參照流程圖

1.主程序參照流程圖C、

i/l-MW"r:心心餐."、|V??i?c—uca<vaffK*lt?4

UI叩ICCrliHC必Mmacc”

二八FW?,?HUMat:八c”,,心訃,rw、HttiH

UV酬小收±l411?小WG1_A3刖11

將中斷服務(wù)程序內(nèi)偏移成送0200H

iJl?V?ntrHtin

/Avx-rtAnmr*?江AgiMXfiA

2.中斷服務(wù)程序參照流程圖

八八w,4V.▲、,口?Kz二大63“消,CUEA4111r-?11>

XXtH-?J小

UVWTTCT

附:參照程序清單

試驗(yàn)二參照程序清單

CRLFMACRO

MOVDL.ODH

MOVAH.02H

INT2IH

MOVDL.OAH

MOVAH.02H

INT2IH

ENDM

DATASEGMENT

MESSIDBINPUTTHESEGMENTADDR$

MESS2DB'INPUTTHEOFFSETADDR:S'

MESS3DB'OK!HASFOUND!\0DH,0AH/$,

MESS4DBNOSPACECHARACTEFJ,.ODH.OAH/S,

ERRORDB'INPUTERROR!’,ODH,OAH,'INPUTTHEADDRS

DATAENDS

STACKSEGMENTPARASTACK-STACK,

STADW32DUP(?)

STACKENDS

CODESEGMENT

ASSUMECS:CODE,DS:DATA,ES:DATA,SS:STACK

START:MOVAX.DATA

MOVDS.AX

MOVES,AX

MOVAH.09H

MOVDX,OFFSETMESSI

INT21ii

CALLGETNUM

MOVES.DX

MOVAU.09H

MOVDX.OFFSETMESS2

INT2IH

CALLGETNUM

MOVDI.DX

CLD

MOVCX,01OOH

MOVAL.20H

REPNZSCASB

JNZ

MOVAH.09H

MOVDX.OFFSETMESS3

INT2IH

JMPBBB

MOVAH.09H

MOVDX.OFFSETMESS4

INT21H

BBB:MOVAX,4C00H

INT21ii

GETNUMPROCNEAR

XORDX.DX

GGG:MOVAH.OIH

INT21H

CMPAL.ODH

JZPPP

CMPAL.20H

JZPPP

CMPAL,30H

JBKKK

CMPAL.39H

JBEGl

CMPAL.41H

JBKKK

CMPAL,46H

JBEG2

CMPAL.61H

JBKKK

CMPAL.66H

JAKKK

SUBAL.57H

GETS:MOVCL.04H

SHLDX.CL

XORAU.AH

ADDDX.AX

JMPGGG

Gl:SUBAL.30U

JMPGEIS

G2:SUBAL.37H

JMPGETS

KKK:CRLF

MOVAH.09H

MOVDX.OFFSETERROR

INT21H

JMPGGG

PPP:PUSHDX

CRLF

POPDX

RET

GETNUMENDP

CODEENDS

ENDSTART

試驗(yàn)三參照程序清單

DATASEGMENT

STRIDBODH.OAHJINPUT:$'

STR2DBODH.OAH.OUTPUT:$'

BUFDB100DUP(?)

DATAENDS

CODESEGMENT

ASSUMECS:CODE,DS:DATA

START:MOVAX.DATA

MOVDS.AX

MOVBX.OFFSETBUF

Tl:MOVDX.OFFSETSTR1

MOVAH.09H

INT2IH

MOVSI.OOOOH

T2:MOVAH,0IH

INT21H

CMPAL,03H

JZT5

CMPAL,0DH

JZT4

CMPAL.6IH

JBT3

CMPAL.7AH

JAT3

SUBAL,20H

T3:MOV|BX+SI],AL

INCSi

JMPT2

T4:MOVDX.OFFSETSTR2

MOVAH.09H

INT2IH

MOVAL,$

MOVIBX+S1J.AL

MOVAH.09H

MOVDX,BX

INT21H

JMPT1

T5:MOVAX.4COOH

INT21H

CODEENDS

ENDSTART

試驗(yàn)四參照程序清單

CODESEGMENTPUBLIC

ASSUMECS:CODE

ORG1(X)H

START:MOVDX.04A6H

MOVAL,80H

OUTDX.AL

MOVDX.04A0H

MOVAL,03H

OUTDX.AL

MOVDX.04A2H

MOVAL,OOH

OUTDX.AL

MOVDX.04A4H

MOVAL.OOH

OUTDX.AL

CALLDELAY10

LLL:MOVAL,0001001OB

MOVDX.04A0H

OUTDX,AL

CALLDELAY1()

MOVAL.0(X)0001OB

OUTDX.AL

MOVCX.OSH

Trr:MOVDX.04A2H

MOVAL.OOOIOOOOB

OUTDX.AL

CALLDELAY1

MOVAL.OOOOOOOOB

OUTDX,AL

CALLDELAY!

LOOPTTT

MOVDX,04a0H

MOVAL.B

OUTDX.AL

CAI.LDELAYI

MOVAL.()01(XXX)IB

OUTDX.AL

CAI.LDELAY10

MOVAL.00000001B

OUTDX.AL

MOVCX,0008H

GGG:MOVDX.04A2H

MOVAL.00I00000B

OUTDX.AL

CALLDELAY1

MOVAL.B

OUTDX.AL

CALLDELAY1

LOOPGGG

MOVDX.04A0H

MOVAL.(MXXMJOI1B

OUTDX.AL

CALLDELAY1

JMPLLL

DELAY1:PUSHex

MOVCX,8FFFH

CCC:LOOPCCC

POPex

RET

DELAY10:MOVBX.000AH

BBB:CALLDELAY1

DECBX

JNZBBB

RET

CODEEND

ENDSTART

試驗(yàn)五參照程序清單

CDDESEGMENTPUBLIC

ASSUMECS:CODE

ORG100H

START:MOVDX.04A6H

MOVAX.36H

OUTDX.AX

MOVDX.04A0H

MOVAX.24H

OUTDX.AX

MOVAX.0F4H

OUTDX.AX

MOVDX,

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝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ù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 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)論