フォト
2025年4月
    1 2 3 4 5
6 7 8 9 10 11 12
13 14 15 16 17 18 19
20 21 22 23 24 25 26
27 28 29 30      
無料ブログはココログ

« ARROWA ME F-11DのSIMカードを解約しました | トップページ | DRV8830を使ったDCモーターの制御(2) »

2014年12月21日 (日)

初めてのPICマイコンの利用(Lチカ)

この前買った秋月電子の「お楽しみ袋」PICマイコン(PIC16F84A)が入っていました。
このマイコンは古いけど割と人気のあるもの見たいです。

Dscn3366

捨てるのも勿体無い。これを機会にPICマイコンを使ってみようと、
プログラマー pickit3 PIC programmerを購入し、試してみました。

PICマイコンについては知識0です。本日朝からネットで資料を参照し試行錯誤です。
試したのはLチカなのに意外と手こずってしまいました。
以下は、作業メモです。

1)プログラマーの購入
  pickit3 PIC programmer をAliexpress で購入しました。
  評価が高くて安いのもを選択しました($15.93)
  01
 
  まあ、ぱちもんですよね。これ

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)の情報が大いに役立ちました。

   03 

3)回路図

02
   手持ちのセラミック発振子 12Mhzを使ってクロックを供給しています。
   pickit3の接続は、
    nanoblog PICkit3を使ってMPLABからプログラムを焼く方法
    PICkit™3インサーキット デバッガの使い方
   
    を参考にしました。

   Dscn3364      
   
  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マイコンに供給して書き込みを行うと、
  今度は正常に書き込み出来ました。
  う〜ん、明らかにおかしいがまあ、良しとします。こういう仕様なのかもしれません。

  Dscn3362

  一日がかりで、1ビットのLEDピコピコが出来ました。
  内部クロック(CR発振)での動作も試してみましたがちゃんと動きました。

  たかが Lチカですが、多くことを学べました。

 

« ARROWA ME F-11DのSIMカードを解約しました | トップページ | DRV8830を使ったDCモーターの制御(2) »

PIC」カテゴリの記事

コメント

コメントを書く

(ウェブ上には掲載しません)

トラックバック


この記事へのトラックバック一覧です: 初めてのPICマイコンの利用(Lチカ):

« ARROWA ME F-11DのSIMカードを解約しました | トップページ | DRV8830を使ったDCモーターの制御(2) »