[][mobile][Homepage][BBS][Blog][YouTube][asablo]

過去の記事の検索が簡単にできるよ (・∀・) 例 ランチャー9
カスタム検索

米粒の大きさのマイコン PIC10F222を動かしてみた2010/05/30 21:25:11

部品の在庫を整理していると、米粒のマイコンPIC10F222が出てきた。
米粒大のマイコンPIC10F222
ADコンバータなしの10F200スペックpdf(日本語版)


開発にはDIP型のPICを使用

秋月電子では、10個のSOT23パッケージに1つのDIP品をつけてくれているので、これでデバッグしていくのが簡単で良いだろう。

これはLEDのテストボード

こちらは、PICKIT2に接続できるようにしたPWM点灯のフルカラーLEDのデモボード。ちょっと雑に作っている。

書き込みはSOT23変換基板を利用して、押し付けながら書き込む

ICSPも当然できるのだが、これくらいの大きさのPICなら、書き込んでから実装する事の方が多いと思う。私は変換基板をブレッドボードに取り付けて、

小さいので方向や隣同士のピンのショートに注意


位置を慎重に決めて、書き込み中は上から硬いもので押し付けて書き込んでいる。
結構成功率は高い。変換基板は各社から出ているが、私はダイセン電子のD006という変換基板を使用した。



LEDのフルカラーグラデーションのプログラムを参考までに。

 
実行ファイル 中をコピーして、*.hexとして保存し、プログラマーで書き込めば動作可能。

装置に組むときは、電源の立ち上がりが緩いシステムでは、リセットがどうしても不安定なので、リセットIC等が必要になることが多いが、これだけの大きさで仕事をしてくれるマイコンは、色々応用が考えられるのではないかと思う。

例えば主電源を入れたときだけ、必ずあるボタンを押したいとかは、

こんな風に、TRISGPIOだけを制御すれば、0状態とハイインピーダンス状態を作れるので、トランジスターも特別要らなくなるわけである。




ところで、このPICは12F675や12F509などと同様に、OSCキャリブレーションデータをプログラムの最終番地にもっており、通常アセンブラで書くならば、プログラム先頭にOSCCALデータレジスターに書き込むプログラムが必要である。これを行わないと、内部の発振回路が±5%以内(10F2xxは1%)に入らないからだ。
コア代表デバイスOSCCALデータ格納場所、動作アセンブラ
14ビット
ワンタイム
12C671(3FFh)
12C672(7FFh)
プログラム・メモリの最終番地にretlw命令で入っている
list p=12c671
include p12c671.inc
__config _INTRC_OSC_CLKOUT
org h’000’
clrwdt
call h’3FF’ ;12C671の場合
movwf OSCCAL
....
12ビット
ワンタイム
12C50x、12CE51x、16C505などキャリブレーション・データはプログラム・メモリの最終番地にmovlw命令で入っている。

プログラム・メモリの最終番地を実行後、プログラムカウンタはロール・オーバーして0番地を実行する。
list p=12c508
include p12c508.inc
__config _IntRC_OSC
org h’000‘
clrwdt
movwf OSCCAL
....
14ビット
フラッシュ
12F629
12F675
OSCCAL(90h 6bit left side)で使用するデータについては、プログラムメモリー領域の最終アドレス03FFhに書き込まれている。
OSCCAL以外にもconfigration bitのバンドギャップレジスターも関係する。
bsf   STATUS,RP0
call  h'3FF'
movwf  OSCCAL
bcf   STATUS,RP0

※HITECH PIC Cなら、
OSCCAL = _READ_OSCCAL_DATA();
を入れる事で対応


しかし、Hitech PICCは標準設定で、このプログラムが自動的に埋め込まれるため、プログラムを意識して書く必要はない。

PIC10F222はベースラインなので、スタックも2段で複雑なプログラムができず、癖もあるが、Hitech PICCでかけるのは便利だ。そして、シーケンス的な使い方なら、結構使えるデバイスではないかと思う。

PICについては私のホームページのPICの所を参照していただければ幸いである。





Google
www Blog HP BBS


air_variableサイトをまとめて検索 
カスタム検索
[][admin][mobile][Homepage][BBS][Blog][YouTube][asablo]