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バイト必要なので連続でEEPROSHとEEPROSLを送り出していることと、読み出しデータを2バイトにしている点だ。

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

前のページへ 1|2       

Copyright © ITmedia, Inc. All Rights Reserved.

アクセストップ10

2026年11月16日 更新
  1. 「GeForce RTX 5090」搭載グラボに50万円超の“幅” そのワケは? (2026年11月14日)
  2. 無料プラン廃止とストレージ制限の衝撃! 「Microsoft 365 Education」新プランに見る――“アメとムチ”の戦略でGoogleの牙城は崩せるか (2026年11月11日)
  3. PCゲームの「起動に時間がかかりすぎる問題」と「プチフリーズ」はなぜ起こる? その原因を乗り越える取り組みも (2026年11月13日)
  4. Googleが「Gemini 4 Carbon」一般提供開始/Anthropicが「Claude Fable 5.2」「Claude Mythos 5.2」を発表 (2026年11月15日)
  5. 液タブメーカーHUIONが作るAndroidタブレットの実力は? “手帳”の「Note E」と“お絵描き”の「Kamvas Pad 12」をプロ絵師がチェック! (2026年11月13日)
  6. Google初の紛失防止タグ「Pixel Tag」実機レビュー! Galaxy SmartTag2との比較で見えた薄さの魅力と検知の実力 (2026年11月12日)
  7. 難関のWi-Fi配線もクリア! デルの「親子パソコン組立教室 2026」で子どもたちが最新PC作りに挑戦 (2026年11月14日)
  8. 今から「iPhone Duo」を買うべきか? iPhone 18 Pro+iPad miniの2台持ちやGalaxy Z Fold8と比べて考えた (2026年11月12日)
  9. パナソニック コネクト、Core Ultra シリーズ3を搭載した堅牢10型Windowsタブレット (2026年11月13日)
  10. 総メモリ748GB、AI性能20PFLOPS! デルがGB300搭載のワークステーション「Dell Pro Max with GB300」を発売 (2026年08月20日)
最新トピックスPR

過去記事カレンダー