PICの裏技:WeakPullupで入力端子を出力端子にしちゃえ!

以前WeakPullupの実験で構想があったのだが、実際に動かす時間がとれたのでやってみた。

タイトル通り「入力端子を出力端子として使う」裏技です。

ちなみに元々出力端子にも使えるポートを使っても何のメリットも無いのでご注意を!

今回はPICのF1シリーズのPIC16F1827を使ってみます。

とはいえ、入力端子にしか使えないポートって!!あれですよ、あれ、リセットと共有になってるあいつです。ということでF1827をはじめとする18ピンシリーズではRA5として宣言されている端子を使います。

まず、準備としてMCLRE_OFF、LVP_OFFをCONFIGで指定してRA5を生かします。

あとはプログラム中でHighをRA5から出力したいときはWPUA5=1;として、LowにしたいときはWPUA5=0;とするだけです。RA5に接続するものによってはプルダウン抵抗が必要となるので以前の実験の実験結果を参考にしてください。

なお、古いPICではあの端子だけプルアップの指定がないものが多いので、そういったPICではこの裏技は使えません。最近発売されたPICは大体いけるみたいです。特に8ピンなどの少ピンPICでは有効じゃ無いかと思います。

今回は高輝度のLEDを光らせてみました。暗いけど判別はつきます。つけっぱなしだとわかりにくいので使用時には点滅させるところがミソですw

↓これがON

↓これがOFF

区別つくでしょ?

注意:あくまでも実験なので製品に採用する人は無いとは思いますが・・・念のためw

  1. トラックバックはまだありません。

コメントを残す

以下に詳細を記入するか、アイコンをクリックしてログインしてください。

WordPress.com ロゴ

WordPress.com アカウントを使ってコメントしています。 ログアウト / 変更 )

Twitter 画像

Twitter アカウントを使ってコメントしています。 ログアウト / 変更 )

Facebook の写真

Facebook アカウントを使ってコメントしています。 ログアウト / 変更 )

Google+ フォト

Google+ アカウントを使ってコメントしています。 ログアウト / 変更 )

%s と連携中

%d人のブロガーが「いいね」をつけました。