PICを使ったLチカ
PICとは?
PICはMicrochipのマイコンの総称です。マイコンでメジャーなのはArduinoですがPICも同様な使い方でできるデバイスです。パソコンでコードを書いてコンパイルしマイコンに書き込み実行できます。Arduinoの場合はArduino IDEという優れた開発環境がありますがPICの場合はそこまで使いやすい開発環境はありません。MPLAB X IDEという開発環境を使うことになります。
開発の簡単さはArduinoが上です。PICのメリットとしては小型、安価という点にあります。
PICへの書き込み
PICには直接USBポートがあるわけではないので書き込み機(プログラマ)が必要となります。いくつか種類がありますが、私はPICKit 3を使いました。現在PICKit3はMicrochipからは発売されてないっぽいです。互換品らしいものがAmazonにもあります。
最近はPICKit 5が出ているようです。(私は持ってません)
PICKitとパソコンはUSBケーブルで接続します。PICKitとPICマイコンの接続はワイヤーで行います。
PIC16F1823
PICには沢山の種類があります。8bit、16bit、32bit。bitが上がると多機能、IOの数も多くなります。今回は8bit ミッドレンジのPIC16F1823を使いました。(在庫にあっただけ)
環境
2024.6.15 以下の環境で行った結果です。
MacBook Pro 14インチ 2021 Apple M1 Max
macOS Sonoma ver 14.5
MPLAB X IDE
MPLAB X IDEはMicrochipの純正開発環境です。https://www.microchip.com/en-us/tools-resources/develop/mplab-x-ideこちらからダウンロードできます。windows、macOS、Linuxに対応しています。最新バージョンは2024.6.15時点でver6.2です。普通にダウンロードしてインストール。その時にPICのシリーズに応じたCコンパイラもインストールできます。PIC16シリーズは8bitマイコンなのでXC8を入れておきます。ついでにXC16、XC32も入れておいても良いです。
MPLABのplug-in
最初から色々とplug-inが入っているようですが、追加で入れておいた方が良いらしいのが「MPLAB Code Configurator」です。
Toolsメニューのpluginsを選択します。Available Pluginsのタブを選び、そこに表示されるMPLAB Code Configuratorを選択し、下にあるinstallをクリックしてインストールします。インストール済みであれば下の画像のようにinstalledのタブにMPLAB Code Configuratorが表示されます。
私の場合、最初Available Pluginsの項目にMPLAB Code Configuratorが出てこなかったんですが、以前のバージョンのver5.45を起動してそちらにインストールして気がついたver6.2の方にも出てきてました。(なんかよくわからない状況ですまん)
インストール完了してると「MCC」のアイコンがツールバーに表示されます。
新規プロジェクト作成
「File」メニューから「New Project…」を選択します。
プロジェクト作成のダイアログが表示されます。Microchip Embeddedを選択してNextをクリックします。
次の画面でFamilyでMid-Range 8bitで選びDeviceでPIc16F1823を選びます。ToolsはPICKit3をUSBで接続してると選択項目に出てくるので選びます。Nextをクリックします。
Supported Debug HeaderはNoneで良いらしい。Nextで進みます。
コンパイラを選択してNextをクリックします。
Project nameを決めてFinishします。
Projectの作成はちょっと時間がかかります。その後、こんな画面になります。
MCC MelodyのNextをクリックします。こんな画面に変わります。
左側のパネルでClock Controlを選択して右側のパネルでINTOSC(内部発振を使用)を選択してクロックを適当に選びます。
画面左側のPinsをクリックしてRA2を出力に設定します。GPIOのoutputをロックします。すると右側のウインドウにそのポートが表示されます。Custom NameをLED1としておきます。この名前はコードの中で使います。
この段階でプロジェクトのファイルを確認しておくと以下のようになってます。ソースコードはまだ生成されてません
次にGenerateのボタンをクリックします。
filesで確認するとmain.cなどが作られています。
main.cを開きます。
mainの中のwhileの中にコードを書きます。
while(1)
{
LED1_Toggle();
__delay_ms(1000) ;
}
whileの繰り返しの中で1000mSecの間隔でLED1の状態を切り替えてるだけです。
ハードウェア
PICKit3との接続は以下の通りです。
+5Vと GNDは電源につないでおきます。
書き込み
「Run Main Project」をクリックしてコンパイル&書き込みを実行します。
次のような画面が表示されますが、確認してOKをクリックします。
書き込みが完了するとoutputの画面に次のように表示されます。
これでLEDが点滅しているはずです。
PIC単体で動かす場合
MCLRのピンがPICKit3に繋がったままだと+5V入れてもPICは動いてくれません。MCLRのピンを抜いてあげましょう。それで動くと思います。
以上でした!
この記事が気に入ったらサポートをしてみませんか?