第8章--常用接口電路芯片_第1頁
第8章--常用接口電路芯片_第2頁
第8章--常用接口電路芯片_第3頁
第8章--常用接口電路芯片_第4頁
第8章--常用接口電路芯片_第5頁
已閱讀5頁,還剩80頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、微機原理與接口技術(shù)(第3版)周明德 張曉霞 蘭方鵬 著式可編程定時器/計數(shù)器82538.1內(nèi)容導航CONTENTS8.2可編程并行接口8255A8.3串行通信及串行通信接口芯片82511.4微型計算機的結(jié)構(gòu)6.4提高存儲器性能的技術(shù)6.5微機主存空間分配8.3串行通信及串行通信接口芯片82518.4數(shù)模轉(zhuǎn)換與模數(shù)轉(zhuǎn)換接口在控制系統(tǒng)中,常常要求有實時時鐘以實現(xiàn)定時或延時控制,如定時中斷、定時檢測、定時掃描等,也往往要求有計數(shù)器能對外部事件計數(shù)。定時或計數(shù)的工作實質(zhì)均體現(xiàn)為對脈沖信號的計數(shù)。如果計數(shù)的對象是標準的內(nèi)部時鐘信號,由于其周期恒定,故計數(shù)值就恒定地對應于一定的時間,這一過程就是定時;如果

2、計數(shù)的對象是與外部過程相對應的脈沖信號,則此時就是計數(shù)。8.1 可編程定時器/計數(shù)器82538.1.1 主要功能 8253主要有以下功能。(1)有3個獨立的16位計數(shù)器。(2)每個計數(shù)器都可以按照二進制或BCD碼進行計數(shù)。(3)每個計數(shù)器的計數(shù)速率可高達2MHz(8254-2計數(shù)頻率可達到10MHz)。(4)每個計數(shù)器有6種工作方式,可由程序設(shè)置和改變。(5)所有的輸入輸出引腳電平都與TTL電平兼容。(1)數(shù)據(jù)總線緩沖器。CPU用輸入輸出指令對8253進行讀寫的所有信息,都是通過這8條總線傳送的。(2)讀/寫邏輯。8253內(nèi)部操作的控制部分。(3)控制字寄存器。在8253初始化編程時,由CPU

3、寫入控制字以決定計數(shù)器的工作方式。此寄存器只能寫入而不能讀出。(4)計數(shù)器#0、計數(shù)器#1、計數(shù)器#2。這是三個計數(shù)器/定時器,每一個都由一個16位的可預置值的減法計數(shù)器構(gòu)成。這三個計數(shù)器的操作是完全獨立的。8.1.2 8253的內(nèi)部結(jié)構(gòu)圖8-1 8253的內(nèi)部結(jié)構(gòu)8.1.3 8253的引線圖8-2 8253的引線8253與CPU接口的引線,沒有復位信號(RESET引腳)。每一個計數(shù)器有三條引線:CLK輸入脈沖線:計數(shù)器就是對這個脈沖計數(shù)。8253規(guī)定,加在CLK引腳的輸入時鐘周期不能小于380ns。GATE:門控信號輸入引腳。這是控制計數(shù)器工作的一個外部信號。當GATE引腳為低(無效)時,通

4、常都是禁止計數(shù)器工作的;只有當GATE為高時,才允許計數(shù)器工作。OUT:輸出引腳。當計數(shù)到“0”時,OUT引線上必然有輸出,輸出信號的波形取決于工作方式。8253內(nèi)部端口的選擇是由引線A1和A0決定的,它們通常接至地址總線的A1和A0。各個通道的讀/寫操作的選擇如表9-1所示。CSRDWRA1A0寄存器選擇和操作01000寫入計數(shù)器#001001寫入計數(shù)器#101010寫入計數(shù)器#201011寫入控制寄存器00100讀計數(shù)器#000101讀計數(shù)器#100110讀計數(shù)器#200111無操作(三態(tài))1禁止(三態(tài))011無操作(三態(tài))表8-18253-PIT的端口選擇8.1.4 8253的控制字圖8

