PICでもっと遊ぶその3「EEROMを使ってサーボを“ガガガ”と動かす」夏でも楽しい工作教室(1/3 ページ)

» 2005年07月22日 15時43分 公開
[小林哲雄,ITmedia]

勝手に動かすデータとしてEEROMを使う

 シーケンス動作をさせるためにPICで使えそうなもの、と資料を見るとデータ用にEEPROMが用意されていることが分かる。PIC12F675には128バイトのEEPROMが組み込まれており、プログラムで読み書きが可能だ。

 データをEEPROMに書き込むのは少々面倒そうなので、ここでは読み出しだけでシーケンス動作を実現させたい。書込みはソースファイルで指定してHEXファイルに埋め込み、プログラムと一緒に書いてしまおう。

 シーケンス動作については次のようなフォーマットを考えてみた。位置指定は1から255の間で設定するので1バイト分必要だ。また、時間は割り込みの単位時間となる20ミリ秒単位で指定するとよさそうだ。こちらも1から255で設定するので1バイト分、合計2バイトを組で使うことになる。

 時間0の指定を行うと先頭に戻るというループにし、位置0はサーボ制御を行わないことにする。これで最大64stepの動作が可能となる。ちょっと少ない気もするがテストなので我慢することにしよう。

 EEPROMの読み出しは(書込みに比べると)簡単だ。読み出しアドレスをEEADR(9bh)にセットし、EECON1(9Ch)のRDビット(第0ビット)をセットするとEEDAT(9Ah)にデータが入る。

 今回はEEPROMの読み出しをメインプログラムで担当することにした。サーボには位置と残り時間と2つのパラメータがあるので、時間が0になった時点で次のサーボデータを呼び出しセットするのがメインルーチンの役目となる。

 ;
 ; RCサーボの制御テスト 16bit timer version
 ;内蔵EEPROMからデータを読み込んで移動
 ;
▼▼  LIST P=PIC12F675
▼▼  INCLUDE "P12F675.INC"
▼▼  __CONFIG _INTRC_OSC_NOCLKOUT & _WDT_OFF & _MCLRE_OFF
 errorlevel-302; エラー302以下は無表示
 ;
 ;
 ;
▼▼  CBLOCK 20h
 RC1POS; RC1のサーボ位置(1-中心-80-FF)
 ;RC2POS
▼▼  RC1TIM ; RC1の保持時間(0で次データ読み出し)
 EERPOS; EEPROMの読み出し位置
 
 
▼▼  COUNT ; LOOPワーク
▼▼  WBUF ; LOOPワーク
▼▼  SBUF ; LOOPワーク
 ENDC
 
▼▼  ORG 0
▼▼  GOTO MAIN
 ORG4
 ;(ソースコードは次のページに続く……)
       1|2|3 次のページへ

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. FIIO、円形パネルを備えたエントリー仕様のデジタルオーディオプレーヤー (2026年05月15日)
  7. エントリークラスの15.3型ゲーミングノートPC「Alienware 15」発表!  Intel/AMDモデルを用意し国内は5月15日発売 (2026年05月14日)
  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年