《微機(jī)原理與接口技術(shù)》課件-第7章8255并行接口_第1頁
《微機(jī)原理與接口技術(shù)》課件-第7章8255并行接口_第2頁
《微機(jī)原理與接口技術(shù)》課件-第7章8255并行接口_第3頁
《微機(jī)原理與接口技術(shù)》課件-第7章8255并行接口_第4頁
《微機(jī)原理與接口技術(shù)》課件-第7章8255并行接口_第5頁
已閱讀5頁,還剩38頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

微機(jī)原理與接口技術(shù)第七章可編程并行接口電路8255本章學(xué)習(xí)的知識點(diǎn):1)掌握并行接口8255的基本功能2)掌握并行接口8255的三種工作方式的特點(diǎn)和用法3)掌握并行接口8255的硬軟件設(shè)計(jì)方法本章學(xué)習(xí)的難點(diǎn):1)掌握8255的3種工作方式的特點(diǎn)和用法2)掌握8255的硬軟件設(shè)計(jì)方法1、概述:8255是Intel公司生產(chǎn)的8位(數(shù)據(jù)線)通用可編程并行輸入輸出接口芯片。有三個8位的輸入輸出端口:端口A、端口B、端口C;有三種工作方式:方式0、方式1、方式2A口可以工作在3種工作方式:方式0、方式1、方式2B口可以工作在2種工作方式:方式0、方式1C口可以工作在1種工作方式:方式0;C口可與A口形成A組、與B口形成B組;可對A口進(jìn)行置“1”或置“0”7.1可編程并行接口8255引腳功能和結(jié)構(gòu)(1)與外設(shè)接口部分有三個8位的輸入輸出端口:端口A、端口B、端口C;有三種工作方式:方式0、方式1、方式2A口可以工作在3種工作方式:方式0、方式1、方式2B口可以工作在2種工作方式:方式0、方式1C口可以工作在1種工作方式:方式0;C口可與A口形成A組、與B口形成B組;可對A口進(jìn)行置“1”或置“0”2、

內(nèi)部結(jié)構(gòu)

8255的內(nèi)部結(jié)構(gòu)框圖如圖7.2所示,由三部分組成。58255A的內(nèi)部結(jié)構(gòu)數(shù)據(jù)總線緩沖器內(nèi)部控制線內(nèi)部數(shù)據(jù)線D0~D7A組控制A組端口AA組端口C上部B組控制B組端口BB組端口C下部讀寫控制邏輯PC0~PC3PB0~PB7PC4~PC7PA0~PA7RDWRA0A1CSRESET(2)與微處理器接口部分這部分主要完成數(shù)據(jù)傳送及邏輯控制。有:RD、WR、CS、RESET、D0-D7,8255的各端口地址線A0、A1。(3)內(nèi)部控制部分由A、B兩組控制電路組成。主要作用是根據(jù)CPU送來的控制字用以決定兩組端口(A組為A口和C口的高4位,B組為B口和C口的低4位)的工作方式,也可根據(jù)控制字的要求對C口按位進(jìn)行置位或復(fù)位。1)外部引線8255的外部引線如圖所示D0~D7:雙向數(shù)據(jù)信號線RD:讀信號線WR:寫信號線CS:片選信號線A0、A1:口地址選擇信號線RESET:復(fù)位輸入信號PA0-PA7:

A口輸入輸出信號線PB0-PB7:

B口輸入輸出信號線PC0-PC7:

C口輸入輸出信號線3、8255的外部引線及內(nèi)部結(jié)構(gòu)圖7-18255的外部引線圖4、8255的端口地址與微處理器接口部分的硬件電路圖實(shí)例口C上半部口C下半部口A口BRDWRRESETA1A0A1A0825574LS138G1G2AG2BCBAA5M/IOA6A4A3A2D0~D7CSY0地址譯碼邏輯關(guān)系:G2AG1G2BCB

A0A7A6A5A4A3A2A1

A0110000XXY0=0Y1=0C0H~C3HC0H→A口C1H→B口C2H→C口C3H→控制口C0HC2HC1H&A7(1)工作方式控制字的格式5、8255的控制字

