微機原理實驗指導書_第1頁
微機原理實驗指導書_第2頁
微機原理實驗指導書_第3頁
微機原理實驗指導書_第4頁
微機原理實驗指導書_第5頁
已閱讀5頁,還剩192頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

TD-PITE功能特 TD-PITE系統(tǒng)構 第2 TD-PITE系統(tǒng)配置與安 第3 TD-PITE實驗系統(tǒng)硬件操作環(huán) 80X86微機系統(tǒng)單 程序及脫機運 第4 Wmd86聯(lián)機軟件系統(tǒng)概 Wmd86使用說 第5 80X86系統(tǒng)編程信 80X86指令及程序設 靜態(tài)器擴展實 電子設計實 附錄1系統(tǒng)實驗程序.............................................................................................................附錄2系統(tǒng)編程信 附2.1地址分配情 附2.2常用BIOS及DOS功能調(diào)用說 1章TD-PITE隨著多、網(wǎng)絡等技術的普及,In公司為滿足嵌入式應用的需求,推出In386EX微I386EX為“TD-PITE32位微機教學實驗系統(tǒng)旨在推“80X86微機原理及接術”TD-PITE32PC104i386EX單板機和一個開放的微機接口教學實驗平臺,通386I386EX是一款嵌入式微處理器其在In386SX微處理器的基礎上集成了豐富的接(3280386CPU80X86微機原理及接口技術課程的教學,使教學內(nèi)容與主流技術相一致,達到的目的。該系統(tǒng)通過串口與PC微機相連,構成開放式的微機原理及接術實驗教學系統(tǒng)。其豐富的實驗單元,先進的接口,完全滿足微機原理及接術課程的教學要求。I386EXPC-104總線標準,PC-104PC機已經(jīng)得到廣泛的應用,并行接口、串行通口、SRAM、ADC0809、DAC0832、單次脈沖、鍵盤掃描及數(shù)可高水平地支持實驗程序地動態(tài)調(diào)試。對部分實驗提供圖形顯示界面,方便實驗現(xiàn)象地觀80X86C語言程序設計。PC-104I386EX系統(tǒng)板嵌入到真實的應用系統(tǒng)中。開放特性,系統(tǒng)總線及各種接口器件都可由用戶來操作連接,從而極大地提高了學生的實線而導致的損壞情況。TD-PITETD-PITE是一套80X86微機原理及接術實驗教學系統(tǒng),其主要系統(tǒng)構成如表1-2-11-2-1TD-PITEIn器系統(tǒng)程序器:Flash數(shù)據(jù)器216組電平開關,16組電平顯示LED燈(正邏輯2401-2-11-2-1TD-PITEIn386TMEX嵌入式處理器框圖如圖1-2-2所示In386CXIn386CX-A20圖1-2-2In386TMEX嵌入式處理器框1-2-3I386EX系統(tǒng)板引出的管腳的排列順序以及對應的管腳名稱。信號都提供,引腳名稱空處為未提供的信號。JP2這兩排針上提供了I386EX的一些功能引 I386EX系統(tǒng)板引出管腳排列及名TD-PITE1-2-4 TD-PITE實驗箱布局 8237A/DD/A轉換單SRAM8254開關及LED8255直流電機單2TD-PITETD-PITEI386EX系統(tǒng)板和接口實驗平臺兩部分組合而成,出廠時已將兩部分連接好。TD-PITE2-1-1所列。2-1-1TD-PITEI386EX14×4基本接口11111635BYJ46111實驗擴展2DB9座(USB座1116×16LED11液晶(可選1151系統(tǒng)板(可選12-2-1PC微機的串口與系統(tǒng)實驗平臺串口通過RS-232C通訊電纜連在一起。PC機的硬件連接。2-2-1PC隨設備提供了Wmd86聯(lián)機操作軟件,該軟件具有匯編語言和C語言源語言級調(diào)試界Wmd86Wmd86在光盤中本軟件安 下找到安裝Wmd86.exe,雙擊執(zhí)行,出現(xiàn)安裝界面如下圖所示閱讀協(xié)議并選擇“我接受該協(xié)議的條款點擊“下一步出現(xiàn)下圖所示路徑選擇C:\angDu\Wmd86點擊“確定”按鈕,Wmd86Wmd86Wmd863TD-PITE3-1-1。3-1-180X86說說系統(tǒng)數(shù)據(jù)線(輸入/輸出8259中斷請求信號(輸入系統(tǒng)地址線(輸出8259中斷請求信號(輸入BHE#、字節(jié)使能信號(輸出器讀、寫信號(輸出地址狀態(tài)信號(輸出IOW#、I/O讀、寫信號(輸出器待擴展信號(輸出復位信號(正輸出I/O接口待擴展信號(輸出復位信號(負輸出總線保持請求(輸入1MHz總線保持應答(輸出CLK12MHZ8259由于In386EX內(nèi)部集成有兩片8259A,且總線未開放INTA信號線,所以8259實I386EX8259IR6IR78259將中斷8259實驗部分。SRAMSRAM實驗單元由兩片62256組成32K×16的器單元,數(shù)據(jù)寬度為16位,低字GND3-2-1所示。3-2-1SRAM8237DMADMA823774LS5733-2-23-2-28237DMA8254定時/2-3所示。3-2-38254定時/825582553-2-43-2-4825582513-2-582518254單元的定時/3-2-58251模/數(shù)轉換實驗單元由ADC0809及電位器電路組成,ADC0809的IN7通道用于溫度控510Ω3-2-6所示。3-2-6模/D/ADAC0832LM324構成,采用單緩沖方式連接。通過兩級運算放大3-2-7所示。3-2-7數(shù)/3-2-84個共陰極數(shù)碼管、4×4鍵盤掃描陣列及3-2-8LED48×8LED器件組成,74LS574構成鎖存電路,2803013-2-9LEDLCD接口(可選擴展件3-2-10LCD3-2-11DC12V直流電機及霍爾器件組成,如圖3-2-12所示。UNL2803為驅(qū)動接口,由該組成驅(qū)動電路,輸入端N經(jīng)2803A、B、C、D2803 圖3-2-11步進電機單 圖3-2-12直流電機實驗單元與驅(qū)動電路3-2-14所示,AB為熱敏電阻的兩端。圖3-2-13電子單 圖3-2-14溫度控制單3-2-15邏輯開關及LED顯示單元由16組開關及16個LED組成,16組開 LEDLED3-2-163-2-16LED1 9111315171921231 911131517192123252729313335372 681012141618202224262830323436383-2-174011、12、13、14、15、16、17、18腳上,可由你根據(jù)需要來定X86系統(tǒng)總線單元各引腳相對應。JMC514TD-511腳RXD、TXD、GND、+5V。3-1-1CPU51386兩個檔位。開PC機通訊。386CPUSRAMRUN時,CPUPC斷開,若已經(jīng)將設計的實驗程序到系統(tǒng)的FLASH器中的話,則系統(tǒng)此時復位后即可直接運行你的實驗程序。3個時鐘供實驗用,分別是:1.8432MHz、184.32MHz18.432MHz程序及脫機運程序TD-PITE可以將實驗程序到系統(tǒng)器中,以實現(xiàn)脫機運行。將實驗程序編譯、程序”便可以將程序到系統(tǒng)器中。

3-3-1如果系統(tǒng)器中有實驗程序,可以實現(xiàn)脫機運行程序。實驗箱右側有一個短路塊RUN端,可以實現(xiàn)程序的脫機運行。如果將i386EXGND2中的附圖,JP220P3.6/PWRDOWNTD-PITESP-15型三路高效開關電源作為系統(tǒng)工作和304Wmd86聯(lián)機軟件是為TD系列微機原理及接術教學實驗系統(tǒng)配套的集成開發(fā)調(diào)試軟更簡單,視覺效果更直接。如果用戶習慣于DEBUG調(diào)試,點擊輸出區(qū)的調(diào)試亦可對源程DEBUG調(diào)試。用戶可以選擇是否堆棧,也可以通過“變量”框選擇哪些全局變量;寄數(shù)據(jù)是下位機中數(shù)據(jù)的真實反映在寄存器/變量/堆棧區(qū)改寫寄存器和變量的值即可改變Wmd86聯(lián)機軟件也集成了一個“圖形顯示”虛擬儀器,可用于幾個特殊實驗波形的Wmd86聯(lián)機軟件具有特點如下:支持匯編語言和C語言兩種編譯環(huán)境高度可視化的源語言級調(diào)試界實時監(jiān)視寄存器,能夠即時對寄存器中的值進行修改可以選擇要監(jiān)視的全局變量,進行實時監(jiān)視和即時修改可以選擇是否要實時監(jiān)視堆棧寄存器集成虛擬儀器:圖形顯示、示波器窗口86/變量/4-2-1點擊寄存器區(qū)可觀察和修改寄存器,點擊變量區(qū)可觀察和修改變量,點擊堆棧區(qū)4-2-1Wmd86DEBUG調(diào)試。結果區(qū)主要用于顯示程序加載結果、程序運行輸出結果和復位結果。結果區(qū)中有“加載中,請稍候”4-2-2(N(O您可同時打開多個文檔,點擊某文檔的可激活此文檔。您可用(C(S的文件名和下。當您第一次保存文檔時,Wmd86顯示另存為對會顯示另存為框以便您命名您的文檔 圖4-2-2文件菜(P(V(R:(X4-2-3(T用。把數(shù)據(jù)剪切到剪貼板上將取代原先存放在那里的內(nèi)容 圖4-2-3編輯菜)(C)此命令則不可用。把數(shù)據(jù)到剪貼板上將取代以前存在那里的內(nèi)容(P(6)查找:點擊此命令將彈出查找框,如圖4-2-4所示,用于查找指定字符串圖4-2-4查找whatANG1符串‘ANG10“FindNext”按鈕:查找下一個字符串,如果是第一次查找則從當前光標處開始向下“Cancel”按鈕:取消查找框圖4-2-5替換“Rece”編輯框:替換后的字符串“Wholefile“FindNext”按鈕:查找下一個字符串。如果是第一次查找,從當前光標位置開始查“ReceAll”按鈕:用指定字符串替換全部能夠找到的字符串。4-2-64-2-6(T:(Sa、標準:用此命令可顯示和隱藏標準。標準包括了Wmd86中一些最普通命令的按鈕,如文件打開。在被顯示時,一個打勾記號出現(xiàn)在該菜單(W(O(B:(D:(C4-2-7

4-2-7 (2)端口測試:此命令用來對當前選擇的COM口進行聯(lián)機通訊測試,并報告4-2-8(1)編譯(C:編譯當前活動文檔中的源程序,在源文件下生成目標文件。如果4-2-8(2)(L:編譯生成的目標文件,在源文件下生成可執(zhí)行文件。如果有應重新“編譯”和“”。如果沒有錯誤生成(即使有警告生成使能“加載”菜單項和工具(D:區(qū)顯示“加載成功!”,使能“調(diào)試”菜單中的菜單項和調(diào)試中的按鈕,此時CS和IP指向“調(diào)試”菜單中的菜單項和調(diào)試中的按鈕,此時應重新進行“加載”。(T:4-2-9

4-2-9 CC語言程序中出現(xiàn)浮點運161616323232變量加載成功后才可用此按鈕系統(tǒng)只能監(jiān)視全局變量在匯編語言源文件中用關鍵字PUBLIC在源程序的最前面之。堆棧:用于選擇是否堆棧 個變量成為全局變量的方法是用關鍵字PUBLIC在源程序的最前面之,格式是:PUBLIC譯、、加載完成后,可對這兩個變量進行。(3)堆棧選擇“不堆?!眴芜x按鈕,確定后不監(jiān)視堆棧寄存器,選擇“堆?!眴芜x按鈕,確定后監(jiān)視堆棧寄存器。默認選項為“不堆棧。4-2-104-2-10所有行都可以設置斷點如偽操作行和空行不能設置斷點源程序設置的斷點數(shù)過8個(D(J點,即程序從此行開始運行,寄存器區(qū)的CSIP的值刷新后指向此行,設置程序起點的(T(O程序:將實驗程序到系統(tǒng)器FLASH中,以實現(xiàn)程序的脫機運行。此命 具體各項說明詳見圖形顯示介紹(N(C:(T:(A窗口1,2,…:Wmd86在窗口菜單的底部顯示出當前打開的文檔窗口的。有一個(H:(2)關于(A)Wmd86:用此命令來顯示您的Wmd86版本 通告和版本號碼標準共有十二個按鈕,如下圖所示 Wmd86 按鈕:用此命令將當前活動文檔保存到其當前的文件名 下 按鈕:用此命令將被選取的數(shù)據(jù)到剪切板上 按鈕:堆棧按鈕,點擊此按鈕將彈出堆??颍?4)按鈕 圖形顯示(15)按鈕:用來啟動示波器功能編譯共有五個按鈕,其圖如下: (1)編譯:編譯當前活動文檔中的源程序,在源文 下生成目標文件 :編譯生成的目標文件,在源文 下生成可執(zhí)行文件。 加載:把生成的可執(zhí)行文件加載到下位機。(4)編 并加載:依次執(zhí)行編譯 和加載調(diào)試共有八個按鈕,其圖如下(1)設置起點:當前光標所在的行為當前行,此命令把當前行設置為程序的起點,CSIP的值刷新后指向此行。(2)單步:點擊此命令使程序執(zhí)行一條語句(3)跳過:點擊此命令使程序執(zhí)行一個函數(shù),執(zhí)行后刷新所有變量和寄存器的值(4)設置斷點/刪除斷點:為光標所在行設置斷點或刪除當前行的已有斷點。源程序設置的斷點數(shù)8個。(6)運行到斷點/運行:從當前執(zhí)行行開始向后運行,如果沒有斷點,則運行直到程(7)停止:發(fā)送此命令使程序停止運行,程序停止后刷新所有寄存器和變量的值(3)569m:在運行態(tài)下不出現(xiàn)此值,只有在暫停狀態(tài)下才出現(xiàn)此值,圖形中有一條豎直線為游標,只有在暫停狀態(tài)下才出現(xiàn)?!?69”表示游標所在位置的時刻與圖形最左端時刻實際轉速值。CH2=(2)按鈕:使下位機中運行的程序停止按鈕:在運行狀態(tài)下使能,使波形暫停顯示并出現(xiàn)游標。按鈕:在暫停狀態(tài)下使能,使波形繼續(xù)顯示,游標 按鈕:放大波形。按鈕:縮小波形。CH1=”后顯示的是游標所在時CH2=按鈕:在暫停狀態(tài)下,使游標向左緩慢移動。按鈕:在暫停狀態(tài)下,使游標向右緩慢移動。按鈕:點擊此按鈕,出現(xiàn)如右圖所示 框按鈕:顯示保存到圖一,圖二和圖三中的波形,按鈕:以.bmp格式保存當前屏幕上的波形到指定A/D20ms采樣周期的示波器功能,主要用于“8254定時/D/A轉換實驗”及“8251串行接口實驗”中波形的觀察。A/D單元接入系統(tǒng),其接線方式如下:系系A/D“CH1=(2)按鈕:停止使下位機中運行的程序停止(3)按鈕:在運行狀態(tài)下使能,使波形暫停顯示并出現(xiàn)游標(4)按鈕:在暫停狀態(tài)下使能,使波形繼續(xù)顯示,游 (5)按鈕:放大波形CH1=T=xxx”表示游標所在位置的時刻與圖形最左端時刻的差值。按鈕:在暫停狀態(tài)下,使游標向左緩慢移動。按鈕:在暫停狀態(tài)下,使游標向右緩慢移動。按鈕:點擊此按鈕,出現(xiàn)如右圖所示 按鈕:顯示保存到圖一,圖二和圖三中的波形,此時可以對幾副圖進行比較。點擊“查看”菜單中“”項中的“自定義”菜單項,彈出“自定義”框,如下1.2.屬性這一屬性頁用來設置,系統(tǒng)提供了四個,您可以在此控制其顯示或隱藏。如果選中某一,按下“重新設置(R”按鈕恢復選中的默認設置;按下“重命名(m”(D”(S,(N”鈕新建一個。點擊“全部重新設置(A”按鈕恢復全部的默認設置。3.“ [M]”具”菜單新增一個菜單項;刪除選中的菜單項;兩個按鈕調(diào)整選中菜單項的上下[C]”編輯框中的內(nèi)容表示點擊選中菜單項時,系統(tǒng)要執(zhí)行“D:\6p1\bin\win32\.exe”命令,系統(tǒng)會為用戶打開。4.5.6.(T,(K大圖標:使按鈕顯示為大圖標(u(R如果用戶在程序編輯區(qū)點擊右鍵,出現(xiàn)編輯菜單,如果在非客戶區(qū)點擊右鍵,出現(xiàn)編輯菜單提供了“剪切““粘貼”命令與查看菜單中 的下拉菜單內(nèi)容相同,功能亦相同Wmd86軟件輸出區(qū)集成有Debug調(diào)試,點擊調(diào)試,進入Debug狀態(tài),會出現(xiàn)命令提示符“>,主令敘述如下:AA段址:偏移量——從段址:偏移量構成的實際地址單元起填充匯編程序的目標代碼A偏移量——從默認的段址與給定的偏移量構成的實際地址單元起填充匯編程序目標代B(字節(jié)。如:MOVB[2010],AX,MOVW[2010],AX。4-2-1MOVAX,INCJMPB[i],[i+1]4-2-2B>BDDCtrl+S來暫停顯示,用任意鍵繼續(xù);也可用Ctrl+C終止數(shù)據(jù)顯示,返回狀態(tài)。E編輯指定地址單元中的數(shù)據(jù)E命令。例:4-2-3E>05—GG格式表示無斷點連續(xù)運行程序,GB格式表示帶斷點連續(xù)運行程序,連續(xù)運行過程Ctrl+C鍵時,終止程序運行。M格式:MRRAM區(qū)顯示與修改格式:R或R寄存器名 若需要顯示并修改特定寄存器內(nèi)容,則選擇R寄存器名操作。如RAX,則顯示T單步運行指定的程序IP/PCCPU寄存U580X86系統(tǒng)內(nèi)存分配情況如圖5-1-1所示。系統(tǒng)內(nèi)存分為程序器和數(shù)據(jù)器,程序器256KB,數(shù)據(jù)器可以擴展到512KB)

5-1-1IO獨立編址形式,內(nèi)存地址空間和外設地址空間是相對獨立的。內(nèi)存地址是1M00000H~FFFFFH0000H~FFFFH64K表5-1-1器編系統(tǒng)程序系統(tǒng)數(shù)據(jù)擴展 SRAM空間:00000H~1FFFFH共01000H~1FFFFH124KFALSH0E0000H~0FFFFFH其中:0E0000H~0EFFFFH64K0F0000H~0FFFFH為64K系統(tǒng)輸入/5-1-2輸入/I/OBIOSDOS5-2-1INT03H5-2-2INT10H:AH=01H,AL=AL:AH=06H,DS:BX=00H00H5-2-3INT16HAL中,讀指針移動,ZF=1無鍵值,ZF=0AL中,讀指針不動,ZF=1無鍵值,ZF=05-2-4INT21H:AH=00HAL:AH=02H,DL=DLAL:AH=09H,DS:DX=字符串首地址,字符串以'$'功能:顯示字符串,直到遇到'$':AH=0AH,DS:DX=緩沖區(qū)首地址,(DS:DX)=DS:DX指定緩沖區(qū)中并以回車結束6章1680X86的指令系統(tǒng)、尋址方式以及程6.1.2PC機一臺,TD-PITE6.1.3編寫實驗程序?qū)?0H~0FH共16個數(shù)寫入內(nèi)存3000H開始的連續(xù)16個單元中6.1.41.Wmd86Wmd8616位寄存器。6.16.23.Ctrl+N6.3所示。Wmd861。6.36.45.點擊,編譯文件,若程序編譯無誤,則可以繼續(xù)點擊進行 后輸出如圖6.5所示的輸出信息。6.56.PC。、、7.編譯、都正確并且上下位機通訊成功后,就可以 程序為編 。、、合按鈕,通過該按鈕可以將編譯、、一次完成。成功后,在輸出區(qū)的結果窗中會2.6所2.68.D0000:30003000H起始地址的數(shù)據(jù),如圖6.7所示。器在初始狀態(tài)時,默認數(shù)據(jù)為CC。10.6.9所示,然后運行程序,當遇到斷點時程序會E0000:30006.10所示,1122,結束輸入按“回車”鍵。圖6.9斷點設置顯 圖6.10修改內(nèi)存單元數(shù)據(jù)顯示界6.1.5編寫程序,將內(nèi)存3500H單元開始的8個數(shù)據(jù)到3600H單元開始的數(shù)據(jù)區(qū)中。通3600H單元開始的數(shù)據(jù)。.2PC機一臺,TD-PITE6.2.3ASCIIBCD碼表示的數(shù)據(jù)或字符,CPU一般均ASCII碼、BCD碼或七段顯示碼等。因此,在應用軟件中,各類數(shù)制的轉換是必不可少的。6.116.1

6.111.ASCII碼表示的十進制數(shù)轉換為二進制數(shù)nD10nn

10n1

n1010D0i0

nDi10i(((Dn10Dn1)10Dn2)10D1)10D0n

由式(2)可歸納十進制數(shù)轉換為二進制數(shù)的方法:從十進制數(shù)的最Dn開始作乘6.1BCDASCII0123456789ABCDEF6.12所示。實驗參考程序如下。 SEGMENTDW64 DB30H,30H,32H,35H,36H ASSUMECS:CODE,DS:DATA MOVAX,DATAMOVDS,MOVAX,OFFSETSADDMOVSI,AXMOVBX,000AHMOVCX,0004HMOVAH,00HMOVAL,[SI]SUBAL,30H IMULMOVDX,[SI+01]ANDDX,00FFHADCAX,DXNYLOOP JMP END30H,30H,32H,35H,36H。AX寄存器,即為轉換結果,應為:01002.ASCIIBCDASCII3500H起始的內(nèi)存單元中,將其轉換為BCD碼后,再按位分別存入350AHASCII碼,F(xiàn)FASCIIBCD碼。 SEGMENTSTACKDW64DUP(?) 6.12轉換程序流程圖 ASSUME MOVCX, MOVDI, ;ASCII MOVBL,0FFH BLMOVAL,[DI]CMPAL,JNBA2 3AHA2SUBAL,30HJB 30HMOVBL, MOVAL,BL ;結果或錯誤標志送入ALMOV[DI+0AH],AL INCDILOOPMOVINT END3500H~3504HASCIIE3500后,31,32,33,34,35。 CC…3.ASCIIND4104D3103D2102D110D:3510H~3514H單元中。SEGMENTSEGMENTDW64ASSUMEMOVMOVMOVDECMOVMOVMOVDIVAX,XCHGDiASCIIJZ A3,DECMOVAL,30HMOV[SI],ALJMPA2 MOVINT CODEEND編寫程序,經(jīng)編譯、無誤后,裝入系統(tǒng)3500H、3501H0C00D3510,結果應為:30303031324.ASCII2.1ASCII0H~09H30H實驗程序(例程文件名為A2-SEGMENTDW64ASSUMEMOVMOVMOVMOVAND4CMPJB0AHADD;在A~FHADDASCIIMOVDECPUSHCXMOVCL,04HSHR 4POPCXLOOPMOVINT END編寫程序,經(jīng)編譯、無誤后裝入系統(tǒng) … BCD3500H起始的內(nèi)存單元中,將轉換的二進制數(shù)存3510H起始的內(nèi)存單元中,自行繪制流程圖并編寫程序。實驗程序(例程文件名為:A2- SEGMENTDW64SSTACKCODEASSUMECS:CODESTART:XORAX,AXMOVCX,0004HMOVSI,3500HMOVDI, MOVAL,[SI]ADDAL,ALMOVBL,ALADDAL,ALADDAL,ALADDAL,BLINCSIADDAL,[SI]MOV[DI],ALINCSIINCDILOOPMOVINT END 無誤后裝入系統(tǒng)將四個二位十進制數(shù)的BCD碼存入3500H~3507H中,即:先鍵入E3500,然后輸入01 4E6.2.42.ASCIIDi3.ASCIIDX4.ASCIIBCD碼的程序,.3.2PC機一臺,TD-PITEBCD字節(jié)(二位數(shù)字字節(jié)(一位數(shù)字1.X+Y=ZZ存入某位的和,并將運算結果存入低地址單元,然后求高16位的和,將結果存入高地址單1616ADC指令,這樣在低16位相加運算有進位時,相加會加上CF1。實驗程序(例程文件名為:A3-SEGMENTDW64XH,XL,YH,YL,ZH,DW;XDW;XDW;YDW;YDW;ZDW;ZASSUMECS:CODE,MOVAX,MOVDS,MOVAX,ADDAX,;XYMOVZL,;低位和存到ZMOVAX,ADCAX,;帶進位MOVZH,;存結JMPEND編寫程序,經(jīng)編譯、無誤后裝入系統(tǒng)XH,XL,YH,YL6.13所JMPSTARTZH0037,ZL1D3E。XH,XL,YHYL2.BCD實驗程序(例程文件名為A3-2.ASM) SEGMENTDW64 PUBLICX,Y,Z DWDWDW ASSUMECS:CODE,DS:DATA MOVAX,DATA

6.13MOVDS,AXMOVAH,00HMOVCX,0002HMOVSI,OFFSETXMOVDI,OFFSET MOVAL, AL,[SI+02H]ANDAL,0FHMOV[DI],ALINCDIINCSILOOPJMPSTART END輸入程序,編譯、無誤后裝入系統(tǒng)BCDX0400,Y0102JMPSTART3.BCD1位,56位。實驗程序參考例程。實驗程序(例程文件名為A3- SEGMENTDW64 DB5 DB DB6DUP(?) ASSUMECS:CODE,DS:DATA MOVAX,DATAMOVCALLINIT 0MOVSI,OFFSETDATA2MOVSI,OFFSETDI,OFFSETLOOP;===將RESULT所指內(nèi)存單元=== MOVSI,OFFSETRESULTMOVCX,0003HMOV MOV[SI],AXINCSIINCSILOOPA3MOVSI,OFFSETRESULTMOVMOVMOVINCINCLOOPJMPEND編寫程序,編譯、無誤后裝入系統(tǒng)CSUDS命令為被乘數(shù)及乘數(shù)賦值,如被乘數(shù):0102030405,乘數(shù):011 .2PC機一臺,TD-PITE6.4.3送到另一區(qū)(成為目的數(shù)據(jù)塊。源數(shù)據(jù)塊和目的數(shù)據(jù)塊在中可能有三種情況,如6.14 數(shù) 數(shù) 塊 塊

圖6.14源數(shù)據(jù)塊與目的數(shù)據(jù)塊在中的位置情況6.1(a6.15開始開始>NYNY結束 SEGMENTDW64SSTACKCODEASSUMECS:CODESTART:MOVCX,0010HMOVSI,3100HMOVDI,3200HCMPSI,DIJAADDSI,CXADDDI,CXDECSIDECA1:MOVAL,[SI]MOV[DI],ALDECSIDECDIDECJNEA1JMPA2:MOVAL,[SI]MOV[DI],ALINCSIINCDIDECCXJNEA3:MOVINT CODEEND6.4.41.按流程圖編寫實驗程序,經(jīng)編譯、無誤后裝入系統(tǒng)2.用ESI163.4.通過DDISI5.通過改變SI、DI的值,觀察在三種不同的數(shù)據(jù)塊情況下程序的運行情況,并驗證程序.2PC機一臺,TD-PITE6.5.3 S=1+2×3+3×4+4×5+…+N(N+1 SEGMENTDW64 ASSUMECS:CODE MOVDX,0001HMOV MOVAL,BLINCBLMULBLADD DXCMP N(N+1)200JNAMOVINT END 圖6.16程序流程2.1的數(shù)據(jù)的個數(shù)累加起來,即得到區(qū)內(nèi)所包含負數(shù)的個數(shù)。6.17NYNY SEGMENTDW64 CODESEGMENTASSUMEMOVDI,MOVCL,XORCH,MOVBL,INCMOVAL,TESTAL,JEINCINCLOOPMOV[DI],MOVINTEND3000=06(數(shù)據(jù)個數(shù))

6.173007BL0.2PC機一臺,TD-PITE6.6.31.從最后一個數(shù)(或第一個數(shù))N個數(shù)與N個數(shù)的最前列。(2 SEGMENTDW64 ASSUMECS:CODE MOVCX,000AHMOVSI,300AHMOVBL,0FFH CMPBL,0FFHJNZA4MOVBL,00HDECCXJZA4PUSHSIPUSH DECMOVAL,[SI]DECSICMPAL,[SI]JAA3XCHGAL,[SI]MOV[SI+01H],ALMOVBL,0FFH INCSILOOPA2POPCXPOPSIJMPA1 MOVINT END編譯、無誤后裝入系統(tǒng)2.I的學生名次。實驗程序(例程文件名為:A6-SEGMENTDW64ASSUMEMOVMOVMOVMOVMOV10MOVCALLMOVAL,0AHSUBAL,CLINCALMOVMOVLOOPMOVINT BRANCH:PUSHCXMOVCX,000AHMOVAL,00HMOVBX,3000HMOVSI,BX CMPAL,[SI]JAEA3MOVAL,[SI]MOVDX,SISUBDX,BX INCSILOOPA2ADDBX,DXMOVMOV[BX],ALPOPCX END編譯、無誤后裝入系統(tǒng)103000H.7.2YNNYNNYNYNYSI,CX,BX6.7.31.求無符號字節(jié)序列中的最大值和最小值設有一字節(jié)序列,其首地址為6.18所示。6.18 SEGMENTDW64 ASSUMECS:CODE MOVAX,0000HMOVDS,MOVSI, MOVCX,CALL JMP PROC AXJCXZA4PUSHSIPUSHCXPUSHMOVBH,[SI]MOVBL,BH CMPAL,BHJBEA2MOVBH,ALJMPA3 CMPAL,BLJAEA3MOVBL, LOOPA1MOVAX,BXPOPBXPOPCXPOP END 無誤后裝入系統(tǒng)鍵入E3000命令,輸入8個字節(jié)的數(shù)據(jù),如:D9 AH中為最大值,AL中為最小值。出的字節(jié)內(nèi)容比BH的內(nèi)容大或比BLBH2.求N?。絅(N-1?。絅(N-1(N-2?。健瓕嶒灣绦颍ɡ涛募麨椋篈7- SEGMENTDW64 N,RESULT DB ;N1~8 DW? ASSUMECS:CODE,DS:DATA MOVAX,DATAMOVDS,MOVAX,OFFSETRESULTPUSHAXMOVAL,NMOVAH,00HPUSHAXMOVDI,CALLJMP branch:PUSHBPMOVBP,SPPUSHBXPUSHAXMOVBX,[BP+DI+06H]MOVAX,[BP+DI+04H]CMPAX,0000HJZA1PUSHBXDECAXPUSHCALLbranch MOVBX,[BP+DI+06H]MOVAX,[BX]PUSHBXMOVBX,[BP+DI+04H]MULBXPOPBXJMP MOVAX, MOVRESULT, RESULTPOPAXPOPBXPOPBPRET0004H END經(jīng)編譯、無誤后裝入系統(tǒng)NRESULTN值,N00~08HJMPSTART6.3N0123456781126.8.2PC機一臺,TD-PITE6.8.3ASCII6.26.1可知,0~9ASCII碼值。實驗程序(例程文件名為:A8-SEGMENTDW32ASCH,ASCL,0~9,A,B,C,D,E,FASC DB30H,31H,32H,33H,34H,35H,36H,37H,38H,39HDB41H,42H,43H,44H,45H,46H DB DB 4ASCII DB 4ASCII ASSUMECS:CODE,SS:SSTACK,DS:DATA PUSHDSXORAX,AXMOVAX,DATAMOVDS,AX MOVAL,HEX MOVAH,ALANDAL,0F0HMOVCL,04HSHRAL,CLMOVBX,OFFSET BXMOVASCH, 4BCDMOVAL,AHANDAL,0FHMOVASCL, 4BCDJMPAA1 END.經(jīng)編譯、無誤后,將目標代碼裝入系統(tǒng)3.HEX,ASCH,ASCLHEX124.JMPAA1ASCL32。6.HEXASCHASCL1.INT21H2.Wmd866.9.2PC機一臺,TD-PITE6.9.3INT21HAL:AH=02H,DL=數(shù)據(jù)功能DL中的數(shù)據(jù)到顯示屏AL:AH=09H,DS:DX='$'結束功能:顯示字符串,直到遇到'$'為止DS:DX指定緩沖區(qū)中并以回車結束 SEGMENTDW64 CODESEGMENTASSUMECS:CODE MOVCX,001AHMOV ;‘A’ASCIIMOV MOVINT INCDLPUSHMOV LOOPA2POPCXDECCXJNZA1MOVINT CODEENDC語言實現(xiàn)上述功能程序(例程文件名為:CDISvoiddelay(unsignedint{unsignedinti;for(i=0;i<x;i++);}void{unsignedcharfor(count=0x41;count<0x5B;{_DL=movAH,int }}} 無誤后裝入系統(tǒng)AFTERNOON(顯示一字符串功能塊)INT21H實驗程序(例程文件名為:A9-; MES1DB'ThisistangduINT21H!','$' ; MES2DB0FFHDUP(?) ; SEGMENTDW64 ;CODEASSUMEALALCALLENTERR MOVCX,04HMOV MOVAH,02HINT21HINCDLLOOP DLCALLENTERR MOVAX,DATA1MOVMOVDX,OFFSETMES1MOVAH,09HINT DATA1CALLENTERR MOVAX,DATA2MOVMOVDX,OFFSETMES2MOVAH,0AHINT DATA2ADDDX,02HMOVINT DATA2MOVINT MOVAH,02HMOVINT21H MOVAH,02HMOVINT ;CODE

ENDINT21H7章3232位的通用寄存器,可使用新的指令,可采用擴展尋址方式,但段的最大長64K。在缺省情況下,MASMTASM8086/808880X86新 ;支持對80386非指令的匯 80386 ;支持對80386非指令的匯80X8632位寄存器的符號80X86的指令的助記符。在實模式下,80X868086/808864K,這樣164G3216SEGMENT[定位類型][組合類型][‘類別’][屬性類型]USE3280X86USE32;如果沒有指示處理器類型80X86USE16。32 SEGMENT 16 SEGMENT 7.的單元地址,這是利用操作數(shù)長度前綴66H和器地址長度前綴67H來表示的1616832位操作數(shù), SEGMENT SEGMENT 通過器地址長度前綴67H32位器地址和16位器地址的方法與上述通位器地址的指令前加上前綴67H3216位器地址的指令前67H。在一條指令前能既有操作數(shù)長度前綴66H,又有器地址長度前綴67H32PC機一臺,TD-PITE實驗程序(3-2-;;文件名:3-2-;功能:3232對區(qū)中的一組雙字進行排序,并將排序結果顯示在屏幕上; SEGMENTSTACK SEGMENT 'Thearrayis:','$' 'Aftersort:','$' SEGMENTUSE16 MOVAX,DATA DX,OFFSET DX,OFFSETSI,OFFSETL1:L2:LNS:LB:SI,OFFSETC1:4;是否是AC2:4C3: C4: CODE7.1(7.2:7.2Wmd8617.37.4所示,并保存,此時系統(tǒng)會提示輸入新的文件名,輸完后7.4 可以加載程序。編譯、后輸出如圖7.5所示的輸出信息。圖7.5編譯信息界。、、 程序為編譯。、、組合按鈕,通過該按鈕可以將編譯、、一次完成。成功后,在輸出區(qū)的結果窗中會顯示“加載成功表示程序已正確。起始運行語句下會有一條綠色的背景。如圖7.67.6Thearray11D102030111F0441D110009 After0111F044111101D8111A000411D102037.73232ASCII字符16進制數(shù)碼,并在屏幕上顯示出來。實驗程序(3-2-;;文件名:3-2-;功能:3232 ASCII16; SEGMENTSTACK DATASEGMENT 'Thisistangduspeaking!','$' 'Showthissentenceashex:$' DATACODESEGMENT DX,OFFSET ;Show"ThisistangduDX,OFFSET;ShowSentenceasDX,OFFSET DI,OFFSET32GSSI,OFFSET4;是否是A4BYTEPTRGS:[ESI+2],20HAL,CODE編譯、無誤后裝入系統(tǒng)Thisistangduspeaking!Showthissentenceashex:第8章80X86微機接術及其應用實、接術是把由處理器器等組成的基本系統(tǒng)與外部設備連接起來從而實現(xiàn)CPU與、了解器擴展的方法和器的讀/寫掌握CPU對16位器的方法PC機一臺,TD-PITERAMMOS態(tài)RAM工作穩(wěn)定,不要外加刷新電路,使用方便。但一般8.162256引腳圖

123456789SRAM的每一個觸發(fā)器是由6個晶體管組成,SRAM的集成度不會太高,目前較常用1234567896225632K×1664K字節(jié)。622568.1所示。32CPU16D0、D1、…、D15。BHEBLE#選通。。理器規(guī)則字只需要一個時鐘周期,BHE#和BLE#同時有效從而同時選通器奇體和偶體。處理器非規(guī)則字卻需要兩個時鐘周期,第一個時鐘周期BHE#有效,奇字節(jié);第二個時鐘周期BLE#有效,偶字節(jié)。處理器字節(jié)只需要一個時鐘周期,視其存放單元為奇或偶,而BHE?;駼LE#有效,從而選通奇體或偶體。寫規(guī)則字和非規(guī)則字的簡單時8.2所示。

8.2寫規(guī)則字(左)和非規(guī)則字(右)8.3SRAM實驗程序 SEGMENTDW32 PROCASSUMEMOVAX, ;器擴展空間段地MOVDS, MOVSI, MOVCX,0010HMOVAX, MOV[SI],AXINCAXINCSIINCSILOOPAA1MOVINT END

8.4SRAM(16位寄存器編寫實驗程序,經(jīng)編譯、無誤后裝入系統(tǒng)8.通過D命令查看寫入器中的數(shù)據(jù) 16改變實驗程序,按非規(guī)則字寫器,觀察實驗結果改變實驗程序,按字節(jié)方式寫器,觀察實驗現(xiàn)象WR16位外部數(shù)據(jù)總線的操作方法。PC機一臺,TD-PITE(ICUINTIR28259的級聯(lián)。TD-PITEIR6、IR7IR1開放出來供實驗8259IR4供系統(tǒng)串口使用。82598.5:

8.58259表 ICU寄存器列ICW1(從(只寫ICW2(從(只寫8259IR01IR1ICW3(主(只寫IR2ICW3(從(只寫IR2ICW4(從(只寫OCW1(從(讀/寫中斷操作寄存器,可相應的中斷信號OCW2(從(只寫OCW3(從(只寫IRR(從(只讀ISR(從(只讀POLL(主POLL(從(只讀

000100010018.6170700008.72

08.83

000000108.93 00000001 8.104 8.1112寄存器(OCW2)8.12RSLRSL **在這些情況下優(yōu)先級由L2:L0 R00000*001010011100*101110 111 8.1223寄存器(OCW3)8.13 0001P00011011RRRIS00011011ESMM8.133ESMM ----- 8.14,然后寫入初始化命令字。8259有一個狀態(tài)機控制對寄存器的,不正確的初始化8259時,寫入初始化命令字的順序是:ICW1、ICW282594號中斷源(IR4)PC聯(lián)機的串口通信使用,其它中斷源被。中斷矢量地址與中斷號之間的關系如下表所示:01234567012345678.15所示,單次脈沖輸出與主片部中斷,在顯示屏上輸出一個字符“78.158259實驗程序SEGMENTDW32ASSUMEPUSHMOVAX,MOVDS,MOVAX,OFFSET;取中斷地MOVSI, MOV[SI], IRQ7MOVAX, MOVSI,MOV[SI], IRQ7POPDS8259MOVAL,11HOUT20H, MOVAL,OUT21H, MOVAL,OUT21H, MOVAL,OUT21H, MOVAL, OUT21H,AL JMP CALLMOVAX,INTMOVAX,INTMOVAL,OUT20H,PUSHMOVCX,PUSHPOPLOOPAA0POPCX END8.15編寫實驗程序,經(jīng)編譯、無誤后裝入系統(tǒng)7實驗接線圖如圖8.16所示,KK1+連接到主片M7+時,顯示字符“S18.168259實驗程序 SEGMENTDW32 ASSUME PUSHMOVAX,0000HMOVDS,AXMOVAX,OFFSET ;取中斷地MOVSI, MOV[SI], IRQ7MOVAX, MOVSI,MOV[SI], IRQ7MOVAX,OFFSETSIR1MOVSI,00C4HMOV[SI],AXMOVAX,CSMOVSI,00C6HMOV[SI],AXPOPMOVAL,OUT20H,MOVAL,OUT21H,MOVAL,OUT21H,MOVAL,OUT21H,MOVAL,OUT0A0H,MOVAL,OUT0A1H,MOVAL,OUT0A1H,MOVAL,OUT0A1H,MOVAL,OUT;OCW1=1111MOVAL,OUT21H,8259JMPCALLMOVAX,INTMOVAX,INTMOVAX,INTMOVAL,OUT20H,CALLMOVAX,INT MOVAX,INT MOVAX,0120HINT10HMOVAL,20HOUT0A0H,ALOUT20H,AL PUSHMOVCX, PUSHAXPOPAXLOOPAA0POPCX END8.16輸入程序,編譯、無誤后裝入系統(tǒng)PC機一臺,TD-PITEDMA涉,直接實現(xiàn)對器的。DMA傳送方式可用來實現(xiàn)器到器、器到I/O接口、I/O接口到器之間的高速數(shù)據(jù)傳送。8237介1234567898237是一種高性能可編程DMA控制器,有41234567898.178237狀態(tài)、請求、和暫存寄存器。4個通道專的內(nèi)部結構圖如圖.18

寄存時 讀緩址基字數(shù) 寄存器寄存輯

現(xiàn)行地現(xiàn)剩字址計數(shù)數(shù)計數(shù)

I/O

DREQ03

內(nèi)部方 狀寄存 寄存

I/O8.188237

8.19

8.208.218237DD8.228237D無用 01:置1請求觸發(fā) 0:置0請求觸發(fā) 1

圖8.23通道寄存器格8.28237片選邏輯對應址寄存器(4寫1000寫08(4讀01108818(4寫01(4寫10010讀高位寫000--8讀014寫1010014寫101010方式寄存器(46寫1010118讀011101軟-寫10-寫101100清-寫101110寫44寫101111CPU8.24DMA將器1000H單元開始的連續(xù)10個字節(jié)的數(shù)據(jù)到地址0000H開始的10個單元中,實現(xiàn)8237的器到器傳輸。實驗參考線路圖如圖8.25所示。圖8.258237實現(xiàn)器到器傳輸實驗接線實驗系統(tǒng)中提供了MY0和MY1兩個器譯碼信號,譯碼空間分別為80000H~問期間,MY0有效。具體如下圖所示。實驗程序 SEGMENTSTACKDW64DUP(?) ASSUMECS:CODEAL,DX,061AHDX,ALAL,00HDX,DX,DX,DX,DX,01DX,DX,DX,;編譯、程序無誤后,將目標代碼裝入系統(tǒng)1000HCPU2000HD8000:0000DMA傳輸結果,是否與首地址中寫入的數(shù)據(jù)相同,可反DMA開始開始 結束8.26DMAPC機一臺,TD-PITE動‘KK1+’5次后,產(chǎn)生一次計數(shù)中斷,并在屏幕上顯示一個字符‘M定時應用實驗。編寫程序,應用8254的定時功能,產(chǎn)生一個1s的8254是In 性能。8254具有以下基本功能:3162MHz(6)計數(shù)脈沖可以是有規(guī)律的時鐘信號,也可以是隨機信號。計數(shù)初值為n=fCLK÷fUT、fCLKi是輸入時鐘脈沖的頻率,fUTi計數(shù)器組成。8254的工作方式如下述:00方式3:發(fā)生器D[7D[7:0計數(shù)器CLK0CLK1CLK 計數(shù)器CLK0

CLK212123456789CLK8.2782548254的控制字有兩個:一個用來設置計數(shù)器的工作方式,稱為方式控制字;另一個用來8.3—8.5所示。8.38254讀/00011001-讀/810-讀/811-先讀/8再讀/8000001010011100101018.4825411計數(shù)器選擇(同方式控制字08.58254OUT1010計數(shù)器方式(同方式控制字82548.288254符“M編寫實驗程序,經(jīng)編譯、無誤后裝入系統(tǒng)8.298254實驗程序 EQU EQU EQU06C4HCON8254EQUSEGMENTDW32DUP(?)ASSUMECS:CODE,SS:SSTACKPUSHDSMOVAX,0000HMOVDS,AXMOVAX,OFFSET;取中斷地MOVSI, MOV[SI], IRQ7MOVAX, MOVSI,MOV[SI], IRQ7POPDS8259MOVAL,11HOUT20H, MOVAL,OUT21H, MOVAL,OUT21H, MOVAL,OUT21H, MOVAL, OUT21H,0,;顯示字符20H, END時鐘,OUT0為波形輸出1ms,再通過CLK1輸入,OUT1輸出1s。根據(jù)實驗內(nèi)容,編寫實驗程序,經(jīng)編譯、無誤后裝入系統(tǒng)單擊按鈕,運行實驗程序,8254的OUT1會輸出1s 實驗程序 EQU EQU EQU0604HCON8254EQUSEGMENTDW32ASSUMEMOVDX,MOVAL,0,OUTDX,MOVDX,MOVAL,OUTDX,MOVAL,OUTDX,MOVDX,MOVAL,1,OUTDX,MOVDX,MOVAL,OUTDX,MOVAL,OUTDX,JMPEND系線8254 B A/D......8.308254PC機一臺,TD-PITE

器器

108255 8.318255I/O設備或被控制對象之間傳遞信息。CPU和接口之片是In公司生產(chǎn)的通用并行I/O接口,它具有A、B、C三個并行接口,用+5V單電0--基本輸入/1--選通輸入/輸出方2--雙向選通工作方式。82558.31所示,8255工作方式控C口按位置位/8.32所示。方01C口高A00方式01方式1x方式1

(a)工作方式控制

8.32825582558.338.3382558255端口A0B0并作為輸出口。點擊“調(diào)試”下拉菜單中的“程序”項,將程序到系統(tǒng)器中JDBGRUN端,然后按復位按鍵,觀察程序是否正常運行;關閉實驗箱電源,稍等后再次打開電源,看的程序是否運行,驗證程序功能。JDBGDBG8.348255實驗程序 SEGMENTDW32 ASSUMECS:CODE MOVDX,0646HMOVAL,90HOUTDX,AL MOVDX,0640HINAL,DXCALLDELAYMOVDX,0642HOUTDX,ALJMPAA1 PUSHMOVCX, PUSHAXPOPAXLOOPAA2POPCX END8.35所示。實驗步驟如下所述:8.35編寫實驗程序,經(jīng)編譯、無誤后裝入系統(tǒng)8.358255實驗程序 SEGMENTDW32 ASSUMECS:CODE MOVDX,0646HMOVAL,80HOUTDX,ALMOVBX, MOVDX,0640HMOVAL,BHOUTDX,ALRORBH,1MOVDX,0642HMOVAL,BLOUTDX,ALROLBL,1CALLDELAYCALLDELAYJMPAA1 PUSHMOVCX, PUSHAXPOPAXLOOPAA2POPCX ENDPC機一臺,TD-PITE4000H起始的內(nèi)存單元中。送機將3000H~3009H內(nèi)存單元中共10個數(shù)發(fā)送到,將接收到的數(shù)據(jù)直接在8251是可編程的串行通口,可以管理信號變化范圍很大的串行數(shù)據(jù)通信。有下列基1個、1.52個停止位。全雙工,雙緩沖器發(fā)送和注意,8251RS-2328.36825111 圖.3782518.388251TXD 8.388251TXD 8.39 同步異步X0=00=5X0=00=01=01=600=00=同步X1=01=111=10=70X=10=1.511=81X=11=2

8.3982518251進行某種操作(如發(fā)送、接收、內(nèi)部復位和檢測同步字符等8.408251 錯誤標志復數(shù)據(jù)終端準備1=允許搜1=82511=RTS位使錯誤標1=TXD1=好1=索回方式控制0=1=使DTR字

8.4082518.41所示。 數(shù)據(jù)裝置發(fā)送器接收就發(fā)送就個字符變?yōu)榭捎卯敊z測到奇偶空緒為1緒為1當DSR錯誤時此位置明接收明發(fā)送011到一個緩沖器4

8.41825182518.42系統(tǒng)YYNY1NYNNY輸入第2輸入第18.428251 8.438251系統(tǒng) A/D1 CLK82518..4482518.44編寫實驗程序,經(jīng)編譯、無誤后裝入系統(tǒng) 實驗參考例程EQUEQUEQUEQU SEGMENTDW64 ASSUMECS:CODE CALLINIT CALLMOVCX, MOVAX, DECAXJNZA3LOOPA2JMPA1 MOVAL, ;8254,MOVDX,M8254_CONOUTDX,ALMOVAL,MOVDX,M8254_2OUTDX,ALMOVAL,3AHOUTDX,ALCALL 8251CALLDALLYMOVAL,MOVDX, 8251OUTDX,ALCALLDALLYMOVAL,OUTDX, 8251CALLDALLY MOVAL, 8251MOVDX, OUTDX,ALCALLDALLYOUTDX,ALCALLDALLYOUTDX,ALCALLDALLYMOVAL,OUTDX,AL PUSHMOVCX, PUSHAXPOPAXLOOPA4POPCX PUSHAXPUSHMOVAL,MOVDX,M8251_CONOUTDX,ALMOVAL,MOVDX,M8251_DATA 55HOUTDX,ALPOPDXPOPAXCODEEND編寫實驗程序,編譯、無誤后裝入系統(tǒng)E4000H103000H10M8251_DATAEQU0600H;端口定義M8251_CONEQU0602H EQU EQU06C6H SEGMENTSTACKDW64 ASSUMECS:CODE MOVAX,0000HMOVDS,8254,得到收發(fā)時鐘MOVAL,0B6HMOVDX,M8254_CONOUTDX,ALMOVAL,MOVDX,M8254_2OUTDX,ALMOVAL,00HOUTDX,ALCALLINITCALL;8251MOVMOVDX, 8.45OUTDX,ALCALL;8251MOVAL,34HOUTDX,ALCALLDALLYMOVDI,3000HMOVSI,4000HMOVCX, MOVAL,[SI]PUSHAXMOVAL,MOVDX,M8251_CONOUTDX,ALPOPMOVDX,OUTDX,AL MOVDX,M8251_CONINAL,ANDAL,JZCALLINAL,ANDAL,JZMOVDX,INAL,;接收到的數(shù)MOV[DI],ALINCDIINCSILOOPAL,8251DX,DX,CALLDALLYOUTDX,ALCALLDALLYOUTDX,ALCALLDALLYMOVAL,40HOUTDX,AL PUSHMOV PUSHAXPOPAXLOOPA5POPCX END8.468.46為兩臺機器分別編寫實驗程序,編譯、后裝入系統(tǒng)實驗參考例程((A82513.ASM) EQU0600H EQU EQU EQU06C6H SEGMENTSTACKDW64 ASSUME MOVAL,0B6H 8254MOVDX,M8254_CONOUTDX,ALMOVAL,MOVDX,M8254_2OUTDX,ALMOVAL,00HOUTDX,ALCALLINIT 8251CALLDALLYMOVAL,MOVDX,M8251_CONOUTDX,ALCALLDALLYMOVAL,34HOUTDX,ALCALLDALLYMOVAX,0152H 'R'INT10HMOVDI,3000HMOVCX, INAL,DXANDAL,02HJZA1MOVDX,M8251_DATAINAL,DXANDAL,7FHMOV[DI],ALINCDILOOPAL,SI,300AH[SI],ALAH,06HBX,AL,8251DX,DX,CALLDALLYOUTDX,ALCALLDALLYOUTDX,ALCALLDALLYMOVAL,40HOUTDX,AL PUSHMOVCX, PUSHAXPOPAXLOOPA3POPCX END實驗參考程序(發(fā)送機(A82518.ASM)EQUEQUEQUEQUSEGMENTDW64ASSUMEMOVAL,8254,MOVDX,OUTDX,MOVAL,MOVDX,OUTDX,MOVAL,OUTDX,CALLCALLMOVAL,MOVDX,OUTDX,;8251CALLDALLYMOVAL,OUTDX, ;8251CALLDALLYMOVDI,3000HMOVCX, MOVAL,[DI]CALLSENDCALLDALLYINCDILOOPAL,8251DX,DX,CALLDALLYOUTDX,ALCALLDALLYOUTDX,ALCALLDALLYMOVAL,40HOUTDX,AL PUSHMOVCX, PUSHPOPAXLOOPA4POPCX PUSHAX PUSHDXMOVAL,MOVDX,M8251_CONOUTDX,ALMOVDX,M8251_DATAOUTDX,ALMOVDX, INAL,DXANDAL,01HJZA3POPDXPOPAXCODEEND掌握模/數(shù)轉換ADC0809的使用方法PC機一臺,TD-PITEA/D轉換,轉換結果通過變量進行顯示。ADC08098ADC8通道的模擬多路開關8A/D轉換,在多點巡回檢測、過程控制等應用領域中使用非常廣泛。ADC0809的主要技術指標為:分辨率:8ADC08098.478.6 ABC000 ABC000001010011100101110111模/8.488.48模/8.49編寫實驗程序,經(jīng)編譯、無誤后裝入系統(tǒng)8.JMPSTARTADJ端的電壓值,計算對應的采樣5.VALUE6.VALUE8.49AD實驗程序 SEGMENTDW64 DB ;AD ASSUMECS:CODE,DS:DATA MOVAX,DATAMOVDS,MOVDX, ADOUTDX,ALCALLINAL, ADMOVVALUE, JMP VALUE PUSHCX PUSHAXMOVCX, MOVAX, DECAXJNZA6LOOPA5POPAXPOPCX ENDPC機一臺,TD-PITED/A轉換器是一種將數(shù)字量轉換成模擬量的器件,其特點要圍繞D/A集成的使用及配置響應的電路。Iout1Iout2

1234561234567890832

要性能參數(shù)如表8.7示,引腳如圖8.50所示 圖8.50DAC0832引腳8.7DAC08328+5V~+10V~-D/A8.518.51D/A實驗程序 SEGMENTDW32 CS:CODE, MOVAX, MOVDX,600HMOVAL,00HAA1:OUTDX,ALCALLDELAYINCALJMP PUSHMOVCX, PUSHAXPOPAXLOOPAA2POPCX ENDD/AD/AA/D編寫實驗程序,經(jīng)編譯、無誤后裝入系統(tǒng)8.用示波器觀察波形的方法:單擊虛擬儀器菜單中的按鈕或直接單擊 5.6.產(chǎn) 程序如下(DA2.ASM SEGMENTSTACKDW32DUP(?) ASSUMECS:CODE MOVAX, MOVDX, MOVAL,00HOUTDX,ALCALLDELAYMOVAL,7FHOUTDX,ALCALLDELAYJMPAA1 PUSHMOV PUSHAXPOPAXLOOPAA2POPCX END8255PC機一臺,TD-PITE8255單元與鍵盤及數(shù)碼管顯示單元連接,編寫實驗程序,掃描鍵盤輸入,并將掃描結0~F,當按下其中一個按鍵時,將該按鍵對應的編號在一個4次按下的按鍵編號。8.538.5482558.548.程序,然后脫機運行程序。 SEGMENTDW16 DB3FH,06H,5BH,4FH,66H,6DH,7DH,07HDB ASSUMECS:CODE,DS:DATA MOVAX,DATAMOVDS,AXMOVSI,3000HMOVAL,00HMOV[SI],AL MOV[SI+1],ALMOV[SI+2],ALMOV[SI+3],ALMOV[SI+4],ALMOV[SI+5],ALMOVDI,3005HMOV 8255MOVAL,81HOUTDX,AL CALLDIS CALLCLEAR CALL JNZINK1JMP CALLDISCALLDALLYCALLDALLYCALLCLEARCALLJNZINK2 INK2JMPBEGINMOVMOVCL,00HMOVAL,CHMOVDX,MY8255_AOUTDX,ALMOVDX,MY8255_CINAL,DXTESTAL,01HJNZL2MOVAL,00HJMPKCODETESTAL,02HJNZL3MOVAL,04HJMPKCODETESTAL,04HJNZL4MOVAL,08HJMPKCODETESTAL,08HJNZNEXTMOVAL,0CHADDAL,CLCALLPUTBUFPUSHAXCALLDISCALLCLEARCALLCCSCANJNZKONPOPAXINCCLMOVAL,CHTESTJZ;is;is;is;isMOVAL,00HOUTDX,AL PUSHAX MOVSI,3000HMOVDL,0DFHMOVAL,DL PUSHMOVDX,MY8255_AOUTDX,ALMOVMOVBX,OFFSETDTABLEANDAX

溫馨提示

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

評論

0/150

提交評論