微機(jī)原理實(shí)驗(yàn)課件_第1頁(yè)
微機(jī)原理實(shí)驗(yàn)課件_第2頁(yè)
微機(jī)原理實(shí)驗(yàn)課件_第3頁(yè)
微機(jī)原理實(shí)驗(yàn)課件_第4頁(yè)
微機(jī)原理實(shí)驗(yàn)課件_第5頁(yè)
已閱讀5頁(yè),還剩46頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

微機(jī)原理實(shí)驗(yàn)課件第一頁(yè),共五十一頁(yè),2022年,8月28日前言《微型計(jì)算機(jī)原理及應(yīng)用》是電子信息工程、計(jì)算機(jī)應(yīng)用及其自動(dòng)化等專(zhuān)業(yè)的一門(mén)重要的技術(shù)基礎(chǔ)課,課程內(nèi)容貫穿全書(shū),前后聯(lián)系密切,概念抽象,很難理解。因此,為了配合該課程的學(xué)習(xí),培養(yǎng)學(xué)生調(diào)試、運(yùn)行匯編語(yǔ)言源程序的能力,加深和提高學(xué)生對(duì)微處理器和典型的可編程接口芯片功能的理解能力,使學(xué)生對(duì)該課程的內(nèi)容有一個(gè)感性的認(rèn)識(shí),必須加強(qiáng)實(shí)踐。全書(shū)共分三章。第一章簡(jiǎn)要介紹了匯編語(yǔ)言程序設(shè)計(jì)上機(jī)調(diào)試用的DEBUG調(diào)試程序中的一些常用命令及其用法。第二章簡(jiǎn)要介紹了完成微機(jī)原理及應(yīng)用硬件接口實(shí)驗(yàn)所用到的實(shí)驗(yàn)環(huán)境組成。第三章編排了此門(mén)實(shí)驗(yàn)課必須完成的幾個(gè)實(shí)驗(yàn)內(nèi)容,包括8086尋址方式練習(xí)、常用匯編語(yǔ)言程序設(shè)計(jì)練習(xí)、簡(jiǎn)單I/O接口設(shè)計(jì)實(shí)驗(yàn)、8255A并行接口實(shí)驗(yàn)、8253定時(shí)器/計(jì)數(shù)器實(shí)驗(yàn)、A/D轉(zhuǎn)換實(shí)驗(yàn)等。學(xué)生至少應(yīng)完成大綱要求的4個(gè)實(shí)驗(yàn)。由于時(shí)間倉(cāng)促,加之編者水平有限,此書(shū)的編寫(xiě)難免有不妥之處,望廣大同學(xué)及同行多提寶貴意見(jiàn)。

編者2001年7月于西安電子科技大學(xué)第二頁(yè),共五十一頁(yè),2022年,8月28日目錄第一章DEBUG介紹第二章實(shí)驗(yàn)系統(tǒng)環(huán)境介紹

第三章微機(jī)原理與應(yīng)用實(shí)驗(yàn)第三頁(yè),共五十一頁(yè),2022年,8月28日第一章DEBUG介紹DEBUG是DOS為匯編語(yǔ)言提供的一種調(diào)試軟件。它可用于檢查、修改存儲(chǔ)單元和寄存器的內(nèi)容,裝入及運(yùn)行用戶(hù)程序。一、

啟動(dòng)DEBUG啟動(dòng)DEBUG時(shí),可以指定被調(diào)試文件,也可以先不指定被調(diào)試文件。如果指定了文件名,DEBUG啟動(dòng)后會(huì)把指定的文件裝入內(nèi)存。例如,要調(diào)試ADD.EXE文件,只要鍵入:K:>DEBUGADD.EXE-這時(shí)已進(jìn)入DEBUG狀態(tài),提示符為一短線(xiàn)“-”,可用各種調(diào)試命令對(duì)ADD.EXE進(jìn)行操作。如果在啟動(dòng)DEBUG時(shí),未指定被調(diào)試文件,進(jìn)入DEBUG后要用N和L命令將被調(diào)試文件裝入內(nèi)存。例如:K:>DEBUG;啟動(dòng)DEBUG-NADD.EXE;指定ADD.EXE文件-L;裝如被指定的文件-二、

主要調(diào)試命令下面介紹的調(diào)試命令均在DEBUG狀態(tài)下(顯示提示符-)使用。首先說(shuō)明一下命令中所需地址參數(shù)的選擇形式。Address(地址):包括段地址與偏移量。但在使用時(shí)為了方便操作,有時(shí)可省略段地址,或省略段地址和偏移量,其可能的形式有以下四種:a.

輸入段地址和偏移地址。如1500:10;段地址為1500H,偏移地址0010H第四頁(yè),共五十一頁(yè),2022年,8月28日b.用寄存器表示段地址,用數(shù)字表示偏移地址。如

DS:10;取DS所指示的內(nèi)容為段地址c.只輸入偏移地址,段地址取默認(rèn)的段寄存器所指示的地址。如

10;當(dāng)前段,偏移地址為10Hd.只輸入調(diào)試命令,無(wú)地址輸入,此時(shí)默認(rèn)為當(dāng)前段,且偏移地址取有關(guān)偏移地址寄存器中的內(nèi)容。

1.

R(Register)顯示/修改寄存器內(nèi)容(1)顯示CPU所有寄存器和狀態(tài)標(biāo)志,命令格式:-R;鍵入單字母命令R及回車(chē)。例如:-RAX=0000BX=0000CX=0024DX=0000SP=0000BP=0000SI=0000DI=0000DS=14E3SS=14F3CS=14F4IP=0000NVUPEIPLNZNAPONC

其中,NVUPEIPLNZNAPONC為各標(biāo)志位的當(dāng)前狀態(tài)。(2)顯示/修改單個(gè)寄存器內(nèi)容,命令格式為:-Rregistername;鍵入R與寄存器名例如要顯示AX的內(nèi)容??涉I入:-RAX

機(jī)器顯示為:

AXnnnn

:即AX的內(nèi)容為nnnn。機(jī)器等待在冒號(hào)(:)之后輸入新的數(shù)值。如輸入1234則AX的內(nèi)容改為1234H。若不輸入新的值,直接按回車(chē)即可結(jié)束當(dāng)前命令。(3)顯示/修改各標(biāo)志位狀態(tài)。命令格式為-RF

系統(tǒng)響應(yīng)如下:

NVUPEIPLNZNAPONC-第五頁(yè),共五十一頁(yè),2022年,8月28日此時(shí),可修改各狀態(tài)位的狀態(tài)。如NVUPEIPLNZNANC-CYOVNG則進(jìn)位位由NC改成CY,溢出位由NV改成OV,符號(hào)位由PL改成NG。修改各狀態(tài)時(shí)無(wú)先后次序關(guān)系。若不修改狀態(tài)位,直接按回車(chē)鍵來(lái)結(jié)束RF命令。標(biāo)志寄存器共有9位,除追蹤標(biāo)志T不能顯示/修改外,其他8個(gè)標(biāo)志位都可用RF命令顯示或修改。2.

U(Unassemble)反匯編命令U命令的作用是把內(nèi)存中程序的二進(jìn)制代碼以指令助記符形式顯示出來(lái)(稱(chēng)為反匯編),其目的是方便用戶(hù)用助記符形式閱讀程序,而不必細(xì)究其機(jī)器代碼,方便調(diào)試操作。(1)從指定地址開(kāi)始反匯編32個(gè)字節(jié),其命令格式是:-U[address]隨著地址給出形式不同,U命令可以有以下幾種形式:-U段地址:偏移地址-UCS:偏移地址-U偏移地址;默認(rèn)CS內(nèi)容為段地址-U;默認(rèn)(CS)為段地址,(IP)為偏移地址下面給出一個(gè)反匯編顯示實(shí)例:-U1501:01501:0000B8F314MOVAX,14F31501:00038ED0MOVSS,AX1501:0005BCC800MOVSP,00C81501:00081EPUSHDS1501:00092BC0SUBAX,AX1501:000B50PUSHAX1501:000CB80015MOVAX,15001501:000F8ED8MOVDS,AX1501:0011A10000MOVAX,[0000]1501:001403060200ADDAX,[0002]1501:0018A30400MOV[0004],AX1501:001BCBRETF第六頁(yè),共五十一頁(yè),2022年,8月28日┆

