24小時(shí)聯(lián)系電話:18217114652、13661815404
中文
行業(yè)資訊
接口芯片8255的擴(kuò)展方法
一般而言,可編程接口芯片具有存儲器和地址線?。所謂可編程,是指CPU通過一條指令將一定的數(shù)據(jù)寫入接口芯片的某個(gè)存儲器中,接口芯片在接收到CPU發(fā)送的數(shù)據(jù)后自動轉(zhuǎn)換數(shù)據(jù)。然后執(zhí)行數(shù)據(jù)代表的動作
不同的CPU對接口芯片的處理方式不同。一些CPU處理接口芯片的內(nèi)存與CPU本身使用的內(nèi)存不同。接口芯片內(nèi)存的操作稱為I / O操作,內(nèi)存本身的操作用于CPU本身。這稱為內(nèi)存操作,并且I / O操作和內(nèi)存操作使用不同的指令。這稱為I / O端口的獨(dú)立尋址。
此方法的優(yōu)點(diǎn)是I / O端口不占用內(nèi)存的地址空間,并且內(nèi)存空間和I / O空間是獨(dú)立的。缺點(diǎn)是在CPU中單獨(dú)設(shè)置了I / O端口訪問指令,并且增加了CPU的復(fù)雜性。INTEL的8086系列采用了這種結(jié)構(gòu)。
另一種處理方式是將接口芯片?的存儲器視為外部數(shù)據(jù)存儲器,而無需單獨(dú)設(shè)置I / O端口的訪問指令。此方法稱為統(tǒng)一尋址,而8051采用此方法。
下面我們介紹接口芯片8255。
8255是并行接口擴(kuò)展芯片。它具有一個(gè)要擴(kuò)展的8位并行接口D0-D7,以及三個(gè)擴(kuò)展的8位并行接口PA,PB,PC。通過其兩條地址線AO,A1選擇四個(gè)存儲器,即PA端口存儲器,PB端口存儲器,PC端口存儲器和控制端口存儲器。
當(dāng)A1A0為00時(shí),8255將D0-D7連接到PA。
當(dāng)A1A0為01時(shí),8255將D0-D7連接到PB。
當(dāng)A1A0為10時(shí),8255將D0-D7連接到PC。
當(dāng)A1A0為11時(shí),8255將D0-D7連接到內(nèi)部控制寄存器。
假設(shè)將兩個(gè)8K數(shù)據(jù)存儲器和一個(gè)8255混合并擴(kuò)展到CPU的外部數(shù)據(jù)存儲器中,并且它們的片選信號以解碼方式連接。
解碼器74139的輸入連接到CPU的P2.5和P2.6。
當(dāng)P2.6和P2.5是00,該解碼器輸出端子YO是有效的,并且數(shù)據(jù)的第一片存儲器中選擇?。可以看出,第一片存儲器的邏輯地址為0000H-1FFFH和8000H-9FFFFH,每個(gè)物理單元有兩個(gè)邏輯地址
當(dāng)P2.6和P2.5為01時(shí),解碼器輸出Y1有效,選擇第二條存儲器,第二條存儲器的地址為2000H-3FFFH和0AOOOH-OBFFFH。
當(dāng)P2.6和P2.5為10時(shí),解碼器輸出Y2有效。選擇8255時(shí),8255的邏輯地址為4000H-5FFFH和0C000H-0DFFFH。
當(dāng)P2.6和P2.5為11時(shí),解碼器輸出Y3有效,并且未選擇任何存儲器,即,在這種情況下的地址是無效地址,包括6000H-7FFFH和0E000H-OFFFFH。