PICでもっと遊ぶその5「完成したプログラムを眺めてみる」夏でも楽しい工作教室(2/2 ページ)

» 2005年08月05日 16時00分 公開
[小林哲雄,ITmedia]
前のページへ 1|2       

 ここがメインルーチンの初期設定部分。今まで解説しなかったので、内蔵オシレーターの調整について触れておくと$3FF(プログラムエリアの最後)には値を返すリターン命令が書かれているので、そこにサブルーチンコールを行うとWレジスタにタイマーの補正値が入る。

 これをOSCCALレジスタに入れることで工場テスト時の値を入れることが可能となる。あとは前回解説したように16ビットタイマーを利用するための設定、割り込みの設定と出力ポートの設定を行っている。

 フェイルセーフとしてまずサーボを中央値に設定して、サーボタイマーをクリアしてから、サーボデータの呼び出しを行っている。

 メインルーチンの本体。サーボ1と2のルーチンはほとんど同じだ。まずサーボデータのタイマー値をチェックし、0以外はなにも行わない。0の場合は次のシーケンスデータを読み出してセットする。ここでサーボ位置=タイマー値=0の場合はシーケンス終了とみなし、冒頭から読み出しを開始する。

 サブルーチン群その1。2つのサーボシーケンスデータは冒頭の2バイトにシーケンス開始アドレスが入っている。これを取得している。

 これはEEPROMを読み出すサブルーチンだ。先ほども登場したAN982のサンプルプログラム「ByteRead.asm」と「SecRead.asm」を参考にしてある。違いはサンプルではアドレスが1バイトだが、24C64以上では2バイト必要なので連続でEEPROSHEEPROSLを送り出していることと、読み出しデータを2バイトにしている点だ。

 連続読み出しの場合はACKBの与えかたが異なる(最後だけACKBを出さない)。EEPROMの読み出しルーチンのデバッグはデバッガーではやりにくいので、確実に動くルーチンを参考にすると作業が容易になる。

前のページへ 1|2       

Copyright © ITmedia, Inc. All Rights Reserved.

アクセストップ10

2026年04月01日 更新
  1. オーソリニア配列キーボード「Keychron Q15 Max」を試す 美しいグリッド配列は人を選ぶ? (2026年03月31日)
  2. シンプル・イズ・ベストなワイヤレスマウス「ロジクール M185」が999円で買える (2026年03月30日)
  3. 鮮明に撮れるアクションカメラ「DJI Osmo Action 4」が32%オフの2万9778円に (2026年03月30日)
  4. 簡単だけど時間が掛かる TerraMasterのNASキット「F2-425」でHDDを交換してみた【容量アップ編】 (2026年03月31日)
  5. Corsairの縦長ディスプレイ「XENEON EDGE」に待望の白&紫が登場! ガンダムやエヴァコラボの高級デバイスも (2026年03月30日)
  6. ONYX、10.3型電子ペーパー「BOOX Go 10.3」の新モデルを発売 フロントライトモデルも用意 (2026年03月30日)
  7. 高騰続くPCパーツ市場に変化? DDR5メモリの一部値下がりと依然厳しいストレージ事情 (2026年03月28日)
  8. 「録音+文字起こし」を耳元で完結 Nottaユーザー必携の“常時装着”AIレコーダー「Zenchord 1」を試す (2026年03月30日)
  9. “パワードスーツ”はもうSFの道具じゃなかった 高尾山でコンシューマー向け外骨格「Hypershell X Pro」を試す (2026年03月27日)
  10. 新生活を始める前にそろえておきたい! エレコムのトラックボールやドッキングステーションといったPC周辺機器が最大25%お得 (2026年03月30日)
最新トピックスPR

過去記事カレンダー

2026年