(2)從起始地址反匯編到結(jié)束地址,命令格式:-U[range]例如:-UCS:010;從地址CS:0開(kāi)始反匯編到地址CS:0010H。

1.

D(Dump)顯示內(nèi)存單元內(nèi)容,其命令形式有下列幾種:-D段地址:偏移地址;從此地址起顯示80H個(gè)字節(jié)-DDS:偏移地址;(DS)為段地址-D偏移地址;默認(rèn)DS為段地址寄存器-D段地址:偏移地址結(jié)束偏移地址;從起始地址顯示到結(jié)束地址下面給出一個(gè)顯示實(shí)例:-U1500:103F;從1500:0010開(kāi)始顯示到1500:003F單元1500:00204142434445460000–0000000000000000ABCDEF……….1500:00306162636465660000–0000000000000000abcdef……….顯示內(nèi)存單元內(nèi)容時(shí),每行顯示十六個(gè)字節(jié)(隨顯示器規(guī)格不同可能會(huì)有差異),每行的左邊給出了該行的第一個(gè)字節(jié)的段地址和偏移地址,十六個(gè)字節(jié)顯示完成后,在該行后面顯示出各字節(jié)的內(nèi)容所代表的可視字符,若不是可視字符則用圓點(diǎn)·來(lái)代替。1.

E(Enter)修改內(nèi)存單元內(nèi)容。(1)不連續(xù)修改內(nèi)存單元內(nèi)容,命令格式如下:-Eaddress例如-E1500:0則顯示1500:0單元內(nèi)容1500:000024.-第七頁(yè),共五十一頁(yè),2022年,8月28日如果需要修改該單元內(nèi)容可以由鍵盤(pán)輸入數(shù)字,在按一次空格顯示/修改下一單元的內(nèi)容。例如,把1500:0000單元修改成78,操作如下:1500:000024.7836.-其中36為1500:0001單元的內(nèi)容。用戶(hù)可以不斷修改相繼單元的內(nèi)容,若某一字節(jié)無(wú)需修改可用空格鍵跳過(guò),直到用回車(chē)結(jié)束該命令為止。(2)修改連續(xù)單元的內(nèi)容。命令格式為:-EaddressList例:-E1500:01234‘123’該命令將12H、34H、31(1的ASCⅡ碼)、32H、33H存放到從1500:0000開(kāi)始的連續(xù)單元中去1.

F(Fill)內(nèi)存填充命令。命令格式為:-FrangList例如:-F1500:05F3‘XYZ’37使1500:0000~1500:0004單元依次置入5個(gè)字節(jié)的數(shù)據(jù)F3H、‘X’、‘Y’、‘Z’及37H。如果List中的字節(jié)數(shù)超過(guò)指定的范圍(rang),則忽略超過(guò)的字節(jié),即超過(guò)的字節(jié)數(shù)據(jù)無(wú)效;如果list種給出的字節(jié)數(shù)小于指定的范圍,則重復(fù)填入list中的各項(xiàng),直至填滿(mǎn)所有指定的內(nèi)存單元為止。2.

G(Go)運(yùn)行命令,其命令格式為:-G=address1[address2[address3……]]其中:address1給出了運(yùn)行程序的起始地址,如不指定,則從當(dāng)前的CS:IP處開(kāi)始運(yùn)行。后面的address2、address3等均為斷點(diǎn)地址,當(dāng)指令運(yùn)行到斷點(diǎn)時(shí),就停止執(zhí)行并顯示所有寄存器的當(dāng)前內(nèi)容及各標(biāo)志位狀態(tài)。同時(shí)給出下一條將要執(zhí)行的指令。例如,從1500:0000開(kāi)始運(yùn)行到1500:0010暫停,命令形式為-G=1500:0103.

T(Trace)跟蹤命令,有兩種格式:(1)逐條指令跟蹤-T[=address]其功能是從給定地址起執(zhí)行一條指令后停下來(lái),顯示各寄存器內(nèi)容、標(biāo)志位的狀態(tài)并給出將要執(zhí)行的指令。如果未指定起始地址則從當(dāng)前的CS:IP處開(kāi)始執(zhí)行。第八頁(yè),共五十一頁(yè),2022年,8月28日(2)多條指令跟蹤-T[address][value]從給定地址開(kāi)始連續(xù)跟蹤n條指令后停止,每條指令執(zhí)行完后均顯示寄存器內(nèi)容及標(biāo)志位的狀態(tài)。其中n值由value給出。4.

A(Assmble)匯編命令,格式為:-A[address]該命令允許輸入助記符指令,并將他們匯編成機(jī)器代碼相繼地存入從指定地址開(kāi)始的存儲(chǔ)區(qū)中。1.

N(Name)指定文件命令,命令格式為:-N[d:][path]filename.Exe該命令的功能是把兩個(gè)文件標(biāo)識(shí)符格式化在CS:5CH和CS:6CH的兩個(gè)文件控制塊中,以便在其后用L或W命令把文件裝入或存盤(pán)。例如:-NADD.EXE-L-把可執(zhí)行文件ADD.EXE裝入存儲(chǔ)器。10.裝入命令L(Load),有兩種功能?!ぐ汛疟P(pán)上指定扇區(qū)范圍的內(nèi)容裝入到存儲(chǔ)器從指定地址開(kāi)始的區(qū)域中。其格式為:-L[address[drivesectorsector]·裝入指定文件,其格式為-L[address]此命令裝入已在CS:5CH中格式化了的文件控制塊所指定的文件。如未指定地址,對(duì)COM文件則裝入CS:0100開(kāi)始的存儲(chǔ)區(qū)中;對(duì)EXE文件則裝入從CS:0000開(kāi)始的存儲(chǔ)區(qū)中。11.寫(xiě)命令W(Write),有兩種功能?!ぐ褦?shù)據(jù)寫(xiě)入磁盤(pán)的指定扇區(qū)。其格式為:-Waddressdrivesectorsector·把數(shù)據(jù)寫(xiě)入指定的文件中。其格式為:-W[address]第九頁(yè),共五十一頁(yè),2022年,8月28日此命令把指定的存儲(chǔ)區(qū)中的數(shù)據(jù)寫(xiě)入由CS:5CH處的文件控制塊所指定的文件中。如未指定地址則數(shù)據(jù)從CS:0100開(kāi)始。要寫(xiě)入文件的字節(jié)數(shù)應(yīng)先放入BX和CX中。注意,W只對(duì)COM文件有效,不能用于對(duì)EXE文件的操作。12.輸出命令O(Outputcommand)可直接把數(shù)據(jù)送到輸出端口,命令格式為:-O端口地址數(shù)據(jù)12.輸入命令I(lǐng)(Inputcommand)用I命令可直接輸入某一端口的數(shù)據(jù),命令格式為:-I端口地址XX其中:XX為從端口輸入的數(shù)據(jù)。13.退出Q(Quit)命令-Q在-狀態(tài)下用O命令退出DEBUG并返回DOS。返回主目錄第十頁(yè),共五十一頁(yè),2022年,8月28日第二章實(shí)驗(yàn)系統(tǒng)環(huán)境介紹

為了使實(shí)驗(yàn)?zāi)軌蝽樌M(jìn)行,我們結(jié)合本課程的特點(diǎn)開(kāi)發(fā)研制了適應(yīng)本課程所有實(shí)驗(yàn)項(xiàng)目要求的專(zhuān)用微機(jī)實(shí)驗(yàn)系統(tǒng)。該系統(tǒng)的組成如圖2-1所示。2.1ISA總線(xiàn)接口驅(qū)動(dòng)卡介紹