8255A芯片內(nèi)有兩個控制字,一類控制字用于定義個數(shù)據(jù)輸入/輸出端口的工作方式,稱為方式選擇控制字,另一類控制字用于對C端口任意一位進(jìn)行置位或復(fù)位操作,又稱為置位/復(fù)位控制字。例1:方式字寫入控制口設(shè)8255A端口地址為0380H、0381H、0382H、0383H。要把A口指定為方式1輸入,C口上半部定為輸出,B口指定為方式0輸出,C口下半部定為輸入,則控制字應(yīng)為:10110001B或0B1H。初始化程序?yàn)椋篗OVDX,0383HMOVAL,0B1HOUTDX,AL(2)C口置位/復(fù)位控制字的格式5、8255的控制字例如設(shè)8255A端口地址為60H~63H,現(xiàn)要求先置PC4為高電平,再復(fù)位PC4,則相應(yīng)的程序段如下:

MOVAL,00001001B

OUT63H,AL

MOVAL,00001000B

OUT63H,AL例2:C口置位/復(fù)位控制字(寫入控制口)

3種工作方式可用軟件編程對控制口設(shè)置來指定。

方式0-基本的輸入輸出方式方式1-選通輸入輸出方式方式2-雙向傳送方式。6、8255的工作方式

1)工作方式0(基本輸入輸出方式)

功能:方式0不使用聯(lián)絡(luò)信號,也不使用中斷,A口和B口可定義為輸入或輸出口,C口分成兩個部分(高四位和低四位),C口的兩個部分也可分別定義為輸入或輸出。在方式0,所有口輸出均有鎖存,輸入只有緩沖,無鎖存,C口還具有按位將其各位清0或置1的功能。常用于與外設(shè)無條件的數(shù)據(jù)傳送或接收外設(shè)的數(shù)據(jù)。151515例用8255A控制三個發(fā)光二極管依秩序循環(huán)顯示。

8255A+5V200譯碼器D7~D0地址線8088CPUA0A2A0PA0PA1PA2工作方式0例題A0A1CS1616PA0PA1PA28255A

PB0+5V200+5V2K譯碼器D7~D0地址線8088CPUA0A1A0A1思考題:用8255A控制三個發(fā)光二極管依秩序循環(huán)顯示。假設(shè)開關(guān)閉合時,點(diǎn)亮發(fā)光二極管,開管斷開時息滅二極管。CS2)工作方式1(選通輸入輸出方式)

A口借用C口的一些信號線用作控制和狀態(tài)信號,組成A組,B口借用C口的一些信號線用作控制和狀態(tài)信號,組成B組。在方式1下,C口的某些位被占用。

當(dāng)A口工作于方式1且用作輸出口時,C口的PC7線用作輸出緩沖器滿OBF信號,PC6用作外設(shè)收到數(shù)據(jù)后的響應(yīng)信號ACK,PC3用作中斷請求輸出信號線INTR。方式1的輸出:

當(dāng)B口工作于方式l且用作輸出口時,C口的PC1線用作輸出緩沖器滿OBF信號,PC2用作外設(shè)收到數(shù)據(jù)后的響應(yīng)信號ACK,PC0用作中斷請求輸出信號線INTR。方式1下A口、B口為輸出D7D6D5D4D3D2D1D01A組方式01=方式1A口0=輸出C口

I/OB組方式1=方式1B口0=輸出C口I/O圖7.4方式1下,A、B口均為輸出的信號定義控制字的設(shè)置①OBF

為輸出緩沖器滿信號,低電平有效。8255輸出信號,當(dāng)其有效時,CPU已將數(shù)據(jù)送到指定的口,用于通知外設(shè)可將數(shù)據(jù)取走。各個控制位的作用(重點(diǎn)掌握和理解的內(nèi)容)

②ACK

為外設(shè)響應(yīng)信號,低電平有效。由外設(shè)送來,有效時表明8255的數(shù)據(jù)已被外設(shè)取走。③INTR為中斷請求信號,高電平有效。它是當(dāng)外設(shè)將數(shù)據(jù)取走并給出應(yīng)答ACK

信號之后,8255向CPU提出中斷請求,讓CPU輸出一個新的數(shù)據(jù)。④INTE中斷允許信號,高電平有效。為低時則屏蔽中斷請求,即不發(fā)出中斷請求信號INTR。INTE的狀態(tài)由通過對C口PC6或PC2置1后A口和B口才允許中斷。INTE=1,允許A口或B口向CPU申請中斷,INTE=0,禁止A口或B口向CPU申請中斷。

