Sahara's WebLog

日記のような、備忘録のような、うらみつらみのような、自慢のような…。

PIC12F1822 あるポートが0.5秒間以上High --> 別のポートを3秒間High

某質問サイトを眺めていたら「あるポートで0.5秒以上High状態が続いたら別のポートを3秒間Highにする。」には、というような質問があったので、出来るかなと思ってやってみた。

PIC12F1822にしたのは、たまたま机の上に、電源部分だけ配線済みのPIC12F1822がささったブレッド・ボードが転がっていたから。
どういう机だよ。

ついてる回答は、「Lチカ探せば出来る。」ってのと「そんな簡単なのきいてるようじゃ上達しない。」という、ありがたいものが2件。
世の中は意外と厳しい。
厳しいカテゴリ・マスターさんのアドバイスでは、ヒントとして「タイマー、カウンターを使う」となっていたが、とりあえず__delayだけでやってみた。

時間稼ぎをどうやるかの違いと、時間稼ぎ中にも他の処理をする必要があるのかというところだが、質問ではその辺の細かなことは何も決められていない。
pic12f1822_SW_LED_Blink
下(茶)がタクト・スイッチにつながったピン(RA0)、上(黒)がLEDにつながったピン(RA5)の信号の変化だ。
あとは、Interrupt使うとかTimer使うとかでいろいろメインの自由度が稼げる、それが必要なら。
pic12f1822_SW_LED_Blink_sc
20150706210421

このエントリーをはてなブックマークに追加

Posted under: PIC12F1822


コメントを残す

メールアドレスが公開されることはありません。

Time limit is exhausted. Please reload CAPTCHA.