《微型計(jì)算機(jī)原理》課件chapter8 常用接口芯片_第1頁
《微型計(jì)算機(jī)原理》課件chapter8 常用接口芯片_第2頁
《微型計(jì)算機(jī)原理》課件chapter8 常用接口芯片_第3頁
《微型計(jì)算機(jī)原理》課件chapter8 常用接口芯片_第4頁
《微型計(jì)算機(jī)原理》課件chapter8 常用接口芯片_第5頁
已閱讀5頁,還剩104頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

本章主要內(nèi)容可編程并行接口82551可編程串行通信接口82512可編程定時(shí)計(jì)數(shù)器82533定時(shí)信號,可以用軟件和硬件兩種方法獲得,使用軟件方法可以省去外圍硬件電路,但要用指令執(zhí)行時(shí)間來拼湊延時(shí)時(shí)間,降低了CPU的效率且精度不高。另外對外界的某些信號進(jìn)行計(jì)數(shù),也是計(jì)算機(jī)系統(tǒng)的重要應(yīng)用之一,計(jì)算機(jī)既要能控制計(jì)數(shù)的過程,又能讀取計(jì)數(shù)的結(jié)果作為控制或管理的依據(jù),因此計(jì)數(shù)電路也成為計(jì)算機(jī)輸入/輸出接口中的一種類型。若被計(jì)數(shù)的信號有準(zhǔn)確的固定周期,這種計(jì)數(shù)電路也就成為一種定時(shí)方式。一、概述§7.1可編程定時(shí)計(jì)數(shù)器8253二、定時(shí)計(jì)數(shù)器的工作原理可編程定時(shí)計(jì)數(shù)器的功能體現(xiàn)在兩個方面:定時(shí)和計(jì)數(shù)。做計(jì)數(shù)器時(shí),在設(shè)置好計(jì)數(shù)初值后,便開始減1計(jì)數(shù),減為“0”時(shí),輸出一個計(jì)數(shù)結(jié)束信號。做定時(shí)器時(shí),先根據(jù)定時(shí)長度設(shè)置計(jì)數(shù)初值,之后開始減1計(jì)數(shù),減為“0”時(shí),自動產(chǎn)生定時(shí)輸出信號。計(jì)數(shù)初始值=時(shí)鐘頻率*定時(shí)長度從定時(shí)計(jì)數(shù)器內(nèi)部來講,兩種情況下的工作過程沒有根本差別,都是基于計(jì)數(shù)器的減1計(jì)數(shù)模式。定時(shí)長度=時(shí)鐘周期*計(jì)數(shù)初始值三、定時(shí)計(jì)數(shù)器的原理框圖控制寄存器初始值寄存器計(jì)數(shù)輸出寄存器計(jì)數(shù)器

CLKGATEOUTA0CSRDWR譯碼。數(shù)據(jù)地址825312D7D63D54D45D36D27D18D02223RDWRCSA0A1192021241291110CLK0GATE0OUT0151413CLK1GATE1OUT1181617CLK2GATE2OUT2地VCCCLK0~2:每個計(jì)數(shù)器的時(shí)鐘輸入端,計(jì)數(shù)器對此信號進(jìn)行計(jì)數(shù)。GATE0~2:門控信號,用來控制計(jì)數(shù)器的工作。有電平觸發(fā)和邊沿觸發(fā)兩種方式。OUT0~2:計(jì)數(shù)器的輸出信號,用來產(chǎn)生不同方式工作時(shí)的輸出波形。1、外部引腳和內(nèi)部結(jié)構(gòu)四、可編程定時(shí)計(jì)數(shù)器8253數(shù)據(jù)

總線

緩沖器RDWRCSA0A1讀/寫控制控制

寄存器計(jì)數(shù)器

0CLK0GATE0OUT0計(jì)數(shù)器

1CLK1GATE1OUT1計(jì)數(shù)器

2CLK2GATE2OUT2片內(nèi)總線D0~D78253內(nèi)部結(jié)構(gòu)2、8253的工作方式

8253內(nèi)部三個計(jì)數(shù)器都可以由控制寄存器決定有6種不同的工作方式,不同的工作方式之間,主要有以下幾點(diǎn)不同:1、計(jì)數(shù)過程的啟動方式;2、OUT端的輸出波形;3、更新計(jì)數(shù)初值的影響;4、自動重復(fù)功能;5、GATE的控制作用。方式0——計(jì)數(shù)結(jié)束產(chǎn)生中斷此方式下,寫入控制字后,輸出端OUT以低電平作為初始電平,并一直保持,在計(jì)數(shù)值到達(dá)0時(shí)變?yōu)楦唠娖剑钡綄懭胄碌挠?jì)數(shù)值。(1)GATE:計(jì)數(shù)過程受GATE控制。當(dāng)GATE=1時(shí),允許計(jì)數(shù);當(dāng)GATE=0時(shí),禁止計(jì)數(shù),此時(shí)輸出端OUT保持不變。(2)不重復(fù):方式0,每賦一次初值,只計(jì)數(shù)一個周期。(3)寫新值:可隨時(shí)寫入新值,并按新值重新計(jì)數(shù)。特點(diǎn):2、8253的工作方式(軟件啟動)方式1—單穩(wěn)態(tài)觸發(fā)器(硬件啟動)寫入控制字后,OUT即為高電平作為起始電平,寫入計(jì)數(shù)初值后,要等GATE上升沿才啟動計(jì)數(shù),同時(shí)OUT變?yōu)榈碗娖?,直到?jì)數(shù)器減到0后變?yōu)楦唠娖?,直到下一次GATE上升沿的到來。(1)GATE:為計(jì)數(shù)觸發(fā)信號,上升沿啟動計(jì)數(shù),啟動后GATE變?yōu)榈碗娖讲挥绊懹?jì)數(shù)。當(dāng)OUT為低電平時(shí),再次產(chǎn)生GATE上升沿,則計(jì)數(shù)器重新開始計(jì)數(shù),OUT維持低電平,直到計(jì)數(shù)值為“0”。(2)寫新值:在計(jì)數(shù)過程中寫入新初值,對當(dāng)前輸出無影響。直到下次GATE上升沿到來,則按新初始值計(jì)數(shù)。特點(diǎn):2、8253的工作方式方式2——

頻率發(fā)生器此方式下,當(dāng)GATE=1,則由寫入計(jì)數(shù)初值來啟動;若送初值時(shí)GATE=0,則要等GATE由低變高才啟動計(jì)數(shù)。計(jì)數(shù)開始后,減到“1”時(shí),OUT端輸出一個時(shí)鐘周期寬的負(fù)脈沖。并開始一個新的計(jì)數(shù)過程。(1)GATE:計(jì)數(shù)中,GATE應(yīng)保持高電平。若GATE=0,則計(jì)數(shù)中止,在GATE再變高后,計(jì)數(shù)器又被置入初值重新計(jì)數(shù)。(2)寫新值:改變初值不影響本次計(jì)數(shù)。在下一個輸出周期中,將按新的計(jì)數(shù)值進(jìn)行計(jì)數(shù)。特點(diǎn):(兩種啟動,能自動重復(fù))2、8253的工作方式重復(fù)周期方式3—

