第6章 常用的輸入輸出接口芯片.ppt_第1頁
第6章 常用的輸入輸出接口芯片.ppt_第2頁
第6章 常用的輸入輸出接口芯片.ppt_第3頁
第6章 常用的輸入輸出接口芯片.ppt_第4頁
第6章 常用的輸入輸出接口芯片.ppt_第5頁
已閱讀5頁,還剩198頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、第6章 常用的輸入輸出接口芯片,6.1 簡單接口 6.2 總線控制器8288 6.3 總線裁決器8289 6.4 可編程并行接口8255 6.5 可編程定時器8253 6.6 可編程串行接口8250 6.7 A/D及D/A變換器接口,6.1 簡單接口,6.1.1 三態(tài)門接口芯片 一個典型的三態(tài)門接口芯片(74LS244)如圖2.12所示。從圖中不難看出該芯片由8個三態(tài)門構(gòu)成,其中每4個三態(tài)門由一個控制端( 或 )來控制。當(dāng)控制端有效時(低電平),三態(tài)門導(dǎo)通;當(dāng)它們?yōu)楦唠娖綍r,相應(yīng)的三態(tài)門呈現(xiàn)高阻狀態(tài)。,在圖61中,三態(tài)門74LS244采用部分地址譯碼地址線A1和A0未參加譯碼,故它所占的地址為

2、83FCH83FFH。我們可以用其中任何一個地址,而其他重疊的3個地址空著不用。,圖6.1 三態(tài)門輸入接口,利用程序可以判斷任何一個開關(guān)的狀態(tài)。例如,當(dāng)K2閉合時,程序轉(zhuǎn)向CLOSK2;而當(dāng)它打開時程序轉(zhuǎn)向OPENK2。這段程序如下: START: MOV DX,83FCH IN AL,DX AND AL,02H JZ CLOSK2 JMP OPENK2,6.1.2 鎖存器接口芯片 74LS273用低電平的 復(fù)位,用CP脈沖上升沿將輸入端DX的狀態(tài)鎖存在QX輸出端。 74LS273的數(shù)據(jù)鎖存輸出端Q是通過一個一般的門(二態(tài)門)輸出的。也就是說,只要74LS273正常工作,其Q端總有一個確定的邏

3、輯狀態(tài)(0或1)輸出。,圖6.2 74LS273引線圖和真值表,圖6.3 74LS374引線圖和真值表,圖6.4 74LS374的內(nèi)部結(jié)構(gòu),圖6.5 74LS374作為輸出接口,圖6.6 74LS374用作輸入接口,6.1.3 簡單接口舉例 1. LED數(shù)碼管 LED數(shù)碼管分為共陽和共陰兩種結(jié)構(gòu)。在封裝上有將一位、二位或更多位封裝在一起的。由于篇幅限制,只介紹一位共陽封裝的LED數(shù)碼管,如圖67所示。,圖6.7 共陽LED數(shù)碼管的示意圖,2. 接口電路 這種七段LED數(shù)碼管與微機(jī)系統(tǒng)總線有多種接口方式。而生產(chǎn)廠家為數(shù)碼管生產(chǎn)了多種譯碼器,可直接作為LED數(shù)碼管接口,本書不做說明。在此,利用前面

4、提到的鎖存器74LS273作為輸出接口,將開路集電極門7406作為驅(qū)動器連接LED數(shù)碼管。用三態(tài)門作為按鈕K的輸出接口,其連接圖如圖68所示。,圖6.8 LED數(shù)碼管及按鈕的一種接口電路,下面一段程序可判斷按鈕的狀態(tài)。當(dāng)K閉合時,顯示3,當(dāng)K斷開時顯示6。 START:MOV DX,00F1H IN AL,DX TEST AL,01H JNZ KOPEN MOV DX,00F0H MOV AL,4FH,OUT DX,AL JM PSTART KOPEN:MOVDX,00F0H MOV AL,7DH OUT DX,AL JM PSTART,6.2 總線控制器8288,6.2.1 引線及功能 如圖

5、69所示,總線控制器包括與處理器相連接的兩組輸入信號和兩組輸出信號,即處理器狀態(tài)和控制信號、總線命令輸出信號和由它輸出的控制信號。下面僅對這些信號做最簡單地說明。,圖6.9 總線控制器8288引線圖,為微處理器(8088或其他)的狀態(tài)信號,這3個信號的不同編碼代表處理器的不同狀態(tài)。 CLK來自8284,是與CPU的CLK一樣的時鐘信號。 為地址允許信號。 CEN是命令允許信號。 IOB為I/O總線方式輸入控制信號。 為超前I/O寫命令,低電平有效。 為超前存貯器寫命令,其含義與 類似,是由 發(fā)出的,用以提前告訴存貯器執(zhí)行寫命令的低電平有效信號。,為I/O寫命令,低電平有效。 為I/O讀命令,低

6、電平有效。 為存貯器讀命令,低電平有效。 為存貯器寫命令,低電平有效。 為中斷響應(yīng)信號,低電平有效。 為數(shù)據(jù)發(fā)送/接收控制信號。 ALE為地址鎖存允許信號,高電平有效。 DEN數(shù)據(jù)允許信號,高電平有效。 MCE/ 是一個雙功能引腳。,6.2.2 8288總線控制器使用舉例 圖6.10是一個利用8288總線控制器構(gòu)成系統(tǒng)總線的簡化圖。,圖6.10 利用8288構(gòu)成系統(tǒng)總線,6.3 總線裁決器8289,6.3.1 8289引線及簡單功能說明 總線裁決器8289引線如圖6.11所示。8289的20條引線分成如圖所示的幾類。,圖6.11 總線裁決器8289引線圖,為由處理器來的處理器狀態(tài)信號。 為鎖定

