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

下載本文檔

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

文檔簡介

I/O接擴(kuò)展電路設(shè)計8051系列單片機(jī)假如系統(tǒng)不做任何擴(kuò)展,P0?P3接可做I/O接使用。只要稍微擴(kuò)展系統(tǒng),P0、P2接則被用為地址線°P0接還兼做數(shù)據(jù)線,P3接常被專用線占用,只有Pl接可做I/O接。一個實際系統(tǒng),只有8位I/O接往往是不夠用的,所以I/O接也需要擴(kuò)展。本節(jié)重點介紹I/O接擴(kuò)展方法及應(yīng)用實例。I/O接擴(kuò)展方式重要有兩種:總線擴(kuò)展法和串行擴(kuò)展法??偩€擴(kuò)展又可分為簡樸I/O接擴(kuò)展和可編程I/O接擴(kuò)展。擴(kuò)展I/O接常用芯片有TTL、CMOS鎖存器、三態(tài)門芯片,如74系列的373、244、273、367等,這些常用來擴(kuò)展簡樸I/O接??删幊绦酒S?255、8155等,運用程序?qū)π酒M(jìn)行設(shè)立,軟硬件結(jié)合實現(xiàn)對I/O接的擴(kuò)展。簡樸I/O接擴(kuò)展在單片機(jī)應(yīng)用系統(tǒng)中,運用TTL芯片、COMS鎖存器、三態(tài)門等接芯片把P0接擴(kuò)展,常選用74LS273、74LS373、74LS244等芯片。這些芯片價格低,結(jié)構(gòu)簡樸,使擴(kuò)展靈活方便。如圖6-7所示是一個運用74LS273和74LS244,將8位P0接擴(kuò)展成簡樸的輸入、輸出的電路。74LS273是8D鎖存器擴(kuò)展輸出,輸出端接8個LED發(fā)光二極管,以顯示開關(guān)狀態(tài),某位低電平時二極管發(fā)光。74LS244是緩沖驅(qū)動器,擴(kuò)展輸入,它的8個輸入端分別接8個按鈕開關(guān)。74LS273與74LS244的工作受P2.0、RD、WR三條控制線控制。其工作原理如下。當(dāng)P2.0=0,WR=0(RD=1)選中74LS273芯片,CPU通過P0接輸出數(shù)據(jù)鎖存到74LS273,74LS273的輸出端低電平位相應(yīng)的LED發(fā)光二極管點亮;當(dāng)P2.0=0,RD=0(WR=1)時選中74LS244,此時若無鍵按下,輸入全為高電平,當(dāng)某鍵按下時則相應(yīng)位輸入為“0”,74LS244的輸入端不全為“1”,其輸入狀態(tài)通過P0接數(shù)據(jù)線被CPU讀入機(jī)內(nèi)??傊?,在圖6-7中只要保證P2.0端低電平就有也許使擴(kuò)展輸入或輸出工作。至于哪一個工作受WR和RD控制線控制,兩者不會同時為“0”,故在圖6-7中,兩個擴(kuò)展芯片可共用一個地址。擴(kuò)展地址擬定原則,只要保證P2.0為“0”。其他地址位或“0”或“1”即可。如地址用FEFFH(無效位全為“1”),用H(無效位全為“0”)。輸出程序段:MOVA,#data;數(shù)據(jù)—AMOVDPTR,#0FEFFH;I/O地址—DPTRMOVX@DPTR,A;WR為低電平,數(shù)據(jù)74LS273輸出輸入程序段:MOVDPTR,#OFEFFH;I/O地址-DPTRMOVXA,@DPTR;RD為低電平,74LS244接數(shù)據(jù)讀入內(nèi)部RAM例規(guī)定編程把按鍵狀態(tài)通過圖6-7中的發(fā)光二極管顯示出來。程序LP:MOVDPTR,#0FEFFH;輸入地址-DPTRMOVA,@DPTR;鍵狀態(tài)送AMOVX@DPTR,A;A數(shù)據(jù)送顯示輸出SJMPLP;(輸入、輸出公用一個地址)反復(fù)連續(xù)執(zhí)行8255可編程并行I/O接擴(kuò)展與電路設(shè)計8255是一個單片機(jī)系統(tǒng)常用的可編程芯片,運用指令設(shè)立各的工作方式。為了對8255合理設(shè)立,靈活應(yīng)用,有必要了解他的內(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。擴(kuò)展一片8255則可擴(kuò)展24位并行端。引腳功能介紹如下:⑴接線A、B、C3個I/O接的引線端分別為:PA0?PA7、PB0?PB7、PC0?PC7共24條端線。3個皆為鎖存/緩沖寄存器,A、B有鎖存功能,C無鎖存功能。A、B、C3的工作方式由程序設(shè)立。A可設(shè)立為輸入或輸出或雙向方式工作。B只能設(shè)立為輸入或輸出,不能雙向方式工作。C可設(shè)立為輸入或輸出。它的特點是可提成高、低兩個4位使用。上半部PC4?PC7與A組成一組叫A組;下半部PC0?PC3與B組成一組為B組,便于控制。數(shù)據(jù)線8255是8位芯片,有8位數(shù)據(jù)線D0?D7。數(shù)據(jù)線接于8051的P0接,用以實現(xiàn)8255與CPU之間的數(shù)據(jù)傳送??刂凭€控制線控制8255的讀、寫、復(fù)位及片選等。日。:讀入控制線,低電平有效,當(dāng)其為低電平時CPU對8255進(jìn)行讀操作,此時8255相應(yīng)為輸入。WR:輸出控制線,低電平有效,當(dāng)WR為低電平時,CPU輸出數(shù)據(jù)或命令到8255端,此時8255相應(yīng)為輸出。RESET:復(fù)位端,高電平有效,8255內(nèi)部寄存器全清0,24條I/O線為高阻狀態(tài)。CS:片選線,當(dāng)CS為低電平時,CPU選中此8255芯片。地址線8255共占用4個地址,為A、B、C及控制地址。這4個地址之間的選擇由A0、A1兩端線控制。A0、A1通常接于單片機(jī)的地址線最低兩位P0.O、P0.1,兩者組合決定了4個端地址,地址選擇方式如下:A1A0=,選擇A;A1A0=01,選擇B;A1A0=10,選擇C;A1A0=11,選擇控制。除這兩位外,其他位狀態(tài)還與硬件接線有關(guān),各具體地址,結(jié)合實際電路才干擬定。方式選擇及方式控制字8255工作方式8255有3種工作方式:方式0、方式1,方式2。方式0時,A、B、C三都可作基本的輸入或輸出;方式1時,A、B可作選通輸入或輸出,C部分作專用聯(lián)絡(luò)線;方式2時,A為雙向,C部分為專用聯(lián)絡(luò)線,B無此方式。8255的C專用功能如表6-3所列。方式選擇8255的方式選擇由方式控制字決定。方式控制字是8255內(nèi)部方式控制寄存器的狀態(tài)字,它由指令寫入控制寄存器中A、B、C控制位為“1”,相應(yīng)為輸入方式,若為“0”則為輸出方式。例如,控制字狀態(tài)為110101B,表達(dá)A組為方式0(D6D5=),A為輸入方式(D4=1),C上半部為輸出方式(D3=0);B組方式1(D2=1)中,B為輸出(D1=0),C下半部為輸入方式(D0=1)。D7=0只能對C位操作,位操作內(nèi)容由控制寄存器相應(yīng)位狀態(tài)決定。例如,若控制字為01H,即控制寄存器格式為01B,表達(dá)C位操作(D7=0),將PC0位置“1”(D3D2D1=0,DO=l置“1”),同理若控制字為0EH則把C最高位PC7置“0”即復(fù)位。8255擴(kuò)展電路及地址設(shè)立如圖6-9所示是8051單片機(jī)擴(kuò)展一片8255的電路圖。圖中,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。1.8255地址擬定圖6-9中8255只有3根線接于地址線。片選CS、地址選擇端A1、A0。分別接于P0.7,P0.1、P0.0其他地址線全懸空。顯然只要保證P0.7為低電平時,選中該8255,若P0.1、P0.0再為“”選中8255的A,同理P0.1、P0.0為“01”、“10”、“11”分別選中B、C及控制。若地址用16位表達(dá),其他無用端全設(shè)為“1”,則8255的A、B、C及控制地址分別可為FF7CH、FF7DH、FF7EH、FF7FH,無用位為“0”則4個地址為H、01H、02H、03H,只要保證CS、A1、A0的狀態(tài),無用位設(shè)為“0”或“1”無關(guān)。掌握了擬定地址的方法,使用者可靈活選擇地址。2.8255初始化使用8255芯片時,一方面要對它初始化。所謂初始化,也就是對8255的3個端的工作方式預(yù)先設(shè)立。設(shè)立控制字經(jīng)控制寫入。例如圖6-9電路,欲設(shè)立8255的A、B、C全為輸出狀態(tài),控制字為80H。程序:MOVDPTR,#03H;8255控制地址-DPTRMOVA,#80H;控制字送AMOVX@DPTR,A;控制字寫入控制寄存器運用這幾條指令對8255初始化后,A、B、C3個才干作為輸出使用。當(dāng)然改變控制字,則可改變3個端的工作方式。8155可編程I/O接擴(kuò)展設(shè)計8155可編程接芯片與8255的使用方法類似,只是兩者在結(jié)構(gòu)與功能上有所不同。8155結(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所示。I/O接線PA0?PA7,PB0?PB7,PC0?PC5分別為A、B、C3個I/O接引線端。A、B、C多用于與外設(shè)之間的數(shù)據(jù)傳送;C還可以作為A、B的控制線。地址數(shù)據(jù)線8155的低8位地址線和數(shù)據(jù)線共用AD0?AD7,故稱為地址數(shù)據(jù)線。當(dāng)ALE=1時,輸入的是地址信息,否則是數(shù)據(jù)信息。當(dāng)與8051單片機(jī)連接時,ALE下降沿到,將P0接輸出的低8位地址信息及CE、IO/M狀態(tài)都鎖存到8155內(nèi)部寄存器。因此8155的AD0?AD7直接與P0接相聯(lián),低8位地址不需要外接鎖存器,這點與8255不同??刂凭€ALE:地址鎖存線。ALE=1表達(dá)給8155輸入的是地址信息,當(dāng)ALE下降沿時,把地址鎖存到8155中。IO/M:RAM與I/O接的選擇線。IO/M=0選中8155內(nèi)部RAM區(qū),IO/M=1選擇3個I/O接、定期/計數(shù)器和命令寄存器。CE:片選線,RD:讀控制線,WR:寫控制線。TIMERIN:定期/計數(shù)器外部脈沖輸入端。TIMEROUT:定期/計數(shù)器輸出端。8155功能及操作8155具有3種功能,下面介紹具體操作。(1)作I/O接使用IO/M=1時8155作I/O接使用。各的工作方式通過內(nèi)部控制寄存器設(shè)立。8155工作于I/O時,各方式具體功能如表6-4所列。表6-48155I/O接工作方式及功能PC2PC1方式功能方式1A、B定義為基本輸入/輸出;。為輸入11方式2A、B定義為基本輸入/輸出;。為輸入01方式3A為選通輸出,8基本輸入/輸出PC3?PC5輸出,PC0?PC2作A選通控制PC0;AINTR,PCI,ABF,PC2,ASTB10方式4A、B都作為選通輸入/輸出方式PC0?PC2控制A,同方式3PC3?PC5控制B,PC3;BINTR,PC4:BBFPC5:BSTB2)狀態(tài)寄存器格式8155有一個狀態(tài)寄存器,它鎖存I/O接和定期器當(dāng)前狀態(tài)供單片機(jī)查詢。狀態(tài)寄存器和控制寄存器共用一個地址,所不同的是狀態(tài)寄存器只能讀出不能寫入而控制寄存器只能寫入不能讀出。標(biāo)志寄存器皆為高電平有效。(2)作擴(kuò)展RAM8155作為單片機(jī)擴(kuò)展RAM256B,操作很簡樸,只要使IO/M控制端為低電平即可。通常IO/M端、CE端與P2接兩位相連,兩者皆為低電平?jīng)Q定了RAM的高8位地址,P0接與AD0?AD7相接決定RAM的低8位地址。注意與其他數(shù)據(jù)存儲器統(tǒng)一編址。(3)作定期器使用當(dāng)IO/M=1時,8155也可作定期器使用。8155內(nèi)的可編程定期/計數(shù)器實際是一個14位的減法計數(shù)器。它共有兩個8位寄存器組成,低8位和高6位存放計數(shù)初值,最高2位控制定期器的工作方式。M2M1決定的定期方式及波形,8155的定期計數(shù)器為計數(shù)方式時。由引腳TIMERIN(3)從外部輸入計數(shù)脈沖;為定期方式時,則接單片機(jī)系統(tǒng)時鐘。無論定期或計數(shù)方式都從TIMEROUT端輸出脈沖或方波。注意:假如寫入定期器的計數(shù)初值為奇數(shù),方波輸出將不對稱。例如計數(shù)初值為9,單方波方式輸出方波在5個脈沖周期為高電平,4個脈沖周期內(nèi)為低電平。8155任何時候都可以置定期初值和工作方式,只要重新啟動即可。計數(shù)初值為2?3FFFH之間,終值為2。8155計數(shù)方式一般作信號發(fā)生器使用,輸入連續(xù)脈沖后,由編程控制輸出不同波形。8155的I/O接及RAM地址分派8155和其他芯片同樣統(tǒng)一按16位地址。它的地址范圍分兩種情況。當(dāng)RAM方式,IO/M=0、CE=0(兩者接P2),其RAM中數(shù)據(jù)地址范圍可為H-FFH(無關(guān)位取為0)。RAM應(yīng)與系統(tǒng)中其他數(shù)據(jù)存儲器統(tǒng)一編址。表6-5I/O接及定期器地址編碼AD2AD1AD)選中I/O接或定期寄存器低8位地址編碼000控制(命令)/狀態(tài)寄存器H001PA01H010PB02H011PC03H100定期器低8位04H101定期器高8位05H當(dāng)IO/M=1、CE=0時工作在I/O接或定期器方式,這種情況8155共需要占6個地址,6個地址由地址低8位中最低3位AD2、ADl、ADO編碼決定,編碼格式如表6-5所列。8051單片機(jī)與8155接電路舉例如圖6-11所示是8051單片機(jī)與8155芯片接電路之一。結(jié)合硬件電路著重說明8155地址的擬定及初始化程序。(1)8051與8155連接特點及地址分派MCS-51系列單片機(jī)可以直接和8155連接,低8位地址可不加鎖存器。ADO?AD7直接接于P0,8155的ALE直接與8051ALE相接,這點優(yōu)于8255。圖中8155的IO/M接8051的P2.0端,CE接P2.1端。IO/M=0,CE=0工作在RAM方式,其地址范圍為H~FFH(無用位設(shè)為0)。01H0101H0102H0103H0104H0105HIO/M=1,CE=08155工作在I/O接或定期方式,其地址擬定方法:高位保證P2.1=0,P2.0=1其他無用位設(shè)為0,這樣高位地址為01H,再考慮低位AD2、AD1、AD0三位編碼可擬定8155的以下6個地址:控制/狀態(tài)字地址A地址B地址C地址定期器低8位地址01H0101H0102H0103H0104H0105H分析:根據(jù)題目規(guī)定,控制寄存器狀態(tài)為1101B(0DH),編程把控制字送入即可。程序為:DPTR,#01HA,#0DH

@DPTR,A都必須通過上述方式,把控制字送入控制寄存器,才干對;控制寄存器-DPTR;控制字ADPTR,#01HA,#0DH

@DPTR,A都必須通過上述方式,把控制字送入控制寄存器,才干對;控制寄存器-DPTR;控制字A;控制字送控制寄存器2)設(shè)立RAM方式。例2編程使CPU往8155RAM30H單元送立即數(shù)88H。DPTR,#30H DPTR,#30H ;RAM數(shù)據(jù)單元地址-DPTRA,#88H ;立即數(shù)送入入@DPTR,A ;立即數(shù)送入30H中使用RAM時必在IO/M=0條件下。MOVMOVMOVX3)設(shè)立為定期方式。例3設(shè)8155的定期/計數(shù)器為方波發(fā)生器,輸出方波頻率為輸入時鐘頻率的24分頻。初始化程序如下:MOVDPTR,#0104H;定期器低8位地址-DFTRMOVA,#18H;18H-24D分頻系數(shù)^AMOVX@DPTR,A;定期初值送入定期器低8位INCDPTR;0105H是定期高8位地址MOVA,#40H;定期器方式1MOVX@DPTR,A;At定期器高位地址MOVDPTR,#01H;控制地址tDPTRMOVA,#0C2H;啟動計數(shù)器,B輸出,A、C輸入MOVX@DPTR,A與8155芯片類似芯片如8156,除選片端CE高電平有效外,其他功能及引腳與8155完全相同。8755內(nèi)部有2KBEPROM和兩個I/O接,具體參數(shù)可查閱有關(guān)資料。串行擴(kuò)展I/O接單片機(jī)控制系統(tǒng)中,串行常用來擴(kuò)展I/O接,使用移位寄存器作為鎖存或輸入信號的接,可以方便地擴(kuò)展并行輸入、輸出。這種方法不占用片外RAM地址,簡樸易行,便于操作,合用于速度較慢、實時性規(guī)定不高的場合。1.串行擴(kuò)展并行輸入74LS165芯片是8位并行輸入和串行移位輸出寄存器。原則上運用n片74LS165與8051的3根端線相連,可擴(kuò)展8n根并行輸入線。圖6-12所示運用2片74LS165與串行配合,擴(kuò)展16根并行輸入線的電路。由圖可見,8051僅用了3根線,分別為串行輸入線RXD(P3.0)、串行輸出線TXD(P3.1)和1根控制線P1.0引出。74LS165是一個8位寄存器,其S/L端是串行移位控制端接于P1.0端;CK是移位時鐘輸入端,接于P3.1(TXD)端;QH是串行移位輸出端接于P3.0(RXD)端。串行置為方式0。兩個165芯片是串聯(lián)方式,首尾相接,低位QH接于高位SER端,高位QH端接8051的RXD端。若16位并行輸入數(shù)據(jù)已送到兩個74LS165的輸入端,當(dāng)P1.0=0時。16位數(shù)據(jù)被同時接受,置入相應(yīng)的74LS165的寄存器中。當(dāng)P1.0=1時,移位寄

溫馨提示

  • 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

提交評論