資源描述:
《IO接口擴(kuò)展電路設(shè)計(jì).doc》由會員上傳分享,免費(fèi)在線閱讀,更多相關(guān)內(nèi)容在行業(yè)資料-天天文庫。
1、I/O接口擴(kuò)展電路設(shè)計(jì)???8051系列單片機(jī)如果系統(tǒng)不做任何擴(kuò)展,P0~P3接口可做I/O接口使用。只要稍微擴(kuò)展系統(tǒng),P0、P2接口則被用為地址線。P0接口還兼做數(shù)據(jù)線,P3接口常被專用線占用,只有Pl接口可做I/O接口。一個實(shí)際系統(tǒng),只有8位I/O接口往往是不夠用的,所以I/O接口也需要擴(kuò)展。本節(jié)重點(diǎn)介紹I/O接口擴(kuò)展方法及應(yīng)用實(shí)例。???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ò)
2、展簡單I/O接口。可編程芯片常用8255、8155等,利用程序?qū)π酒M(jìn)行設(shè)置,軟硬件結(jié)合實(shí)現(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個輸入
3、端分別接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ā)光二極管點(diǎn)亮;當(dāng)P2.0=0,RD=0(WR=1)時選中74LS244,此時若無鍵按下,輸入全為高電平,當(dāng)某鍵按下時則對應(yīng)位輸入為“0”,74LS244的輸入端不全為“1”,其輸入狀態(tài)通過P0接口數(shù)據(jù)線被CPU讀入機(jī)??傊?,在圖6-7中只要保證P2.0端低電平就有可能使擴(kuò)展輸入口或輸出口工作。至于哪一個口工作受WR和R
4、D控制線控制,二者不會同時為“0”,故在圖6-7中,兩個擴(kuò)展芯片可共用一個地址。擴(kuò)展口地址確定原則,只要保證P2.0為“0”。其他地址位或“0”或“1”即可。如地址用FEFFH(無效位全為“1”),用0000H(無效位全為“0”)。輸出程序段:MOV??A,?#data???????????;數(shù)據(jù)→AMOV??DPTR,#0FEFFH???????;I/O地址→DPTRMOVX??DPTR,A????????????;WR為低電平,數(shù)據(jù)74LS273口輸出輸入程序段:MOV?DPTR,#OFEFFH?????????;I/O地址→DPTRMOVX?A,DPTR?????????
5、??;RD為低電平,74LS244接口數(shù)據(jù)讀入部RAM例要求編程把按鍵狀態(tài)通過圖6-7中的發(fā)光二極管顯示出來。程序LP:?MOV??DPTR,#0FEFFH?????;輸入口地址→DPTR?????MOV??A,DPTR??????????;鍵狀態(tài)送A?????MOVX??DPTR,A?????????;A數(shù)據(jù)送顯示輸出口?????SJMP???LP?????????????????;(輸入、輸出公用一個地址)反復(fù)連續(xù)執(zhí)行8255可編程并行I/O接口擴(kuò)展與電路設(shè)計(jì)8255是一個單片機(jī)系統(tǒng)常用的可編程芯片,利用指令設(shè)置各口的工作方式。為了對8255合理設(shè)置,靈活應(yīng)用,有必要了解他
6、的部結(jié)構(gòu)及工作原理。1.8255部結(jié)構(gòu)及引腳功能8255是一個有40引腳雙列支插型可編程芯片,部及引腳如圖6-8所示。由圖6-8可見,8255部有3個并行的8位I/O接口,分別稱為A口、B口、C口。擴(kuò)展一片8255則可擴(kuò)展24位并行端口。引腳功能介紹如下:(1)接口線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è)置為輸入或輸出口。它的特
7、點(diǎn)是可分成高、低兩個4位使用。上半部PC4~PC7與A口組成一組叫A組;下半部PC0~PC3與B口組成一組為B組,便于控制。???(2)數(shù)據(jù)線8255是8位芯片,有8位數(shù)據(jù)線D0~D7。數(shù)據(jù)線接于8051的P0接口,用以實(shí)現(xiàn)8255與CPU之間的數(shù)據(jù)傳送。(3)控制線控制線控制8255的讀、寫、復(fù)位及片選等。RD:讀入控制線,低電平有效,當(dāng)其為低電平時CPU對8255進(jìn)行讀操作,此時8255相應(yīng)口為輸入口。WR:輸出控制線,低電平有效,當(dāng)WR為低電平時,CPU輸出數(shù)據(jù)或命令到8255端口,此