《微機(jī)原理與接口技術(shù)》實(shí)驗(yàn)指導(dǎo)書(shū)2005-9_第1頁(yè)
《微機(jī)原理與接口技術(shù)》實(shí)驗(yàn)指導(dǎo)書(shū)2005-9_第2頁(yè)
《微機(jī)原理與接口技術(shù)》實(shí)驗(yàn)指導(dǎo)書(shū)2005-9_第3頁(yè)
《微機(jī)原理與接口技術(shù)》實(shí)驗(yàn)指導(dǎo)書(shū)2005-9_第4頁(yè)
《微機(jī)原理與接口技術(shù)》實(shí)驗(yàn)指導(dǎo)書(shū)2005-9_第5頁(yè)
已閱讀5頁(yè),還剩74頁(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)介

1、精品文檔你我共享腹有詩(shī)書(shū)氣自華微機(jī)原理與接口技術(shù)實(shí)驗(yàn)指導(dǎo)書(shū)方義秋編著計(jì)算機(jī)綜合實(shí)驗(yàn)中心2005年8月精品文檔你我共享腹有詩(shī)書(shū)氣自華33實(shí)驗(yàn)一、PC機(jī)內(nèi)部8259中斷應(yīng)用33第二部分接口部分實(shí)驗(yàn)實(shí)驗(yàn)要求第一部分微機(jī)原理及匯編程序設(shè)計(jì)實(shí)驗(yàn)一、認(rèn)識(shí)Tddebug集成操作軟件實(shí)驗(yàn)二、I/O程序設(shè)計(jì)實(shí)驗(yàn)三、分支程序設(shè)計(jì)11實(shí)驗(yàn)四、循環(huán)程序設(shè)計(jì)13實(shí)驗(yàn)五、運(yùn)算類(lèi)程序設(shè)計(jì)15實(shí)驗(yàn)六、代碼轉(zhuǎn)換程序設(shè)計(jì)19實(shí)驗(yàn)七、宏指令應(yīng)用24實(shí)驗(yàn)八、字符串處理26實(shí)驗(yàn)九、數(shù)據(jù)表格處理28實(shí)驗(yàn)十、子程序及軟中斷程序設(shè)計(jì)29精品文檔你我共享腹有詩(shī)書(shū)氣自華39實(shí)驗(yàn)十三、8254定時(shí)/計(jì)數(shù)器應(yīng)用452358實(shí)驗(yàn)十二、PCI總線(xiàn)中斷應(yīng)

2、用實(shí)驗(yàn)十四8255并行接口應(yīng)用實(shí)驗(yàn)十五、交通燈控制附錄一 TD-PIT-B實(shí)驗(yàn)系統(tǒng)的硬件環(huán)境60精品文檔你我共享腹有詩(shī)書(shū)氣自華預(yù)習(xí)實(shí)驗(yàn)內(nèi)容1.2.3.實(shí)驗(yàn)過(guò)程.實(shí)驗(yàn)要求明確本次實(shí)驗(yàn)?zāi)康募叭蝿?wù),了解和掌握實(shí)驗(yàn)所需的理論知識(shí)及相關(guān)接口芯片的工作原理。 通過(guò)閱讀示例程序,掌握編程方法及相關(guān)技巧。對(duì)每次實(shí)驗(yàn),選擇其中一個(gè)項(xiàng)題目自己設(shè)計(jì)編寫(xiě)程序。帶上理論課教材、實(shí)驗(yàn)指導(dǎo)書(shū)及準(zhǔn)備的實(shí)驗(yàn)程序。 若為接口電路,請(qǐng)關(guān)閉電源搭接線(xiàn)路,檢查無(wú)誤后,再開(kāi)電源。 調(diào)試程序,記錄結(jié)果。實(shí)驗(yàn)結(jié)束后,請(qǐng)關(guān)閉電源,將各實(shí)驗(yàn)器材歸位,清潔自己的桌面。編寫(xiě)實(shí)驗(yàn)報(bào)告.5.6.實(shí)驗(yàn)題目。分析設(shè)計(jì)思想,繪制實(shí)

3、驗(yàn)原理圖、流程圖。 程序清單及相關(guān)注釋。分析實(shí)驗(yàn)結(jié)果。說(shuō)明在實(shí)驗(yàn)過(guò)程中遇到了哪些問(wèn)題,是如何處理的。 收獲體會(huì),不足之處和今后應(yīng)注意的問(wèn)題等。注意事項(xiàng).實(shí)驗(yàn)以前,應(yīng)確保PCI總線(xiàn)擴(kuò)展卡與實(shí)驗(yàn)箱間扁平電纜連接的正確性。實(shí)驗(yàn)前后應(yīng)仔細(xì)檢查實(shí)驗(yàn)箱,防止導(dǎo)線(xiàn)、元件等物品落入裝置內(nèi),導(dǎo)致線(xiàn)路短路、元件損壞。 愛(ài)護(hù)實(shí)驗(yàn)設(shè)施,插接、拔取排線(xiàn)時(shí),手握白色插頭,不得從線(xiàn)中間拉取。實(shí)驗(yàn)箱電源關(guān)閉后,不能立即重新開(kāi)啟。關(guān)閉與重新開(kāi)啟之間至少應(yīng)有30秒間隔。精品文檔你我共享腹有詩(shī)書(shū)氣自華精品文檔你我共享腹有詩(shī)書(shū)氣自華.第一部分微機(jī)原理及匯編程序設(shè)計(jì)實(shí)驗(yàn)一、認(rèn)識(shí)TddebugTddebug集

4、成操作軟件實(shí)驗(yàn)?zāi)康氖煜R編程序的開(kāi)發(fā)過(guò)程。認(rèn)識(shí)Tddebug集成操作軟件。掌握在Tddebug集成環(huán)境中編輯、編譯、連接匯編語(yǔ)言程序方法。 掌握INT 21H軟件中斷來(lái)調(diào)用DOS內(nèi)部子程序的方法實(shí)驗(yàn)設(shè)備PC微機(jī)一臺(tái)匯編語(yǔ)言程序的開(kāi)發(fā)過(guò)程1、源程序的編輯E: EDITEDIT TEST.ASMTEST.ASM編輯過(guò)程就是將源程序輸入內(nèi)存,生成一個(gè)擴(kuò)展名為ASM的文本文件并存入硬盤(pán)。2、源程序的編譯E:TASMTASM TEST.ASMTEST.ASM編譯也稱(chēng)為匯編,就是利用匯編器(如TASM或MASM )對(duì)源程序進(jìn)行編譯,生成擴(kuò)展名為 OBJ的目標(biāo)文件。在編譯過(guò)程中,檢查語(yǔ)法錯(cuò)誤,若有錯(cuò),則不生

5、成目標(biāo)代碼文件,并給出錯(cuò)誤信 息。根據(jù)錯(cuò)誤信息應(yīng)返回到編輯狀態(tài),修改源程序。3、目標(biāo)程序的鏈接E: TLINKTLINK TEST.OBJTEST.OBJ鏈接過(guò)程是利用鏈接程序(如TLINK或LINK)將用戶(hù)目標(biāo)程序和庫(kù)文件鏈接、定位,生成擴(kuò) 展名為EXE的可執(zhí)行文件。鏈接時(shí),如果鏈接文件找不到所需要的鏈接信息,則發(fā)出錯(cuò)誤信息,不 生成可執(zhí)行文件。4、調(diào)試可執(zhí)行程序匯編語(yǔ)言程序的開(kāi)發(fā)過(guò)程如圖1.1所示,這個(gè)過(guò)程主要有編輯、編譯、鏈接幾個(gè)步驟構(gòu)成。圖1.1匯編語(yǔ)言程序開(kāi)發(fā)過(guò)程精品文檔你我共享腹有詩(shī)書(shū)氣自華E:TDTD TEST.EXETEST.EXE精品文檔你我共享腹有詩(shī)書(shū)氣自華四.Tddebu