7、信號。 為通用請求鎖定信號。 RESB和 這兩個輸入信號根據(jù)輸入電平不同可組合成多種不同的工作方式。如表6.1所示。 CLK為輸入裁決器的時鐘,通常由時鐘發(fā)生器的CLK端提供。 ANYRQST為任意請求信號。 為忙信號。 為通用總線請求信號。,為地址允許信號。 為系統(tǒng)總線/保留總線選擇輸入信號。,6.3.2 優(yōu)先級控制及工作方式 1. 優(yōu)先級控制 主要有如下幾種: (1)并行優(yōu)先級控制 并行優(yōu)先級控制如圖6.12所示。 (2)串行優(yōu)先級控制 8289串行優(yōu)先級控制如圖6.13所示。由1號8289到3號8289的優(yōu)先級依次降低。,圖6.12 并行優(yōu)先級控制,圖6.13 串行優(yōu)先級控制,2. 82

8、89的工作方式 前面已經(jīng)提到,8289有4種工作方式。 (1) IOB方式 (2) 保留總線方式 (3) 單總線方式 (4) IOB與保留混合方式,6.4 可編程并行接口8255,6.4.1外部引線及內(nèi)部結(jié)構(gòu) 1.外部引線 8255的外部引線如圖6.14所示。 D0D7為雙向數(shù)據(jù)信號線,用來傳送數(shù)據(jù)和控制字。 為讀信號線,與其他信號線一起實現(xiàn)對8255接口的讀操作。,為寫信號線,與其他信號一起實現(xiàn)對8255的寫操作,通常接系統(tǒng)總線的 。 為片選信號線,當(dāng)它為低電平(有效)時,才能選中該8255芯片,也才能對8255進(jìn)行操作。A0,A1為口地址選擇信號線。 RESET為復(fù)位輸入信號。 PA0PA

9、7為A口的8條輸入輸出信號線。 PC0PC78條線根據(jù)其工作方式可作為數(shù)據(jù)的輸入或輸出線,也可以用作控制信號的輸出或狀態(tài)信號的輸入線,具體情況將在本節(jié)后面做介紹。,圖6.14 可編程并行接口8255引線圖,2.內(nèi)部結(jié)構(gòu) 8255的內(nèi)部結(jié)構(gòu)框圖如圖6.15所示。 從圖6.15中可以看到,左邊的信號與系統(tǒng)總線相接,而右邊是與外設(shè)相連接的3個口。3個口均為8位。 為了控制方便,將8255的3個口分成A,B兩組。其中A組包括A口的8條線PA0PA7和C口的高4位PC4PC7。B組包括B口的8條線PB0PB7和C口的低4位PC0PC3。A組和B組分別由軟件編程來加以控制。,圖6.15 8255的內(nèi)部結(jié)構(gòu)

10、框圖,8255A的內(nèi)部結(jié)構(gòu)和功能,外設(shè)數(shù)據(jù)端口,端口A:PA0PA7 A組,支持工作方式0、1、2 常作數(shù)據(jù)端口,功能最強(qiáng)大 端口B:PB0PB7 B組,支持工作方式0、1 常作數(shù)據(jù)端口 端口C:PC0PC7 僅支持工作方式0 A組控制高4位PC4PC7 B組控制低4位PC0PC3 可作數(shù)據(jù)、狀態(tài)和控制端口 分兩個4位,每位可獨立操作 控制最靈活,最難掌握,6.4.2 8255的工作方式 8255有3種工作方式。這些工作方式可用軟件編程來指定。這里我們首先對每一種工作方式進(jìn)行說明。 1. 工作方式0,又稱為基本輸入輸出方式 在此方式下,可分別將A口的8條線、B口的8條線、C口高4位對應(yīng)的4條線

11、和C口低4位對應(yīng)的4條線定義為輸入或輸出。,表6.2 8255方式0之下的輸入輸出組合,2.工作方式1,即選通輸入輸出方式 在這種方式下,A口和B口仍作為數(shù)據(jù)的輸出口或輸入口,同時還要利用C口的某些位作為控制和狀態(tài)信號。 (1) 方式1下A口、B口均為輸出 為輸出緩沖器滿信號,低電平有效。 為外設(shè)響應(yīng)信號,低電平有效。 INTR為中斷請求信號,高電平有效。 INTE為中斷允許狀態(tài)。,圖6.16 方式1下,A、B口均為輸出的信號定義,圖6.17 方式1下的數(shù)據(jù)輸出時序,(2)方式1下A口、B口均為輸入 與方式1下兩口均為輸出類似,為實現(xiàn)選通輸入,則同樣要利用C口的信號線。其定義如圖6.18所示。

12、 在口為輸入時所用到的控制信號的定義如下: 為低電平有效的輸入選通信號。 IBF為高電平有效的輸入緩沖器滿信號。 INTR為中斷請求信號,高電平有效。 INTE為中斷允許狀態(tài)。,圖6.18 方式1下A、B口均為輸入時的信號定義,3. 工作方式2,又稱雙向輸入輸出方式 A口工作于方式2之下時,各信號的定義如圖6.20所示。圖中未畫B口和C口的其他引線。 當(dāng)A口工作在方式2時,其控制信號 、 、 、IBF及INTR與前面的敘述是一樣的,所不同的主要是: 因為在方式2之下,A口既作為輸出又作為輸入,因此,只有當(dāng) 有效時,才能打開A口輸出數(shù)據(jù)三態(tài)門,使數(shù)據(jù)由PA0PA7輸出。, 此時A口輸入、輸出均具

