初めてのPICマイコンの利用(Lチカ)
この前買った秋月電子の「お楽しみ袋」にPICマイコン(PIC16F84A)が入っていました。
このマイコンは古いけど割と人気のあるもの見たいです。
捨てるのも勿体無い。これを機会にPICマイコンを使ってみようと、
プログラマー pickit3 PIC programmerを購入し、試してみました。
PICマイコンについては知識0です。本日朝からネットで資料を参照し試行錯誤です。
試したのはLチカなのに意外と手こずってしまいました。
以下は、作業メモです。
1)プログラマーの購入
pickit3 PIC programmer をAliexpress で購入しました。
評価が高くて安いのもを選択しました($15.93)

試したのはLチカなのに意外と手こずってしまいました。
以下は、作業メモです。
1)プログラマーの購入
pickit3 PIC programmer をAliexpress で購入しました。
評価が高くて安いのもを選択しました($15.93)

まあ、ぱちもんですよね。これ
2)開発ツールの入手とプロジェクトの作成
まずはC言語で開発したいと思い、次のツールダウンロードしてインストールしました。
・総合IDE環境 MPLAB X IDE (MPLABX-v2.26-windows-installer.exe)
・MPLAB XCコンパイラ XC8(xc8-v1.33-full-install-windows-installer.exe)
入手方法およびインストール等の情報は下記の情報を参考にさせて頂きました。
-1) マルツオンライン はじめてのPICマイコン
-2) 技術系のど根性 PICマイコンで遊ぶ 超入門編(C言語)
-3) ツール・ラボ MacでPICマイコン電子工作入門
C言語のプロジェクトの作成手順は上記2)の情報が大いに役立ちました。

3)回路図
手持ちのセラミック発振子 12Mhzを使ってクロックを供給しています。
pickit3の接続は、
nanoblog PICkit3を使ってMPLABからプログラムを焼く方法
PICkit™3インサーキット デバッガの使い方
を参考にしました。
4)プログラムの作成
C言語のプロジェクトの作成手順は
技術系のど根性 PICマイコンで遊ぶ 超入門編(C言語)
を参照して作成しました。
#include <stdio.h> #include <stdlib.h> #include <xc.h> #pragma config CP = OFF, PWRTE = ON, WDTE = OFF, FOSC = HS #define _XTAL_FREQ 12000000 int main(int argc, char** argv) { TRISA0 = 0x00; while(1){ RA0 ^= 1; __delay_ms(500); } return (EXIT_SUCCESS); }まず、最初にハマったのは、#pragma configでPICマイコンに設定する方法です。
セラミック発振子 12Mhzでシステムクロックを供給したのですが、
その設定方法が全く分かりませんでした。
FCSC = HS の指定が必須でした。さらに #define _XTAL_FREQで12Mhzを指定します。
次に_delay() 関数をAVRと同じように使ったらLEDが点灯したままの状態でした。
__delay_ms()を使ったらうまく行きました。
4)pickit3 PIC programmer での書き込み
これもかなりハマってしましました。全然書きこめません。
開発環境からpickit3は認識するのですが、pict3とPICマイコン間の接続でエラーと
なりました。
何回やってもダメです。回路やプログラムを見直してもダメです。
初めてのチャレンジで
ジャンク品PICマイコン、ぱちもんプログラマー を使うもんじゃないですねぇ
何もかも信用できずです。自分のやり方も含めて..
基本に戻って、テスターで信号を調べると、「pickit3が怪しい」と判明。
2番ピン VDD から 5Vが出ていないです。0Vです。
これではPICマイコンに電源供給が出来ません。
ダメ元で、別電源にて5VをPICマイコンに供給して書き込みを行うと、
今度は正常に書き込み出来ました。
う〜ん、明らかにおかしいがまあ、良しとします。こういう仕様なのかもしれません。
一日がかりで、1ビットのLEDピコピコが出来ました。
内部クロック(CR発振)での動作も試してみましたがちゃんと動きました。
たかが Lチカですが、多くことを学べました。
« ARROWA ME F-11DのSIMカードを解約しました | トップページ | DRV8830を使ったDCモーターの制御(2) »
「PIC」カテゴリの記事
- BASIC言語が動くORANGE pico type S(キット)を組み立てました(2018.03.29)
- 久しぶりのPICマイコン、ちょっとハマった(2017.02.22)
- PIC24FJ64GB002を使ったUSBホストの実験 5(2016.03.08)
- PIC24FJ64GB002を使ったUSBホストの実験 4(2016.03.03)
- PIC24FJ64GB002を使ったUSBホストの実験 3(2016.03.03)
« ARROWA ME F-11DのSIMカードを解約しました | トップページ | DRV8830を使ったDCモーターの制御(2) »
コメント