PICのプログラム

kanki2006-01-17



ボディーのほうはマスキングも終わり、天気の良い日を待ってる状態。ただ待ってる訳にもいかないので、できる所から手を付けておこうかと。


今年のファイナルにも電飾ボディーで参加することは(私が勝手に)決定済み。軽量化のために基盤から作り直して、ほとんど意味の無かったハザードなんかも省いちゃって、それからライトも変わるしテールも簡略化して・・・
ってやってるとプログラムも一から書き直し。車載用の回路は頭の中で完成してるので、とりあえず去年作ったテスト回路用にコーディング。


使うPICは去年と同じ12C509。いいかげん古いんだけど、まだまだたくさんあるのでこいつで行きます。昨年はテールとブレーキが別系統だったのを一本にまとめ、ブレーキ操作で明るさが変わるように変更したい。PWM制御っつーやつなんですけど、509にはタイマーが一つしかなくて割り込みも持っていない。
1年ぶりのアセンブラでは制御用のパルスを測定しつつPWMなんて芸当ができそうにない。そこで1ループが必ず同じ時間になるよう、条件分岐でステップ数が変化しないプログラムを書いて、その中でパルスをカウントしつつLEDのON/OFFを繰り返す、なんだか「偽PWM」みたいな事になってます。
パルスの測定を1バイト内で収めると、PWM周期も自動的に20ms/255以上になるんだけど、これって明滅して見えるのかな?ま、とりあえずやってみよう。