方波發(fā)生器(兩種啟動,能自動重復(fù))和方式2類似,但輸出為方波或基本對稱的矩形波,輸入控制字后,OUT輸出高電平,寫入初始值后,開始減1計(jì)數(shù),計(jì)數(shù)到一半時(shí),OUT變?yōu)榈碗娖?,記?shù)完成后又變?yōu)楦唠娖?。?jì)數(shù)脈沖初值N為偶數(shù)時(shí),是完全對稱的方波;為奇數(shù)時(shí),前(N+1)/2計(jì)數(shù)過程中,OUT為高電平,后(N-1)/2期間,OUT為低電平。(1)GATE:計(jì)數(shù)過程中,GATE始終為1;若GATE=0,則終止計(jì)數(shù)且OUT端馬上變高,待恢復(fù)GATE=1時(shí),產(chǎn)生硬件啟動,立即啟動新值。(2)寫新值:計(jì)數(shù)過程中寫新值,不影響當(dāng)前半周期計(jì)數(shù),在當(dāng)前半周期結(jié)束時(shí)啟用新初值。特點(diǎn):2、8253的工作方式方式4——

軟件觸發(fā)選通(軟件啟動,不自動重復(fù))寫入控制字后,OUT變高,一旦裝入計(jì)數(shù)初值,立即開始計(jì)數(shù)。計(jì)數(shù)結(jié)束時(shí),OUT端輸出寬度為一個時(shí)鐘周期的負(fù)脈沖。此信號一般用作選通信號。(1)GATE:計(jì)數(shù)開始不受GATE影響。計(jì)數(shù)過程中,GATE應(yīng)始終為1,若為0,則終止計(jì)數(shù)。(2)寫新值:若在計(jì)數(shù)過程中改變初值,則按新值計(jì)數(shù)。方式5——

硬件觸發(fā)選通(硬件啟動,不自動重復(fù))寫入控制字后,OUT變高。由GATE的上升沿使計(jì)數(shù)開始。當(dāng)計(jì)數(shù)結(jié)束時(shí),由OUT端輸出寬度為一個時(shí)鐘周期的負(fù)脈沖。2、8253的工作方式2、8253的工作方式1、輸出波形:方式0寫入控制字后輸出低電平,直到計(jì)數(shù)結(jié)束。其余方式下,寫入控制字后輸出高電平。方式2、4、5都是輸出一個時(shí)鐘周期寬度的負(fù)脈沖。方式1輸出寬度為N個時(shí)鐘周期的負(fù)脈沖。2、啟動方式:任何一種方式都只能在寫入計(jì)數(shù)初值后才能開始計(jì)數(shù)。方式0、2、3、4在寫入計(jì)數(shù)初值后,立即啟動計(jì)數(shù);方式1、5需要外部GATE信號觸發(fā)啟動計(jì)數(shù)。3、是否重復(fù):方式2、3是連續(xù)重復(fù)計(jì)數(shù);其余方式下都是一次計(jì)數(shù)。4、GATE的作用:方式0、4、2、3下為電平控制,高電平計(jì)數(shù),低電平停止計(jì)數(shù)。其中方式2、3在GATE上升沿時(shí)重新植入計(jì)數(shù)初值。方式1、5為上升沿觸發(fā)計(jì)數(shù)。8253工作方式小結(jié)3、8253的連接D0~D7IOWIORA1A0D0~D7RDWRA1A0CBAA2A3A4A5A6A7≥1○○A8A9A10A11A12A13A14A15﹠G2BG2AGY0CSCLK0GATE0OUT0CLK2GATE2OUT2CLK1GATE1OUT1FF00H~FF03H4、8253的編程(設(shè)置8253的工作方式、寫入計(jì)數(shù)器初值。)(1)控制字SC1SC0RL1RL0M2M1M0BCD1:BCD計(jì)數(shù)

0;二進(jìn)制計(jì)數(shù)工作方式選擇

000:方式0

001:方式1

×10:方式2

×11:方式3

100:方式4

101:方式5計(jì)數(shù)長度選擇00:鎖存計(jì)數(shù)器中的數(shù)據(jù)

01:對計(jì)數(shù)器的低8位讀/寫

10:對計(jì)數(shù)器的高8位讀/寫

11:先低后高兩個字節(jié)的讀/寫計(jì)數(shù)器選擇00:計(jì)數(shù)器0

01:計(jì)數(shù)器1

10:計(jì)數(shù)器2

11:非法BCD數(shù):0000~9999

二進(jìn)制計(jì)數(shù):0000H~FFFFH(2)編程命令兩條原則:

對計(jì)數(shù)器設(shè)置初值前必須先寫控制字;

初始值設(shè)置要符合控制字中的格式規(guī)定。兩類編程命令:寫入命令—包括設(shè)置控制字命令、設(shè)置初始值命令、鎖存命令讀出命令—

用來讀取計(jì)數(shù)器當(dāng)前的值。鎖存命令—配合讀出命令使用。在讀計(jì)數(shù)值時(shí),須先用鎖存命令將當(dāng)前計(jì)數(shù)值在輸出鎖存器中鎖住。SC1SC000××××輸入信號與功能對應(yīng)關(guān)系CSRDWRA1A0功能01000對計(jì)數(shù)器0設(shè)置計(jì)數(shù)初值01001對計(jì)數(shù)器1設(shè)置計(jì)數(shù)初值01010對計(jì)數(shù)器2設(shè)置計(jì)數(shù)初值01011設(shè)置控制字或給鎖存命令00100從計(jì)數(shù)器0讀出計(jì)數(shù)值00101從計(jì)數(shù)器1讀出計(jì)數(shù)值00110從計(jì)數(shù)器2讀出計(jì)數(shù)值4、8253的編程5、8253的初始化及應(yīng)用寫入方式控制字寫入計(jì)數(shù)值低字節(jié)寫入計(jì)數(shù)值高字節(jié)計(jì)數(shù)器的初始化順序?qū)懭敕绞娇刂谱郑ㄓ?jì)數(shù)器0)寫入方式控制字(計(jì)數(shù)器1)寫入方式控制字(計(jì)數(shù)器2)寫入計(jì)數(shù)值低字節(jié)(計(jì)數(shù)器0)寫入計(jì)數(shù)值高字節(jié)(計(jì)數(shù)器0)寫入計(jì)數(shù)值低字節(jié)(計(jì)數(shù)器1)寫入計(jì)數(shù)值高字節(jié)(計(jì)數(shù)器1)寫入計(jì)數(shù)值低字節(jié)(計(jì)數(shù)器2)寫入計(jì)數(shù)值高字節(jié)(計(jì)數(shù)器2)注意:

先寫方式控制字,再寫計(jì)數(shù)值。

