「回路系技術資料/PIC」の編集履歴(バックアップ)一覧はこちら
回路系技術資料/PIC - (2011/03/08 (火) 10:19:24) の最新版との変更点
追加された行は緑色になります。
削除された行は赤色になります。
*PIC
Peripheral Interface Controller
Microchip社が開発しているマイクロコントローラの総称。
独自のアーキテクチャ(構造)を持ち、他社のマイコンと比べると便利で独特。
**準備
準備するもの一覧
電源(基本は5Vの安定化電源、PICkit2なら電源を取り出せる)
マイコン本体(小型のほうがお勧め、半田付けや配線も楽)
ブレッドボード(マイコンのサイズに合わせて選ぶべし、8ピンのPICなら20列はほしいところ)
発振子(水晶発振子は高いが周波数が正確、それなりな精度で手ごろな値段のセラロックがお勧め、ただしいらないものもある)
LED(なるべく省電力のものを、でかいとトランジスタが必要)
LED保護抵抗(500~10k)
パソコン(そんなにスペックは必要ない)
マイコンライター(PIKkit2、他、対応PICが少ない代わりに自作も可)
スイッチ(電源用、DIPスイッチもあると便利)
めげない信念
ライターさえ含めなければ1000円で大体いける。
PICライターは自作すれば安く、いいものなら高い。
今ならPIKkit2がお勧め、秋月で3500円です。
まずMicrochip社までお使いにいってくること。
マイコンのデータシートをダウンロードするべし。
[[microchip>>http://www.microchip.com/]]
ただしgoogleなどで型番を探してpdfをダウンロードしたほうが早い。
//10F,12F,16F,18Fの型番を持つマイコンを使うなら、そのままstep2と書かれたプルダウンメニューを開く。
24F,dsPICを使うならまた今度にしてくれ。そんな高性能なもの使いにくくてしょうがない。
//使いたい型番をクリック。するとそのマイコンのページへ飛ぶ。
//基本的な性能のすぐ下に、Data Sheetsの欄があるので、PDFをダウンロード。
日本語があるなら日本語でもかまわないが、ほぼ英語と中国語しかないと思っていい。
//その下は開発環境とかその他いろいろ。読んでおいて損はないが、全部読むと時間が・・・
またアセンブリ言語ならばそのままアセンブることができるソフト MPLAB IDE が手に入る。
C言語を使いたかったら、mikroelectoronika社のmicroCなんてソフトがある。もちろん解説は英語。
MPLAB IDE に他のコンパイラを混ぜて使うことも可能。ただし俺は知らない。
わからなかったら先輩に聞くとか雑談に書き込めばいいかもしれない。
性能比較→[[部品資料>回路系技術資料/部品資料]]
**実戦(実践)
最近は秋月電子通商から3500円でPICkit2が買えるようになったため、PICでも比較的簡単に開発が可能になった。
君が今何年生であと何年やるかわからないけど、数年やるならPICのほうが安く済む。
AVRも安いっていう意見もある。
どちらがいいかなんて人それぞれ、名前がかっこいい方を使えばいいと思うよ。
まず、単純なことからやっていこう。
一つ目は、LEDを光らせてみる。
二つ目は、LEDを点滅させてみる。
三つ目は、A/D変換してみる。
四つ目は、PWM波形とか出してみる。
五つ目は、信号解析とかしてみる。
という感じでやると、何でもできるようになりそう。
使うPICは18pinのPIC16F88をお勧めする。
よくも悪くも18pin、このサイズ、この値段は便利。
ただしUARTとSPIを同時に使えない弱点もあるので注意。
初めての開発は、アセンブリとC言語だったらわかる方を使うことをお勧めする。
両方わからないならC言語のほうがおすすめ。ずっと後にも使える。
まあ、PICのプログラムがアセンブリで書けるなら、C言語も余裕だと思うよ。
一つ一つプログラムを公開していくのと,やり方だけ書いていくのどちらがいいかな?
**挑戦
まずは実戦を終わらせないと.
*PIC12F1822
秋月で取り扱いが始まった新シリーズのPIC.
このシリーズのPICは同サイズのPICに比べ,低価格,高性能という特徴を持つ.
ということで.PIC12F1822を買ってみた.
1個80円という驚きの8ピンマイコン.
#image(P1030401.JPG)
5個=400円
なんか新機能としてマイクロタッチなんてついてるけど,それはまた今度.
残念ながら,mikroCはPIC12F1822に対応していない.
今回はHI-TECH Cを使用.
最近のMPLABならコンフィグちゃんたちも設定がプログラム外でもできるので,ライブラリさえ使用しなければほぼ同じ使用感.
昔はこんな機能なかった気がする.
ということで動作実験.
#image(P1030403.JPG)
最新のデバイスリストに更新しなければ,pickit2が検出できない模様.
pickit2に最新のデバイスリストがあるので,それをダウンロードして上書きする必要がある.
アップデート方法-参考資料:
#ref(PICkit2アップデート.pdf)
結果:問題なくLEDが点灯.
1つのピンを入力にして論理反転してみたり.
確かにいくつかコンフィグちゃんが増えてたけど,12F683と比べればそこまで変化はない感じ.
素晴らしい機能が,機能ピンの位置を変更できる.
16F88だとSPIとUARTが被っているので,変換機として使うことはできなかったが,今回はできそう.
そのうちUART⇔SPIの回路とプログラムでも作って公開しようと思う.
*PIC
Peripheral Interface Controller
Microchip社が開発しているマイクロコントローラの総称。
独自のアーキテクチャ(構造)を持ち、他社のマイコンと比べると便利で独特。
**準備
準備するもの一覧
予算:5000円程度
-Pickit2(3500円)
-PIC本体(DIP型,小型のほうがお勧め,80~500円)
-ブレッドボード(マイコンのサイズに合わせて選ぶべし、8ピンのPICなら20列はほしいところ)(100円~1000円)
-発振子(水晶発振子は高いが周波数が正確、それなりな精度で手ごろな値段のセラロックがお勧め、ただしいらないものもある)(単価20円)
-LED(なるべく省電力のものを、でかいとトランジスタが必要)(100円)
-LED保護抵抗(500~10k)(100円)
-スイッチ(電源用、DIPスイッチもあると便利)(20~100円)
その他
-パソコン(Pickit2のためにwindowsで,そんなにスペックは必要ないがUSBが必須)
-めげない信念
ライターさえ含めなければ1500円で大体いける。
PICライターは自作すれば安く、いいものなら高い。
今ならPIKkit2がお勧め、秋月で3500円です。
まずMicrochip社までお使いにいってくること。
マイコンのデータシートをダウンロードするべし。
[[microchip>>http://www.microchip.com/]]
ただしgoogleなどで型番を探してpdfをダウンロードしたほうが早い。
//10F,12F,16F,18Fの型番を持つマイコンを使うなら、そのままstep2と書かれたプルダウンメニューを開く。
24F,dsPICを使うならまた今度にしてくれ。そんな高性能なもの使いにくくてしょうがない。
//使いたい型番をクリック。するとそのマイコンのページへ飛ぶ。
//基本的な性能のすぐ下に、Data Sheetsの欄があるので、PDFをダウンロード。
日本語があるなら日本語でもかまわないが、ほぼ英語と中国語しかないと思っていい。
//その下は開発環境とかその他いろいろ。読んでおいて損はないが、全部読むと時間が・・・
またアセンブリ言語ならばそのままアセンブることができるソフト MPLAB IDE が手に入る。
C言語を使いたかったら、mikroelectoronika社のmicroCなんてソフトがある。もちろん解説は英語。
MPLAB IDE に他のコンパイラを混ぜて使うことも可能。ただし俺は知らない。
↓も参照するといいかも.
[[開発環境>>回路系技術資料/開発環境]]
わからなかったら先輩に聞くとか雑談に書き込めばいいかもしれない。
性能比較→[[部品資料>回路系技術資料/部品資料]]
**実戦(実践)
最近は秋月電子通商から3500円でPICkit2が買えるようになったため、PICでも比較的簡単に開発が可能になった。
君が今何年生であと何年やるかわからないけど、数年やるならPICのほうが安く済む。
AVRも安いっていう意見もある。
どちらがいいかなんて人それぞれ、名前がかっこいい方を使えばいいと思うよ。
まず、単純なことからやっていこう。
一つ目は、LEDを光らせてみる。
二つ目は、LEDを点滅させてみる。
三つ目は、A/D変換してみる。
四つ目は、PWM波形とか出してみる。
五つ目は、信号解析とかしてみる。
という感じでやると、何でもできるようになりそう。
使うPICは18pinのPIC16F88をお勧めする。
よくも悪くも18pin、このサイズ、この値段は便利。
ただしUARTとSPIを同時に使えない弱点もあるので注意。
初めての開発は、アセンブリとC言語だったらわかる方を使うことをお勧めする。
両方わからないならC言語のほうがおすすめ。ずっと後にも使える。
ただPICのプログラムがアセンブリで書けるなら、C言語でも余裕だと思う。
//一つ一つプログラムを公開していくのと,やり方だけ書いていくのどちらがいいかな?
***C言語での開発の場合
C言語でPICのプログラムを書く時には,主に二つの方法がある.
-レジスタの値を直接書き換える
-ライブラリを使用して書き換えてもらう
ライブラリとは,いくつかの処理を関数化することにより,引数を入れるだけで設定が終わるという便利なものの集まり.
やっていることは結局レジスタを書き換えることであり,プログラムとしてはそこまで大きな違いはない.
ただしライブラリは各マイコンごとに用意されていて,関数名や引数が同じであるのに対して,レジスタはマイコンごとに違う場合がある.
別のマイコンに乗り換えるとき,ソースを大幅に変更しないといけない場合がある.
逆にライブラリはコンパイラに依存するため,コンパイラを変更するとソースコードがまったく使えなくなる.
マイコンを使うのが自分だけなら環境はあまり変わらないので,ライブラリを使っていくほうが簡単.
一方で多人数で扱いたい場合はレジスタを書き換えたほうがいろいろと無難.
**挑戦
まずは実戦を終わらせないと.
*PIC12F1822
秋月で取り扱いが始まった新シリーズのPIC.
このシリーズのPICは同サイズのPICに比べ,低価格,高性能という特徴を持つ.
ということで.PIC12F1822を買ってみた.
1個80円という驚きの8ピンマイコン.
#image(P1030401.JPG)
5個=400円
なんか新機能としてマイクロタッチなんてついてるけど,それはまた今度.
残念ながら,mikroCはPIC12F1822に対応していない.
今回はHI-TECH Cを使用.
最近のMPLABならコンフィグちゃんたちも設定がプログラム外でもできるので,ライブラリさえ使用しなければほぼ同じ使用感.
昔はこんな機能なかった気がする.
ということで動作実験.
#image(P1030403.JPG)
最新のデバイスリストに更新しなければ,pickit2が検出できない模様.
pickit2に最新のデバイスリストがあるので,それをダウンロードして上書きする必要がある.
アップデート方法-参考資料:
#ref(PICkit2アップデート.pdf)
結果:問題なくLEDが点灯.
1つのピンを入力にして論理反転してみたり.
確かにいくつかコンフィグちゃんが増えてたけど,12F683と比べればそこまで変化はない感じ.
素晴らしい機能が,機能ピンの位置を変更できる.
16F88だとSPIとUARTが被っているので,変換機として使うことはできなかったが,今回はできそう.
そのうちUART⇔SPIの回路とプログラムでも作って公開しようと思う.