5、-3 8253的控制字(1)計數(shù)器選擇(D7D6)??刂谱值淖罡邇晌粵Q定是哪一個計數(shù)器的控制字。由于三個計數(shù)器的工作是完全獨立的,所以需要有三個控制字寄存器分別規(guī)定相應計數(shù)器的工作方式。但它們的地址是同一個,即A1A0=11控制字寄存器的地址。(2)數(shù)據(jù)讀/寫格式(D5D4)。(3)工作方式(D3D2D1)。(4)數(shù)制選擇(D0)。8253的每個計數(shù)器的計數(shù)制(二進制計數(shù)或BCD碼計數(shù))由這位決定。8253有6種不同的工作方式,在不同的工作方式下,計數(shù)器的啟動、GATE輸入信號的作用和OUT信號的輸出波形都有所不同。首先寫入控制字,接著寫初值,初始值寫入計數(shù)器后,經(jīng)過一個時鐘周期,減法計數(shù)器開

6、始工作。1. 方式0計數(shù)結(jié)束中斷方式在這種方式下,當控制字CW(Control Word)寫入控制字寄存器,則使OUT輸出端變低,此時計數(shù)器沒有賦予初值,也沒開始計數(shù)。要開始計數(shù),GATE信號必須為高電平,并在寫入計數(shù)初值后,通道開始計數(shù),在計數(shù)過程中 OUT線一直維持為低,直到計數(shù)到“0”時。OUT輸出變高。其過程如圖8-4所示。8.1.5 8253的工作方式圖8-4 方式0波形圖其中,LSB=4表示只寫低8位計數(shù)值為4。最底下一行是計數(shù)器中的數(shù)值。方式0工作有以下特點。(1)計數(shù)器只計一遍。當計數(shù)到0時,并不恢復計數(shù)值,不開始重新計數(shù),且輸出保持為高。只有在寫入另一個計數(shù)值時,OUT變低,

7、開始新的計數(shù)。(2)8253內(nèi)部是在CPU寫計數(shù)值的 信號上升沿,將此值寫入計數(shù)器的計數(shù)初值寄存器,在 信號上升沿后的下一個CLK脈沖,才將計數(shù)值由計數(shù)初值寄存器送至計數(shù)器,開始計數(shù)。如果設(shè)置計數(shù)初值為N,則輸出信號OUT是在寫入計數(shù)值后經(jīng)過N+1個CLK脈沖才變高的。這個特點在方式1、方式2、方式4和方式5時也是同樣的。(3)在計數(shù)過程中,可由門控制信號(GATE)控制暫停。當GATE=0時,計數(shù)暫停,當GATE變高后就接著計數(shù)。(4)在計數(shù)過程中可改變計數(shù)值。若是8位計數(shù),在寫入新的計數(shù)值后,計數(shù)器將按新的計數(shù)值重新開始計數(shù),如圖8-5所示。如果是16位計數(shù),在寫入第一個字節(jié)后,計數(shù)器停止

8、計數(shù),在寫入第二個字節(jié)后,計數(shù)器按照新的數(shù)值開始計數(shù)。即改變計數(shù)值是立即有效的。圖8-5 方式0計數(shù)過程中改變計數(shù)值(5)8253內(nèi)部沒有中斷控制電路,也沒有專用的中斷請求引線,所以若要用于中斷,則可用OUT信號作為中斷請求信號,但需要有外接的中斷優(yōu)先權(quán)排隊電路與向量產(chǎn)生電路。若8253的地址為04H07H,要使計數(shù)器1工作在方式0,僅用8位二進制計數(shù),計數(shù)值為128,初始化程序:MOVAL, 50H;設(shè)控制字OUT 07H, AL;輸至控制字寄存器MOVAL, 80H;計數(shù)值OUT 05H, AL;輸至計數(shù)器12.方式1可編程單穩(wěn)態(tài)觸發(fā)方式這種方式由外部門控信號GATE上升沿觸發(fā),使輸出端O

9、UT變?yōu)榈碗娖?,產(chǎn)生一個單拍負脈沖信號,脈沖寬度由計數(shù)值決定。其過程如圖8-6所示。圖8-6 方式1波形圖方式1工作的特點如下:(1)寫入控制字后,OUT輸出為高電平。寫入計數(shù)初值N后,計數(shù)器并不開始計數(shù),而要等到GATE上升沿后的下一個CLK輸入脈沖的下降沿,計數(shù)初值裝入減1計數(shù)寄存器,同時OUT端變?yōu)榈碗娖?,計?shù)才開始。計數(shù)結(jié)束時,OUT輸出變高,從而產(chǎn)生一個寬度為N個CLK周期的負脈沖。(2)方式1中GATE信號有兩個方面的作用:第一,在計數(shù)結(jié)束后,若再來一個GATE信號上升沿,則下一個時鐘周期的下降沿又從初值開始計數(shù),而不需要重新寫入初值,即門控信號可重新觸發(fā)計數(shù);第二,在計數(shù)過程中,