例1若計(jì)數(shù)器0工作在方式3,十進(jìn)制計(jì)數(shù),初值為5080,設(shè)8253的地址為0F8H—0FBH。初始化步驟:001111113FH(1)確定控制字計(jì)數(shù)器操作工作方式數(shù)制5、8253的初始化及應(yīng)用MOVAL,3FH;通道0的控制字OUT0FBH,AL;寫入控制字寄存器MOVAL,80H;寫入初值低位OUT0F8H,AL;通道0MOVAL,50H;寫入初值高位OUT0F8H,AL;通道0(2)初始化程序:5、8253的初始化及應(yīng)用MOVAL,36HOUT43H,ALMOVAL,0OUT40H,ALOUT40H,ALMOVAL,54HOUT43H,ALMOVAL,18OUT41H,ALMOVAL,0B6HOUT43H,ALMOVAX,533HOUT42H,ALMOVAL,AHOUT42H,AL計(jì)數(shù)器0雙字節(jié)讀/寫,方式3,二進(jìn)制計(jì)數(shù),計(jì)數(shù)初值為0計(jì)數(shù)器1只寫低字節(jié),方式2,二進(jìn)制計(jì)數(shù),初值為18計(jì)數(shù)器2寫雙字節(jié),方式3,二進(jìn)制計(jì)數(shù),初值為533H

例2:設(shè)定時(shí)計(jì)數(shù)器8253端口地址為40H~43H,分析下面初始化程序。5、8253的初始化及應(yīng)用例題3

將8253的三個計(jì)數(shù)器級聯(lián),假設(shè)時(shí)鐘輸入為2MHz,各計(jì)數(shù)器均取最大的計(jì)數(shù)初值,計(jì)算各計(jì)數(shù)器輸出的定時(shí)脈寬,若分別要求得到毫秒、秒和時(shí)三種定時(shí)脈沖,計(jì)數(shù)初值各為多少?GATE0GATE1GATE2CLK0OUT0CLK1OUT1CLK2OUT2VCC2MHz毫秒秒時(shí)解:2MHz頻率時(shí)鐘周期為0.5微秒,計(jì)數(shù)器最大計(jì)數(shù)初值為65536(0000H)。1、計(jì)數(shù)器0定時(shí)脈寬:0.5*65536=32768微秒。計(jì)數(shù)器1定時(shí)脈寬:32768*65536=2147.5秒。計(jì)數(shù)器2定時(shí)脈寬:2147.5*65536=39094.0時(shí)。2、計(jì)數(shù)器0的計(jì)數(shù)初值:1000微秒/0.5=2000。計(jì)數(shù)器1的計(jì)數(shù)初值:1000毫秒/1=1000。計(jì)數(shù)器0的計(jì)數(shù)初值:3600秒/1=3600。5、8253的初始化及應(yīng)用例題48253的端口地址為264H~267H。分析下列程序段,說明該程序段的作用。MOVDX,267HMOVAL,36HOUTDX,ALMOVDX,264HMOVAL,0OUTDX,ALOUTDX,ALINT20H;8253控制寄存器端口地址;控制字:計(jì)數(shù)器0、16位計(jì)數(shù)初值,先寫低字節(jié)、;工作方式3、二進(jìn)制計(jì)數(shù);計(jì)數(shù)器0端口地址;計(jì)數(shù)初值;計(jì)數(shù)初值寫入低字節(jié);計(jì)數(shù)初值寫入高字節(jié);返回調(diào)用程序計(jì)數(shù)器0,工作方式3(輸出為周期性的方波),計(jì)數(shù)初值為65536。5、8253的初始化及應(yīng)用

8255是Intel80系列微處理機(jī)的配套并行接口芯片,可為8086/8088CPU與外設(shè)之間提供并行輸入/輸出的通道。1、引腳信號和內(nèi)部結(jié)構(gòu)3、8255的工作方式2、方式控制字和狀態(tài)字4、8255的連接、初始化及應(yīng)用舉例§7.2可編程并行接口8255一、引腳信號和內(nèi)部結(jié)構(gòu)15101520PA3PA2PA1PA0CSRD地A1A0PC7PC6PC5PC4PC0PC1PC2PC3PB2PB1PB0PB5PB3PB4PB6PB72125PA4PA5PA6PA74035WRRESETD0D1D2D3D430D5D6D7VCC8255和外設(shè)相連和CPU相連PA7~PA0:A組數(shù)據(jù)信號PB7~PB0:B組數(shù)據(jù)信號PC7~PC0:C組數(shù)據(jù)信號數(shù)據(jù)輸入、輸出或雙向數(shù)據(jù)輸入、輸出數(shù)據(jù)輸入、輸出或控制

信號的輸出線和狀態(tài)信號的輸入線D7~D0:雙向三態(tài)數(shù)據(jù)線CS:片選信號(低電平)RD、WR:讀/寫控制信號RESET:復(fù)位輸入信號

當(dāng)該信號有效時(shí),清除8255中所有控制字寄存器的內(nèi)容,并將三個數(shù)據(jù)端口自動設(shè)為輸入口。A1、A0:端口選擇信號

四個端口地址分別對應(yīng)三個數(shù)據(jù)端口及一個共用的控制端口。8255與CPU系統(tǒng)總線的連接DB7~DB0D7~D0IORRDIOWWERESET高電平有效A0A1AB地址譯碼CSPA7~PA0PC7~PC4PC3~PC0PB7~PB0A1A0RDWRCS操作00010端口ACPU01010端口BCPU10010端口CCPU00100CPU端口A01100CPU端口B10100CPU端口C11100CPU控制寄存器11010非法××110數(shù)據(jù)總線懸空××××1未選該82558255的讀寫操作控制A組

端口A(8)B組

端口B(8)A組

端口C

上半部(4)B組

端口C

下半部(4)A組控制B組控制PA7~PA0I/OPC7~PC4I/OPC3~PC0I/OPB7~PB0I/O數(shù)據(jù)

總線

緩沖器讀/寫控制

邏輯內(nèi)部邏輯外設(shè)接口····CPU接口8位內(nèi)部

數(shù)據(jù)總線DBRDWRCS○○○A0A1RESET二、8255的控制字1D6D5D4D3D2D1D01、工作方式控制字控制C口低4位1:輸入

0:輸出控制B口8位1:輸入

0:輸出B口工作方式0:方式0

1:方式1控制C口高4位1:輸入

0:輸出控制A口8位1:輸入

0:輸出A口工作方式00:方式0

01:方式1

1×:方式2標(biāo)志位1:方式控制字

0:C端口位操作控制字2、C端口位操作控制字0×××D7D6D5D4D3D2D1D0無關(guān)置/復(fù)位0:復(fù)位

1:置位C口的位選擇000:PC0

001:PC1

010:PC2

011:PC3

100:PC4

101:PC5

110:PC6

111:PC7MOVDX,0FFE3H設(shè)8255的端口地址為FFE0H~FFE3HMOVAL,0FHOUTDX,ALMOVAL,06HOUTDX,AL二、8255的控制字關(guān)于控制字的說明:1、兩個控制字寄存器的端口地址相同(A1A0=11B),最高位D7為標(biāo)志位。控制字大于等于80H為方式控制字,小于80H為C端口位操作控制字。2、寫C端口位操作控制字,是專門用于對C端口的任意一位實(shí)現(xiàn)置位或復(fù)位的操作,主要用于對外設(shè)的控制,它是寫控制寄存器而不是寫C端口(地址為A1A0=10B),這一點(diǎn)要特別注意。例如:在PC5引腳上產(chǎn)生一個負(fù)跳變信號。MOVDX,××

××××

11B;控制寄存器端口MOVAL,0BHOUTDX,AL;PC5置1MOVAL,0AHOUTDX,AL;PC5置0

若要在PC5上產(chǎn)生一個負(fù)脈沖,可再加兩條指令,使PC5置1。MOVAL,0BHMOVDX,AL二、8255的控制字三、8255的工作方式1、工作方式0—基本輸入輸出方式

