微機(jī)原理課件國際_第1頁
微機(jī)原理課件國際_第2頁
微機(jī)原理課件國際_第3頁
微機(jī)原理課件國際_第4頁
微機(jī)原理課件國際_第5頁
已閱讀5頁,還剩83頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

第6章串并行通信和接口技術(shù)

8251A的功能結(jié)構(gòu);8251A的工作原理;8251A約定的初始化流程;8251A的編程方法;8255A的結(jié)構(gòu);8255A的兩類控制字;8255A的工作方式;8255A的編程方法。6.1串行接口和串行通信并行傳輸以計(jì)算機(jī)的字長(zhǎng)為傳輸單位(通常是8位、16位或32位),一次傳送1個(gè)字長(zhǎng)的數(shù)據(jù)并行傳輸是微機(jī)系統(tǒng)中最基本的信息交換方法例如:系統(tǒng)板上各部件之間,接口電路板上各部件之間適合于外部設(shè)備與微機(jī)之間進(jìn)行近距離、大量和快速的信息交換例如:微機(jī)與并行接口打印機(jī)、磁盤驅(qū)動(dòng)器并行數(shù)據(jù)傳輸方式串行通信:用一根信號(hào)線將數(shù)據(jù)逐位順序傳送串行通信的優(yōu)勢(shì):通信線路少,在遠(yuǎn)距離通信時(shí)可以極大地降低成本;適合于遠(yuǎn)距離數(shù)據(jù)傳送,也常用于速度要求不高的近距離數(shù)據(jù)傳送PC系列機(jī)上有兩個(gè)串行異步通信接口,鍵盤/鼠標(biāo)器/顯示器與主機(jī)間亦采用串行數(shù)據(jù)傳送。串行數(shù)據(jù)傳輸6.1.1串行通信涉及的幾個(gè)問題全雙工方式、半雙工方式和單工方式全雙工站A站B站A站B站A站B半雙工單工6.1.1串行通信涉及的幾個(gè)問題同步方式和異步方式串行異步通信——不傳送時(shí)鐘信號(hào)串行同步通信——傳送時(shí)鐘信號(hào)自同步:發(fā)送時(shí)將傳送數(shù)據(jù)與時(shí)鐘進(jìn)行編碼,接收時(shí)解碼單同步雙同步外同步:另用一根時(shí)鐘線專門用來傳送時(shí)鐘信號(hào)1.同步通信——通信雙方使用同一時(shí)鐘以數(shù)據(jù)塊(幀)為傳輸單位雙方使用同一時(shí)鐘(主控方提供時(shí)鐘,被控方接收時(shí)鐘)外同步:時(shí)鐘信號(hào)另外安排一根傳輸線自同步:發(fā)送時(shí)將時(shí)鐘信號(hào)與數(shù)據(jù)混合編碼,接收時(shí)譯碼出時(shí)鐘數(shù)據(jù)格式:每個(gè)數(shù)據(jù)塊前加1~2個(gè)同步字符(同步頭)進(jìn)行幀同步,一般采用CRC循環(huán)冗余校驗(yàn)碼同步通信的數(shù)據(jù)傳輸效率和傳輸速率較高,但硬件電路比較復(fù)雜串行同步通信主要應(yīng)用在網(wǎng)絡(luò)當(dāng)中,最常使用的同步通信協(xié)議有高級(jí)數(shù)據(jù)鏈路控制協(xié)議(HDLC)~~~~同步字符數(shù)據(jù)數(shù)據(jù)數(shù)據(jù)校驗(yàn)同步字符同步通信的數(shù)據(jù)格式同步字符數(shù)據(jù)場(chǎng)同步字符1同步字符2CRC1數(shù)據(jù)場(chǎng)CRC2CRC1CRC2單同步格式雙同步格式標(biāo)志符01111110地址符8位數(shù)據(jù)場(chǎng)CRC1CRC2

SDLC格式標(biāo)志符01111110數(shù)據(jù)場(chǎng)CRC1CRC2外同步格式標(biāo)志符01111110地址符8位控制符8位數(shù)據(jù)信息CRC1CRC2標(biāo)志符01111110

