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

下載本文檔

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

文檔簡介

1、微機原理與接口技術實驗指導書微機原理與接口技術實驗指導書作者:作者: 路來智路來智單位:計算機科學技術系單位:計算機科學技術系2實驗須知實驗須知一一、預習要求預習要求1.實驗前認真閱讀實驗教程中有關內(nèi)容,明確實驗目的、內(nèi)容和實驗任務。2.每次實驗前做好充分的預習,對所需預備知識做到心中有數(shù)。3.實驗前應編好源程序,并對調(diào)試過程、實驗結果進行預測,然后寫入到預習報告中。二、實驗要求二、實驗要求1. 實驗課請勿遲到,缺席。2. 愛護設備,保持清潔,不隨意更換設備。3. 認真完成實驗任務,實驗結果經(jīng)教師檢查。4. 做硬件實驗時,嚴禁帶電操作,即所有的接線、改線及拆線操作均應在不帶電的狀態(tài)下進行,并注

2、意防止導線堵塞插孔。5. 發(fā)生事故,應立即切斷電源,并馬上向教師報告,檢查原因,吸取教訓。6. 實驗完畢,請整理實驗設備,再離開實驗室。三、報告要求三、報告要求每次實驗后,應遞交一份實驗報告,報告中應包含下列內(nèi)容:1. 實驗名稱、實驗人姓名、學號、班級,所用設備號。2. 實驗目的、任務。3. 畫出各任務程序流程圖。4. 寫出實驗調(diào)試情況,包括上機時遇到的問題及解決辦法、實驗結果分析等,并附上調(diào)試好的程序清單(應加適量注釋) 。5. 總結實驗中的心得體會,提出對實驗內(nèi)容、方案等的建議、意見或設想等。四、興趣實驗四、興趣實驗 本實驗部分有兩個程序,綜合使用了實驗儀器的各個部件,所以有興趣的同學,可

3、以根據(jù)說明部分,自己讀懂實驗內(nèi)容,并添加上注釋。3目 錄第一章:概述.1一、系統(tǒng)概述.1二、系統(tǒng)組成.3第二章:系統(tǒng)的安裝和使用.7第三章:鍵盤的監(jiān)控和使用.8一、引言.8二、監(jiān)控程序命令及操作.8第四章:匯編語言實驗程序.11實驗一 DEBUG 的啟動及其基本命令的使用 .13實驗二 內(nèi)存操作數(shù)及尋址方法.22實驗三 算術運算指令.24實驗四 查表程序設計.26實驗五 系統(tǒng)功能調(diào)用.28實驗六 分支程序設計.29實驗七 循環(huán)程序設計.32第五章:微機原理實驗.34實驗一:簡單 I/O 口擴展實驗(一).34實驗二:簡單 I/O 口擴展實驗(二).36實驗三:8255A 并行口實驗(一) .3

4、8實驗四:8255A 并行口實驗(二) .40實驗五:定時器 / 計數(shù)器實驗.46實驗六8259 單級中斷控制器實驗 .49實驗七 A/D 轉換實驗 .56實驗八D/A 轉換實驗 .60第六章:興趣愛好實驗.62實驗一: 電子琴實驗.62實驗二 LED16*16 點陣顯示實驗 .72微機原理與接口技術實驗教程1第一章:概述為了更好地滿足微機原理與接口技術的教學與實驗,我校引入了啟東計算機總廠有限公司開發(fā)的 DICE-8086K 超強型實驗系統(tǒng)。8086K 實驗系統(tǒng)軟、硬件配置完善,實驗內(nèi)容豐富。實驗電路采用分模塊、開放性設計,使實驗電路配置靈活,所有實驗程序全部調(diào)試通過,用戶可直接運用。一、系

5、統(tǒng)概述1.1 系統(tǒng)主要特點1.采用主頻為 14.77MHZ 的 8088CPU 為主 CPU,并以最小工作方式構成系統(tǒng)。2配有二片 61C256 靜態(tài) RAM 構成系統(tǒng)的 64K 基本內(nèi)存,地址范圍為 00000H-0FFFFH,其中 00000H-00FFFH 監(jiān)控占用。另配一片 W27C512(64K)EP1 存放監(jiān)控程序, 地址范圍 F0000HFFFFF。還配有一片 W27C512 EP2 存放實驗程序,為實驗系統(tǒng)獨立運行時下載實驗程序提供方便。3.自帶鍵盤、顯示器,能獨立運行,為實驗程序調(diào)試帶來方便。4.配備 Windows 仿真調(diào)試軟件,支持機器碼、匯編、C 等三種語言的開發(fā)和調(diào)試

6、。5.提供標準 RS232 異步通訊口, 以連接 IBM-PC 機。6.配有各種微機常用 I/O 接口芯片,定時/計數(shù)接口芯片 8253、A/D 轉換接口芯片0809、D/A 轉換接口芯片 0832、中斷控制器 8259、鍵盤顯示接口 8279、并行 I/O 接口芯片8255、8155、通訊接口芯片 8250、8251、485 和 DMA 控制器 8237 等。7.配備鍵盤、數(shù)碼顯示、發(fā)光二極管顯示、開關量、LED1616、LCD12864、溫度壓、步進電機、直流電機、揚聲器等輸入輸出設備,可以實現(xiàn)豐富的實驗。8.帶有脈沖發(fā)生器、計數(shù)器電路、單脈沖發(fā)生器等常用電路。9.可以單步、斷點、全速調(diào)試

7、各實驗程序。10.內(nèi)置開關電源,為實驗提供+5V/3A、l2V/0.5A 直流穩(wěn)壓電源。11.使用環(huán)境:環(huán)境溫度 0+40,無明顯潮濕,無明顯振動碰撞。微機原理與接口技術實驗教程212.配備 USB 接口的電子實驗演示裝置,通過編制程序,對模擬控制對象進行實時控制。1.2 系統(tǒng)資源分配8088 有 1 兆存儲空間,系統(tǒng)提供用戶使用的空間為 00000H-0FFFFH, 用于存放、調(diào)試實驗程序。具體分配如下:存貯器地址分配 系統(tǒng)監(jiān)控程序區(qū)F0000H-FFFFFH監(jiān)控/用戶中斷矢量00000H-0000FH用戶中斷矢量00010H-000FFH監(jiān)控數(shù)據(jù)區(qū)00100H-00FFFH默認用戶棧006