6、gTddebug集成操作軟件使用說(shuō)明1.2.3.該軟件是集編輯(Edit.exe)、編譯(Tasm.exe、連接(Link.exe)和調(diào)試(TD.exe)等多 個(gè)功能于一體,可在DOS環(huán)境下運(yùn)行,為用戶(hù)提供了一個(gè)學(xué)習(xí)微機(jī)原理的實(shí)驗(yàn)平臺(tái)。啟動(dòng) Tddebug若啟動(dòng)成功,進(jìn)入主界面。Tddebug的菜單結(jié)構(gòu)D: wjyl TddebugTddebug4.(1)(2)5.顯示幫助窗口 設(shè)置/清除斷點(diǎn) 執(zhí)行到光標(biāo)處 放大/縮小窗口 單步執(zhí)行 單句執(zhí)行如果生成的EXE文件運(yùn)行后,并沒(méi)有按照設(shè)計(jì)意圖運(yùn)行,就需要對(duì)程序進(jìn)行調(diào)試,找出錯(cuò)誤。 再對(duì)源程序進(jìn)行修改,即重復(fù)進(jìn)行編輯、編譯、鏈接、調(diào)試,直到生成完全正

7、確的可執(zhí)行文件為止。主菜單子菜單菜單說(shuō)明Edit編輯源文件(.asmCom pileCom pile編譯源文件(.asmLi nk連接目標(biāo)文件(.obj)Build All編譯和連接Pmru n進(jìn)入保護(hù)模式調(diào)試狀態(tài)RmrunRun運(yùn)行實(shí)模式程序(.exeDebug進(jìn)入實(shí)模式調(diào)試狀態(tài)(.exeHelp版本信息Quit退出 Tddebug菜單選擇快捷鍵選擇主菜單:ALT +熱鍵(E,C ,P ,R,H,Q)按左右鍵或直接使用快捷鍵在主菜單之間切換。使用上下鍵可選擇子菜單中的菜單項(xiàng)。 執(zhí)行菜單項(xiàng)選中要執(zhí)行的菜單項(xiàng),鍵入Enter鍵,系統(tǒng)彈出對(duì)話(huà)框,輸入需操作的文件名,以Enter鍵結(jié)尾, 取消操作按

8、Esc鍵。6.實(shí)模式調(diào)試窗口說(shuō)明(1)鍵入Alt+R選擇Rmrun主菜單的Debug子菜單彈出實(shí)模式調(diào)試窗口。此時(shí)可能會(huì)疊加一 個(gè)報(bào)告無(wú)符號(hào)表的對(duì)話(huà)框,按Esc鍵關(guān)閉該對(duì)話(huà)框。 該窗口實(shí)際是Turbo Debugge調(diào)試器窗口,簡(jiǎn)稱(chēng)TD。其窗口的劃分如圖1-1所示。主菜單條代碼顯示調(diào)試區(qū)寄存器顯示調(diào)試區(qū)標(biāo)志寄存器顯示調(diào)試區(qū)內(nèi)存數(shù)據(jù)顯示調(diào)試區(qū)堆棧顯示調(diào)試區(qū)快捷鍵操作提示區(qū)圖1-1 Turbo Debugged試窗口劃分圖(3)主菜單中包含了 File Edit、View、Run、Breakpoints Data Options Windows 和 Help 共9個(gè)菜單項(xiàng)。可使用熱鍵選擇相應(yīng)的菜單

9、。在調(diào)試程序或操作調(diào)試器中會(huì)使用一些快捷鍵來(lái)實(shí)現(xiàn) 一些功能,下面將列出常用功能的快捷鍵及實(shí)現(xiàn)功能??旖萱I:精品文檔你我共享腹有詩(shī)書(shū)氣自華F1:F2:F4:F5:F7:F8:精品文檔你我共享腹有詩(shī)書(shū)氣自華五.實(shí)驗(yàn)內(nèi)容及說(shuō)明1.2.(1)(2)八.實(shí)驗(yàn)步驟.F9:運(yùn)行程序F10:激活主菜單Ctrl+Break終止程序執(zhí)行Alt+X :退出 TDTab切換焦點(diǎn)區(qū)域當(dāng)焦點(diǎn)區(qū)域在寄存器顯示區(qū)中時(shí):Ctrl+R:切換16位/32位通用寄存器并顯示Ctrl+I:使光條指示寄存器的內(nèi)容加1Ctrl+D:使光條指示寄存器的內(nèi)容減1 Ctrl+Z:使光條指示寄存器的內(nèi)容清零 Ctrl+C:手動(dòng)修改光

10、條指示寄存器的內(nèi)容 當(dāng)焦點(diǎn)區(qū)域在數(shù)據(jù)顯示區(qū)中時(shí):Ctrl+D :修改數(shù)據(jù)顯示格式Ctrl+G :指定需要顯示的內(nèi)存區(qū)域首地址Ctrl+S:查找指定的字節(jié)值表Ctrl+C:修改光標(biāo)當(dāng)前指示存儲(chǔ)單元的內(nèi)容 當(dāng)焦點(diǎn)區(qū)域在代碼顯示區(qū)中時(shí):Ctrl+G:指定需要顯示的代碼區(qū)域首地址Ctrl+S:查找指定的指令數(shù)字鍵/字符:修改光標(biāo)當(dāng)前指示指令實(shí)驗(yàn)內(nèi)容:數(shù)據(jù)傳送實(shí)驗(yàn)1)編程將數(shù)據(jù)段中的一個(gè)字符串傳送到附加段中,并輸出附加段中的目標(biāo)字符串到屏 幕上。參見(jiàn)示例出程序。2)修改此程序,采用字符串傳送指令完成。實(shí)驗(yàn)中使用DO助能調(diào)用(INT 21H): 參見(jiàn)教材32位微型計(jì)算機(jī)原理與接口技術(shù)89頁(yè) 顯示字符串入口

11、: AH=09H調(diào)用參數(shù):DS:DX串首地址,$ 為結(jié)束字符。返回DOS系統(tǒng)入口: AH=4CH調(diào)用參數(shù):AL=返回碼3.有關(guān)字符串的操作指令參見(jiàn)教材32位微型計(jì)算機(jī)原理與接口技術(shù)62頁(yè)4.實(shí)驗(yàn)?zāi)康模和ㄟ^(guò)對(duì)該程序進(jìn)行調(diào)試,查看程序段、數(shù)據(jù)段、附加段裝入內(nèi)存后的分配情況。 單步執(zhí)行數(shù)據(jù)傳送指令后,觀察各個(gè)寄存器及數(shù)據(jù)區(qū)的內(nèi)容。運(yùn)行Tddebug軟件,選擇Edit菜單編寫(xiě)實(shí)驗(yàn)程序使用Com pile菜單中的Com pile和Link對(duì)實(shí)驗(yàn)程序進(jìn)行匯編、連接,生成執(zhí)行文件。 使用Rmrun菜單中的Run運(yùn)行程序,觀察運(yùn)行結(jié)果。使用Rmrun菜單中的Debug調(diào)試程序,查看程序段、數(shù)據(jù)段、附加段裝入內(nèi)

12、存后的分配 情況。單步執(zhí)行數(shù)據(jù)傳送指令后,觀察各寄存器及數(shù)據(jù)區(qū)的內(nèi)容。過(guò)程如下:精品文檔你我共享腹有詩(shī)書(shū)氣自華1)2)按F7單步執(zhí)行,在代碼區(qū)中有一個(gè)三角,表示正在執(zhí)行的指令。每一條指令的執(zhí)行 一定會(huì)使目標(biāo)寄存器和狀態(tài)寄存器發(fā)生變化,從相關(guān)窗口看結(jié)果。檢查內(nèi)存數(shù)據(jù)區(qū)的內(nèi)容,關(guān)鍵是找出用戶(hù)程序的數(shù)據(jù)段和附加段:方法1:在CPU窗口按Tab鍵使內(nèi)存數(shù)據(jù)顯示區(qū)成為活動(dòng)區(qū),按Ctrl+G鍵,輸入:“DS或ES寄存器的值:偏移地址”即可顯示用戶(hù)指定的數(shù)據(jù)區(qū)方法2:選擇菜單View| Dump,彈出內(nèi)存數(shù)據(jù)顯示窗口。查看執(zhí)行結(jié)果:按Alt+F5,切換到用戶(hù)窗口。3)5.更改數(shù)據(jù)區(qū)中的數(shù)據(jù),考察、調(diào)試程序的

