微機原理及應(yīng)用實驗指導(dǎo)書_第1頁
微機原理及應(yīng)用實驗指導(dǎo)書_第2頁
微機原理及應(yīng)用實驗指導(dǎo)書_第3頁
微機原理及應(yīng)用實驗指導(dǎo)書_第4頁
微機原理及應(yīng)用實驗指導(dǎo)書_第5頁
已閱讀5頁,還剩68頁未讀 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、微機原理及應(yīng)用微機原理及應(yīng)用實驗指導(dǎo)書安陽工學(xué)院安陽工學(xué)院電子信息與電氣工程學(xué)院電子信息與電氣工程學(xué)院1目 錄第第一一章章 TPC-USBTPC-USB實驗系統(tǒng)介紹實驗系統(tǒng)介紹.3 3第二章第二章 TPC-USBTPC-USB實驗系統(tǒng)硬件環(huán)境實驗系統(tǒng)硬件環(huán)境.4 42.12.1 USBUSB模塊介紹模塊介紹.4 42.1.12.1.1 USBUSB模塊結(jié)構(gòu)模塊結(jié)構(gòu) .4 42.1.22.1.2 USBUSB模塊功能模塊功能 .4 42.1.32.1.3 USBUSB模塊的對外接口模塊的對外接口 .4 42.1.42.1.4 USBUSB模塊的安裝模塊的安裝 .5 52.1.52.1.5 USB

2、USB模塊連接測試模塊連接測試 .5 52.22.2 擴展實驗臺結(jié)構(gòu)及主要電路擴展實驗臺結(jié)構(gòu)及主要電路.5 52.2.12.2.1 擴展實驗臺結(jié)構(gòu)圖擴展實驗臺結(jié)構(gòu)圖 .5 52.2.22.2.2 實驗臺上包括的主要電路:實驗臺上包括的主要電路: .6 62.2.32.2.3 用戶擴展實驗區(qū)用戶擴展實驗區(qū) .10102.2.42.2.4 實驗臺跳線開關(guān)實驗臺跳線開關(guān) .10102.2.52.2.5 2020芯雙排插座芯雙排插座 .10102.2.62.2.6 直流穩(wěn)壓電源直流穩(wěn)壓電源 .1010第三章第三章 TPC-USBTPC-USB集成軟件開發(fā)環(huán)境集成軟件開發(fā)環(huán)境.11113.13.1 TP

3、C-USBTPC-USB集成開發(fā)環(huán)境軟件包集成開發(fā)環(huán)境軟件包.11113.23.2 TPC-USBTPC-USB集成開發(fā)環(huán)境使用集成開發(fā)環(huán)境使用.11113.2.13.2.1 用戶程序的編輯和編譯用戶程序的編輯和編譯 .11113.2.23.2.2 編譯源程序編譯源程序 .13133.2.33.2.3 用戶程序的調(diào)試和運行用戶程序的調(diào)試和運行 .13133.2.43.2.4 常用調(diào)試命令常用調(diào)試命令 .15153.2.53.2.5 實驗項目的查看和演示實驗項目的查看和演示 .17173.2.63.2.6 實驗項目的添加和刪除實驗項目的添加和刪除 .17173.2.73.2.7 集成開發(fā)環(huán)境幫助

4、菜單集成開發(fā)環(huán)境幫助菜單 .1818第四章第四章 實驗部分實驗部分.1919實驗一實驗一 簡單程序運行調(diào)試實驗簡單程序運行調(diào)試實驗 .19192實驗二實驗二 匯編語言程序調(diào)試實驗匯編語言程序調(diào)試實驗 .2121實驗三實驗三 簡單并行接口實驗(綜合性實驗)簡單并行接口實驗(綜合性實驗) .2323實驗四實驗四 可編程定時器計數(shù)器(可編程定時器計數(shù)器(82538253)實驗)實驗 .2626實驗五實驗五 可編程并行接口(一)(可編程并行接口(一)(82558255方式方式0 0)實驗)實驗 .2929實驗六實驗六 七段數(shù)碼管實驗七段數(shù)碼管實驗 .3131實驗七實驗七 繼電器控制實驗繼電器控制實驗

5、.3737實驗八實驗八 競賽搶答器實驗競賽搶答器實驗 .4040實驗九實驗九 中斷實驗中斷實驗 .4343實驗十實驗十 可編程并行接口(二)(可編程并行接口(二)(82558255方式)實驗方式)實驗 .4646實驗十一實驗十一 數(shù)數(shù)/ /模轉(zhuǎn)換器實驗?zāi)^D(zhuǎn)換器實驗 .5050實驗十二實驗十二 模模/ /數(shù)轉(zhuǎn)換器實驗數(shù)轉(zhuǎn)換器實驗 .5353實驗十三實驗十三 DMADMA傳送實驗傳送實驗 .5858實驗十四實驗十四 存儲器讀寫實驗存儲器讀寫實驗 .6565實驗十五實驗十五 雙色點陣發(fā)光二極管顯示實驗雙色點陣發(fā)光二極管顯示實驗 .68683第一章第一章 TPC-USBTPC-USB實驗系統(tǒng)介紹實驗系

6、統(tǒng)介紹該系統(tǒng)由一塊USB總線接口模塊、一個擴展實驗臺及軟件集成實驗環(huán)境組成。USB總線接口模塊通過USB總線電纜與PC機相連,模塊與實驗臺之間由一條50芯扁平電纜連接。其主要特點如下:1.USB總線接口使用ISP1581 USB2.0高速接口芯片,完全符合USB2.0規(guī)范。提供了高速USB下的通信能力,即插即用。2.滿足微機原理與接口技術(shù)課程教學(xué)實驗要求。實驗臺接口集成電路包括:可編程定時器/計數(shù)器(8253)、可編程并行接口(8255)、數(shù)/模轉(zhuǎn)換器(DAC0832)、模/數(shù)轉(zhuǎn)換器(ADC0809)等。外圍電路包括:邏輯電平開關(guān)、LED顯示、七段數(shù)碼管顯示、8X8雙色發(fā)光二極管點陣及驅(qū)動電路