8、83H用戶數(shù)據(jù)/程序區(qū)01000H-0FFFFHI/O 地址分配微機原理與接口技術實驗教程3監(jiān)控占用 00004H-0000FH 作為單步(T)、斷點(INT3)、無條件暫停(NM1)中斷矢量區(qū), 用戶也可以更改這些矢量, 指向用戶的處理, 但失去了相應的單步、斷點、暫停等監(jiān)控功能。F0000HFFFFFH 監(jiān)控程序區(qū)系統(tǒng)占用。1.3 系統(tǒng)配置系統(tǒng)內(nèi)含串行通訊和鍵盤顯示監(jiān)控的全部軟硬件設施,典型配置如下:主機板+PC 機主機板二種配置的使用特點如下:配置一:主機板和 PC 機通過 RS232 串行口相連。這種配置形式可以充分利用 IBM PC機的軟硬件資源,實現(xiàn)源程序的編輯、匯編和鏈接和調(diào)試。

9、你可以利用 PC 機的鍵盤顯示等輸入輸出設備完成各種軟硬件實驗。配置二:為最經(jīng)濟型配置,它不需要和 IBM PC 機聯(lián)機,自成一體,通過一組鍵盤命令完成所有軟硬件實驗,每個實驗程序固化在實驗監(jiān)控中。這種配置為沒有 PC 機的用戶帶來極大方便。 二、系統(tǒng)組成8086K 實驗系統(tǒng)由 8088 控制單元、實驗單元、電子實驗演示裝置、開關電源和 8086K 集成調(diào)試軟件組成。8088 控制單元由 8088CPU、CPLD(1032)、監(jiān)控 EP1(27512)、內(nèi)存RAM1,2 和鍵盤顯示電路組成。實驗單元采用一體化、分模塊設計,結構合理清晰。電子實驗演示裝置由單片機、USB 接口和 16 個 I/O

10、 擴展接口(IN015,OUT015)組成。2.1 系統(tǒng)接口定義 (1)CZ1:MAIN-COM :通訊接口;微機原理與接口技術實驗教程4(2)CZ4:打印接口;(3)JX0,JX17 為系統(tǒng)提供的數(shù)據(jù)總線接口; (4)CZ7:系統(tǒng)提供的擴展接口;(5)JX12、JX14:液晶顯示接口。微機原理與接口技術實驗教程52.2 系統(tǒng)硬件組成 (1)LED 發(fā)光二極管指示電路:實驗臺上包括 16 只發(fā)光二極管及相應驅動電路。見圖 2-6,Ll-L16 為相應發(fā)光二極管驅動信號輸入端, 該輸入端為低電平“0”時發(fā)光二極管亮。(2)邏輯電平開關電路:見圖 2-7。實驗臺上有 8 只開關 Kl-K8,與之相

11、對應的 K1-K8 各引線孔為邏輯電平輸出端。開關向上撥相應插孔輸出高電平“l(fā)”, 向下?lián)芟鄳蹇纵敵龅碗娖健?”。(3)單脈沖電路:實驗臺上單脈沖產(chǎn)生電路如圖 2-8,標有“ “兩個引線插孔為正負單脈沖輸出端。AN 為單脈沖產(chǎn)生開關,每撥動一次產(chǎn)生一個單脈沖。(4)分頻電路:該電路由一片 74LS393 組成。T0-T7 為分頻輸出插孔。該計數(shù)器在加電時由 RESET 信號清零。當脈沖輸入為 8.0MHZ 時,T0-T7 輸出脈沖頻率依次為4.0MHZ,2.0MHZ,1.0MHZ,500KHZ,250KHZ,125KHZ,62500HZ,31250HZ。(5)數(shù)碼管顯示電路微機原理與接口技術

12、實驗教程6(6)鍵盤電路微機原理與接口技術實驗教程7第二章:系統(tǒng)的安裝和使用1、把系統(tǒng)開關設置為出廠模式。(1)SW3、SW4、SW5:為鍵盤/顯示選擇開關,開關置 ON(出廠模式),鍵盤/顯示控制選擇系統(tǒng)配置的 8155 接口芯片,反之由用戶選擇自定義的 I/O 接口芯片控制,在本機實驗中,除 8279 實驗外,鍵盤/顯示為出廠模式。(2)KB6:通訊選擇開關,KB6-SYS-C 為系統(tǒng)通訊(出廠模式),KB6-EXT-C 為擴展通訊。2、將隨機配送的串行通訊線,一端與實驗儀的 RS232D 型插座 CZ1 相連,另一端與 PC機 COM1 或 COM2 串行口相連。3、接通實驗系統(tǒng)電源,+

13、5V LED 指示燈應正常發(fā)光,實驗儀數(shù)碼管應顯示閃動 P.,說明實驗儀初始化成功,處于待命狀態(tài)。(否則應及時關閉電源,待修正常后使用)4、打開 PC 機電源,執(zhí)行 8086K 的集成調(diào)試軟件。微機原理與接口技術實驗教程8第三章:鍵盤的監(jiān)控和使用一、引言本章詳細敘述鍵盤監(jiān)控程序的功能和操作方法。系統(tǒng)一經(jīng)接通電源,數(shù)碼管上顯示監(jiān)控提示符“P.”。1.1 鍵盤顯示系統(tǒng)配備 6 位 LED 顯示器,左邊 4 位顯示地址,右邊 2 位顯示該地址內(nèi)容。系統(tǒng)具有 24 個注塑鍵盤,左邊 l6 個是數(shù)字鍵,右邊 8 個是功能鍵。在鍵盤監(jiān)控狀態(tài)下用戶可以通過一組鍵命令完成下列操作讀寫寄存器內(nèi)容讀寫存儲器內(nèi)容E

14、PROM 傳送斷點設置/清除通過單步、斷點、連續(xù)等功能來調(diào)試運行實驗程序。1.2總操作過程8088 十六位微機實驗系統(tǒng)上電總清以后, 顯示器上顯示監(jiān)控提示符“P.”,各寄存器的初始化值如下:SP=0683H,CS=0000H,DS=0000H,SS=0000H,ES=0000H,IP=l000H,F(xiàn)L=0000H注意:所有命令均在提示符“P.”狀態(tài)輸入。 在鍵盤監(jiān)控狀態(tài),段地址缺省值為 0000H。二、監(jiān)控程序命令及操作 存貯器單元內(nèi)容顯示修改微機原理與接口技術實驗教程9操作:ME 即在提示符“P.”下,先輸入四位存貯單元地址, 再按 ME 鍵,顯示器左邊4 位顯示地址,右邊 2 位顯示該單元

