2008-03-14

流れるウインカー基板 作成後記  

今回、作成してみて一番はまったのが動作クロックですね。
内部クロックをF88ではプログラムで設定しないといけない。ということに気づかなかった。

プログラムの先頭に4MHzで動作させる場合は次のコマンドが必要です。
OSCCON = %01100100
当然、OPTIONレジスタの設定も必要です。

タイマー割り込み関係のみを抜き出してみました。
参考にしてください。
(空白に全角文字を使っているのでコピペには注意)

program F88WINKER

dim counter as word

’割り込み処理
sub procedure interrupt
 'ここで割り込み処理を記述します。
 inc(counter) ' Increment value of counter on every interrupt
 TMR0 = 64
 INTCON = $20 ' Set T0IE, claer T0IF
end sub

’初期処理
sub procedure init_rtn
 OPTION_REG = $82 ' Assign prescaler to TMR0
 counter = 0 ' Initialize counter
TMR0 = 64
 INTCON = $A0 ' Enable TMRO interrupt
end sub

main:

 OSCCON = %01100100 ' 内部クロックを4MHzに設定

 init_rtn ’初期処理

 while true

  ’メイン処理
  if counter = 200 then ' if counter is 200, then
   ' ここで一定周期ごとの処理をする
   counter = 0
  end if

 wend

end.

1 件のコメント:

匿名 さんのコメント...

Give a man a fish, and you feed him for a day; show (teach) him how to catch fish, and you feed him for a lifetime.