HDLC格式2.異步通信——通信雙方使用各自的時(shí)鐘串行通信時(shí)的數(shù)據(jù)、控制和狀態(tài)信息都使用同一根信號(hào)線傳送收發(fā)雙方必須遵守共同的通信協(xié)議(通信規(guī)程):傳送速率信息格式位同步幀同步數(shù)據(jù)校驗(yàn)錯(cuò)誤處理串行異步通信以字符為單位進(jìn)行傳輸數(shù)據(jù)格式:起止式異步通信協(xié)議起止式異步通信協(xié)議起始位——每個(gè)字符開始傳送的標(biāo)志,起始位采用邏輯0電平起始位附加位停止位空閑位數(shù)據(jù)位低位高位字符0/10/10/10/110111…數(shù)據(jù)位——數(shù)據(jù)位緊跟著起始位傳送。由5~8個(gè)二進(jìn)制位組成,低位先傳送附加位——該位可用于校驗(yàn)或數(shù)據(jù)標(biāo)識(shí):可選擇奇檢驗(yàn)、偶校驗(yàn)或無校驗(yàn)位停止位——表示該字符傳送結(jié)束。停止位為邏輯1電平,可選擇1、1.5、2位??臻e位——傳送字符之間的邏輯1電平,表示沒有進(jìn)行傳送6.1.1串行通信涉及的幾個(gè)問題串行通信的傳輸率數(shù)據(jù)傳輸速率也稱比特率(BitRate)每秒傳輸?shù)亩M(jìn)制位數(shù)bps字符中每個(gè)二進(jìn)制位持續(xù)的時(shí)間長(zhǎng)度都一樣,為數(shù)據(jù)傳輸速率的倒數(shù)當(dāng)進(jìn)行二進(jìn)制數(shù)碼傳輸,且每位時(shí)間長(zhǎng)度相等時(shí),比特率還等于波特率(BaudRate)過去,串行通信(異步)的數(shù)據(jù)傳輸速率限制在50bps到9600bps之間?,F(xiàn)在,串行通信可以達(dá)到115200bps或更高6.1.2串行接口串行接口部件4個(gè)主要寄存器控制寄存器狀態(tài)寄存器數(shù)據(jù)輸入寄存器數(shù)據(jù)輸出寄存器6.1.2串行接口可編程串行接口的典型結(jié)構(gòu)6.2可編程串行通信接口8251A(1)可用于同步和異步傳送。(2)同步傳送:5~8位/字符,內(nèi)部或外部同步,可自動(dòng)插入同步字符。(3)異步傳送:5~8位/字符,時(shí)鐘速率為通信波特率的1、16或64倍。(4)可產(chǎn)生中止字符(BreakCharacter);可產(chǎn)生1、1.5或2位的停止位??蓹z查假啟動(dòng)位,自動(dòng)檢測(cè)和處理中止字符。(5)波特率:

DC—19.2K(異步);DC—64K(同步)。(6)完全雙工,雙緩沖器發(fā)送器和接收器。(7)出錯(cuò)檢測(cè):具有奇偶、溢出和幀錯(cuò)誤等檢測(cè)電路。6.2.18251A的基本性能6.2.28251A的基本工作原理8251A的功能結(jié)構(gòu)發(fā)送緩沖器數(shù)據(jù)總線緩沖器調(diào)制解調(diào)控制電路DB讀/寫邏輯RESETCLKRDWRC/DCSDSRDTRCTSRTS發(fā)送控制電路接收緩沖器接收控制電路RxDTxDTxRDYTxETxCRxRDYRxCSYNDET16D1D0Vcc-RxC-DTR-RTS-DSRRESETCLKTxDTxEMPTY-CTSSYNDETTxRDY12345678910111213142827262524232221201918171615D2D3RxDGNDD4D5D6D7-TxC-WR-CSC/-D-RDRxRDY8251A芯片引腳圖1.接收器接收器——接收來自RxD引腳上的串行數(shù)據(jù),并按設(shè)定的格式將其轉(zhuǎn)換為并行數(shù)據(jù),存放在I/O緩沖器的接收數(shù)據(jù)緩沖器中。異步、同步不同異步接收時(shí)對(duì)起始位的檢測(cè)起始檢測(cè)確定已檢測(cè)到起始位采樣數(shù)據(jù)起始位時(shí)鐘(RCLK)數(shù)據(jù)線(SIN)T16T16T8T假設(shè)數(shù)據(jù)接收時(shí)鐘頻率是數(shù)據(jù)傳輸頻率的16倍,正確識(shí)別起始位,防止因干擾引起的誤識(shí)別串行數(shù)據(jù)的異步接收并行數(shù)據(jù)檢測(cè)接收錯(cuò)誤,刪除起始位、校驗(yàn)位、停止位串行數(shù)據(jù)CPU接收緩沖寄存器接收移位寄存器8251RxD0/10/10/10/1雙緩沖寄存器結(jié)構(gòu),保證數(shù)據(jù)的連續(xù)接收RxRDY同步接收

