PIC の入門を考えてみた

初歩の組込みシステムについて

PICなどのマイクロコントローラを実際に動かしてみることは以外と敷居が高いことかもしれないと思ったのである
今回は比較的世の中に広まっているPIC(12,16シリーズ)で考えてみる

経験者であれば、クロックは内蔵のCR発振器を使って、入力は何のpinからどの様に信号を受けて、出力は何のpinにどの様のタイミングで何を出力 とかのシナリオが湧いて出て来るのである

IMGP5759

<写真は12F1822 新世代の8Pin PIC 単価100円>

されど、PICと言えど小規模ながら立派な独立したコンピュータである
PICを含めマイクロコントローラは、何かを実現するための部品であり、作るモノによってはメインコンピュータであるが、実際に「PICを使ってみたいのですが? 」 「PICを勉強したいのですが何から勉強すれば?」 等のことを聞かれることがある

その昔1980年頃のマイコンブームの際に、’マイコン’を勉強したいのですが何から勉強すれば? と同じ様な感じがした
当時は、’BASIC言語でプログムすれば何でも出来ます’って雰囲気が世の中に蔓延し、巷のマイコンスクールが大繁盛したのであった
あれはあれで、コンピュータのリテラシを世の中に広めることになり、多数の技術者も当時のブームから育ったはずである
当時のマイコンってPC-8001,MZ-80,APPLEⅡ,FM-8などのパソコン元祖達が当時の金額で10数万以上価格でバカスカ売れまくったのであった
当時と現在が大きく違う点は、当時はそれらが最新のテクノロジーであったことで、現在の組込み系の最新テクノロジーは携帯電話やクルマの内部,そしてテレビ等のデジタル家電である

さて、我々がPICを動かしてみる際の投資は僅かではある
(PCとネット環境は有るとして、PIC・評価基板・PICライタ位)
只、実際にPICを自力で動かすためには、いくら簡単になったとは言えどそれは、独立したコンピュータシステムをリセットから順を追って動作させるということである
なのでCPU(コンピュータの中心部分)の立ち振舞が理解出来ていないと何も出来ないことが多いと思う
そして、それなりに苦労してLEDの点滅をさせ配偶者や家族に見せたとしても、安易に想像出来るリアクションは、「ふーん それで...」となりがちではないだろうか

やっていることは、CPUの立ち振舞を理解して、電源投入時からの1ステップ1ステップを精魂込めて書いたハズなのであるが、そのことを理解してくれる人は実際に組込み系に携わったことのある人位であろう

話が逸れたが、これから始めるPICの勉強スタートには何から勉強すれば良いのであろうか?
私個人としては、PICの電源を入れてからの立ち振舞を理解するためにアセンブラの勉強は推奨したい
決してアセンブラで大きなソフトを書くのが目的では無く、CPUの立ち振舞を理解するためである
また、picのアセンブラ MPASMは過去の開発環境であるMPLABから現バージョンのMPLABXまでそのまま使えるのである
最低限の立ち振舞を理解した後に、C言語で取組むと良いのではと考えるのである

データシートを読める方はメーカのデータシートを読む事をお勧めする

下記のリンクも、アセンブラでのPIC動作を解説してあるので比較的わかりやすい
お勧めの本 

IMGP5762

<写真は12C509A 一度書込したら再書込出来ない @50円>

そして、PICを含むマイクロコントローラを動作させるためには、最低限のハードウェアの基礎知識も不可欠である

経験者にとっては安易であるが、初心者にとってPICの敷居は決して低くないと思う
是非敷居を超えて欲しい (私も精進が足らないのであるが..)

PICについては今後、超入門編を書いて行きたいと思っているのである (自分のためである)