在此方式下,只能完成簡單的輸入/輸出操作??赏ㄟ^寫入方式控制字分別將A口、B口以及C口的高四位和C口的低四位分別定義為輸入端口或輸出端口。方式0一般用于無條件數(shù)據(jù)傳送。另外,也可以利用對C端口的位操作,產(chǎn)生對外設(shè)的控制或應(yīng)答信號,通過讀C端口,與外設(shè)交換信息,即采用查詢方式進(jìn)行數(shù)據(jù)傳送。D7D6D5D4D3D2D1D010001000

要求A、B、C三個口均在方式0下工作,端口A和端口B均作為輸出口用,C口高4位為輸入,低4位為輸出。試對8255進(jìn)行初始化。設(shè)8255的端口地址為0060H~0063HMOVAL,10001000BOUT63H,AL三、8255的工作方式2、工作方式1—選通輸入輸出方式

在此種方式下,A口和B口作為數(shù)據(jù)的輸入或輸出端口(由軟件編程來指定),由C端口提供A、B端口與外設(shè)通信的控制和狀態(tài)信號,C端口各數(shù)據(jù)位的功用是由硬件規(guī)定的,不能通過編程來指定。工作方式1通常用于硬件中斷方式進(jìn)行數(shù)據(jù)傳送。1、方式1下A口、B口均為輸出情況;2、方式1下A口、B口均為輸入情況;三、8255的工作方式方式1下A口、B口均為輸出情況PA7~0PC7PC6PC3OBFAACKAINTRAPB7~0PC1PC2PC0OBFBACKBINTRBPC4、5I/OINTEB﹠INTEA﹠8255向外設(shè)發(fā)出的輸出緩沖器滿信號,低電平有效,表示8255已接收到CPU送來的數(shù)據(jù),鎖存于輸出端口,通知外設(shè)讀取。外設(shè)接收到8255送來的數(shù)據(jù)后,發(fā)出的響應(yīng)信號,低電平有效。通知接口,外設(shè)已接受了數(shù)據(jù),并使OBF變?yōu)楦唠娖?。OBF:ACK:方式1下A口、B口均為輸出情況PA7~0PC7PC6PC3OBFAACKAINTRAPB7~0PC1PC2PC0OBFBACKBINTRBPC4、5I/OINTEB﹠INTEA﹠INTR:中斷請求信號,高

電平有效。外設(shè)收

到數(shù)據(jù)后,由此信

號通知CPU可再輸

出下一個數(shù)據(jù)。

INTE:中斷允許控制標(biāo)志。

只有當(dāng)INTE為高電

平時(shí),才能產(chǎn)生有

效的INTR。INTEA=PC6INTEB=PC2可通過寫控制寄存器的C端口位操作控制字進(jìn)行設(shè)置。方式1下數(shù)據(jù)輸出時(shí)序

INTR

datadata輸出端口D0~D7WROBFACK

方式1下A口、B口均為輸出情況PA7~0PC7PC6PC3OBFAACKAINTRAPB7~0PC1PC2PC0OBFBACKBINTRBPC4、5I/O端口A—PC7、PC6、PC3端口B—PC2、PC1、PC0D7D6D5D4D3D2D1D0OBFAINTEAI/OI/OINTRBINTEBOBFBC口此時(shí)的狀態(tài)字:INTRAC口的狀態(tài)字可通過“讀C口”得到,它可以為CPU提供A、B端口通信的狀態(tài)和控制信息,如確定中斷源或中斷屏蔽等,它與C口各引腳上的狀態(tài)并不完全一致。設(shè)8255的端口地址為0060H~0063H[例]A、B口均在方式1下工作,端口A和端口B均作為輸出口用,C口的PC4、PC5作數(shù)據(jù)輸入用。D7D6D5D4D3D2D1D01010110×MOVAL,10101100BOUT63H,AL三、8255的工作方式方式1下A口、B口均為輸入情況PA7~0PC4PC5PC3STBAIBFAINTRAPB7~0PC2PC1PC0STBBIBFBINTRBPC6、7I/OINTEA﹠INTEB﹠8255給外設(shè)的應(yīng)答信號,高電平有效,表示收到外設(shè)送來的數(shù)據(jù),已放入輸入緩沖器。外設(shè)給8255發(fā)出的選通信號,低電平有效,表示數(shù)據(jù)準(zhǔn)備好??衫迷撔盘枌⑼庠O(shè)數(shù)據(jù)鎖存到8255端口的輸入鎖存器中。IBF:STB:方式1下數(shù)據(jù)輸入時(shí)序dataINTRIBF

data輸入端口D0~D7STBRD方式1下A口、B口均為輸入情況PA7~0PC4PC5PC3STBAIBFAINTRAPB7~0PC2PC1PC0STBBIBFBINTRBPC6、7I/O端口A—PC5、PC4、PC3端口B—PC2、PC1、PC0D7D6D5D4D3D2D1D0IBFAINTEAI/OI/OINTRBINTEBIBFBC口此時(shí)的狀態(tài)字:INTRAD7D6D5D4D3D2D1D0OBFAINTEAI/OI/OINTRBINTEBOBFBA、B端口為輸出口時(shí),C口的狀態(tài)字:INTRAD7D6D5D4D3D2D1D0IBFAINTEAI/OI/OINTRBINTEBIBFBINTRAA、B端口為輸入口時(shí),C口的狀態(tài)字:C端口的狀態(tài)字設(shè)8255的端口地址為0060H~0063H[例]A、B口均在方式1下工作,端口A和端口B均作為輸入口用,C口的PC6、PC7作數(shù)據(jù)輸出用。D7D6D5D4D3D2D1D01011011×MOVAL,10110110BOUT63H,AL三、8255的工作方式PA7~0PC4PC5PC3STBAIBFAINTRAPB7~0PC2PC1PC0ACKBOBFBINTRBPC6、7I/O8255方式1與系統(tǒng)的連接WERDIOWIORD7~D0D7~D0IRiIRjA1A0CS地址譯碼。。A15~A2A1A082558255方式1中斷查詢流程中斷服務(wù)程序讀方式1下C口狀態(tài)字通道A?通道B?非法中斷處理通道A服務(wù)程序通道B服務(wù)程序返回返回返回NNYY8255方式1下查詢程序流程開始讀方式1下C口狀態(tài)字通道A?通道B?讀A口取數(shù)據(jù)存入指定地址從指定地址取數(shù)據(jù)送(寫)B口繼續(xù)NNYYD5=1?D1=1?3、工作方式2—雙向輸入輸出方式8255只允許端口A工作于工作方式2。