在同步方式,USART監(jiān)視RxD線,每出現(xiàn)一個(gè)數(shù)據(jù)位就把它移一位,然后把接收寄存器與含有同步字符(由程序給定)的寄存器相比較,看是否相等,若不相等則USART重復(fù)上述過程。當(dāng)找到同步字符后(若規(guī)定為兩個(gè)同步字符,則必須出現(xiàn)在RxD線上的兩個(gè)相鄰字符與規(guī)定的同步字符相同),則置SYNDET信號(hào),表示已找到同步字符。在找到同步字符后,利用時(shí)鐘采樣和移位RxD線上的數(shù)據(jù)位,并且按規(guī)定的位數(shù),把它送至接收數(shù)據(jù)緩沖器,同時(shí)發(fā)出RxRDY信號(hào)。2.發(fā)送器發(fā)送器——鎖存CPU輸出的數(shù)據(jù),把數(shù)據(jù)由并行變串行,從TxD引腳串行發(fā)送出去。異步、同步不同

不論是在同步或異步工作方式,只有當(dāng)程序設(shè)置了TxEN(TransmitterEnable—允許發(fā)送)和-CTS(CleartoSend—這是對(duì)調(diào)制器發(fā)出的請(qǐng)求發(fā)送的響應(yīng)信號(hào))有效時(shí),才能發(fā)送。 另外,發(fā)送器的另一個(gè)功能是能發(fā)送中止符(BREAK)。中止符是由在通信線上的連續(xù)的Space符組成,它是用來在完全雙工通信時(shí)中止發(fā)送終端的。只要8251的命令寄存器的位3(SBRK)為“1”,則USART就始終發(fā)送中止符。CPU發(fā)送保持寄存器發(fā)送移位寄存器8251TxD0/10/10/10/1串行數(shù)據(jù)的異步發(fā)送并行數(shù)據(jù)加入起始位、校驗(yàn)位、停止位串行數(shù)據(jù)雙緩沖寄存器結(jié)構(gòu),保證數(shù)據(jù)的連續(xù)發(fā)送同步發(fā)送

在同步方式,發(fā)送器在數(shù)據(jù)發(fā)送前插入一個(gè)或兩個(gè)同步字符(這些都在初始化時(shí)由程序給定),而在數(shù)據(jù)中,除了奇偶校驗(yàn)位外,不再插入別的位。只有在USART工作于同步發(fā)送方式,而CPU來不及把新的字符送給它,則USART自動(dòng)地在TxD線上插入同步字符,因?yàn)樵谕椒绞綍r(shí)字符之間是不允許存在間隙的。3.讀/寫控制奇地址偶地址C/D(A0)RDWR 功能

001CPU從8251A輸入數(shù)據(jù)

010CPU向8251A輸出數(shù)據(jù)

101CPU讀8251A的狀態(tài)

110CPU向8251A寫控制命令 在IBM-PC機(jī)中,串行通信口的地址(保留)口1:3F8H~3FFH口2:2F8H~2FFHCS0000CS為高電平時(shí),8251不工作,浮空6.2.38251A的對(duì)外信號(hào)8251A和CPU之間的連接信號(hào)片選信號(hào)數(shù)據(jù)信號(hào)讀/寫控制信號(hào)收發(fā)聯(lián)絡(luò)信號(hào)圖6.68251A與CPU及外設(shè)的連接關(guān)系6.2.38251A的對(duì)外信號(hào)C/D、RD、WR的編碼和對(duì)應(yīng)的操作6.2.38251A的對(duì)外信號(hào)8251A與外設(shè)之間的連接信號(hào)

數(shù)據(jù)信號(hào)調(diào)制解調(diào)器的聯(lián)絡(luò)信號(hào)6.2.48251的編程8251A使用前必須進(jìn)行初始化,以確定工作方式、傳送速率、字符格式以及停止位長(zhǎng)度等;改變8251A的工作方式時(shí)必須再次進(jìn)行初始化編程;8251A有兩個(gè)控制字和一個(gè)狀態(tài)字:方式選擇控制字:用于規(guī)定8251A的工作方式;操作命令控制字:使8251A處于規(guī)定的工作狀態(tài),以準(zhǔn)備接收或發(fā)送數(shù)據(jù)狀態(tài)字:寄存8251A的工作狀態(tài)8251的初始化規(guī)定工作方式發(fā)出操作命令設(shè)定同步(內(nèi)/外同步、單/兩個(gè)同步字符)或異步(停止位、波特率系數(shù))、奇偶校驗(yàn)、字符格式等。1.方式選擇字D7D6D5D4D3D2D1D0字符長(zhǎng)度00:5位01:6位10:7位11:8位波特率系數(shù)00:同步方式01:異步×110:異步×