586微機(jī)中以ISA總線(xiàn)為核心,開(kāi)發(fā)了一個(gè)ISA總線(xiàn)接口驅(qū)動(dòng)卡,該驅(qū)動(dòng)卡將微機(jī)接口實(shí)驗(yàn)臺(tái)上所需的所有總線(xiàn)信號(hào)進(jìn)行隔離、驅(qū)動(dòng),并以扁平電纜的形式提供給微機(jī)接口實(shí)驗(yàn)臺(tái),供實(shí)驗(yàn)使用。為了完成存貯器實(shí)驗(yàn),我們?cè)贗SA總線(xiàn)驅(qū)動(dòng)卡設(shè)計(jì)時(shí),提供給用戶(hù)的存貯器空間為D0000H~DFFFFH或E0000H~EFFFFH兩個(gè)區(qū)間的一個(gè)64KB空間,用戶(hù)通過(guò)S1跳線(xiàn)來(lái)選擇所需的一個(gè)64KB存貯器空間來(lái)完成實(shí)驗(yàn)(此卡已將S1開(kāi)關(guān)跳到了D0000H~DFFFFH)。為了完成所有的I/O接口實(shí)驗(yàn),我們?cè)贗SA驅(qū)動(dòng)卡設(shè)計(jì)時(shí),提供給用戶(hù)的I/O地址空間為:

200H~23FH240H~27FH280H~2BFH2C0H~2FFH300H~33FH340H~37FH380H~3BFH3C0H~3FFH

八個(gè)區(qū)間中的一個(gè)64B的空間,用戶(hù)可以通過(guò)S2跳線(xiàn)開(kāi)關(guān)選擇所需的一個(gè)64B空間進(jìn)行實(shí)驗(yàn)(本卡已將S2跳線(xiàn)開(kāi)關(guān)跳到了280H~2BFH區(qū)間)。圖2-1圖2-1第十一頁(yè),共五十一頁(yè),2022年,8月28日

為了完成外部可屏蔽中斷控制實(shí)驗(yàn),ISA總線(xiàn)接口卡上已將IRQ3、IRQ4、IRQ5、IRQ7、IRQ10、IRQ11和IRQ12等七個(gè)中斷請(qǐng)求輸入線(xiàn)連接到了JP3跳線(xiàn)開(kāi)關(guān)上,用戶(hù)可根據(jù)所需選擇其中一個(gè)中斷源來(lái)完成實(shí)驗(yàn),該驅(qū)動(dòng)卡已將JP3跳線(xiàn)開(kāi)關(guān)跳到了IRQ5上。為了完成DMA傳送實(shí)驗(yàn),ISA總線(xiàn)驅(qū)動(dòng)卡已將DRQ7、/DACK7一對(duì)聯(lián)絡(luò)信號(hào)接至DB62插座上,提供給微機(jī)接口實(shí)驗(yàn)臺(tái),供用戶(hù)使用。串行接口實(shí)驗(yàn)用戶(hù)可借助微機(jī)上配置的COM1、COM2接口進(jìn)行。2.2微機(jī)接口實(shí)驗(yàn)臺(tái)介紹微機(jī)接口實(shí)驗(yàn)臺(tái)通過(guò)DB62插座與ISA總線(xiàn)接口驅(qū)動(dòng)卡相連。為了完成一些常用的、基本的接口實(shí)驗(yàn),微機(jī)接口實(shí)驗(yàn)臺(tái)上配置了I/O譯碼電路、I/O接口電路、I/O模擬設(shè)備、單脈沖電路、信號(hào)源、SRAM存貯器電路、8255A、8253、A/D及D/A變換電路、交通信號(hào)燈控制電路、矩陣鍵盤(pán)電路等供實(shí)驗(yàn)者選用。同時(shí)為了滿(mǎn)足用戶(hù)在ISA總線(xiàn)上進(jìn)行特定功能的插件板電路設(shè)計(jì),微機(jī)接口實(shí)驗(yàn)臺(tái)上還將ISA總線(xiàn)驅(qū)動(dòng)卡送來(lái)的所有信號(hào)還原成標(biāo)準(zhǔn)的ISA總線(xiàn)插座,以J2插座提供給用戶(hù)。這樣,用戶(hù)可以在不打開(kāi)微機(jī)機(jī)箱的情況下,直接的、很方便的在微機(jī)接口實(shí)驗(yàn)臺(tái)上進(jìn)行ISA總線(xiàn)插件板的設(shè)計(jì)和調(diào)試。下面就微機(jī)接口實(shí)驗(yàn)臺(tái)上的各部分電路,分別作一簡(jiǎn)要介紹。1.

ISA總線(xiàn)插座圖2-4第十二頁(yè),共五十一頁(yè),2022年,8月28日微機(jī)實(shí)驗(yàn)臺(tái)上還原的ISA總線(xiàn)插座如圖2-4所示??偩€(xiàn)上的所有信號(hào)均為T(mén)TL邏輯電平,總線(xiàn)信號(hào)名稱(chēng)、請(qǐng)參考有關(guān)教材。2.單脈沖產(chǎn)生器(PULSE)微機(jī)實(shí)驗(yàn)系統(tǒng)中的單脈沖發(fā)生器電路如圖2-5所示,每按一下微動(dòng)開(kāi)關(guān)PULSE在JS27的兩個(gè)插孔分別產(chǎn)生相反的脈沖,脈沖寬度由用戶(hù)按下的時(shí)間決定。用戶(hù)可以借用此電路的輸出模擬外部中斷請(qǐng)求信號(hào)、8255A的數(shù)據(jù)輸入選通信號(hào)、8253的外部計(jì)數(shù)信號(hào)等。圖2-53.時(shí)鐘信號(hào)發(fā)生器與8分頻電路實(shí)驗(yàn)臺(tái)上的CLK模塊提供以4MHZ為基準(zhǔn)的時(shí)鐘分頻電路,通過(guò)插線(xiàn)孔JS28可提供2分頻到256分頻(2MHZ~15.635KHZ)的時(shí)鐘信號(hào),其電路如圖2-6所示。用戶(hù)可以利用此電路的輸出模擬8253的外部計(jì)數(shù)時(shí)鐘,以及A/D轉(zhuǎn)換電路的時(shí)鐘輸入信號(hào)。4.邏輯電平開(kāi)關(guān)電路微機(jī)實(shí)驗(yàn)系統(tǒng)的邏輯開(kāi)關(guān)電平電路(SWITCH模塊)中有八個(gè)獨(dú)立的開(kāi)關(guān)K0~K7,JS26相應(yīng)的八個(gè)雙針插口是邏輯電平輸出端。開(kāi)關(guān)向上時(shí),JS26中相應(yīng)的插孔輸出邏輯高電平“1”,向下?lián)軙r(shí),輸出低電平“0”。用戶(hù)可以借用JS26的輸出電平來(lái)模擬外部輸入設(shè)備的輸入數(shù)據(jù)。如圖2-7所示。第十三頁(yè),共五十一頁(yè),2022年,8月28日5.發(fā)光二極管(LED)顯示電路微機(jī)實(shí)驗(yàn)系統(tǒng)LED模塊提供八個(gè)發(fā)光二極管顯示電路,JS13的八對(duì)輸入插線(xiàn)孔對(duì)應(yīng)八個(gè)LED負(fù)極,當(dāng)輸入端為低電平“0”時(shí),發(fā)光二極管點(diǎn)亮;當(dāng)輸入端為高電平“1”時(shí),發(fā)光二極管為暗。用戶(hù)可以借此電路來(lái)模擬監(jiān)視某一輸出端口輸出給外部數(shù)據(jù)的正確性。6.交通燈顯示電路系統(tǒng)實(shí)驗(yàn)上的TRL模塊,提供模擬十字路口交通燈的發(fā)光二極管顯示電路,JS17~JS20四組插線(xiàn)孔從左到右(或從上到下)分別對(duì)應(yīng)四組紅黃綠燈。當(dāng)輸入端為低電平“0”時(shí),發(fā)光二極管點(diǎn)亮,當(dāng)輸入端為高電平“1”時(shí),發(fā)光二極管點(diǎn)亮,當(dāng)輸入為高電平“1”時(shí),發(fā)光二極管變暗。7.I/O譯碼電路實(shí)驗(yàn)臺(tái)上的I/O譯碼電路為所有I/O實(shí)驗(yàn)提供譯碼信號(hào),I/O譯碼范圍為第十四頁(yè),共五十一頁(yè),2022年,8月28日?qǐng)D2-7圖2-8第十五頁(yè),共五十一頁(yè),2022年,8月28日?qǐng)D2-9200H~3FFH,通過(guò)JP3跳線(xiàn)開(kāi)關(guān)來(lái)選擇所需的某一64B范圍(實(shí)驗(yàn)臺(tái)已將JP3跳到280H~2BFH范圍),被選擇的某一64B的I/O地址,再經(jīng)過(guò)U7譯碼器接至JS37輸出,將該64B的I/O地址分成了八個(gè)區(qū)域(每個(gè)區(qū)域占八個(gè)地址)提供給用戶(hù)使用,其譯碼電路如圖2-10所示。圖中JP5跳線(xiàn)開(kāi)關(guān)斷開(kāi)時(shí),只能進(jìn)行八位I/O數(shù)據(jù)傳送,若JP5連通,則可進(jìn)行16位I/O數(shù)據(jù)傳送。8.存貯器譯碼電路實(shí)驗(yàn)臺(tái)上的存貯器譯碼電路為用戶(hù)擴(kuò)充的存貯器電路提供片選信號(hào)。先通過(guò)JP2跳線(xiàn)開(kāi)關(guān)選擇所需的存貯器地址范圍在D0000H~DFFFFH或E0000H~EFFFFH的64KB范圍之內(nèi),再通過(guò)JP1跳線(xiàn)開(kāi)關(guān)來(lái)確定所需的存貯器地址范圍在該64KB的哪一個(gè)16KB區(qū)間,其具體電路如圖2-11所示。圖中的JP4跳線(xiàn)開(kāi)關(guān)若斷開(kāi),只能進(jìn)行16位存貯器數(shù)據(jù)傳送;若JP4連通,則能進(jìn)行16位存貯器數(shù)據(jù)傳送。第十六頁(yè),共五十一頁(yè),2022年,8月28日