13、備鎖存數(shù)據(jù)的能力。 在這種方式下,A口的數(shù)據(jù)輸入或數(shù)據(jù)輸出均可引起中斷。,圖6.20 方式2下的信號定義,圖6.21 方式2下的時序圖,6.4.3 方式控制字及狀態(tài)字 1. 控制字 8255的控制字由8位二進(jìn)制數(shù)構(gòu)成,各位的控制功能如圖6.22所示。 2. 狀態(tài)字 當(dāng)8255的A口、B口工作在方式1或A口工作在方式2時,通過讀C口的狀態(tài),可以檢測A口和B口的狀態(tài)。,圖6.22 8255的控制字格式,圖6.23 C口的按位操作控制字格式,圖6.24 A、B口均為方式1輸入時的狀態(tài)字,圖6.25 A、B口均為方式1輸出時的狀態(tài)字,圖6.26 A口在方式2工作時的狀態(tài)字,6.4.4 8255的尋址及

14、連接使用 8255占外設(shè)編址的4個地址,即A口、B口、C口和控制寄存器各占一個外設(shè)接口地址。對同一個地址分別可以進(jìn)行讀寫操作。 根據(jù)這種尋址結(jié)構(gòu),可以方便地將8255連接到系統(tǒng)總線上,如圖6.27上所示。 由圖6.27可見,8255與8088總線連接是比較容易的。只是圖中為了簡化起見未畫出AEN的形成。,表6.3 8255的尋址,圖6.27 PC機(jī)中8255的連接,利用全部A0A15地址線連接兩片8255構(gòu)成外設(shè)接口,其連接圖如 圖6.28所示。由圖中的譯碼電路可以看到,兩片8255的接口地址分別為FBC0HFBC3H和FBC4HFBC7H。,圖6.28 8255連接到8088系統(tǒng)總線上,6.

15、4.5 初始化及應(yīng)用舉例 8255可編程接口芯片的初始化十分簡單,只要將控制字寫入8255的控制寄存器即可實現(xiàn)。 在下面的初始化程序中使B口為輸入: INIT55: MOV DX,0383H MOV AL,10000011B OUT DX,AL MOV AL,00001101B OUT DX, AL,圖6.29 8255與打印機(jī)的連接,圖6.30 打印機(jī)的工作時序,若利用此打印機(jī)接口打印一批字符,且字符串長度在當(dāng)前數(shù)據(jù)段的BLAK單元中,要打印的字符在由DATA單元開始的當(dāng)前數(shù)據(jù)段中順序排列,則打印程序如下: PRINT: MOV AL,BLAK MOV CL,AL MOV SI,OFFSET

16、 DATA GOON:MOV DX,0382H PWAIT: IN AL,DX AND AL,02H JNZ PWAIT;等待不忙,MOV AL,SI MOV DX,0380H OUT DX,AL ;送數(shù)據(jù) MOV DX,0382H MOV AL,00H OUT DX,AL MOV AL,40H OUT DX,AL ;送 脈沖 IN CSI DE CCL JN ZGOON RET,若利用圖6.27所示的8255的接口地址,在方式1下,8255與打印機(jī)的連接圖如圖6.31所示。 如圖6.31所示,打印機(jī)接收一個字符后,會送出一個低電平的響應(yīng)信號 。,圖6.31 8255與打印機(jī)的另一種連接,下面

17、就是對8255進(jìn)行初始化的程序: MOV DX,0383H MOV AL,10100000B OUT DX,AL MOV AL,00001101B OUT DX,AL,6.5 可編程定時器8253,6.5.1 外部引線及其功能 可編程定時器8253的外部引線如圖6.32所示,相應(yīng)的內(nèi)部結(jié)構(gòu)框圖如圖6.33所示。 8253與總線相連接的引線主要是: D0D7雙向數(shù)據(jù)線,用以傳送數(shù)據(jù)和控制字。 輸入信號,低電平有效。 讀控制信號,低電平有效。 寫控制信號,低電平有效。,A0、A1為8253的內(nèi)部計數(shù)器和一個控制寄存器的編碼選擇信號,其功能如下: A1 A0 0 0 可選擇計數(shù)器0 0 1 可選擇計

18、數(shù)器1 1 0 可選擇計數(shù)器2 1 1可選擇控制寄存器,圖6.32 可編程定時器8253引線圖,A0、A1與其他控制信號,如 , , 共同實現(xiàn)對8253的尋址。細(xì)節(jié)將在下面說明。 CLK 02是每個計數(shù)器的時鐘輸入端。計數(shù)器對此時鐘信號進(jìn)行計數(shù)。CLK最高頻率可達(dá)2MHz。 GATE 02門控信號,即計數(shù)器的控制輸入信號,用來控制計數(shù)器的工作。 OUT 02計數(shù)器輸出信號,用來產(chǎn)生不同方式工作時的輸出波形。,6.5.2 工作方式 從內(nèi)部結(jié)構(gòu)圖6.33可以看到,可編程定時器8253內(nèi)部有3個相同的16位計數(shù)器。 1.方式0(計數(shù)結(jié)束產(chǎn)生中斷) 在這種方式下,計數(shù)器對CLK輸入信號進(jìn)行減法計數(shù),每

19、一個時鐘周期計數(shù)器減1。 2.方式1(可編程單穩(wěn)) 當(dāng)計數(shù)值裝入計數(shù)器后,要由門控信號GATE上升沿開始啟動計數(shù)。,圖6. 33 可編程定時器8253內(nèi)部結(jié)構(gòu)框圖,3.方式2(頻率發(fā)生器) 在該方式下,計數(shù)器裝入初值。開始工作后,計數(shù)器的輸出OUT將連續(xù)輸出一個時鐘周期寬的負(fù)脈沖。 4.方式3(方波發(fā)生器) 在這種方式下,可以從OUT得到對稱的方波輸出。 5. 方式4(軟件觸發(fā)選通) 設(shè)置此方式后,輸出OUT立即變?yōu)楦唠娖?。一旦裝入計數(shù)值,計數(shù)立即開始。,6. 方式5(硬件觸發(fā)選通) 設(shè)置此方式后,OUT輸出為高電平。GATE的上升沿使計數(shù)開始。當(dāng)計數(shù)結(jié)束時由輸出端OUT送出一寬度為一個時鐘周