10、若來一個門控信號的上升沿,也在下一個時鐘下降沿從初值起重新計數(shù),即終止原來的計數(shù)過程,開始新的一輪計數(shù)。(3)如果在計數(shù)過程中寫入新的初值,不會立即影響計數(shù)過程,如圖8-7所示。只有下一個門控信號到來后的第一個時鐘下降沿,才終止原來的計數(shù)過程,按新值開始計數(shù)。若計數(shù)結(jié)束前沒有GATE觸發(fā)信號,則原來計數(shù)過程正常結(jié)束。即新的初值下次有效。圖8-7 方式1計數(shù)過程中改變計數(shù)值3. 方式2頻率發(fā)生器方式這種方式的功能如同一個N分頻計數(shù)器,輸出是輸入時鐘按照計數(shù)值N分頻后的一個連續(xù)脈沖。其過程如圖8-8所示。圖8-8 方式2波形圖方式2工作的特點如下:(1)計數(shù)器計數(shù)期間OUT為高電平。若GATE為高

11、電平,寫入計數(shù)初值后的第一個時鐘下降沿開始減1計數(shù)。減到1時,輸出端OUT變?yōu)榈碗娖?,維持1個時鐘周期,計數(shù)器減到0時,輸出OUT又變成高電平,從初值開始新的計數(shù)過程,即方式2能自動重裝初值,輸出固定頻率的脈沖。因此若裝入計數(shù)初值為N,則OUT引腳上每隔N個時鐘脈沖就輸出一個負脈沖,其頻率為輸入時鐘脈沖頻率的1/N,故方式2也稱為分頻器。(2)GATE信號高電平時允許計數(shù)。在方式2中,GATE信號為低電平終止計數(shù),而由低電平恢復為高電平后的第一個時鐘下降沿重新從初值開始計數(shù)。由此可見,GATE一直維持高電平時,計數(shù)器方能作為一個N分頻器。(3)如果在計數(shù)過程中向此計數(shù)器寫入新的初值,且GATE

12、信號一直維持高電平,則新的初值不會立即影響當前的計數(shù)過程,但在計數(shù)結(jié)束后的下一個計數(shù)周期將按新的初值計數(shù),即新的初值下次有效。4. 方式3方波發(fā)生器方式該方式與方式2相類似,只是OUT輸出的是對稱方波(計數(shù)初值N為偶數(shù))或近似對稱方波(計數(shù)初值N為奇數(shù))。其過程如圖8-9所示。圖8-9 方式3波形圖方式3工作的特點如下:(1)方式3的計數(shù)過程按計數(shù)初值的不同分為兩種情況:計數(shù)初值為偶數(shù)。寫入控制字后的時鐘上升沿,輸出端OUT變成高電平。若GATE=1,寫入計數(shù)初值后的第一個時鐘下降沿開始減1計數(shù)。減到N/2時,輸出端OUT變?yōu)榈碗娖?;減到0時,輸出端OUT又變成高電平,并重新從初值開始新的計數(shù)

13、過程。計數(shù)初值為奇數(shù)。寫入控制字后的時鐘上升沿,輸出端OUT變成高電平。若GATE=1,寫入計數(shù)初值后的第一個時鐘下降沿開始減1計數(shù),減到(N+1)/2以后,輸出端OUT變?yōu)榈碗娖?;減到0時,輸出端OUT又變成高電平,并重新從初值開始新的計數(shù)過程。(2)GATE高電平時,允許計數(shù);GATE低電平時,禁止計數(shù)。如果在輸出端OUT為低電平期間,GATE變低,則OUT將立即變高,并停止計數(shù)。當GATE變高以后,計數(shù)器重新裝入初值并重新開始計數(shù)。 (3)如果在計數(shù)過程中寫入新的初值,而GATE信號一直維持高電平,則新的初值不會影響當前的計數(shù)過程,只有在計數(shù)結(jié)束后的下一個計數(shù)周期,才按新的初值計數(shù)。若寫