13、正確性。七.參考程序清單;數(shù)據(jù)傳送實(shí)驗(yàn),采用相對(duì)尋址方式DDATA SEGMENT;定義源數(shù)據(jù)段MSR DB HELLO,WORLD!$LEN EQU $- MSRDDATA ENDS字符段長(zhǎng)度 ;結(jié)束;定義一個(gè)字節(jié)EXDA SEGMENTMSD DB LEN DUPEXDA ENDS;定義附加數(shù)據(jù)段 重復(fù)MYSTACK SEGMENT STACK ;定義堆棧段 DW 20 DUP 定義20個(gè)隨機(jī)數(shù)2個(gè)字節(jié) MYSTACK ENDSCODESEGMENT;定義代碼段ASSUME CS:CODE,DS:DDATA,ES:EXDA START: MOV AX,DDATAMOVDS,AX MOVAX

14、,EXDA MOVES,AXMOVSI,OFFSET MSRMOVDI,OFFSET MSD MOVCX,LEN MOVBX,ONEXT: MOV AL,MSRBX MOVES:MSDBX,AL INC BX;裝載數(shù)據(jù)段寄存器;裝載附加數(shù)據(jù)段寄存器;開(kāi)始傳輸數(shù)據(jù)LOOFNEXTPUSH ESPOP DS;將附加段寄存器指向的段值賦給數(shù)據(jù)段寄存器MOVDXQFFSET MSDMOVAH,9INT 21HMOVAX,4COOHINT 21H;顯示字符串返回doc;返回DO狀態(tài)精品文檔你我共享腹有詩(shī)書(shū)氣自華精品文檔你我共享腹有詩(shī)書(shū)氣自華CODE ENDSEND START精品文檔你我共享腹有詩(shī)書(shū)氣自

15、華實(shí)驗(yàn)二、I/OI/O程序設(shè)計(jì)實(shí)驗(yàn)?zāi)康?理解軟中斷的調(diào)用方法及中斷過(guò)程。掌握INT 21H軟件中斷來(lái)調(diào)用DOS系統(tǒng)I/O子程序的方法。 掌握將存儲(chǔ)在內(nèi)存單元中的數(shù)據(jù)在屏幕上顯示的方法。掌握從鍵盤(pán)輸入信息到內(nèi)存的方法。實(shí)驗(yàn)設(shè)備PC微機(jī)一臺(tái)實(shí)驗(yàn)預(yù)習(xí)要求1.復(fù)習(xí)DOS功能調(diào)用(INT 21H)中用于字符輸入(功能號(hào)為01H)、字符輸出(功能號(hào)為02H)、 字符串輸入(功能號(hào)為0AH)以及字符串輸出(功能號(hào)為09H)的調(diào)用方法。參見(jiàn)教材32位微型 計(jì)算機(jī)原理與接口技術(shù)89頁(yè)。2.閱讀示例程序,掌握輸入/輸出方法。3.從實(shí)驗(yàn)內(nèi)容中任選一道題目,仔細(xì)閱讀相關(guān)的實(shí)驗(yàn)要求及說(shuō)明,編寫(xiě)程序,以便上

16、機(jī)調(diào)試。四. 實(shí)驗(yàn)內(nèi)容1.【示例】將指定數(shù)據(jù)區(qū)中一個(gè)字節(jié)的數(shù)據(jù)以十六進(jìn)制數(shù)形式顯示在屏幕上。設(shè)計(jì)思路:首先將該數(shù)以十六進(jìn)制數(shù)形式分解,然后將每一位分別轉(zhuǎn)換為ASCII碼送屏幕顯示。 其中0H9H之間的數(shù)加30H,即可得0H9H的ASCII碼,而AHFH的ASCII碼,則需再加7H, 參見(jiàn)表5-1。參考程序流程如圖2-1所示。示例程序參見(jiàn)參考程序清單。2編程由鍵盤(pán)輸入任意一個(gè)字符,將該字符的ASCII碼值顯示在屏幕上。3從鍵盤(pán)輸入兩個(gè)1位十進(jìn)制數(shù),計(jì)算二者之和,并將結(jié)果顯示在屏幕上。4編程由鍵盤(pán)輸入任意一位數(shù),將該數(shù)以二進(jìn)制數(shù)形式顯示在屏幕上,例:5=00000101B五.實(shí)驗(yàn)說(shuō)明存儲(chǔ)在內(nèi)存單元

17、中的數(shù)據(jù)要顯示在屏幕上,必須首先將一個(gè)數(shù)據(jù)區(qū)中的數(shù)分解為各位不同進(jìn)制 的數(shù)(參見(jiàn)表5-1),然后轉(zhuǎn)換為字符,通過(guò)DOS功能調(diào)用(INT 21H)完成顯示。例:1 1)2 2)顯示單個(gè)字符MOV AH, 02HMOV DL, 待顯示字符的ASCII碼INT 21H鍵盤(pán)輸入并回顯MOV AH, 01HINT 21H得到按鍵的ASCII碼,存放于AL中六.實(shí)驗(yàn)步驟精品文檔你我共享腹有詩(shī)書(shū)氣自華1.2.3.畫(huà)出實(shí)驗(yàn)流程圖。運(yùn)行Tddebug軟件,選擇Edit菜單編寫(xiě)實(shí)驗(yàn)程序使用Compile菜單中的Compile和Link對(duì)實(shí)驗(yàn)程序進(jìn)行匯編、連接,生成執(zhí)行文件。精品文檔你我共享腹有詩(shī)書(shū)氣自華七.4.5

18、.6.使用Rmrun菜單中的Run運(yùn)行程序,觀察運(yùn)行結(jié)果。 使用Rmrun菜單中的Debug調(diào)試程序。單步執(zhí)行指令, 更改數(shù)據(jù)區(qū)中的數(shù)據(jù),考察程序的正確性。觀察各寄存器及數(shù)據(jù)區(qū)的內(nèi)容。參考程序清單及流程;將指定數(shù)據(jù)區(qū)SD的數(shù)據(jù)以十六進(jìn)制數(shù)形式顯示在屏幕上DATAMESSDDBDATASEGMENUSE16DB Show a as hex:,0AH,0DH,$aENDSCODEASSUME CS:CODE,DS:DATASTART: MOV AX,DATASEGMENUSE16MOVDS,AXMOVDXQFFSET MES示提示信息MOVAH,09HINT 21H ;0F0H;取高4位SHRAL