20、期的負(fù)脈沖。 在此方式下,GATE電平的高低不影響計數(shù),計數(shù)由GATE的上升沿啟動。 若在計數(shù)結(jié)束前,又出現(xiàn)GATE上升沿,則計數(shù)從頭開始。 從8253的6種工作方式中可以看到門控信號GATE十分重要,而且對不同的工作方式,其作用不一樣?,F(xiàn)將各種方式下,GATE的作用列于表6.4中。,表6.4 GATE信號功能表,6.5.3 8253的控制字 可編程定時器8253的控制字格式如圖6.34所示。 8253的控制字D0用來定義用戶所使用的計數(shù)值是二進(jìn)制數(shù)還是BCD數(shù)。 8253控制字中,RL1RL0為00時的作用將在下面說明。 8253每個計數(shù)器都有自己的16位的計數(shù)值寄存器,由于其使用簡單,亦不

21、做說明。,圖6.34 8253的控制字格式,6.5.4 8253的尋址及連接 1.尋址 8253占用4個接口地址,地址由 、A0、A1來確定。 當(dāng)對8253的計數(shù)器進(jìn)行讀操作時,可以讀出計數(shù)值,具體實現(xiàn)方法有如下兩種: 使計數(shù)器停止計數(shù)時,先寫入控制字,規(guī)定好RL1和RL0的狀態(tài)也就是規(guī)定讀一個字節(jié)還是讀兩個字節(jié)。,表6.5 各尋址信號組合功能,在計數(shù)過程中讀計數(shù)值。這時讀出當(dāng)前的計數(shù)值并不影響計數(shù)器的工作。為做到這一點,首先寫入8253一個特定的控制字:SC1SC000。這是控制字的一種形式。,2.連接 為了用好8253,讀者必須能熟練地將它連接到系統(tǒng)總線上。圖6.35就是8253與8088

22、系統(tǒng)總線連接的例子。 在圖6.35中,主要解決了8253與8088總線的連接。通過譯碼器,使8253占FF04HFF07H四個接口地址。假如在連接中采用了部分地址譯碼方式,使A0不參加譯碼,則8253的每一個計數(shù)器和控制寄存器分別占用兩個接口地址。,圖6.35 8253與8088系統(tǒng)總線的連接,圖6.36 PC機(jī)中8253的連接簡圖,6.5.5 初始化及其應(yīng)用 逐個對計數(shù)器進(jìn)行初始化。 先寫所有計數(shù)器的方式字,再裝入各計數(shù)器的計數(shù)值,其過程如圖6.38所示。,圖6.37 一個計數(shù)器的初始化順序,摘錄該段程序如下: MOV AL,36H ;計數(shù)器0,雙字節(jié), ;方式3,十六進(jìn)制計數(shù) OUT 43

23、H,AL ;寫入控制寄存器 MOV AL,0 OUT 40H,AL ;寫低字節(jié) OUT 40H,AL ;寫高字節(jié),圖6.38 另一種初始化編程順序,由于規(guī)定工作在方式3,在OUT0輸出端可以獲得對稱方波。下面是對計數(shù)器1的初始化程序: MOV AL, 54H ;計數(shù)器1,只寫低字節(jié),方式2,二 進(jìn)制計數(shù) OUT 43H,AL ;寫入控制寄存器 MOV AL,18 ;將低字節(jié)計數(shù)值18寫入計數(shù)器1 OUT 41H,AL,下面是對計數(shù)器2的初始化程序: MOV AL, 0B6H ;選擇計數(shù)器2,寫雙字節(jié),方 式3,二進(jìn)制計數(shù) OUT 43H,AL ;裝入控制寄存器 MOV AX,533H OUT

24、42H,AL ;送低字節(jié) MOV AL,AH OUT 42H,AL ;裝入高字節(jié),下面我們以圖6.35所示的連接圖為例,寫出8253的初始化程序。請讀者分析此程序的初始化順序以及各計數(shù)器的工作方式。 SET8253: MOV DX,0FF07H MOV AL,36H OUT DX,AL MOV AL,71H OUT DX,AL MOV AL,0B5H OUT DX,AL MOV DX,0FF04H,MOV AL,0A8H OUT DX,AL MOV AL,61H OUT DX,AL MOV DX,0FF05H MOV AL,00H OUT DX,AL MOV AL,02H OUT DX,AL

25、MOV DX,0FF06H MOV AX,0050H,OUT DX,AL MOV AL,AH OUT DX,AL 從以上的敘述中可以看到,8253在應(yīng)用上具有很高的靈活性。通過對外部輸入時鐘信號的計數(shù),可以達(dá)到計數(shù)和定時兩種應(yīng)用目的。,6.6 可編程串行接口8250,6.6.1 概述 在串行通信中,經(jīng)常采用兩種最基本的通信方式,一種是同步通信,一種是異步通信。 1.同步通信 所謂同步通信是指,在約定的波特率(每秒鐘傳送的位數(shù))下,發(fā)送端和接收端的頻率保持一致(同步)。,在圖6.39中,除數(shù)據(jù)場的字節(jié)數(shù)不受限制外,其他均為8位。其中圖(a)為單同步格式,傳送一幀數(shù)據(jù)僅使用一個同步字。 圖(b)為

26、雙同步字格式,這時利用兩個同步字進(jìn)行同步。圖(c)為同步數(shù)據(jù)鏈路控制(SDLC),而(e)稱為高級數(shù)據(jù)鏈路控制(HDLC)。,圖6.39 常見的幾種同步通信格式,2. 異步通信 異步通信是指,收發(fā)端在約定的波特率下,不需要嚴(yán)格地同步,允許有相對的遲延。即兩端的頻率差別在1/10以內(nèi),就能正確地實現(xiàn)通信。異步通信的數(shù)據(jù)傳送格式如圖6.40所示。,圖6.40 異步串行通信數(shù)據(jù)格式,6.6.2 可編程串行接口8250 50可編程串行接口的功能強(qiáng),使用靈活,應(yīng)用廣泛。這里對它進(jìn)行簡要介紹,主要目的在于日后能夠使用。 1.引線及功能 8250的外部引線及內(nèi)部結(jié)構(gòu)簡圖如圖6.41和圖6.42中所示。,圖6

