LED実習回路
使用マイコン:PIC16F84A←1番ポピュラーなものですね。


 PICを学び始めて初めて作った回路です。まだまだ、素人ですので間違っているところがあるかと思います。
はじめは、必ず専門の本を買ったほうがよいでしょう。以下は参考として見てください。
@基板の作成に取り掛かります。
 必要なパーツリストです。ほとんどのものは秋月電子通商で揃えれます。
 電解コンデンサだけは、秋月には置いていないのでどこかで仕入れるか、他の部品から拝借してきてもよいでしょう。
番号 品名 規格 数量 参考価格(円)
1 PIC PIC16F84A 1 300
2 3端子レギュレータ 78L05 1 100
3 セラロック 10MHz 1 40
4 LED TLR102など 8 15
5 抵抗 390Ω 8 10
6 抵抗 10kΩ 2 10
7 電解コンデンサ 47μF10V 2 20
8 セラミックコンデンサ 0.1μF 1 10
9 スイッチ スナップ型 3 100
10 ICソケット 18ピン 1 20
11 ユニバーサル基板 95×72など 1 180
12 電池スナップ 006P用 1 30
13 乾電池 006P 9V 1 180
回路図を描いてみました。初めてなんで下手です。(クリックすると表示)
回路図

↑表面(部品面)から見た図
表からみた図のみ公開しますが、接続は回路図を見てわかるでしょう。
この実習回路を作っておけば、後のプログラム演習にも十分使えますね。
Aプログラムをしましょう。
前回作成したPICプログラマーによってマイコンに書き込みます。
書き込むプログラムを作らないといけないのですが、作成ソフト(MPLAB)はインターネットで無償でDLできます。
MPLABは、マイクロチップテクノロジージャパン社ジャパンのホームページから入手することができます。また、日本語のマニュアルなども配布されていますので、同時に入手しておくとよいでしょう。
あとは、画面の指示に従ってインストールを開始してください。インストールを完了したら、パソコンを再起動します。
PICにプログラムを書き込むまでの手順を示します。
 @プロジェクトの作成
 Aソースプログラムの入手
 Bプロジェクトへの追加
 Cアセンブル
 DPICへの書き込み

ここでは、8個のLEDで一個飛ばしに4個のLEDが交互に点滅するプログラムを作ってみます。
; ********************************************************
; LED点滅プログラム
; ********************************************************
LIST P=PIC16F84A ;使用するPICを設定
INCLUDE "P16F84A.INC" ;読み込む設定ファイルを指定
; ********************************************************
LEDD1 EQU 0AAH ;LED点灯データ1の設定
LEDD2 EQU 55H ;LED点灯データ2の設定
CNT1 EQU 0CH ;タイマ1用カウント変数
CNT2 EQU 0DH ;タイマ2用カウント変数
CNT3 EQU 0EH ;タイマ3用カウント変数
; ********************************************************
ORG 0 ;プログラムを格納する先頭アドレス

BSF STATUS,RP0 ;バンク1を選択
CLRF TRISB ;ポートBをすべて出力モードに設定
BCF STATUS,RP0 ;バンク0を選択

REPEAT MOVLW LEDD1 ;点灯データ1をWレジスタにセット
MOVWF PORTB ;点灯データ1をポートBに出力

CALL TIMER3 ;1秒タイマの呼び出し

MOVLW LEDD2 ;点灯データ2をWレジスタにセット
MOVWF PORTB ;点灯データ2をポートBに出力

CALL TIMER3 ;1秒タイマの呼び出し

GOTO REPEAT ;繰り返し

TIMER1 MOVLW D'62' ;0.1ミリ秒タイマサブルーチン
MOVWF CNT1
LOOP1 NOP
DECFSZ CNT1,1
GOTO LOOP1
RETURN

TIMER2 MOVLW D'100' ;10ミリ秒タイマサブルーチン
MOVWF CNT2
LOOP2 NOP
CALL TIMER1
DECFSZ CNT2,1
GOTO LOOP2
RETURN

TIMER3 MOVLW D'50' ;1秒タイマサブルーチン
MOVWF CNT3
LOOP3 NOP
CALL TIMER2
DECFSZ CNT3,1
GOTO LOOP3

RETURN

END ;プログラムエンド
;****************************************************


ちょっと、見づらくなってしまいましたが、プログラムはこのようなものです。
本当は、TABキーをつかってきれいに整理するといいんですが。
さあ、これを見て、わけが分かりません。始めてみる人は、全くわけが分かりません。自分も分かりません。
いまいち、命令の対応の仕方が分かりませんが、プログラムを入力していくうちにだんだんと理解し始めてきます。
コピペして動作を確認してみてください。


B動作確認をしてみましょう。
 電源SWを入れててみると、見事に交互に光ります。電源のほかに設けたSWは拡張動作用のものです。プログラムの変更によってSW1を入力すると違う点滅パターンになるなど様々な動作ができ普通の電子回路とは違ってとても柔軟性がありますね。
 今後も、プログラムの勉強をして、いろいろな動作ができるようになりたいと思います。
動作状態の動画(7953バイト)
動画で確認できれば、写真はいりませんね。