Start Coding (CCS-C)

     Microcontroller를 사용하기 위하여 기본적으로 C 언어를 사용한다. 여기에서 C 언어에 대하여 설명하기에는 부족하여 꼭 필요한 몇가지 사항에 대하여 정리하였다. 여기에서 보여주는 내용은 꼭 이해하고 사용할 수 있도록 연습해야 한다.

1. 주석 (Manual p28 참고)
먼저 CCS-C로 프로그래밍 하실 때 처음 Configuration 설정을 어떻게 하셨는지요?

//* ****************************************************************************
//
//    210801 Start Coding.C
//
//	  PIC16F18345
//
//    2021/08/01
//
//* ****************************************************************************

#include       <16f18345.h>
#device         ADC=10
#fuses          HS,NOMCLR,NOPROTECT,NOBROWNOUT,NOWRT,PUT
#use             delay (clock = 20000000)

//*** Declear Pin for UART Communication ***************************************
#pin_select		U1TX = PIN_B7
#pin_select		U1RX = PIN_B5
#use				rs232 (baud=19200, parity=N, xmit=PIN_B7, rcv=PIN_B5)

#define         SW_PIN      PIN_A1
#define         RD_SW       input (SW_PIN)

//******************************************************************************
//*** Start Main Function ******************************************************
void main (void)
{	int16	idx ;

	delay_ms (500) ;
	
	printf ("$#BL_100;") ;
	printf ("$#CLR_LCD;") ;
	printf ("$1,1,** AssistLab **;") ;

	while (1) {
		for (idx = 0;idx <= 100;idx++) {			
			printf ("$1,2,   No: %3ld;", idx) ;	
			delay_ms (100) ;
		}
	}
}
//*** End Function *************************************************************
//******************************************************************************


#Fuses: LP,XT,HS,RC,NOWDT,WDT,NOPUT,PUT,PROTECT,PROTECT_5%
#Fuses: PROTECT_50%,NOPROTECT,NOBROWNOUT,BROWNOUT,LVP,NOLVP,CPD
#Fuses: NOCPD,WRT,NOWRT
이런 식으로 설정 하셔야 합니다.

-오실레이터 선정
: LP,XT,HS,RC 중에서 선정 하여야 함
-코드 프로텍트
: ROTECT,PROTECT_5%,PROTECT_50%,NOPROTECT 중에서 선택
-브라운 아웃 디텍터 기능
: NOBROWNOUT,BROWNOUT 중에서 선택. BROWN OUT 이란 전원 전압이 일정 전압 즉 4.0V 이하로 내려 가면 마이컴을 리셋 시키는 기능임
-와치-독 기능
: WDT,NOWDT 중에서 선택. 프로그램의 MUL-FUNCTION 을 방지 하기 위하여 사용
-파워-업 타이머 기능
: 전원을 투입 할때 전원 안정을 위하여 약 72MSEC 지연을
시키는 기능이 있는데 PUT,NOPUT 중에서 하나를 선택 하여야 함
-내부 EEPROM 읽기 PROTECT
: 마이컴 내부의 EEPROM 으로부터 읽기 프로텍트를 결정함
CPD,NOCPD 중에서 선택함
-저 전압 프로그래밍
: 플래시 마이컴을 5V에서 라이팅 할수 있는 기능으로 NOLVP,LVP 중에서 선택 하여야 한다
-TABLE WRITE 프로텍트
: WRT와 NOWRT 중에서 선택 하여야 하며 이기능은 프로그램 메모리 내의 TABLE 에 비 정상적인 데이터의 WRITE 를 방지 하는 기능이다
#FUSES XT,NOPROTECT,NOBROWNOUT,NOWDT,PUT,NOCPD,NOLVP,NOWRT
기본적으로 이렇게 설정 하셔서 테스트 해 주세요...
또한 기본적인 LCD 관련 소스 코드를 올립니다.
출처는 네오칩 자료실 입니다.
Type Size Unsigned Signed
int11 bit number0 to 1N/A
int88 bit number0 to 255-128 to 127
int1616 bit number0 to 65535-32768 to 32767
int3232 bit number0 to 4294967295-2147483648 to 2147483647
int4848 bit number0 to 281474976710655-140737488355328 to 140737488355327
int6464 bit numberN/A-9223372036854775808 to 9223372036854775807
float32 bit float-1.5x10^45 to 3.4x10^38-1.5x10^45 to 3.4x10^38

4. 사용 문 (Manual p33 참고)
     아래에 표현된 C-언어 구문은 가장 많이 사용하는 구문으로 매우 중요하기 떄문에

     1)

참고:

     1. Device Configuration
     2. Fuses? Explain for a beginner.
     3. Configuration Bits (Fuses) For Microcontrollers
     4. PICC fuses configuration 설정
     5. Configuration 설정
     6. CCS-C로 프로그래밍 하실 때 처음 Configuration 설정을 어떻게 하셨는지요?
     .
     .