nobcha23の日記

PICマイコンやArduinoを使う電子回路遊びを紹介します

PIC12F1822

コンフィグのお勉強が済んだところで、コー

ドを書こうと思います。まずは先輩ブログを
探しますが、意外とPIC12F1822関連の記
述が少ない。老舗エアバリアブルさんのとこ
ろにピカピカコードがあったので、参考に。
パクリだとお勉強にならないので、コードを
書き下ろします。   
/*****************************************************
PIC12F1822 LED TESTING by nobcha
Reffered below WEB, thanks airvariable.
http://www.ne.jp/asahi/air/variable/picmel/applications/hello_world/index.html

**************** ******************** **************** */

#include   #include "delay.h"  #define _XTAL_FREQ 4000000
#define LED_ON LA2=1;  #define LED_OFF LA2=0;
__CONFIG(   FOSC_INTOSC & WDTE_OFF & PWRTE_ON & MCLRE_ON & CP_OFF
& CPD_OFF & BOREN_OFF & CLKOUTEN_OFF & IESO_OFF & FCMEN_OFF  );
__CONFIG(  WRT_OFF & PLLEN_OFF & STVREN_ON & LVP_OFF  );
void main(void){        // REGISTER SET UP
OSCCON = 0b01101010; // 4MHz int clk, PLL dis,
GIE = 0;            // Int disable
ANSELA = 0;         // ALL digital
TRISA = 0b00001000;  // LA3 MCLR INPUT
LATA = 0b00001000;    // DATA latch reset LA3 is none
// REPEATED FOREVER
while(1){   LED_ON   // LA2 on  
__delay_ms(100) ;      // 100ms waiting
LED_OFF          // LA2 off
__delay_ms(100) ;      // 100ms waiting   }  }





今までTRAといってたのが、使い方でLATAと
いったり、PORTAと言ったりするみたいです。
というか、出力用のLATと言い、入力ポート信号
読み込み時に一時ラッチするレジスタをPORTと
いうようです。
これが何でというと、ビット単位のPORTn命令
におけるリードモディファイライト対策になるらし
い。
CONFIGのパラメータは”何とか_ON”というような
ノーテーションになり、正規化方向か?