微機(jī)原理與接口技術(shù)第11章-實(shí)訓(xùn)課件_第1頁(yè)
微機(jī)原理與接口技術(shù)第11章-實(shí)訓(xùn)課件_第2頁(yè)
微機(jī)原理與接口技術(shù)第11章-實(shí)訓(xùn)課件_第3頁(yè)
微機(jī)原理與接口技術(shù)第11章-實(shí)訓(xùn)課件_第4頁(yè)
微機(jī)原理與接口技術(shù)第11章-實(shí)訓(xùn)課件_第5頁(yè)
已閱讀5頁(yè),還剩43頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、第11章 實(shí)訓(xùn)實(shí)訓(xùn)一 排序程序設(shè)計(jì)實(shí)訓(xùn)目的1熟悉8086匯編語(yǔ)言程序的運(yùn)行環(huán)境以及調(diào)試工具DEBUG有關(guān)命令的功能與操作方法。2熟悉分支結(jié)構(gòu)、循環(huán)結(jié)構(gòu)以及子程序調(diào)用等基本結(jié)構(gòu)的程序設(shè)計(jì)過(guò)程和技巧。3了解綜合程序的設(shè)計(jì)、編寫(xiě)及調(diào)試過(guò)程。實(shí)訓(xùn)內(nèi)容 把一組字?jǐn)?shù)據(jù)置入存儲(chǔ)器的某一連續(xù)的存儲(chǔ)區(qū)中,使存儲(chǔ)區(qū)的長(zhǎng)度就是這組數(shù)據(jù)的個(gè)數(shù)。編寫(xiě)一程序,用下沉法對(duì)該數(shù)據(jù)區(qū)中數(shù)據(jù)按增序排序,結(jié)果放在原數(shù)據(jù)區(qū)中。設(shè)計(jì)思想 從第1個(gè)數(shù)開(kāi)始,依次把相鄰的兩個(gè)數(shù)進(jìn)行比較,即第1個(gè)數(shù)與第2個(gè)數(shù)比較,若第1個(gè)數(shù)大于第2個(gè)數(shù),則兩者交換,否則,兩數(shù)的位置不變。然后,把第2個(gè)數(shù)與第3個(gè)數(shù)比較,若第2個(gè)數(shù)大于第3個(gè)數(shù),則兩者交換,否則

2、,兩數(shù)的位置不變。第N-1次是把第N-1個(gè)數(shù)與第N個(gè)數(shù)比較,若第N-1個(gè)數(shù)大于第N個(gè)數(shù),則兩者交換,否則,兩數(shù)的位置不變。對(duì)于這N個(gè)數(shù),經(jīng)過(guò)第1遍的N-1次比較后,最大數(shù)將被排在第N個(gè)位置,即最大數(shù)被排在最后。 對(duì)剩下的N-1個(gè)數(shù)重復(fù)中的過(guò)程,找出N-1個(gè)數(shù)中的最大數(shù),并把該最大數(shù)放在第N-1個(gè)位置。 重復(fù),經(jīng)過(guò)N-1遍后排序后,這N個(gè)數(shù)將被全部排序好。實(shí)訓(xùn)步驟1根據(jù)程序設(shè)計(jì)思想編寫(xiě)源程序。2在EDIT編輯器下輸入源程序,并保存程序。3用MASM.EXE編譯源程序,編譯無(wú)錯(cuò)后,生成相應(yīng)的OBJ目標(biāo)文件。用LINK. EXE 連接OBJ文件,生成可執(zhí)行的EXE文件。4運(yùn)行可執(zhí)行文件。根據(jù)需要,可