27、.41 可編程串行通信接口,圖6.42可編程串行通信接口8250,CS0,CS1, 為輸入選片信號。 A0,A1,A2為8250內(nèi)部寄存器的選擇信號。 為地址選通信號。 DISTR、 為數(shù)據(jù)輸入選通信號。 DOSTR, 為數(shù)據(jù)輸出選通信號。 RCLK為接收時鐘信號。 SIN為串行信號輸入端。 為清除發(fā)送信號。 為請求發(fā)送信號。,為數(shù)據(jù)終端準(zhǔn)備好信號。 為數(shù)據(jù)裝置準(zhǔn)備好信號。 為接收線路信號檢測信號。 為振鈴指示信號。 是由用戶編程指定的輸出端。 與OUT1一樣,可以由用戶編程指定。 CSOUT為選片輸出信號。 DDIS為驅(qū)動器禁止信號。 BAUDOUT為波特率輸出。,INTR為中斷請求輸出信號

28、。 SOUT為串行輸出信號。 XTAL1、XTAL2為外部時鐘端。 D0D7雙向數(shù)據(jù)線。 MR為主復(fù)位輸入信號,高電平有效。,表6.6 MR功能,2. 8250的工作過程 這里我們簡要說明8250的工作過程。 (1)發(fā)送數(shù)據(jù) CPU執(zhí)行有關(guān)程序,可將要發(fā)送的數(shù)據(jù)寫到8250的發(fā)送數(shù)據(jù)寄存器中(見圖6.42)。 (2)接收數(shù)據(jù) 由通信對方來的數(shù)據(jù)在接收時鐘RCLK作用下,通過SIN逐位進(jìn)入接收移位寄存器。,3. 內(nèi)部寄存器 現(xiàn)在介紹8250的一些內(nèi)部寄存器。只有了解這些內(nèi)部寄存器各位的功能,才能用好8250。我們介紹這些內(nèi)部寄存器的出發(fā)點也在于此。以下10個內(nèi)部寄存器與用戶編程使用8250有關(guān)。

29、 (1)通信控制字寄存器 這是一個8位的寄存器,其主要功能如圖6.43所示。,圖6.43 通信控制字,(2)通信狀態(tài)寄存器 通信狀態(tài)寄存器是一個8位寄存器,其各位的功能如圖6.44所示。 D0為1時表示8250已接收到一個完整的字符,處理器可以從8250的接收數(shù)據(jù)寄存器中讀取。 D1是越限狀態(tài)標(biāo)志。 D2為奇偶校驗錯標(biāo)志。 D3為結(jié)構(gòu)錯標(biāo)志。 D4為線路間斷標(biāo)志。 D5為1時表示發(fā)送數(shù)據(jù)寄存器空。,圖6.44 通信狀態(tài)字,D6為1時表示發(fā)送移位寄存器中無數(shù)據(jù)。 D7位恒為0。 (3) 發(fā)送數(shù)據(jù)寄存器 (4) 接收數(shù)據(jù)寄存器 (5) 除數(shù)鎖存器 由下式求出除數(shù)鎖存器應(yīng)鎖存的除數(shù):,除數(shù),(6)

30、中斷允許寄存器,圖6.45 中斷允許字,(7) 中斷標(biāo)志寄存器 中斷標(biāo)志寄存器為8位,高5位為0,只用低3位作8250的中斷標(biāo)志。8250有4個中斷源,在8250內(nèi)部安排優(yōu)先級的順序如下所述: 最高優(yōu)先級為接收器線路狀態(tài)中斷,包括越限、奇偶錯、結(jié)構(gòu)錯、間斷等。,(8) MODEM控制寄存器 這是一個8位的寄存器,用以控制MODEM或其他數(shù)字設(shè)備。各位的功能如圖6.47所示。 D0位表示數(shù)據(jù)終端準(zhǔn)備好。 D1位為1時,8250的 輸出低電平,向MODEM發(fā)出請求發(fā)送信號,也以此來通知MODEM,串行接口8250已準(zhǔn)備好。 D2位和D3位分別用以控制8250的輸出信號 和 。,圖6.46 中斷標(biāo)志

31、字,圖6.47 MODEM控制字,D4位用來控制循環(huán)檢測,實現(xiàn)8250自己對自己的自測試。 在D4=1,即自測試情況下,中斷仍能進(jìn)行。 當(dāng)D4=0時,8250正常工作。 (9) MODEM狀態(tài)寄存器 MODEM狀態(tài)寄存器用以提供MODEM或其他外設(shè)加到8250上的控制線的信號狀態(tài)以及這些控制線的狀態(tài)變化。,圖6.48 MODEM狀態(tài)字,該寄存器D4位的狀態(tài)是輸入信號 反相之后的狀態(tài)。在自測試 時,該位的狀態(tài)等于MODEM控制寄存器 位的狀態(tài)。 此寄存器的D5位對應(yīng) 輸入狀態(tài)的反相,自測試時為 的狀態(tài)。 D6位對應(yīng) 輸入信號的反相,自測試時為 的狀態(tài)。 D7位對應(yīng) 狀態(tài)的反相,自測試時為OUT2