9.I/O接口電路

為了使學(xué)生掌握簡(jiǎn)單的I/O接口電路設(shè)計(jì),實(shí)驗(yàn)臺(tái)上用74LS273(U18)8D數(shù)據(jù)鎖存器

設(shè)計(jì)了一個(gè)8位數(shù)據(jù)輸出端口;用74LS245(U19)8D數(shù)據(jù)雙向緩沖器設(shè)計(jì)了一個(gè)8位數(shù)據(jù)輸入端口,用戶(hù)需通過(guò)JS9和JS10加入相應(yīng)的I/O地址譯碼信號(hào),就可以完成簡(jiǎn)單I/O實(shí)驗(yàn),其電路如圖2-12所示。圖2-11第十七頁(yè),共五十一頁(yè),2022年,8月28日10.8255A可編程并行接口電路實(shí)驗(yàn)臺(tái)上配置了一片8255A可編程并行接口電路,其電路形式如圖2-13所示。其中,8255A的D0~D7已經(jīng)與系統(tǒng)數(shù)據(jù)總線(xiàn)的D0~D7相連,RESET信號(hào)已經(jīng)產(chǎn)生,其余引腳信號(hào)由用戶(hù)接線(xiàn)完成。11.8253定時(shí)器/計(jì)數(shù)器接口電路實(shí)驗(yàn)臺(tái)上配置了一片8253定時(shí)器/計(jì)數(shù)器接口電路,如圖2-14所示。其中8253的D0~D7已經(jīng)與系統(tǒng)總線(xiàn)相連,其余引腳信號(hào)由用戶(hù)接線(xiàn)完成。12.A/D轉(zhuǎn)換電路實(shí)驗(yàn)臺(tái)上用ADC0809配置了A/D轉(zhuǎn)換電路,如圖2-15所示。ADC0809的絕大多數(shù)引腳都已經(jīng)以接線(xiàn)柱的形式提供給用戶(hù),由用戶(hù)連線(xiàn)完成A/D實(shí)驗(yàn)。13.模擬電壓輸出用戶(hù)調(diào)節(jié)電位器R7,即可在插線(xiàn)孔JS32得到0~+5v的模擬電壓,為A/D轉(zhuǎn)換提供模擬電壓信號(hào)。如圖2-16所示。圖2-12第十八頁(yè),共五十一頁(yè),2022年,8月28日?qǐng)D2-13圖2-14第十九頁(yè),共五十一頁(yè),2022年,8月28日?qǐng)D2-15圖2-16返回主目錄第二十頁(yè),共五十一頁(yè),2022年,8月28日第三章

微機(jī)原理與應(yīng)用實(shí)驗(yàn)實(shí)驗(yàn)二匯編語(yǔ)言程序設(shè)計(jì)練習(xí)實(shí)驗(yàn)三簡(jiǎn)單I/O接口設(shè)計(jì)實(shí)驗(yàn)四8255可編程并行接口實(shí)驗(yàn)實(shí)驗(yàn)五8253定時(shí)器/計(jì)數(shù)器實(shí)驗(yàn)實(shí)驗(yàn)六A/D轉(zhuǎn)換實(shí)驗(yàn)實(shí)驗(yàn)一8086/8088尋址方式練習(xí)實(shí)驗(yàn)第二十一頁(yè),共五十一頁(yè),2022年,8月28日

實(shí)驗(yàn)一8086/8088尋址方式練習(xí)實(shí)驗(yàn)一.

實(shí)驗(yàn)?zāi)康?.

熟練掌握8086/8088的各種尋址方式及應(yīng)用2.

掌握DEBUG調(diào)試程序中的一些常用命令的使用方法,為以后的實(shí)驗(yàn)打下基礎(chǔ)二.

實(shí)驗(yàn)儀器

586微機(jī)1臺(tái)三.

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

關(guān)于數(shù)據(jù)的尋址方式練習(xí)8086/8088提供多種方式實(shí)現(xiàn)操作數(shù)尋址,大體可分為7種:a.立即尋址b.寄存器尋址;a~b要尋找的操作數(shù)與存儲(chǔ)器無(wú)關(guān)c.直接尋址d.寄存器間接尋址e.寄存器相對(duì)尋址f.基址變址尋址g.基址變址且相對(duì)尋址;c~g要尋找的操作數(shù)在存貯器某單元,存貯器單元的地址由尋址方式確定。