15、的內(nèi)容。此時按 NX 鍵使地址加 1 再顯示。按 LS 鍵使地址減 l 再顯示。鍵入十六進制數(shù)據(jù),則將改寫現(xiàn)行地址單元的內(nèi)容。按 MON 鍵則返回監(jiān)控,顯示提示符“P.”。寄存器內(nèi)容顯示修改操作:RG 即在“P.”提示符下,先輸入寄存器代號, 再按 RG 鍵,顯示器右邊 4 位顯示寄存器中內(nèi)容,左 1、2 位顯示寄存器名。此時:按 NX 鍵,則依次循環(huán)顯示下一個寄存器中的內(nèi)容。按 LS 鍵,則依次顯示上一個寄存器中的內(nèi)容。輸入十六進制數(shù)字, 則該寄存器中的內(nèi)容被修改。按 MON 鍵則返回監(jiān)控,顯示提示符“P.”。EPROM 傳送操作:在提示符“P.”狀態(tài)下,按 SCAL 鍵,開始 EPROM

16、傳送,把 EPROM 中1000HFFFFH 內(nèi)容傳送到相應的內(nèi)存中,傳送時數(shù)碼管 顯示閃動的“”,傳送完畢返回監(jiān)控,顯示提示符“P.”。單步運行操作:有三種狀態(tài)都可以進入單步操作(段地址固定為 0000H)在監(jiān)控提示符“P.”狀態(tài)下,按 STEP 鍵,從默認的起始地址 IP1000H 單元開始單步運行一條指令語句。在存貯器單元讀寫狀態(tài)(即左邊 4 位顯示存貯器地址,右邊 2 位顯示存貯器單元內(nèi)容)下,從當前存貯器地址開始單步運行一條指令語句。先輸入四位起始地址,再按 STEP 鍵,則從輸入的起始地址開始運行一條指令語句。每運行一條語句,顯示器顯示下一條指令語句的地址及其內(nèi)容。連續(xù)運行操作:有

17、三種狀態(tài)可以進入連續(xù)運行微機原理與接口技術實驗教程10在監(jiān)控提示符“P.”狀態(tài)下,按 EXEC 鍵,從默認起始地址 CS=0000H,IP1000H 開始連續(xù)運行用戶程序。在存貯器讀寫狀態(tài)下,按 EXEC 鍵,從現(xiàn)行存貯器地址開始(CS=0000H)連續(xù)運行用戶程序。先輸入 4 位起始地址,再按 EXEC 鍵,則從輸入的起始地址開始連續(xù)運行用戶程序(CS=0000H)。要想從運行用戶程序返回監(jiān)控, 可以按主機 RST 鍵, 則重新進入監(jiān)控狀態(tài),初始化部分寄存器。斷點運行(默認段地址 CS=0000H)操作:F1,EXEC 即在提示符“P.”狀態(tài)下,輸入 4 位斷點地址,按 F1 鍵,再輸入4

18、位起始地址,按 EXEC 鍵,程序從起始地址開始運行,顯示器顯示“”執(zhí)行符。當程序運行到斷點地址處會自動停下來,并顯示斷點地址和內(nèi)容,同時保護所有寄存器的值。微機原理與接口技術實驗教程11第四章:匯編語言實驗程序實驗的基本要求與方法一、實驗目的學習程序設計的基本方法和技能,熟練掌握用匯編語言設計、編寫、調(diào)試和運行程序的方法。為后續(xù)課程打下堅實的基礎。二、實驗要求1.上機前做好充分的準備,包括程序框圖、源程序清單、調(diào)試步驟、測試方法,對運行結果的分析等。2。上機時要遵守實驗室的規(guī)章制度,愛護實驗設備。要熟悉與實驗有關的系統(tǒng)軟件(編輯程序、匯編程序、連接程序和調(diào)試程序等)的使用方法。在程序的調(diào)試過

19、程中,有意識地學習及掌握 debug 程序的各種操作命令,以便掌握程序的調(diào)試方法及技巧。3.每個實驗完成后,應寫出實驗報告,實驗報告為 word 文檔。實驗報告要求:(1)設計說明:用來說明程序的功能、結構。它包括:程序名、功能、原理及算法說明、程序及數(shù)據(jù)結構、主要符號名的說明等。(2)調(diào)試說明:便于學生總結編程經(jīng)驗提高編程及高度能力。它包括:調(diào)試情況,如上機時遇到的問題及解決辦法,觀察到的現(xiàn)象及其分析,對程序設計技巧的總結及分析等;程序的輸出結果及對結果的分析;實驗的心得體會。(3)程序框圖(4)程序清單4. 為了更好地進行上機管理,要求用硬盤存儲程序,并建立和使用子目錄,以避免文件被別人刪

20、除。為便于統(tǒng)一管理硬盤中的文件,要求實驗者在 d:學號目錄下建立自己的文件,文件按以下格式命名:字母學號.擴充名,其中字母取 az 的 26 個英文字母,按實驗順序從 a 至 z 排列,學號取后面的 6 位。如學號為 20043727 的學生第三個實驗第一個源程序所對應的文件名為c1043727.ASM。三、實驗的基本方法1. 從教師機下載匯編程序 MASM.EXE 和連接程序 LINK.EXE 到學生機的相應文件夾(文件夾以學號命名)下。微機原理與接口技術實驗教程122. 進入 DOS 環(huán)境中相應的目錄下。 如學生的文件來為:d:20043727,則對應的操作為 (1)選擇 windows

21、的“開始”“程序”“附件”“命令提示符” (2)在 DOS 命令提示符下輸入如下命令(其中帶下劃線部分為輸入內(nèi)容) 。C:Documents and Settingsnewd:D:cd 20043727D:20043727edit a1043727.asm 進入編輯程序,在其環(huán)境下輸入編好的源程序,然后在盤上生成一個擴展名為.asm 的文件。3. 用宏匯編程序 MASM,將擴展名為.ASM 的源程序匯編成目標程序,即生成盤上擴展名為.OBJ 的文件。若編過程出現(xiàn)錯誤,則無法生成目標程序,需要回到編輯程序進行修改,修改后重新匯編直到無錯出現(xiàn)。4. 用連接程序 LINK,將擴展名為.OBJ 的目標