當(dāng)端口A工作于方式2時(shí),需要的控制信號由端口C的PC7~PC3提供;允許端口B工作于方式0或方式1完成輸入/輸出功能。若B口工作于方式0,則PC2~PC0可用作數(shù)據(jù)輸入/輸出口;若B口工作于方式1,則PC2~PC0用作B口的控制信號。三、8255的工作方式PC3INTRA≥﹠﹠PC7PC6PC4PC5PA7~0INTE1INTE2OBFAACKASTBAIBFAOBFAINTE1IBFAINTE2INTRAD2D1D0由B組工作方式?jīng)Q定8255A口方式2下接口功能和狀態(tài)字方式2下的中斷處理8255的A口在方式2時(shí),只提供了一個中斷請求信號INTRA,CPU在該中斷服務(wù)程序中需要通過讀取C口狀態(tài)字來確定是輸入中斷還是輸出中斷。工作方式2做為雙向數(shù)據(jù)傳送方式,一般用作具有雙向并行數(shù)據(jù)傳送功能的外部設(shè)備的接口部件,如磁盤驅(qū)動器等。三、8255的工作方式設(shè)8255的端口地址為0060H~0063H[例]A口在方式2下工作,B口在方式0下工作,作為輸出口用,C口的PC2~0作數(shù)據(jù)輸入用。D7D6D5D4D3D2D1D011×××001MOVAL,11000001BOUT63H,AL三、8255的工作方式四、8255的連接、初始化及應(yīng)用D0~D7RESETRESETD0~D7RDWRIOWIORA1A1A0A0CSPA0~PA7PB0~PB7PC0~PC3A15A7﹠GA6AEN≥1G2BG2AA5A4A3A2CBAY00FF80H~0FF83H~PC4~PC7(應(yīng)用一)利用8255實(shí)現(xiàn)打印機(jī)的接口PA0PA7……PC6PC1D0D7STROBEBUSY8255打印機(jī)系統(tǒng)總線數(shù)據(jù)STROBEBUSYWR

在此,為了與打印機(jī)接口,A組、B組均工作于方式0,初始化A口為輸出,C口的高四位為輸出,低四位為輸入,B口未用(假設(shè)為輸入)。查詢方式初始化程序MOVDX,0FF83HMOVAL,10000011BOUTDX,ALMOVAL,00001101BOUTDX,AL;PC6=1;設(shè)置工作方式四、8255的連接、初始化及應(yīng)用打印CL中的內(nèi)容LPST:MOVDX,0FF82HINAL,DX;讀C口狀態(tài)字

ANDAL,02H;檢測PC1(BUSY)是否為零。JNZLPST;打印機(jī)忙,等待。MOVDX,0FF80HMOVAL,CL;打印字符送給8255OUTDX,ALMOVDX,0FF83HMOVAL,0CH;PC6清零OUTDX,ALINCALOUTDX,AL;PC6置位(送STROBE脈沖)JMPLPST四、8255的連接、初始化及應(yīng)用(應(yīng)用二)利用8255實(shí)現(xiàn)打印機(jī)的接口中斷方式PA0PA7…ACKAPC6PC7OBFAPC3(INT)接8259單穏

觸發(fā)器STROBED0D7…BUSY系統(tǒng)總線。單穏

觸發(fā)器。

此時(shí)8255的A口工作于方式1的輸出方式,為簡單起見,規(guī)定B口工作于方式0,C口的PC0~PC5這5條線均定義為輸出。MOVDX,0FF83H;方式控制字端口MOVAL,10100000B;設(shè)工作方式OUTDX,ALMOVAL,00001101B;PC6=1,開A口輸出中斷OUTDX,AL初始化程序STI

;系統(tǒng)開中斷四、8255的連接、初始化及應(yīng)用中斷服務(wù)程序INTSERVPROCFAR PUSHAX;保護(hù)現(xiàn)場

PUSHDX STI MOVAL,BUFS;取打印字符

MOVDX,0FF80H OUTDX,AL;送打印字符

CLI;關(guān)中斷 POPDX;恢復(fù)現(xiàn)場

POPAX STI IRETINTSERVENDP四、8255的連接、初始化及應(yīng)用

某A/D變換器的引線圖及工作時(shí)序圖如下圖所示,式將此A/D變換器與8255連接,編寫包括8255初始化程序在內(nèi)的,A/D變換器變換一次數(shù)據(jù)并將數(shù)據(jù)放入內(nèi)存BUF單元的程序。SENDD0~D7START8位A/D變換器模擬信號輸入變換結(jié)束≥1μs啟動變換START(應(yīng)用三)利用8255實(shí)現(xiàn)數(shù)據(jù)采集的接口SENDD0~D7START8位A/D變換器模擬信號輸入8255PC2PA0~PA7PC58088譯碼CSWRRDA0A1IOWIORA0A1A2~A15

系統(tǒng)連接如圖所示,使用8255PA口輸入數(shù)據(jù),工作方式0,查詢式I/O,PC5作啟動轉(zhuǎn)換脈沖,PC2作轉(zhuǎn)換結(jié)束狀態(tài)標(biāo)志。設(shè)8255端口地址40H~43H,程序如下:D0~D7;8255初始化MOVAL,91H;A口輸入,方式0OUT43H,AL;C口低4位輸入MOVAL,0AH;C口位操作控制OUT43H,AL;PC5置0;啟動轉(zhuǎn)換程序MOVAL,0BH;PC5置1,啟動脈沖OUT43H,AL;NOPNOP;延時(shí)

MOVAL,0AH;啟動脈沖后沿RQ:INAL,42H;讀C口

TESTAL,04H;測試轉(zhuǎn)換狀態(tài)

JZRQ;轉(zhuǎn)換中,等待

INAL,40H;讀A口轉(zhuǎn)換結(jié)果

MOVBUF,AL;存放轉(zhuǎn)換結(jié)果解法一、查詢方式IBFSENDD0~D7START8位A/D變換器模擬信號輸入8255PC5PA0~PA7PC48088譯碼CSWRRDA0A1IOWIORA0A1A2~A15

系統(tǒng)連接如圖所示,使用8255PA口輸入數(shù)據(jù),工作方式1,中斷式I/O,PC5(IBF)作啟動轉(zhuǎn)換脈沖,PC4(STB)作轉(zhuǎn)換結(jié)束數(shù)據(jù)就緒標(biāo)志,由PC3(INT)發(fā)中斷請求。端口地址40H~43H。D0~D7;8255初始化MOVAL,B0H;A口輸入,方式1OUT43H,AL;MOVAL,09H;C口位操作控制OUT43H,AL;PC4置1,開A口中斷MOVAL,0BHOUT43H,ALMOVAL,0AH;PC5置0,啟動脈沖OUT43H,AL

;中斷服務(wù)程序

INTERPROCFARPUSHAXSTIINAL,40H;讀A口轉(zhuǎn)換結(jié)果

MOVBUF,AL;存放轉(zhuǎn)換結(jié)果

CLIPOPAXIRETINTRENDP解法二、中斷方式PC3單穩(wěn)INT(IBF)(STB)單穩(wěn)引腳功能及內(nèi)部結(jié)構(gòu)8251的工作過程內(nèi)部寄存器8251的連接與編程串行通信的基本概念可編程串行接口8251§7.3可編程串行接口8251一、串行通信的基本概念