8255的中斷設(shè)置方法:中端允許信號INTE是由軟件通過對C口的按位置位/復(fù)位的控制字來置1或清0的設(shè)置的,PC6置1時,A口允許中斷,PC2置1時,B口允許中斷。注意:在方式1輸出方式時,PC4和PC5的工作狀態(tài)由控制字決定其為輸出還是輸入。設(shè)置后不影響其它位的作用。方式1下A口、B口為輸入(重點(diǎn)掌握和理解的內(nèi)容)

1)A口工作于方式1且用作輸入口時,C口的PC4線用作選通輸入信號線STB,PC5用作輸入緩沖器滿輸出信號線IBF,PC3用作中斷請求輸出信號線INTR。2)B口工作于方式1且用作輸入口時,C口的PC2線用作選通輸入信號線STB,PC1用作輸入緩沖器滿輸出信號線IBF,PC0用作中斷請求輸出信號線INTR。

方式1下A口、B口均為輸入D7D6D5D4D3D2D1D01A組方式01=方式1A口1=輸入C口I/OB組方式1=方式1B口1=輸入C口I/O圖7.5方式1下A、B口均為輸入時的信號定義控制字的設(shè)置①STB:選通控制,輸入信號。當(dāng)外部設(shè)備來的8位數(shù)據(jù)送入到8255的輸入緩沖器中時該位有效。在時間上,外部設(shè)備先把數(shù)據(jù)送到8255的數(shù)據(jù)口A或B,然后再送出STB信號,用于把數(shù)據(jù)鎖存到8255的輸入數(shù)據(jù)寄存器,等待CPU取數(shù)據(jù)。②IBF:輸入緩沖器滿信號,輸出信號,高電平有效。當(dāng)8255的輸入緩沖器有新數(shù)據(jù)后,該位有效,為8255給外設(shè)的聯(lián)絡(luò)信號,告知外設(shè)輸入的數(shù)據(jù)已被接收到,但還沒被CPU取走,不能再送新的數(shù)據(jù)。該信號在STB變?yōu)榈秃?300NS時間內(nèi)變?yōu)楦唠娖剑ㄗ詣油瓿桑?。在CPU讀取了數(shù)據(jù)后,RD信號撤消后的300NS時間內(nèi)IBF信號才撤消,變?yōu)榈碗娖?,告知外設(shè)可輸入新的數(shù)據(jù)。③INTR:為中斷請求信號,高電平有效。中端請求的條件:STB變高后300ns內(nèi),并IBF信號也為高。(要等數(shù)據(jù)全部進(jìn)入到輸入緩沖器后才發(fā)出中斷請求)④INTE:中斷允許信號,高電平有效。為低時則屏蔽中斷請求。INTE的狀態(tài)由通過對C口PC4或PC2置1后A口和B口才允許中斷。(與INTR完全不同,是無條件的,由軟件對C口PC4或PC2置1即可實(shí)現(xiàn)中斷)2828例7.2利用8255方式1實(shí)現(xiàn)打印機(jī)的接口

1000pf2K15321441LS123單穩(wěn)電路+5VDATA0~78255APC6INTRPC3PC7PA0~PA7打印機(jī)ACKACKOBFSTROBE29298255A方式1與打印機(jī)接口時序配合PA0~PA7(DATA0~7)ACKOBFSTROBE方式1時序打印機(jī)時序30假設(shè)8255A的A、B、C口的I/O地址為FFF8H、FFFAH和FFFCH??刂贫丝诘牡刂窞镕FFEH。以下為采用選通方式輸出緩沖區(qū)BUF中的打印字符MOVDX,0FFFEH;設(shè)定A口為選通輸出方式MOVAL,0A0HOUTDX,ALMOVAL,0CH;使INTEA(PC6)為0,禁止中斷OUTDX,ALMOVCX,M;打印字節(jié)數(shù)送CXMOVBX,OFFSETBUF;取緩沖區(qū)首址送BXPRINT1:MOVAL,[BX];取一個數(shù)據(jù)MOVDX,0FFF8HOUTDX,AL;從A口輸出MOVDX,0FFFCHPRINT2:INAL,DX;讀C口TESTAL,80H;檢測