19、,4CMPAL,0AH ;是否是A以上的數(shù)JBC2ADDAL,07H:ADD AL,30HMOVDL,AL;顯示字符MOVAH,MOVSI,OFFSET SDMOVAL,DS:SIANDAL, 02HINT21HMOVAL,DS:SIANDAL,0FH;取低4位CMPAL,0AHJBC3ADDAL,07H1:ADD AL,30HMOVDL,AL;顯示字符MOVAH,02HINT21HMOVAX,4C00H;返回DOSINT21HC2C3圖2-1一個(gè)字節(jié)數(shù)以十六進(jìn)制數(shù)形式顯示處理流程CODE ENDSENDSTART精品文檔你我共享腹有詩(shī)書(shū)氣自華精品文檔你我共享腹有詩(shī)書(shū)氣自華1.2.3 3. .

20、1.2.3.實(shí)驗(yàn)三、分支程序設(shè)計(jì)實(shí)驗(yàn)?zāi)康恼莆毡容^指令、條件轉(zhuǎn)移指令的用法 掌握分支結(jié)構(gòu)程序的組成掌握分支程序的設(shè)計(jì)、調(diào)試方法實(shí)驗(yàn)設(shè)備PC微機(jī)一臺(tái)實(shí)驗(yàn)預(yù)習(xí)要求復(fù)習(xí)比較指令、條件轉(zhuǎn)移指令的用法。 閱讀示例程序,掌握分支編程方法及相關(guān)技巧。從實(shí)驗(yàn)內(nèi)容中任選一道題目,仔細(xì)閱讀相關(guān)的實(shí)驗(yàn)要求及說(shuō)明,編寫(xiě)程序,以便上機(jī)調(diào)試。四.實(shí)驗(yàn)內(nèi)容1.【示例】判斷X的大小,并根據(jù)判斷結(jié)果以不同方式分別顯示。2.鍵入一個(gè)數(shù),判斷數(shù)是否在5 X24范圍內(nèi),是輸出標(biāo)志0,不是輸出1。3.編寫(xiě)程序,在屏幕上顯示一組菜單,根據(jù)鍵盤(pán)輸入的菜單編號(hào),提示你選擇的菜單名。4.從鍵盤(pán)輸入一個(gè)字符,判斷該字符是小寫(xiě)字母、大寫(xiě)字母、數(shù)字或

21、其他字符,并給出相應(yīng)的提示。五.實(shí)驗(yàn)要求及說(shuō)明1.1.判斷X X的大小,并根據(jù)判斷結(jié)果以不同方式分別顯示設(shè)NUMBER單元的數(shù)X以及數(shù)值N1,N2均為單字節(jié)無(wú)符號(hào)數(shù),請(qǐng)判斷X的大小,并根據(jù)判斷結(jié)果分別顯示:N1=X=N2,或XN2。參見(jiàn)程序清單2 2鍵入一個(gè)數(shù),判斷數(shù)是否在55 XV24XV24范圍內(nèi),是輸出標(biāo)志0 0,不是輸出13 3編寫(xiě)程序,在屏幕上顯示一組菜單,根據(jù)鍵盤(pán)輸入的菜單編號(hào),提示你選擇的菜單名。假設(shè)在屏幕上顯示的菜單如下:1.Open2.Save3.Copy4.Exit(PIease choose,12, 3, OR 5) -若輸入1,則顯示I choose Ope”后程序結(jié)束

22、;若輸入2,則顯示I choose SaVe后程序 結(jié)束;若輸入3,則顯示I choose Copy后程序結(jié)束;若輸入4,則顯示I choose Exif后程 序結(jié)束;若輸入其它字符,則顯示“ You press an error key后程序結(jié)束;注意可使用宏指令簡(jiǎn)化程序。4 4.從鍵盤(pán)輸入一個(gè)字符,判斷該字符是小寫(xiě)字母、大寫(xiě)字母、數(shù)字或其他字符,并給出相應(yīng)的提 示。數(shù)字09的ASCII碼為30H39H;大寫(xiě)字母的ASCII碼為41H5AH;小寫(xiě)字母的ASCII碼為61H7AH;精品文檔你我共享腹有詩(shī)書(shū)氣自華六.實(shí)驗(yàn)步驟.5.6.七.參考程序清單;設(shè)NUMBER單元的數(shù)X以及數(shù)

23、值N1,N2均為單字節(jié)無(wú)符號(hào)數(shù),請(qǐng)判斷X的大小,并根據(jù)判斷結(jié)果分別顯示:N1=X=N2,或XN2。N1=X=N2 $ XN2 $ 66;無(wú)符號(hào)數(shù)XMOVDS, AXMOVDX, OFFSET MESG1CMPNUMBER, N1JNCNEXTMOVDX, OFFSET MESG2MOVDX, OFFSET MESG3DIS P: MOV AH, 9INT21HMOVAH, 4CHINT21HCODE ENDSENDBEG;顯示結(jié)果信息;返回DOS畫(huà)出實(shí)驗(yàn)流程圖。運(yùn)行Tddebug軟件,選擇Edit菜單編寫(xiě)實(shí)驗(yàn)程序使用Compile菜單中的Compile和Link對(duì)實(shí)驗(yàn)程序進(jìn)行匯編、連接,生成執(zhí)

24、行文件。使用Rmrun菜單中的Run運(yùn)行程序,觀察運(yùn)行結(jié)果。使用Rmrun菜單中的Debug調(diào)試程序。觀察構(gòu)成分支條件的各標(biāo)志的變化情況及相關(guān)寄 存器內(nèi)容。更改數(shù)據(jù)區(qū)中的數(shù)據(jù),考察程序的正確性。N1 EQU 22N2 EQU 88DATA ENDSCODE SEGMENT USE16ASSUME CS:CODE, DS:DATABEG: MOV AX , DATAJMPNEXT: CMP NUMBER,JC DIS PDIS PN2+1精品文檔你我共享腹有詩(shī)書(shū)氣自華1 .2.3.1 .2.3.八.實(shí)驗(yàn)步驟.5.6.實(shí)驗(yàn)四、循環(huán)程序設(shè)計(jì)實(shí)驗(yàn)?zāi)康恼莆毡容^指令、轉(zhuǎn)移指令和循環(huán)指令的使用

25、方法 掌握循環(huán)結(jié)構(gòu)程序的組成掌握循環(huán)程序的設(shè)計(jì)、調(diào)試方法實(shí)驗(yàn)設(shè)備PC微機(jī)一臺(tái)實(shí)驗(yàn)預(yù)習(xí)要求復(fù)習(xí)比較指令、條件轉(zhuǎn)移指令和循環(huán)指令。閱讀示例程序,掌握循環(huán)程序的結(jié)構(gòu)、循環(huán)控制方法及相關(guān)技巧。從實(shí)驗(yàn)內(nèi)容中任選一道題目,仔細(xì)閱讀相關(guān)的實(shí)驗(yàn)要求及說(shuō)明,編寫(xiě)程序,以便上機(jī)調(diào)試。四. 實(shí)驗(yàn)內(nèi)容1.1.【示例】求某數(shù)據(jù)區(qū)內(nèi)負(fù)數(shù)的個(gè)數(shù)2.2.試編程統(tǒng)計(jì)數(shù)據(jù)區(qū)中正數(shù)、零和負(fù)數(shù)的個(gè)數(shù)。3.3.編程求無(wú)符號(hào)數(shù)字節(jié)序列中最大值和最小值。4.4.從鍵盤(pán)輸入一字符串,搜索該字符串中是否有字符“ A”,若有請(qǐng)輸出其在串中的位置。五.實(shí)驗(yàn)說(shuō)明1.求某數(shù)據(jù)區(qū)內(nèi)負(fù)數(shù)的個(gè)數(shù)為統(tǒng)計(jì)數(shù)據(jù)區(qū)內(nèi)負(fù)數(shù)的個(gè)數(shù),需逐個(gè)判別區(qū)內(nèi)的每一個(gè)數(shù)據(jù),然后將所

