14Pin PIC (16F688, 16F675, 16F18325)

PIC16F688을 (14Pin, Flash-Based 8-Bit CMOS Microcontroller)은 8pin 마이크로컨트롤러로 내부 클럭을 사용할 수 있는 작은 마이크로컨트롤러로 외부 클러을 사용하지 않아도 되기때문에 매우 적은 수의 전자소자만으로 기능을 수행할 수 있습니다.



PIC16F688

http://ww1.microchip.com/downloads/en/devicedoc/41203e.pdf


PIC16F688은 14핀 마이크로컨트롤러로 작고 아래 그림은 PIC16F688을 사용하기 위한 기본 회로로 ICD2는 그림에 나와 있는 것과 같이 PIC16F688의 4, 12, 13번 핀을 사용하여 연결 할 수 있습니다.


PIC16F688을 사용하기 위한 기본 회로



14핀 PIC12F688 LED 켜고 끄는 회로 만들기 (내부 발진회로 사용)
(그림을 마우스로 클릭하면 간단한 동영상을 볼 수 있다.)


                    
//***********************************************************************
// 14핀 PIC12F688 사용한 기본 프로그램
//***********************************************************************  
                  
#include  <12f688.h>					//* 사용 PIC에 따라 달라짐

#fuses    INTRC						//* 내부 발진 사용 
#use      delay (clock = 8000000)			//* 8 MHz 사용																											
										
#define   LED_PIN   PIN_C2				//* PIN_C2를 LED_PIN으로 정의
#define   LED_ON    output_high (LED_PIN)	//* output_high (LED_PIN) 을 LED_ON 으로 정의
#define   LED_OFF   output_low (LED_PIN)		//* output_low (LED_PIN) 을 LED_OFF 로 정의
                                                    
void main (void)
{	
	while (1) {    
		LED_ON ; delay_ms (500) ;
		LED_OFF ; delay_ms (500) ;
	} 
}
//***********************************************************************   
										                                                      

외부 크리스탈을 사용하지 않고 내부 발진회로를 사용하는 경우, 위 회로에서 크리스탈 부분만 제거하면 됩니다.


외부 크리스탈을 사용하지 않고 내부 발진을 사용하는 경우

                    
//***********************************************************************
// 14핀 PIC12F688 사용한 기본 프로그램
//***********************************************************************  
                  
#include  <12f688.h>					//* 사용 PIC에 따라 달라짐
#fuses    XT							//* 외부 크리스탈(4.000MHz) 사용, 
#use      delay (clock = 4000000)			//* 4 MHz 사용																											
										
#define   LED_PIN   PIN_C2				//* PIN_C2를 LED_PIN으로 정의
#define   LED_ON    output_high (LED_PIN)	//* output_high (LED_PIN) 을 LED_ON 으로 정의
#define   LED_OFF   output_low (LED_PIN)		//* output_low (LED_PIN) 을 LED_OFF 로 정의
                                                    
void main (void)
{	
	while (1) {    
		LED_ON ; delay_ms (500) ;
		LED_OFF ; delay_ms (500) ;
	} 
}
//***********************************************************************   
										                                                      

프로그램은 매우 단순하지만 이러한 단순함이 이루어져 복잡한 기능을 수행할 수 있어 매우 중요합니다.
LED 하나를 원하는데로 켜고 끌 수 있으면 많은 것들을 할 수 있습니다.

참고: