IO接口擴展電路設(shè)計_第1頁
IO接口擴展電路設(shè)計_第2頁
IO接口擴展電路設(shè)計_第3頁
IO接口擴展電路設(shè)計_第4頁
IO接口擴展電路設(shè)計_第5頁
已閱讀5頁,還剩3頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、精選文檔I/O接口擴展電路設(shè)計    8051系列單片機假如系統(tǒng)不做任何擴展,P0P3接口可做I/O接口使用。只要略微擴展系統(tǒng),P0、P2接口則被用為地址線。P0接口還兼做數(shù)據(jù)線,P3接口常被專用線占用,只有Pl接口可做I/O接口。一個實際系統(tǒng),只有8位IO接口往往是不夠用的,所以I/O接口也需要擴展。本節(jié)重點介紹I/O接口擴展方法及應用實例。     I/O接口擴展方式主要有兩種:總線擴展法和串行口擴展法??偩€擴展又可分為簡潔I/O接口擴展和可編程I/O接口擴展。    擴展I/O接口常用芯片有TTL、

2、CMOS鎖存器、三態(tài)門芯片,如74系列的373、244、273、367等,這些常用來擴展簡潔I/O接口??删幊绦酒S?255、8155等,利用程序?qū)π酒M行設(shè)置,軟硬件結(jié)合實現(xiàn)對I/O接口的擴展。 簡潔I/O接口擴展    在單片機應用系統(tǒng)中,利用TTL芯片、COMS鎖存器、三態(tài)門等接口芯片把P0接口擴展,常選用74LS273、74LS373、74LS244等芯片。這些芯片價格低,結(jié)構(gòu)簡潔,使擴展機敏便利。如圖6-7所示是一個利用74LS273和74LS244,將8位P0接口擴展成簡潔的輸入、輸出口的電路。74LS273是8D鎖存器擴展輸出口,輸出端接8個LED

3、發(fā)光二極管,以顯示開關(guān)狀態(tài),某位低電平常二極管發(fā)光。74LS244是緩沖驅(qū)動器,擴展輸入口,它的8個輸入端分別接8個按鈕開關(guān)。74LS273與74LS244的工作受P2.0、RD、WR三條把握線把握。其工作原理如下。當P2.0=0,WR=0(RD=1)選中74LS273芯片,CPU通過P0接口輸出數(shù)據(jù)鎖存到74LS273,74LS273的輸出端低電平位對應的LED發(fā)光二極管點亮;當P2.0=0,RD=0(WR=1)時選中74LS244,此時若無鍵按下,輸入全為高電平,當某鍵按下時則對應位輸入為“0”,74LS244的輸入端不全為“1”,其輸入狀態(tài)通過P0接口數(shù)據(jù)線被CPU讀入機內(nèi)??傊?,在圖6

4、-7中只要保證P2.0端低電平就有可能使擴展輸入口或輸出口工作。至于哪一個口工作受WR和RD把握線把握,二者不會同時為“0”,故在圖6-7中,兩個擴展芯片可共用一個地址。擴展口地址確定原則,只要保證P2.0為“0” 。其他地址位或“0”或“1”即可。如地址用FEFFH(無效位全為“1”),用0000H(無效位全為“0”)。輸出程序段:MOV   A,  #data            ;數(shù)據(jù)AMOV   DPTR, #0FEFFH&#

5、160;       ;I/O地址DPTRMOVX   DPTR, A             ;WR為低電平,數(shù)據(jù)74LS273口輸出輸入程序段:MOV  DPTR, #OFEFFH          ;I/O地址DPTRMOVX  A, DPTR   &#

6、160;        ;RD為低電平,74LS244接口數(shù)據(jù)讀入內(nèi)部RAM例 要求編程把按鍵狀態(tài)通過圖6-7中的發(fā)光二極管顯示出來。程序LP:  MOV   DPTR, #0FEFFH       ;輸入口地址DPTR      MOV   A, DPTR            

7、;;鍵狀態(tài)送 A      MOVX   DPTR, A           ;A 數(shù)據(jù)送顯示輸出口      SJMP    LP                  ;(輸入、輸出公用一個

8、地址)反復連續(xù)執(zhí)行8255可編程并行I/O接口擴展與電路設(shè)計8255 是一個單片機系統(tǒng)常用的可編程芯片,利用指令設(shè)置各口的工作方式。為了對8255合理設(shè)置,機敏應用,有必要了解他的內(nèi)部結(jié)構(gòu)及工作原理。1.8255內(nèi)部結(jié)構(gòu)及引腳功能8255是一個有40引腳雙列支插型可編程芯片,內(nèi)部及引腳如圖6-8所示。由圖6-8可見,8255內(nèi)部有3個并行的8位I/O接口,分別稱為A口、B口、C口。擴展一片8255則可擴展24位并行端口。引腳功能介紹如下:(1) 接口線A、B、C 3個I/O接口的引線端分別為:PA0PA7、PB0PB7、PC0PC7共24條端線。3個口皆為鎖存/緩沖寄存器,A口、B口有鎖存功能

9、,C口無鎖存功能。A、B、C 3口的工作方式由程序設(shè)置。A口可設(shè)置為輸入或輸出或雙向方式工作。B口只能設(shè)置為輸入或輸出,不能雙向方式工作。C口可設(shè)置為輸入或輸出口。它的特點是可分成高、低兩個4位使用。上半部PC4PC7與A口組成一組叫A組;下半部PC0PC3與B口組成一組為B組,便于把握。    (2) 數(shù)據(jù)線8255是8位芯片,有8位數(shù)據(jù)線D0D7。數(shù)據(jù)線接于8051的P0接口,用以實現(xiàn)8255與CPU之間的數(shù)據(jù)傳送。(3) 把握線把握線把握8255的讀、寫、復位及片選等。RD:讀入把握線,低電平有效,當其為低電平常CPU對8255進行讀操作,此時8255相應口

10、為輸入口。WR:輸出把握線,低電平有效,當WR為低電平常,CPU輸出數(shù)據(jù)或命令到8255端口,此時8255相應口為輸出口。RESET:復位端,高電平有效,8255內(nèi)部寄存器全清0,24條I/O口線為高阻狀態(tài)。CS:片選線,當CS為低電平常,CPU選中此8255芯片。(4) 地址線8255共占用4個口地址,為A、B、C口及把握口地址。這4個地址之間的選擇由A0、A1兩端口線把握。A0、A1通常接于單片機的地址線最低兩位P0.O、P0.1,二者組合打算了4個端口地址,口地址選擇方式如下:A1A0=00,選擇A口;A1A0=01,選擇B口;A1A0=10,選擇C口;A1A0=11,選擇把握口。

11、60;除這兩位外,其他位狀態(tài)還與硬件接線有關(guān),各口具體地址,結(jié)合實際電路才能確定。2.方式選擇及方式把握字(1) 8255工作方式8255有3種工作方式:方式0、方式1,方式2。方式0時,A、B、C三口都可作基本的輸入或輸出口;方式1時,A、B口可作選通輸入或輸出,C口部分作專用聯(lián)絡線;方式2時,A口為雙向口,C口部分為專用聯(lián)絡線,B口無此方式。8255的C口專用功能如表6-3所列。                  

12、;                                (2) 方式選擇    8255的方式選擇由方式把握字打算。方式把握字是8255內(nèi)部方式把握寄存器的狀態(tài)字,它由指令寫入把握寄存器中A、B、C口把握位為“1”,對應口為輸入方式,若為“0”則為輸出方式。例

13、如,把握字狀態(tài)為10010101B,表示A組為方式0(D6D5=00),A口為輸入方式(D4=1),C口上半部為輸出方式(D3=0);B組方式1(D2=1)中,B口為輸出(D1=0),C口下半部為輸入方式(D0=1)。D7=0只能對C口位操作,位操作內(nèi)容由把握寄存器相應位狀態(tài)打算。例如,若把握字為01H,即把握寄存器格式為00000001B,表示C口位操作(D7=0),將PC0位置“1”(D3D2D1=000,DO=l置“1”),同理若把握字為0EH則把C口最高位PC7置“0”即復位。8255擴展電路及地址設(shè)置    如圖6-9所示是8051單片機擴展一片8255

