meideru blog

meideruが書いているブログです。主に電子工作・プログラミング・ガジェット類などを中心に記事を書いています。

PICマイコンの入門にオススメの本

      2016/09/04

この春休みにやったことの1つはPICマイコンの勉強です。

プログラミングの経験もあるし、C言語風の言語でプログラミングできるArduinoも触ったことがあります。なのでPICマイコンの習得は比較的簡単にできるだろうなと思ってましたが、予想以上に時間がかかりました( ;´Д`)

私は基本的に良いと思った本を買ってきて勉強します。

今日はその時に使ったPICマイコンの本を紹介しようと思います。

PICマイコンを扱うにはアーキテクチャを理解する必要がある

本を紹介する前にちょっとだけ余談を(´・ω・`)

PICマイコンは主にアセンブリ言語、C言語のどちらかでプログラミングできます。

私の経験も踏まえて言うと、PICマイコンの入門にはアセンブリ言語をオススメします。なぜならアセンブリ言語で入門したほうがPICマイコンのアーキテクチャを理解しやすいからです。

 

私の場合、いきなりC言語でPICマイコンを始めようと思ってました。

理由はC言語では弱いながらもオセロAIを作ったことがあるし、C言語風の言語でプログラミングできるArduinoを触ったことがあるからです。

根本的にArduinoもマイコンみたいなものなのだから、PICマイコンもArduinoと大差ないだろうと思ってました。(←後に気づきましたが、大きな間違いです)

 

実際にC言語で入門してみると苦戦の連続でした( ;´Д`)

なぜ苦戦したかを単刀直入に説明すると、マイコンのアーキテクチャを全く理解していなかったからです。

PICマイコンをC言語で解説されている本を読むと、いきなり「このレジスタはこういう役割でこういう風に扱う」みたいな感じで説明されて意味不明でした(−_−;)

特に「割込み処理が行われるときはプログラムメモリの4番地に強制的にジャンプされる」とかいう説明をされたときはパニックになりそうでした( ;´Д`)

私が以前触ったArduinoはアーキテクチャを理解しなくても扱えるように設計されている特別なマイコン(マイコンボード)なのです。

基本的にマイコンを扱うには、そのマイコンのアーキテクチャの理解が必須です。

 

アセンブリ言語はマイコンのアーキテクチャと密接に関係しています。

なのでPICマイコンの入門にはC言語ではなくアセンブリ言語をオススメします。アセンブリ言語で勉強すればアーキテクチャも自然と理解できます。

オススメの本

前置きが長くなってしまいました(−_−;)

オススメの本を書きたいと思います。

私が入門に使った本をご紹介いたします。使用した本は主に2冊です。2冊ともアセンブリ言語がメインで解説されています。

以下の2冊は良い点、悪い点があります。2冊同時に使用すると互いの欠点を補えるようになります。

PICアセンブラ入門

@PICアセンブラ入門
PICアセンブラ入門

この本が1番役に立ちました。

良い点は、とにかくわかりやすいことですね。私は、始める前はアセンブリ言語なんて全くわからなかったんですが、読んだら理解できるようになりました。

それから、PICのアーキテクチャも詳しく解説されています。

デメリットは解説されていない機能がある点です。具体的にいうと「タイマ」の機能が解説されていませんでした。「タイマ」は割込み処理で使用する重要な機能なので、これが解説されていないのは致命的です。

図解PICマイコン実習(第2版)

@図解PICマイコン実習(第2版)
図解PICマイコン実習(第2版)

こちらの方が「PICアセンブラ入門」よりも詳しく解説されています。もちろん「タイマ」の解説もされています。

他の良い点はMPLABについての解説が載っている点とC言語でプログラミングするやり方も少し載っているん点です。

悪い点は上の本よりも解説が少し雑だと感じました。「これくらい説明しなくてもわかるよね?」みたいな感じで解説されている節があります。

 

以上です。

オススメは「PICアセンブリ入門」→「図解PICマイコン実習(第2版)」の順で読むことです。

ノシ

 - 電子工作, プログラミング, マイコン,