14、入新的初值后,遇到門控信號的上升沿,則終止現(xiàn)行計數(shù)過程,從下一個時鐘下降沿重新開始計數(shù)。5. 方式4軟件觸發(fā)選通方式寫入一次初值開始一次新的計數(shù)。其過程如圖8-10所示。圖8-10 方式4波形圖方式4工作的特點如下:(1)寫入方式控制字后,OUT輸出高電平。若GATE=1,寫入初值的下一個CLK脈沖開始減1計數(shù),計數(shù)到達0值(注意:不是減到1),OUT輸出為低電平,持續(xù)一個CLK脈沖周期后再恢復到高電平。方式4之所以稱為軟件觸發(fā)選通方式,是因為計數(shù)過程是由軟件把計數(shù)初值裝入計數(shù)寄存器來觸發(fā)的,計數(shù)初值n僅一次有效。若要繼續(xù)計數(shù),則需重新裝入初值。(2)GATE為高電平時,允許計數(shù);GATE信號

15、變低,禁止計數(shù),輸出維持當時的電平,直到GATE變成高電平后繼續(xù)計數(shù),從OUT端輸出一個負脈沖。(3)在計數(shù)過程中改變計數(shù)值,則在寫入新值后的下一個時鐘下降沿計數(shù)器將新的初值計數(shù),即新值是立即有效的。6. 方式5硬件觸發(fā)選通方式該方式為硬件觸發(fā)計數(shù)方式,即門控信號GATE上升沿觸發(fā)計數(shù)。其過程如圖8-11所示。圖8-11 方式5波形圖方式5工作的特點如下:(1)寫入控制字后,輸出OUT即為高電平。寫入計數(shù)初值后,計數(shù)器并不立即開始計數(shù),而是由門控脈沖的上升沿觸發(fā)。計數(shù)結(jié)束(計數(shù)器減到0)時輸出一個持續(xù)時間為一個TCLK的負脈沖,然后輸出恢復為高電平。直到GATE信號再次觸發(fā)。(2)若在計數(shù)過程

16、中,又有一個門控信號的上升沿,則立即終止當前的計數(shù)過程,且在下一個時鐘下降沿,又從初值開始計數(shù),如果計數(shù)過程結(jié)束后,來一個門控上升沿,計數(shù)器也會在下一個時鐘下降沿,又從初值開始減1計數(shù),即門控信號上升沿任何時候到來都會立即觸發(fā)一個計數(shù)過程。(3)如果在計數(shù)過程中寫入新的初值,則新的初值不會立即影響當前的計數(shù)過程,只有到下一個門控信號上升沿到來后,才從新的初值開始減1計數(shù)。即新的計數(shù)初值在下一個門控信號上升沿觸發(fā)后有效。要使用8253必須首先進行初始化編程,初始化編程的步驟如下。(1)寫入計數(shù)器控制字,規(guī)定計數(shù)器的工作方式。(2)寫入計數(shù)值。 若規(guī)定只寫低8位,則寫入的為計數(shù)值的低8位,高8位自

17、動置0。 若規(guī)定只寫高8位,則寫入的為計數(shù)值的高8位,低8位自動置0。 若是16位計數(shù)值,則分兩次寫入,先寫入低8位,再寫入高8位。8.1.7 8253的編程例如:要用計數(shù)器0,工作在方式1,按BCD碼計數(shù),計數(shù)值為5080H。則初始化編程有以下步驟。(1)確定通道控制字。(2)計數(shù)值的低8位為80H。(3)計數(shù)值的高8位為50H。若端口地址位為F8HFBH,初始化程序為:MOVAL, 33HOUT0FBH, ALMOVAL, 80HOUT0F8H, ALMOVAL, 50HOUT0F8H, ALCPU可以用輸入指令讀取8253任一計數(shù)器的計數(shù)值,此時CPU讀到的是執(zhí)行輸入指令瞬間計數(shù)器的現(xiàn)行

