PIC LEDのオンオフ A
その後点滅は割り込みで点滅させることにしました。タイマー0をセットして、前回どうよう内部発振の1MHzの動作です。 この動作も初めてなので動きの手順を確認しておきたいと思います。予定通り点滅をしています、約1秒間に約2回の点滅でした。特に時間の計算はしていないのですが割込みは動いて、目で確認出来れば良い程度です。
結果は予定通り動いてホッとしています。ハードは前回とまったく同じでSOFTの変更でした。
割込みの手順
A.初期設定としてINTCONの設定をする。
[INTCON --- T0IE] (819ではINTCON,TMR0IFとする。)
B.OPTION_REGの設定でプリスケラーなどの設定をする。今回はここで内部発振(1MHz)を使った、16Bitの1/65535となる。
[OPTION_REG --- 1/256]
[1×65535×4=0.26214Sec で約1秒で2回の点滅となる。]
C.割込みプログラムを0x04アドレスに書き込んでおけば、そこに割込みが始まってコントロールが移り処理される。
[XORWF PORTB,F ;comp]
[BCF INTCON,2 ;*]ポイントはフラッグのクリヤ[*]を忘れると割り込みが連続で発生してしまい、メインプログラムに戻らないのを体感!
プログラム自体は非常に簡単でHexファイルは下の通りと簡単です(アセンブルリストは省略:知識が増えてからにします。前のプログラムの間に加えたのでまだ整理してない、画面上はぐしゃぐしゃ状態・・・でも動いている)。
2007/JAN/25
----- HEX プログラム -----
:020000040000FA :020000000828CE :08000800013086060B1109000E :100010008312031385018316031340308F000630CB :100020009F00A0308B00473081008501860183123C :0A00300003138601033085001C282D :02400E00F03F81 :00000001FF
もどる [MAIN MENU]