3、在DOS提示符下直接通過(guò)文件名的方式運(yùn)行程序,或者是用DEBUG將可執(zhí)行的EXE文件調(diào)入內(nèi)存后,用G命令運(yùn)行。例:C: DEBUG 文件名. EXE -U ;先用反匯編來(lái)查看源程序裝入的地址 : -G=xxxx:xxxx ;從程序裝入的地址處,開(kāi)始運(yùn)行程序5使用DEBUG的有關(guān)命令,查看程序結(jié)果。實(shí)訓(xùn)總結(jié) 假設(shè)待排序的數(shù)共有10個(gè),它們分別是0055H,0033H,0066H, 0077H,0099H, 0011H, 0022H, 0088H, 0044H, 0000H,放在首地址為DATA的一組存儲(chǔ)單元中。程序執(zhí)行結(jié)果應(yīng)為0000H,0011H, 0022H,0033H,0044H,0055

4、H,0066H, 0077H,0088H, 0099H。使用DEBUG的有關(guān)命令查看程序執(zhí)行后,該存儲(chǔ)區(qū)中的數(shù)據(jù)是否按升序有序,若不是,查找原因,修改程序,直至得到正確的結(jié)果為止。 給出的程序清單是在待排序的數(shù)據(jù)是已知的情況,即共有10個(gè)數(shù)。在數(shù)據(jù)段中完全可以采用($-DATA)/2求出待排序數(shù)據(jù)的個(gè)數(shù),實(shí)現(xiàn)未知待排序數(shù)據(jù)個(gè)數(shù)的排序。參考程序 接下段接上段實(shí)訓(xùn)二 8259A外部中斷實(shí)訓(xùn)目的 1熟悉8088/86與8259A的連接方法。 2進(jìn)一步掌握中斷控制器8259A的工作原理,進(jìn)一步了解中斷屏蔽寄存器和中斷服務(wù)寄存器的功能和使用方法。 3熟悉中斷服務(wù)程序的編寫(xiě)過(guò)程及技巧。實(shí)訓(xùn)內(nèi)容 用8088

5、/86控制8259A可編程中斷控制器,實(shí)現(xiàn)對(duì)外部中斷的響應(yīng)和處理。要求程序中對(duì)每次中斷進(jìn)行計(jì)數(shù),并將計(jì)數(shù)結(jié)果用74LS273輸出到LED顯示出來(lái)。實(shí)訓(xùn)設(shè)計(jì)過(guò)程 18259A硬件線路的設(shè)計(jì) 根據(jù)實(shí)際要求,設(shè)計(jì)如圖11-2所示的硬件連接線路,使用實(shí)驗(yàn)板上的脈沖發(fā)生電路產(chǎn)生的脈沖信號(hào)作為中斷請(qǐng)求信號(hào)與IR0相連。當(dāng)按下脈沖按鈕時(shí),脈沖發(fā)生電路就會(huì)產(chǎn)生一個(gè)正脈沖,使IR0=1,即發(fā)生了外部中斷。圖11-2 8259A外部中斷連線圖 2中斷計(jì)數(shù)輸出硬件線路的設(shè)計(jì) 中斷計(jì)數(shù)可采用軟件計(jì)數(shù)的方式實(shí)現(xiàn),計(jì)數(shù)結(jié)果輸出可采用鎖存儲(chǔ)器74LS273實(shí)現(xiàn)。把74LS273的數(shù)據(jù)輸入線D1D8與CPU的低8位數(shù)據(jù)線相連

6、,74LS273的數(shù)據(jù)輸出線Q1Q8與8個(gè)指示燈LED0LED7相連。CPU通過(guò)OUT指令把中斷計(jì)數(shù)值輸出到74LS273并鎖存,同時(shí)中斷計(jì)數(shù)值在74LS273輸出端輸出,在LED0LED7顯示出來(lái),其硬件連線如圖11-3所示 圖11-3 中斷計(jì)數(shù)輸出連接電路圖 程序設(shè)計(jì)思想與程序流程 8259A的初始化 ICW1=13H,即單片8259A,中斷請(qǐng)求信號(hào)為上升沿觸發(fā),需要寫(xiě)如ICW4。ICW2=20H,即IR0的中斷類型號(hào)為20H。ICW4=01H,即與8086/8088相連,工作在正常EOI方式,非緩沖和全嵌套方式。OCW1=0FEH,即屏蔽除IR0之外的所有中斷請(qǐng)求。設(shè)259A的端口地址為