26、有數(shù)據(jù)中凡是符號(hào)位為 1的數(shù)據(jù)個(gè)數(shù)累加起來(lái),即得到區(qū)內(nèi)包含負(fù)數(shù)的個(gè)數(shù)。參見(jiàn)程序清單.2.試編程統(tǒng)計(jì)數(shù)據(jù)區(qū)中正數(shù)、零和負(fù)數(shù)的個(gè)數(shù)。3.編程求無(wú)符號(hào)數(shù)字節(jié)序列中最大值和最小值實(shí)驗(yàn)中可使用BH和BL作為暫存現(xiàn)行最大值和最小值,且在初始時(shí)將BH和BL初始化為首 字節(jié)的內(nèi)容,循環(huán)依次比較每個(gè)字節(jié)的內(nèi)容,求得最大值(存于BH中)和最小值(存于BL中), 送屏幕顯示。4.4.從鍵盤(pán)輸入一字符串,搜索該字符串中是否有字符“ A A”,若有請(qǐng)輸出其在串中的位置。畫(huà)出實(shí)驗(yàn)流程圖。運(yùn)行Tddebug軟件,選擇Edit菜單編寫(xiě)實(shí)驗(yàn)程序使用Com pile菜單中的Com pile和Link對(duì)實(shí)驗(yàn)程序進(jìn)行匯編、連接,生成

27、執(zhí)行文件。 使用Rmrun菜單中的Run運(yùn)行程序,觀察運(yùn)行結(jié)果。使用Rmrun菜單中的Debug調(diào)試程序。觀察構(gòu)成分支、循環(huán)條件的各標(biāo)志的變化情況及 相關(guān)寄存器內(nèi)容。更改數(shù)據(jù)區(qū)中的數(shù)據(jù),考察程序的正確性。七.參考程序清單精品文檔你我共享腹有詩(shī)書(shū)氣自華;確定數(shù)據(jù)區(qū)NUM中負(fù)數(shù)的個(gè)數(shù)(存放于BL中)DDATASEGMENTNUMDB MES DBDDATA12H,88H,82H,89H,33H,90H,01H,10H,0BDH,01HThe nu mber of n egative is:$ENDSCODE SEGMENTASSUME CS:CODE,DS:DDATASTART: MOV AX,D

28、DATADS,AXDIQFFSET NUMB ; 12H的首地址的偏移地址BH,BHCX,10DAL,DIAL,80HMOVMOVXORMOVA1:MOVTEST;與操作的指令,TEST不會(huì)把結(jié)果放進(jìn)去。與80H相與,負(fù)數(shù)相與后精品文檔你我共享腹有詩(shī)書(shū)氣自華JEA2;Z標(biāo)志為1時(shí)跳轉(zhuǎn)INCBLA2: INCDILOOPA1MOVDX,OFFSET MESow mesMOVAH,09HINT21HMOVAL,BL;show the nu mber of n egativeANDAL,0F0H;get the highest 4 bitsSHRAL,4把AL中的數(shù)循環(huán)左移,低4 位CMPAL,0A

29、HJBC2ADDAL,07HC2: ADDAL,30HMOVDL,AL;show characterMOVAH,02HINT21HMOVAL,BLANDAL,0FH;get the lowest 4 bitsCMPAL,0AHJBC3ADDAL,07HC3: ADDAL,30HMOVDL,AL;show characterMOVAH,02HINT21HMOVAX,4C00H;go back to dosINT21HCODE ENDS仍為80HEND START精品文檔你我共享腹有詩(shī)書(shū)氣自華 .2.3.4.四.實(shí)驗(yàn)內(nèi)容1 1.示例:二進(jìn)制雙精度加法運(yùn)算.五.實(shí)驗(yàn)要求及

30、說(shuō)明實(shí)驗(yàn)五、運(yùn)算類(lèi)程序設(shè)計(jì)掌握運(yùn)算類(lèi)指令對(duì)各狀態(tài)標(biāo)志位的影響及其測(cè)試方法 掌握運(yùn)用運(yùn)算類(lèi)指令編程及調(diào)試的方法 掌握子程序設(shè)計(jì)及調(diào)用方法實(shí)驗(yàn)設(shè)備PC機(jī)一臺(tái)實(shí)驗(yàn)預(yù)習(xí)要求復(fù)習(xí)運(yùn)算類(lèi)指令的用法。復(fù)習(xí)子程序設(shè)計(jì)及調(diào)用方法。閱讀示例程序,掌握子程序的編程方法及相關(guān)技巧。從實(shí)驗(yàn)內(nèi)容中任選一道題目,仔細(xì)閱讀相關(guān)的實(shí)驗(yàn)要求及說(shuō)明,用子程序處理方式編寫(xiě)程序,以便上機(jī)調(diào)試。十進(jìn)制數(shù)的BCD碼加減法運(yùn)算 乘法運(yùn)算除法運(yùn)算編程用減奇數(shù)法開(kāi)平方80 x86指令系統(tǒng)提供了實(shí)現(xiàn)加、減、乘、除運(yùn)算的基本指令,可對(duì)表4-1所示的數(shù)據(jù)類(lèi)型進(jìn)行 算術(shù)運(yùn)算。表4-1數(shù)據(jù)類(lèi)型算術(shù)運(yùn)算表二進(jìn)制BCD碼數(shù)制帶符號(hào)無(wú)符號(hào)組合非組合運(yùn)算符+、X

31、 X、*+、一+、X X、*操作符字節(jié)、字、多精度字節(jié)(二位數(shù)字)字節(jié)(一位數(shù)字)1.1.二進(jìn)制雙精度加法運(yùn)算計(jì)算X + Y=Z,并將結(jié)果輸出到屏幕上。其中X=001565A0H, Y=0021B79EH,運(yùn)算的結(jié)果 Z=00371D3EH。(1) 本實(shí)驗(yàn)是雙精度(2個(gè)16位,即32位)運(yùn)算,利用累加器AX,先求低16位和,并存 儲(chǔ)于低地址存儲(chǔ)單元,后求高16位和,再存入高地址存儲(chǔ)單元。由于低位和可能向高位有進(jìn)位,此 時(shí)CF=1,因而高位字相加語(yǔ)句需用ADC指令,即同時(shí)加上CF中的1。參見(jiàn)參考程序清單。(2) 畫(huà)出X、Y、Z三個(gè)數(shù)在內(nèi)存中的分布示意圖。(3) 修改示例程序,直接使用32位寄存器