22、程序連接裝配成可執(zhí)行文件,即在盤上生成擴展名為.EXE 的文件。5. 用調(diào)試程序 DEBUG,調(diào)試擴展名為.EXE 的文件,以發(fā)現(xiàn)程序中的邏輯錯誤并進行排除。微機原理與接口技術實驗教程13實驗一 DEBUG 的啟動及其基本命令的使用一實驗目的: 掌握 DEBUG 的基本命令及其功能二實驗內(nèi)容:DEBUG 是專門為匯編語言設計的一種調(diào)試工具,它通過步進,設置斷點等方式為匯編語言程序員提供了非常有效的調(diào)試手段。(1)什么是 debug?Debug 是 DOS、windows 都提供的實模式(8086 方式)程序的調(diào)試工具。使用它,可以查看cpu 各種寄存器中的內(nèi)容、內(nèi)存的情況和在機器碼級跟蹤程序的

23、運行。(2)我們用到的 debug 的功能用 debug 的 r 命令查看、改變 cpu 寄存器的內(nèi)容用 debug 的 d 命令查看內(nèi)存中的內(nèi)容用 debug 的 e 命令改寫內(nèi)存中的內(nèi)容用 debug 的 u 命令將內(nèi)存中的機器指令翻譯成匯編指令用 debug 的 t 命令執(zhí)行一條機器指令用 debug 的 a 命令以匯編指令的格式在內(nèi)存中寫入一條機器指令Debug 的命令比較多,共有 20 多個,但這 6 個命令是和匯編學習密切相關的。在以后的實驗中,我們還會用到一個 p 命令。(3)進入 debugDebug 是在 dos 方式下使用的程序。我們在進入 debug 前,應先進入到 do

24、s 方式。用以下方式可以進入 dos。 重新啟動計算機,進入 dos 方式,此時進入的是實模式的 dos 在 windows 中進入 dos 方式,此時進入的是虛擬 8086 模式的 dos。例如:選擇【開始】菜單中的【運行】命令,打開【運行】對話框,在文本框中輸入“cmd”后,單擊【確定】按鈕。結果如下圖所示:微機原理與接口技術實驗教程14進入 dos 后接著進入 debug,敲入 debug 回車。結果如圖所示:(4)用 R 命令查看、改變 CPU 各寄存器內(nèi)容微機原理與接口技術實驗教程15如圖上所示:觀察出 AX,BX,CX,DX,CS,IP 這 6 個寄存器的內(nèi)容。注意 CS 和 IP

25、 的值,CS=0B5C,IP=0100,也就是說,內(nèi)存 0B5C:0100 處的指令為 CPU 當前要讀取、執(zhí)行的指令。最后一行,DEBUG 還列出了 CS:IP 所指向的內(nèi)存單元處所存放的機器代碼 3426,并將它翻譯為匯編指令 XOR AL,26。還可以用 R 命令來改變寄存器中的內(nèi)容。如下圖所示:若要修改一個寄存器中的內(nèi)容,比如 AX 的值,可用 R 命令后加寄存器名來進行,輸入“r ax”后按回車鍵,將出現(xiàn):“:”作為輸入提示,在后面輸入要寫入的數(shù)據(jù)后按回車鍵,即完成了對AX 中內(nèi)容的修改。若想看一下修改后的結果,可再用 R 命令查看(5)用 debug 的 D 命令查看內(nèi)存中的內(nèi)容。

26、用 debug 的 D 命令,可以查看內(nèi)存中的內(nèi)容,D 命令的格式較多,這里只介紹在本次實驗中用到的格式。如果我們想知道內(nèi)存 0B640H 處的內(nèi)容,可以用“d 段地址:偏移地址”的格式來查看,如下圖所示微機原理與接口技術實驗教程16看內(nèi)存 0B640H 出的內(nèi)容,首先將這個地址表示為段地址:偏移地址的格式,可以是0B64:0000,然后用“d 0B64:0000”列出 0B64:0000 處的內(nèi)容。使用“d 段地址:偏移地址”的格式,debug 將列出從指定內(nèi)存單元開始的 128 個內(nèi)存單元的內(nèi)容。如上圖所示,在使用 d 0B64:0000 后,debug 列出了 0B64:00000B64

27、:007F 中的內(nèi)容。使用 D 命令,debug 將輸出 3 部分內(nèi)容(如上圖) 中間是從指定地址開始的 128 個內(nèi)存單元的內(nèi)容,用十六進制的格式輸出,每行的輸出從16 的整數(shù)倍的地址開始,最多輸出 16 個單元的內(nèi)容。從圖中,我們可以知道,內(nèi)存0B64:0000 單元中的內(nèi)容是 00H,內(nèi)存 0B64:0001 單元中的內(nèi)容是 0DH。內(nèi)存0B64:0000 0B64:000F 中的內(nèi)容都在第一行,內(nèi)存 0B64:0010 中的內(nèi)容是 3DH, 0B64:0011 處的內(nèi)容是 41H,內(nèi)存 0B64:0010 0B64:001F 中的內(nèi)容都在第二行。注意每行中間都有一個“-”,它將每行的輸

28、出分成兩部分,這樣便于查看。 左邊是每行的起始地址。 右邊是每個內(nèi)存單元中的數(shù)據(jù)對應的可現(xiàn)實的 ASCII 碼字符。比如 0B64:0011 處的內(nèi)容是 41H,對應顯示的字符就是“A”; 0B64:0010 處的內(nèi)容是 3DH,對應顯示的字符就是“=”,,內(nèi)存 0B64:0001 單元中的內(nèi)容是 0DH.沒有對應可顯示的 ASCII 字符,DEBUG 就用“.”來代替。注意:我們看到的內(nèi)存中的內(nèi)容,在不同的計算機中都是不一樣的,也可能每次用 DEBUG 看到的內(nèi)容都不相同,因為我們用 DEBUG 看到的都是原來就在內(nèi)存中的內(nèi)容,這些內(nèi)容受隨時都有可能變化的系統(tǒng)環(huán)境的影響。當然,我們也可以改變

