How to toggle on/off momentary pushbutton with PIC12F629

By ttakao, 2016年7月3日

Do you think adding on/offf switch on pic12F629 ?

One of the best way is using interruption.

Many developers had made this type of question on the net.

But I have never found any sample source code. Most of all people just give suggestions.

Therefore, I put here my sample source code for other developers.

It was not easy. For example, sw_count variable is from my experience.

Switch part schematics is as follows (Xtal is not mandatory)

(9/21/2016: For long bouncing switch, wait is inserted.)

hardware

Hope your help.

— In Japanese
PIC12F629にモーメンタリースイッチを取り付けて、オン、オフしたいと考える人は多いと思う。

ずーっとコーディング例を調べていたけれども具体的なものはなかった。

私の開発したサンプルを置いておく。

以下、前提情報

  1. まず、PIC12F629の特性に注目する。
    PORT3はリセットもしくは入力専用ポートとしてつかわれる。
  2. PORT3はそのため他のポートと違って、プログラムでプルアップ(抵抗を介して電圧をかける)できない
  3. ポートの変化による割り込みは、通常はGIEをオンにすると割り込みがかかる
  4. ポートの変化による割り込みは、SLEEP中はGIEをオンにしなくてもポート変化割り込みの設定をしていれば起きる。この時、割り込みルーチンには飛ばない
  5. 確認のために記しておくが、GIEをオンにしてSLEEPすると起きてから割り込みルーチンに飛ぶ

If you know better code, please let me know.

What do you think?

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です