336x280(권장), 300x250(권장), 250x250, 200x200 크기의 광고 코드만 넣을 수 있습니다.

 

Syntax & Functions


문법 & 함수

http://www.ccsinfo.com/content.php?page=syntax-functions

 

ccs_c_manual.pdf

 

▼예제들 포함된 사이트

http://www.ccsinfo.com/content.php?page=compexamples


PCM (supports most PIC12 and PIC16 devices):

PCD (supports PIC24/dsPIC® DSC families):

간단한 학교 프로젝트의 경우는 PCM계열의 칩으로 마무리할 수 있다.



▼예제를 통해 CCSC 만의 문법이 어떻게 차이가 있는지 살펴보자.

문법공부를 따로하기 보다는 해당 예제를 통해 익히는게 효율적이다.

#include <16c74.h>                                    //칩 선언 #fuses HS,NOWDT,NOPROTECT                             //Freq. WDT, Code Protection 선언 #use delay(clock=20000000)                            //20MHz사용 #use rs232(baud=9600, xmit=PIN_C6, rcv=PIN_C7) // Jumpers: 8 to 11, 7 to 12 #include <input.c> #byte port_b = 6 #define FOUR_PHASE TRUE #ifdef FOUR_PHASE byte const POSITIONS[4] = {0b0101, 0b1001, 0b1010, 0b0110}; #else byte const POSITIONS[8] = {0b0101, 0b0001, 0b1001, 0b1000, 0b1010, 0b0010, 0b0110, 0b0100}; #endif drive_stepper(BYTE speed, char dir, BYTE steps) { static BYTE stepper_state = 0; BYTE i; for(i=0; i<steps; ++i) { delay_ms(speed); set_tris_b(0xf0); port_b = POSITIONS[ stepper_state ]; if(dir!='R') stepper_state=(stepper_state+1)&(sizeof(POSITIONS)-1); else stepper_state=(stepper_state-1)&(sizeof(POSITIONS)-1); } } use_pot() { BYTE value; setup_adc(adc_clock_internal); set_adc_channel( 1 ); printf("rn"); while( TRUE ) { value=read_adc(); printf("%2Xr",value); if(value<0x80) drive_stepper(value,'R',8); else if(value>0x80) drive_stepper(128-(value-128),'F',8); } } use_switch(BYTE speed, char dir) { BYTE steps; printf("nrSteps per press: "); steps = gethex(); while(true) { while(input(PIN_B7)) ; drive_stepper(speed,dir,steps); while(!input(PIN_B7)) ; delay_ms(100); } } main() { byte speed,steps; char dir; setup_port_a(RA0_RA1_ANALOG); while (TRUE) { printf("nrSpeed (hex): "); speed = gethex(); if(speed==0) use_pot(); printf("nrDirection (F,R): "); dir=getc()|0x20; putc(dir); printf("nrSteps (hex): "); steps = gethex(); if(steps==0) use_switch(speed,dir); drive_stepper(speed,dir,steps); } }



Simple A/D

///////////////////////////////////////////////////////////////////////// //// EX_ADMM.C //// //// //// //// This program displays the min and max of 30 A/D samples over //// //// the RS-232 interface. The process is repeated forever. //// //// //// //// Configure the CCS prototype card as follows: //// //// Insert jumpers from: 11 to 17, 12 to 18 and 9 to 16 //// //// Use the #9 POT to vary the voltage. //// ///////////////////////////////////////////////////////////////////////// #include <16f877a.h> #fuses HS,NOLVP,NOWDT,PUT                    //HighSpeed, No Low Voltage Prgming, Power Up Timer #use delay(clock=20000000) #use rs232(baud=9600,xmit=PIN_C6,rcv=PIN_C7) void main()

{ int i, value, min, max; printf("Sampling:"); setup_adc_ports( RA0_ANALOG ); setup_adc( ADC_CLOCK_INTERNAL ); set_adc_channel( 0 ); do

{ //Takes 30 samples from pin A0 min = 255; //and displays the min and max max = 0; //values for that 100ms period for(i = 0; i <= 30; ++i)

{ delay_ms(100); value = read_adc(); if(value < min) min = value; if(value > max) max = value; } printf("nrMin:%x MAX: %x", min, max); } while (TRUE);

}


'MPLAB > CCSC Syntax' 카테고리의 다른 글

Making Hex File  (0) 2013.01.23
Posted by ElectricShock
:
BLOG main image
잡동사니들(지극히 개인취향인...) (다른글에도 댓글 부탁해요♥) You May Leave English Messages on GuestBook. by ElectricShock

공지사항

카테고리

분류 전체보기 (782)
Programming(=프로그래밍) (3)
MiDi (2)
Animation (4)
Blender (3D Graphic Program.. (10)
Blendtuts.com (Series) (1)
Blender 기초 팁들 (2)
Processing (디지털미디어과) (2)
Music (1)
Books in the world (0)
Communication(CAN, UART, et.. (12)
MCU Examples (PIC 기반) (7)
Transistor (1)
Mikro C Pro (11)
Mikro Pascal (1)
Proton IDE (0)
Robot (0)
Swift 3D (1)
Dummies Series (1)
All about Hacking (0)
제2 외국어 (1)
PIC 해외서적들 (3)
AVR (25)
PIC (MikroC) (MPLAB) (4)
Assembly (2)
ARM (3)
Arduino (26)
PSpice (1)
Proteus ISIS (14)
CodeVision (2)
FPGA (15)
MPLAB (24)
PCB (the Procedure) (15)
3D Printer (5)
PICKIT3 (6)
Matlab (11)
RaspBerry PI (15)
BeagleBone (1)
Android Studio (17)
졸업작품 (172)
Korea History (0)
Issue(사회) (73)
Multimeter 리뷰 (1)
Oscilloscope (1)
A (34)
B (19)
J (6)
C (32)
P (12)
T (37)
H (12)
I (12)
M (44)
R (5)
E (5)
F (2)
D (9)
O (2)
L (7)
S (9)
W (2)
V (6)
G (14)
Visual C++ or Visual Studio (2)
Android App Development (0)

최근에 올라온 글

최근에 달린 댓글

최근에 받은 트랙백