PIC 16F628 LED点滅

16F628 のプログラムって日本国内ではあまり出回ってないので作ってみました。
1個のLEDを点滅させる、基本となるプログラムです。

内蔵発振を使っているので、16F628 に +5V と GND を繋げるだけで動くようになります。
配線は電源だけ。すげー!
感動しました。

16F628 にチャレンジしたいけど取っ掛かりがつかめない方の力になれれば嬉しいです(^-^)
私自身が 16F628 になかなか踏み込めなかったので・・

■目次


■回路図

■使用部品

■プログラム

以下がソースです。
説明は・・・う〜ん・・ 基本的すぎるから説明するまでもなさそうです。
変数開始アドレスが 20h から始まっていることに注意してください。
 (16F84 では 0Ch が開始アドレス)

16f628led_flash.asm (2KB)

 

■結果

約1秒間隔でLEDが点滅すればOKです。


それだけなんですけど、たったこれだけの配線でマイコンチップが動くので、この先色々電子工作が楽になりそうです☆

■あとがき

16F628 最初動いたとき、ほんと感動しました。
内蔵クロック発振は便利!便利!
データシート英語しかないのがしんどいですが。しかも特殊レジスタの多いこと。
秋月電子のHPには
     「16F84とピンコンパチブルです」
なんて書いてあったけど、ピンが同じだけで中身は別物って感じです(^^;

 

ところで

	MOVLW	b'00000111'		;16F628独自	
MOVWF CMCON ;コンパレータOFF
BCF INTCON,PEIE ;16F628独自 周辺割り込みOFF

プログラム中にこんな風に書いてある部分があります。
実は、今回のプログラムでは、この3行は不要なのです。消してしまっても問題ないはずです。
でも他のプログラムに改造したりする場合、必要になるかもしれません。

【CMCON について】
どうやら起動状態では、コンパレーターはONになっていて、デジタル入出力が出来ないらしいのです。
データシートを見るとわかりますが、コンパレーターピンがこのフラグの影響を受けます。
コンパレーターを使わないときは CMCON に b'00000111' を入れてOFFにしておくと良いです。

【INTCON,PEIE について】
周辺割り込みOFFですが、これは明示的に宣言しなくても普通は動くらしいです。
でもなぜか、PortB割り込みを使った時、PEIE クリアを明示しないとうまく動いてくれませんでした。

 

戻る