掌握8086/8088的這些尋址方式,是學(xué)習(xí)匯編語(yǔ)言編程的關(guān)鍵。因此,我們編寫(xiě)了下面的程序段,以數(shù)據(jù)傳送指令為例,列舉了部份尋址方式,請(qǐng)同學(xué)們按下列要求認(rèn)真完成。[1]在全屏幕編輯軟件下,建立以下匯編語(yǔ)言源程序。STACKSEGMENTSTACKDB0B0H,0B1H,0B2H,0B3H,0B4H,0B5H,0B6H,0B7H,0B8H,0B9HDB0BAH,0BBH,0BCH,0BDH,0BEH,0BFHDB10HDUP(00)STACKENDSDATA1SEGMENTDB0A0H,0A1H,0A2H,0A3H第二十二頁(yè),共五十一頁(yè),2022年,8月28日TABLEDW0A5A4HDB0A6H,0A7H,0A8H,0A9H,0AAH,0ABH,0ABHDB0ACH,0ADH,0AEH,0AFHDATA1ENDSDATA2SEGMENTDB0C0H,0C1H,0C2H,0C3H,0C4H,0C5H,0C6H,0C7H,0C8HDB0C9H,0CAH,0CBH,0CCH,0CDH,0CEH,0CFHDATA2ENDSCODESEGMENTASSUMECS:CODE,DS:DATA1,ES:DATA2,SS:STACKSTART:MOVAX,DATA1MOVDS,AXMOVAX,DATA2MOVES,AXMOVBX,0004HMOVCX,0005HMOVBP,0003H MOVSI,0002HMOVDI,0001HMOVAX,CX MOVAX,500H MOVAX,WORDPTRTABLE MOVAX,ES:[BX]第二十三頁(yè),共五十一頁(yè),2022年,8月28日MOVAX,[BX+05H] MOVAX,SS:[BX]+03H MOVAX,TABLE[BX] MOVAX,07H[BX] MOVAX,[BP] MOVAX,TABLE[BP] MOVAX,08H[BP]MOVAX,[BP+06H] MOVAX,DS:[BP+03H] MOVAX,[BP]+05H MOVAX,ES:[SI+03H] MOVAX,[DI+06H] MOVAX,[DI]+05H MOVAX,TABLE[SI] MOVAX,[SI] MOVAX,TABLE[DI] MOVAX,[SI]+05H MOVAX,[BX][DI+01H] MOVAX,[BX][SI]+03H MOVAX,TABLE[BX][SI] MOVAX,ES:[BX][DI] MOVAX,[BP][DI+02H] MOVAX,TABLE[BP][DI] MOVAX,ES:[BP][SI] MOVAX,[BP][SI+05H] MOVAX,03H[BP][DI] MOVAX,[BP][SI] MOVAX,[BP+02H][DI+03H] MOVAX,TABLE[BP+02H][DI+03H] MOVAH,4CH INT21H第二十四頁(yè),共五十一頁(yè),2022年,8月28日[2]用masm.exe宏匯編程序?qū)σ陨显闯绦蜻M(jìn)行匯編,其方法為:

masm文件名.asm;回車(chē)此時(shí),如果源程序中無(wú)語(yǔ)法錯(cuò)誤,則在磁盤(pán)上形成文件名.obj文件。[3]用LINK.EXE連接程序?qū)ξ募?obj文件進(jìn)行連接,其方法為:

link文件名.obj;回車(chē)此時(shí),如果連接正確,則在磁盤(pán)上形成文件名.exe可執(zhí)行文件。[4]對(duì)源程序中從MOVAX,CX開(kāi)始以下所有指令按表3-1進(jìn)行計(jì)算。指令SRC尋址方式SRC的地址AX推算值A(chǔ)X實(shí)際值MOVAX,CX

MOVAX,500H

MOVAX,TABLE

MOVAX,ES:[BX]

MOVAX,[BX+05H]

MOVAX,SS:[BX]+03H

MOVAX,TABLE[BX]

MOVAX,07H[BX]

MOVAX,[BP]

MOVAX,TABLE[BP]

MOVAX,08H[BP]

MOVAX,[BP+06H]

MOVAX,[BP]+05H

MOVAX,DS:[BP+03H]

MOVAX,ES:[SI+03H]

MOVAX,[DI+06H]

MOVAX,[DI]+05H

MOVAX,TABLE[SI]

MOVAX,[SI]

MOVAX,TABLE[DI]

MOVAX,[SI]+05H

MOVAX,[BX][DI+01H]

MOVAX,[BX][SI]+03H

MOVAX,TABLE[BX][SI]

MOVAX,ES:[BX][DI]

MOVAX,[BP][DI+02H]

MOVAX,TABLE[BP][DI]

MOVAX,ES:[BP][SI]

MOVAX,[BP][SI+05H]

MOVAX,03H[BP][DI]

MOVAX,[BP][SI]

MOVAX,[BP+02H][DI+03H]

MOVAX,TABLE[BP+02H][DI+03H]

表3-1 CODEENDS ENDSTART第二十五頁(yè),共五十一頁(yè),2022年,8月28日T命令單步運(yùn)行程序,并用R命令檢查AX結(jié)果,同時(shí)將結(jié)果作為實(shí)際值填入表3-1中,和推算值進(jìn)行比較,從而檢驗(yàn)自己對(duì)該條指令對(duì)應(yīng)的尋址方式是否掌握。也可用D命令察看存貯器的內(nèi)容,具體操作方法參看DEBUG使用部分。1.

關(guān)于地址的尋址方式其具體的內(nèi)容及實(shí)驗(yàn)方法參內(nèi)容一由學(xué)生選做完成。四.問(wèn)題討論在表3-1中,分析AX推算值與實(shí)際值有何不同?找出錯(cuò)誤原因,小結(jié)出各種尋址方式所用的段寄存器的規(guī)律來(lái)。五.本實(shí)驗(yàn)的實(shí)驗(yàn)報(bào)告要求實(shí)驗(yàn)名稱(chēng)

1.

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

2.

實(shí)驗(yàn)儀器

3.

實(shí)驗(yàn)內(nèi)容及實(shí)驗(yàn)程序

4.

實(shí)驗(yàn)數(shù)據(jù)及結(jié)果

5.問(wèn)題討論返回實(shí)驗(yàn)?zāi)夸浀诙?yè),共五十一頁(yè),2022年,8月28日實(shí)驗(yàn)二匯編語(yǔ)言程序設(shè)計(jì)練習(xí)一.實(shí)驗(yàn)?zāi)康?.

熟練掌握匯編語(yǔ)言程序設(shè)計(jì)的方法及上機(jī)步驟。2.

掌握算術(shù)運(yùn)算中,十進(jìn)制數(shù)調(diào)整指令的應(yīng)用。3.

掌握子程序的設(shè)計(jì)方法4.

掌握DOS功能的調(diào)用方法二.實(shí)驗(yàn)儀器

586微機(jī)1臺(tái)三.實(shí)驗(yàn)內(nèi)容1.編寫(xiě)求十進(jìn)制數(shù)12678532與21736543之和的程序,并將和以十進(jìn)制數(shù)的形式送屏幕顯示。編程要求與提示:[1]兩個(gè)加數(shù)均以壓縮十進(jìn)制數(shù)形式存放在ADD1和ADD2為首址的存貯器單元[2]和以壓縮十進(jìn)制數(shù)的形式存入SUM以下單元。[3]將和送到屏幕顯示部分功能的實(shí)現(xiàn)采用子程序的形式。[4]實(shí)驗(yàn)步驟如下a.用全屏幕編輯軟件建立源程序。b.用masm.exe匯編程序?qū)υ闯绦蜻M(jìn)行匯編,形成目標(biāo)程序。c.用link.exe連接程序?qū)δ繕?biāo)程序進(jìn)行連接形成可執(zhí)行文件。d.用DEBUG對(duì)連接通過(guò)的可執(zhí)行程序進(jìn)行調(diào)試。1.

有一個(gè)首地址為A的N字?jǐn)?shù)組,請(qǐng)編程序使該數(shù)組中的數(shù)按從大到小的次序排列。編程要求及提示:[1]參加排序的數(shù)據(jù)及個(gè)數(shù)由學(xué)生自己定義。[2]要將排序前的數(shù)組和排序后的數(shù)組在屏幕上顯示出來(lái)。[3]實(shí)驗(yàn)步驟同內(nèi)容一。四.問(wèn)題討論

1.在以十進(jìn)制數(shù)形式參加運(yùn)算的程序設(shè)計(jì)中,應(yīng)注意那些問(wèn)題。

2.總結(jié)循環(huán)程序設(shè)計(jì)的步驟及方法。第二十七頁(yè),共五十一頁(yè),2022年,8月28日五.實(shí)驗(yàn)報(bào)告要求實(shí)驗(yàn)名稱(chēng)1.

實(shí)驗(yàn)?zāi)康?.

實(shí)驗(yàn)儀器3.

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

給出實(shí)驗(yàn)內(nèi)容對(duì)應(yīng)的源程序及流程5.

問(wèn)題討論

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

掌握簡(jiǎn)單I/O接口電路的設(shè)計(jì)方法2.

