ATtiny85のRESET(PB5)ピンの利用方法について

ATtiny85のRESET(PB5)ピンをヒューズを書き換えずに入力ピンとして使う場合、リセットがかからないような電圧範囲にてADCによる電圧判定を行う方法が一般的ではあるがADCはその変換時間のために比較的低速な入力用途にしか使えないしなんとなく煩雑な気もしてしまう。なので、もっと別の良い方法があるのではないかと以前から気になってはいたので、今回は、アナログコンパレータを利用する方法を試して見た。

上図は、PB0(非反転入力)とPB5(反転入力)をアナログコンパレータの入力として使う方法である。基準電圧としてPB0を抵抗分圧によりVDDより0.5Vほど低い電圧にしておいて、PB5を同じように抵抗分圧により、VDD~4.0V程度まで変化させる方法である。

この方法の利点は、高速な入力に加え入力変化割り込みが使えることと、コンパレータのACDビットだけで入力状態が判定できることである。

欠点としては、ADCの多重器出力を使うためADCとは排他的にしか使えないこととPB0を利用していること。ピン数の不足を補うためにRESETピンを利用しようとしているのに他のピンを使ってしまうというのは本末転倒な感じがしないわけでもないが、PB0を排他的に利用できるなら、スイッチ、オープンコレクタ、オープンドレイン回路などへのプルアップ入力ピンとして共有することは可能である。