14、的電路圖。圖中,74LS373是地址鎖存器。8255的地址線AI、A0經(jīng)74LS373接于P0.1、P0.0;片選端CS經(jīng)74LS373與P0.7接通,其他地址線懸空;8255的把握線RD、WR直接接于8051的RD和WR端;數(shù)據(jù)線DB接于P0口。18255地址口確定圖6-9中8255只有3根線接于地址線。片選CS、地址選擇端A1、A0。分別接于P0.7,P0.1、P0.0其他地址線全懸空。明顯只要保證P0.7為低電平常,選中該8255,若P0.1、P0.0再為“00”選中8255的A口,同理P0.1、P0.0為“01”、“10”、“11”分別選中B口、C口及把握口。若地址口用16位表示,其他

15、無用端全設(shè)為“1”,則8255的A、B、C及把握口地址分別可為 FF7CH、FF7DH、FF7EH、FF7FH,無用位為“0”則4個地址為0000H、0001H、0002H、0003H,只要保證CS、A1、A0的狀態(tài),無用位設(shè)為“0”或“1”無關(guān)。把握了確定地址的方法,使用者可機敏選擇地址。    28255初始化    使用8255芯片時,首先要對它初始化。所謂初始化,也就是對8255的3個端口的工作方式預先設(shè)置。設(shè)置把握字經(jīng)把握口寫入。    例如圖6-9電路,欲設(shè)置8255的A、B、C口全為輸出狀態(tài)

16、,把握字為80H。程序:MOV  DPTR, #0003H     ;8255把握口地址DPTRMOV  A, #80H          ;把握字送AMOVX  DPTR, A        ;把握字寫入把握寄存器    利用這幾條指令對8255初始化后,A、B、C 3個口才能作為輸出口使用。當然轉(zhuǎn)變把握字,則可轉(zhuǎn)變3個端口的工作方式。

17、8155可編程I/O接口擴展設(shè)計8155可編程接口芯片與8255的使用方法類似,只是二者在結(jié)構(gòu)與功能上有所不同。18155結(jié)構(gòu)及引腳    8155 內(nèi)部也有3個I/O接口A、B、C口,與8255的主要區(qū)分是C口只有6位,I/O接口共22位,比8255多一個14位可編程定時/計數(shù)器,還多256B的靜態(tài)RAM。8155共40引腳,雙列直插式封裝,如圖6-10所示。(1) I/O接口線PA0PA7,PB0PB7,PC0PC5分別為A、B、C 3個I/O接口引線端。A、B、C口多用于與外設(shè)之間的數(shù)據(jù)傳送;C口還可以作為A、B口的把握線。(2) 地址數(shù)據(jù)線 &#

18、160;  8155的低8位地址線和數(shù)據(jù)線共用AD0AD7,故稱為地址數(shù)據(jù)線。當ALE=1時,輸入的是地址信息,否則是數(shù)據(jù)信息。當與8051單片機連接時,ALE下降沿到,將P0接口輸出的低8位地址信息及CE、IO/M狀態(tài)都鎖存到8155內(nèi)部寄存器。因此8155的AD0AD7直接與P0接口相聯(lián),低8位地址不需要外接鎖存器,這點與8255不同。(3) 把握線 ALE:地址鎖存線。ALE=1表示給8155輸入的是地址信息,當ALE下降沿時,把地址鎖存到8155中。IO/M:RAM與I/O接口的選擇線。IO/M=0選中8155內(nèi)部RAM區(qū),IO/M=1 選擇3個I/O接口、定時/計數(shù)器和命令

19、寄存器。CE:片選線,RD:讀把握線,WR:寫把握線。    TIMERIN:定時計數(shù)器外部脈沖輸入端。TIMEROUT:定時/計數(shù)器輸出端。2. 8155功能及操作    8155具有3種功能,下面介紹具體操作。    (1) 作I/O接口使用IO/M=1時8155作I/O接口使用。各口的工作方式通過內(nèi)部把握寄存器設(shè)置。8155工作于I/O口時,各方式具體功能如表6-4所列。  表6-4 8155 I/O接口工作方式及功能    PC2 PC1

20、 方式 功  能    0  0 方式1 A、B口定義為基本輸入/輸出口;C口為輸入口    1  1 方式2 A、B口定義為基本輸入/輸出口;C口為輸入口    0  1 方式3 A口為選通輸出,B口基本輸入/輸出PC3PC5輸出,PC0PC2作A口選通把握PC0;AINTR,PC1,ABF,PC2,ASTB    1  0 方式4&#

