본문 바로가기

[Microchip]/PIC16F

[PIC16F150x EVM] PIC1509 초기화 및 클럭 설정

[PIC16F150x EVM] PIC1509 초기화 및 클럭 설정

 

PIC16F15xx 시리즈는 Enhanced Mid-range Core 로 저렴하면서 강력한 페리를 가진 MCU로 이전 PIC16시리즈와 클럭 시스템과 약간 다른 점이 있어 설정이 필요하다.

 

 

 

내부 클럭을 사용하면 31Khz에서 16Mhz로 설정 가능하고 기존 코드 호환을 위해 SystemInit()함수에 설정하였다.

void SystemInit(void)
{
 //grobal interrupt disable
 disable();   


 //Internal Oscillator Frequency Select bits
 /*
1111 = 16MHz
1110 = 8MHz
1101 = 4MHz
1100 = 2MHz
1011 = 1MHz
1010 = 500 kHz(1)
1001 = 250 kHz(1)
1000 = 125 kHz(1)
0111 = 500 kHz (default upon Reset)
0110 = 250 kHz
0101 = 125 kHz
0100 = 62.5 kHz
001x = 31.25 kHz
000x = 31kHz LF 
 */
 IRCF0 = 1;
 IRCF1 = 1;
 IRCF2 = 1;
 IRCF3 = 1;


  //SCS 1x = Internal oscillator block
 SCS0 = 1; 
 SCS1 = 1; 

}

 

 

 

클럭설을 16Mhz로 설정하고 정상적으로 클럭이 동작하는지 확인하기 위해 CLKOUT핀(RA4)으로 출력해 보았다.

CONFIG1 레지스터에 CLKOUT_ON을 설정하면 시스템 클럭의 1/4이 출력되는것을 확인 할 수 있다. 4Mhz출력 되는것이 확인된다.

RA4(CLKOUT)

 

CONFIG1

1 = CLKOUT function is disabled. I/O function on the CLKOUT pin
0 = CLKOUT function is enabled on the CLKOUT pin

 

 

__CONFIG(WDTE_OFF&MCLRE_ON&FOSC_INTOSC&CLKOUTEN_ON);

 

 

 

반응형