版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
PAGE目錄第1章80X86微機(jī)原理及其程序設(shè)計實.11.1系統(tǒng)認(rèn)識實驗31.2數(shù)制轉(zhuǎn)換實驗81.3運算類編程實驗121.4分支程序設(shè)計實驗141.5循環(huán)程序設(shè)計實驗161.6排序程序設(shè)計實驗181.7子程序設(shè)計實驗191.8查表程序設(shè)計實驗221.9顯示程序?qū)嶒?2第2章80X86微機(jī)接口技術(shù)實232.1靜態(tài)存儲器擴(kuò)展實驗232.2FLASH存儲器擴(kuò)展實驗282.38259中斷控制實驗372.4DMA特性及8237應(yīng)用實驗482.58254定時/計數(shù)器應(yīng)用實驗562.68255并行接口實驗642.78251串行接口應(yīng)用實驗702.8A/D轉(zhuǎn)換實驗902.9D/A轉(zhuǎn)換實驗942.10鍵盤掃描及顯示設(shè)計實驗972.11電子發(fā)聲設(shè)計實驗1052.12點陣LED顯示設(shè)計實驗111附錄1Wmd86聯(lián)機(jī)軟件使用說明117附1.1菜單功能120附1.2工具欄功能介紹120附1.3Debug調(diào)試命令124附錄2系統(tǒng)實驗程序清127附錄3系統(tǒng)編程信息128附錄4I386EX系統(tǒng)板引出管腳排列及名129附錄5TD-PITE實驗箱布局圖133第1章80X86微機(jī)原理及其程序設(shè)計實驗本章主要介紹匯編語言程序設(shè)計,通過實驗來學(xué)習(xí)80X86的指令系統(tǒng)、尋址方式以及程序的設(shè)計方法,同時掌握聯(lián)機(jī)軟件的使用。1.1系統(tǒng)認(rèn)識實驗1.1.1實驗?zāi)康恼莆誘D-PITE80X86微機(jī)原理及接口技術(shù)教學(xué)實驗系統(tǒng)的操作,熟悉Wmd86聯(lián)機(jī)集成開發(fā)調(diào)試軟件的操作環(huán)境。1.1.2實驗設(shè)備PC機(jī)一臺,TD-PITE實驗裝置一套。1.1.3實驗內(nèi)容編寫實驗程序,將00H~0FH共16個數(shù)寫入內(nèi)存3000H開始的連續(xù)16個存儲單元中。1.1.4實驗步驟1.運行Wmd86軟件(c:\tangdu\wmd86),進(jìn)入Wmd86集成開發(fā)環(huán)境。2.根據(jù)程序設(shè)計使用語言的不同,通過在“設(shè)置”下拉列表來選擇需要使用的語言,如圖1-1-1所示。語言選擇后,下次再啟動軟件,語言環(huán)境保持這次的修改不變。在這里,我們選擇匯編語言。圖1-1-1語言環(huán)境選擇界面3.語言選擇后,點擊新建或按Ctrl+N組合鍵來新建一個文檔,如圖1-1-2所示。默認(rèn)文件名為Wmd861。圖1-1-2新建文件界面4.編寫實驗程序,如圖1-1-3所示,并保存,此時系統(tǒng)會提示輸入新的文件名,輸完后點擊保存。圖1-1-3程序編輯界面5.點擊,編譯文件,若程序編譯無誤,則輸出如圖1-1-4所示的輸出信息,然后再點擊進(jìn)行鏈接,鏈接無誤輸出如圖1-1-5所示的輸出信息。圖1-1-4編譯輸出信息界面圖1-1-5鏈接輸出信息界面6.連接PC與實驗系統(tǒng)的通訊電纜,打開實驗系統(tǒng)電源。7.編譯、鏈接都正確并且上下位機(jī)通訊成功后,就可以下載程序,聯(lián)機(jī)調(diào)試了。可以通過端口列表中的“端口測試”來檢查通訊是否正常。點擊下載程序。為編譯、鏈接、下載組合按鈕,通過該按鈕可以將編譯、鏈接、下載一次完成。下載成功后,在輸出區(qū)的結(jié)果窗中會顯示“加載成功!”,表示程序已正確下載。起始運行語句下會有一條綠色的背景。如圖1-1-6所示。圖1-1-6加載成功輸出顯示界面8.將輸出區(qū)切換到調(diào)試窗口,使用D0000:3000命令查看內(nèi)存3000H起始地址的數(shù)據(jù),如圖1-1-7所示。存儲器在初始狀態(tài)時,默認(rèn)數(shù)據(jù)為CC。圖1-1-7內(nèi)存地址單元數(shù)據(jù)顯示9.點擊按鈕運行程序,然后再點擊來停止程序運行,接下來觀察程序運行結(jié)果,仍使用命令D0000:3000來觀察數(shù)據(jù)變化。如圖1-1-8所示。圖1-1-8運行程序后數(shù)據(jù)變化顯示10.也可以通過在語句AA2:JMPAA2處設(shè)置斷點,斷點顯示如圖1-1-9所示,然后運行程序,當(dāng)遇到斷點時程序會停下來,然后觀察數(shù)據(jù)。可以使用E0000:3000來改變該地址單元的數(shù)據(jù),如圖1-1-10所示,輸入11后,按“空格”鍵,可以接著輸入第二個數(shù),如22,結(jié)束輸入按“回車”鍵。圖1-1-9斷點設(shè)置顯示圖1-1-10修改內(nèi)存單元數(shù)據(jù)顯示界面實驗例程文件名為Wmd861.asm。1.1.5操作練習(xí)編寫程序,將內(nèi)存3500H單元開始的8個數(shù)據(jù)復(fù)制到3600H單元開始的數(shù)據(jù)區(qū)中。通過調(diào)試驗證程序功能,使用E命令修改3500H單元開始的數(shù)據(jù),運行程序后使用D命令查看3600H單元開始的數(shù)據(jù)。1.2數(shù)制轉(zhuǎn)換實驗1.2.1實驗?zāi)康?.掌握不同進(jìn)制數(shù)及編碼相互轉(zhuǎn)換的程序設(shè)計方法,加深對數(shù)制轉(zhuǎn)換的理解;2.熟悉程序調(diào)試的方法。1.2.2實驗設(shè)備PC機(jī)一臺,TD-PITE實驗裝置一套。1.2.3實驗內(nèi)容及步驟計算機(jī)輸入設(shè)備輸入的信息一般是由ASCII碼或BCD碼表示的數(shù)據(jù)或字符,CPU一般均用二進(jìn)制數(shù)進(jìn)行計算或其它信息處理,處理結(jié)果的輸出又必須依照外設(shè)的要求變?yōu)锳SCII碼、BCD碼或七段顯示碼等。因此,在應(yīng)用軟件中,各類數(shù)制的轉(zhuǎn)換是必不可少的。計算機(jī)與外設(shè)間的數(shù)制轉(zhuǎn)換關(guān)系如圖1-2-1所示,數(shù)制對應(yīng)關(guān)系如表1-2-1所示圖1-2-1數(shù)制轉(zhuǎn)換關(guān)系表1-2-1數(shù)制對應(yīng)關(guān)系表續(xù)表1-2-11.將ASCII碼表示的十進(jìn)制數(shù)轉(zhuǎn)換為二進(jìn)制數(shù)十進(jìn)制表示為:()Di代表十進(jìn)制數(shù)0,1,2,…,9;上式轉(zhuǎn)換為:(2)由式(2)可歸納十進(jìn)制數(shù)轉(zhuǎn)換為二進(jìn)制數(shù)的方法:從十進(jìn)制數(shù)的最高位Dn開始作乘10加次位的操作,依次類推,則可求出二進(jìn)制數(shù)的結(jié)果。程序流程圖如圖1-2-2所示。實驗參考程序如下。圖1-2-2轉(zhuǎn)換程序流程圖實驗步驟(1)繪制程序流程圖,編寫實驗程序,經(jīng)編譯、鏈接無誤后裝入系統(tǒng);(2)待轉(zhuǎn)換數(shù)據(jù)存放于數(shù)據(jù)段,根據(jù)自己要求輸入,默認(rèn)為30H,30H,32H,35H,36H;(3)運行程序,然后停止程序;(4)查看AX寄存器,即為轉(zhuǎn)換結(jié)果,應(yīng)為:0100;(5)反復(fù)試幾組數(shù)據(jù),驗證程序的正確性。2.將十進(jìn)制數(shù)的ASCII碼轉(zhuǎn)換為BCD碼從鍵盤輸入五位十進(jìn)制數(shù)的ASCII碼,存放于3500H起始的內(nèi)存單元中,將其轉(zhuǎn)換為BCD碼后,再按位分別存入350AH起始的內(nèi)存單元內(nèi)。若輸入的不是十進(jìn)制的ASCII碼,則對應(yīng)存放結(jié)果的單元內(nèi)容為“FF”。由表1-2-1可知,一字節(jié)ASCII碼取其低四位即變?yōu)锽CD碼。實驗步驟(1)自己繪制程序流程圖,然后編寫程序,編譯、鏈接無誤后裝入系統(tǒng);(2)在3500H~3504H單元中存放五位十進(jìn)制數(shù)的ASCII碼,即:鍵入E3500后,輸入31,32,33,34,35;(3)運行程序,然后停止程序運行;(4)鍵入D350A,顯示運行結(jié)果,應(yīng)為:0000:350A0102030405CC…(5)反復(fù)測試幾組數(shù)據(jù),驗證程序功能。3.將十六位二進(jìn)制數(shù)轉(zhuǎn)換為ASCII碼表示的十進(jìn)制數(shù)十六位二進(jìn)制數(shù)的值域為0~65535,最大可轉(zhuǎn)換為五位十進(jìn)制數(shù)。五位十進(jìn)制數(shù)可表示為:ND4104D3103D2102D110D0Di:表示十進(jìn)制數(shù)0~9將十六位二進(jìn)制數(shù)轉(zhuǎn)換為五位ASCII碼表示的十進(jìn)制數(shù),就是求D1~D4,并將它們轉(zhuǎn)換為ASCII碼。自行繪制程序流程圖,編寫程序可參考例程。例程中源數(shù)存放于3500H、3501H中,轉(zhuǎn)換結(jié)果存放于3510H~3514H單元中。實驗步驟(1)編寫程序,經(jīng)編譯、鏈接無誤后,裝入系統(tǒng);(2)在3500H、3501H中存入0C00;(3)運行程序,然后停止運行;(4)檢查運行結(jié)果,鍵入D3510,結(jié)果應(yīng)為:3030303132;(5)可反復(fù)測試幾組數(shù)據(jù),驗證程序的正確性。4.十六進(jìn)制數(shù)轉(zhuǎn)換為ASCII碼由表1-2-1中十六進(jìn)制數(shù)與ASCII碼的對應(yīng)關(guān)系可知:將十六進(jìn)制數(shù)0H~09H加上30H后得到相應(yīng)的ASCII碼,AH~FH加上37H可得到相應(yīng)的ASCII碼。將四位十六進(jìn)制數(shù)存放于起始地址為3500H的內(nèi)存單元中,把它們轉(zhuǎn)換為ASCII碼后存入起始地址為350AH的內(nèi)存單元中。自行繪制流程圖。實驗步驟(1)編寫程序,經(jīng)編譯、鏈接無誤后裝入系統(tǒng);(2)在3500H、3501H中存入四位十六進(jìn)制數(shù)203B,即鍵入E3500,然后輸入3B20;(3)先運行程序,然后再停止運行;(4)鍵入D350A,顯示結(jié)果為:0000:350A32303342CC…;(5)反復(fù)輸入幾組數(shù)據(jù),驗證程序功能。5.BCD碼轉(zhuǎn)換為二進(jìn)制數(shù)將四個二位十進(jìn)制數(shù)的BCD碼存放于3500H起始的內(nèi)存單元中,將轉(zhuǎn)換的二進(jìn)制數(shù)存入3510H起始的內(nèi)存單元中,自行繪制流程圖并編寫程序。實驗步驟(1)編寫程序,經(jīng)編譯、鏈接無誤后裝入系統(tǒng);(2)將四個二位十進(jìn)制數(shù)的BCD碼存入3500H~3507H中,即:先鍵入E3500,然后輸入0102030405060708;(3)先運行程序,然后停止運行;(4)鍵入D3510顯示轉(zhuǎn)換結(jié)果,應(yīng)為:0C22384E;(5)反復(fù)輸入幾組數(shù)據(jù),驗證程序功能。1.2.4思考題1.實驗內(nèi)容1中將一個五位十進(jìn)制數(shù)轉(zhuǎn)換為二進(jìn)制數(shù)(十六位)時,這個十進(jìn)制數(shù)最小可為多少,最大可為多少?為什么?2.將一個十六位二進(jìn)制數(shù)轉(zhuǎn)換為ASCII碼十進(jìn)制數(shù)時,如何確定Di的值?3.在十六進(jìn)制轉(zhuǎn)換為ASCII碼時,存轉(zhuǎn)換結(jié)果后,為什么要把DX向右移四次?4.自編ASCII碼轉(zhuǎn)換十六進(jìn)制、十六進(jìn)制小數(shù)轉(zhuǎn)換二進(jìn)制、二進(jìn)制轉(zhuǎn)換BCD碼的程序,并調(diào)試運行。1.3運算類編程實驗1.3.1實驗?zāi)康?.掌握使用運算類指令編程及調(diào)試方法;2.掌握運算類指令對各狀態(tài)標(biāo)志位的影響及其測試方法;3.學(xué)習(xí)使用軟件監(jiān)視變量的方法。1.3.2實驗設(shè)備PC機(jī)一臺,TD-PITE實驗裝置一套。1.3.3實驗內(nèi)容及步驟80X86指令系統(tǒng)提供了實現(xiàn)加、減、乘、除運算的基本指令,可對表1-3-1所示的數(shù)據(jù)類型進(jìn)行算術(shù)運算。表1-3-1數(shù)據(jù)類型算術(shù)運算表1.二進(jìn)制雙精度加法運算計算X+Y=Z,將結(jié)果Z存入某存儲單元。實驗程序參考如下。本實驗是雙精度(2個16位,即32位)加法運算,編程時可利用累加器AX,先求低16位的和,并將運算結(jié)果存入低地址存儲單元,然后求高16位的和,將結(jié)果存入高地址存儲單元中。由于低16運算后可能向高位產(chǎn)生進(jìn)位,因此高16位運算時使用ADC指令,這樣在低16位相加運算有進(jìn)位時,高位相加會加上CF中的1。實驗步驟(1)編寫程序,經(jīng)編譯、鏈接無誤后裝入系統(tǒng);(2)程序裝載完成后,點擊‘變量區(qū)’標(biāo)簽將觀察窗切換到變量監(jiān)視窗口;(3)點擊,將變量XH,XL,YH,YL,ZH,ZL添加到變量監(jiān)視窗中,然后修改XH,XL,YH,YL的值,如圖1-3-1所示,修改XH為0015,XL為65A0,YH為0021,YL為B79E;(4)在JMPSTART語句行設(shè)置斷點,然后運行程序;(5)當(dāng)程序遇到斷點后停止運行,查看變量監(jiān)視窗口,計算結(jié)果ZH為0037,ZL為1D3E;(6)修改XH,XL,YH和YL的值,再次運行程序,觀察實驗結(jié)果,反復(fù)測試幾組數(shù)據(jù),驗證程序的功能。圖1-3-1變量監(jiān)視窗口2.十進(jìn)制的BCD碼減法運算計算X-Y=Z,其中X、Y、Z為BCD碼。實驗程序參考例程。實驗步驟(1)輸入程序,編譯、鏈接無誤后裝入系統(tǒng);(2)點擊將變量X,Y,Z添加到變量監(jiān)視窗中,并為X,Y賦值,假定存入40與12的BCD碼,即X為0400,Y為0102;(3)在JMPSTART語句行設(shè)置斷點,然后運行程序;(4)程序遇到斷點后停止運行,觀察變量監(jiān)視窗,Z應(yīng)為0208;(5)重新修改X與Y的值,運行程序,觀察結(jié)果,反復(fù)測試幾次,驗證程序正確性。3.乘法運算實現(xiàn)十進(jìn)制數(shù)的乘法運算,被乘數(shù)與乘數(shù)均以BCD碼的形式存放在內(nèi)存中,乘數(shù)為1位,被乘數(shù)為5位,結(jié)果為6位。實驗程序參考例程。實驗步驟(1)編寫程序,編譯、鏈接無誤后裝入系統(tǒng);(2)查看寄存器窗口獲得CS的值,使用U命令可得到數(shù)據(jù)段段地址DS,然后通過E命令為被乘數(shù)及乘數(shù)賦值,如被乘數(shù):0102030405,乘數(shù):01,方法同實驗內(nèi)容1;(3)運行程序,然后再停止運行;(4)通過D命令查看計算結(jié)果,應(yīng)為:000102030405;當(dāng)在為被乘數(shù)和乘數(shù)賦值時,如果一個數(shù)的低4位大于9,則查看計算結(jié)果將全部顯示為E;(5)反復(fù)測試幾組數(shù)據(jù),驗證程序的正確性。1.4分支程序設(shè)計實驗1.4.1實驗?zāi)康?.掌握分支程序的結(jié)構(gòu);2.掌握分支程序的設(shè)計、調(diào)試方法。1.4.2實驗設(shè)備PC機(jī)一臺,TD-PITE實驗裝置一套。1.4.3實驗內(nèi)容設(shè)計一數(shù)據(jù)塊間的搬移程序。設(shè)計思想:程序要求把內(nèi)存中一數(shù)據(jù)區(qū)(稱為源數(shù)據(jù)塊)傳送到另一存儲區(qū)(成為目的數(shù)據(jù)塊)。源數(shù)據(jù)塊和目的數(shù)據(jù)塊在存儲中可能有三種情況,如圖1-4-1所示。圖1-4-1源數(shù)據(jù)塊與目的數(shù)據(jù)塊在存儲中的位置情況對于兩個數(shù)據(jù)塊分離的情況,如圖1-4-1(a),數(shù)據(jù)的傳送從數(shù)據(jù)塊的首地址開始,或從數(shù)據(jù)塊的末地址開始均可。但是對于有重疊的情況,則要加以分析,否則重疊部分會因“搬移”而遭到破壞,可有如下結(jié)論:當(dāng)源數(shù)據(jù)塊首地址<目的塊首地址時,從數(shù)據(jù)塊末地址開始傳送數(shù)據(jù),如圖1-4-1(b)所示。當(dāng)源數(shù)據(jù)塊首地址>目的塊首地址時,從數(shù)據(jù)塊首地址開始傳送數(shù)據(jù),如圖1-4-1(c)所示。實驗程序流程圖如圖1-4-2所示。圖1-4-2程序流程圖1.4.4實驗步驟1.按流程圖編寫實驗程序,經(jīng)編譯、鏈接無誤后裝入系統(tǒng);2.用E命令在以SI為起始地址的單元中填入16個數(shù);3.運行程序,然后再停止運行;4.通過D命令查看DI為起始地址的單元中的數(shù)據(jù)是否與SI單元中數(shù)據(jù)相同;5.通過改變SI、DI的值,觀察在三種不同的數(shù)據(jù)塊情況下程序的運行情況,并驗證程序的功能。1.5循環(huán)程序設(shè)計實驗1.5.1實驗?zāi)康?.加深對循環(huán)結(jié)構(gòu)的理解;2.掌握循環(huán)結(jié)構(gòu)程序設(shè)計的方法以及調(diào)試方法。1.5.2實驗設(shè)備PC機(jī)一臺,TD-PITE實驗裝置一套。1.5.3實驗內(nèi)容及步驟1.計算S=1+2×3+3×4+4×5+…+N(N+1),直到N(N+1)項大于200為止。編寫實驗程序,計算上式的結(jié)果,參考流程圖如圖1-5-1所示。圖1-5-1程序流程圖實驗步驟(1)編寫實驗程序,編譯、鏈接無誤后裝入系統(tǒng);(2)運行程序,然后再停止程序運行;(3)運算結(jié)果存儲在寄存器DX中,查看結(jié)果是否正確;(4)可以改變N(N+1)的條件來驗證程序功能是否正確,但要注意,結(jié)果若大于FFFFH將產(chǎn)生數(shù)據(jù)溢出。2.求某數(shù)據(jù)區(qū)內(nèi)負(fù)數(shù)的個數(shù)設(shè)數(shù)據(jù)區(qū)的第一單元存放區(qū)內(nèi)單元數(shù)據(jù)的個數(shù),從第二單元開始存放數(shù)據(jù),在區(qū)內(nèi)最后一個單元存放結(jié)果。為統(tǒng)計數(shù)據(jù)區(qū)內(nèi)負(fù)數(shù)的個數(shù),需要逐個判斷區(qū)內(nèi)的每一個數(shù)據(jù),然后將所有數(shù)據(jù)中凡是符號位為1的數(shù)據(jù)的個數(shù)累加起來,即得到區(qū)內(nèi)所包含負(fù)數(shù)的個數(shù)。實驗程序流程圖如圖1-5-2所示。圖1-5-2程序流程圖實驗步驟(1)按實驗流程編寫實驗程序;(2)編譯、鏈接無誤后裝入系統(tǒng);(3)鍵入E3000,輸入數(shù)據(jù)如下:3000=06(數(shù)據(jù)個數(shù))3001=123002=883003=823004=903005=223006=33(4)先運行程序,然后停止程序運行;(5)查看3007內(nèi)存單元或寄存器BL中的內(nèi)容,結(jié)果應(yīng)為03;(6)可以進(jìn)行反復(fù)測試來驗證程序的正確性。1.6排序程序設(shè)計實驗1.6.1實驗?zāi)康?.掌握分支、循環(huán)、子程序調(diào)用等基本的程序結(jié)構(gòu);2.學(xué)習(xí)綜合程序的設(shè)計、編制及調(diào)試。1.6.2實驗設(shè)備PC機(jī)一臺,TD-PITE實驗裝置一套。1.6.3實驗內(nèi)容及步驟1.氣泡排序法在數(shù)據(jù)區(qū)中存放著一組數(shù),數(shù)據(jù)的個數(shù)就是數(shù)據(jù)緩沖區(qū)的長度,要求采用氣泡法對該數(shù)據(jù)區(qū)中的數(shù)據(jù)按遞增關(guān)系排序。設(shè)計思想:(1)從最后一個數(shù)(或第一個數(shù))開始,依次把相鄰的兩個數(shù)進(jìn)行比較,即第N個數(shù)與第N-1個數(shù)比較,第N-1個數(shù)與第N-2個數(shù)比較等等;若第N-1個數(shù)大于第N個數(shù),則兩者交換,否則不交換,直到N個數(shù)的相鄰兩個數(shù)都比較完為止。此時,N個數(shù)中的最小數(shù)將被排在N個數(shù)的最前列。(2)對剩下的N-1個數(shù)重復(fù)(1)這一步,找到N-1個數(shù)中的最小數(shù)。(3)再重復(fù)(2),直到N個數(shù)全部排列好為止。實驗步驟(1)分析參考程序,繪制流程圖并編寫實驗程序;(2)編譯、鏈接無誤后裝入系統(tǒng);(3)鍵入E3000命令修改3000H~3009H單元中的數(shù),任意存入10個無符號數(shù);(4)先運行程序,然后再停止程序運行;(5)通過鍵入D3000命令查看程序運行的結(jié)果;(6)可以反復(fù)測試幾組數(shù)據(jù),觀察結(jié)果,驗證程序的正確性。2.學(xué)生成績名次表將分?jǐn)?shù)在1~100之間的30個成績存入首地址為3000H的單元中,3000H+I(xiàn)表示學(xué)號為I的學(xué)生成績。編寫程序,將排出的名次表放在3100H開始的數(shù)據(jù)區(qū),3100H+I(xiàn)中存放的為學(xué)號為I的學(xué)生名次。實驗步驟(1)繪制流程圖,并編寫實驗程序;(2)編譯、鏈接無誤后裝入系統(tǒng);(3)將30個成績存入首地址為3000H的內(nèi)存單元中;(4)調(diào)試并運行程序;(5)檢查3100H起始的內(nèi)存單元中的名次表是否正確。1.7子程序設(shè)計實驗1.7.1實驗?zāi)康?.學(xué)習(xí)子程序的定義和調(diào)用方法;2.掌握子程序、子程序的嵌套、遞歸子程序的結(jié)構(gòu);3.掌握子程序的程序設(shè)計及調(diào)試方法。1.7.2實驗設(shè)備PC機(jī)一臺,TD-PITE實驗裝置一套。1.7.3實驗內(nèi)容及步驟1.求無符號字節(jié)序列中的最大值和最小值設(shè)有一字節(jié)序列,其存儲首地址為3000H,字節(jié)數(shù)為08H。利用子程序的方法編程求出該序列中的最大值和最小值。程序流程圖如圖1-7-1所示。圖1-7-1程序流程圖實驗步驟(1)根據(jù)程序流程圖編寫實驗程序;(2)經(jīng)編譯、鏈接無誤后裝入系統(tǒng);(3)鍵入E3000命令,輸入8個字節(jié)的數(shù)據(jù),如:D9078BC5EB049DF9;(4)運行實驗程序;(5)點擊停止按鈕,停止程序運行,觀察寄存器窗口中AX的值,AX應(yīng)為F904,其中AH中為最大值,AL中為最小值;(6)反復(fù)測試幾組數(shù)據(jù),檢驗程序的正確性。程序說明:該程序使用BH和BL暫存現(xiàn)行的最大值和最小值,開始時初始化成首字節(jié)的內(nèi)容,然后進(jìn)入循環(huán)操作,從字節(jié)序列中逐個取出一個字節(jié)的內(nèi)容與BH和BL相比較,若取出的字節(jié)內(nèi)容比BH的內(nèi)容大或比BL的內(nèi)容小,則修改之。當(dāng)循環(huán)操作結(jié)束時,將BH送AH,將BL送AL,作為返回值,同時恢復(fù)BX原先的內(nèi)容。2.求N!利用子程序的嵌套和子程序的遞歸調(diào)用,實現(xiàn)N!的運算。根據(jù)階乘運算法則,可以得:N!=N(N-1)?。絅(N-1)(N-2)!=……0?。?由此可知,欲求N的階乘,可以用一遞歸子程序來實現(xiàn),每次遞歸調(diào)用時應(yīng)將調(diào)用參數(shù)減1,即求(N-1)的階乘,并且當(dāng)調(diào)用參數(shù)為0時應(yīng)停止遞歸調(diào)用,且有0?。?,最后將每次調(diào)用的參數(shù)相乘得到最后結(jié)果。因每次遞歸調(diào)用時參數(shù)都送入堆棧,當(dāng)N為0而程序開始返回時,應(yīng)按嵌套的方式逐層取出相應(yīng)的調(diào)用參數(shù)。定義兩個變量N及RESULT,RESULT中存放N!的計算結(jié)果,N在00H~08H之間取值。實驗步驟(1)依據(jù)設(shè)計思想繪制程序流程圖,編寫實驗程序;(2)經(jīng)編譯、鏈接無誤后裝入系統(tǒng);(3)將變量N及RESULT加入變量監(jiān)視窗口,并修改N值,N在00~08H之間取值;(4)在JMPSTART語句行設(shè)置斷點,然后運行程序;(5)當(dāng)程序遇到斷點后停止運行,此時觀察變量窗口中RESULT的值是否正確,驗證程序的正確性;(6)改變變量N的值,然后再次運行程序,當(dāng)程序停止在斷點行后觀察實驗結(jié)果。表1-7-1階乘表1.8查表程序設(shè)計實驗1.8.1實驗?zāi)康膶W(xué)習(xí)查表程序的設(shè)計方法。1.8.2實驗設(shè)備PC機(jī)一臺,TD-PITE實驗裝置一套。1.8.3實驗內(nèi)容所謂查表,就是根據(jù)某個值,在數(shù)據(jù)表格中尋找與之對應(yīng)的一個數(shù)據(jù),在很多情況下,通過查表比通過計算要使程序更簡單,更容易編制。通過查表的方法實現(xiàn)十六進(jìn)制數(shù)轉(zhuǎn)換為ASCII碼。根據(jù)1.2章節(jié)的表1-2-1可知,0~9的ASCII碼為30H~39H,而A~F的ASCII碼為41H~46H,這樣就可以將0~9與A~F對應(yīng)的ASCII碼保存在一個數(shù)據(jù)表格中。當(dāng)給定一個需要轉(zhuǎn)換的十六進(jìn)制數(shù)時,就可以快速的在表格中找出相應(yīng)的ASCII碼值。1.8.4實驗步驟1.根據(jù)設(shè)計思想繪制程序流程圖,編寫實驗程序;2.經(jīng)編譯、鏈接無誤后,將目標(biāo)代碼裝入系統(tǒng);3.將變量HEX,ASCH,ASCL添加到變量監(jiān)視窗口中,并修改HEX的值,如12;4.在語句JMPAA1處設(shè)置斷點,然后運行程序;5.程序會在斷點行停止運行,并更新變量窗口中變量的值,查看變量窗,ASCH應(yīng)為31,ASCL應(yīng)為32;6.反復(fù)修改HEX的值,觀察ASCH與ASCL的值,驗證程序功能。1.9顯示程序?qū)嶒?.9.1實驗?zāi)康?.了解INT10H各功能模塊的作用及用法;2.掌握字符方式下PC機(jī)顯示器顯示控制。1.9.2實驗設(shè)備PC機(jī)一臺,TD-PITE實驗裝置一套。1.9.3實驗內(nèi)容編寫實驗程序,在顯示器上的輸出窗口顯示A~Z共26個大寫英文字母。顯示I/O功能調(diào)用使用說明如下:INT10使用說明入口:AH=00H,AL=01H功能:清屏入口:AH=01H,AL=數(shù)據(jù)功能:寫AL中的數(shù)據(jù)到顯示屏上入口:AH=06H,DS:BX=字串首地址,且字符串尾用00H填充功能:顯示一字串,直到遇到00H為止1.9.4實驗步驟1.編寫實驗程序,經(jīng)編譯、鏈接無誤后裝入系統(tǒng);2.運行實驗程序,觀察實驗結(jié)果;3.修改實驗程序,在顯示器上顯示‘GOODAFTERNOON’,要求使用AH=06功能(顯示一字符串功能塊)完成。第2章80X86微機(jī)接口技術(shù)實驗接口技術(shù)是把由處理器、存儲器等組成的基本系統(tǒng)與外部設(shè)備連接起來,從而實現(xiàn)CPU與外部設(shè)備通信的一門技術(shù)。微機(jī)的應(yīng)用是隨著外部設(shè)備的不斷更新和接口技術(shù)的不斷發(fā)展而深入到各行各業(yè),任何微機(jī)應(yīng)用開發(fā)工作都離不開接口的設(shè)計、選用及連接。微機(jī)應(yīng)用系統(tǒng)需要設(shè)計的硬件是一些接口電路,所要編寫的軟件是控制這些接口電路按要求工作的驅(qū)動程序。因此,接口技術(shù)是微機(jī)應(yīng)用中必不可少的基本技能。2.1靜態(tài)存儲器擴(kuò)展實驗2.1.1實驗?zāi)康?.了解存儲器擴(kuò)展的方法和存儲器的讀/寫;2.掌握CPU對16位存儲器的訪問方法。2.1.2實驗設(shè)備PC機(jī)一臺,TD-PITE實驗裝置一套,示波器一臺。2.1.3實驗內(nèi)容編寫實驗程序,將0000H~000FH共16個數(shù)寫入SRAM的從0000H起始的一段空間中,然后通過系統(tǒng)命令查看該存儲空間,檢測寫入數(shù)據(jù)是否正確。2.1.4實驗原理存儲器是用來存儲信息的部件,是計算機(jī)的重要組成部分,靜態(tài)RAM是由MOS管組成的觸發(fā)器電路,每個觸發(fā)器可以存放1位信息。只要不掉電,所儲存的信息就不會丟失。因此,靜態(tài)RAM工作穩(wěn)定,不要外加刷新電路,使用方便。但一般SRAM的每一個觸發(fā)器是由6個晶體管組成,SRAM芯片的集成度不會太高,目前較常用的有6116(2K×8位),6264(8K×8位)和62256(32K×8位)。本實驗平臺上選用的是62256,兩片組成32K×16位的形式,共64K字節(jié)。62256的外部引腳圖如圖2-1-1所示。圖2-1-162256引腳圖本系統(tǒng)采用準(zhǔn)32位CPU,具有16位外部數(shù)據(jù)總線,即D0、D1、…、D15,地址總線為BHE#(#表示該信號低電平有效)、BLE#、A1、A2、…、A20。存儲器分為奇體和偶體,分別由字節(jié)允許線BHE#和BLE#選通。存儲器中,從偶地址開始存放的字稱為規(guī)則字,從奇地址開始存放的字稱為非規(guī)則字。處理器訪問規(guī)則字只需要一個時鐘周期,BHE#和BLE#同時有效,從而同時選通存儲器奇體和偶體。處理器訪問非規(guī)則字卻需要兩個時鐘周期,第一個時鐘周期BHE#有效,訪問奇字節(jié);第二個時鐘周期BLE#有效,訪問偶字節(jié)。處理器訪問字節(jié)只需要一個時鐘周期,視其存放單元為奇或偶,而BHE#或BLE#有效,從而選通奇體或偶體。寫規(guī)則字和非規(guī)則字的簡單時序圖如圖2-1-2所示。圖2-1-2寫規(guī)則字(左)和非規(guī)則字(右)簡單時序圖實驗原理圖實驗程序清單SSTACK SEGMENTSTACKDW32DUP(?)SSTACKENDSCODE SEGMENTSTART PROCFARASSUMECS:CODEMOVAX,8000H;存儲器擴(kuò)展空間段地址MOVDS,AX圖2-1-3SRAM實驗接線圖AA0: MOVSI,0000H;數(shù)據(jù)首地址MOVCX,0010HMOVAX,0000HAA1: MOV[SI],AXINCAXINCSIINCSILOOPAA1NOPHERE: JMPHERESTART ENDPCODE ENDSENDSTART2.1.5實驗步驟1.實驗接線圖如圖2-1-3所示,按圖接線;2.編寫實驗程序,經(jīng)編譯、鏈接無誤后裝入系統(tǒng);3.先運行程序,然后再停止程序運行;4.通過D命令查看寫入存儲器中的數(shù)據(jù),應(yīng)為0001、0002、…、000F共16個字;5.改變實驗程序,按非規(guī)則字寫存儲器,觀察實驗結(jié)果;6.改變實驗程序,按字節(jié)方式寫存儲器,觀察實驗現(xiàn)象;2.2FLASH存儲器擴(kuò)展實驗2.2.1實驗?zāi)康?.學(xué)習(xí)FLASH存儲器的工作原理與讀/寫方式;2.了解AT29C010A2.2.2實驗設(shè)備PC機(jī)一臺,TD-PITE實驗裝置一套。2.2.3實驗內(nèi)容編寫實驗程序?qū)LASHROM進(jìn)行操作,要求對FLASH的讀/寫、數(shù)據(jù)保護(hù)功能、芯片擦除等特性進(jìn)行驗證。2.2.4實驗原理1.FLASHROM簡介在系統(tǒng)可編程可擦除只讀存儲器FLASH通常稱為“閃存”,該類型的存儲器具有掉電時數(shù)據(jù)不丟失、扇區(qū)編程、芯片擦除、單一供電和高密度信息存儲等特性,主要用于保存系統(tǒng)引導(dǎo)程序和系統(tǒng)參數(shù)等需要長期保存的重要信息,現(xiàn)廣泛應(yīng)用于各種產(chǎn)品中。AT29C010A為5V在系統(tǒng)可編程可擦除只讀FLASH,存儲容量為128K×8,封裝為PLCC32,其管腳如圖2-2-1所示。引腳說明如下:A0~A16:地址信號;CE#:芯片使能信號;OE#:輸出使能信號;WE#:寫使能信號;I/O0~I(xiàn)/O7:數(shù)據(jù)輸入/輸出信號:NC:空腳,不連接。2-2-1AT29C010A2.FLASH的編程AT29C010A的數(shù)據(jù)編程以扇區(qū)為單位來進(jìn)行操作。該器件共有1024個扇區(qū),每個扇區(qū)為128字節(jié)。當(dāng)進(jìn)行數(shù)據(jù)編程時,首先將連續(xù)的128字節(jié)在內(nèi)部進(jìn)行鎖存,然后存儲器進(jìn)入編程周期,將鎖存器中的128字節(jié)數(shù)據(jù)依次寫入存儲器的扇區(qū)中,對于扇區(qū)的編程時間一般需要10ms,接下來才能對下一個扇區(qū)進(jìn)行軟件數(shù)據(jù)保護(hù):AT29C010A提供軟件數(shù)據(jù)保護(hù)功能,在編程之前寫入三個連續(xù)的程序命令,即按順序?qū)⒁?guī)定的數(shù)據(jù)寫入指定的地址單元,便可以啟動軟件數(shù)據(jù)保護(hù)功能。在軟件數(shù)據(jù)保護(hù)功能啟動以后,每次編程之前都需要加上這三條命令,否則數(shù)據(jù)將無法寫入FLASH。斷電不會影響該功能,即重新上電軟件數(shù)據(jù)保護(hù)仍然有效。這樣可以防止意外操作而破壞FLASH中的數(shù)據(jù)。如果需要去除軟件數(shù)據(jù)保護(hù)功能,可以用同樣的方法寫入連續(xù)的六個命令。啟動軟件數(shù)據(jù)保護(hù)功能的命令序列如圖2-2-2的(a)所示,取消軟件數(shù)據(jù)保護(hù)功能的命令序列如圖2-2-2的(b)所示。(a)(b)圖2-2-2軟件數(shù)據(jù)保護(hù)命令序列芯片擦除:AT29C010A可以對整個芯片進(jìn)行擦除,通過寫入六個連續(xù)的命令實現(xiàn),具體命令序列如圖2-2-3所示。圖2-2-3芯片擦除命令序列注:通常,16位數(shù)據(jù)總線,低8位數(shù)據(jù)總是寫入偶地址存儲單元或端口,而高8位數(shù)據(jù)總是寫入奇地址存儲單元或端口,讀出時情況相同。這里將8位FLASH掛在16位數(shù)據(jù)總線時,一般連接數(shù)據(jù)總線到低8位,地址按偶數(shù)變化,所以當(dāng)向5555H中寫入數(shù)據(jù)時,應(yīng)該將地址5555H乘2,即此時應(yīng)向AAAAH中寫入數(shù)據(jù)。實驗原理圖2.2.5實驗步驟本實驗系統(tǒng)共給出4個FLASH參考例程,說明如下:FLASH1.ASM:芯片擦除程序,執(zhí)行該程序可將芯片進(jìn)行擦除,擦除后芯片中的內(nèi)容為全FF;FLASH2.ASM:使能數(shù)據(jù)保護(hù)功能,并將數(shù)據(jù)80H~01H共128個字節(jié)寫入FLASH中;FLASH3.ASM:不考慮芯片的數(shù)據(jù)保護(hù)功能是否使能,直接向FLASH中全寫入55;FLASH4.ASM:去除FLASH的數(shù)據(jù)保護(hù)功能,并將數(shù)據(jù)01H~80H共128個字節(jié)寫入FLASH中。可按如下步驟驗證FLASH的數(shù)據(jù)保護(hù)功能及芯片擦除功能:1.實驗參考接線圖如圖2-2-4所示,連接電路圖;2.裝入程序FLASH1.ASM,下載完成后,執(zhí)行D命令查看FLASH中的內(nèi)容,若為全FF,接著操作步驟3,否則運行程序,再查看FLASH中的內(nèi)容,看是否為全FF;3.打開程序FLASH2.ASM,下載程序,然后運行,停止程序后使用D命令查看FLASH中的內(nèi)容,檢查是否正確寫入數(shù)據(jù)80H~01H;4.打開程序FLASH3.ASM,下載程序,然后運行,停止程序后使用D命令查看FLASH中的內(nèi)容,看是否將55全寫入FLASH中;5.打開程序FLASH4.ASM,裝入系統(tǒng)后運行程序,停止程序后查看FLASH中的內(nèi)容是否正確寫入01H~80H;6.步驟5成功執(zhí)行后,再次操作步驟4,再查看能否將55寫入FLASH;7.若步驟2中原本FLASH中的內(nèi)容為FF,則此時可重新操作步驟2,對芯片進(jìn)行擦除。自行設(shè)計程序,對FLASH的特性進(jìn)行驗證,參看AT29C010A圖2-2-4FLASHROM參考接線圖實驗程序清單;======FLASH1.ASM======芯片擦除程序======SSEG SEGMENTSTACKDW32DUP(?)SSEG ENDSCSEG SEGMENTASSUMECS:CSEGSTART PROCMOVAX,0A000HMOVDS,AXMOVSI,0AAAAH; 將AA送入5555H(將5555H乘2)MOV[SI],BYTEPTR0AAHMOVSI,5554H; 將55寫入2AAAHMOV[SI],BYTEPTR55HMOVSI,0AAAAH; 將80寫入5555HMOV[SI],BYTEPTR80HMOVSI,0AAAAH; 將AA寫入5555HMOV[SI],BYTEPTR0AAHMOVSI,5554H; 將55寫入2AAAHMOV[SI],BYTEPTR55HMOVSI,0AAAAH; 將10寫入5555HMOV[SI],BYTEPTR10HHERE: JMPHERESTART ENDPCSEG ENDSENDSTART;======FLASH2.ASM======帶數(shù)據(jù)保護(hù)寫程序======SSEG SEGMENTSTACKDW64DUP(?)SSEG ENDSCSEG SEGMENTASSUMECS:CSEGSTART PROCMOVAX,0000HMOVDS,AXMOVAX,0A000HMOVES,AXMOVCX,0080H; 128BYTEMOVBX,3000H; 源數(shù)據(jù)首地址INIT1: MOV[BX],CL; 初始化源數(shù)據(jù)區(qū)INCBXLOOPINIT1MOVDI,0AAAAHMOVES:[DI],BYTEPTR0AAHMOVDI,5554HMOVES:[DI],BYTEPTR55HMOVDI,0AAAAHMOVES:[DI],BYTEPTR0A0HMOVCX,0080HMOVBX,3000HMOVDI,0000HA21: MOVAL,[BX]MOVES:[DI],ALINCDIINCDIINCBXLOOPA21HERE: JMPHERESTART ENDPCSEG ENDSENDSTART;======FLASH3.ASM======不帶數(shù)據(jù)保護(hù)寫程序======SSEG SEGMENTSTACKDW64DUP(?)SSEG ENDSCSEG SEGMENTASSUMECS:CSEGSTART PROCMOVAX,0000HMOVDS,AXMOVAX,0A000HMOVES,AXMOVCX,0080H; 數(shù)據(jù)個數(shù)128字節(jié)MOVSI,3000H; 源數(shù)據(jù)區(qū)首地址MOVAL,55HINIT1: MOV[SI],AL; 初始化源數(shù)據(jù)區(qū)為55HINCSILOOPINIT1MOVSI,3000HMOVDI,0000HMOVCX,0080HAA1: MOVAL,[SI]MOVES:[DI],AL; 將源數(shù)據(jù)區(qū)中的數(shù)據(jù)寫入FLASH中INCDIINCDIINCSILOOPAA1HERE: JMPHERESTART ENDPCSEG ENDSENDSTART;======FLASH4.ASM======去除數(shù)據(jù)保護(hù)程序======SSEG SEGMENTSTACKDW64DUP(?)SSEG ENDSCSEG SEGMENTASSUMECS:CSEGSTART PROCMOVAX,0000HMOVDS,AXMOVAX,0A000HMOVES,AXMOVCX,0080H; 128BYTEMOVSI,3000H; 源數(shù)據(jù)區(qū)首地址MOVAL,01HINIT1: MOV[SI],AL; 初始化源數(shù)據(jù)區(qū)INCALINCSILOOPINIT1MOVDI,0AAAAH; 鍵入去數(shù)據(jù)保護(hù)命令序列MOVES:[DI],BYTEPTR0AAHMOVDI,5554HMOVES:[DI],BYTEPTR55HMOVDI,0AAAAHMOVES:[DI],BYTEPTR80HMOVDI,0AAAAHMOVES:[DI],BYTEPTR0AAHMOVDI,5554HMOVES:[DI],BYTEPTR55HMOVDI,0AAAAHMOVES:[DI],BYTEPTR20HMOVSI,3000HMOVDI,0000HMOVCX,0080HAA1: MOVAL,[SI]MOVES:[DI],ALINCSIINCDIINCDILOOPAA1HERE: JMPHERESTART ENDPCSEG ENDSENDSTART2.38259中斷控制實驗2.3.1實驗?zāi)康?.掌握8259中斷控制器的工作原理;2.學(xué)習(xí)8259的應(yīng)用編程方法;3.掌握8259級聯(lián)方式的使用方法。2.3.2實驗設(shè)備PC機(jī)一臺,TD-PITE實驗裝置一套。2.3.3實驗內(nèi)容及步驟1.中斷控制器8259簡介在Intel386EX芯片中集成有中斷控制單元(ICU),該單元包含有兩個級聯(lián)中斷控制器,一個為主控制器,一個為從控制器。該中斷控制單元就功能而言與工業(yè)上標(biāo)準(zhǔn)的82C59A是一致的,操作方法也相同。從在TD-PITE實驗系統(tǒng)中,將主控制器的IR6、IR7以及從控制器的IR1開放出來供實驗使用,主片8259的IR4供系統(tǒng)串口使用。8259的內(nèi)部連接及外部管腳引出如圖2-3-1所示。圖2-3-18259內(nèi)部連續(xù)及外部管腳引出圖表2-3-1列出了中斷控制單元的寄存器相關(guān)信息。表2-3-1ICU寄存器列表初始化命令字1寄存器(ICW1)說明見圖2-3-2所示。圖2-3-2初始化命令字1寄存器初始化命令字2寄存器(ICW2)說明見圖2-3-3所示。圖2-3-3初始化命令字2寄存器初始化命令字3寄存器(ICW3)說明,主片見圖2-3-4,從片見圖2-3-5。圖2-3-4主片初始化命令字3寄存器圖2-3-5從片初始化命令字3寄存器初始化命令字4寄存器(ICW4)說明見圖2-3-6。圖2-3-6初始化命令字4寄存器操作命令字1寄存器(OCW1)說明見圖2-3-7。圖2-3-7操作命令字1寄存器操作命令字2寄存器(OCW2)說明如圖2-3-8所示。圖2-3-8操作命令字2寄存器操作命令字3寄存器(OCW3)說明如圖2-3-9所示。圖2-3-9操作命令字3寄存器查詢狀態(tài)字(POLL)說明如圖2-3-10所示。圖2-3-10程序狀態(tài)字寄存器在對8259進(jìn)行編程時,首先必須進(jìn)行初始化。一般先使用CLI指令將所有的可屏蔽中斷禁止,然后寫入初始化命令字。8259有一個狀態(tài)機(jī)控制對寄存器的訪問,不正確的初始化順序會造成異常初始化。在初始化主片8259時,寫入初始化命令字的順序是:ICW1、ICW2、ICW3、然后是ICW4,初始化從片8259的順序與初始化主片8259的順序是相同的。系統(tǒng)啟動時,主片8259已被初始化,且4號中斷源(IR4)提供給與PC聯(lián)機(jī)的串口通信使用,其它中斷源被屏蔽。中斷矢量地址與中斷號之間的關(guān)系如下表所示:2.8259單中斷實驗實驗接線圖如圖2-3-11所示,單次脈沖輸出與主片8259的IR7相連,每按動一次單次脈沖,產(chǎn)生一次外部中斷,在顯示屏上輸出一個字符“7”圖2-3-118259單中斷實驗接線圖實驗程序清單SSTACKSEGMENTSTACKDW32DUP(?)SSTACKENDSCODE SEGMENTASSUMECS:CODESTART: PUSHDSMOVAX,0000HMOVDS,AXMOVAX,OFFSETMIR7; 取中斷入口地址MOVSI,003CH; 中斷矢量地址MOV[SI],AX; 填I(lǐng)RQ7的偏移矢量MOVAX,CS; 段地址MOVSI,003EHMOV[SI],AX; 填I(lǐng)RQ7的段地址矢量CLIPOPDS;初始化主片8259MOVAL,11HOUT20H,ALMOVAL,08HOUT21H,ALMOVAL,04HOUT21H,ALMOVAL,01HOUT21H,ALMOVAL,6FH; OCW1OUT21H,ALSTIAA1: NOPJMPAA1MIR7: STICALLDELAYMOVAX,0137HINT10H; 顯示字符7MOVAX,0120HINT10HMOVAL,20HOUT20H,AL; 中斷結(jié)束命令I(lǐng)RETDELAY:PUSHCXMOVCX,0F00HAA0: PUSHAXPOPAXLOOPAA0POPCXRETCODE ENDSENDSTART實驗步驟(1)按圖2-3-11連接實驗線路;(2)編寫實驗程序,經(jīng)編譯、鏈接無誤后裝入系統(tǒng);(3)運行程序,重復(fù)按單次脈沖開關(guān)KK1+,顯示屏?xí)@示字符“7”以說明響應(yīng)了中斷。3.8259級聯(lián)實驗實驗接線圖如圖2-3-12所示,KK1+連接到主片8259的IR7上,KK2+連接到從片8259的IR1上,當(dāng)按一次KK1+時,顯示屏上顯示字符“M7”,按一次KK2+時,顯示字符“S1圖2-3-128259級聯(lián)實驗實驗程序清單SSTACKSEGMENTSTACKDW32DUP(?)SSTACKENDSCODE SEGMENTASSUMECS:CODESTART: PUSHDSMOVAX,0000HMOVDS,AXMOVAX,OFFSETMIR7; 取中斷入口地址MOVSI,003CH; 中斷矢量地址MOV[SI],AX; 填I(lǐng)RQ7的偏移矢量MOVAX,CS; 段地址MOVSI,003EHMOV[SI],AX; 填I(lǐng)RQ7的段地址矢量MOVAX,OFFSETSIR1MOVSI,00C4HMOV[SI],AXMOVAX,CSMOVSI,00C6HMOV[SI],AXCLIPOPDS;初始化主片8259MOVAL,11HOUT20H,ALMOVAL,08HOUT21H,ALMOVAL,04HOUT21H,ALMOVAL,01HOUT21H,AL;初始化從片8259MOVAL,11HOUT0A0H,AL; ICW1MOVAL,30HOUT0A1H,AL; ICW2MOVAL,02HOUT0A1H,AL; ICW3MOVAL,01HOUT0A1H,AL; ICW4MOVAL,0FDHOUT0A1H,AL; OCW1=11111101MOVAL,6BHOUT21H,AL; 主8259OCW1STIAA1: NOPJMPAA1MIR7: CALLDELAYMOVAX,014DHINT10H; MMOVAX,0137HINT10H; 顯示字符7MOVAX,0120HINT10HMOVAL,20HOUT20H,AL; 中斷結(jié)束命令I(lǐng)RETSIR1: CALLDELAYMOVAX,0153HINT10H;SMOVAX,0131HINT10H; 顯示字符1MOVAX,0120HINT10HMOVAL,20HOUT0A0H,ALOUT20H,ALIRETDELAY:PUSHCXMOVCX,0F00HAA0: PUSHAXPOPAXLOOPAA0POPCXRETCODE ENDSENDSTART實驗步驟(1)按圖2-3-12連接實驗線路;(2)輸入程序,編譯、鏈接無誤后裝入系統(tǒng);(3)運行程序,按動KK1+或KK2+,觀察結(jié)果,驗證實驗程序的正確性;(4)若同時按下KK1+和KK2+,觀察實驗結(jié)果,解釋實驗現(xiàn)象。2.4DMA特性及8237應(yīng)用實驗2.4.1實驗?zāi)康?.掌握8237DMA控制器的工作原理;2.了解DMA特性及8237的幾種數(shù)據(jù)傳輸方式;3.掌握8237的應(yīng)用編程。2.4.2實驗設(shè)備PC機(jī)一臺,TD-PITE實驗裝置一套。2.4.3實驗原理及內(nèi)容直接存儲器訪問(DirectMemoryAccess,簡稱DMA),是指外部設(shè)備不經(jīng)過CPU的干涉,直接實現(xiàn)對存儲器的訪問。DMA傳送方式可用來實現(xiàn)存儲器到存儲器、存儲器到I/O接口、I/O接口到存儲器之間的高速數(shù)據(jù)傳送。1.8237芯片介紹8237是一種高性能可編程DMA控制器,芯片有4個獨立的DMA通道,可用來實現(xiàn)存儲器到存儲器、存儲器到I/O接口、I/O接口到存儲器之間的高速數(shù)據(jù)傳送。8237的各通道均具有相應(yīng)的地址、字?jǐn)?shù)、方式、命令、請求、屏蔽、狀態(tài)和暫存寄存器,通過對它們的編程,可實現(xiàn)8237初始化,以確定DMA控制的工作類型、傳輸類型、優(yōu)先級控制、傳輸定時控制及工作狀態(tài)等。8237的外部引腳如圖2-4-1所示。8237的內(nèi)部寄存器分為兩類:①4個通道共用的寄存器。包括命令、方式、狀態(tài)、請求、屏蔽和暫存寄存器。2-4-18237的外部引腳圖②4個通道專用的寄存器。包括地址寄存器(基地址及當(dāng)前地址寄存器)和字節(jié)計數(shù)器(基本字節(jié)計數(shù)器和當(dāng)前字節(jié)計數(shù)器)。8237的內(nèi)部結(jié)構(gòu)圖如圖2-4-2所示。00圖2-4-28237內(nèi)部結(jié)構(gòu)圖寄存器格式如圖2-4-3~圖2-4-7所示。圖2-4-3命令寄存器格式圖2-4-4方式寄存器格式圖2-4-58237狀態(tài)寄存器圖2-4-68237請求寄存器格式(a)單個通道屏蔽寄存器格式(b)4個通道屏蔽寄存器格式圖2-4-7通道屏蔽寄存器格式表2-4-18237內(nèi)部寄存器和軟命令及其讀寫操作一覽表實驗原理圖2.實驗內(nèi)容將存儲器1000H單元開始的連續(xù)10個字節(jié)的數(shù)據(jù)復(fù)制到地址0000H開始的10個單元中,實現(xiàn)8237的存儲器到存儲器傳輸。實驗參考線路圖如圖2-4-8所示。圖2-4-88237實現(xiàn)存儲器到存儲器傳輸實驗接線圖實驗系統(tǒng)中提供了MY0和MY1兩個存儲器譯碼信號,譯碼空間分別為800000H~9FFFFH和A0000H~AFFFFH。在做DMA實驗時,CPU會讓出總線控制權(quán),而8237的尋址空間僅為0000H~FFFFH,8237無法尋址到MY0的譯碼空間,故系統(tǒng)中將高位地址線A19~A17連接到固定電平上,在CPU讓出總線控制權(quán)時,MY0會變?yōu)榈碗娖?,即DMA訪問期間,MY0有效。具體如下圖所示。實驗程序清單STACK SEGMENTSTACKDW64DUP(?)STACK ENDSCODE SEGMENTASSUMECS:CODESTART: MOVAL,00MOVDX,061AHOUTDX,AL ;總清命令A(yù)A1: MOVAL,00HMOVDX,0600H ;通道0(Source)OUTDXMOVAL,10HOUTDXMOVAL,00HMOVDX,0604H ;通道1(Dest)OUTDXMOVAL,00HOUTDXMOVAL,0AHMOVDX,0602H ;傳輸字節(jié)個數(shù)OUTDXMOVAL,00HOUTDMOVAL,0AHMOVDX,0606H ;傳輸字節(jié)個數(shù)OUTDXMOVAL,00HOUTDXMOVAL,88HMOVDX,0616H ;通道0方式字OUTDXMOVAL,85H ;通道1方式字OUTDXMOVAL,81HMOVDX,0610H ;命令字OUTDXMOVAL,04HMOVDX,0612H ;請求字OUTDXMOVAL,00HMOVDX,061EH ;屏蔽字OUTDXA1: JMPA1CODE ENDSENDSTART2.4.4實驗步驟1.實驗接線圖如圖2-4-8所示,按圖連接實驗線路;2.根據(jù)實驗要求,參考流程圖2-4-9編寫實驗程序;3.編譯、鏈接程序無誤后,將目標(biāo)代碼裝入系統(tǒng);4.初始化首地址中的數(shù)據(jù),通過E8000:2000命令來改變;(注:思考為何通道中送入的首地址值為1000H,而CPU初始化時的首地址為2000H)5.運行程序,然后停止程序運行;6.通過D8000:0000命令查看DMA傳輸結(jié)果,是否與首地址中寫入的數(shù)據(jù)相同,可反復(fù)驗證;7.自己思考DMA的其它的傳輸方式,設(shè)計實驗進(jìn)行驗證。圖2-4-9DMA實驗流程圖2.58254定時/計數(shù)器應(yīng)用實驗2.5.1實驗?zāi)康?.掌握8254的工作方式及應(yīng)用編程;2.掌握8254典型應(yīng)用電路的接法。2.5.2實驗設(shè)備PC機(jī)一臺,TD-PITE實驗裝置一套,示波器一臺。2.5.3實驗內(nèi)容1.計數(shù)應(yīng)用實驗。編寫程序,應(yīng)用8254的計數(shù)功能,使用單次脈沖模擬計數(shù),使每當(dāng)按動‘KK1+’5次后,產(chǎn)生一次計數(shù)中斷,并在屏幕上顯示一個字符‘M’。2.定時應(yīng)用實驗。編寫程序,應(yīng)用8254的定時功能,產(chǎn)生一個1ms的方波。2.5.4實驗原理8254是Intel公司生產(chǎn)的可編程間隔定時器。是8253的改進(jìn)型,比8253具有更優(yōu)良的性能。8254具有以下基本功能:(1)有3個獨立的16位計數(shù)器;(2)每個計數(shù)器可按二進(jìn)制或十進(jìn)制(BCD)計數(shù);(3)每個計數(shù)器可編程工作于6種不同工作方式;(4)8254每個計數(shù)器允許的最高計數(shù)頻率為10MHz(8253為2MHz);(5)8254有讀回命令(8253沒有),除了可以讀出當(dāng)前計數(shù)單元的內(nèi)容外,還可以讀出狀態(tài)寄存器的內(nèi)容;(6)計數(shù)脈沖可以是有規(guī)律的時鐘信號,也可以是隨機(jī)信號。計數(shù)初值公式為:n=fCLKi÷fOUTi、其中fCLKi是輸入時鐘脈沖的頻率,fOUTi是輸出波形的頻率。圖2-5-1是8254的內(nèi)部結(jié)構(gòu)框圖和引腳圖,它是由與CPU的接口、內(nèi)部控制電路和三個計數(shù)器組成。8254的工作方式如下述:(1)方式0:計數(shù)到0結(jié)束輸出正躍變信號方式。(2)方式1:硬件可重觸發(fā)單穩(wěn)方式。(3)方式2:頻率發(fā)生器方式。(4)方式3:方波發(fā)生器。(5)方式4:軟件觸發(fā)選通方式。(6)方式5:硬件觸發(fā)選通方式。圖2-5-18254的內(nèi)部接口和引腳8254的控制字有兩個:一個用來設(shè)置計數(shù)器的工作方式,稱為方式控制字;另一個用來設(shè)置讀回命令,稱為讀回控制字。這兩個控制字共用一個地址,由標(biāo)識位來區(qū)分。控制字格式如表2-5-1所示。表2-5-18254的方式控制字格式表2-5-28254讀出控制字格式表2-5-38254狀態(tài)字格式實驗原理圖計數(shù)應(yīng)用實驗原理圖定時應(yīng)用實驗原理圖2.5.5實驗步驟1.計數(shù)應(yīng)用實驗編寫程序,將8254的計數(shù)器0設(shè)置為方式3,計數(shù)值為二進(jìn)制數(shù)4,用單次脈沖KK1+作為CLK0時鐘,OUT0連接MIR7,每當(dāng)KK1+按動5次后產(chǎn)生中斷請求,在屏幕上顯示字符“M”。實驗步驟:(1)實驗接線如圖2-5-2所示;(2)編寫實驗程序,經(jīng)編譯、鏈接無誤后裝入系統(tǒng);(3)運行程序,按動KK1+產(chǎn)生單次脈沖,觀察實驗現(xiàn)象;(4)改變計數(shù)值,驗證8254的計數(shù)功能。圖2-5-28254計數(shù)應(yīng)用實驗接線圖實驗程序清單A8254 EQU06C0HB8254 EQU06C2HC8254 EQU06C4HCON8254 EQU06C6HSSTACK SEGMENTSTACKDW32DUP(?)SSTACK ENDSCODE SEGMENTASSUMECS:CODE,SS:SSTACKSTART: PUSHDSMOVAX,0000HMOVDS,AXMOVAX,OFFSETIRQ7 ;取中斷入口地址MOVSI,003CH ;中斷矢量地址MOV[SI],AX ;填I(lǐng)RQ7的偏移矢量MOVAX,CS ;段地址MOVSI,003EHMOV[SI],AX ;填I(lǐng)RQ7的段地址矢量CLIPOPDS;初始化主片8259MOVAL,11HOUT20H,ALMOVAL,08HOUT21H,ALMOVAL,04HOUT21H,ALMOVAL,01HOUT21H,MOVAL,6FH ;OCW1OUT21H,AL;8254MOVDX,CON8254MOVAL,10H ;計數(shù)器0,方式0OUTDXMOVDX,A8254MOVAL,04HOUTDXSTIAA1: JMPAA1IRQ7: MOVDX,A8254MOVAL,04HOUTDXMOVAX,014DHINT10H ;顯示字符MMOVAX,0120HINT10HMOVAL,20HOUT20H,AL ;中斷結(jié)束命令I(lǐng)RETCODE ENDSENDSTART2.定時應(yīng)用實驗編寫程序,將8254的計數(shù)器0,1設(shè)置為方式3,用信號源1MHz作為CLK0時鐘,OUT1為波形輸出1s方波。實驗步驟:(1)接線圖如圖2-5-3所示;(2)根據(jù)實驗內(nèi)容,編寫實驗程序,經(jīng)編譯、鏈接無誤后裝入系統(tǒng);(3)運行實驗程序,用示波器測試OUT0輸出,驗證程序功能。圖2-5-38254定時應(yīng)用實驗接線圖實驗程序清單A8254 EQU06C0HB8254 EQU06C2HC8254 EQU06C4HCON8254 EQU06C6HSSTACK SEGMENTSTACKDW32DUP(?)SSTACK ENDSCODE SEGMENTASSUMECS:CODESTART: MOVDX,CON8254 ;8254MOVAL,36H ;計數(shù)器0,方式3OUTDXMOVDX,A8254MOVAL,0E8HOUTDXMOVAL,03HOUTDXMOVDX,CON8254 ;8254MOVAL,76H ;計數(shù)器1,方式3OUTDXMOVDX,B8254MOVAL,0E8HOUTDXMOVAL,03HOUTDXAA1: JMPAA1CODE ENDSENDSTART2.68255并行接口實驗2.6.1實驗?zāi)康?.學(xué)習(xí)并掌握8255的工作方式及其應(yīng)用;2.掌握8255典型應(yīng)用電路的接法。2.6.2實驗設(shè)備PC機(jī)一臺,TD-PITE實驗裝置一套。2.6.3實驗內(nèi)容1.基本輸入輸出實驗。編寫程序,使8255的A口為輸入,B口為輸出,完成撥動開關(guān)到數(shù)據(jù)燈的數(shù)據(jù)傳輸。要求只要開關(guān)撥動,數(shù)據(jù)燈的顯示就發(fā)生相應(yīng)改變。2.流水燈顯示實驗。編寫程序,使8255的A口和B口均為輸出,數(shù)據(jù)燈D7~D0由左向右,每次僅亮一個燈,循環(huán)顯示,D15~D8與D7~D0正相反,由右向左,每次僅點亮一個燈,循環(huán)顯示。2.6.4實驗原理圖2-6-18255內(nèi)部結(jié)構(gòu)及外部引腳圖并行接口是以數(shù)據(jù)的字節(jié)為單位與I/O設(shè)備或被控制對象之間傳遞信息。CPU和接口之間的數(shù)據(jù)傳送總是并行的,即可以同時傳遞8位、16位或32位等。8255可編程外圍接口芯片是Intel公司生產(chǎn)的通用并行I/O接口芯片,它具有A、B、C三個并行接口,用+5V單電源供電,能在以下三種方式下工作:方式0--基本輸入/輸出方式、方式1--選通輸入/輸出方式、方式2--雙向選通工作方式。8255的內(nèi)部結(jié)構(gòu)及引腳如圖2-6-1所示,8255工作方式控制字和C口按位置位/復(fù)位控制字格式如圖2-6-2所示(a)工作方式控制字(b)C口按位置位/復(fù)位控制字圖2-6-28255控制字格式實驗原理圖基本輸入輸出實驗原理圖流水燈顯示實驗原理圖2.6.5實驗步驟1.基本輸入輸出實驗本實驗使8255端口A工作在方式0并作為輸入口,端口B工作在方式0并作為輸出口。用一組開關(guān)信號接入端口A,端口B輸出線接至一組數(shù)據(jù)燈上,然后通過對8255芯片編程來實現(xiàn)輸入輸出功能。具體實驗步驟如下述:(1)實驗接線圖如圖2-6-3所示,按圖連接實驗線路圖;(2)編寫實驗程序,經(jīng)編譯、連接無誤后裝入系統(tǒng);(3)運行程序,改變撥動開關(guān),同時觀察LED顯示,驗證程序功能。圖2-6-38255基本輸入輸出實驗接線圖實驗程序清單SSTACK SEGMENTSTACKDW32DUP(?)SSTACK ENDSCODE SEGMENTASSUMECS:CODESTART: MOVDX,0646HMOVAL,90HOUTDXAA1: MOVDX,0640HINAL,DXCALLDELAYMOVDX,0642HOUTDXJMPAA1DELAY: PUSHCXMOVCX,0F00HAA2: PUSHAXPOPAXLOOPAA2POPCXRETCODE ENDSENDSTART2.流水燈顯示實驗使8255的A口和B口均為輸出,數(shù)據(jù)燈D7~D0由左向右,每次僅亮一個燈,循環(huán)顯示,D15~D8與D7~D0正相反,由右向左,每次僅點亮一個燈,循環(huán)顯示。實驗接線圖如圖2-6-5所示。實驗步驟如下所述:(1)按圖2-6-5連接實驗線路圖;(2)編寫實驗程序,經(jīng)編譯、鏈接無誤后裝入系統(tǒng);(3)運行程序,觀察LED燈的顯示,驗證程序功能;(4)自己改變流水燈的方式,編寫程序。圖2-6-58255流水燈實驗接線圖實驗程序清單SSTACK SEGMENTSTACKDW32DUP(?)SSTACK ENDSCODE SEGMENTASSUMECS:CODESTART: MOVDX,0646HMOVAL,80HOUTDXMOVBX,8001HAA1: MOVDX,0640HMOVAL,BHOUTDXRORBH,1MOVDX,0642HMOVAL,BLOUTDXROLBL,1CALLDELAYCALLDELAYJMPAA1DELAY: PUSHCXMOVCX,0F000HAA2: PUSHAXPOPAXLOOPAA2POPCXRETCODE ENDSENDSTART2.78251串行接口應(yīng)用實驗2.7.1實驗?zāi)康?.掌握8251的工作方式及應(yīng)用;2.了解有關(guān)串口通訊的知識。2.7.2實驗設(shè)備PC機(jī)兩臺,TD-PITE實驗裝置兩套。2.7.3實驗內(nèi)容1.數(shù)據(jù)信號的串行傳輸實驗,循環(huán)向串口發(fā)送一個數(shù),使用示波器測量TXD引腳上的波形,以了解串行傳輸?shù)臄?shù)據(jù)格式。2.自收自發(fā)實驗,將3000H起始的10個單元中的初始數(shù)據(jù)發(fā)送到串口,然后自接收并保存到4000H起始的內(nèi)存單元中。3.雙機(jī)通訊實驗,本實驗需要兩臺實驗裝置,其中一臺作為接收機(jī),一臺作為發(fā)送機(jī),發(fā)送機(jī)將3000H~3009H內(nèi)存單元中共10個數(shù)發(fā)送到接收機(jī),接收機(jī)將接收到的數(shù)據(jù)直接在屏幕上輸出顯示。2.7.4實驗原理1.8251的基本性能8251是可編程的串行通信接口,可以管理信號變化范圍很大的串行數(shù)據(jù)通信。有下列基本性能:(1)通過編程,可以工作在同步方式,也可以工作在異步方式;(2)同步方式下,波特率為0~64K,異步方式下,波特率為0~19.2K;(3)在同步方式時,可以用5~8位來代表字符,內(nèi)部或外部同步,可自動插入同步字符;(4)在異步方式時,也使用5~8位來代表字符,自動為每個數(shù)據(jù)增加1個啟動位,并能夠根據(jù)編程為每個數(shù)據(jù)增加1個、1.5個或2個停止位;(5)具有奇偶、溢出和幀錯誤檢測能力;(6)全雙工,雙緩沖器發(fā)送和接收器。注意,8251盡管通過了RS-232規(guī)定的基本控制信號,但并沒有提供規(guī)定的全部信號。2.8251的內(nèi)部結(jié)構(gòu)及外部引腳8251的內(nèi)部結(jié)構(gòu)圖如圖2-7-1所示,可以看出,8251有7個主要部分,即數(shù)據(jù)總線緩沖器、讀/寫控制邏輯電路、調(diào)制/解調(diào)控制電路、發(fā)送緩沖器、發(fā)送控制電路、接收緩沖器和接收控制電路,圖中還標(biāo)識出了每個部分對外的引腳。8251的外部引腳如圖2-7-2所示,共28個引腳,每個引腳信號的輸入輸出方式如圖中的箭頭方向所示。圖2-7-18251內(nèi)部結(jié)構(gòu)圖圖2-7-28251外部引腳圖3.8251在異步方式下的TXD信號上的數(shù)據(jù)傳輸格式圖2-7-3示意了8251工作在異步方式下的TXD信號上的數(shù)據(jù)傳輸格式。數(shù)據(jù)位與停止位的位數(shù)可以由編程指定圖2-7-38251工作在異步方式下TXD信號的數(shù)據(jù)傳輸格式4.8251的編程對8251的編程就是對8251的寄存器的操作,下面分別給出8251的幾個寄存器的格式。(1)方式控制字方式控制字用來指定通信方式及其方式下的數(shù)據(jù)格式,具體各位的定義如圖2-7-4所示。圖2-7-48251方式控制字(2)命令控制字命令控制字用于指定8251進(jìn)行某種操作(如發(fā)送、接收、內(nèi)部復(fù)位和檢測同步字符等)或處于某種工作狀態(tài),以便接收或發(fā)送數(shù)據(jù)。圖2-7-5所示的是8251命令控制字各位的定義。圖2-7-58251命令控制字格式(3)狀態(tài)字CPU通過狀態(tài)字來了解8251當(dāng)前的工作狀態(tài),以決定下一步的操作,8251的狀態(tài)字如圖2-7-6所示。圖2-7-68251狀態(tài)字格式(4)系統(tǒng)初始化8251的初始化和操作流程如圖2-7-7所示。圖2-7-78251初始化流程圖實驗原理圖數(shù)據(jù)信號的串行傳輸實驗原理圖自收自發(fā)實驗實驗原理圖2.7.5實驗步驟1.數(shù)據(jù)信號的串行傳輸發(fā)送往串口的數(shù)據(jù)會以串行格式從TXD引腳輸出,編寫程序,觀察串行輸出的格式。實驗步驟如下:(1)按圖2-7-8連接實驗接線;(2)編寫實驗程序,經(jīng)編譯、鏈接無誤后裝入系統(tǒng);(3)運行程序,使用示波器觀察TXD引腳上的波形。實驗參考例程M8251_DATA EQU0600H;端口定義M8251_CON EQU0602HM8254_2 EQU06C4HM8254_CON EQU06C6HSSTACK SEGMENTSTACKDW64DUP(?)SSTACK ENDSCODE SEGMENTASSUMECS:CODESTART: CALLINITA1: CALLSENDMOVCX,0001HA2: MOVAX,0F00HA3: DECAXJNZA3LOOPA2JMPA1INIT: MOVAL,0B6H;8254,設(shè)置通訊時鐘MOVDX,M8254_CONOUTDXMOVAL,0CHMOVDX,M8254_2OUTDXMOVAL,00HOUTDXCALLRESET;對8251進(jìn)行初始化CALLDALLYMOVAL,7EHMOVDX,M8251_CON;寫8251方式字OUTDXCALLDALLYMOVAL,34HOUTDX,AL;寫8251控制字CALLDALLYRETRESET: MOVAL,00H;初始化8251子程序MOVDX,M8251_CON;控制寄存器OUTDXCALLDALLYOUTDXCALLDALLYOUTDXCALLDALLYMOVAL,40HOUTDXRETDALLY: PUSHCXMOVCX,5000HA4: PUSHAXPOPAXLOOPA4POPCXRETSEND: PUSHAXPUSHDXMOVAL,31HMOVDX,M8251_CONOUTDXMOVAL,55HMOVDX,M8251_DATA;發(fā)送數(shù)據(jù)55HOUTDXPOPDXPOPAXRETCODE ENDSENDSTART圖2-7-88251數(shù)據(jù)串行傳輸實驗線路圖2.自收自發(fā)實驗通過自收自發(fā)實驗,可以驗證硬件及軟機(jī)設(shè)計,常用于自測試。具體實驗步驟如下:(1)參考實驗接線圖如圖2-7-9所示,按圖連接實驗線路;(2)編寫實驗程序,編譯、鏈接無誤后裝入系統(tǒng);(3)使用E命令更改4000H起始的10個單元中的數(shù)據(jù);(4)運行實驗程序,然后停止程序的運行;(5)查看3000H起始的10個單元中的數(shù)據(jù),與初始化的數(shù)據(jù)進(jìn)行比較,驗證程序功能。圖2-7-9自收自發(fā)實驗接線圖實驗參考例程M8251_DATA EQU0600H ;端口定義M8251_CON EQU0602HM8254_
溫馨提示
- 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)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 保險業(yè)務(wù)合規(guī)操作與風(fēng)險防范手冊
- 遼寧汽貿(mào)人事制度改模板
- 2026年劇本殺運營公司門店投訴處理流程管理制度
- 2025年智能交通行業(yè)數(shù)據(jù)報告
- 2026年影視娛樂流媒體內(nèi)容創(chuàng)新報告及未來五至十年商業(yè)模式報告
- 長沙銀行運營面試題目及答案
- 全音像記錄制度
- 保護(hù)患者隱私權(quán)制度
- 二手車交易制度
- 業(yè)務(wù)招待制度
- 化工廠班組安全培訓(xùn)課件
- 2025四川成都農(nóng)商銀行招聘10人筆試備考題庫及答案解析
- 營業(yè)執(zhí)照借用協(xié)議合同
- 2025年秋蘇教版(新教材)初中生物八年級上冊期末知識點復(fù)習(xí)卷及答案(共三套)
- 2025年小升初學(xué)校家長面試題庫及答案
- 2025年法考客觀題真題回憶版(含答案)
- WB/T 1019-2002菱鎂制品用輕燒氧化鎂
- GB/T 6003.2-1997金屬穿孔板試驗篩
- GB/T 4074.21-2018繞組線試驗方法第21部分:耐高頻脈沖電壓性能
- 完整word版毛澤東思想和中國特色社會主義理論體系概論知識點歸納
- GB/T 13350-2008絕熱用玻璃棉及其制品
評論
0/150
提交評論