掌握簡(jiǎn)單I/O電路的調(diào)試及驅(qū)動(dòng)程序的設(shè)計(jì)方法二.實(shí)驗(yàn)儀器及器材1.586微機(jī)1臺(tái)2.微機(jī)實(shí)驗(yàn)臺(tái)1臺(tái)3.+5V3A直流穩(wěn)壓電源1臺(tái)4.三用表1臺(tái)5.74LS273及74LS245各1片6.剪刀、鑷子各1把7.單股導(dǎo)線(xiàn)若干三.實(shí)驗(yàn)內(nèi)容1.簡(jiǎn)單并行輸出接口實(shí)驗(yàn)線(xiàn)路如圖3-1(a)所示,74LS273的功能如圖3-1(b)所示。實(shí)驗(yàn)三簡(jiǎn)單I/O接口設(shè)計(jì)圖3-1(a)返回實(shí)驗(yàn)?zāi)夸浀诙隧?yè),共五十一頁(yè),2022年,8月28日實(shí)驗(yàn)步驟:[1]硬件連線(xiàn)從實(shí)驗(yàn)臺(tái)的I/O模塊的JS37接線(xiàn)孔選擇I/O地址連接到DRV模塊的JS9的273CP上作為74LS273的CLK信號(hào),74LS273鎖存器的輸出Q0-Q7通過(guò)JS11插線(xiàn)孔連接到LED電路模塊上的JS13上(LED模塊電路參考第二章圖2-8)。在CPU對(duì)74LS273進(jìn)行寫(xiě)操作時(shí),如果正確鎖存數(shù)據(jù),既送“FF”時(shí)發(fā)光二極管全滅,若送全“0”時(shí),發(fā)光二極管全亮。[2]軟件編程方法a.

可利用debug的o命令對(duì)輸出端口進(jìn)行調(diào)試。b.

編寫(xiě)一簡(jiǎn)單程序(可利用debug的A命令),從鍵盤(pán)輸入一字符,將其代碼通過(guò)JS11輸出到LED模塊的JS13,根據(jù)8個(gè)發(fā)光二極管發(fā)光情況驗(yàn)證其正確性。c.

紀(jì)錄實(shí)驗(yàn)結(jié)果及現(xiàn)象。圖3-1(b)74LS273真值表

2.簡(jiǎn)單并行輸入接口實(shí)驗(yàn)電路如圖3-2(a)所示,74LS245的功能如圖3-2(b)所示。實(shí)驗(yàn)步驟[1]硬件連線(xiàn)從實(shí)驗(yàn)臺(tái)的I/O模塊的JS37選擇I/O地址連接到DRV模塊的JS10上作為74LS245的/E選通信號(hào),,74LS245的8個(gè)數(shù)據(jù)輸入端B0-B7通過(guò)JS12接線(xiàn)孔分別接SWITCH模塊的邏輯電平開(kāi)關(guān)輸出端JS26的K0-K7(SWITCH模塊電路參考第二章圖2-7)。8個(gè)數(shù)據(jù)輸入端A0-A7已經(jīng)和系統(tǒng)總線(xiàn)D0-D7相連。[2]軟件編程方法a.

可利用debug的I命令對(duì)輸入端口進(jìn)行調(diào)試。b.

用邏輯電平開(kāi)關(guān)預(yù)置某個(gè)字符的ASCII碼,編一簡(jiǎn)單程序(可利用DEBUG的A命令),輸入這個(gè)代碼,并將其在屏幕上顯示出來(lái)。C.

紀(jì)錄實(shí)驗(yàn)結(jié)果及現(xiàn)象。第二十九頁(yè),共五十一頁(yè),2022年,8月28日?qǐng)D3-2(a)方向控制DIR傳送方向LLHLHXB→AA←B三態(tài)使能/E74LS245圖3-2(b)真值表第三十頁(yè),共五十一頁(yè),2022年,8月28日

四.問(wèn)題討論

1.總結(jié)簡(jiǎn)單I/O接口電路設(shè)計(jì)的方法。

2.總結(jié)I/O輸入端口設(shè)計(jì)時(shí)應(yīng)注意的問(wèn)題。五.實(shí)驗(yàn)報(bào)告要求實(shí)驗(yàn)名稱(chēng)1.

實(shí)驗(yàn)?zāi)康?.

實(shí)驗(yàn)儀器及器材3.

實(shí)驗(yàn)內(nèi)容及實(shí)驗(yàn)結(jié)果4.

問(wèn)題討論實(shí)驗(yàn)四8255可編程并行接口實(shí)驗(yàn)一.實(shí)驗(yàn)?zāi)康?.掌握8255A與8位系統(tǒng)總線(xiàn)的連接方法。2.掌握8255A的方式0、方式1的使用及編程方法。3.掌握8255APC口位管理功能的使用方法及編程方法。二.實(shí)驗(yàn)儀器與器材1.586微機(jī)1臺(tái)2.微機(jī)實(shí)驗(yàn)臺(tái)1臺(tái)3.導(dǎo)線(xiàn)若干4.+5V3A直流穩(wěn)壓電源1臺(tái)5.剪刀、鑷子等各1把三.實(shí)驗(yàn)線(xiàn)路實(shí)驗(yàn)臺(tái)上8255模塊上配置的8255A與系統(tǒng)總線(xiàn)的連線(xiàn)圖如圖3-3所示。PA口、PB口、PC口分別通過(guò)三組接線(xiàn)孔JS5、JS6、JS7引出,其它控制信號(hào)通過(guò)JS8引出。D0-D7已經(jīng)與系統(tǒng)總線(xiàn)D0-D7相連。返回實(shí)驗(yàn)?zāi)夸浀谌豁?yè),共五十一頁(yè),2022年,8月28日實(shí)驗(yàn)四8255可編程并行接口實(shí)驗(yàn)圖3-3一.實(shí)驗(yàn)?zāi)康?.掌握8255A與8位系統(tǒng)總線(xiàn)的連接方法。2.掌握8255A的方式0、方式1的使用及編程方法。3.掌握8255APC口位管理功能的使用方法及編程方法。二.實(shí)驗(yàn)儀器與器材1.586微機(jī)1臺(tái)2.微機(jī)實(shí)驗(yàn)臺(tái)1臺(tái)3.導(dǎo)線(xiàn)若干4.+5V3A直流穩(wěn)壓電源1臺(tái)5.剪刀、鑷子等各1把三.實(shí)驗(yàn)線(xiàn)路實(shí)驗(yàn)臺(tái)上8255模塊上配置的8255A與系統(tǒng)總線(xiàn)的連線(xiàn)圖如圖3-3所示。PA口、PB口、PC口分別通過(guò)三組接線(xiàn)孔JS5、JS6、JS7引出,其它控制信號(hào)通過(guò)JS8引出。D0-D7已經(jīng)與系統(tǒng)總線(xiàn)D0-D7相連。1.8255A方式控制字各位功能8255A方式控制字各位功能如圖3-5所示。第三十二頁(yè),共五十一頁(yè),2022年,8月28日2.8255APC口位管理使某位置1/復(fù)位。

8255APC口位管理使某位置1/復(fù)位的方法如圖3-4所示。PC口位管理時(shí),一定要滿(mǎn)足其端口地址使8255的A0、A1為11。

3.方式1的聯(lián)絡(luò)信號(hào)

8255的PA口、PB口可以工作在方式1—有聯(lián)絡(luò)信號(hào)的輸入/輸出方式,所有聯(lián)絡(luò)信號(hào)均由PC口的某些位承擔(dān),其具體情況參考有關(guān)教材。

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

1.方式0—基本I/O方式練習(xí)。

[1]將PA口設(shè)置成方式0輸出,從PA口輸出FEH數(shù)據(jù),并將輸出的數(shù)據(jù)送至LED燈顯

圖3-4圖3-5第三十三頁(yè),共五十一頁(yè),2022年,8月28日

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

1.方式0—基本I/O方式練習(xí)。