18、值。由于8253的計數(shù)器是16位的,所以要分兩次讀至CPU,因此,若不設(shè)法鎖存的話,則在輸入過程中,計數(shù)值可能已變化了。8.2.1 8255A的內(nèi)部結(jié)構(gòu)Intel 8255A是一個為8080、8085和8088微型機系統(tǒng)設(shè)計的通用I/O接口芯片。它可用程序來改變功能,通用性強,使用靈活,通過它可直接將CPU總線接向外設(shè)。8.2 可編程并行接口8255A它由以下幾部分組成。1數(shù)據(jù)端口A、B、C三個輸入/輸出端口都是8位,都可以選擇作為輸入或輸出,但功能上有著不同。(1)端口A:一個8位數(shù)據(jù)輸出鎖存和緩沖器;一個8位數(shù)據(jù)輸入鎖存器。(2)端口B:一個8位數(shù)據(jù)輸入/輸出、鎖存/緩沖器;一個8位數(shù)據(jù)輸

19、入緩沖器。(3)端口C:一個8位數(shù)據(jù)輸出鎖存/緩沖器;一個8位數(shù)據(jù)輸入緩沖器(輸入沒有鎖存)。通常端口A或B作為輸入/輸出的數(shù)據(jù)端口,而端口C作為控制或狀態(tài)信息的端口,它在“方式”字的控制下,可以分成兩個四位的端口。2A組和B組控制電路這是兩組根據(jù)CPU的命令字控制8255A工作方式的電路。它們有控制寄存器,接收CPU輸出的命令字,然后分別決定兩組的工作方式,也可根據(jù)CPU的命令字對端口C的每一位實現(xiàn)按位“復位”或“置位”操作。A組控制電路控制端口A和端口C的上半部(PC7PC4)。B組控制電路控制端口B和端口C的下半部(PC3PC0)。3數(shù)據(jù)總線緩沖器這是一個三態(tài)雙向8位緩沖器,它是8255

20、A與系統(tǒng)數(shù)據(jù)總線的接口。輸入/輸出的數(shù)據(jù)以及CPU發(fā)出的控制字和外設(shè)送來的狀態(tài)信息,都是通過這個緩沖器傳送的。4讀/寫和控制邏輯它與CPU的地址總線中的A1、A0以及有關(guān)的控制信號(RD 、WR、RESET、IO/M )相連,由它控制把CPU的控制命令或輸出數(shù)據(jù)送至相應的端口;也由它控制把外設(shè)的狀態(tài)信息或輸入數(shù)據(jù)通過相應端口,送至CPU。5控制信號功能(1)CS(Chip Select)選片信號,低電平有效,由它啟動CPU與8255A之間的通信(Communication)。(2) RD讀信號,低電平有效。它控制8255A送出數(shù)據(jù)或狀態(tài)信息至CPU。(3) WR寫信號,低電平有效。它控制把CP

21、U輸出的數(shù)據(jù)或命令信號寫到8255A。(4)RESET復位信號,高電平有效,它清除控制寄存器并置所有端口(A、B、C)為輸入方式。6端口尋址8255A中有三個輸入輸出端口,另外,內(nèi)部還有一個控制字寄存器,共有四個端口,要有兩個輸入端來加以選擇,這兩個輸入端通常接到地址總線的最低兩位A1和A0。A1、A0和 RD、WR 及CS 組合所實現(xiàn)的各種功能,如表8-1所示。8255A采用40條引腳的雙列直插式封裝,其引腳信號見圖8-14。CS:片選信號(輸入);RD:讀信號(輸入);WR:寫信號(輸入);A1、A0:片內(nèi)寄存器選擇信號(輸入);D7D0:與CPU側(cè)連接的數(shù)據(jù)線(雙向);PA7PA0:A口

22、外設(shè)數(shù)據(jù)線(雙向);PB7PB0:B口外設(shè)數(shù)據(jù)線(雙向);PC7PC0:C口外設(shè)數(shù)據(jù)線(雙向);RESET:復位信號(輸入)。8.2.2 8255A的引線方式0方式0是一種基本的輸入或輸出方式。在這種工作方式下,三個端口的每一個都可由程序選定作為輸入或輸出,但這種方式?jīng)]有規(guī)定固定的用于應答式的聯(lián)絡信號(handshaking)線。8255沒有時鐘輸入信號,其時序由引腳控制信號定時,如圖8-15所示。其基本功能為:(1)兩個8位端口(A、B)和兩個4位端口(C)。(2)任一個端口可以作為輸入或輸出。(3)輸出是鎖存的。(4)輸入是不鎖存的。(5)在方式0時,各個端口的輸入、輸出可以有16種不同的