7、0A00H和0A001H,74LS273端口地址為8000H。在不同的實(shí)驗(yàn)系統(tǒng)中,芯片的地址由與CPU地址線的連接方式確定;在同一個(gè)系統(tǒng)中,端口地址是固定的。 設(shè)置中斷向量表具體實(shí)現(xiàn)過(guò)程見(jiàn)程序清單。 繪制主程序和中斷服務(wù)程序的流程圖主程序和中斷服務(wù)程序的流程如圖11-4所示。 編寫(xiě)主程序和中斷服務(wù)程序主程序和中斷服務(wù)程序見(jiàn)程序清單。實(shí)訓(xùn)步驟 1按照?qǐng)D11-2和圖11-3在實(shí)驗(yàn)板上連接硬件線路。2在EDIT編輯器下輸入源程序,并保存程序。3用MASM.EXE編譯源程序,編譯無(wú)錯(cuò)后,生成相應(yīng)的OBJ目標(biāo)文件。用LINK. EXE 連接OBJ文件,生成可執(zhí)行的EXE文件。4運(yùn)行可執(zhí)行程序。在執(zhí)行程序

8、的過(guò)程中,按下脈沖開(kāi)關(guān),產(chǎn)生中斷。5觀察實(shí)訓(xùn)結(jié)果。如果指示燈LED0LED7顯示結(jié)果與按下脈沖開(kāi)關(guān)次數(shù)相同,說(shuō)明實(shí)訓(xùn)結(jié)果正確,否則,需要查找出錯(cuò)原因,并排除之。實(shí)訓(xùn)總結(jié)本實(shí)訓(xùn)主要容易出現(xiàn)以下兩種錯(cuò)誤結(jié)果: 1中斷次數(shù)與顯示值不一致。導(dǎo)致這種錯(cuò)誤的主要原因是由于脈沖按鈕的抖動(dòng)造成的,可通過(guò)軟件去抖動(dòng)的方法給予解決。 2中斷服務(wù)程序不被執(zhí)行。導(dǎo)致這種錯(cuò)誤的主要原因一是中斷控制電路的設(shè)計(jì)或連接有問(wèn)題,導(dǎo)致CPU確實(shí)沒(méi)有接到中斷請(qǐng)求信號(hào),二是中斷向量與中斷服務(wù)程序的入口地址在填寫(xiě)中斷向量表時(shí)不一致??赏ㄟ^(guò)檢查8259A控制字、連線以及中斷向量表的設(shè)置等因素給予排除。程序清單 接下段接上端接下端接上表實(shí)

9、訓(xùn)三 8255輸入/輸出實(shí)訓(xùn)目的 1熟悉8255芯片結(jié)構(gòu)及編程方法。 2熟悉8255A的初始化過(guò)程和方式控制字的設(shè)置過(guò)程及方法。 3了解通過(guò)8255A并行接口傳輸數(shù)據(jù)控制LED發(fā)光二極管的亮滅的方法。實(shí)訓(xùn)內(nèi)容 利用8255可編程并行口芯片,實(shí)現(xiàn)數(shù)據(jù)輸入/輸出功能,實(shí)訓(xùn)中用8255PA口作輸出,PB口作輸入??删幊掏ㄓ媒涌谛酒?255A有三個(gè)八位的數(shù)據(jù)端口,它有三種工作方式。本實(shí)訓(xùn)采用的是方式0:PA,PC口輸出,PB口輸入。實(shí)訓(xùn)電路及連線 實(shí)訓(xùn)電路的連接如圖11-5所示。設(shè)8255A的控制寄存器地址為8003H,PA口地址為8000H, PB口地址為8001H,PC口地址為8002H。 PA0