21、160;A口、B口都作為選通輸入/輸出方式PC0PC2把握A口,同方式3PC3PC5把握B口,PC3;BINTR,PC4:BBFPC5:BSTB  2)狀態(tài)寄存器格式8155有一個狀態(tài)寄存器,它鎖存I/O接口和定時器當前狀態(tài)供單片機查詢。狀態(tài)寄存器和把握寄存器共用一個地址,所不同的是狀態(tài)寄存器只能讀出不能寫入而把握寄存器只能寫入不能讀出。標志寄存器皆為高電平有效。(2) 作擴展RAM    8155作為單片機擴展RAM 256B,操作很簡潔,只要使IO/M把握端為低電平即可。通常IO/M端、CE端與P2接口兩位相連,二者皆為低電平打算了RAM的高8位地址

22、,P0接口與AD0AD7相接打算RAM的低8位地址。留意與其他數(shù)據(jù)存儲器統(tǒng)一編址。    (3) 作定時器使用當IO/M=1時,8155也可作定時器使用。8155內(nèi)的可編程定時/計數(shù)器實際是一個14位的減法計數(shù)器。它共有兩個8位寄存器組成,低8位和高6位存放計數(shù)初值,最高2位把握定時器的工作方式。M2M1打算的定時方式及波形,8155的定時計數(shù)器為計數(shù)方式時。由引腳TIMERIN(3)從外部輸入計數(shù)脈沖;為定時方式時,則接單片機系統(tǒng)時鐘。無論定時或計數(shù)方式都從TIMEROUT端輸出脈沖或方波。    留意:假如寫入定時器的計數(shù)初值為奇

23、數(shù),方波輸出將不對稱。例如計數(shù)初值為9,單方波方式輸出方波在5個脈沖周期為高電平,4個脈沖周期內(nèi)為低電平。8155任何時候都可以置定時初值和工作方式,只要重新啟動即可。計數(shù)初值為23FFFH之間,終值為2。    8155計數(shù)方式一般作信號發(fā)生器使用,輸入連續(xù)脈沖后,由編程把握輸出不同波形。3. 8155的I/O接口及RAM地址安排    8155和其他芯片一樣統(tǒng)一按16位地址。它的地址范圍分兩種狀況。    當RAM方式,IO/M=0、CE=0(二者接P2口),其RAM中數(shù)據(jù)地址范圍可為0000H- 0

24、0FFH(無關(guān)位取為0)。RAM應與系統(tǒng)中其他數(shù)據(jù)存儲器統(tǒng)一編址。 表 6-5 I/O接口及定時器地址編碼    AD2 AD1 AD0 選中I/O接口或定時寄存器 低8位地址編碼    0  0  0 把握(命令)/狀態(tài)寄存器 00H    0  0  1 PA口 01H    0  1  0 PB口 02H 

25、60;  0  1  1 PC口 03H    1  0  0  定時器低8位 04H    1  0  1 定時器高8位 05H      當IO/M=1、CE=0時工作在I/O接口或定時器方式,這種狀況8155共需要占6個地址,6個地址由地址低8位中最低3位AD2、ADl、ADO編碼打算,編碼格式如表6-5所列。4. 8051單片機與8155接口電路舉例如圖6-1

26、1所示是8051單片機與8155芯片接口電路之一。結(jié)合硬件電路著重說明8155地址口的確定及初始化程序。(1) 8051與8155連接特點及地址安排    MCS-51系列單片機可以直接和8155連接,低8位地址可不加鎖存器。ADOAD7直接接于P0口,8155的ALE直接與8051 ALE相接,這點優(yōu)于8255。    圖中8155的IO/M接8051的P2.0端,CE接P2.1端。 IO/M=0, CE=0工作在RAM方式,其地址范圍為0000H00FFH(無用位設(shè)為0)。    IO/M=1,CE=

27、0 8155工作在 I/O接口或定時方式,其地址確定方法:高位保證P2.1=0, P2.0=1其他無用位設(shè)為0,這樣高位地址為01H,再考慮低位AD2、AD1、AD0三位編碼可確定8155的以下6個地址:把握/狀態(tài)字地址     0100HA口地址            0101HB口地址            0102HC口地址