32、和32位加法指令完成本實(shí)驗(yàn)功能。2.2. 十進(jìn)制數(shù)的BCDBCD碼加減法運(yùn)算精品文檔你我共享腹有詩(shī)書(shū)氣自華得近似平方根,獲得平方根的整數(shù)部分。因?yàn)?N個(gè)自然數(shù)中奇數(shù)之和等于N* 2 * * * * *,即:六.實(shí)驗(yàn)步驟計(jì)算X Y=Z,其中,X、Y、Z為非組合的BCD碼,X=0400H, Y=0102H,運(yùn)算結(jié)果Z=0208H。(1)編寫(xiě)兩個(gè)數(shù)值長(zhǎng)度不等的BCDBCD碼相加程序。思路:對(duì)應(yīng)位用ADC帶進(jìn)位加法求和(考慮CF標(biāo)志),再進(jìn)行DAA調(diào)整(只對(duì)AL處理。3.3. 乘法運(yùn)算本實(shí)驗(yàn)要求實(shí)現(xiàn)十進(jìn)制數(shù)乘法,被乘數(shù)和乘數(shù)均以BCD碼形式存放在內(nèi)存中,被乘數(shù)為02345乘數(shù)為3,運(yùn)算結(jié)果7035,顯

33、示在屏幕上為:00 00 07 00 03 05(1)調(diào)試程序觀察加、減、乘、除及相關(guān)調(diào)整指令,對(duì)標(biāo)志位的影響。4.4.除法運(yùn)算本實(shí)驗(yàn)要求在內(nèi)存中存儲(chǔ)5個(gè)無(wú)符號(hào)數(shù),將其用101H除,在進(jìn)行BCD碼轉(zhuǎn)換后,若奇偶位 為偶(PF=1),貝y顯示“ P”為負(fù)(SF=1),貝y顯示“ S”;為零(ZF=1),則顯示“Z”;若PF、SF、 ZF標(biāo)志皆為0,則顯示“;”。除法指令DIV、IDIV執(zhí)行后,不影響任何標(biāo)志位,而B(niǎo)CD碼調(diào)整指令A(yù)AD會(huì)影響PF、SF、 ZF標(biāo)志。通過(guò)本實(shí)驗(yàn)考察這些指令對(duì)標(biāo)志的影響情況。5.5.編程用減奇數(shù)法開(kāi)平方80 x86指令系統(tǒng)中沒(méi)有開(kāi)平方指令,因此,開(kāi)平方運(yùn)算是通過(guò)程序來(lái)

34、實(shí)現(xiàn)的。用減奇數(shù)法可求nZ (2K -1) =N2,展開(kāi):K421+3+5=9=321+3+5+7=16=421+3+5+7+9+11+13+15=648所以,若要做JS的運(yùn)算,就可以從S中逐次減去自然數(shù)中的奇數(shù)1, 3, 5, 7,,一直到被減數(shù)為0或不夠減下一個(gè)自然數(shù)的奇數(shù)為止,然后統(tǒng)計(jì)減去自然數(shù)的奇數(shù)的個(gè)數(shù),它就是S的 近似平方根。(1) 本實(shí)驗(yàn)要求編程實(shí)現(xiàn)計(jì)算0040H的開(kāi)平方值,并將運(yùn)算結(jié)果顯示在屏幕上。(2) 試編程,由鍵盤(pán)輸入一個(gè)十六進(jìn)制數(shù),將其轉(zhuǎn)換為十進(jìn)制數(shù),并進(jìn)行開(kāi)平方運(yùn)算。畫(huà)出內(nèi)存數(shù)據(jù)分布示意圖精品文檔你我共享腹有詩(shī)書(shū)氣自華.5.6.7.七.參考程序清單精品文

35、檔你我共享腹有詩(shī)書(shū)氣自華雙精度加法運(yùn)算;計(jì)算X+Y=Z;X=001565A0,Y=0021B79E,H運(yùn)算的結(jié)果 Z=00371D3BHDATA SEGMENTMES DBXLDWThe result is:$65A0HXHYLYHDWDWDW0015H0B79EH0021HDATA ENDSCODE SEGMENTMOVDX,OFFSET MES;顯示信息MOVAH,09HINT21HCALLCOMPUTE;調(diào)用計(jì)算子程序PUSHBXCALLSHWORD;顯示高位字AXPOPBXMOVAX,BXCALLSHWORD;顯示低位字BXMOVAX,4C00HINT21HJCOMPUTEP ROCM

36、OVAX,XLADDAX,YL;低位相加MOVBX,AX;低位存放于BX中MOVAX,XH帶進(jìn)位加法,高位存放于AX中ASSUME CS:CODE,DS:DATASTART: MOV AX,DATAMOV DS,AXADC AX,YHRETCOMPU TEEND PSHWORD PROC NEAR;顯示AX子程序,二7十六進(jìn)制精品文檔你我共享腹有詩(shī)書(shū)氣自華顯示字符MOV CX,4MOV DX,AXAGA: ROL DX,4MOVAL,DLANDAL,0FH;取低4位CMPAL,10;是否是10以上的數(shù)JCNEXT2ADDAL,7NEXT2: ADD AL,30HMOV AH,0EHINT 10

37、HLOOP AGARETSHWORD END PCODE ENDSEND START精品文檔你我共享腹有詩(shī)書(shū)氣自華1.2 2. .3 3. .1 .2.3.4.四.實(shí)驗(yàn)內(nèi)容.5.讎盤(pán)1-1比屯機(jī)-1援碼開(kāi)於1數(shù)畀開(kāi)黃|-ija制J JCKTCKT顯Jtr印機(jī)1JJq也品睛1實(shí)驗(yàn)六、代碼轉(zhuǎn)換程序設(shè)計(jì)實(shí)驗(yàn)?zāi)康牧私馕C(jī)中所使用的各類(lèi)數(shù)制及編碼方法。掌握不同進(jìn)制數(shù)及編碼相互轉(zhuǎn)換的程序設(shè)計(jì)方法,加深對(duì)數(shù)碼轉(zhuǎn)換的理解。掌握將存儲(chǔ)在內(nèi)存單元中的數(shù)據(jù)以十六進(jìn)制數(shù)形式、十進(jìn)制數(shù)形式和二進(jìn)制數(shù)形式顯示在屏幕 上的方法。實(shí)驗(yàn)設(shè)備PC微機(jī)一臺(tái)實(shí)驗(yàn)預(yù)習(xí)要求復(fù)習(xí)運(yùn)算類(lèi)指令的用法。復(fù)習(xí)子程序設(shè)計(jì)及調(diào)用方法。閱

38、讀示例程序,掌握子程序的編程方法及相關(guān)技巧。從實(shí)驗(yàn)內(nèi)容中任選一道題目,仔細(xì)閱讀相關(guān)的實(shí)驗(yàn)要求及說(shuō)明,用子程序處理方式編寫(xiě)程序,以便上機(jī)調(diào)試?!臼纠繉?位十進(jìn)制數(shù)的數(shù)字串轉(zhuǎn)換為一個(gè)字的二進(jìn)制數(shù) 編寫(xiě)程序?qū)?nèi)存中一個(gè)字的數(shù)轉(zhuǎn)換為十進(jìn)制數(shù)的數(shù)字串顯示。 編程將十進(jìn)制的數(shù)字串轉(zhuǎn)換為BCD碼 編程將BCD碼轉(zhuǎn)換為二進(jìn)制數(shù)編程將二進(jìn)制數(shù)轉(zhuǎn)換為十進(jìn)制數(shù)顯示五.實(shí)驗(yàn)原理及說(shuō)明二進(jìn)制6-1計(jì)博機(jī)與蚪設(shè)間的教碼轉(zhuǎn)換關(guān)聚計(jì)算機(jī)輸入設(shè)備輸入的信息一般是由ASCII碼或BCD碼表示的數(shù)據(jù)或字符,CPU般均用二 進(jìn)制數(shù)進(jìn)行計(jì)算或用其他信息進(jìn)行處理,處理的結(jié)果又必須依照外設(shè)的要求變?yōu)锳SCII碼、或BCD 碼或七段顯示碼

39、等。因此,在應(yīng)用軟件中,各類(lèi)數(shù)制的轉(zhuǎn)換和代碼的轉(zhuǎn)換是必不可少的。計(jì)算機(jī)與 ASCElPJASCElPJASCliPJASCliPJBCDBCD碼二進(jìn)制AscirPiAsciinAsciin精品文檔你我共享腹有詩(shī)書(shū)氣自華外設(shè)間的數(shù)碼轉(zhuǎn)換關(guān)系如圖6-1所示,數(shù)碼對(duì)應(yīng)關(guān)系如表6-1所示。憲6-16-1碼轉(zhuǎn)換對(duì)應(yīng)黃系七段碼十穴進(jìn)制數(shù)BCDBCD碼-進(jìn)制機(jī)器碼AscimAscim共陽(yáng)共陰0 00000000000003CH3CH40H40H3FH3FH1 1000100010001000131H31H79H79H06H06H2 2041004100010001032H32H24H5BH5BH3 300