1611:異步×

64奇偶校驗(yàn)×

0:無校驗(yàn)01:奇校驗(yàn)11:偶校驗(yàn)SYN?同步控制×

0:內(nèi)同步×

1:外同步0×

:兩同步字符1×

:?jiǎn)瓮阶址鸜幀控制00:不確定01:1停止位10:1.5停止位11:2停止位NC/D=1異步傳送模式指令字模式D7D6D5D4D3D2D1D0S2S1EPPENS2B1B2L1L2PENEPS1停止位數(shù)目無效2位1.5位1位0110100奇校驗(yàn)偶校驗(yàn)01允許校驗(yàn)禁止校驗(yàn)01005001111876字符長(zhǎng)度00001111同步方式1x16x64x波特率因子1同步傳送模式指令字格式SCSESDEPPENL2L10000000001111101同步字符數(shù)目2個(gè)同步字符1個(gè)同步字符內(nèi)同步(SYNDET輸出)外同步(SYNDET輸入)禁止校驗(yàn)1允許校驗(yàn)1奇校驗(yàn)偶校驗(yàn)5768D7D6D5D4D3D2D1D02.命令字EHIRRTSERSBRKRXEDTRTXEN發(fā)送允許0:屏蔽1:允許接收允許0:屏蔽1:允許數(shù)據(jù)終端準(zhǔn)備好1:迫使DTR輸出低送中止字符1:迫使TXD輸出低0:正常工作錯(cuò)誤標(biāo)志復(fù)位1:全部錯(cuò)誤標(biāo)志復(fù)位請(qǐng)求發(fā)送1:迫使RTS輸出低內(nèi)部復(fù)位1:返回方式指令格式外部搜索方式1:啟動(dòng)搜索同步字符C/D=13.狀態(tài)寄存器DSRSYNDETFEOEPETXERXRDYTXRDY與引腳TXRDY有差別奇偶錯(cuò)誤溢出錯(cuò)誤幀錯(cuò)誤(僅異步)與8251的同名引腳同定義C/D=16.3并行通信和并行接口圖6.13并行接口連接外設(shè)的示意圖74LS373具有三態(tài)輸出的透明鎖存器TTL工作電平LE電平鎖存高電平有效-OE輸出允許Intel8282具有三態(tài)輸出的透明鎖存器TTL工作電平STB電平鎖存高電平有效-OE輸出允許74LS244雙4位單向緩沖器分成4位的兩組每組的控制端連接在一起控制端低電平有效輸出與輸入同相雙向三態(tài)緩沖器雙向三態(tài)門具有雙向?qū)ê腿龖B(tài)的特性ABT-OE-OE=0,導(dǎo)通

T=1A→BT=0A←B-OE=1,不導(dǎo)通Intel82868位雙向緩沖器控制端連接在一起,低電平有效可以雙向?qū)ㄝ敵雠c輸入同相-OE=0,導(dǎo)通

T=1A→BT=0A←B-OE=1,不導(dǎo)通74LS2458位雙向緩沖器控制端連接在一起,低電平有效可以雙向?qū)ㄝ敵雠c輸入同相-E=0,導(dǎo)通

