ポート・GPIO

ボタン入力・キー入力

ボタン入力・キー入力する際もポートを使用します。
ボタンやキーの抵抗値は、押されていないとき(OFF)に高抵抗、押されているとき(ON)に低抵抗とします。
スイッチにプルアップ抵抗を接続し、その間のノードをマイコンの端子に入力します。
これにより、ボタンやキーがOFFの時入力端子は“H”になり、
ONの時入力端子は“L”になるため問題なくボタンやキーの状態をマイコンに伝えることが可能になります。

ちなみに最近のマイコンは、上記のプルアップ抵抗やプルダウン抵抗を取り込んだポートを搭載しています。
これにより外部プルアップ抵抗や外部プルダウン抵抗を省くことができます。
ただし電源起動時は、プルアップ抵抗やプルダウン抵抗は切り離されており、
端子の電圧は不定です。
ですので、まずプルアップ抵抗やプルダウン抵抗の設定をしてから入力を受け付けるようにしましょう。

さてML62Q1000シリーズのポート構成を見てみましょう。
赤丸に囲まれた部分がML62Q1000シリーズのポートに内蔵されたプルアップ抵抗です。
ML62Q1000シリーズでは、Pn1PUというSFRを1に設定すればプルアップを有効にすることができます。
このようにマイコンのポートには抵抗が内蔵されていますのでうまく使っていきましょう。

内蔵プルアップ抵抗・内蔵プルダウン抵抗の値の求め方

内蔵プルアップ抵抗と外付けスイッチを使用する場合、
ノイズ対策のためコンデンサを接続する場合があります。
このときのスイッチをOFFにしたときの応答時間は、
プルアップ抵抗値Rと接続したコンデンサ値Cの積RCから見積もることができます。

では、内蔵のプルアップ抵抗やプルダウン抵抗はどれぐらいの抵抗値なのでしょうか?
ここでラピステクノロジーのマイコンML62Q1000シリーズのIIL(Intensity of current Input Low)とIIH(Intensity of current Input High)を見てみましょう。
IILとは出力部を“ハイインピーダンス”出力にし、端子をグラウンドレベルにした時に、グラウンドに流れる電流値のことです。
IIHとは出力を“ハイインピーダンス”出力にし、端子を電源電圧レベルにした時に、電源に流れる電流値のことです。

このIILとIIHは何を示しているのでしょうか?
実は、VDD=5.5VのときIILが-1500uA流れているとすると、
オームの法則により、VDD/IIL=5.5V/1500uA=3.7kΩとなり、これは内蔵プルアップ抵抗の計算式を意味します。
プルダウン抵抗も同様の計算方法でわかります。



マイコン設計者がお答えします!技術的問い合わせフォーム