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