所謂串行通信,就是將數(shù)據(jù)一位一位地傳輸給接受方。通常所謂的串行或并行通信,僅僅是指I/O接口和I/O設(shè)備之間的通信方式。就接口與CPU之間的通信而言,無論是并行接口還是串行接口,均是以并行方式傳送數(shù)據(jù),不同的是,串行接口在接收到一次數(shù)據(jù)后需要進(jìn)行串/并行轉(zhuǎn)換。如串行接口將來自CPU的并行數(shù)據(jù)轉(zhuǎn)換成為位數(shù)據(jù)流,利用一根數(shù)據(jù)線一位一位地向串行設(shè)備傳輸;也可以通過一根數(shù)據(jù)線一位一位地接受來自串行設(shè)備的數(shù)據(jù),然后并行傳給CPU。串行通信具有連線少,傳輸距離遠(yuǎn)等優(yōu)點(diǎn),但傳輸速率較低,常用于速度要求不高,傳輸距離較遠(yuǎn)的場合。串行通信的數(shù)據(jù)傳送方式單工(Simplex)方式:只允許數(shù)據(jù)按一個固定的方向傳送,發(fā)送方叫發(fā)送器,接收方叫接收器。半雙工(Half-duplex)方式:允許數(shù)據(jù)雙向傳送,通信雙方即可做發(fā)送器又可做接收器,通常稱為收發(fā)器。信號只能分時(shí)在兩個方向傳送,不能同時(shí)雙向傳送。全雙工(Full-duplex)方式:通信雙方均為收發(fā)器,有兩根信號傳輸線,雙方都具有獨(dú)立的發(fā)送器和接收器,在雙方控制邏輯的協(xié)調(diào)下,可以同時(shí)進(jìn)行兩個方向的數(shù)據(jù)傳送。波特率和收/發(fā)時(shí)鐘波特率:單位時(shí)間內(nèi)傳送二進(jìn)制數(shù)據(jù)的位數(shù),單位為位/秒。它是衡量串行數(shù)據(jù)傳送速度快慢的重要指標(biāo)和參數(shù)。收/發(fā)時(shí)鐘:在串行通信中,無論發(fā)送和接收,都必須有時(shí)鐘脈沖信號對傳送的數(shù)據(jù)進(jìn)行定位和同步控制,一般發(fā)送端由發(fā)送時(shí)鐘下降沿,將送入移位寄存器的數(shù)據(jù)串行移位輸出。接收端在接收時(shí)鐘的上升沿作用下,將數(shù)據(jù)逐位送入移位寄存器。收/發(fā)時(shí)鐘不僅決定了數(shù)據(jù)傳輸?shù)乃俾?,更主要是對于收發(fā)雙方數(shù)據(jù)傳輸?shù)耐骄哂惺种匾淖饔?。串行通信的基本方式——異步方式和同步方式異步方式?/p>

通信的數(shù)據(jù)中,字符間異步,字符內(nèi)部各位之間同步。即每個字符出現(xiàn)在數(shù)據(jù)流中的時(shí)間是隨機(jī)的,數(shù)據(jù)格式如下所示,由1位起始位(0)、5~8位字符位、校驗(yàn)位(可選)和1~2為終止位(1)構(gòu)成。字符開始傳送后,收/發(fā)雙方則以預(yù)先固定的時(shí)鐘速率傳送各數(shù)據(jù)位,先送最低有效位LSB,后送最高有效位MSB。起始位(1)字符位(5~8)校驗(yàn)位(0~1)終止位(1~2)串行通信的基本方式——異步方式和同步方式異步方式:

為保證通信的可靠性,異步通信波特率一般設(shè)定為收發(fā)時(shí)鐘的1/16(或1/64),即每16(64)個采樣時(shí)鐘收/發(fā)一位二進(jìn)制數(shù)位,這樣做的好處:一是保證采樣準(zhǔn)確性,既采樣點(diǎn)確保在數(shù)據(jù)位中點(diǎn);二是提高了時(shí)鐘頻率偏移的容錯性。起始位(1)字符位(5~8)采樣時(shí)鐘8161616串行通信的基本方式——異步方式和同步方式。同步方式:通信的數(shù)據(jù)流中,字符間、字符內(nèi)部各位之間都完全同步。收/發(fā)雙方則以同一個時(shí)鐘來控制數(shù)據(jù)的發(fā)送和接收。同步通信時(shí),將許多字符組成一個信息組,字符可以一個接一個地傳輸,每組信息稱為一幀信息,開始要加上同步字符。同步通信的數(shù)據(jù)格式有多種。通信雙方要事先約定好通信的數(shù)據(jù)格式。串行接口的基本結(jié)構(gòu)狀態(tài)寄存器控制寄存器數(shù)據(jù)輸入寄存器數(shù)據(jù)輸出寄存器并行輸入/串行輸出串行輸入/并行輸出串行輸入串行輸出控制數(shù)據(jù)總線收發(fā)器聯(lián)絡(luò)信號控制邏輯地址譯碼cs。發(fā)送時(shí)鐘接收時(shí)鐘A0串行接口標(biāo)準(zhǔn)RS-232C美國電子工業(yè)協(xié)會EIA制定的通用標(biāo)準(zhǔn)串行接口1962年公布,1969年修訂1987年1月正式改名為EIA-232D設(shè)計(jì)目的是用于連接調(diào)制解調(diào)器現(xiàn)已成為數(shù)據(jù)終端設(shè)備DTE(例如計(jì)算機(jī))與數(shù)據(jù)通信設(shè)備DCE(例如調(diào)制解調(diào)器)的標(biāo)準(zhǔn)接口可實(shí)現(xiàn)遠(yuǎn)距離通信,也可近距離連接兩臺微機(jī)屬于網(wǎng)絡(luò)層次結(jié)構(gòu)中的最低層:物理層RS-232C的引腳定義232C接口標(biāo)準(zhǔn)使用一個25針連接器絕大多數(shù)設(shè)備只使用其中9個信號,所以就有了9針連接器232C包括兩個信道:主信道和次信道次信道為輔助串行通道提供數(shù)據(jù)控制和通道,但其傳輸速率比主信道要低得多,其他跟主信道相同,通常較少使用RS-232C的引腳TxD:發(fā)送數(shù)據(jù)串行數(shù)據(jù)的發(fā)送端RxD:接收數(shù)據(jù)串行數(shù)據(jù)的接收端RTS:請求發(fā)送當(dāng)數(shù)據(jù)終端設(shè)備準(zhǔn)備好送出數(shù)據(jù)時(shí),就發(fā)出有效的RTS信號,用于通知數(shù)據(jù)通信設(shè)備準(zhǔn)備接收數(shù)據(jù)CTS:清除發(fā)送(允許發(fā)送)當(dāng)數(shù)據(jù)通信設(shè)備已準(zhǔn)備好接收數(shù)據(jù)終端設(shè)備的傳送數(shù)據(jù)時(shí),發(fā)出CTS有效信號來響應(yīng)RTS信號RTS和CTS是數(shù)據(jù)終端設(shè)備與數(shù)據(jù)通信設(shè)備間一對用于數(shù)據(jù)發(fā)送的聯(lián)絡(luò)信號DTR:數(shù)據(jù)終端準(zhǔn)備好通常當(dāng)數(shù)據(jù)終端設(shè)備一加電,該信號就有效,表明數(shù)據(jù)終端設(shè)備準(zhǔn)備就緒DSR:數(shù)據(jù)裝置準(zhǔn)備好通常表示數(shù)據(jù)通信設(shè)備(即數(shù)據(jù)裝置)已接通電源連到通信線路上,并處在數(shù)據(jù)傳輸方式DTR和DSR也可用做數(shù)據(jù)終端設(shè)備與數(shù)據(jù)通信設(shè)備間的聯(lián)絡(luò)信號,例如應(yīng)答數(shù)據(jù)接收RS-232C的引腳GND:信號地為所有的信號提供一個公共的參考電平CD:載波檢測(DCD)當(dāng)本地調(diào)制解調(diào)器接收到來自對方的載波信號時(shí),該引腳向數(shù)據(jù)終端設(shè)備提供有效信號RI:振鈴指示當(dāng)調(diào)制解調(diào)器接收到對方的撥號信號期間,該引腳信號作為電話鈴響的指示、保持有效RS-232C的引腳保護(hù)地(機(jī)殼地)起屏蔽保護(hù)作用的接地端,一般應(yīng)參照設(shè)備的使用規(guī)定,連接到設(shè)備的外殼或大地TxC:發(fā)送器時(shí)鐘控制數(shù)據(jù)終端發(fā)送串行數(shù)據(jù)的時(shí)鐘信號RxC:接收器時(shí)鐘控制數(shù)據(jù)終端接收串行數(shù)據(jù)的時(shí)鐘信號RS-232C的引腳RS-232C的連接微機(jī)利用232C接口連接調(diào)制解調(diào)器,用于實(shí)現(xiàn)通過電話線路的遠(yuǎn)距離通信微機(jī)利用232C接口直接連接進(jìn)行短距離通信。這種連接不使用調(diào)制解調(diào)器,所以被稱為零調(diào)制解調(diào)器(NullModem)連接連接調(diào)制解調(diào)器電話線MODEM微機(jī)2345678202223456782022MODEM23456782022數(shù)據(jù)裝置準(zhǔn)備好DSR數(shù)據(jù)終端準(zhǔn)備好DTR發(fā)送數(shù)據(jù)TxD接收數(shù)據(jù)RxD請求發(fā)送RTS允許發(fā)送CTS信號地GND載波檢測CD振鈴指示RI微機(jī)23456782022不使用聯(lián)絡(luò)信號的3線相連方式微機(jī)TxDRxDGND微機(jī)為了交換信息,TxD和RxD應(yīng)當(dāng)交叉連接程序中不必使RTS和DTR有效也不應(yīng)檢測CTS和DSR是否有效直接連接“偽”使用聯(lián)絡(luò)信號的3線相連方式RTS和CTS各自互接,DTR和DSR各自互接表明請求傳送總是允許、數(shù)據(jù)裝置總準(zhǔn)備好微機(jī)DSRDTRTxDRxDRTSCTSGND微機(jī)直接連接使用聯(lián)絡(luò)信號的多線相連方式通信比較可靠所用連線較多,不如前者經(jīng)濟(jì)微機(jī)DSRDTRTxDRxDRTSCTSGND微機(jī)直接連接RS-232C的電氣特性232C接口采用EIA電平高電平為+3V~+15V低電平為-3V~-15V實(shí)際常用±12V或±15V標(biāo)準(zhǔn)TTL電平高電平:+2.4V~+5V低電平:0V~0.4V相互轉(zhuǎn)換二、可編程串行接口8251A8251A是Intelcpu配套的可編程串行口芯片,是一個全雙工雙緩沖器的UART器件,用于將86系列CPU以同步或異步方式與外部設(shè)備進(jìn)行串行通信。它能將并行輸入的數(shù)據(jù)變換成逐位輸出的串行信號;也能將串行輸入數(shù)據(jù)變換成并行數(shù)據(jù),一次傳送給處理機(jī)。同步方式工作時(shí),每個字符可以為5-8位,奇偶校驗(yàn)位或CRC校驗(yàn)碼,波特率為0-64K,可選擇內(nèi)同步或外同步。異步方式工作時(shí),每個字符5-8位,波特率因子可選擇1、16或64,波特率0-19.2K。廣泛應(yīng)用于長距離通信系統(tǒng)及計(jì)算機(jī)網(wǎng)絡(luò)。(一)、引腳和內(nèi)部結(jié)構(gòu)8251A的內(nèi)部功能結(jié)構(gòu)