23、組合。8.2.3 工作方式A1A0輸入操作(讀)00010端口A數(shù)據(jù)總線01010端口B數(shù)據(jù)總線10010端口C數(shù)據(jù)總線輸出操作(寫)00100數(shù)據(jù)總線端口A01100數(shù)據(jù)總線端口B10100數(shù)據(jù)總線端口C11100數(shù)據(jù)總線控制字寄存器斷開功能1數(shù)據(jù)總線三態(tài)11010非法狀態(tài)110數(shù)據(jù)總線三態(tài)表8-28255A端口選擇表方式1這是一種選通的I/O方式。在這種方式時,端口A或端口B仍作為數(shù)據(jù)的輸入/輸出,但同時規(guī)定端口C的某些位作為控制或狀態(tài)信息。其工作特點如下:(1)需要設(shè)置專用的聯(lián)絡信號線或應答信號線,以便對外設(shè)和CPU進行聯(lián)絡。此時CPU與外設(shè)之間的數(shù)據(jù)傳送可以為查詢傳送或中斷傳送。數(shù)據(jù)的

24、輸入輸出都有鎖存功能。(2)任一個端口都可作為輸入或輸出。若端口A和端口B都工作于方式1,端口C的大部分引腳分配用來作專用(固定)的聯(lián)絡信號。還留下兩位,這兩位可以由程序指定作為輸入或輸出,也具有置位/復位功能。(3)若只有一個端口工作于方式1,余下的13位,可以工作在方式0(由控制字決定)。圖8-16 方式1輸入組態(tài)圖8-17 方式1輸出組態(tài)方式2這種工作方式,使外設(shè)在單一的8位總線上,既能發(fā)送,也能接收數(shù)據(jù)(雙向總線I/O)。工作時可用程序查詢方式,也可工作于中斷方式。其主要特點如下:(1)方式2只用于端口A。(2)一個8位的雙向總線端口(端口A)和一個5位控制端口(端口C)。(3)輸入和

25、輸出是鎖存的。(4)5位控制端口用作端口A的控制和狀態(tài)信息,如圖8-18所示。圖8-18 8255A方式2組態(tài)8.2.4 控制字和狀態(tài)字8255A的工作方式,可由CPU用I/O指令輸出一個控制字到8255A的控制字寄存器來選擇。這個控制命令字的格式如圖8-19所示??梢苑謩e選擇端口A和端口B的工作方式,端口C分成兩部分,上半部隨端口A,下半部隨端口B。端口A能工作于方式0、1和2,而端口B只能工作于方式0和1。圖8-19 8255A的控制命令字當8255A與CPU采用查詢方式工作時,要求CPU讀取C端口的內(nèi)容,根據(jù)上述對端口PC各位的定義及對中斷屏蔽情況可以很容易地知道讀出的狀態(tài)字中各位的含義

26、,各位的定義如下:下面以雙機并行通信接口為例,說明8255A的應用。(1)要求在甲乙兩臺微機之間并行傳送lKB數(shù)據(jù)。甲機發(fā)送,乙機接收。甲機一側(cè)的8255A采用方式1工作,乙機一側(cè)的8255A采用方式0工作。兩機的CPU與接口之間都采用查詢方式交換數(shù)據(jù)。(2)根據(jù)要求,雙機均采用可編程并行接口芯片8255A構(gòu)成接口電路,只是8255A的工作方式不同。(3)根據(jù)上述要求,接口電路的連接如圖8-20所示。8.2.5 8255A應用舉例甲機8255A為方式l發(fā)送(輸出),因此,把PA口指定為輸出,發(fā)送數(shù)據(jù),PC7和PC6引腳由方式1規(guī)定作為聯(lián)絡線 和 。乙機8255A為方式0接收(輸入),把PA口用

27、作為輸入,接收數(shù)據(jù),聯(lián)絡信號自行選擇,可選擇PC4和PC0作為聯(lián)絡信號線,PC4輸入、PC0輸出。雖然,兩側(cè)的8255A都設(shè)置了聯(lián)絡信號線,但它們是不同的,甲機8255A工作在方式1,其聯(lián)絡信號PC7、PC6是由方式規(guī)定的;而乙機的8255A工作在方式0,其聯(lián)絡信號線是可以選擇的,比如可選PC5、PC7或PC6、PC7等。圖8-20 利用8255進行并行通信a甲機發(fā)送程序:MOV DX, 303H;8255A命令口 MOV AL, 10100000B ;端口A,方式l,端口B沒用方式字 OUT DX, AL;輸出方式字 MOV AL, 0DH;置發(fā)送中斷允許INTEAl OUT DX, AL;