10、-PA7(PA口)接L0-L7(LED) PB0-PB7(PB口)接S0-S7(開(kāi)關(guān)量) 再接上數(shù)據(jù)線和讀/寫(xiě)信號(hào),地址線只接 A0和A1即可,連接RESET信號(hào),以便8255A可靠復(fù)位。圖11-5 8255A輸入/輸出連線圖 實(shí)訓(xùn)框圖 圖11-6 8255A輸入/輸出程序流程 實(shí)訓(xùn)步驟 1按照?qǐng)D11-5在實(shí)驗(yàn)板上連接硬件線路。 2 在EDIT編輯器下輸入源程序,并保存程序。 3用MASM.EXE編譯源程序,編譯無(wú)錯(cuò)后,生成相應(yīng)的OBJ目標(biāo)文件。用LINK. EXE 連接OBJ文件,生成可執(zhí)行的EXE文件。 4運(yùn)行可執(zhí)行程序。在執(zhí)行程序的過(guò)程中,搬動(dòng)開(kāi)關(guān)S0-S7,使B口輸入不同的數(shù)據(jù)。 5觀

11、察實(shí)訓(xùn)結(jié)果。如果指示燈LED0LED7顯示結(jié)果與開(kāi)關(guān)S0-S7的狀態(tài)一致,說(shuō)明實(shí)訓(xùn)結(jié)果正確,否則,需要查找出錯(cuò)原因,并排除之。實(shí)訓(xùn)總結(jié) 本實(shí)訓(xùn)的B口輸入數(shù)據(jù),A接收數(shù)據(jù),然后送LED顯示,可能會(huì)出現(xiàn)數(shù)據(jù)不一致情況,其原因可能是B口輸入數(shù)據(jù)連線錯(cuò)或A接收數(shù)據(jù)連線錯(cuò)或送LED顯示連線錯(cuò),也可能是對(duì)8255A初始化不正確,導(dǎo)致結(jié)果有誤。程序清單 接下段接上段實(shí)訓(xùn)四 8251A串行通訊實(shí)訓(xùn)目的 1掌握8088/86串行口通信的方法。 2了解實(shí)現(xiàn)串行通訊的硬環(huán)境、數(shù)據(jù)格式的協(xié)議、數(shù)據(jù)交換的協(xié)議。 3學(xué)習(xí)串行口通訊程序編寫(xiě)方法。實(shí)訓(xùn)內(nèi)容 利用8088/86CPU控制8251A可編程串行通信控制器,將一組連

12、續(xù)存儲(chǔ)區(qū)域的數(shù)據(jù),通過(guò)8251A傳送出去并予以接收,把接收的數(shù)據(jù)存儲(chǔ)在另一個(gè)存儲(chǔ)區(qū)域中。 實(shí)訓(xùn)電路 實(shí)訓(xùn)電路的連接如圖11-7所示。在實(shí)訓(xùn)時(shí)把同一片8251A的RxD與TxD直接相連,既實(shí)現(xiàn)數(shù)據(jù)的發(fā)送,又實(shí)現(xiàn)數(shù)據(jù)的接收。圖11-7 8251A的數(shù)據(jù)收發(fā)連線圖實(shí)訓(xùn)框圖 本實(shí)訓(xùn)共分3個(gè)部分,即主程序、串行發(fā)送和串行接收,它們的程序流程如圖11-8所示圖11-8 8251A收發(fā)數(shù)據(jù)程序流程 實(shí)訓(xùn)步驟 1按照?qǐng)D11-8在實(shí)驗(yàn)板上連接硬件線路。 2在EDIT編輯器下輸入源程序,并保存程序。 3用MASM.EXE編譯源程序,編譯無(wú)錯(cuò)后,生成相應(yīng)的OBJ目標(biāo)文件。用LINK. EXE 連接OBJ文件,生成可