40、nOOILOOIL33H33H30H4FH4FH1 14 4OlOOOlOO0100010034H34H1 166H66H5 501010101OLGJOLGJ35H35H12H12H6DH6DH6 6OJiDOJiD0110011036K36K02H02H7DH7DH7 7OLlOLlQlllQlll37H37H78H78H07H07H1 1S S100010001000100038H38HOOHOOH7FH7FH9 9JQOl1001100159H59HISH67H67HA AlOIGlOIG4JH4JHOSHOSH77H77HB B1011101142H42H03H7CH7CHC C11

41、00110043H43H46H46H39H39HD D1101110144H44H21H21H5EH5EHE E1110111045H45H06H06H79H79HF Fnnnn46H46HOEH71H71H1.1. 將十進(jìn)制數(shù)的數(shù)字串轉(zhuǎn)換為二進(jìn)制數(shù) 十進(jìn)制數(shù)可以表示為:Dnx10n +Dnx10n4 +, +D10D10i其中Di代表十進(jìn)制數(shù)1、2、3、9、0。上式可以轉(zhuǎn)換為:送 D10i =(Dn 天 10 + Dn)x10 + Dnd)x10r +Di)x10+ Do由上式可歸納出十進(jìn)制數(shù)轉(zhuǎn)換為二進(jìn)制數(shù)的方法:從十進(jìn)制數(shù)的最高位Dn開(kāi)始做乘10加次位 的操作,依次類(lèi)推,則可求出二進(jìn)制數(shù)結(jié)

42、果。本實(shí)驗(yàn)要求將緩沖區(qū)中的一個(gè)5位十進(jìn)制數(shù)00012的ASCII碼轉(zhuǎn)換成二進(jìn)制數(shù),并將轉(zhuǎn)換結(jié)果 以十六進(jìn)制數(shù)形式000C按位顯示在屏幕上。轉(zhuǎn)換過(guò)程的參考程序清單見(jiàn)后參考程序清單1,參考流 程如圖3-2所示。修改該示例程序,從鍵盤(pán)任意輸入5個(gè)數(shù),實(shí)現(xiàn)轉(zhuǎn)換并顯示。2.2.將內(nèi)存中一個(gè)字的數(shù)轉(zhuǎn)換為十進(jìn)制數(shù)的數(shù)字串。十六位二進(jìn)制數(shù)(一個(gè)字)的值域?yàn)?-65535,最大可轉(zhuǎn)換為5位十進(jìn)制數(shù)。五位十進(jìn)制數(shù)可 表示為:ND =D4 咒 104 +D3X103 + Dp RDRDCSCSCLKCLK; CArE2CArE2 ounounA6CLK2CLK2 OITROITR GATE2GATE2 CLKICL

43、KI r rGATE1GATE1OITT1掌握8254的工作方式及應(yīng)用編程。掌握8254的典型應(yīng)用電路的接法。 學(xué)習(xí)8254在PC系統(tǒng)中的典型應(yīng)用方法。二.實(shí)驗(yàn)設(shè)備PC機(jī)一臺(tái),TD-PIT-B實(shí)驗(yàn)裝置一套。實(shí)驗(yàn)預(yù)習(xí)要求復(fù)習(xí)8254的工作原理、六種工作方式各自的特點(diǎn)。復(fù)習(xí)8254的控制字格式、讀/寫(xiě)操作方式以及如何進(jìn)行初始化編程等。仔細(xì)閱讀實(shí)驗(yàn)原理、說(shuō)明、示例程序,掌握8254多個(gè)方向的應(yīng)用設(shè)計(jì)方法及電路連接方式。 根據(jù)自選實(shí)驗(yàn)內(nèi)容,仔細(xì)閱讀相關(guān)的實(shí)驗(yàn)要求及說(shuō)明,編寫(xiě)程序,以便上機(jī)調(diào)試。【示例】計(jì)數(shù)應(yīng)用實(shí)驗(yàn):編寫(xiě)程序,應(yīng)用8254的計(jì)數(shù)功能,用開(kāi)關(guān)模擬計(jì)數(shù)。使每當(dāng)按動(dòng)開(kāi) 關(guān)KK1五次后,產(chǎn)生中斷

44、,并在屏幕上顯示一個(gè)字符“ M”。定時(shí)應(yīng)用:自己編寫(xiě)程序,應(yīng)用8254的定時(shí)功能,將屏幕設(shè)計(jì)為一個(gè)秒表。電子發(fā)聲:自己編寫(xiě)程序讓實(shí)驗(yàn)裝置上的揚(yáng)聲器和PC機(jī)上的揚(yáng)聲器唱歌。8254是In tel公司生產(chǎn)的可編程間隔定時(shí)器。是8253的改進(jìn)型,比8253具有更優(yōu)良的性能。 8254具有以下基本功能:(1)(2)(3)(4)(5)圖13-1 S254的內(nèi)邯接口和管腳圖13-1是8254的內(nèi)部結(jié)構(gòu)框圖和管腳圖。它是由與CPU的接口、內(nèi)部控制電路和三個(gè)計(jì)數(shù)器組成。 三個(gè)獨(dú)立的計(jì)數(shù)器,每個(gè)計(jì)數(shù)器的結(jié)構(gòu)完全相同,如圖13-2。實(shí)驗(yàn)82548254定時(shí)/ /計(jì)數(shù)器應(yīng)用計(jì)數(shù)SUSU計(jì)數(shù)黯2精品文檔你我共享腹有詩(shī)

45、書(shū)氣自華1 1、工作過(guò)程:(1)初始化時(shí),程序員將計(jì)數(shù)初值寫(xiě)入計(jì)數(shù)初值寄存器,自動(dòng)送入16位減1計(jì)數(shù)器。計(jì)數(shù)初值 N=f CLKi *f OUTi當(dāng)GATEi= 1時(shí),每一個(gè)CLKi信號(hào)的下降沿使減1計(jì)數(shù)器減1,鎖存器隨之變化。 當(dāng)計(jì)數(shù)值減到規(guī)定值時(shí),OUTi端產(chǎn)生輸出信號(hào)。卅=3=3W W LTV/CLKCLKGATEGATEOUTOUTnjyvpwWWH 丨 i I 丨 H; I I ; I I 口 ! U UI I I I 3 12 fi I I 3 i i 2 I 1 I I 3圖13-3方式2波形圖CW16HCW16H N-5I II I I_I_i ii I I I_I_I II

