8ピンPIC 12F675でLチカできたので、備忘のため手順をメモします
■ 2019年07月13日 作成
2020年03月20日 修正
2020年03月22日 修正
2020年06月23日 7配線のピンの詳細修正と画像の追加
■参考にされる場合は、自己責任でお願いします。
■作成時の環境
OS / Windows10
IDE / IMPLABXIDE V5.15
コンパイラ / XC-8
PICkit 3
書き込み用 / MPLABXIPE V5.15
■準備品
ブレッドボード
LED
抵抗 330Ω(前後)
■手順
1.新規プロジェクト作成
IMPLABXIDEを起動 メニュー File → NewProject → Next →
Device → PIC 12F675を選択 → Next → PICkit3 →Next
→ ●xc8(v・・)[・・・] → Next → ProjectName[例:12F675_led]
→ Finish
これで12F675_ledという新規プロジェクトが出来ます。
2.新規プロジェクトにプログラムを記述する場所を作成します。
Projects[エクスプロラー] → 12F675_led「+」 クリック →
SourceFiles上で右クリック → New → C SorceFliles → File Name
[newfiles] → Finish
3.コンフィグの設定
#include <xc.h>
下記のconfig部分を張り付ける。
・メニュー Windows → PIC Memory Views → Configration Bits →
設定画面(何もせず) → 「Generate Code to Output」ボタンを
クリックすると設定が自動作成されるので内容をコピーしプログラムの設定
エリアに張り付ける。
ウィンドウ右上の「-」をクリックして閉じます。
4.クロックの設定
クロックを以下のとおり記述
#define _XTAL_FREQ 4000000 //4MHz
5.ピン設定とプログラム(LED点滅例)
void main(void) {
nGPPU = 0b00000000;// GPIOプルアップ有効化
ANSEL = 0b0000000; // すべてデジタルに設定
WPU = 0b110000;// プルアップビット指定
TRISIO = 0b101000;// GP5,3入力、4,2,1,0は出力設定
GPIO0 = 1;
__delay_ms(500);
GPIO0 = 0;
__delay_ms(500);
}
}
////////////////////////////////////////////////////////////
全体のプログラムは以下のとおり
////////////////////////////////////////////////////////////////
#include <xc.h>
#pragma config FOSC = INTRCIO // Oscillator Selection bits (INTOSC oscillator: I/O function on GP4/OSC2/CLKOUT pin, I/O function on GP5/OSC1/CLKIN)
#pragma config WDTE = OFF // Watchdog Timer Enable bit (WDT disabled)
#pragma config PWRTE = ON // Power-Up Timer Enable bit (PWRT enabled)
#pragma config MCLRE = ON // GP3/MCLR pin function select (GP3/MCLR pin function is MCLR)
#pragma config BOREN = OFF // Brown-out Detect Enable bit (BOD disabled)
#pragma config CP = OFF // Code Protection bit (Program Memory code protection is disabled)
#pragma config CPD = OFF // Data Code Protection bit (Data memory code protection is disabled)
#define _XTAL_FREQ 4000000
void main(void) {
nGPPU = 0b00000000;// GPIOプルアップ有効化
ANSEL = 0b0000000; // すべてデジタルに設定
WPU = 0b110000;// プルアップビット指定
TRISIO = 0b111000;// GP3,4,5入力、他は出力設定
while(1){
GPIO0 = 1;
__delay_ms(500);
GPIO0 = 0;
__delay_ms(500);
}
return;
////////////////////////////////////////////////////
この内容で、コンパイルすると、
C:\Users\コンピュータ名\MPLABXProjects\12F675_led.X\dist\default\production
にHEXファイルが出来上がります。
6.PICkit3へのセット
PICkit3に12F675をセットします。
(18ピンとはセッティングが異なる場合があるので注意)
7.MPLABXIPEによるプログラムの書き込み
MPLABXIPEを起動する。
Device → PIC16F88 → Apply → Tool → 接続されたPICkit3が
表示されている → メニュ-→Settings → Password("microchip"画面
下にも記載済) → Logon → 左側ウインドウのPower → PowerTarget
circuit Tool の左側にチェックをする → 左側ウインドウのOperate →
sourceのBrowseでHexファイルを選択 → Programをクリック → ok
これでPICに書き込まれるはずです。
8.配線
12F675のピン配置
左側一番上の1番ピンはVDD(+)
右側一番上の1番ピンはVSS(GND)
入出力ピン(GP3入力専用)は、右側上から2番目がGP0、3番目がGP1、
4番目がGP2
左側上から2番目がGP5、3番目がGP4、4番目がGP3
LED接続
LEDから出ている短いほうの線のマイナス側をGNDに接続する。
長いほうの線を抵抗に接続する。
抵抗のもう片方をPICのGP0ピンに接続する。
9.電源ON
左側一番上のVDDピンに3~5Vのプラスを接続。
右側一番上のVSS(GND)ピンにマイナスを接続。
10.以上でLEDが点滅すると思います。
コメント