外部中斷實驗(共7頁)_第1頁
外部中斷實驗(共7頁)_第2頁
外部中斷實驗(共7頁)_第3頁
外部中斷實驗(共7頁)_第4頁
外部中斷實驗(共7頁)_第5頁
已閱讀5頁,還剩2頁未讀 繼續免費閱讀

下載本文檔

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

文檔簡介

1、濱江學院微機原理與接口技術綜合實驗報告 學生姓名 姜力學 號20112334013 專 業 通信工程班 級 通信一班二一三 年十二 月二十日外部中斷實驗一、實驗要求 利用 8086 控制 8259 可編程中斷控制器,實現對外部中斷的響應和處理。要求程序中每次中斷進行計數,并將計數結果用 8255的 PA口輸出到發光二極管顯示。 二、 實驗目的 1、學習 8086 與8259 的連接方法。 2、學習 8086 對8259 的編程控制方法。 3、了解 8259 的多片級聯。 3、 實驗電路及連線1、Proteus實驗電路2、 硬件驗證實驗硬件連接表接線孔1接線孔28255 CS08000H-08F

2、FFH8259 CS0C00H-0CFFHPA0-PA7D1-D8四、 實驗說明 8086 的外部中斷必須通過外接中斷控制器才可以進行外部中斷的處理。在編程時應注意: 1、正確地設置可編程中斷控制器的工作方式。 2、必須正確地設置中斷向量表和中斷服務程序的入口地址。 8259 可外接 8 個中斷源,本實驗只響應 INT0 中斷,8259 也可以多級連接以響應多個中斷源。將單脈沖信號接到 8259 的 INT0腳。每次中斷時,可以看到 LED顯示加 1. 五、 實驗程序流程圖開始設置8255工作方式設置中斷服務程序地址,工作方式允許中斷等待中斷中斷入口計數器加1計數值通過8255輸出到LED中斷

3、返回六、 實驗步驟 1、Proteus仿真 a、Proteus中打開設計文檔 16x16點陣_STM.DSN ; b、建立實驗程序并編譯,加載hex文件,仿真; c、如不能正常工作,打開調試窗口進行調試。 參考程序:MODE EQU 80H ; 8255 工作方式 PA8255 EQU 8000H ; 8255 PA 口輸出地址 CTL8255 EQU 8006H ICW1 EQU 00010011B ; 單片 8259, 上升沿中斷, 要寫 ICW4 ICW2 EQU 00100000B ; 中斷號為 20H ICW4 EQU 00000001B ; 工作在 8086/88 方式 OCW1

4、EQU 00000000B ; 只響應 INT0 中斷 CS8259A EQU 0C000H ; 8259 地址 ASSUME CS:CODE, DS: DATA,SS:STACK ORG 00H JMP IEnTER ORG 800H START: MOV AX, DATA MOV DS, AX MOV AX, STACK MOV SS, AX MOV AX, TOP MOV SP, AX MOV DX, CTL8255 MOV AL, MODE OUT DX, AL CLI PUSH DS MOV AX ,0 MOV DS ,AX MOV BX, 128 ;0X20 * 4 中斷號 MOV

5、 AX, CODE MOV CL, 4 SHL AX, CL ; X 16 ADD AX, OFFSET IEnTER ; 中斷入口地址(段地址為 0) MOV BX, AX MOV AX, 0 INC BX INC BX MOV BX, AX ; 代碼段地址為 0 POP DS CALL IINIT MOV AL, CNT ; 計數值初始為 0 MOV DX, PA8255 OUT DX, AL STI LP: ; 等待中斷,并計數。 NOP JMP LP IInIT: MOV DX, CS8259A MOV AL, ICW1 OUT DX, AL MOV DX, CS8259B MOV A

6、L, ICW2 OUT DX, AL MOV AL, ICW4 OUT DX, AL MOV AL, OCW1 OUT DX, AL RET IEnTER: CLI MOV DX, PA8255 DEC CNT MOV AL, CNT OUT DX, AL ; 輸出計數值 MOV DX, CS8259A MOV AL, 20H ; 中斷服務程序結束指令 OUT DX, AL STI IRET CODE ENDS DATA SEGMEnT CNT DB 0FFH DATA EnDS STACK SEGMENT 'STACK' STA DB 100 DUP(?) TOP EQU L

7、ENGTH STA STACK ENDS END START2、實驗板驗證 a通過 USB 線連接實驗箱 b按連接表連接電路 c運行 PROTEUS仿真,檢查驗證結果 仿真電路如圖:七、 實驗結果和體會1、出現什么現象,為何有這種現象? 現象: 按下單脈沖即為中斷。實驗箱中的八盞LED燈以二進制的方式用來記錄脈沖個數。 分析: 按下“單脈沖”,電路出現一個中斷脈沖信號,進入中斷入口,計數值CNT加1,每加一次,CNT的值變化,對應的LED也就發生變化(燈亮或燈滅) 沒有按下單脈沖時沒有燈亮0=00000000;按下一次,最右的燈亮1=00000001;按下兩次,右邊起第二 個燈亮2=00000

8、010;按照這個規律,為1的(高電平)對應位置的燈就亮:3=00000011;4=00000100;5=00000101;6=00000110;7=00000111;8=00001000;9=00001001;10=00001010······ 2、 在初始化時為何沒有設置ICW3、OCW2、OCW3這幾個控制字? ICW3只在8259級聯使用時才進行設置,在本實驗中只涉及一片8259,不涉及到級聯的問題,所以ICW3可以省略;OCW2為優先權循環方式和中斷結束方式操作字,是在中斷服務程序結束后寫入;OCW3為特殊屏蔽方式和查詢方式操作字,由于實驗過程中只有一個外部中斷程序,故不需要設置OCW3。 3、如果中斷號為22H,此程序該如何修改? 由于IR0端對應的中斷類型號必須8的整數倍,而22H不是8的整數,故只能在IRO的中斷類型號繼續為20H的前提下,使單脈

溫馨提示

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

最新文檔

評論

0/150

提交評論