7、、直流電機步進電機及驅(qū)動電路、電機測速用光藕電路、數(shù)字測溫傳感器及接口電路、繼電器及驅(qū)動電路、喇叭及驅(qū)動電路。8279鍵盤顯示控制電路。3.在USB接口模塊上擴展有DMA控制器8237及存儲器,可以完成微機DMA傳送以及USB的DMA傳送等實驗。4.開放式結(jié)構(gòu),模塊化設(shè)計支持開放實驗。實驗臺上除固定電路外還設(shè)有用戶擴展實驗區(qū)。有五個通用集成電路插座,每個插座引腳都有對應(yīng)的“自鎖緊”插孔,利用這些插孔可以搭試更多的自己設(shè)計的實驗,方便的進行課程設(shè)計。5.功能強大的軟件集成開發(fā)環(huán)境,支持Win98; Win2000;WinXP 等操作系統(tǒng)。可以方便的對程序進行編輯、編譯、鏈接和調(diào)試,可以查看實驗原

8、理圖,實驗接線,實驗程序并進行實驗演示??梢栽黾雍蛣h除實驗項目。6.實驗程序可以使8086匯編和C語言編程實驗??梢詫R編程序和C語言程序進行調(diào)試.7.系統(tǒng)可配置:字符、圖形液晶顯示實驗?zāi)K;紅外收發(fā)實驗?zāi)K;無線通信實驗?zāi)K;鍵盤顯示實驗?zāi)K等多種擴展實驗?zāi)K等。8.實驗臺自備電源,具有電源短路保護確保系統(tǒng)安全。9.使用USB接口與PC機相連,省卻了打開主機箱安裝接口卡的麻煩。4第二章第二章 TPC-USBTPC-USB實驗系統(tǒng)硬件環(huán)境實驗系統(tǒng)硬件環(huán)境2.12.1 USBUSB模塊介紹模塊介紹2.1.12.1.1 USBUSB模塊結(jié)構(gòu)模塊結(jié)構(gòu)圖2-1 USB模塊結(jié)構(gòu)圖2.1.22.1.2 U

9、SBUSB模塊功能模塊功能1.實驗系統(tǒng)中的USB模塊使用PHILIHPS的ISP1581 USB2.0高速接口芯片,符合USB2.0接口規(guī)范,提供了高速USB下的通信能力。2.支持ISP下載,通過模塊上的RS-232接口,可以對模塊內(nèi)部的MCU進行在線編程,對軟件進行修改或在線升級。也可以通過RS-232接口下載實驗程序到USB模塊,進行實驗。3.模塊內(nèi)擴展有DMA控制器8237及存儲器,可以完成微機DMA傳送和USB的DMA傳送實驗。4.該模塊提供一個50線扁平電纜,通過該電纜將模塊產(chǎn)生的仿ISA總線信號連到實驗臺上。2.1.32.1.3 USBUSB模塊的對外接口模塊的對外接口1.在該模塊

10、的右側(cè)提供四個對外接口:9芯通用RS-232接口,需要時可連到主機的COM1或COM2,對內(nèi)部的MCU在線編程,對軟件升級或修改。USB接口,連接到主機,實驗時用于信息和數(shù)據(jù)的通信。清零按鈕(RESET),用于對模塊內(nèi)部電路的初始化。5實驗方式轉(zhuǎn)換按鈕(SW),有些實驗需要將實驗程序下載到USB模塊運行,需要時按一下該按鈕以轉(zhuǎn)換實驗方式。(一般情況下,用戶不要按此按鈕,如果需要,在實驗說明中會指出)。2.在模塊的左側(cè)提供二個對外接口:50線扁平電纜接口,為實驗臺提供仿ISA總線信號。信號安排與實驗臺上50芯信號插座信號一一對應(yīng)。(見表十四 50芯總線插座信號)外接電源插孔,外接79V直流電源。

11、平時USB模塊與實驗臺相連時,使用實驗臺提供的電源,當(dāng)USB模塊單獨使用或調(diào)試時,使用外接電源。2.1.42.1.4 USBUSB模塊的安裝模塊的安裝安裝步驟如下:1.關(guān)上實驗臺電源。2.50線扁平電纜一端接USB模塊的50芯插座,另一端接實驗臺50線插座。3.USB電纜的一端接模塊的USB口,另一端接主機USB口。4.打開實驗臺電源。5.系統(tǒng)將自行檢測到模塊的接入,選擇用戶光盤上的USB驅(qū)動程序完成驅(qū)動的安裝。2.1.52.1.5 USBUSB模塊連接測試模塊連接測試驅(qū)動安裝完成后,打開TPC-USB集成開發(fā)環(huán)境,選定其菜單“選項”中的“硬件檢測”,集成開發(fā)環(huán)境會檢測到設(shè)備已連接,如果連接不

12、正確,將會有錯誤提示。圖2-11 硬件檢測菜單 圖2-12 正確連接提示 圖2-13 硬件未連接2.22.2 擴展實驗臺結(jié)構(gòu)及主要電路擴展實驗臺結(jié)構(gòu)及主要電路2.2.12.2.1 擴展實驗臺結(jié)構(gòu)圖擴展實驗臺結(jié)構(gòu)圖6圖2-14 擴展實驗臺結(jié)構(gòu)2.2.22.2.2 實驗臺上包括的主要電路:實驗臺上包括的主要電路:1 1、5050芯總線信號插座及總線信號插孔芯總線信號插座及總線信號插孔50芯總線信號插座在實驗臺左上方,總線插座信號安排如表:71 +5V11 E24521 A731 A141 ALE2 D712 IOR22 A632 GND42 T/C3 D613 IOW23 A533 A043 A1

13、64 D514 AEN24 +12V34 GND44 A175 D415 DACK25 A435 MEMW45 A156 D316 DRQ126 GND36 MEMR46 A147 D217 IRQ27 A337 CLK47 A138 D118 +5V28 -12V38 RST48 A129 D0 19 A929 A239 A1949 A1010 +5V20 A830 GND40 A1850 A11各總線信號采用“自鎖緊”插孔在標有“總線”的區(qū)域引出,有數(shù)據(jù)線D0-D7、地址線A19-A0、I/O讀寫信號IOR IOW、存儲器讀寫信號 MEMR MEMW、中斷請求 IRQ、DMA申請DRQ、D

14、MA回答DACK、AEN 等。2 2、微機接口、微機接口I/OI/O地址譯碼電路地址譯碼電路實驗臺上I/O地址選用280H2BFH 64個,分8組輸出:Y0-Y7,其地址分別為 280H287H;288H28FH;290H-297H;298H-29FH;2A0H-2A7H;2A8H-2AFH;2B0H-2B7H;2B8H-2BFH,8根輸出線在實驗臺“I/O地址”處分別由自鎖緊插孔引出。見圖2-15圖2-15 I/O地址譯碼電路3 3、時鐘電路、時鐘電路如圖2-16所示,輸出1MHZ、2MHZ兩種信號,供定時器/計數(shù)器、A/D轉(zhuǎn)換器、串行接口實驗使用。圖2-16 時鐘電路84 4、邏輯電平開關(guān)