32、的狀態(tài)。,3.8 250的尋址及連接 8250內(nèi)部有10個與我們編程使用有關(guān)的寄存器,利用選片CS0、CS1和 可以選中8250。利用片上的A0、A1、A2三條地址線最多可以選擇8個寄存器對應(yīng)3位地址線的8種不同編碼。,表6.7 8250的尋址,圖6.49 8250的連接,4.初始化及其應(yīng)用 8250初始化時,通常首先使通信控制字的D7=1,即使DLAB為1。在此條件下,將除數(shù)低8位和高8位分別寫入8250內(nèi)部的除數(shù)鎖存器。然后再以不同的地址分別寫入通信控制字、MODEM控制字及中斷允許字等等。,圖6.50 8250的初始化順序,在圖6.49中,8250的地址為03F8H到03FFH。根據(jù)該圖

33、,對8250進(jìn)行初始化的程序如下: INT50:MOV DX,3FBH MOV AL,80H OUT DX,AL ;將通信控制寄存器D7=1即 DLAB=1 MOV DX,3F8H MOV AL,60H OUT DX,AL ;鎖存除數(shù)低8位 INC DX MOV AL,0,OUT DX,AL ;鎖存除數(shù)高8位 MOV DX,3FBH MOV AL,0AH OUT DX,AL ;初始化通信控制寄存器 MOV DX,3FCH MOV AL,03H OUT DX,AL ;初始化MODEM控制器 MOV DX,3F9H MOV AL,0 OUT DX,AL ;寫中斷允許寄存器,發(fā)送數(shù)據(jù)的程序接在初始化

34、程序之后。若采用查詢方式發(fā)送數(shù)據(jù),且要發(fā)送數(shù)據(jù)的字節(jié)數(shù)放在BX中,要發(fā)送的數(shù)據(jù)順序存放在以SEDATA為首地址的內(nèi)存區(qū)中,則發(fā)送數(shù)據(jù)的程序如下: SEDPG: MOV DX,3FDH LEA SI,SEDATA WAITSE: IN AL,DX TEST AL,20H JZ WAITSE PUSH DX MOV DX,3F8H MOV AL,SI,OUT DX,AL POP DX IN CSI DE CBX JNZ WAITSE 同樣,在初始化后,可以利用查詢方式實現(xiàn)數(shù)據(jù)的接收。下面是8250接收一個數(shù)據(jù)的程序:,REVPG: MOV DX,3FDH WAITRE:INA L,DX TEST

35、AL,1EH JNZ ERROR TEST AL,01H JZ WAITRE MOV DX,3F8H IN AL,DX AND AL ,7FH,下面仍以圖6.49所示的連接形式為例,說明利用中斷方式,通過8250實現(xiàn)串行異步通信的過程。為了便于敘述,我們設(shè)想系統(tǒng)以查詢方式發(fā)送數(shù)據(jù),以中斷方式接收數(shù)據(jù),則對8250的初始化的程序如下: INISIR: MOV DX,3FBH MOV AL,80H OUT DX,AL;置DLAB=1 MOV DX,3F8H MOV AL,0CH,OUT DX,AL MOV DX,3F9H MOV AL,0 ;置除數(shù)為000CH,規(guī)定波特率為9600波特 OUT D

36、X,AL MOV DX,3FBH MOV AL,0AH OUT DX,AL ;初始化通信控制寄存器 MOV DX,3FCH MOV AL,0BH,OUT DX,AL ;初始化MODEM寄存器 MOV DX,3F9H MOV AL,01H OUT DX,AL ;初始化中斷允許寄存器 STI ;允許接收數(shù)據(jù)寄存器滿產(chǎn)生中斷 該程序?qū)?250進(jìn)行初始化,并在初始化完時(假如其他接口初始化在此之前)開中斷。,接收中斷服務(wù)程序可如下編寫: RECVE:PUSH AX PUSH BX PUSH DX PUSH DS MOV DX,3FDH IN AL,DX TEST AL,1EH JNZ ERROR MO

37、V DX,3F8H,IN AL,DX AND AL,7FH MOV BX,OFFSETBUFFER MOVBX,AL MOV DX,INTRER MOV AL,20H;將EOI命令發(fā)給中斷控制器8259 OUT DX,AL POP DS POP DX POP BX POP AX STI IRET,6.6.3 串行通信總線RS-232C 1. RS-232C總線的特點 在這些串行總線中,RS-232C應(yīng)用最為廣泛,這是因為它具備許多優(yōu)點: 信號線少。RS-232C總線規(guī)定了25條線,包含兩個信號通道,即第一通道(又稱主通道)和第二通道(又稱副通道)。 有多種可供選擇的傳送速率。 傳送距離遠(yuǎn)。 R

38、S-232C采用負(fù)邏輯無間隔不歸零電平碼傳送。,2. RS-232C信號定義與說明 RS-232C的信號定義如表6.8所示。RS-232C主要信號說明如下: AA信號線與設(shè)備的機(jī)殼相連接,構(gòu)成屏蔽地。 AB信號線為所有電路提供參考電位。 BA信號線傳送要發(fā)送的數(shù)據(jù)。 BB信號線用以向本端接收設(shè)備傳送數(shù)據(jù)。 CA信號在本端準(zhǔn)備發(fā)送數(shù)據(jù)時,用來通知對方(MODEM或遠(yuǎn)置接收設(shè)備),請求向?qū)Ψ桨l(fā)送數(shù)據(jù)。 CB信號為上面CA的應(yīng)答信號。,表6.8 RS-232C接口信號定義,CB信號為上面CA的應(yīng)答信號。 CC信號是由對方(MODEM或遠(yuǎn)置終端)提供的狀態(tài)信號。 CD信號是由本端輸出到對方(MODEM

39、或遠(yuǎn)置終端)的信號,用來通知對方,本端已準(zhǔn)備就緒,可以進(jìn)行通信了。 CE信號線上傳送由對方設(shè)備發(fā)來的振鈴信號。 CF信號線輸入由調(diào)制解調(diào)器送來的狀態(tài)信號。 CG為數(shù)據(jù)質(zhì)量檢測信號,用來指示接收到的數(shù)據(jù)質(zhì)量不好,誤碼率很高。 CH信號在雙速率同步數(shù)據(jù)設(shè)備中用來選擇兩種碼速率中的一種。,CI信號與上述CH相同,或者在非雙速率同步數(shù)據(jù)設(shè)備中,用于在兩個碼速率中選擇一種。 DA為發(fā)送信號變換器提供的碼元定時信號。 DB為數(shù)據(jù)終端設(shè)備提供的碼元定時信號。 DD信號為接收到的數(shù)據(jù)碼元提供的碼元定時信號。,3. RS-232C接口總線的實現(xiàn) 由圖6.51可以看到,接口芯片8250提供的輸出信號,主要是SOU