DIR=1A→BDIR=0A←B-E=1,不導(dǎo)通6.4可編程并行通信接口8255A8255A是具有多種功能的可編程并行接口電路芯片其內(nèi)部最基本的接口部件是:三態(tài)緩沖器鎖存器此外,還包括與CPU的聯(lián)絡(luò)電路及與外設(shè)的聯(lián)絡(luò)電路:狀態(tài)寄存器控制寄存器端口譯碼電路控制電路(如讀寫控制、中斷控制)8255有3個(gè)8位的數(shù)據(jù)端口(A/B/C),共24個(gè)I/O引腳,各端口共有3種輸入輸出工作方式基本輸入/輸出(A/B/C口)選通輸入或選通輸出(A/B口)雙向選通(A口)6.4.18255A的內(nèi)部結(jié)構(gòu)數(shù)據(jù)總線緩沖器內(nèi)部控制線內(nèi)部數(shù)據(jù)線D0~D7A組控制A組端口C上部B組控制B組端口BB組端口C下部讀寫控制邏輯PC0~PC3CL口PB0~PB7B口PC4~PC7CH口PA0~PA7A口-RD-WRA0A1-CSRESETA組端口ARESET:高電平有效,清除控制寄存器并置所有端口為輸入方式。1.連接外設(shè)的數(shù)據(jù)端口端口A:PA0-PA7,8位端口,支持工作方式0、1、2端口B:PB0-PB7,8位端口,支持工作方式0、1端口C:PC0-PC7,拆分為兩個(gè)4位端口,僅支持工作方式0端口A:PA0-PA7(A組控制)常作數(shù)據(jù)端口使用,功能最強(qiáng)大端口B:PB0-PB7(B組控制)常作數(shù)據(jù)端口使用端口C:PC4-PC7(A組控制),PC0-PC3(B組控制)可作數(shù)據(jù)、狀態(tài)或控制端口使用可拆分成兩個(gè)4位端口分別輸入或輸出每位可獨(dú)立進(jìn)行輸出控制(位控制)使用最靈活,較難掌握2.內(nèi)部控制邏輯A組和B組控制電路 兩組根據(jù)CPU的命令字控制8255A工作方式的電路。它們有控制寄存器,接受CPU輸出的命令字,然后分別決定兩組的工作方式,也可根據(jù)CPU的命令字對(duì)端口C的每一位實(shí)現(xiàn)按位“復(fù)位”或“置位”。A組控制電路控制端口A和端口C的上半部(PC7~PC4)。B組控制電路控制端口B和端口C的下半部(PC3~PC0)。3.與處理器的接口數(shù)據(jù)總線緩沖器:三態(tài)雙向8位緩沖器,負(fù)責(zé)CPU與8255的數(shù)據(jù)傳輸。讀/寫控制邏輯:CS、RD、WR、A0、A1CSA1A0RDWR功

能0

000

1對(duì)端口A讀0

0101對(duì)端口B讀01001對(duì)端口C讀01非法,不能對(duì)控制口讀輸入0對(duì)端口A寫0對(duì)端口B寫0對(duì)端口C寫0對(duì)控制口寫輸出1

×

×

×

×

×

×

×

1

1數(shù)據(jù)緩沖器為三態(tài)斷開01111110000010100116.4.2引腳圖8255A與系統(tǒng)的連接示意圖D0~D7WRRDA1A0CSDBIOWIORA1A0譯碼器8255A口B口C口D0~D7外設(shè)1A15~A2系統(tǒng)總線外設(shè)2外設(shè)36.4.38255A的控制字8255A的控制字分為兩類:1、各端口工作方式選擇的控制字2、對(duì)C口的某一位進(jìn)行置1或置0的控制字。1、方式選擇控制字方式0:基本輸入輸出方式(不帶聯(lián)絡(luò))適用于無條件傳送和查詢方式的接口電路方式1:選通輸入輸出方式(帶輸入聯(lián)絡(luò)或輸出聯(lián)絡(luò))適用于查詢和中斷方式的接口電路方式2:雙向選通方式(同時(shí)帶輸入聯(lián)絡(luò)和輸出聯(lián)絡(luò))適用于可雙向傳送數(shù)據(jù)的外設(shè)適用于查詢和中斷方式的接口電路1方式選擇控制字D7D6D5D4D3D2D1D0101001011A口工作方式

00方式001方式11x方式2A口輸出/輸入0輸出1輸入CH口輸出/輸入0輸出1輸入B口工作方式0方式01方式1B口輸出/輸入0輸出1輸入CL口輸出/輸入0輸出1輸入A組控制B組控制表示:A口方式1輸出,CH口輸出,B口方式1輸入,CL口輸入。A5方式選擇舉例8086片選譯碼1#11111000-11111011 F8H-FBH2#11110100–11110111 F4H-F7H控制字

若要求8255A#1的各個(gè)端口處在如下的工作方式:

端口A方式0輸入 端口B方式1輸出 端口C(上半部)PC7~PC4輸出 端口C(下半部)PC3~PC0輸入MOV AL,10010101BOUT 0FBH,AL要求:設(shè)置A口工作在方式2,B口位方式1輸入,8255的控制字方式字ICW=11000110B=C6H2、端口C置1/置0控制字位控字用于控制C口的輸出引腳(CH/CL口工作于基本方式)或內(nèi)部的中斷允許位(A/B口工作于選通方式),位控字應(yīng)寫入8255的控制口,例如:

moval,0dh