15、電路、邏輯電平開關(guān)電路如圖2-17所示,實驗臺右方有8個開關(guān)K0-K7,開關(guān)撥到“1”位置時開關(guān)斷開,輸出高電平。撥到“0”位置時開關(guān)接通輸出低電平。電路中串接了保護電阻,接口電路不直接同5V、GND相連,有效的防止因誤操作損壞集成電路現(xiàn)象。圖2-17 邏輯電平開關(guān)電路 圖2-18 發(fā)光二極管及驅(qū)動電路5 5、LEDLED顯示電路顯示電路如圖2-18所示,實驗臺上設(shè)有8個發(fā)光二極管及相關(guān)驅(qū)動電路(輸入端L7L0),當(dāng)輸入信號為“1”時發(fā)光,為“0”時滅。6 6、七段數(shù)碼管顯示電路、七段數(shù)碼管顯示電路實驗臺設(shè)有兩個共陰極數(shù)碼管及驅(qū)動電路,電路圖如圖2-19。段碼輸入端:a、b、c、d、e、f、g

16、、dp,位碼輸入端:S0、S1。圖2-19 數(shù)碼管顯示電路7 7、單脈沖電路、單脈沖電路如圖2-20所示,采用RS觸發(fā)器產(chǎn)生,實驗者每按一次開關(guān)即可以從兩個插座上分別輸出一個正脈沖及負脈沖,供“中斷”、“DMA”、“定時器/計數(shù)器”等實驗使用。圖2-20 單脈沖電路圖 圖22-21 邏輯筆電路8 8、邏輯筆、邏輯筆如圖2-21所示,當(dāng)輸入端Ui接高電平時紅燈(H)亮,接低電平時綠燈(L)亮。99 9、繼電器及驅(qū)動電路、繼電器及驅(qū)動電路圖2-22為直流繼電器及相應(yīng)驅(qū)動電路,當(dāng)其開關(guān)量輸入端“Ik”輸入數(shù)字量“1”時,繼電器動作,常開觸點閉合紅色發(fā)光二極管點亮。輸入“0”時繼電器常開觸點斷開發(fā)光二

17、極滅。圖2-22 繼電器及驅(qū)動電路圖 圖2-23 復(fù)位電路1010、復(fù)位電路、復(fù)位電路圖2-23為復(fù)位電路,實驗臺上有一復(fù)位電路,能在上電時,或按下復(fù)位開關(guān)RESET后,產(chǎn)生一個高電平的復(fù)位信號。1111、步進電機驅(qū)動電路步進電機驅(qū)動電路圖2-24為步進電機的驅(qū)動電路,實驗臺上使用的步進電機驅(qū)動方式為二相勵磁方式,BA、BB、BC、BD分別為四個線圈的驅(qū)動輸入端,輸入高電平時,相應(yīng)線圈通電。DJ端為直流電機控制輸入端。圖2-24 步進電機驅(qū)動電路1212、接口集成電路、接口集成電路實驗臺上有微機原理及接口實驗最常用接口電路芯片,包括:可編程定時器/計數(shù)器(8253)、可編程并行接口(8255)

18、、數(shù)/模轉(zhuǎn)換器(DAC0832)、 模/數(shù)轉(zhuǎn)換器(ADC0809),這里芯片與CPU相連的引線除去片選(CS)信號外都已連好,與外界連接的關(guān)鍵引腳在芯片周圍用“自鎖緊”插座引出,供實驗使用。1313、邏輯門電路、邏輯門電路實驗臺上設(shè)有幾個邏輯門電路,包括“與門”、“或門”、“非門”、“觸發(fā)器”供實驗時選擇使用。2.2.32.2.3 用戶擴展實驗區(qū)用戶擴展實驗區(qū)實驗臺上設(shè)有5個通用數(shù)字集成電路插座,其中“通用插座A”“通用插座B”為20芯, “通用插座D”為40芯活動插座以方便插拔器件。其余為14芯。插座的每個引腳都用自鎖緊插孔引出。實驗指導(dǎo)書中所列出的部分實驗(簡單并行接口、串行通信、集成電路

19、測試等)電路就是利用這些插座搭試的。利用這些插座可以進行數(shù)字電路實驗,也可以設(shè)計開發(fā)新的接口實驗或讓學(xué)生做課程設(shè)計、畢業(yè)設(shè)計等項目。102.2.42.2.4 實驗臺跳線開關(guān)實驗臺跳線開關(guān)為了方便實驗,實驗臺上設(shè)有跳線開關(guān),分以下幾種:1.實驗類型選擇開關(guān)JB、JC:這兩個跳線開關(guān)在在實驗臺的左上角,50線總線插座的左下方。在TPC-USB實驗系統(tǒng)中不起作用,用戶無須設(shè)置。2.模擬量輸入選擇開關(guān)JP2、JP3:在實驗臺ADC0809的左上角,分別用于模/數(shù)轉(zhuǎn)換模擬量的輸入極性選擇,JP2的1、2兩點短路時ADC0809的IN2可輸入雙極性電壓(5V5V),2、3兩點短路時輸入單極性電壓(05V)

20、。JP3用于選擇IN1的輸入極性,選擇方法與JP19相同。3.5V電源插針:為減輕5 V電源負載和各主要芯片的安全,在各主要實驗電路附近都有相應(yīng)的電源連接插針(標記為5V),當(dāng)實驗需要該部分電路時,用短路子短接插針即可接通5V電源.對用不到的電路可將短路片拔掉確保芯片安全。2.2.52.2.5 2020芯雙排插座芯雙排插座實驗臺上有一個20芯雙排插座J7,用于外接附加的鍵盤顯示實驗板和其它用戶開發(fā)的實驗板。J7各引腳信號安排如下:19 17 15 13 11 9 7 5 3 1D0D1D2D3D4D5D6D7IRQCSRES+5V+5VIORIOWA0A1CLKGNDGND20 18 16 1