29、內(nèi)存、寄存器中的內(nèi)容。我們使用 d 0B64:0009 查看 0B64:0009 處的內(nèi)容,debug 將怎么樣輸出呢?如下圖所示微機原理與接口技術實驗教程17也可以指定 D 命令的查看范圍,此時采用“d 段地址:起始偏移地址 結尾偏移地址”的格式(6)用 debug 的 E 命令改寫內(nèi)存中的內(nèi)容。可以使用 E 命令來改寫內(nèi)存中的內(nèi)容,比如,要將內(nèi)存 0B64:00000B64:9 單元中的內(nèi)容分別些微 0、1、2、3、4、5、6、7、8、9,可以使用“e 起始地址 數(shù)據(jù) 數(shù)據(jù) 數(shù)據(jù)”的格式來進行,如下圖所示:(下圖先用 D 命令查看內(nèi)存單元 0B64:00000B64:f 中內(nèi)容,再用 e

30、命令修改內(nèi)存 0B64:0000 開始的十個單元內(nèi)容,最后用 D 命令查看0B64:00000B64:f 中的內(nèi)容變化。 )可以用 E 命令向內(nèi)存中寫入字符,比如,用 E 命令從內(nèi)存 0B64:0000 開始寫入數(shù)值 1、字符“a”,數(shù)值 2、字符“b”,數(shù)值 3、字符“c”,可采用下圖所示方法進行。微機原理與接口技術實驗教程18也可以用 E 命令向內(nèi)存中寫入字符串,比如,用 E 命令從內(nèi)存 0B64:0000 開始寫入:數(shù)值1、字符串“a+b”,數(shù)值 2、字符串“c+”,數(shù)值 3、字符串“IBM”。如下圖所示(7)用 E 命令向內(nèi)存中寫入機器碼,用 U 命令查看內(nèi)存中機器碼的含義,用 T 命

31、令執(zhí)行內(nèi)存中的機器碼。如何向內(nèi)存中寫入機器碼呢?我們知道,機器碼也是數(shù)據(jù),當然可以用 E 命令將機器碼寫入內(nèi)存。比如我們要從內(nèi)存 0B64:0000 單元開始寫入這樣一段機器碼:機器碼對應的匯編指令B80100mov ax,0001B90200mov cx,000201c8add ax,cx可用如下所示的方法進行e 0b64:0 b8 01 00 b9 02 00 01 c8如何查看寫入的或內(nèi)存中原有的機器碼所對應的匯編指令呢?可以使用 U 命令。比如可以用U 命令將從 0B64:0000 開始的內(nèi)存單元中的內(nèi)容翻譯為匯編指令,并顯示出來。如下圖所示:微機原理與接口技術實驗教程19在上圖中,首

32、先用 E 命令從 0B64:0000 開始的內(nèi)存單元中寫入了 8 個字節(jié)的機器碼,然后用D 命令查看內(nèi)存 0B64:0000 0B64:001f 中的數(shù)據(jù),最后用 U 命令查看從 0B64:0000 開始的內(nèi)存單元中的機器指令和它們所對應的匯編指令。U 命令的顯示輸出分為 3 部分,每一條機器指令的地址、機器指令、機器指令所對應的匯編指令。我們可以看到:0B64:0000 處存放的是寫入機器碼 B80100 所組成的機器指令,對應的匯編指令是 mov ax,1;0B64:0003 處存放的是寫入機器碼 B90200 所組成的機器指令,對應的匯編指令是 mov bx,2;0B64:6 處存放的是

33、寫入機器碼 01c8 所組成的機器指令,對應的匯編指令是 add ax,cx;0B64:8 處存放的是寫入機器碼 20424c 所組成的機器指令,對應的匯編指令是 AND BP+SI+4C,AL;由此,我們可以再一次看到內(nèi)存中的數(shù)據(jù)和代碼沒有任何區(qū)別,關鍵在于如何解釋。如何執(zhí)行我們寫入的機器指令呢?使用 debug 的 T 命令可以執(zhí)行一條或多條指令,簡單地使用T 命令,可以執(zhí)行 CS:IP 指向的指令,如下表所示。 、e 0b64:0 b8 01 00 b9 02 00 01 c8-rAX=0000 BX=0000 CX=0000 DX=0000 SP=FFEE BP=0000 SI=000

34、0 DI=0000DS=0B5C ES=0B5C SS=0B5C CS=0B5C IP=0100 NV UP EI PL NZ NA PO NC0B5C:0100 3426 XOR AL,26-r csCS 0B5C:0b64-r ipIP 0100:0000微機原理與接口技術實驗教程20-rAX=0000 BX=0000 CX=0000 DX=0000 SP=FFEE BP=0000 SI=0000 DI=0000DS=0B5C ES=0B5C SS=0B5C CS=0B64 IP=0000 NV UP EI PL NZ NA PO NC0B64:0000 B80100 MOV AX,000

35、1-在上表中,首先用 E 命令向從 0B64:0000 開始的內(nèi)存單元中寫入了 8 個字節(jié)的機器碼,然后用 R 命令查看 CPU 中寄存器的狀態(tài),可以看到,CS=0B5CH,IP=0100H,指向內(nèi)存 0B5C:0100,若要用 T 命令控制 CPU 執(zhí)行我們寫到 0B64:0000 的指令,必須先讓 CS:IP 指向0B64:0000,接著用 R 命令修改 CS,IP 中的內(nèi)容,是 CS:IP 指向 0B64:0000.。完成上面的步驟后,就可以使用 T 命令來執(zhí)行我們寫入的指令了(此時,CS:IP 指向我們的指令所在的內(nèi)存單元) 。執(zhí)行 T 命令后,CPU 執(zhí)行 CS:IP 指向的指令,則

36、 0B64:0000 處的指令B80100 (MOV AX,0001)得到執(zhí)行,指令執(zhí)行后,debug 顯示輸出 CPU 中寄存器的狀態(tài)。注意,指令執(zhí)行后,AX 中的內(nèi)容被改寫為 1,IP 變?yōu)?IP+3(因為 MOV AX,0001 得指令長度為 3 個字節(jié)),CS:IP 指向下一條指令。接著上圖,我們可以繼續(xù)使用 T 命令執(zhí)行下面的指令。如下圖所示。微機原理與接口技術實驗教程21注意上圖中每條指令執(zhí)行后,CPU 相關寄存器內(nèi)容的變化(8)用 debug 的 A 命令以匯編指令的形式在內(nèi)存中寫入機器指令。前面我們使用 E 命令寫入機器指令,這樣做很不方便,最好能直接以匯編指令的形式寫入指令。