[1]將PA口設(shè)置成方式0輸出,從PA口輸出FEH數(shù)據(jù),并將輸出的數(shù)據(jù)送至LED燈顯示。此過(guò)程保持一秒鐘左右,使PA口輸出的數(shù)據(jù)循環(huán)左移一位后再?gòu)腜A口輸出,以后重復(fù)以上過(guò)程。

[2]將PA口、PB口分別設(shè)置成方式0輸出、輸入。其輸入數(shù)據(jù)用SWITCH模塊的邏輯電平開(kāi)關(guān)模擬,輸出的數(shù)據(jù)用LED模塊的發(fā)光二極管監(jiān)視。編程實(shí)現(xiàn)從PB口輸入數(shù)據(jù),并將輸入的數(shù)據(jù)從PA口輸出,在LED燈上顯示觀察其正確性。

實(shí)驗(yàn)步驟:

[1]硬件連接

a.將PA口的輸出通過(guò)JS5接線(xiàn)孔對(duì)應(yīng)連接到LED模塊的JS13接線(xiàn)孔上。

b.將PB口通過(guò)JS6接線(xiàn)孔對(duì)應(yīng)連接到SWITCH模塊的JS26接線(xiàn)孔上。

c.將8255A的控制信號(hào)通過(guò)JS8接線(xiàn)孔連接到JS40、JS39對(duì)應(yīng)接線(xiàn)孔上。并通過(guò)I/O模塊的JS37接線(xiàn)孔選擇I/O地址接到JS8的/CS上作為8255A的片選信號(hào)。

[2]編程

用戶(hù)依據(jù)上面給出的實(shí)驗(yàn)內(nèi)容進(jìn)行編程實(shí)驗(yàn),編程時(shí)既可用完整的匯編語(yǔ)言程序設(shè)計(jì)方法完成,也可在DEBUG下用相應(yīng)的命令實(shí)現(xiàn)。

[3]記錄實(shí)驗(yàn)現(xiàn)象

2.PC口位管理使某位“置位/復(fù)位”

使PC口的位通過(guò)JS7接線(xiàn)孔接到LED模塊的JS13接線(xiàn)孔的對(duì)應(yīng)位置上,用發(fā)光二極管的亮/滅監(jiān)視PC口某位置位(滅)或復(fù)位(亮)的正確性。其實(shí)驗(yàn)方法同內(nèi)容1。

3.方式1—有聯(lián)絡(luò)信號(hào)的輸入/輸出方式練習(xí)。

將PA口設(shè)置為方式0輸出,其輸出用LED燈監(jiān)視;PB口設(shè)置為方式1輸入,外設(shè)輸入到PB口的數(shù)據(jù)用邏輯電平開(kāi)關(guān)模擬。編程實(shí)現(xiàn)從PB口輸入外設(shè)數(shù)據(jù),并將輸入的數(shù)據(jù)經(jīng)PA口輸出,用LED燈監(jiān)視其正確性。

實(shí)驗(yàn)步驟:

[1]硬件連線(xiàn)

在內(nèi)容1硬件連線(xiàn)上的基礎(chǔ)上,外設(shè)給PB口的數(shù)據(jù)選通信號(hào)/STB用單脈沖模擬,即將PLUSE模塊單脈沖輸出接線(xiàn)柱JS27的負(fù)脈沖輸出連接到8255的JS7的PC2接線(xiàn)孔。

[2]編程

在確保硬件連線(xiàn)無(wú)誤的情況下,編寫(xiě)題目所要完成功能的程序,其參考流圖如圖3-6所示。第三十四頁(yè),共五十一頁(yè),2022年,8月28日[3]記錄實(shí)驗(yàn)現(xiàn)象五.問(wèn)題討論總結(jié)8255A方式0與方式1的區(qū)別。六.實(shí)驗(yàn)報(bào)告要求1.

實(shí)驗(yàn)?zāi)康?.

實(shí)驗(yàn)儀器及器材3.

實(shí)驗(yàn)線(xiàn)路4.

實(shí)驗(yàn)內(nèi)容及結(jié)果5.

問(wèn)題討論圖3-6返回實(shí)驗(yàn)?zāi)夸浀谌屙?yè),共五十一頁(yè),2022年,8月28日

實(shí)驗(yàn)五8253定時(shí)器/計(jì)數(shù)器實(shí)驗(yàn)

一.實(shí)驗(yàn)?zāi)康?.掌握8253與系統(tǒng)總線(xiàn)的接口方法。2.掌握82536種工作方式的初始化編程方法及工作時(shí)序關(guān)系。二.實(shí)驗(yàn)儀器及器材1.586微機(jī)1臺(tái)2.微機(jī)實(shí)驗(yàn)臺(tái)1臺(tái)

3.+5V3A直流穩(wěn)壓電源1臺(tái)4.20MHZ雙蹤示波器1臺(tái)5.導(dǎo)線(xiàn)若干6.剪刀、鑷子等各1把三.實(shí)驗(yàn)線(xiàn)路實(shí)驗(yàn)臺(tái)上8253模塊配置的8253的連線(xiàn)圖如圖3-8所示。其中,8253定時(shí)器通道0的CLK0、GATE0、OUT0連到了JS2接線(xiàn)孔;通道1的CLK1、GATE1、OUT1連到了JS3接線(xiàn)孔;通道2的CLK2、GATE2、OUT2連接到JS4接線(xiàn)孔上??刂菩盘?hào)連接到了JS1接線(xiàn)孔,D0_D7已經(jīng)與系統(tǒng)總線(xiàn)的D0_D7連接。四.8253工作方式控制字8253工作方式控制字如圖3-9所示。其中SC1、SC0決定對(duì)哪一個(gè)通道的計(jì)數(shù)器進(jìn)行初始化。SC1SC000選擇計(jì)數(shù)器001選擇計(jì)數(shù)器110選擇計(jì)數(shù)器211為非法圖3-8第三十六頁(yè),共五十一頁(yè),2022年,8月28日RL1、RL0決定所初始化的通道讀寫(xiě)的規(guī)律RL1RL000計(jì)數(shù)器鎖存操作01只讀/裝入低字節(jié)

10只讀/裝入高字節(jié)

11先讀/裝入低字節(jié),然后讀/裝入高字節(jié),關(guān)于計(jì)數(shù)器的鎖存操作以后再詳細(xì)說(shuō)明。下面關(guān)于M2-M0的說(shuō)明。它決定著所初始化的計(jì)數(shù)器所選擇的工作方式。M2M1M0000方式0計(jì)數(shù)結(jié)束中斷;

001方式1可編程單穩(wěn);

x11方式2頻率發(fā)生器;

x11方式3方波頻率發(fā)生器;

100方式4軟件觸發(fā)的選通;

101方式5硬件觸發(fā)的選通。還有最后一位BCD當(dāng)該位為0則為十六進(jìn)制計(jì)數(shù)器;該位為1則為十進(jìn)制計(jì)數(shù)器(四個(gè)十進(jìn)位)。圖3-9第三十七頁(yè),共五十一頁(yè),2022年,8月28日五.實(shí)驗(yàn)內(nèi)容

1.利用微機(jī)實(shí)驗(yàn)臺(tái)上配置的一片8253(U1),編寫(xiě)六種工作方式的程序,用雙蹤示波器觀察/IOW、CLK、OUT、GATE等信號(hào)之間的波形關(guān)系(也可利用單脈沖作為8253的CLK計(jì)數(shù)脈沖,將計(jì)數(shù)制讀回在屏幕上顯示出來(lái))。

2.若加到8253CLK0的時(shí)鐘頻率為1MHZ(取自CLOCK模塊),在正確接線(xiàn)的基礎(chǔ)上編程實(shí)現(xiàn)在8253的OUT端產(chǎn)生如下波形:

1S1MS六.實(shí)驗(yàn)步驟1.硬件連線(xiàn)[1]將JS1接線(xiàn)孔上的8253的控制信號(hào)接到JS40和JS39的對(duì)應(yīng)接線(xiàn)孔上。[2]將JS2接線(xiàn)孔上的8253的CLK0接到CLOCK模塊JS28接線(xiàn)孔的1MHZ上。[3]將JS2接線(xiàn)孔上的GATE0接到VCC(P3)(方式0、2、3、4)或接到CLOCK模塊JS328接線(xiàn)孔的對(duì)應(yīng)位置(方式1、5)上。