21、4 12 10 8 6 4 2在J7的附近有兩個短路插針標有“CS”和 “IRQ”。當(dāng)“CS”的兩點短接后,譯碼器的280H287H連接到J7的CS端。當(dāng)你擴展板上的實驗需要中斷信號時將“IRQ”的兩端短接,不需要時應(yīng)將其斷開。2.2.62.2.6 直流穩(wěn)壓電源直流穩(wěn)壓電源實驗箱自備電源,安裝在實驗大板的下面,交流電源插座固定在實驗箱的后測板上,交流電源開關(guān)在實驗箱的右側(cè),交流電源開關(guān)自帶指示燈,當(dāng)開關(guān)打開時指示燈亮。在實驗板右上角有一個直流電源開關(guān),交流電源打開后再把直流開關(guān)撥到“ON”的位置,直流+5V +12V 12V就加到實驗電路上。主要技術(shù)指標:輸入電壓 AC 175265V 輸出電

22、壓/電流5V/2.5A +12V/0.5A -12V/0.5A 輸出功率 25W11第三章第三章 TPC-USBTPC-USB集成軟件開發(fā)環(huán)境集成軟件開發(fā)環(huán)境3.13.1 TPC-USBTPC-USB集成開發(fā)環(huán)境軟件包集成開發(fā)環(huán)境軟件包TPC-USB集成開發(fā)環(huán)境是TPC-USB實驗系統(tǒng)所配套的軟件。提供了用戶程序的編輯和編譯,調(diào)試和運行,實驗項目的查看和演示,實驗項目的添加等功能。本軟件基于windows2000/XP/2003環(huán)境,界面簡潔美觀,功能齊全。集成開發(fā)環(huán)境主界面如圖3-1:圖3-1 軟件主界面3.23.2 TPC-USBTPC-USB集成開發(fā)環(huán)境使用集成開發(fā)環(huán)境使用3.2.13.

23、2.1 用戶程序的編輯和編譯用戶程序的編輯和編譯TPC-USB集成開發(fā)環(huán)境軟件支持匯編程序(.asm文件)類型的程序開發(fā)。除了一般的編輯功能外,本軟件還支持語法高亮顯示,語法錯誤提示等功能,大大提高了程序的可讀性。用戶編輯好程序并保存后,即可方便地進行編譯。1.新建一個源程序在當(dāng)前運行環(huán)境下,選擇菜單欄中的“文件”菜單,菜單下拉后選擇“新建”,或是在工具欄中單擊“新建”快捷按鈕,會出現(xiàn)源程序編輯窗口,建議用“另存為”為文件取名保存后,就新建一個“.asm”文件。2.打開一個源程序當(dāng)前運行環(huán)境下,選擇菜單欄中的“文件”菜單,菜單下拉后選擇“打開”,或是在工具欄中單擊“打開”,會彈出“打開”文件選

24、擇窗口,“打開”窗口如圖3-4所示:12圖3-4 打開一個源程序在窗口中“文件類型”下拉菜單中選擇“ASM文檔(*.asm)一項,程序即顯示當(dāng)前目錄下所有的asm文檔,單擊要選擇的文件,選中的文件名會顯示在“文件名”中,單擊“打開”則打開當(dāng)前選中的文檔顯示在文檔顯示區(qū)域。點擊“取消”則取消新建源文件操作。3.編輯源程序本軟件提供了基本的編輯功能,并實現(xiàn)了實時的語法高亮,各項操作說明如下:撤消當(dāng)前運行環(huán)境下,選擇菜單欄中的“編輯”菜單,菜單下拉后選擇“撤消”,或是在工具欄中單擊“撤消”,即可撤消上一步剪切或粘貼操作。剪切當(dāng)前運行環(huán)境下,選擇菜單欄中的“編輯”菜單,菜單下拉后選擇“剪切”,或是在工

25、具欄中單擊“剪切”,即可將文檔顯示區(qū)域中選中的內(nèi)容剪切到剪貼板。復(fù)制當(dāng)前運行環(huán)境下,選擇菜單欄中的“編輯”菜單,菜單下拉后選擇“復(fù)制”,或是在工具欄中單擊“復(fù)制”,即可將文檔顯示區(qū)域中選中的內(nèi)容復(fù)制到剪貼板。粘貼當(dāng)前運行環(huán)境下,選擇菜單欄中的“編輯”菜單,菜單下拉后選擇“粘貼”,或是在工具欄中單擊“粘貼”,即可將剪貼板中當(dāng)前內(nèi)容粘貼到文檔顯示區(qū)域光標所在處。全選當(dāng)前運行環(huán)境下,選擇菜單欄中的“編輯”菜單,菜單下拉后選擇“全選”,即可將文檔區(qū)域中所有內(nèi)容選中。查找當(dāng)前運行環(huán)境下,選擇菜單欄中的“編輯”菜單,菜單下拉后選擇“查找”,彈出查找對話框如圖3-5所示:圖3-5 查找 圖3-6 查找下一個

26、13在查找內(nèi)容一欄中輸入需要查找的內(nèi)容,可選擇“區(qū)分大小寫”的查找方式,單擊“查找下一個”程序則在文檔顯示區(qū)域中搜索與查找內(nèi)容匹配的字符串,找到第一個后則高亮顯示,用戶點擊查找下一個則繼續(xù)搜索下一個匹配字符串,點擊“取消”退出查找操作。替換當(dāng)前運行環(huán)境下,選擇菜單欄中的“編輯”菜單,菜單下拉后選擇“替換”,彈出替換對話框如圖3-6所示:在查找內(nèi)容一欄中輸入需要查找的內(nèi)容,可選擇“全字匹配”與“區(qū)分大小寫”的查找方式,在替換為一欄中輸入需要替換的內(nèi)容,單擊“查找下一個”程序則在文檔顯示區(qū)域中搜索與查找內(nèi)容匹配的字符串,找到第一個后則高亮顯示,用戶可單擊“替換”將匹配的字符串替換,也可單擊“全部替

27、換”將當(dāng)前文檔顯示區(qū)域中所有與查找內(nèi)容匹配的字符串全部替換。單擊“查找下一個”則繼續(xù)搜索下一個匹配字符串。也可單擊“取消”退出查找操作。4.保存源程序當(dāng)前運行環(huán)境下,選擇菜單欄中的“文件”菜單,菜單下拉后選擇“保存”,如果是無標題文檔,用戶需在提示下輸入文檔的名稱及選擇保存的路徑,單擊確定后保存;否則程序自動保存當(dāng)前文檔顯示區(qū)域中顯示的文檔。或者選擇菜單欄中的“文件”菜單,菜單下拉后選擇“另存為”,并在提示下輸入文檔的名稱及選擇保存的路徑,單擊確定后保存。3.2.23.2.2 編譯源程序編譯源程序1.編譯調(diào)試窗口在當(dāng)前運行環(huán)境下,選擇菜單欄中的“查看”菜單,單擊編譯調(diào)試窗口選項或是單擊工具欄中