out控制口,al當(dāng)CH工作在非選通輸出方式時(shí),令PC6引腳輸出1;當(dāng)A口工作在選通輸出或雙向選通輸出方式時(shí),將相應(yīng)的中斷允許位INTEA或INTE1置1(開中斷)。D7D6D5D4D3D2D1D00標(biāo)志xxx位編碼位數(shù)據(jù)0xxx11010dh6.4.48255A的工作方式-方式0的功能(1)兩個(gè)8位端口(A,B)和兩個(gè)4位端口(端口C);(2)任一個(gè)端口可以作為輸入或輸出;(3)輸出是鎖存的;(4)輸入是不鎖存的;(5)在方式0時(shí),各個(gè)端口的輸入、輸出可以有16種不同的組合。8255A在方式0工作時(shí),CPU可以采用無條件讀寫方式與8255A交換數(shù)據(jù);如果把C口的兩個(gè)部分用作控制和狀態(tài)口,與外設(shè)的控制和狀態(tài)端相連,CPU也可以通過對(duì)C口的讀寫,實(shí)現(xiàn)A口與B口的查詢方式工作;方式0中,不允許采用中斷方式工作。輸入緩沖器譯碼器數(shù)據(jù)DBAB外設(shè)8nRDIO/M輸出鎖存器譯碼器數(shù)據(jù)DBAB外設(shè)8nWRIO/M方式0的輸入時(shí)序(數(shù)據(jù)來自外設(shè))外設(shè)提供數(shù)據(jù)輸入端口D0~D7-RD-CS、A1A0請(qǐng)?bào)w會(huì)這里8255A的數(shù)據(jù)緩沖作用數(shù)據(jù)8255外設(shè)CPU內(nèi)總線外總線方式0的輸出時(shí)序(數(shù)據(jù)來自CPU)-WRCPU數(shù)據(jù)數(shù)據(jù)輸出端口D0~D7-CS、A1A08255A對(duì)CPU輸出的數(shù)據(jù)進(jìn)行鎖存8255外設(shè)CPU內(nèi)總線外總線需要插入Tw周期6.4.48255A的工作方式-方式1的功能(1)用作一個(gè)或兩個(gè)選通端口;(2)每一個(gè)端口包含:8位的數(shù)據(jù)端口,三條控制線(是固定指定的,不能用程序改變),提供中斷邏輯;(3)任何一個(gè)端口都可作為輸入或輸出;(4)若只有一個(gè)端口工作于方式1,余下的13位,可以工作在方式0(由控制字決定);(5)若兩個(gè)端口都工作于方式1,端口C還留下兩位,這兩位可以由程序指定作為輸入或輸出,也具有置位/復(fù)位功能。8255方式1的特點(diǎn)(1)方式1是一種選通輸入/輸出方式,因此,需設(shè)置專用的聯(lián)絡(luò)信號(hào)線或應(yīng)答信號(hào)線,以便對(duì)I/O設(shè)備和CPU兩側(cè)進(jìn)行聯(lián)絡(luò)。這種方式通常用于查詢(條件)傳送或中斷傳送。數(shù)據(jù)的輸入輸出都有鎖存能力。(2)PA和PB為數(shù)據(jù)口,而PC口的大部分引腳分配作專用(固定)的聯(lián)絡(luò)信號(hào)用,對(duì)已經(jīng)分配做聯(lián)絡(luò)信號(hào)的C口引腳,用戶不能再指定做其它用途。(3)各聯(lián)絡(luò)信號(hào)之間有固定的時(shí)序關(guān)系,傳送數(shù)據(jù)時(shí),要嚴(yán)格按照時(shí)序進(jìn)行。(4)輸入/輸出操作過程中,產(chǎn)生固定的狀態(tài)字,這些狀態(tài)信息可作為查詢或中斷請(qǐng)求之用。狀態(tài)字從PC口讀取。(5)單向傳送。一次初始化只能設(shè)置在一個(gè)方向上傳送,不能同時(shí)作兩個(gè)方向的傳送。方式1輸入引腳:端口APC4PC5PC3PA7~PA0INTEAIBFAINTRA-STBA中斷允許觸發(fā)器輸入緩沖器滿信號(hào)表示A口已經(jīng)接收數(shù)據(jù)數(shù)據(jù)選通信號(hào)表示外設(shè)已經(jīng)準(zhǔn)備好數(shù)據(jù)中斷請(qǐng)求信號(hào)請(qǐng)求CPU接收數(shù)據(jù)外設(shè)數(shù)據(jù)征用C口3引腳和1個(gè)控制位方式1輸入引腳:端口BPC2PC1PC0PB7~PB0INTEBIBFBINTRB-STBB中斷允許觸發(fā)器輸入緩沖器滿信號(hào)表示B口已經(jīng)接收數(shù)據(jù)數(shù)據(jù)選通信號(hào)表示外設(shè)已經(jīng)準(zhǔn)備好數(shù)據(jù)中斷請(qǐng)求信號(hào)請(qǐng)求CPU接收數(shù)據(jù)外設(shè)數(shù)據(jù)征用C口3引腳和1個(gè)控制位方式1輸入聯(lián)絡(luò)信號(hào)-STB——選通信號(hào),低電平有效由外設(shè)提供的輸入信號(hào),當(dāng)其有效時(shí),將輸入設(shè)備送來的數(shù)據(jù)鎖存至8255A的輸入鎖存器IBF——輸入緩沖器滿信號(hào),高電平有效8255A輸出的聯(lián)絡(luò)信號(hào)。當(dāng)其有效時(shí),表示數(shù)據(jù)已鎖存在輸入鎖存器INTR——中斷請(qǐng)求信號(hào),高電平有效8255A輸出的信號(hào),可用于向CPU提出中斷請(qǐng)求,要求CPU讀取外設(shè)數(shù)據(jù)方式1輸入時(shí)序外設(shè)數(shù)據(jù)INTRIBF

