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年05月16日 更新
  1. ノートPCもキーボードも丸ごと運べる! 収納付き膝上テーブル「デスクエニウェア2」を試す (2026年05月15日)
  2. 持ち運べる21型相当のディスプレイ! 14型×2画面でコスパに優れるアイ・オーのモバイルディスプレイ「LCD-YC1412DX」を試す (2026年05月14日)
  3. TVにも「Gemini」搭載の時代へ TCLが量子ドット&Mini LED採用の2026年モデルを発表 (2026年05月14日)
  4. デルが厚さ約15.3mmの新型ノートPC「Dell 14S/16S」を発表 国内ではCore Ultra搭載モデルが発売済み (2026年05月14日)
  5. 8TB SSDがまさかの50万円超え!? 連休明けのアキバで目立つストレージ高騰と注目の特価マザー (2026年05月16日)
  6. エントリークラスの15.3型ゲーミングノートPC「Alienware 15」発表!  Intel/AMDモデルを用意し国内は5月15日発売 (2026年05月14日)
  7. FIIO、円形パネルを備えたエントリー仕様のデジタルオーディオプレーヤー (2026年05月15日)
  8. スウェーデンのファンドが「価格.com」「食べログ」のカカクコムを約5900億円で買収へ AI戦略を加速 (2026年05月13日)
  9. カバンに収まるコンパクトな「Ewin 折りたたみ式ワイヤレスキーボード」が32%オフの4746円に (2026年05月13日)
  10. ノートPCの作業領域を劇的に広げる「15.6型 折りたたみトリプルディスプレイ」がタイムセールで8万982円に (2026年05月15日)
最新トピックスPR

過去記事カレンダー

2026年