メイン | PIC 16F88によるLED点滅を備忘のため記録します »

2020年2月10日 (月)

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は出力設定

      while(1){
         GPIO0 = 1;  
         __delay_ms(500); 
         GPIO0 = 0;
         __delay_ms(500); 
          
         }
     return;

   }

////////////////////////////////////////////////////////////

全体のプログラムは以下のとおり

////////////////////////////////////////////////////////////////

#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が点滅すると思います。

Dsc_1206

                                    

コメント

コメントを投稿