28、“輸出窗口”按鈕則可對輸出欄的進行顯示。若當(dāng)前環(huán)境顯示編譯調(diào)試窗口,則單擊查看輸出窗口選項即可隱藏該窗口,編譯調(diào)試輸出窗口選項即消失;若當(dāng)前隱藏編譯調(diào)試窗口,則單擊輸出窗口選項即可顯示該窗口,編譯調(diào)試窗口將顯示。2.ASM編譯匯編+鏈接在當(dāng)前運行環(huán)境下,選擇菜單欄中的“項目”菜單,選擇匯編+鏈接選項則程序?qū)Ξ?dāng)前ASM源文件進行匯編與鏈接,編譯調(diào)試窗口中輸出匯編與鏈接的結(jié)果,若程序匯編或鏈接有錯,則詳細報告錯誤信息。雙擊輸出錯誤,集成開發(fā)環(huán)境會自動將錯誤所在行代碼高亮顯示。開始+執(zhí)行在當(dāng)前運行環(huán)境下,選擇菜單欄中的“項目”菜單,選擇開始+執(zhí)行選項則程序?qū)Ξ?dāng)前ASM源文件執(zhí)行,程序自動運行。3.2

29、.33.2.3 用戶程序的調(diào)試和運行用戶程序的調(diào)試和運行1.ASM程序的調(diào)試寄存器窗口在當(dāng)前運行環(huán)境下,選擇工作區(qū)的“寄存器”菜單,寄存器窗口即可顯示。寄存器窗口中顯示主要的寄存器名稱及其在當(dāng)前程序中的對應(yīng)值,若值為紅色,即表示當(dāng)前寄存器的值。調(diào)試時,單步執(zhí)行,寄存器會隨每次單步運行改變其輸出值,同樣以紅色顯示。開始調(diào)試14在“選項”菜單中,“編譯選項”選擇“調(diào)試”,然后進行進行程序的編譯和鏈接,編譯和鏈接成功之后,調(diào)試工具將會顯示,也可以在“項目”中選擇“開始/結(jié)束調(diào)試”。即可開始進行程序的調(diào)試。編譯選項選擇如圖3-7: 圖3-7 編譯選項的選擇 圖3-8 設(shè)置/清除斷點在ASM程序正常鏈接

30、之后,選擇菜單欄中的“開始/結(jié)束調(diào)試”菜單,選擇開始調(diào)試選項,則對源程序進行反匯編,進入ASM的調(diào)試狀態(tài),并在寄存器窗口中顯示主要的寄存器的當(dāng)前值。設(shè)置/清除斷點在ASM的調(diào)試狀態(tài)下,對程序代碼所在某一行前的灰色列條單擊鼠標,即對此行前設(shè)置了斷點,如果清除斷點,只需再在此行前的灰色列條上的斷點單擊鼠標,此斷點標記將被清除。黃色箭頭所指的行為當(dāng)前單步執(zhí)行到的所在行。設(shè)置/清除斷點如圖3-8所示:連續(xù)運行在ASM的調(diào)試狀態(tài)下,選擇“項目”菜單欄中的“連續(xù)運行”菜單或F5,則程序連續(xù)運行,直至碰到斷點或程序運行結(jié)束。單步在ASM的調(diào)試狀態(tài)下,選擇“項目”菜單欄中的“單步執(zhí)行”菜單或F11,則程序往后

31、運行一條語句。退出調(diào)試在ASM的調(diào)試狀態(tài)下,選擇“項目”菜單欄中的“開始/結(jié)束調(diào)試”菜單,程序則退出ASM的調(diào)試狀態(tài)。 命令調(diào)試集成開發(fā)環(huán)境可以進行命令的調(diào)試,如圖3-9。調(diào)試時,輸出窗口可以輸出編譯信息,命令信息,內(nèi)存查看信息,棧查看信息等。如圖3-1015 圖3-9 命令調(diào)試圖 3-10 內(nèi)存查看輸出窗口3.2.43.2.4 常用調(diào)試命令常用調(diào)試命令調(diào)試指令與debug稍有區(qū)別,具體調(diào)試命令如下:bochs提供了強大的命令行調(diào)試功能,本集成開發(fā)環(huán)境在其之上包裝了一個簡便易用的圖形界面。如果這個界面不能滿足您的要求,還可以使用命令欄直接輸入調(diào)試命令與bochs交互。 所有調(diào)試命令bochs都

32、提供了簡要的用法說明,輸入“help”(不帶引號)可查看可用的命令,help cmd(帶引號)可查看命令cmd相關(guān)的幫助。 下面是一些常用的命令說明及示例:1.反匯編 (u)用法:u /count start end反匯編給定的線性地址,可選參數(shù)count是反匯編指令的條數(shù)例:u 反匯編當(dāng)前 cs:ip 所指向的指令u /10 從當(dāng)前 cs:ip 所指向的指令起,反匯編10條指令u /12 0 xfeff 反匯編線性地址 0 xfeff 處開始的12條指令2.查看內(nèi)存 (x)用法:x /nuf addr查看線性地址addr處的內(nèi)存內(nèi)容nuf 由需要顯示的值個數(shù)和格式標識xduot cbhw m

33、組成,未指明用何種格式的情況下將使用上一次的格式。x: 十六進制d: 十進制u: 無符號o: 八進制16t: 二進制c: 字符b: 字節(jié)h: 半字w: 字(四字節(jié))m: 使用memory dump模式例:x /10wx 0 x234 以十六進制輸出位于線性地址 0 x234 處的 10 個雙字x /10bc 0 x234 以字符形式輸出位于線性地址 0 x234 處的 10 個字節(jié)x /h 0 x234 以十六進制輸出線性地址 0 x234 處的 1 個字3.查看寄存器 (info reg)用法:info reg查看CPU整數(shù)寄存器的內(nèi)容4.修改寄存器 (r)用法:r reg = expres

34、sionreg 為通用寄存器expression 為算術(shù)表達式例:r eax = 0 x12345678 對 eax 賦值 0 x12345678r ax = 0 x1234 對 ax 賦值 0 x1234r al = 0 x12 + 1 對 al 賦值 0 x135.下斷點 (lb)用法:lb addr下線性地址斷點例:lb 0 xfeff 在 0 xfeff 下線性地址斷點,0f00:eff 所處線性地址就是 0 xfeff6.查看斷點情況 (info b)用法:info b7.刪斷點 (del n)用法:del n刪除第 n 號斷點例:del 2 刪除 2 號斷點,斷點編號可通過前一個命

