<progress id="jlsnq"><code id="jlsnq"></code></progress>

<strong id="jlsnq"><del id="jlsnq"></del></strong>
    <mark id="jlsnq"></mark>

    <legend id="jlsnq"><table id="jlsnq"></table></legend>
    <small id="jlsnq"></small>
  • <ruby id="jlsnq"><table id="jlsnq"></table></ruby>

      <strong id="jlsnq"></strong>

      24小時聯系電話:18217114652、13661815404

      中文

      您當前的位置:
      首頁>
      電子資訊>
      行業資訊>
      接口芯片8255的擴展方...

      行業資訊

      接口芯片8255的擴展方法


      一般而言,可編程接口芯片具有存儲器和地址線?。所謂可編程,是指CPU通過一條指令將一定的數據寫入接口芯片的某個存儲器中,接口芯片在接收到CPU發送的數據后自動轉換數據。然后執行數據代表的動作

            不同的CPU對接口芯片的處理方式不同。一些CPU處理接口芯片的內存與CPU本身使用的內存不同。接口芯片內存的操作稱為I / O操作,內存本身的操作用于CPU本身。這稱為內存操作,并且I / O操作和內存操作使用不同的指令。這稱為I / O端口的獨立尋址。

            此方法的優點是I / O端口不占用內存的地址空間,并且內存空間和I / O空間是獨立的。缺點是在CPU中單獨設置了I / O端口訪問指令,并且增加了CPU的復雜性。INTEL8086系列采用了這種結構。

            另一種處理方式是將接口芯片?存儲器視為外部數據存儲器,而無需單獨設置I / O端口的訪問指令。此方法稱為統一尋址,而8051采用此方法。

            下面我們介紹接口芯片8255。

            8255是并行接口擴展芯片。它具有一個要擴展的8位并行接口D0-D7,以及三個擴展的8位并行接口PA,PB,PC。通過其兩條地址線AO,A1選擇四個存儲器,即PA端口存儲器,PB端口存儲器,PC端口存儲器和控制端口存儲器。

            A1A000時,8255D0-D7連接到PA。

            A1A001時,8255D0-D7連接到PB。

            A1A010時,8255D0-D7連接到PC。

            A1A011時,8255D0-D7連接到內部控制寄存器。

            假設將兩個8K數據存儲器和一個8255混合并擴展到CPU的外部數據存儲器中,并且它們的片選信號以解碼方式連接。

            解碼器74139的輸入連接到CPUP2.5P2.6。

            P2.6P2.500,該解碼器輸出端子YO是有效的,并且數據的第一片存儲器中選擇???梢钥闯?,第一片存儲器的邏輯地址為0000H-1FFFH8000H-9FFFFH,每個物理單元有兩個邏輯地址

            P2.6P2.501時,解碼器輸出Y1有效,選擇第二條存儲器,第二條存儲器的地址為2000H-3FFFH0AOOOH-OBFFFH。

            P2.6P2.510時,解碼器輸出Y2有效。選擇8255時,8255的邏輯地址為4000H-5FFFH0C000H-0DFFFH。

            P2.6P2.511時,解碼器輸出Y3有效,并且未選擇任何存儲器,即,在這種情況下的地址是無效地址,包括6000H-7FFFH0E000H-OFFFFH。


      請輸入搜索關鍵字

      確定
      色鲁99热99re超碰精品_91精品一区二区三区无码吞精_亚洲国产欧洲综合997久久_一级a性色生活片久久无
      <progress id="jlsnq"><code id="jlsnq"></code></progress>

      <strong id="jlsnq"><del id="jlsnq"></del></strong>
        <mark id="jlsnq"></mark>

      <legend id="jlsnq"><table id="jlsnq"></table></legend>
      <small id="jlsnq"></small>
    1. <ruby id="jlsnq"><table id="jlsnq"></table></ruby>

        <strong id="jlsnq"></strong>