數(shù)據(jù)輸入端口D0~D7-STB-RD-STB和IBF是外設(shè)和8255A間的一對(duì)應(yīng)答聯(lián)絡(luò)信號(hào),為的是可靠地輸入數(shù)據(jù)方式1中斷控制8255A的中斷由中斷允許觸發(fā)器INTE控制置位允許中斷,復(fù)位禁止中斷對(duì)INTE的操作通過寫入端口C的對(duì)應(yīng)位實(shí)現(xiàn),INTE觸發(fā)器對(duì)應(yīng)端口C的位是作應(yīng)答聯(lián)絡(luò)信號(hào)的輸入信號(hào)的哪一位,只要對(duì)那一位置位/復(fù)位就可以控制INTE觸發(fā)器選通輸入方式下端口A的INTEA對(duì)應(yīng)PC4端口B的INTEB對(duì)應(yīng)PC2方式1輸出引腳:端口APC6PC7PC3PA7~PA0INTEA-OBFAINTRA-ACKA輸出緩沖器滿信號(hào)表示CPU已經(jīng)輸出了數(shù)據(jù)外設(shè)響應(yīng)信號(hào)表示外設(shè)已經(jīng)接收到數(shù)據(jù)中斷請(qǐng)求信號(hào)請(qǐng)求CPU再次輸出數(shù)據(jù)征用C口3引腳和1個(gè)控制位中斷允許觸發(fā)器通過位控PC6

設(shè)置INTEA輸出數(shù)據(jù)方式1輸出引腳:端口BPC2PC1PC0PB7~PB0INTEB-OBFBINTRB-ACKB輸出緩沖器滿信號(hào)表示CPU已經(jīng)輸出了數(shù)據(jù)外設(shè)響應(yīng)信號(hào)表示外設(shè)已經(jīng)接收到數(shù)據(jù)中斷請(qǐng)求信號(hào)請(qǐng)求CPU再次輸出數(shù)據(jù)征用C口3引腳和1個(gè)控制位中斷允許觸發(fā)器通過位控PC2設(shè)置INTEB輸出數(shù)據(jù)方式1輸出聯(lián)絡(luò)信號(hào)-OBF——輸出緩沖器滿信號(hào),低電平有效8255A輸出給外設(shè)的一個(gè)控制信號(hào),當(dāng)其有效時(shí),表示CPU已將輸出數(shù)據(jù)鎖存在8255A指定的端口,外設(shè)可以來取-ACK——響應(yīng)信號(hào),低電平有效外設(shè)提供的響應(yīng)信號(hào),通知8255A其端口數(shù)據(jù)已被外設(shè)接收INTR——中斷請(qǐng)求信號(hào),高有效當(dāng)輸出設(shè)備已接受數(shù)據(jù)后,8255A輸出此信號(hào)向CPU提出中斷請(qǐng)求,要求CPU繼續(xù)提供數(shù)據(jù)端口A的INTEA對(duì)應(yīng)PC6端口B的INTEB對(duì)應(yīng)PC2方式1輸出時(shí)序8255外設(shè)CPU內(nèi)總線外總線

INTR

CPU數(shù)據(jù)數(shù)據(jù)輸出端口D0~D7-WR-OBF-ACK