發(fā)送緩沖器并/串轉(zhuǎn)換發(fā)送控制電路接收緩沖器串/并轉(zhuǎn)換接收控制電路TXDTXRDYTXEMPTYTXCRXDRXRDYRXCSYNDET

內(nèi)部總線數(shù)據(jù)總線緩沖器讀/寫控制邏輯電路調(diào)制解調(diào)電路D0~D7RESETCLKC/DRDWRCSDSRDTRCTSRTSOOOOOOO

8251A的發(fā)送器包括發(fā)送緩沖存儲器,發(fā)送移位寄存器(并→串轉(zhuǎn)換)及發(fā)送控制電路3部分。CPU需要發(fā)送的數(shù)據(jù)經(jīng)數(shù)據(jù)發(fā)送緩沖存儲器并行輸入,并鎖存到發(fā)送緩沖存儲器中。如果是采用同步方式,則在發(fā)送數(shù)據(jù)之前,發(fā)送器將自動送出一個(單同步)或兩個(雙同步)同步字符(Sync)。然后,逐位串行輸出數(shù)據(jù)。如果采用異步方式,則由發(fā)送控制電路在其首尾加上起始位及停止位,然后從起始位開始,經(jīng)移位寄存器從數(shù)據(jù)輸出線TXD逐位串行輸出,其發(fā)送速率由TXC端上收到的發(fā)送時(shí)鐘頻率決定。1.發(fā)送器2.接收器8251A的接收器包括接收緩沖存儲器,接收移位寄存器(串→并轉(zhuǎn)換)及接收控制電路3部分。外部通信數(shù)據(jù)從RXT端,逐位進(jìn)入接收移位寄存器中。如果是同步方式,則要檢測同步字符,確認(rèn)已經(jīng)達(dá)到同步,接收器才可開始串行接收數(shù)據(jù),待一組數(shù)據(jù)接收完畢,便把移位寄存器中的數(shù)據(jù)并行置入接收緩沖存儲器中;如果是異步方式,則應(yīng)識別并刪除起始位和停止位。這時(shí)RXDRY線輸出高電平,表示接收器已準(zhǔn)備好數(shù)據(jù),等待向CPU輸出。8251A接收數(shù)據(jù)的速率由RXC端輸入的時(shí)鐘頻率決定。接收緩沖存儲器和接收移位寄存器構(gòu)成接收器的雙緩沖結(jié)構(gòu)。

數(shù)據(jù)總線緩沖存儲器是CPU與8251A之間信息交換的通道。它包含3個三態(tài)雙向8位緩沖寄存器,即狀態(tài)緩沖器、接收緩沖器和發(fā)送緩沖器。前兩個用來存放CPU向8251A讀取的數(shù)據(jù)及狀態(tài),供CPU讀取狀態(tài)字及數(shù)據(jù)。發(fā)送緩沖寄存器存放CPU向8251A寫入的數(shù)據(jù)或控制字,兩者公用一個緩沖寄存器,必須分時(shí)使用,這就要求CPU在向8251A寫入控制字時(shí),該寄存器中無將要發(fā)送的數(shù)據(jù)。3、數(shù)據(jù)總線緩沖存儲器4、讀/寫控制電路