46、I 6L61J51J5 H H 44 U3U3 D2D2 I I DIDI DODOCtJCtJ低4 4位0 0皤山 I I輸入0 0輸岀I I輸入方式堆樣B B 口 0 0方式H H匸 T T方式1 1CUCU髙4 4拉O O輸出I IA A 口0 0輸出I I輸入方式堆抹()()0 0方式O OA A 口0101方式I IIXIX方式2 2cncn的位選擇 位 D3DZDID3DZDI 0 02 23 34 4 頁(yè)6 67 70 0 0 0 n n ()Wffr/U 位U MtV.I I置位(bb C C口按位置也/冥位控制字CPU通過(guò)8255并行接口芯片以字節(jié)為單位并行向I/O設(shè)備或被控

47、制對(duì)象傳遞信息。8255可編 程外圍接口芯片是In tel公司生產(chǎn)的通用并行I/O接口芯片,具有A、B、C三個(gè)并行接口,用+5V 單電源供電,8255的內(nèi)部結(jié)構(gòu)及管腳,如圖14-1所示。1 1、8255A8255A能在以下三種方式下工作:1).方式0基本輸入/輸出方式。工作特點(diǎn):即為無(wú)條件輸入/輸出方式。端口與外設(shè)之間不需要聯(lián)絡(luò)信號(hào)。A 口、B 口、C 口可由控制字規(guī)定為輸入/輸出。2) .方式1選通型輸入/輸出方式。工作特點(diǎn):端口與外設(shè)之間需要用聯(lián)絡(luò)線(xiàn),8255A將借用C 口的某些端線(xiàn)來(lái)完成與外設(shè)之間的聯(lián)絡(luò) (參見(jiàn)圖14-2 )。CPU與8255A之間可以用中斷方式或查詢(xún)方式來(lái)交換信息(參見(jiàn)

48、圖14-3)。3).方式2雙向選通方式,工作特點(diǎn):A 口為輸入輸出雙向選通FA7PAO為雙向數(shù)據(jù)線(xiàn)。PC4和PC5為一對(duì)輸入聯(lián)絡(luò)線(xiàn)(STBA與IBFA)PC7和PC6為一對(duì)輸出聯(lián)絡(luò)線(xiàn)(QBFA與ACKA )PC3為中斷請(qǐng)求線(xiàn)B 口可以工作在方式0或方式1。2. 82558255工作方式控制字和C C 口按位置位復(fù)位控制字格式如圖14-414-4所示。(a a)工作方式控制字圖 14 - 4莒2于于控制字格式方式1 1(口)精品文檔你我共享腹有詩(shī)書(shū)氣自華六.實(shí)驗(yàn)說(shuō)明及步驟執(zhí)行PCI_BIOS.EXE,獲取實(shí)驗(yàn)用PCI總線(xiàn)擴(kuò)展卡分配的地址空間及中斷請(qǐng)求線(xiàn)。確定各接口 芯片所使用的端口地址:本系統(tǒng)中

49、I/O部分實(shí)驗(yàn)使用的是PCI總線(xiàn)擴(kuò)展卡申請(qǐng)的第三個(gè)I/O空間(即BASE 2,假設(shè)為 0C000H)。各I/O接口芯片的端口地址定義為:BASE 2的首地址+各端口的偏移地址8255端口的偏移地址定義為:A 口: 60H B 口: 61HCPU訪(fǎng)問(wèn)8255端口地址為:A 口: 0C060H B 口: 0C061H1 1基本輸入/ /輸出實(shí)驗(yàn)。使8255的A 口為輸出接發(fā)光二極管,C 口: 62H 控制端口: 63HC 口: 0C062H 控制端口: 0C063HB 口為輸入接撥動(dòng)開(kāi)關(guān),完成撥動(dòng)開(kāi)關(guān)到數(shù)據(jù)燈的數(shù)據(jù)KtKt函KiSlKiSlUNITUNITilfcEOVlEOVl T T傳送。要求

50、只要開(kāi)關(guān)撥動(dòng),數(shù)據(jù)燈的顯示就改變,按任意鍵結(jié)束。實(shí)驗(yàn)參考接線(xiàn)圖如圖14-5所示, 程序見(jiàn)參考程序清單1。圖1414_5 582558255墓本輸入瀚出實(shí)驗(yàn)參垮接線(xiàn)圖具體的實(shí)驗(yàn)步驟如下:(1)搭接實(shí)驗(yàn)線(xiàn)路。(2)執(zhí)行PCI_BIOS.EXE文件,獲得BASE 2的首地址,修改參考程序清單1中定義端口地 址的偽指令,確定CPU訪(fǎng)問(wèn)8255所使用的地址。(3)編輯、匯編、連接程序。(4)打開(kāi)實(shí)驗(yàn)箱電源,運(yùn)行程序,只要撥動(dòng)開(kāi)關(guān),數(shù)據(jù)燈的顯示就改變。3 3. 82558255應(yīng)用編程流程PAOPAO PALPALPA2PA2PA3PA3PA4PA4PA5PA5PA6PA6PA7PA7PBOPBO P9L

51、P9L PB2PB2 PB3PB3PBJPBJ PBSPBSP0P0PB7精品文檔你我共享腹有詩(shī)書(shū)氣自華圖14 - 6 3255 a水燈顯示實(shí)驗(yàn)參考接線(xiàn)圖具體的實(shí)驗(yàn)步驟如下:(1)(2)(3)(4)(5)搭接實(shí)驗(yàn)線(xiàn)路。執(zhí)行PCI_BIOS.EXE文件,確定CPU訪(fǎng)問(wèn)8255所使用的地址。編輯、匯編、連接程序。打開(kāi)實(shí)驗(yàn)箱電源,運(yùn)行程序,觀察數(shù)據(jù)燈顯示的改變。分析程序,畫(huà)出程序流程。七.參考程序清單先執(zhí)行PCI_BIOS.EXE獲得PCI板卡申請(qǐng)的第三個(gè)I/O空間的首地址,修改 CPU訪(fǎng)問(wèn)8255的端口地址?;据斎? /輸出實(shí)驗(yàn)。MY8255_AMY8255_BMY8255_CEQU 9C60H

52、EQU 9C61HEQU 9C62H;符號(hào)定義偽指令MY8255 MODE EQU 9C63HCODE SEGMENTASSUME CS:CODESTART: MOVDX,MY8255_MODEMOVAL,82HOUTDX,ALA1: MOVDX,MY8255_BINAL,DXMOVDX,MY8255_AOUTDX,ALCALL BREAKJMPA1(5)分析程序,畫(huà)出程序流程。2 2.流水燈顯示實(shí)驗(yàn)使8255的A 口、B 口均為輸出,分別向A 口和B 口寫(xiě)入7FH和FEH,然后分別將該數(shù)定時(shí) 右移和左移一位,再送端口,這樣循環(huán)下去,從而實(shí)現(xiàn)流水燈的顯示,按任意鍵結(jié)束。實(shí)驗(yàn)參考接 線(xiàn)圖如圖14

53、-6所示。程序參見(jiàn)參考程序清單2。$255$255UNITUNITH 丨2丁 J 55序馬后精品文檔你我共享腹有詩(shī)書(shū)氣自華BREAK P ROC NEARMOVAH,06HMOVDL,0FFHINT21HJERETURNMOVAX,4C00HINT21HRETURN:RETBREAK END PCODE ENDSEND START精品文檔你我共享腹有詩(shī)書(shū)氣自華.四.實(shí)驗(yàn)內(nèi)容(1)(4)(5)實(shí)驗(yàn)十五、交通燈控制通過(guò)可編程并行接口芯片8255和定時(shí)/計(jì)數(shù)8254實(shí)現(xiàn)十字路口交通燈的模擬控制。 掌握通過(guò)8254實(shí)現(xiàn)準(zhǔn)確定時(shí)的方法。進(jìn)一步掌握并行接口芯片8255的使用方法。進(jìn)一步掌握8259A可編程控制器的使用方法。二.實(shí)驗(yàn)設(shè)備PC微機(jī)一臺(tái),TD-PIT-B實(shí)驗(yàn)系統(tǒng)。實(shí)驗(yàn)預(yù)習(xí)要求1.復(fù)習(xí)8254、8255和8259A的有關(guān)知識(shí)。2認(rèn)真閱讀實(shí)驗(yàn)內(nèi)容,設(shè)計(jì)實(shí)驗(yàn)電路,編寫(xiě)實(shí)驗(yàn)程序。根據(jù)TD-PIT-B實(shí)驗(yàn)箱現(xiàn)有的實(shí)驗(yàn)電路,,涉及電路并編寫(xiě)程序使6個(gè)燈按交通變化規(guī)律

溫馨提示

  • 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)論