28、PC6置“l(fā)” MOV AX, 030H;發(fā)送數(shù)據(jù)的首地址 MOV ES, AX MOV BX, 00H MOV CX, 3FFH ;置發(fā)送字節(jié)數(shù) MOV DX, 300H;置8255A數(shù)據(jù)字地址 MOV AL, ES:BX;取第一個發(fā)送數(shù)據(jù) OUT DX, AL;寫第一個數(shù),產(chǎn)生第一個 信號 INC BX;指向下一個數(shù) DEC CX;字節(jié)數(shù)lL:MOV DX, 302H;8255A狀態(tài)口 IN AL, DX;輸入狀態(tài) AND AL, 08H;檢查有無INTRA JZ L;若無中斷請求則等待 MOV DX, 300H;置數(shù)據(jù)口地址 MOV AL, ES:EBX;取數(shù)據(jù) OUT DX, AL;輸

29、出 INC BX DEC CX JNZ L;未發(fā)送完循環(huán) MOV AX, 4C00H INT 21H;發(fā)送完成,返回DOS在上述發(fā)送程序中,是檢查INTR位,實際上也可以檢查發(fā)送緩沖器滿 (PC7)位的狀態(tài)。b乙機接收程序: MOVDX, 303H;置8255A命令口地址 MOV AL, 10011000B;端口A方式0、PC4輸入、PC0 OUTDX, AL ;輸出的方式字 MOV AL, 00000001B;PC0置l控制字 OUTDX, AL ;輸出使 1 MOVAX, 040H;接收區(qū)首地址 MOV ES, AX MOV BX, 00H MOVCX, 3FFH;置字節(jié)數(shù)L1:MOVDX

30、, 302H;8255A PC口 IN AL, DX;查甲機的 =0?(PC4=0?) ANDAL, 10H JNZ L1;無數(shù)據(jù),等待 MOV DX, 300H;8255A數(shù)據(jù)口地址 IN AL, DX;輸入數(shù)據(jù) MOV ES:BX, AL ;存入內(nèi)存 MOV DX, 303H MOV AL, 00000000B;PC0置0 OUT DX, AL;產(chǎn)生 信號 NOP NOP MOV AL, 00000001B;PC0置l OUT DX, AL; 變高 INC BX DEC CX JNZ L1;未接收完,循環(huán) MOV AX, 4C00H INT 21H ;接收完,返回DOSOUT DX, AL

31、;產(chǎn)生 信號 NOP NOP MOV AL, 00000001B;PC0置l OUT DX, AL; 變高 INC BX DEC CX JNZ L1;未接收完,循環(huán) MOV AX, 4C00H INT 21H ;接收完,返回DOS1串行通信的分類在串行通信中,有兩種最基本的通信方式:(1)非同步(異步)通信(ASYNC)它用起始位表示字符的開始,用停止位表示字符的結(jié)束。如圖8-21所示。8.3 串行通信及串行通信接口芯片82518.3.1 串行通信概述圖8-21 異步通信的格式在非同步數(shù)據(jù)傳送中,在CPU與外設(shè)之間必須遵循三項規(guī)定: 字符格式 數(shù)據(jù)信號傳送速率 波特率(Baud rate)2數(shù)

32、據(jù)傳送方向通常串行通信,數(shù)據(jù)在兩個站之間是雙向傳送的,A站可作為發(fā)送端,B站作為接收端,也可以A站作為接收端,而B站作為發(fā)送端,根據(jù)要求又可以分為半雙工和完全雙工兩種。圖8-24 半雙工示意圖圖8-25 完全雙工示意圖3.串行I/O的實現(xiàn)串行傳送時數(shù)據(jù)是一位一位依次順序傳送的,而在計算機中數(shù)據(jù)是并行的。所以當數(shù)據(jù)由計算機送至數(shù)據(jù)終端時,要先把并行的數(shù)據(jù)轉(zhuǎn)換為串行的再傳送,而在計算機接收由終端送來的數(shù)據(jù)時,要先把串行數(shù)據(jù)的轉(zhuǎn)換為并行的才能處理加工,這樣的轉(zhuǎn)換可用軟件也可用硬件實現(xiàn)。目前通常用可編程的串行接口芯片來實現(xiàn)。如后面要介紹的Intel 8251芯片。1、8251的基本性能(1)同步波特率