讀/寫控制電路用來接收一系列的控制信號,由它們可確定8251A處于什么狀態(tài),并向8251A內(nèi)部各功能部件發(fā)出有關(guān)的控制信號,因此它實(shí)際上是8251A的內(nèi)部控制器。5、調(diào)制/解調(diào)控制電路

當(dāng)使用8251A實(shí)現(xiàn)遠(yuǎn)距離串行通信時(shí),數(shù)據(jù)輸出端要將數(shù)字信號轉(zhuǎn)換成模擬信號,數(shù)據(jù)接收端收到的是經(jīng)過解調(diào)器轉(zhuǎn)換來的數(shù)字信號因此8251A要與調(diào)制/解調(diào)器直接相連,它們之間的接口信號如下:(1)DTR——數(shù)據(jù)終端準(zhǔn)備好信號,輸出,低電平有效。DTR有效,表示CPU已準(zhǔn)備好接收數(shù)據(jù),它可軟件定義??刂谱种蠨TR位=1時(shí),輸出DTR為有效信號。(2)DSR——數(shù)據(jù)裝置準(zhǔn)備好信號。輸入,低電平有效。DSR有效,表示調(diào)制/解調(diào)器或外部設(shè)備已準(zhǔn)備好發(fā)送數(shù)據(jù),它實(shí)際上是對DTR的回答信號。CPU可利用IN指令讀入8251A狀態(tài)寄存器內(nèi)容,檢測DSR位狀態(tài),當(dāng)DSR=1時(shí),表示DSR有效。(3)RTS——請求發(fā)送信號。輸出,低電平有效。RTS有效,表示CPU已準(zhǔn)備好發(fā)送數(shù)據(jù),可由軟件定義??刂谱种蠷TS位=1時(shí),輸出RTS有效信號。(4)CTS——清除發(fā)送信號。輸入,低電平有效。CTS有效,表示調(diào)制/解調(diào)器已作為接收數(shù)據(jù)準(zhǔn)備,只要控制字中TXEN位=1,CTS有效時(shí),發(fā)送器才可串行發(fā)送數(shù)據(jù)。它實(shí)際上是對RTS的回答信號。如果在數(shù)據(jù)發(fā)送過程中使CTS無效,或TXEN=0,發(fā)送器將正在發(fā)送的字符結(jié)束時(shí)停止繼續(xù)發(fā)送。5、調(diào)制/解調(diào)控制電路(二)、8251的工作過程發(fā)送緩沖器接收緩沖器并串變換寄存器串并變換寄存器……...………..……..通信線路CPU發(fā)送數(shù)據(jù)CPU接收數(shù)據(jù)………...………..發(fā)送時(shí)鐘接收時(shí)鐘發(fā)送控制接收控制發(fā)送器接收器1、接收數(shù)據(jù)

當(dāng)有外部串行通信設(shè)備送來數(shù)據(jù)時(shí),在接收時(shí)鐘RxC控制下,由RxD進(jìn)入接收移位寄存器,當(dāng)接收移位寄存器收到一個完整的數(shù)據(jù)后,自動并行傳送到接收數(shù)據(jù)緩沖器中,此時(shí),接收數(shù)據(jù)寄存器滿,RxRDY有效,可作為接收中斷請求信號,同時(shí)在狀態(tài)寄存器中建立相應(yīng)的狀態(tài)標(biāo)志,供CPU查詢該標(biāo)志位的狀態(tài),實(shí)現(xiàn)查詢方式數(shù)據(jù)傳送。接收過程中,8251自動按照其控制字規(guī)定的格式,濾掉同步方式下的同步字符或異步方式下的啟動位、校驗(yàn)位和停止位。2、發(fā)送數(shù)據(jù)

當(dāng)發(fā)送器作好接收數(shù)據(jù)準(zhǔn)備時(shí),向CPU發(fā)出TXRDY有效信號,CPU將要發(fā)送的數(shù)據(jù)寫到發(fā)送數(shù)據(jù)緩沖器中。當(dāng)發(fā)送移位寄存器中的數(shù)據(jù)全部由TxD移出,TXEMPTY有效,此時(shí)發(fā)送數(shù)據(jù)寄存器中待發(fā)送的數(shù)據(jù)自動并行送到發(fā)送移位寄存器中,并在發(fā)送時(shí)鐘的控制下,一位一位地發(fā)送出去。發(fā)送過程中,8251自動按照其控制字規(guī)定的格式加上同步字符(同步方式)或啟動位、校驗(yàn)位和停止位(異步方式)。當(dāng)發(fā)送數(shù)據(jù)寄存器的內(nèi)容送到發(fā)送移位寄存器中,則發(fā)送數(shù)據(jù)寄存器空TXRDY有效,可作為發(fā)送中斷請求信號,同時(shí)在狀態(tài)寄存器中建立發(fā)送數(shù)據(jù)寄存器空的標(biāo)志,供CPU查詢該標(biāo)志位的狀態(tài),實(shí)現(xiàn)查詢方式數(shù)據(jù)傳送。(三)、8251的控制字及工作方式1.方式選擇控制字(寫入控制口,C/D=1)B1B2L1L2PENEPS1S200

同步方式01

異步110異步1611

異步64波特率因子字符長度00—5位01—6位10—7位11—8位同步(D1D0=00)異步(D1D0≠00)X0內(nèi)同步X1外同步0X

雙SYN1X

單SYN00

無效011個停止位101.5個停止位112個停止位校驗(yàn)選擇01——奇校驗(yàn)

11——偶校驗(yàn)X0——不校驗(yàn)2.操作命令控制字(寫入控制口,C/D=1)D0D1D2D3D4D5D6D7TXENDTRRXESBRKERRTSIREH1:發(fā)送允許

0:不允許1:使DTR引腳=01:接收允許1:TXD送低電平(斷開信號)

0:正常工作1:使錯誤標(biāo)志復(fù)位(狀態(tài)寄存器)1:使RTS引腳=01:軟件復(fù)位(下一條命令是方式字)1:進(jìn)入SYN搜索方式(三)、8251的控制字及工作方式(三)、8251的控制字及工作方式3.狀態(tài)控制字(讀控制口,C/D=1)D0D1D2D3D4D5D6D7TXRDYRXRDYTXEPEOEFESYNDSR1:發(fā)送緩沖器空1:接收緩沖器滿1:發(fā)送器(并/串轉(zhuǎn)換器)空1:奇偶錯1:溢出錯1:幀格錯1:找到同步字符(異步方式下表示線路中斷BRK)1:DSR=0(DSR引腳的狀態(tài)位)(四)、8251的初始化及應(yīng)用

初始化編程須在系統(tǒng)復(fù)位之后,先置方式選擇控制字,如果是采用同步工作方式,那么在方式選擇控制字之后應(yīng)輸出同步字符,在一個或兩個同步字符之后再使用操作命令控制字。若工作于異步方式,那么必須緊跟操作命令控制字進(jìn)行定義,然后才可開始傳送數(shù)據(jù)。在數(shù)據(jù)傳送過程中,可使用操作命令字重新定義,或使用狀態(tài)字讀取8251A的狀態(tài),待數(shù)據(jù)傳送結(jié)束,必須用操作命令控制字將IR位置“1”,向8251A傳送內(nèi)部復(fù)位命令后,8251A才可重新接收方式選擇命令字、改變工作方

溫馨提示

  • 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

提交評論