13、執(zhí)行的EXE文件。 4運(yùn)行可執(zhí)行程序。在執(zhí)行程序的過(guò)程中,按下脈沖開(kāi)關(guān),產(chǎn)生中斷。 5觀察實(shí)訓(xùn)結(jié)果。如果指示燈LED0LED7顯示結(jié)果與開(kāi)關(guān)S0-S7的狀態(tài)一致,說(shuō)明實(shí)訓(xùn)結(jié)果正確,否則,需要查找出錯(cuò)原因,并排除之。實(shí)訓(xùn)總結(jié) 本實(shí)訓(xùn)會(huì)出現(xiàn)指示燈LED0LED7顯示結(jié)果與開(kāi)關(guān)S0-S7的狀態(tài)不一致錯(cuò)誤,其原因可能是連接線路有誤,或8251A初始化有誤,或程序有誤。程序清單 接下段接上段接下段接上段實(shí)訓(xùn)五 8253計(jì)數(shù)器 實(shí)訓(xùn)目的 1學(xué)習(xí)8253可編程定時(shí)器/計(jì)數(shù)器定時(shí)方法。 2學(xué)習(xí)8253多級(jí)串聯(lián)實(shí)現(xiàn)大時(shí)間常數(shù)的定時(shí)方法。 3學(xué)習(xí)8086控制8253可編程定時(shí)器的方法。 實(shí)訓(xùn)內(nèi)容 用8253對(duì)標(biāo)準(zhǔn)

14、脈沖信號(hào)進(jìn)行計(jì)數(shù),就可以實(shí)現(xiàn)定時(shí)功能。用板上的1MHz做為標(biāo)準(zhǔn)信號(hào),將8253可編程計(jì)數(shù)器/定時(shí)器的時(shí)間常數(shù)設(shè)在1000000次,就可以在定時(shí)器的管腳上輸出1秒鐘高/1秒鐘低的脈沖信號(hào)。因?yàn)?253每個(gè)計(jì)數(shù)器只有十六位,要用兩個(gè)計(jì)數(shù)器才能實(shí)現(xiàn)一百萬(wàn)次的計(jì)數(shù),實(shí)現(xiàn)每一秒鐘輸出狀態(tài)發(fā)生一次反轉(zhuǎn)。實(shí)訓(xùn)電路及連線 圖11-9 8253計(jì)數(shù)硬件連線圖 實(shí)訓(xùn)設(shè)計(jì)思想 由于本實(shí)訓(xùn)定時(shí)常數(shù)過(guò)大,需要用多級(jí)串聯(lián)方式。本實(shí)訓(xùn)采用兩級(jí)計(jì)數(shù)器串聯(lián)。定時(shí)常數(shù)分別為100和10000。將計(jì)數(shù)器1的輸出接到計(jì)數(shù)器0輸入。計(jì)數(shù)器0的輸出接到LED0。計(jì)數(shù)器0和計(jì)數(shù)器1都工作于方式3,16位二進(jìn)制計(jì)數(shù),計(jì)數(shù)初值分別為10000

15、和100。 計(jì)數(shù)器工作于方式3時(shí),CPU寫(xiě)入控制字后,OUT變?yōu)楦唠娖?,?xiě)完計(jì)數(shù)值后自動(dòng)開(kāi)始計(jì)數(shù),輸出保持高電平。當(dāng)計(jì)數(shù)到一半時(shí),輸出變?yōu)榈碗娖?。?jì)數(shù)到0時(shí),輸出又變?yōu)楦唠娖?,重新開(kāi)始計(jì)數(shù)。OUT輸出端輸出連續(xù)的方波。可以把OUT接視波器直接觀察輸出波形,也可以把輸出端LED,通過(guò)觀察LED的亮滅情況,了解實(shí)訓(xùn)結(jié)果。 實(shí)訓(xùn)步驟 1按照?qǐng)D11-9連接線路。 2在EDIT編輯器下輸入源程序,并保存程序。 3用MASM.EXE編譯源程序,編譯無(wú)錯(cuò)后,生成相應(yīng)的OBJ目標(biāo)文件。用LINK. EXE 連接OBJ文件,生成可執(zhí)行的EXE文件。 4運(yùn)行可執(zhí)行程序。通過(guò)LED0觀察OUT0的輸出。實(shí)訓(xùn)總結(jié) 本

