微機(jī)原理與接口技術(shù)控制流水燈.doc_第1頁
微機(jī)原理與接口技術(shù)控制流水燈.doc_第2頁
微機(jī)原理與接口技術(shù)控制流水燈.doc_第3頁
微機(jī)原理與接口技術(shù)控制流水燈.doc_第4頁
微機(jī)原理與接口技術(shù)控制流水燈.doc_第5頁
已閱讀5頁,還剩3頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

微機(jī)原理與接口技術(shù)控制流水燈一、 實(shí)驗(yàn)?zāi)康模赫莆諈R編語言設(shè)計(jì)和調(diào)試方法。 二、 實(shí)驗(yàn)要求:利用8253、8255、8259三塊芯片相接實(shí)現(xiàn)流水燈。三、 芯片介紹:1、intel8253是NMOS工藝制成的可編程計(jì)數(shù)器/定時(shí)器,有幾種芯片型號,外形引腳及功能都是兼容的,只是工作的最高計(jì)數(shù)速率有所差異,例如8253(2.6MHz),8253-5(5MHz) 8253內(nèi)部有三個(gè)計(jì)數(shù)器,分別成為計(jì)數(shù)器0、計(jì)數(shù)器1和計(jì)數(shù)器2,他們的機(jī)構(gòu)完全相同。每個(gè)計(jì)數(shù)器的輸入和輸出都決定于設(shè)置在控制寄存器中的控制字,互相之間工作完全獨(dú)立。每個(gè)計(jì)數(shù)器通過三個(gè)引腳和外部聯(lián)系,一個(gè)為時(shí)鐘輸入端CLK,一個(gè)為門控信號輸入端GATE,另一個(gè)為輸出端OUT。每個(gè)計(jì)數(shù)器內(nèi)部有一個(gè)8位的控制寄存器,還有一個(gè)16位的計(jì)數(shù)初值寄存器CR、一個(gè)計(jì)數(shù)執(zhí)行部件CE和一個(gè)輸出鎖存器OL。執(zhí)行部件實(shí)際上是一個(gè)16位的減法計(jì)數(shù)器,它的起始值就是初值寄存器的值,而初始值寄存器的值是通過程序設(shè)置的。輸出鎖存器的值是通過程序設(shè)置的。輸出鎖存器OL用來鎖存計(jì)數(shù)執(zhí)行部件CE的內(nèi)容,從而使CPU可以對此進(jìn)行讀操作。順便提一下,CR、CE和OL都是16位寄存器,但是也可以作8位寄存器來用。2、8255作為主機(jī)與外設(shè)的連接芯片,必須提供與主機(jī)相連的3個(gè)總線接口,即數(shù)據(jù)線、地址線、控制線接口。同時(shí)必須具有與外設(shè)連接的接口A、B、C口。由于8255可編程,所以必須具有邏輯控制部分,因而8255內(nèi)部結(jié)構(gòu)分為3個(gè)部分:與CPU連接部分、與外設(shè)連接部分、控制部分。1)與CPU連接部分根據(jù)定義,8255能并行傳送8位數(shù)據(jù),所以其數(shù)據(jù)線為8根D0D7。由于8255具有3個(gè)通道A、B、C,所以只要兩根地址線就能尋址A、B、C口及控制寄存器,故地址線為兩根A0A1。此外CPU要對8255進(jìn)行讀、寫與片選操作,所以控制線為片選、復(fù)位、讀、寫信號。各信號的引腳編號如下:(1)數(shù)據(jù)總線DB:編號為D0D7,用于8255與CPU傳送8位數(shù)據(jù)。(2)地址總線AB:編號為A0A1,用于選擇A、B、C口與控制寄存器。(3)控制總線CB:片選信號、復(fù)位信號RST、寫信號、讀信號。當(dāng)CPU要對8255進(jìn)行讀、寫操作時(shí),必須先向8255發(fā)片選信號選中8255芯片,然后發(fā)讀信號或?qū)懶盘枌?255進(jìn)行讀或?qū)憯?shù)據(jù)的操作。 2)與外設(shè)接口部分根據(jù)定義,8255有3個(gè)通道A、B、C與外設(shè)連接,每個(gè)通道又有8根線與外設(shè)連接,所以8255可以用24根線與外設(shè)連接,若進(jìn)行開關(guān)量控制,則8255可同時(shí)控制24路開關(guān)。各通道的引腳編號如下:(1)A口:編號為PA0PA7,用于8255向外設(shè)輸入輸出8位并行數(shù)據(jù)。(2)B口:編號為PB0PB7,用于8255向外設(shè)輸入輸出8位并行數(shù)據(jù)。(3)C口:編號為PC0PC7,用于8255向外設(shè)輸入輸出8位并行數(shù)據(jù),當(dāng)8255工作于應(yīng)答I/O方式時(shí),C口用于應(yīng)答信號的通信。3)控制器8255將3個(gè)通道分為兩組,即PA0PA7與PC4PC7組成A組,PB0PB7與PC0PC3組成B組。如圖7.5所示,相應(yīng)的控制器也分為A組控制器與B組控制器,各組控制器的作用如下:(1)A組控制器:控制A口與上C口的輸入與輸出。(2)B組控制器:控制B口與下C口的輸入與輸出。3、8259A是專門為了對8085A和8086/8088進(jìn)行中斷控制而設(shè)計(jì)的芯片,它是可以用程序控制的中斷控制器。單個(gè)的8259A能管理8級向量優(yōu)先級中斷。在不增加其他電路的情況下,最多可以級聯(lián)成64級的向量優(yōu)先級中斷系統(tǒng)。8259A有多種工作方式,能用于各種系統(tǒng)。各種工作方式的設(shè)定是在初始化時(shí)通過軟件進(jìn)行的。 在總線控制器的控制下,8259A芯片可以處于編程狀態(tài)和操作狀態(tài).編程狀態(tài)是CPU使用IN或OUT指令對8259A芯片進(jìn)行初始化編程的狀態(tài) 四、 實(shí)驗(yàn)硬件連線圖如下所示:五、 程序代碼:INTR_IVADD EQU 01C8H ; INTR對應(yīng)的中斷矢量地址INTR_OCW1 EQU 0A1H ; INTR對應(yīng)PC機(jī)內(nèi)部8259的OCW1地址INTR_OCW2 EQU 0A0H ;INTR對應(yīng)PC機(jī)內(nèi)部8259的OCW2地址INTR_IM EQU 0FBH ;INTRINTR對應(yīng)的中斷屏蔽字IOY0 EQU 3000H ;片選IOY0對應(yīng)端口的地址8255 IOY1 EQU 3040H ;IOY1對應(yīng)端口的地址8254 MY8254_COUNT1 EQU IOY0+01H*2 ;8254計(jì)數(shù)器0端口地址 MY8254_MODE EQU IOY0+03H*2 ;8254控制寄存器端口地址MY8255_A EQU IOY1+00H*2 ;8255的A端口地址MY8255_MODE EQU IOY1+03H*2 ;8255的控制寄存器地址STACK1 SEGMENT STACK ;定義堆棧段 DW 256 DUP(?)STACK1 ENDSDATA SEGMENT ;定義數(shù)據(jù)變量 CS_BAK DW ? ;保存INTR原中斷處理程序入口段地址的變量 IP_BAK DW ? ;保存INTR原中斷處理程序入口偏移地址的變量 IM_BAK DB ? ;保存INTR原中斷屏蔽字的變量 LA DB ? DATA ENDSCODE SEGMENT ;定義代碼段 ASSUME CS:CODE,DS:DATASTART:MOV AX,DATA MOV DS,AX CLI MOV AX,0000H ;替換INTR的中斷矢量 MOV ES,AX MOV DI,INTR_IVADD MOV AX,ES:DI MOV IP_BAK,AX ;保存INTR原中斷處理程序入口偏移地址 MOV AX,OFFSET MYISR MOV ES:DI,AX ;設(shè)置當(dāng)前中斷處理程序入口偏移地址 ADD DI,2 MOV AX,ES:DI MOV CS_BAK,AX ;保存INTR原中斷處理程序入口段地址 MOV AX,SEG MYISR MOV ES:DI,AX ;設(shè)置當(dāng)前中斷處理程序入口地址 MOV DX,INTR_OCW1 ;設(shè)置中斷屏蔽寄存器,打開INTR的屏蔽位 IN AL,DX MOV IM_BAK,AL ;保存INTR原中斷屏蔽字 AND AL,INTR_IM OUT DX,AL STI MOV DX,MY8255_MODE ;定義8255工作方式 MOV AL,80H ;工作方式0,A口為輸出 OUT DX,AL MOV DX,MY8255_A ;寫A口發(fā)出的起始數(shù)據(jù) MOV AL,80H ; OUT DX,AL MOV LA,AL MOV DX,MY8254_MODE ;初始化8254工作方式 MOV AL,70H ;計(jì)數(shù)器1,方式0 OUT DX,AL MOV DX,MY8254_COUNT1 ;裝入初值 MOV AL,0FFH OUT DX,AL OUT DX,AL WAIT1:MOV AH,1 ;判斷是否有按鍵按下 INT 16H JZ WAIT1 ;無按鍵按下則跳回繼續(xù)等待,有則退出QUIT: CLI;關(guān)閉中斷 MOV AX,0000H ;恢復(fù)INTR原中斷矢量 MOV ES,AX;把附加段基地址設(shè)置為0 MOV DI,INTR_IVADD MOV AX,IP_BAK ;恢復(fù)INTR原中斷程序入口的偏移地址 MOV ES:DI,AX ADD DI,2 MOV AX,CS_BAK ;恢復(fù)INTR原中斷處理程序入口段地址 MOV ES:DI,AX MOV DX,INTR_OCW1 MOV AL,IM_BAK ;恢復(fù)INTR原中斷屏蔽寄存器的屏蔽字 OUT DX,AL STI;開放中斷 MOV AX,4C00H ;返回DOS INT 21H;主程序結(jié)束 MYISR PROC NEAR ;中斷處理程序 PUSH AX MOV AL,LA ;將A口起始數(shù)據(jù)右移再寫入A口 ROR AL,1 MOV LA,AL MOV DX,MY8255_A OUT DX,AL MOV DX,MY8254_COUNT1 ;重裝計(jì)數(shù)初值 MOV AL,0FFH

溫馨提示

  • 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)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論