40、T、 等,圖6.51 RS-232C總線形成,圖6.52 RS-232C驅(qū)動和接收電路,圖6.53 電流環(huán)接口傳輸電路,圖6.53只畫出了由微型機(jī)甲向微型機(jī)乙的電流環(huán)傳送電路。讀者一定可以想像出從乙向甲的電流環(huán)傳送的情況。當(dāng)SOUT輸出為高電平時,環(huán)路中有20mA左右的電流,使發(fā)光二極管發(fā)光,經(jīng)光敏三極管可在8250SIN端得到高電平。當(dāng)SOUT發(fā)送低電平時,電流環(huán)路中無電流,則SIN可收到低電平。,6.7 A/D及D/A變換器接口,6.7.1 數(shù)字到模擬(D/A)變換器 1. D/A變換器的基本原理及技術(shù)指標(biāo) 典型的D/A變換器芯片通常由模擬開關(guān)、權(quán)電阻網(wǎng)絡(luò)、緩沖電路等組成,其框圖如圖6.5

41、4所示。,圖6.54 典型D/A變換器芯片的組成框圖,D/A變換器的主要技術(shù)指標(biāo)有: (1) 分辨率 分辨率表示D/A變換器的1個LSB(最低有效位)輸入使輸出變化的程度。 (2) 精度 它表示由于D/A變換器的引入,使其輸出和輸入之間產(chǎn)生的誤差。 D/A變換器的誤差主要由下面幾部分組成: 非線性誤差。 溫度系數(shù)誤差。,電源波動誤差。 誤差的表示方法有兩種:絕對誤差和相對誤差。 完整的D/A變換電路還應(yīng)包括與D/A芯片輸出相接的運算放大器。這些器件也會給D/A變換器帶來誤差??紤]到這些因素是相對獨立的,因此D/A變換器的總精度如用均方誤差來表示,則可寫為: 2總=2非線性+2電源波動+2溫度漂

42、移+2運放 標(biāo)準(zhǔn)差為 總 = 2非線性+2電源波動+2溫度漂移+2運放,(61),(62),若某系統(tǒng)要求D/A變換電路的總誤差必須小于0.1%。已知某D/A芯片的最大非線性誤差為0.05%。那么根據(jù)式(61)可以確定,電源波動、溫度漂移和運算放大器所引起的均方誤差為 2電源波動+2溫度漂移+2運放= 又假設(shè),后三者是相等的,則經(jīng)計算可得 電源波動=溫度漂移=運放= 0.05%,(3) 變換時間 (4) 動態(tài)范圍 2. 典型的D/A變換器芯片舉例 (1)引線及其功能 D/A變換器DAC0832的引線及內(nèi)部結(jié)構(gòu)簡圖如圖6.55和6.56所示。,圖6.55 DAC0832的引線圖,圖6.56 DAC

43、0832內(nèi)部結(jié)構(gòu)圖,AC0832為20條引線的芯片,各引線定義如下: D0D78條輸入數(shù)據(jù)線; ILE輸入寄存器選通命令,它與 、 配合使輸入寄存器的輸出隨輸入變化; 選片信號; 寫輸入寄存器信號; 寫變換寄存器信號; 允許輸入寄存器數(shù)據(jù)傳送到變換寄存器;,VREF參考電壓輸入端,其電源電壓可在-10V+10V范圍中選取; IOUT1、IOUT2D/A變換器差動電流輸出; Rfb反饋端,接運算放大器輸出; AGND模擬信號地; DGND數(shù)字信號地; VCC電源電壓,可用+5V(或+15V),(2)工作時序 D/A芯片DAC0832的工作時序如圖6.57所示。 從DAC0832芯片的內(nèi)部結(jié)構(gòu)框圖

44、可以看出,D/A變換是分兩個步驟進(jìn)行的。,圖6.57 DAC0832的工作時序,(3) DAC0832的幾種典型輸出連接方式 單極輸出電路。單極性輸出電路如圖6.58所示。D/A芯片輸出電流i經(jīng)輸出電路轉(zhuǎn)換成單極性的電壓輸出。圖6.58(a)為反相輸出電路,其輸出電壓為:,(63),圖6.58(b)是同相輸出電路,其電壓輸出為:,(64),圖6.58 單極性輸出電路 (a)反相輸出; (b)同相輸出, 雙極性輸出電路。 由電路參數(shù)計算可得到最后的輸出電壓表達(dá)式為 設(shè)U1為0-5V,則選取UREF為+5V。那么 UOUT=010V-5V=-5V5V (66),(65),圖6.59 雙極性輸出電路

45、, DAC0832與8088微處理器的連接。 圖6.60中的雙極性輸出端為UOUT。當(dāng)D/A變換器輸入端的數(shù)據(jù)從00HFFH變化時,UOUT輸出將在-5+5V之間變化。如果想要單極性0+5V輸出,那么只要使UREF=-5V,然后直接從運算放大器A1的輸出端輸出即可。在圖中的輸出端接一個6806800pF的電容是為了平滑D/A變換器的輸出,同時也可以提高抗脈沖干擾的能力。,圖6.60 DAC0832與PC/XT總線的連接圖,設(shè)D/A的端口地址為278H,則用8088匯編語言書寫的、能產(chǎn)生鋸齒波的程序如下: ;用D/A產(chǎn)生鋸齒波的程序 DAOUT: MOV DX,278H ;端口地址送DX MOV