35、令查看8.連續(xù)運行 (c)用法:c在未遇到斷點或是 watchpoint 時將連續(xù)運行9.單步 (n 和 s)用法:n執(zhí)行當(dāng)前指令,并停在緊接著的下一條指令。如果當(dāng)前指令是 call、ret,則相當(dāng)于 Step Over。s count 執(zhí)行 count 條指令10.退出 (q)17用法:q3.2.53.2.5 實驗項目的查看和演示實驗項目的查看和演示本軟件提供了實驗項目的查看和演示功能,包括實驗說明、實驗原理圖、實驗流程圖、ASM程序,并可以運行實驗程序。示例如圖3-11:圖3-11實驗項目的查看和演示各實驗有幾個子項,包括實驗說明、實驗原理圖、實驗流程圖、ASM程序和運行實驗。單擊對應(yīng)子項

36、,即可查看對應(yīng)的項目。實驗說明雙擊實驗說明子項,即可彈出對應(yīng)實驗的實驗說明。實驗原理圖雙擊實驗原理圖子項,即可彈出對應(yīng)實驗的實驗原理圖。實驗流程圖雙擊實驗流程圖子項,即可彈出對應(yīng)實驗的實驗流程圖。ASM程序雙擊ASM程序子項,即可彈出對應(yīng)實驗的ASM程序源文件。運行實驗雙擊運行實驗子項,即可執(zhí)行對應(yīng)實驗的可執(zhí)行程序。3.2.63.2.6 實驗項目的添加和刪除實驗項目的添加和刪除除預(yù)定義的26個常用實驗外,本軟件還支持自定義實驗,方便用戶擴展實驗內(nèi)容。用戶可以自行添加實驗,被添加的實驗將作為“自定義實驗”的子類,之后便能在演示實驗中進行查看,查看方式和預(yù)定義實驗相同。1.添加實驗在當(dāng)前運行環(huán)境下

37、,選擇菜單欄“演示實驗”菜單選項,在下層目錄中選擇自定義實驗選項,則出現(xiàn)TPC-USB自定義實驗對話框,如圖3-12所示:18 圖3-12 自定義實驗 圖3-13 添加實驗用戶可以對自定義實驗進行添加和刪除操作。點擊添加實驗按鈕,則彈出添加實驗對話框,如圖3-13。用戶可以直接輸入目標文件地址或是通過右側(cè)的瀏覽按鈕來選擇文件,需要注意的是,添加實驗時實驗名稱和可執(zhí)行程序是必不可少的。2.刪除實驗自定義實驗是可以刪除的。在當(dāng)前運行環(huán)境下,選擇菜單欄中的“演示實驗”菜單,選擇自定義實驗選項,在自定義實驗對話框中選定待刪除的實驗,點擊刪除實驗按鈕,則彈出確認對話框,確認后選定的實驗將被刪除,否則取消

38、刪除操作。如圖3-14所示:圖3-14 實驗刪除3.2.73.2.7 集成開發(fā)環(huán)境幫助菜單集成開發(fā)環(huán)境幫助菜單集成開發(fā)環(huán)境幫助菜單方便用戶對軟件使用,芯片查尋,常用命令查詢等。19第四章第四章 實驗部分實驗部分說明說明: :1 1、實驗電路介紹中凡不加、實驗電路介紹中凡不加“利用通用插座利用通用插座”說明的均為實驗臺上已固定電路。說明的均為實驗臺上已固定電路。2 2、實驗電路連線在圖中均用虛線表示,實線為已連好電路。、實驗電路連線在圖中均用虛線表示,實線為已連好電路。3 3、必做實驗:實驗一、實驗二、實驗三、實驗四、實驗六、實驗九、必做實驗:實驗一、實驗二、實驗三、實驗四、實驗六、實驗九 其余

39、為選做實驗其余為選做實驗實驗一實驗一 簡單程序運行調(diào)試實驗簡單程序運行調(diào)試實驗一、實驗?zāi)康囊?、實驗?zāi)康耐ㄟ^對DEBUG調(diào)試程序的使用,熟悉用DEBUG調(diào)試匯編語言程序的方法,加深對匯編語言指令、機器碼、尋址方式等基本內(nèi)容的理解,為后續(xù)程序編制和調(diào)試打下基礎(chǔ)。二、實驗內(nèi)容二、實驗內(nèi)容1、參考教材,熟悉DEBUG的使用方法,運行各種命令,觀察運行后的情況。 2、用DEBUG調(diào)試程序調(diào)試匯編語言程序三、參考程序三、參考程序;此程序比較數(shù)據(jù)段和附加段的兩串字符串string1和string2是否相等;若相等,顯示“string1 match string2”,否則顯示“the two strings

40、are nomatch”; 定義數(shù)據(jù)段DSEG SEGMENT DATA string1 db I am a student. ;字符串一 match db string1 match string2,13,10,$ nomatch db the two strings are nomatch,13,10,$ quit db press any key to exit.,13,10,$DSEG ENDS; 附加段eseg segment string2 db I am a student. ;字符串二eseg ends;定義代碼段CSEG SEGMENT CODESTART PROC FAR

41、assume cs:cseg,ds:dseg,es:eseg;-保存返回DOS的地址 PUSH DS MOV AX, 0 PUSH AX;設(shè)置段寄存器 MOV AX, DSEG MOV DS, AX mov ax,eseg MOV ES, AX lea si,string1 lea di,string2 mov cx,1520 cld repe cmpsb cmp cx,0 jz mat;兩字符串不等 mov ah,9 lea dx,nomatch int 21h jmp waitforexit;兩字符串相等mat: mov ah,9 lea dx,match int 21h;按任意鍵退出wa

42、itforexit: mov ah,9 lea dx,quit int 21h mov ah,1 int 21h ; 返回DOS exit: RETSTART ENDPCSEG ENDSEND START ; set entry point.21實驗二實驗二 匯編語言程序調(diào)試實驗匯編語言程序調(diào)試實驗一、實驗?zāi)康囊?、實驗?zāi)康倪M一步熟悉用DEBUG調(diào)試匯編語言程序的方法,加深對匯編語言指令、機器碼、尋址方式等基本內(nèi)容的理解,為后續(xù)程序編制和調(diào)試打下基礎(chǔ)。二、實驗內(nèi)容二、實驗內(nèi)容1、參考教材,熟悉DEBUG的使用方法,運行各種命令,觀察運行后的情況。 2、用DEBUG調(diào)試程序調(diào)試匯編語言程序三、參考

