【正文】
輸出端口; 專用接口芯片擴展 是采用 815 8255等專用接口芯片來擴展輸入 /輸出端口; 串行擴展 是采用串行通訊的方式擴展并行輸入 /輸出端口。 ? 注意 P0口的負載能力 。 使用專用芯片擴展 I/O端口 1. 8155的內(nèi)部結(jié)構(gòu) 表 711 8155內(nèi)部 RAM和 I/O端口寄存器編址 名 稱 地 址 名 稱 地 址 內(nèi)部 RAM 00H ~ FFH PB口寄存器 010 命令字寄存器(僅寫) 000 PC口寄存器 011 狀態(tài)字寄存器(僅讀) 000 定時器 /計數(shù)器低字節(jié)寄存器 100 PA口寄存器 001 定時器 /計數(shù)器高字節(jié)寄存器 101 2. 8155的 RAM和 I/O端口地址編碼 表 712 8155操作控制邏輯 D 0D 1D 2D 3D 4D 5D 6D 7T M 2 T M 1 I E AI E B P C 2 P C 1 P B P AP A 為 輸 入 口P A 為 輸 出 口01P B 為 輸 入 口P B 為 輸 出 口01P A 、 P B 為 基 本 I / O 口 ; P C 為 輸 入 口P A 、 P B 為 基 本 I / O 口 ; P C 為 輸 出 口P A 為 選 通 I / O 口 ; P B 為 基 本 I / O 口 ; P C 5 、 P C 4 、 P C 3 為輸 出 線 ; P C 0 為 I N T R A , P C 1 為 B F A , P C 2 為 S T B A禁 止 P A 中 斷 請 求允 許 P A 中 斷 請 求禁 止 P B 中 斷 請 求允 許 P B 中 斷 請 求0101空 操 作 , 不 影 響 定 時 器 / 計 數(shù) 器 工 作立 即 停 止 定 時 器 / 計 數(shù) 器 工 作待 定 時 器 / 計 數(shù) 器 溢 出 時 停 止 計 數(shù)啟 動 定 時 器 / 計 數(shù) 器 計 數(shù)0 00 11 01 1P A 、 P B 為 選 通 I / O 口 ; P C 0 為 T N T R A A , P C 1 為 B F A , P C 2為 S T B A , P C 3 為 I N T R B , P C 4 為 B F B , P C 5 為 S T B B0 00 11 01 13. 8155的命令字 _T I M E R I N T E B B F B I N T R B I N T E A B F A I N T R AD 7 D 6 D 5 D 4 D 3 D 2 D 1 D 0P A 中 斷 請 求 標 志P A 緩 沖 器 滿 標 志P A 中 斷 允 許 標 志P B 中 斷 請 求 標 志P B 緩 沖 器 滿 標 志P B 中 斷 允 許 標 志定 時 器 / 計 數(shù) 器 中 斷 請 求 標 志 定 時 器 / 計 數(shù)器 計 數(shù) 溢 出 時 置 1 C P U 讀 8 1 5 5 狀 態(tài) 后 復(fù) 04. 8155的狀態(tài)字 5. 8155的定時器 /計數(shù)器 M2 M1 輸出方式 T0引腳輸出波形 0 0 單負方波 0 1 連續(xù)方波 1 0 單負脈沖 1 1 連續(xù)脈沖 6. 8155與 51單片機的接口方法 8155擴展端口地址 例:定義 A口和 C口為輸入口 , B口為輸出口 , 寫出初始化程序 , 并向 B端口輸出數(shù)據(jù) 9BH. 8155命令字: 02H TM2 TM1 IEB IEA PC2 PC1 PB PA 0 0 0 0 0 0 1 0 。向 B端口輸出數(shù)據(jù) 9BH MOV DPTR, 4002H MOV A, 9BH MOVX DPTR, A 74LS165擴展并行輸入口 采用串行通訊方式擴展并行 I/O端口 (RXD): 數(shù)據(jù)引腳 (TXD): 輸出同步移位脈沖 S/ L (Shift/ Load): 0— 并行輸出 。 SPI是一種高速的 、全雙工 、 同步的串行總線接口 , 主要應(yīng)用在 EEPROM、FLASH、 實時時鐘 、 AD轉(zhuǎn)換器和 D/A轉(zhuǎn)換器等芯片中 。 I2C總線為芯片間同步串行傳輸總線 , 只使用 兩根信號線 : 串行時鐘線 SCL和 串行數(shù)據(jù)線 SDA, 能實現(xiàn)總線上各器件的全雙工同步數(shù)據(jù)傳送 。 I2C串行總線 END