37、為此,debug 提供了 A 命令。A 命令的使用方法如下圖所示圖中,首先使用 A 命令,以匯編語言向從 0B64:0000 開始的內(nèi)存單元中寫入了幾條指令,然后用 D 命令查看 A 命令的執(zhí)行結果??梢钥吹?,在使用 A 命令寫入指令時,我們輸入的是匯編指令,debug 將這些匯編指令翻譯為對應的機器指令,將它們的機器碼寫入內(nèi)存。微機原理與接口技術實驗教程22使用 A 命令寫入?yún)R編指令是,在給出的起始地址后直接按回車鍵表示操作結束。實驗二 內(nèi)存操作數(shù)及尋址方法一實驗目的:1、熟練掌握 DEBUG 的常用命令,學會用 DEBUG 調(diào)試程序。2、掌握數(shù)據(jù)在內(nèi)存中的存放方式和內(nèi)存操作數(shù)的幾種尋址方式

38、。3、掌握簡單指令的執(zhí)行過程。二實驗內(nèi)容:1、設堆棧指針 SP=2000H,AX=3000H,BX=5000H;請編一程序段將 AX 和 BX 的內(nèi)容進行交換。請用堆棧堆棧作為兩寄存器交換內(nèi)容的中間存儲單元,用字處理程序編輯程序,用masm.exe 和 link.exe 對源程序進行匯編程和連接,用 DEBUG 調(diào)試程序。DATA SEGMENTDATA ENDSCODE SEGMENT ASSUME CS:CODE,DS:DATA START: MOV AX,DATA MOV DS,AX ;給數(shù)據(jù)段寄存器附值 PUSH AX ;把 AX 內(nèi)容壓入棧中 MOV AX,BX ;把 BX 內(nèi)容送入

39、到 AX 中 POP BX ;把堆棧中棧頂?shù)臄?shù)據(jù)送入 BX 中,實現(xiàn) AX 與 BX 互換 MOV AH,4CH INT 21H CODE ENDS END START通過調(diào)用 DUBUG 查看棧的內(nèi)容。微機原理與接口技術實驗教程232、用 masm 和 link 對以下程序進行匯編和連接,調(diào)試程序在 DEBUG 調(diào)試程序狀態(tài)下進行。用單步執(zhí)行的方法,分析每條指令源地址的形成過程,當數(shù)據(jù)傳送完畢時,AX 中的內(nèi)容是什么。程序清單如下:DATA SEGMENT ORG 0300H ;定義下面的數(shù)據(jù)在數(shù)據(jù)段的偏移量為 300H A DB 12H,23H,34H,45H,56H,67H,78H,89

40、H,9AHDATA ENDSCODE SEGMENT ASSUME CS:CODE,DS:DATA START: MOV AX,DATA MOV DS,AX ;給數(shù)據(jù)段寄存器附值 MOV AX,BX ;原操作數(shù)為寄存器尋址 MOV AX,0300H ;原操作數(shù)為立即數(shù)尋址 MOV AX,0300H ;原操作數(shù)為直接尋址 MOV AX,BX ;原操作數(shù)為寄存器間接尋址 MOV SI,2 MOV AX,0001BX;相對的寄存器間接尋址 MOV AX,BXSI;基址加變址尋址方式 MOV AX,0001BXSI;相對的基址加變址尋址方式 MOV AH,4CH INT 21H CODE ENDS E

41、ND START以上程序通過使用 DEBUG,來查看原操數(shù)字的地址及內(nèi)容。微機原理與接口技術實驗教程24實驗三 算術運算指令一實驗目的1學習算術運算指令的用法。2熟悉在 PC 機上編輯、匯編、連接、調(diào)試和運行匯編語言程序的過程。二實驗內(nèi)容編寫完整的匯編語言源程序,完成以下計算。其中 X、Y、Z、R、W 均為存放 16 位帶符號數(shù)。Z(W*X)/(Y6),R余數(shù)DATA SEGMENTX DW ?Y DW ?W DW ?R DW ?Z DW ?DATA ENDSCODE SEGMENT ASSUME CS:CODE,DS:DATA START: MOV AX,DATA MOV DS,AX ;給數(shù)

42、據(jù)段寄存器附值 MOV AX,X ;把 X 的值送給 AX,實現(xiàn) X*Y IMUL W ;把 X*W 的積送給 DX,AX ADD Y,6 ;實現(xiàn) Y+6,結果送給 Y微機原理與接口技術實驗教程25 IDIV Y ;實現(xiàn) DX,AX 中 32 位數(shù)除 Y MOV Z,AX ;將商送給 Z MOV R,DX ;將余數(shù)送給 R MOV AH,4CH INT 21H CODE ENDS END START通過 DEBUG 給 X,Y,W 符值,然后運行加減乘除得到結果。微機原理與接口技術實驗教程26實驗四 查表程序設計一實驗目的:1、熟練掌握編寫匯編語言原程序的基本方法和基本框架。2、掌握查表法和查

43、表指令 XLAT。3、熟練使用 DEBUG 調(diào)試程序。二實驗內(nèi)容:用查表的方法將一位十六進制數(shù)轉換成與它相應的 ASCII 碼,并將結果存放到 ASCI 單元中。三編程提示:既然指定用查表的方法,那么首先要建立一個表 TABLE。我們在表中按照十六進制數(shù)從小到大的順序放入他們對應的 ASCII 碼值。DATA SEGMENTTABLE DB 30H,31H,32H,33H,34H,35H,36H,37H DB 38H,39H,41H,42H,43H,44H,45H,46HKEY DB ? ;為待轉換的十六進制數(shù)ASCI DB ?;存放轉換后的 ASCII 碼DATA ENDSCODE SEGM

44、ENTASSUME CS:CODE,DS:DATASTART: MOV AX,DATA MOV DS,AX微機原理與接口技術實驗教程27 MOV AL,KEY MOV BX,OFFSET TABLE XLAT ;是將以 BX 作為基址,以 AL 內(nèi)容作為偏移量的對應單元給 AL MOV ASCI,AL ;把轉換后的 ASCII 送到變量 ASCI 中 MOV AH,4CH INT 21HCODE ENDS END START以上給題重點是 XLAT 該指令的運行,該指令通用在數(shù)組的計算中。微機原理與接口技術實驗教程28實驗五 系統(tǒng)功能調(diào)用一實驗目的:1、掌握接受鍵盤數(shù)據(jù)的方法,并了解將鍵盤數(shù)據(jù)