28、0;           0103H定時器低8位地址    0104H定時器高8位地址    0105H(2) 8155初始化用指令把8155設(shè)置成各種工作方式:1)設(shè)置I/O口工作方式例1  設(shè)A口為基本輸出,B口為基本輸入,C口輸出。分析:依據(jù)題目要求,把握寄存器狀態(tài)為00001101B(0DH),編程把把握字送入即可。程序為:      MOV   D

29、PTR, #0100H   ;把握寄存器DPTR      MOV   A, #0DH        ;把握字A      MOVX   DPTR, A       ;把握字送把握寄存器無論把握字為何值,都必需通過上述方式,把把握字送入把握寄存器,才能正確設(shè)置8155中I/O口工作方式。2)設(shè)置RAM方式。例

30、2  編程使CPU往8155RAM30H單元送馬上數(shù)88H。程序為:MOV   DPTR, #0030H  ;RAM數(shù)據(jù)單元地址DPTRMOV    A,#88H        ;馬上數(shù)送入AMOVX   DPTR, A      ;馬上數(shù)送入0030H中  使用RAM時必在IO/M=0條件下。3) 設(shè)置為定時方式。例3 設(shè)8155的定時/計數(shù)器為方波發(fā)生器,輸出方波頻率為輸入

31、時鐘頻率的24分頻。初始化程序如下:      MOV   DPTR,#0104H  ;定時器低8位地址DFTR      MOV   A, #18H       ;18H-24D分頻系數(shù)A      MOVX  DPTR,A      ;定時初值送入定時器低8位 &#

32、160;    INC   DPTR          ;0105H是定時高8位地址      MOV   A,#40H       ;定時器方式1      MOVX  DPTR,A      ;A 定時器高位地址&#

33、160;     MOV   DPTR,#0100H   ;把握口地址DPTR      MOV   A, #0C2H      ;啟動計數(shù)器,B口輸出,A、C口輸入      MOVX  DPTR,A      與8155芯片類似芯片如8156,除選片端CE高電平有效外,其他功能及引腳與8155完

34、全相同。8755內(nèi)部有2KB EPROM和兩個I/O接口,具體參數(shù)可查閱有關(guān)資料。串行口擴展I/O接口    單片機把握系統(tǒng)中,串行口常用來擴展IO接口,使用移位寄存器作為鎖存或輸入信號的接口,可以便利地擴展并行輸入、輸出口。這種方法不占用片外RAM地址,簡潔易行,便于操作,適用于速度較慢、實時性要求不高的場合。1. 串行口擴展并行輸入口    74LS165芯片是8位并行輸入和串行移位輸出寄存器。原則上利用n片74LS165與8051的3根端口線相連,可擴展8n根并行輸入口線。圖6-12所示利用2片74LSl65與串行口協(xié)作,擴展1

35、6根并行輸入線的電路。由圖可見,8051僅用了3根線,分別為串行口輸入線RXD(P3.0)、串行口輸出線TXD(P3.1)和1根把握線P1.0引出。74LSl65是一個8位寄存器,其SL端是串行移位把握端接于P1.0端;CK是移位時鐘輸入端,接于P3.1 (TXD)端;QH是串行移位輸出端接于P3.0(RXD)端。串行口置為方式0。兩個165芯片是串聯(lián)方式,首尾相接,低位QH接于高位SER端,高位QH端接8051的RXD端。若16位并行輸入數(shù)據(jù)已送到兩個74LSl65的輸入端,當Pl.0=0時。16位數(shù)據(jù)被同時接收,置入對應的74LSl65的寄存器中。當P1.0=1時,移位寄存器開頭串行移位,經(jīng)串行輸入口P3.0(RXD)端,一位一位移入8051串行口的緩沖器中。8051接收完一個字節(jié)(一幀),發(fā)出中斷申請,置RI為“l(fā)”,當CPU發(fā)覺RI=1則可以從串行口緩沖器中讀走數(shù)據(jù)。例  設(shè)讀入一組16位數(shù)據(jù),將數(shù)據(jù)存入內(nèi)部RAM30H、31H單元中。

溫馨提示

  • 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

提交評論