注:實(shí)驗(yàn)臺(tái)上的P7、P3為VCC,P8、P4為GND。2.編程3.運(yùn)行程序,用雙蹤示波器觀察CLK、GATE、OUT、/IOW等信號(hào)的波形,并作記錄。七.問(wèn)題討論1.總結(jié)8253的方式0和方式4、方式1和方式5有何區(qū)別?2.若用8253測(cè)量外部脈沖重復(fù)頻率,硬、軟件應(yīng)如何實(shí)現(xiàn)?測(cè)量范圍如何?第三十八頁(yè),共五十一頁(yè),2022年,8月28日八.實(shí)驗(yàn)報(bào)告要求

1.

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

2.

實(shí)驗(yàn)儀器及器材

3.

實(shí)驗(yàn)線(xiàn)路

4.

實(shí)驗(yàn)內(nèi)容及結(jié)果

5.

問(wèn)題討論

返回實(shí)驗(yàn)?zāi)夸浀谌彭?yè),共五十一頁(yè),2022年,8月28日一.實(shí)驗(yàn)?zāi)康?/p>

1.了解ADC0809芯片的工作原理及其參數(shù)特性。

2.掌握ADC0809與CPU之間的接口方法及其驅(qū)動(dòng)程序的設(shè)計(jì)方法。

二.實(shí)驗(yàn)儀器與器材

1.586微機(jī)1臺(tái)

2.微機(jī)實(shí)驗(yàn)臺(tái)1臺(tái)

3.+5V3A直流穩(wěn)壓電源1臺(tái)

4.雙蹤示波器1臺(tái)

5.導(dǎo)線(xiàn)若干

6鑷子、剪刀各1把

三.實(shí)驗(yàn)線(xiàn)路

實(shí)驗(yàn)六A/D轉(zhuǎn)換實(shí)驗(yàn)

圖3-10微機(jī)實(shí)驗(yàn)臺(tái)上的A/D模塊配置的ADC0809的連線(xiàn)圖如圖3-10所示。其中,IN0-IN7連接到了接線(xiàn)孔JS33上,模擬通道ADDC、ADDB、ADDA以及轉(zhuǎn)換結(jié)束信號(hào)EOC接到接線(xiàn)孔JS35,ADC0809的控制信號(hào)ALE、START、ENABLE、CLOCK等接到了接線(xiàn)孔JS36上,A/D轉(zhuǎn)換數(shù)字量輸出端接到了接線(xiàn)孔JS32上,其余引腳已經(jīng)接好。

第四十頁(yè),共五十一頁(yè),2022年,8月28日四.預(yù)備知識(shí)

1.引腳功能

D0-D7——輸出數(shù)據(jù)線(xiàn);

IN0-IN7——8路模擬電壓輸入端;

ADDA、ADDB、ADDC——路地址輸入;

START——啟動(dòng)信號(hào)輸入,下降沿有效;

ALE——路地址鎖存信號(hào),用來(lái)鎖存ADDA-ADDC的地址輸入,上升沿有效

EOC——變換結(jié)束狀態(tài)信號(hào),高點(diǎn)平表示一次變換結(jié)束;

ENABLE——讀允許信號(hào),高電平有效;

CLK——時(shí)鐘輸入端,頻率范圍為10KHZ-1.2MHZ,一般取值600KHZ左右,此時(shí)變換時(shí)間約為100us;

Vref(+)、Vref(-)——參考電壓輸入;

VCC——+5V電壓輸入;

GND——地。

2.工作時(shí)序

ADC0809工作時(shí)序的定時(shí)關(guān)系如圖3-11所示。

圖3-11第四十一頁(yè),共五十一頁(yè),2022年,8月28日五.實(shí)驗(yàn)內(nèi)容

用0-+5V模擬電壓(參第二章圖2-16)作為ADC0809的模擬電壓輸入(接IN0-IN7中的一路),編寫(xiě)A/D驅(qū)動(dòng)程序,將變換后的數(shù)字量通過(guò)8255模塊8255A或DRV模塊74LS273輸出在LED燈上顯示,也可將采樣值送顯示器顯示。

六.實(shí)驗(yàn)步驟

1.硬件連線(xiàn)

[1]將ADC0809的D0-D7(接線(xiàn)孔JS34)與系統(tǒng)總線(xiàn)D0-D7(接線(xiàn)孔JS38)相連。

[2]接線(xiàn)孔JS33的IN0接JS320-+5V電壓(R7為0-+5V電壓調(diào)節(jié)電位器)。

[3]ADC0809的控制信號(hào)引腳連接到了JS36上。其中ADC0809的工作時(shí)鐘CLK接微機(jī)實(shí)驗(yàn)臺(tái)上CLK模塊接線(xiàn)孔JS28上的500KHZ;ALE、START、EN的接法如圖3-12所示,這部分電路用戶(hù)需在BOARD模塊板上自己搭接。

[4]接線(xiàn)孔JS35上的ADC0809的路地址選擇輸入端ADDC、ADDB、ADDA根據(jù)所選用的模擬通道來(lái)確定接VCC或GND。

圖3-122.編程在硬件

連接正確的基礎(chǔ)上,編寫(xiě)實(shí)驗(yàn)內(nèi)容所要完成功能的I/O驅(qū)動(dòng)程序。3.記錄實(shí)驗(yàn)結(jié)果及現(xiàn)象。七.問(wèn)題討論1.若被采樣的模擬信號(hào)變換頻率較高,應(yīng)采用何種措施?2.若用ADC0809構(gòu)成一8路巡回檢查系統(tǒng),其硬件電路應(yīng)如何實(shí)現(xiàn)。第四十二頁(yè),共五十一頁(yè),2022年,8月28日八.實(shí)驗(yàn)報(bào)告要求

1.

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

2.

實(shí)驗(yàn)器材及儀器

3.

實(shí)驗(yàn)線(xiàn)路

4.

實(shí)驗(yàn)內(nèi)容及結(jié)果

5.

問(wèn)題討論

返回實(shí)驗(yàn)?zāi)夸浀谒氖?yè),共五十一頁(yè),2022年,8月28日實(shí)驗(yàn)七8259中斷控制器實(shí)驗(yàn)一、實(shí)驗(yàn)?zāi)康恼莆?259外部可屏蔽中斷的工作方式。二、實(shí)驗(yàn)內(nèi)容利用主機(jī)板上的主片8259的IRQ4進(jìn)行外部可屏蔽中斷,中斷請(qǐng)求信號(hào)用實(shí)驗(yàn)箱上的單脈沖輸出信號(hào)模擬。中斷服務(wù)程序完成:中斷第一次,屏幕上顯示9,中斷第二次,屏幕上顯示8,中斷第三次,屏幕上顯示7……中斷第十次,屏幕上顯示0,返回DOS。三、實(shí)驗(yàn)線(xiàn)路實(shí)驗(yàn)臺(tái)上IRQ4級(jí)中斷跳線(xiàn)已跳好。JP6已與JS41相連,把JS27的單脈沖輸出作為中斷請(qǐng)求信號(hào)(上升沿有效)與JS41的IRQX相連。IRQ4的中斷類(lèi)型號(hào)為0CH,主片地址為20H,21H。四、實(shí)驗(yàn)參考程序

1.利用BIOS對(duì)8259初始化進(jìn)行編程

STACKSEGMENTDW256DUP(?)

STACKENDSDATASEGMENTINTDATDW?,?第四十四頁(yè),共五十一頁(yè),2022年,8月28日DATAENDSCODESEGMENTASSUMECS:CODE,DS:DATA,SS:STACKSTART:MOVAX,DATAMOVDS,AXMOVAX,STACKMOVSS,AXCLIMOVAH,35HMOVAL,0CH

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
  • 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ì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論