45、顯示時,須轉為 ASCII 碼的原理。2、掌握 DOS 功能調(diào)用的編程方法。二實驗內(nèi)容:試編寫一個匯編語言程序,要求對鍵盤輸入的小寫字母用大寫字母顯示出來。三編程提示:利用 DOS 功能調(diào)用 INT21H 的 1 號功能從鍵盤輸入字符和 2 號功能在顯示器上顯示一個字符。 DATA SEGMENT DATA ENDS CODE SEGMENT ASSUME CS:CODE,DS:DATA START: MOV AX,DATA MOV DS,AX MOV AH,01H INT 21H ;通過調(diào)用 1 號功能,實現(xiàn)把鍵盤讀入的數(shù)據(jù)送到 AL 中 SUB AL,20H ;將小寫字母轉換為大寫字母的

46、ASCII 碼 MOV DL,AL MOV AL,02H微機原理與接口技術實驗教程29 INT 21H ;通過 2 號功能,實現(xiàn)把 DL 中的內(nèi)容顯示在顯示器上 CODE ENDS END START注意:1 號 DOS 調(diào)用和 2 號 DOS 調(diào)用的區(qū)別,還用 9 號和 10 號字符串調(diào)用的區(qū)別。實驗六 分支程序設計一實驗目的:1、掌握分支程序的結構。2、掌握分支程序的設計、調(diào)試方法。二實驗內(nèi)容:假設有一組數(shù)據(jù):5,-4,0,3,100,-51,請編一程序,判斷:每個數(shù)大于 0,等于 0,還是小于 0;并輸出其判斷結果。即: 1 當 x0y= 0 當 x=0 -1 當 x0三實驗要求:實驗前

47、要做好充分準備,包括匯編程序清單、調(diào)試步驟、調(diào)試方法,以及對程序結果的分析等。四編程提示:1、首先將原始數(shù)據(jù)裝入起始地址為 XX 的字節(jié)存儲單元中。2、將判斷結果以字符串的形式存放在數(shù)據(jù)區(qū)中,以便在顯示輸出時調(diào)用。3、其中判斷部分可采用 CMP 指令,得到一個分支結構,分別輸出“y=0”, “y=1”, “y=-1”。4、程序中存在一個循環(huán)結構,循環(huán) 6 次,調(diào)用 6 次分支結構后結束。DATA SEGMENT微機原理與接口技術實驗教程30XX DB 5,-4,0,3,100,-51BUFF DB 6 DUP(0) ;存放以上 6 個數(shù)和 0 比較的結果DATA ENDSCODE SEGMEN

48、TASSUME DS:DATA ,CS:CODE START:MOV AX,DATA MOV DS,AX MOV CX,6 ;設置循環(huán)次數(shù)為 6,因為有 6 個數(shù) LEA BX,XX ;設置 BX 存放要比較數(shù)據(jù)的偏移量 LEA SI,BUFF ;設置 SI 存放數(shù)據(jù)比較結果的偏移量 NEXT4:CMP BYTE PTR BX,0 ;以 BX 作為偏移量的數(shù)字與 0 的比較 JA NEXT1 ;若大于零,轉到 NEXT1 JZ NEXT2 ;若等于零,轉到 NEXT2 MOV BYTE PTRSI,-1 ;若小于零,則把-1 放到 BUFF 中 JMP NEXT3NEXT1:MOV BYTE

49、PTRSI,1 JMP NEXT3NEXT2:MOV BYTE PTRSI,0NEXT3:INC SI INC BXLOOP NEXT4MOV CX,6 ;以下是要顯示 BUFF 內(nèi)容MOV SI,OFFSET BUFF ;定義 SI 作為 BUFF 的偏移量NEXT5: CMP BYTE PTR SI,-1 ;比較是否為-1JZ NEXT ;是,則轉向 NEXTMOV DL,SI ;不是,則將 0 或 1 轉變成字符在屏幕上顯示ADD DL,30HMOV AH,02H微機原理與接口技術實驗教程31INT 21H ;調(diào)用 2 號功能在屏幕上顯示JMP NEXT6NEXT: MOV DL,- ;

50、以下在屏幕上顯示-1 MOV AH,2H INT 21H MOV DL,31H MOV AH,2H INT 21HNEXT6:INC SI LOOP NEXT5 ;繼續(xù)檢查是否全部輸出完畢 MOV AH,4CH INT 21H ;結束CODE ENDS END START微機原理與接口技術實驗教程32實驗七 循環(huán)程序設計一實驗目的加深對循環(huán)結構的理解。掌握循環(huán)程序的設計方法。二實驗內(nèi)容與要求編制程序計算 S=1+23+34+45+N(N+1)+直到 N(N+1)大于 10 為止,并將結果由屏幕上顯示出來。DATA SEGMENTS DW ?N DB ? ;定義臨時變量M DB ? ;定義臨時變

51、量DATA ENDS CODE SEGMENTASSUME CS:CODE,DS:DATA START:MOV AX,DATA MOV DS,AX MOV S,0 ;給和賦初值 MOV N,0 ;變量 N 賦初值微機原理與接口技術實驗教程33ADD1: MOV M,N ADD M,1 MOV AL,N MUL M ;上述 4 條命令實現(xiàn) N(N+1),結果放入 AX 中 ADD S,AX INC N CMP N,10 JNA ADD1 ;因為加到 10,所以比較,若小于等于 10 繼續(xù)加 MOV CX,0 ;以下命令在屏幕上輸出 S 的值 MOV AX,S ;先把要顯示的值放入 AX 中DIV

52、1: DIV 10 MOV DL,AH ;AH 存放余數(shù),把余數(shù)壓棧 MOV DH,0 PUSH DX ;壓棧 INC CX ;同時把壓棧的數(shù)據(jù)個數(shù)加 1 CBW ;商放入 AL 中,把 AL 擴展到 AX 中CMP AX,0 ;比較商是否為零,若為零結束 JNZ DIV1 ;不為零繼續(xù)除以 10 得到余數(shù)POP1: POP DX ;以下命令把余數(shù)逐個顯示 ADD DL,30H MOV AH,2 INT 21H ;通過調(diào)用 2 號功能,在屏幕上顯示得到的數(shù)據(jù) LOOP POP1 MOV AH,4CH INT 21H ;結束CODE ENDS END START微機原理與接口技術實驗教程34第五