-OBF和-ACK是外設(shè)和8255A間的一對(duì)應(yīng)答聯(lián)絡(luò)信號(hào),為的是可靠地輸出數(shù)據(jù)6.4.48255A的工作方式-方式2雙向選通方式方式2將方式1的選通輸入與選通輸出功能組合成一個(gè)雙向數(shù)據(jù)端口,可以發(fā)送數(shù)據(jù)和接收數(shù)據(jù)只有端口A可以工作于方式2,需要利用端口C的5個(gè)信號(hào)線,其作用與方式1相同方式2的數(shù)據(jù)輸入過程與方式1的輸入方式一樣方式2的數(shù)據(jù)輸出過程與方式1的輸出方式有一點(diǎn)不同:數(shù)據(jù)輸出時(shí)8255A不是在-OBF有效時(shí)向外設(shè)輸出數(shù)據(jù),而是在外設(shè)提供響應(yīng)信號(hào)-ACK有效時(shí)才送出數(shù)據(jù)方式2雙向選通引腳PC6PC7PC3PA7~PA0INTE1-OBFAINTRA-ACKAPC4PC5IBFA-STBAINTE2數(shù)據(jù)輸入中斷和輸出中斷通過或門輸出INTRA信號(hào)征用C口5引腳和2個(gè)控制位中斷允許觸發(fā)器(控制中斷輸出)通過位控PC6設(shè)置INTE1中斷允許觸發(fā)器(控制中斷輸出)通過位控PC4設(shè)置INTE2輸入聯(lián)絡(luò)輸出聯(lián)絡(luò)方式2雙向選通時(shí)序該例中:CPU先輸出數(shù)據(jù),再讀取外設(shè)輸入的數(shù)據(jù)

INTR

輸出數(shù)據(jù)輸入數(shù)據(jù)輸入數(shù)據(jù)PA0~PA7D0~D7IBF

-WR-OBF-ACK-STB-RD輸出數(shù)據(jù)D7D6D5D4D3D2D1D0方式1輸入(A口、B口)I/OI/OIBFAINTEAINTRAINTEBIBFBINTRB方式1輸出(A口、B口)OBFAINTEAI/OI/OINTRAINTEBOBFBINTRB方式2雙向(A口)OBFAINTE1IBFAINTE2INTRA×××A口B口在不同工作方式下從端口C讀到狀態(tài)字A組控制B組控制方式1輸入(B口)×××INTRAINTE2IBFAINTE1OBFAINTRBOBFBINTEB方式2雙向(A口)方式1輸出(B口)INTRBIBFBINTEBI/OD0D1D2D3D4D5D6D7A口工作在方式2,B口在不同工作方式下從端口C讀到狀態(tài)字A組控制B組控制I/OI/O方式0(B口)方式2的中斷若要允許方式2中斷,則可用端口C的置位/復(fù)位命令: 允許輸出中斷,置PC6,則控制字為00001101B。 允許輸入中斷,置PC4,控制字為00001001B。1.向控制口寫方式字要求:A口:方式1輸入CH口:輸出CL口:輸入B口:方式0輸出方式控制字:1

0110

001B或B1H初始化的程序段:

movdx,0fffeh ;假設(shè)控制端口為FFFEH moval,0b1h ;方式控制字

outdx,al ;送到控制端口編程實(shí)例2.讀寫數(shù)據(jù)端口(A口/B口/C口)初始化編程后:當(dāng)數(shù)據(jù)端口作為輸入接口時(shí),CPU執(zhí)行輸入IN指令,CPU將從輸入設(shè)備得到外設(shè)數(shù)據(jù)當(dāng)數(shù)據(jù)端口作為輸出接口時(shí),CPU執(zhí)行輸出OUT指令,將把CPU的數(shù)據(jù)送給輸出設(shè)備8255A具有鎖存輸出數(shù)據(jù)的能力對(duì)設(shè)置為輸出的端口同樣可以輸入(讀)此時(shí)不是讀取外設(shè)數(shù)據(jù),而是讀取的是前次CPU輸出給外設(shè)的數(shù)據(jù)(鎖存在鎖存器中)2.讀寫數(shù)據(jù)端口利用8255A的輸出鎖存能力,可實(shí)現(xiàn)對(duì)某一位的輸出控制

對(duì)輸出端口B的PB7位置位的程序段:

movdx,0fffah ;B端口假設(shè)為FFFAH

inal,dx ;讀出B端口原輸出內(nèi)容

oral,80h ;使PB7=1

outdx,al ;輸出新的內(nèi)容3.涉及C口的操作——?dú)w納1在控制上,C口上半部(CH)和A口被編為A組,C口下半部(CL)和B口被編為B組。即它被拆分成兩個(gè)4位端口分別進(jìn)行控制:兩個(gè)4位端口均只能工作于方式0

(指未被征用的引腳)但可分別選擇輸入或者輸出C口具有唯一的地址,可按8位方式進(jìn)行讀/寫,此時(shí):設(shè)置為輸出的引腳可讀可寫(輸出鎖存器)

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(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)論