16、實(shí)訓(xùn)可能會(huì)出現(xiàn)LED0的亮滅情況與OUT0的輸出不一致,原因可能是對(duì)8253初試化、時(shí)間常數(shù)計(jì)算以及程序有錯(cuò)造成的。程序流程圖 圖11-10 8253實(shí)訓(xùn)流程圖程序清單 實(shí)訓(xùn)六 交通燈控制實(shí)訓(xùn)目的1通過(guò)實(shí)驗(yàn)進(jìn)一步加深對(duì)并行接口的認(rèn)識(shí)。2熟悉利用查詢方式,檢查外設(shè)所處狀態(tài),確定對(duì)事件處理的方法。實(shí)訓(xùn)內(nèi)容1.用8255A作為并行口,通過(guò)并行口實(shí)現(xiàn)對(duì)交通燈的控制。交通燈用兩組紅、黃、綠發(fā)光二極管代表,它們分別用作主干道和支路的交通信號(hào)燈。2.把機(jī)內(nèi)時(shí)鐘源計(jì)數(shù)值和以開(kāi)關(guān)模似的特種車輛到達(dá)傳感器信號(hào)作為條件,實(shí)現(xiàn)交通燈狀態(tài)的自動(dòng)轉(zhuǎn)換。3.在不改變硬件結(jié)構(gòu)的情況下,再創(chuàng)造一種兩個(gè)方向都不通行的人行狀態(tài)。設(shè)

17、計(jì)分析 假設(shè)實(shí)驗(yàn)環(huán)境是為某個(gè)十字路口設(shè)計(jì)一個(gè)交通燈自動(dòng)控制系統(tǒng),該路口由一條主干道和一條支路交叉而成。根據(jù)統(tǒng)計(jì),主干道的交通流量為支路的兩倍。實(shí)驗(yàn)的要求是: 1正常情況下,兩條路輪流放行,且主干道的放流時(shí)間為支路的兩倍。信號(hào)轉(zhuǎn)換時(shí),按照以下規(guī)律顯示: 從通行變?yōu)橥V箷r(shí),按綠黃紅次序變化; 從停止變?yōu)橥ㄐ袝r(shí),按紅閃動(dòng)綠次序變化; 主干道與支路的顯示必須保證它們是交叉進(jìn)行的。 2當(dāng)路上出現(xiàn)特種車輛(如警車、消防車等)時(shí),該路口應(yīng)將它立即放行,并使另一方向停止。如果兩個(gè)方向同時(shí)出現(xiàn)特種車輛的通行要求時(shí),應(yīng)使主干道的車輛先放行。 由于所需控制的外部設(shè)備不多,作為控制用的輸出端只要一個(gè)并行就夠了。而作為狀態(tài)輸入的端口,雖然信號(hào)并不多,但仍要占用一個(gè)并行口。下面的例子中,A口用作輸入,其中K0作為主干道有特種車輛,K1則對(duì)應(yīng)支路的情況。對(duì)A口的狀態(tài)由CPU定時(shí)讀取,進(jìn)行判斷,確定是否需要改變路口的通行狀況。從這個(gè)分析看,這個(gè)實(shí)驗(yàn)的主要工作集中在軟件上。參考電路及調(diào)試 對(duì)硬件的調(diào)試可以分為兩步進(jìn)行。首先,用靜態(tài)電壓測(cè)量的方法,保證芯片的各引腳有正常的工作電壓。接著用DEBUG給相應(yīng)的端口寫(xiě)入必要的初始化程序,并使B口輸出不同的效

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 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ì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論