I2CエキスパンダPCF8574を入力ポートとして使うための実験
2014-09-04
I2C LCDアダプタに使っているPCF8574は入力ポートとしても使えるというので実験してみました。
実験に使ったのはPCF8574Aです、RSコンポーネンツから入しました、200円也。
欲しいものがあったのでついでに注文しましたが、到着が早いですね。
PCF8574はスレーブアドレスが0x20~0x27ですが、PCF8574Aは0x38~0x3Fです。
データポートはデータシートによると
8-bit quasi-bidirectional port
とあります。quasi とは 準、半、準拠といった意味で、出力ポートの回路構成によるためでしょう。
出力回路を極めて大雑把に書いてみました。実際は抵抗によるプルアップではなくもっと複雑です。
入出力を切り替えるためのレジスタは無く、単に出力をHにする、すなわちQをオフにするだけです。パワーオンで出力はすべてHレベルになるのでそのまま入力ポートとして使えます。
実験では手持ちのスイッチをつけて動作を確認しました。
写真でスイッチはそれぞれ4になっていますが、論理が反転しているので0xbになります。
したがって表示はBBとなっています。
実験に使ったのはPCF8574Aです、RSコンポーネンツから入しました、200円也。
欲しいものがあったのでついでに注文しましたが、到着が早いですね。
PCF8574はスレーブアドレスが0x20~0x27ですが、PCF8574Aは0x38~0x3Fです。
データポートはデータシートによると
8-bit quasi-bidirectional port
とあります。quasi とは 準、半、準拠といった意味で、出力ポートの回路構成によるためでしょう。
出力回路を極めて大雑把に書いてみました。実際は抵抗によるプルアップではなくもっと複雑です。
入出力を切り替えるためのレジスタは無く、単に出力をHにする、すなわちQをオフにするだけです。パワーオンで出力はすべてHレベルになるのでそのまま入力ポートとして使えます。
実験では手持ちのスイッチをつけて動作を確認しました。
写真でスイッチはそれぞれ4になっていますが、論理が反転しているので0xbになります。
したがって表示はBBとなっています。