43、程序三、參考程序CRLF MACRO MOV AH,02H MOV DL,0DH INT 21H MOV AH,02H MOV DL,0AH INT 21HENDMDATA SEGMENTBUF DB 82 DUP(?)DATA ENDSSTACK SEGMENT PARA STACKSTACKSTA DB 50 DUP(?)TOP EQU LENGTH STASTACK ENDSCODE SEGMENTASSUME CS:CODE,DS:DATA,ES:DATA,SS:STACKSTART: MOV AX,DATA MOV DS,AX MOV ES,AX MOV AX,STACK MOV S

44、S,AX MOV SP,TOP MOV BX,OFFSET BUFKKK: MOV SI,0000H GGG: MOV AH,01H INT 21H CMP AL,03H JZ PPP CMP AL,0DH JZ BBB CMP AL,61H JB TTT CMP AL,7AH JA TTT 22SUB AL,20H TTT: MOV BX+SI,AL INC SI JMP GGG BBB: MOV BX+SI,AL MOV AL,0AH MOV BX+SI+1,AL MOV AL,$ MOV BX+SI+2,AL MOV AH,09H MOV DX,BX INT 21H JMP KKK PP

45、P: MOV AX,4C00H INT 21HCODE ENDSEND START23實驗三實驗三 簡單并行接口簡單并行接口實驗(設(shè)計性實驗)實驗(設(shè)計性實驗)一、實驗?zāi)康囊?、實驗?zāi)康?、掌握簡單并行接口的工作原理及使用方法。2、理解微機系統(tǒng)總線概念。二、實驗要求二、實驗要求1、利用74LS273、74LS32擴展并行輸出口,編程從鍵盤輸入一個字符或數(shù)字,將其ASC碼通過這個輸出接口輸出,根據(jù)8個發(fā)光二極管發(fā)光情況驗證正確性。2、利用74LS244、74LS32擴展并行輸入口,用邏輯電平開關(guān)預(yù)置某個字母的ASC碼,編程輸入這個ASC碼,并將其對應(yīng)字母在屏幕上顯示出來。三、提供的實驗器材三、提供

46、的實驗器材1、PC機2、TPC-USB實驗系統(tǒng)3、74LS273、74LS244芯片4、導(dǎo)線若干四、編程提示四、編程提示1、若并行輸出接口的地址為2A8H,并行輸入接口的地址為2A0H,則通過并行接口電路輸出數(shù)據(jù)需要3條指令: MOV AL,數(shù)據(jù) MOV DX,2A8H OUT DX,AL 通過并行接口輸入數(shù)據(jù)需要2條指令: MOV DX,2ADH IN AL,DX五、實驗報告要求五、實驗報告要求1、要求闡述所設(shè)計實驗硬件原理,并有相關(guān)方案論證。2、畫出設(shè)計的硬件電路圖。3、寫出程序,并加上相關(guān)程序注釋。4、分析實驗結(jié)果,并提出該實驗方案改進、優(yōu)化措施。24實驗四實驗四 可編程定時器計數(shù)器(可

47、編程定時器計數(shù)器(82538253)實驗實驗一、實驗?zāi)康囊弧嶒災(zāi)康?掌握8253的基本工作原理和編程方法。二、實驗內(nèi)容二、實驗內(nèi)容、按圖4-1虛線連接電路,將計數(shù)器0設(shè)置為方式0,計數(shù)器初值為N(N0FH),用手動逐個輸入單脈沖,編程使計數(shù)值在屏幕上顯示,并同時用邏輯筆觀察OUT0電平變化(當(dāng)輸入N+1個脈沖后OUT0變高電平)。+5VR2R31181213910CLK0GATE0OUT0CS+5V9111021U5 8253280H圖4-1、按圖4-2連接電路,將計數(shù)器0、計數(shù)器1分別設(shè)置為方式3,計數(shù)初值設(shè)為1000,用邏輯筆觀察OUT1輸出電平的變化(頻率1HZ)。1314151011

48、921CSOUT1GATE1CLK1OUT0GATE0CLK0U5 8253+5V+5V1MHZ280H圖4-2三、編程提示三、編程提示1、8253控制寄存器地址283H計數(shù)器0地址280H計數(shù)器1地址281HCLK0連接時鐘1MHZ2、參考流程圖(見圖4-3、圖4-4):開始設(shè)計數(shù)器0為工作方式0送計數(shù)器初值讀計數(shù)器值顯示計數(shù)值有鍵按下嗎?結(jié)束開始設(shè)計數(shù)器0為工作方式3向計數(shù)器0送初值1000先送低字節(jié)后送高字節(jié)設(shè)計數(shù)器1為工作方式3向計數(shù)器1送初值1000先送低字節(jié)后送高字節(jié)結(jié)束NY 圖4-3 圖4-4253、參考程序1: E8253_1.ASMio8253aequ 283hio8253b

49、equ 280hcode segmentassume cs:codestart: mov al,14h ;設(shè)置8253通道0為工作方式2,二進制計數(shù) mov dx,io8253a out dx,al mov dx,io8253b ;送計數(shù)初值為0FH mov al,0fh out dx,allll: in al,dx ;讀計數(shù)初值 call disp ;調(diào)顯示子程序 push dx mov ah,06h mov dl,0ffh int 21h pop dx jz lll mov ah,4ch ;退出 int 21hdisp proc near ;顯示子程序 push dx and al,0fh

50、 ;首先取低四位 mov dl,al cmp dl,9 ;判斷是否9jle ddd ;若不大于則為0-9,加30h為其ASCII碼add dl,7 ;否則為A-F,再加7ddd: add dl,30h ;顯示mov ah,02int 21hretdisp endpcode endsend start六、參考程序六、參考程序: : AD_2.ASMio0809bequ 299hcode segmentassume cs:codestart:mov ax,0012h ;設(shè)屏幕顯示方式為VGA 640X480模示int 10hstart1: mov ax,0600hint 10h;清屏and cx,

51、0 ;cx為橫坐標draw:mov dx,io0809b ;啟動A/D轉(zhuǎn)換器通道1out dx,almov bx,200 ;延時delay:dec bxjnz delayin al,dx ;讀入數(shù)據(jù)mov ah,053mov dx,368 ;dx為縱坐標sub dx,axmov al,0ah ;設(shè)置顏色mov ah,0ch ;畫點int 10hcmp cx,639 ;一行是否滿jz start1 ;是則轉(zhuǎn)startinc cx ;繼續(xù)畫點push dxmov ah,06h ;是否有鍵按下mov dl,0ffhint 21hpop dxje draw ;無,則繼續(xù)畫點mov ax,0003 ;有