46、 AL,00H ;準(zhǔn)備起始輸出數(shù)據(jù) LOOP: OUT DX,AL DEC AL JMPLOOP ;循環(huán)形成周期鋸齒波,在圖6.60的基礎(chǔ)上,請閱讀下面的程序,判斷UOUT的波形。 START: MOV DX,0278H NEXT1:INC AL OUT DX,AL CMP AL,0FFH JNE NEXT1 NEXT2:DEC AL OUT DX,AL CMP AL,00H JNE NEXT2 JMP NEXT1,6.7.2 模擬到數(shù)字(A/D)變換器 1.A/D變換器的基本工作原理及結(jié)構(gòu) (1) A/D變換器的基本工作原理 逐次反饋型A/D變換器的基本工作原理及變換過程和用天平稱某一物體重

47、量的過程十分相似。 例如,某一個12位的A/D變換器,其最大輸入的模擬電壓為5V。那么,該A/D變換器輸出的對應(yīng)值就為FFFH。其最低有效位1位所代表的模擬電壓值稱為量化間隔(或稱當(dāng)量)。的定義為,最大輸入電壓,A/D變換器的量化電平數(shù)目,(67),(68),現(xiàn)設(shè)輸入模擬電壓為4.5V,其具體變換過程如下: 位序號 比較表達(dá)式 二進(jìn)制值 b11 4.5V-20481.22mV=2V 0 1 b10 2V-10241.22mV=0.75V 0 1 b9 0.75V-5121.22mV=0.125V 0 1 b8 0.125V-2561.22mV 0 0 b7 0.125V-1281.22mV 0

48、 0 b6 0.125V-641.22mV=0.046V 0 1 b5 0.046V-321.22mV=0.0069V 0 1 b4 0.0069V-161.22mV 0 0 b3 0.0069V-81.22mV 0 0,b2 0.0069V-41.22mV=0.0021V 0 1 b1 0.0021V-21.22mV 0 0 b0 0.0021V-11.22mV 0 1 (2)A/D變換器的結(jié)構(gòu)框圖 一種逐次反饋型A/D變換器的結(jié)構(gòu)框圖如圖6.61所示。從圖中可以看到,它由5大部分組成:接口控制邏輯、逐次變換寄存器、D/A變換器、比較器及三態(tài)驅(qū)動器。在有的A/D變換器芯片中,還包含有參考電源

49、等其他附屬電路。,圖6.61 逐次反饋A/D變換器結(jié)構(gòu)框圖,2. A/D變換器的主要技術(shù)指標(biāo) (1)精度 A/D變換器的總精度由各種因素引起的誤差所決定。這些誤差有: 量化誤差。A/D變換器的量化誤差決定于A/D變換器的轉(zhuǎn)換特性。一般的A/D變換器的轉(zhuǎn)換特性如圖6.62所示。 量化誤差用絕對誤差可表示為 量化誤差= 1/2 量化間隔,用相對誤差可表示為 量化誤差= 也有人用 1/2 LSB來表示量化誤差。 非線性誤差。 電源波動誤差。 例如,手冊中給出AD574的電源靈敏度為: +13.5VVCC+16.5V 2LSB -16.5VVDD-13.5V ( 1/2) LSB +4.5VVLOGI

50、C+13.5V 2LSB,0.5,量化電平數(shù)目, 溫度漂移誤差。 零點漂移誤差。 參考電源誤差。 上述這些誤差構(gòu)成了A/D變換器的總誤差。在計算A/D變換器總誤差值時,應(yīng)用各種誤差的均方和的根來表示。例如,總誤差可表示為 總 = 21+22+23+24+25 (69) 其中15為各因素引起的誤差。總為A/D變換器的總誤差。,(2) 變換時間(或變換速率) 完成一次A/D變換所需要的時間為變換時間。變換速率(頻率)是變換時間的倒數(shù)。例如AD574KD變換時間為35s,其變換速率為28.57kHz。 (3)輸入動態(tài)范圍 一般A/D變換器的模擬電壓輸入范圍大約為05V或010V。,3. A/D變換器

51、芯片及應(yīng)用 在這里介紹兩塊典型的A/D變換器的應(yīng)用。希望能在此基礎(chǔ)上,學(xué)會應(yīng)用任何類似的A/D芯片。 1) 12位A/D變換器芯片AD574 (1)AD574的引線及功能 AD574變換器的引線如圖6.63所示。,圖6.63 AD574的引線圖,各引出線的定義如下: REFOUT內(nèi)部參考電源電壓輸出(+10V)。 REFIN參考電壓輸入。 BIP偏置電壓偏入。 10VIN5V輸入或010V輸入。 20VIN10V輸入或020V輸入。 DB0DB11高字節(jié)為DB8DB11,低字節(jié)為DB0DB7。 STS“忙”信號輸出,高電平有效。,12/ 變換輸出字長選擇端,輸入為高電平時,變換字長輸出為12位,低電平時按8位輸出。 選片信號。 A0字節(jié)地址控制輸入。 R/ 數(shù)據(jù)讀輸出和轉(zhuǎn)換控制輸入。 CE工作允許信號,高電平有效。 +15V,-15V+15V,-15V電源輸入端。 AGND模擬地。 DGND數(shù)字地。,(2)AD574的工作時序 AD574的控制功能如表6.9所示。,表6.9 AD574控制功能狀態(tài)表,AD變換器芯片內(nèi)部集成有高精度參考電壓形成電路,滿足12位A/D變換的要求。同時,其內(nèi)部還集成有變換時鐘電路,故無需外接時鐘。這些都為使

溫馨提示

  • 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

提交評論