33、064Kbps,異步波特率019.2Kbps。(2)同步傳送:58bit/字符,內(nèi)部或外部同步,可自動插入同步字符。(3)異步傳送:58bit/字符,時鐘速率為通信波特率的1、16或64倍。(4)可產(chǎn)生中止字符(Break Character);可產(chǎn)生1、 或2個位的停止位;或檢查假啟動位,自動檢測和處理中止字符。(5)完全雙工,雙緩沖器發(fā)送和接收器。(6)出錯檢測:具有奇偶、溢出和幀錯誤等檢測電路。8.3.2 8251可編程通信接口2、8251的結(jié)構(gòu)圖8-26 8251的方框圖3、引腳圖8-27 CPU通過8251與串行外設(shè)接口初始化編程必須在系統(tǒng)RESET以后,在USART工作以前進行,即

34、USART不論工作于任何方式,都必須先經(jīng)過初始化。初始化編程的過程如圖8-28的流程圖所示。方式選擇字格式如圖8-29所示。由D1D0確定是工作于同步方式還是異步方式。當D1D0=00時,則為同步方式;而在D1D000時為異步方式。D3D2用以確定字符的位數(shù)D5D4用以確定奇偶校驗的性質(zhì)。D7D6在同步和異步方式時的意義是不同的。異步時,用以規(guī)定停止位的位數(shù);同步時,用以確定是內(nèi)同步還是外同步,以及同步字符的個數(shù)。8.3.3 8251的編程圖8-28 8251初始化編程的流程圖圖8-29 方式選擇字格式8.4數(shù)模(D/A)轉(zhuǎn)換與模數(shù)(A/D)轉(zhuǎn)換接口8.4.1 數(shù)模(D/A)轉(zhuǎn)換器1、D/A轉(zhuǎn)

35、換的基本原理(a) (b)圖8-30 D/A轉(zhuǎn)換的基本原理2、D/A轉(zhuǎn)換器的主要技術(shù)指標(1) 分辨率 分辨率為8位的D/A轉(zhuǎn)換器能給出滿量程電壓的1/256(即1/28)的分辨能力。(2)精度絕對精度:是指對應于給定的數(shù)字量,D/A輸出端實際測得的模擬輸出值(電流或電壓)與理論值之差。絕對精度由D/A轉(zhuǎn)換的增益誤差、線性誤差和噪聲等綜合因素決定。相對精度:是指在零點和滿量程值校準后,各種數(shù)字輸入的模擬量輸出與理論值之差,可把各種輸入的誤差畫成曲線。(3)建立時間(4)輸出電平(5)線性誤差(6)溫度系數(shù)3、典型的D/A轉(zhuǎn)換器芯片DAC0832(1)DAC0832的邏輯結(jié)構(gòu)圖8-31 DAC0

36、832邏輯結(jié)構(gòu)框圖改變DAC0832的有關(guān)控制信號的電平,可使DAC0832 處于三種不同的工作方式。 直通方式當 CS、WR1 、WR2 和XFER 都接數(shù)字地,ILE接高電平時,芯片即處于直通狀態(tài)。 單緩沖方式此方式是使兩個寄存器中任一個處于直通狀態(tài),另一個工作于受控鎖存器狀態(tài)或兩個寄存器同步受控。 雙緩沖方式雙緩沖方式的一大用途是數(shù)據(jù)接收和啟動轉(zhuǎn)換可以異步進行,即在對某數(shù)據(jù)轉(zhuǎn)換的同時,能進行下一數(shù)據(jù)的接收,以提高轉(zhuǎn)換速率。4、D/A轉(zhuǎn)換器與微處理器的接口圖8-32 DAC0832與8位微處理器的連接圖8-32中, 的端口地址為320H, 的端口地址為321H。CPU執(zhí)行第一條輸出指令,將待轉(zhuǎn)換的數(shù)據(jù)打入輸入寄存器;再執(zhí)行第二條輸出指令,把輸入寄存器的內(nèi)容寫入DAC寄存器,并啟動D/A轉(zhuǎn)換。執(zhí)行第

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論