A(PC7)為1否?JZPRINT2;為0,則繼續(xù)檢測INCBX;為1,說明數(shù)據(jù)已輸出LOOPPRINT1;準(zhǔn)備取下一個數(shù)據(jù)輸出3)工作方式2(雙向輸入輸出方式)功能:方式2是A組獨(dú)有的工作方式。外設(shè)既能在A口的8條引線上發(fā)送數(shù)據(jù),又能接收數(shù)據(jù)。此方式也是借用C口的5條信號線作控制和狀態(tài)線,A口的輸入和輸出均帶有鎖存。理解內(nèi)容:

圖7.6方式2下的信號定義OBF:輸出緩沖器滿,輸出,低有效。這是8255A送給外設(shè)的控制信號,有效時表示數(shù)據(jù)已送入到A口輸出鎖存器中,用該信號通知外設(shè)將數(shù)據(jù)取走。ACK

:應(yīng)答,輸入,低有效。這是外設(shè)送來的信號,有效時表示外設(shè)已經(jīng)從A口輸出線上將數(shù)據(jù)取走。STB:選通信號,輸入,低有效。這是由外設(shè)送來的信號,有效時將由外設(shè)送來的位于A口引線的8位數(shù)據(jù)鎖存到A口的輸入鎖存器中。INTR:中斷請求,輸出,高有效。這是8255A送給CPU的中斷請求信號。無論是輸入操作還是輸出操作,當(dāng)一個操作完成,要進(jìn)行下一個操作時8255A都通過該引腳向CPU發(fā)中斷請求信號。方式2的A口輸入和輸出傳送各自作為一個中斷源,兩個中斷請求信號在8255A內(nèi)部相或,只產(chǎn)生一個中斷請求通過PC3發(fā)給CPU。IBF:輸入緩沖器滿,輸出,高有效。這是8255A送給外設(shè)的響應(yīng)信號,有效時表示數(shù)據(jù)已送入到輸入鎖存器中,CPU可以取走。INTE1:中斷允許1。它是由內(nèi)部的中斷控制觸發(fā)器發(fā)出的允許中斷或屏蔽中斷的信號。INTE=l,允許A口在輸出緩沖器變空(數(shù)據(jù)已被外設(shè)取走)時向CPU申請中斷,讓CPU輸出一個新的數(shù)據(jù);INTE=0,則屏蔽了輸出中斷請求,這樣,即使A口的輸出緩沖器已經(jīng)變空了,也不能在INTR上產(chǎn)生中斷請求信號。INTE1為0還是為1是由軟件通過對PC6復(fù)位/置位來完成的,PC6=0使INTE1為0,PC6=l使INTE1為1。(由軟件置1實(shí)現(xiàn)中斷)INTE2:中斷允許2。它也是由內(nèi)部的中斷控制觸發(fā)器發(fā)出的允許中斷或屏蔽中斷的信號。INTE2=1,允許A口在輸入數(shù)據(jù)就緒時向CPU申請中斷,讓CPU將數(shù)據(jù)取走;INTE2=0,則屏蔽了輸入中斷請求。INTE2為0還是為1是由軟件通過對PC4復(fù)位/置位來完成的,PC4=0使INTE2為0,PC4=1使INTE2為1。(由軟件置1實(shí)現(xiàn)中斷)1、當(dāng)K全閉合時,8支燈亮;當(dāng)有一個以上K斷開時,8支燈滅。例3:8255A的PA0~PA7端接有開關(guān)K0~

K7,PB0~

PB7接有8支LED發(fā)光管。端口A、B均工作在方式0下,根據(jù)開關(guān)狀態(tài)控制LED燈的顯示。設(shè)計(jì)任務(wù):2、測試開關(guān)狀態(tài),控制相應(yīng)的燈亮或滅。+5Vk7PA0PA7PB0PA7D0D7CSA0A1WRRD到CPU數(shù)據(jù)總線到CPU讀寫控制線到CPU地址總線k0ABCG1G2AG2BY0A2A3A4A7M/IOA6A5+Y7為74LS138譯碼電路+5VM/IORDCSA1A0WRRDPA0PA7PB0PB1PB73:8CBAG1G2AG2BWRA7A6A5A4A3A2A1A0Y4…..+5V…..K0K7D0~D7地址:90H,91H,92H,93H方式控制字:10010000=90HWRRDPB7WRY

溫馨提示

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

評論

0/150

提交評論