52、恢復(fù)屏幕為字符方式int 10hmov ah,4ch ;返回int 21hcode endsend start54實驗十三實驗十三 DMADMA傳送傳送實驗實驗一、實驗?zāi)康囊弧嶒災(zāi)康?、掌握PC機工作環(huán)境下進行DMA方式數(shù)據(jù)傳送(Block MODE和Demand Mode)(塊傳送、外部請求傳送)方法。2、掌握DMA的編程方法。二、實驗內(nèi)容二、實驗內(nèi)容1、用通用插座按圖13-1將6116電路連接好。編程將主機內(nèi)存緩沖區(qū)D4000H,偏移量為0的一塊數(shù)據(jù)循環(huán)寫入字符AZ,用Block MODE DMA方式傳送到實驗箱上的RAM6116上,并察看送出的數(shù)據(jù)是否正確。D0D1D2D3D4D5D6

53、D7CS91011131415161718RDWE202187654321221923D0D1D2D3D4D5D6D7MEMRMEMWA0A1A2A3A4A5A6A7A8A9A10A0A1A2A3A4A5A6A7A8A9A106116MEMCS+5VGND圖13-12、用通用插座按圖13-2連接好電路(74LS74利用實驗臺上的D觸發(fā)器)。編程將主機內(nèi)存緩沖區(qū)D4000H,偏移量為0的10個數(shù)據(jù),使用Demand Mode DMA方式從內(nèi)存向外設(shè)傳送。圖13-23、用通用插座按圖13-3連接好電路(74LS74利用實驗臺上的D觸發(fā)器)。編程在主機內(nèi)存緩沖區(qū)D4000H,偏移量為0的位置開辟數(shù)據(jù)

54、緩沖區(qū),使用Demand Mode DMA方式從外設(shè)向內(nèi)存?zhèn)魉?個數(shù)據(jù)并存入數(shù)據(jù)緩沖區(qū),編程不斷顯示緩沖區(qū)的數(shù)據(jù)。圖13-355三、實驗提示實驗提示1、請求是由單脈沖輸入到觸發(fā)器,由觸發(fā)器的端向DRQ1發(fā)出的。CPU響應(yīng)后發(fā)出1,將觸發(fā)器Q置成低電平以撤消請求。DACK2、匯編程序中,為避免與系統(tǒng)8237有沖突,TPC-USB模塊上的8237端口范圍為10H-1F,即按通常模式進行DMA編程時,對8237所有端口均加10H。四、參考流程圖四、參考流程圖(見圖13-4、圖13-5、圖13-6)開始向D400h:0起始地址寫入100h個A-Z初始化8237設(shè)置目的地址設(shè)置傳送字節(jié)通道1寫傳輸,通道

55、0讀傳輸,地址增設(shè)置控制寄存器軟件請求8237顯示目的地址的100h個字節(jié)結(jié)束設(shè)置源地址圖13-4開始初始化將10個數(shù)據(jù)放入D400h:0開始單元清字節(jié)指針觸發(fā)器寫通道1方式字:單字節(jié)讀傳輸,地址增量置通道1頁面寄存器為0dh寫地址低16位為4000H寫入傳送的字節(jié)數(shù)清除通道1的屏蔽,啟動8237結(jié)束開始初始化將一串空格放在D400h:0開始單元清字節(jié)指針觸發(fā)器寫通道1方式字:單字節(jié)寫傳輸,地址增量置通道1頁面寄存器為0dh寫地址低16位為4000H寫入傳送的字節(jié)數(shù)清除通道1的屏蔽,啟動8237顯示自內(nèi)存D400h:0開始的字符串有鍵按下? 結(jié)束圖13-5 圖13-6五、參考程序五、參考程序1

56、:1: DMA.asmcode segment assume cs:codestart: mov ax,0D000h mov es,ax mov bx,4000h mov cx,0ffh;100h mov dl,40hrep1:inc dl mov es:bx,dl inc bx56 cmp dl,5ah jnz ss1 mov dl,40h ss1: loop rep1 mov dx,18h ;關(guān)閉8237 mov al,04h out dx,al mov dx,1dh ;復(fù)位 mov al,00h out dx,al mov dx,12h ;寫目的地址低位 mov al,00h out d

57、x,al mov dx,12h ;寫目的地址高位 mov al,41h out dx,al mov dx,13h ;傳送字節(jié)數(shù)低位 mov al,0ffh;00h out dx,al mov dx,13h ;傳送字節(jié)數(shù)高位 mov al,0;1h out dx,al mov dx,10h ;源地址低位 mov al,00h out dx,al mov dx,10h ;源地址高位 mov al,40h out dx,al mov dx,1bh ;通道1寫傳輸,地址增 mov al,85h out dx,al mov dx,1bh ;通道0讀傳輸,地址增 mov al,88h out dx,al

58、mov dx,18h ;DREQ低電平有效,存儲器到存儲器,開啟8237 mov al,41h out dx,al mov dx,19h ;通道1請求57 mov al,04h ;04h out dx,al mov cx,0F000hdelay: loop delay mov ax,0D000h;- mov es,ax mov bx,04100h mov cx,0ffh;0100hrep2: mov dl,es:bx mov ah,02h int 21h inc bx loop rep2 mov ax,4c00h int 21h code ends end start六、參考程序六、參考程序2

59、:2: DMA_O.asmdata segmentoutdata db 01,02,04,08,10h,20h,40h,80h,0ffh,00hdata endsextra segment at 0d400hext db 10 dup(?)extra endscode segmentassume cs:code,ds:data,es:extrastart: mov ax,data mov ds,ax mov ax,extra mov es,ax lea si,outdata lea di,ext cld mov cx,10 rep movsb out 1ch,al ;清字節(jié)指針58 mov a

60、l,49h ;寫方式字 out 1bh,al mov al,0dh ;置地址頁面寄存器 out 83h,al mov al,0 ;寫入基地址低十六位 out 12h,al mov al,40h out 12h,al mov al,0ah ;寫入傳送的字節(jié)數(shù)10 out 13h,al ;先寫低字節(jié) mov al,00h out 13h,al ;后寫高字節(jié) mov al,01 ;清通道屏蔽,啟動DMA out 1ah,al mov ah,4ch int 21h code ends end start七、參考程序七、參考程序3:3: DMA_I.asmdata segmentindata1 db 8

溫馨提示

  • 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)容負責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論