53、章:微機原理實驗實驗一:簡單 I/O 口擴展實驗(一)一、實驗目的一、實驗目的 1、學習微機系統(tǒng)中擴展簡單 I/O 口的方法。2、學習數(shù)據(jù)輸入輸出程序的編制方法。二、實驗內(nèi)容二、實驗內(nèi)容利用 74LS244 作為輸入口,讀取開關狀態(tài),并將此狀態(tài)通過 74LS273 再驅動發(fā)光二極管顯示出來。三、實驗程序框圖三、實驗程序框圖 四、實驗步驟四、實驗步驟開始讀出 244 狀態(tài)送 273 驅動發(fā)光二極管結束l、接口與外設的連線:Y0Y7 接 KIK8,Q0Q7 接 L1L8微機原理與接口技術實驗教程352、接口地址連線:CS1 接 8000 孔,CS2 接 9000 孔,數(shù)據(jù)線:JX7JX17。3、按

54、動 K1K8,觀察 LlL8 是否對應點亮。 五、實驗程序清單五、實驗程序清單CODE SEGMENTASSUME CS:CODE ORG 1000H ;指定下面程序從偏移量為 1000H 的地方開始存放START: MOV DX,8000H ;輸入端口的地址 IN AL,DX ;讀開關數(shù)據(jù)的值 MOV DX,9000H ;輸出端口的地址 OUT DX,AL ;寫輸出端口 JMP STARTCODE ENDS END START微機原理與接口技術實驗教程36實驗二:簡單 I/O 口擴展實驗(二)一、實驗目的一、實驗目的 1、學習微機系統(tǒng)中擴展簡單 I/O 口的方法。2、學習簡單的延時程序的編制

55、方法。二、實驗內(nèi)容二、實驗內(nèi)容利用 74LS273 作為輸出口,通過 74LS273 驅動紅燈,黃燈,綠燈二極管依次發(fā)光,模擬紅綠燈。三、實驗程序圖三、實驗程序圖微機原理與接口技術實驗教程37開始置 L3 紅燈發(fā)光軟件延時,使紅燈發(fā)光一段時間置 L2 綠燈發(fā)光軟件延時,使綠燈發(fā)光一段時間置 L1 黃燈發(fā)光軟件延時,使黃燈發(fā)光一段時間結束四、實驗步驟四、實驗步驟l、接口與外設的連線: Q0Q7 接 L1L82、接口地址連線:CS2 接 9000 孔,數(shù)據(jù)線:JX7JX17。3、運行程序,觀察 LlL8 是否對應點亮。五、實驗程序清單五、實驗程序清單CODE SEGMENTASSUME CS:CO

56、DE ORG 1000HSTART:MOV DX,9000H MOV AL,0FBH OUT DX,AL ;置 L3 紅燈發(fā)光 MOV CX,0FFFFHNEXT1: NOP LOOP NEXT1 ;軟件延時,使紅燈發(fā)光一段時間 MOV AL,0FDH OUT DX,AL ;置 L2 綠燈發(fā)光 MOV CX,0FFFFHNEXT2: NOP LOOP NEXT2 ;軟件延時,使綠燈發(fā)光一段時間 MOV AL,0FEH OUT DX,AL ;置 L1 黃燈發(fā)光微機原理與接口技術實驗教程38 MOV CX,0FFHNEXT3: NOP LOOP NEXT3 ;軟件延時,使黃燈發(fā)光一段時間 JMP

57、STARTCODE ENDS END START實驗三:8255A 并行口實驗(一)一、實驗目的一、實驗目的 1、掌握 8255A 和微機接口方法。2、掌握 8255A 的工作方式和編程原理。二、實驗內(nèi)容二、實驗內(nèi)容 用 8255 的 PA 口控制 PB 口。三、編程指南三、編程指南 1、8255A 芯片簡介: 8255A 可編程外圍接口芯片是 INTEL 公司生產(chǎn)的通用并行接口芯片,它具有 A、B、C 三個并行接口,用+5V 單電源供電,能在以下三種方式下工作:方式 0:基本輸入/ 輸出方式方式 l:選通輸入/ 輸出方式方式 2:雙向選通工作方式2、使 8255A 端口 A 工作在方式 0

58、并作為輸入口,讀取 Kl-K8 個開關量,PB 口工作在方式 0 作為輸出口。四、實驗程序框圖四、實驗程序框圖微機原理與接口技術實驗教程39 設置 8255 控制字讀取 PA 口值將 PA 口值送 PB 口顯示五、實驗步驟五、實驗步驟 1、8255A 芯片 A 口的 PA0-PA7 依次和開關量輸入 Kl-K8 相連。2、8255A 芯片 B 口的 PB0-PB7 依次接 Ll-L8。3、運行實驗程序。六、實驗程序清單六、實驗程序清單 CODE SEGMENTASSUME CS:CODEIOCONPT EQU 0FF2BH ;設置控制端口常量IOBPT EQU 0FF29H ;設置數(shù)據(jù)端口 B

59、 地址常量IOAPT EQU 0FF28H ;設置數(shù)據(jù)端口 A 地址常量 ORG 1000HSTART: MOV AL,90H MOV DX,IOCONPT OUT DX,AL ;往控制端口寫控制字,設置 A 口工作在方式 0 輸入,B 方式 0輸出IOLED1: MOV DX,IOAPT IN AL,DX ;讀端口 A 的數(shù)值 MOV DX,IOBPT OUT DX,AL ;往端口 B 輸出數(shù)據(jù) JMP IOLED1CODE ENDS END START開始微機原理與接口技術實驗教程40實驗四:8255A 并行口實驗(二)一、實驗目的一、實驗目的 掌握通過 8255A 并行口傳輸數(shù)據(jù)的方法,

60、以控制發(fā)光二極管的亮與滅。二、實驗內(nèi)容二、實驗內(nèi)容 用 8255 做輸出口,控制十二個發(fā)光管亮滅,模擬交通燈管理。三、編程指南三、編程指南 通過 8255A 控制發(fā)光二極管,PB4-PB7 對應黃燈,PC0-PC3 對應紅燈,PC4-PC7 對應綠燈, 以模擬交通路燈的管理。要完成本實驗,必須先了解交通路燈的亮滅規(guī)律,設有一個十字路口 l、3 為南北方向,2、4 為東西方向,初始狀態(tài)為四個路口的紅燈全亮,之后,1、3 路口的綠燈亮,2、4 路口的紅燈亮,1、3 路口方向通車。延時一段時間后,l、3 路口的綠燈熄滅,而 l、3 路口的黃燈開始閃爍,閃爍若干次以后,l、3 路口紅燈亮,而同時 2、

溫馨提示

  • 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

提交評論