OVERVIEW  

This integrated C development environment gives developers the capability to quickly produce very efficient code from an easily maintainable high level language.

The compiler includes built-in functions to access the PIC hardware such as READ_ADC to read a value from the A/D converter. Discrete I/O is handled by describing the port characteristics in a PRAGMA. Functions such as INPUT and OUTPUT_HIGH will properly maintain the tri-state registers. Variables including structures may be directly mapped to memory such as I/O ports to best represent the hardware structure in C.

The microcontroller clock speed may be specified in a PRAGMA to permit built in functions to delay for a given number of microseconds or milliseconds. Serial I/O functions allow standard functions such as GETC and PRINTF to be used for RS-232 like I/O.

 Code Sample
The following code segment generates a 1kHz pulse on Port B0:

  while (TRUE) {
    output_high(PIN_B0);
    delay_us(500);
    output_low(PIN_B0);
    delay_us(500);
  }

See more examples...

The hardware serial transceiver is used for applicable parts when possible. For all other cases a software serial transceiver is generated by the compiler. The standard C operators and the special built in functions are optimized to produce very efficient code for the bit and I/O functions.

Functions may be implemented inline or separate, allowing to optimize for either ROM concerns or speed concerns. Function parameters are passed in reusable registers. Inline functions with reference parameters are implemented efficiently with no memory overhead.

During the linking process the program structure, including the call tree, is analyzed. Functions that call one another frequently are grouped together in the same page segment. Calls across pages are handled automatically by the tool transparent to the user. Functions may be implemented inline or separate. RAM is allocated efficiently by using the call tree to determine how locations can be re-used. Constant strings and tables are saved in the device ROM.

The output hex and debug files are select-able and compatible with popular emulators and programmers including MPLAB for source level debugging. PCW includes a powerful Windows IDE. The compiler requires Windows 95, 98, ME, NT4, 2000 or XP.

      FEATURES

  • Comprenhensive library support for RS232 serial I/O library, I/O, I2C, discrete I/O and precision delays.
  • Source code drivers and examples included for LCD modules, keypads, 24xx &93xx serial E2PROM's, X10, DS1302 & NJU6355 Real Time Clocks, Dallas Touch Memory Devices, DS2223 & PCF8570 Serial SRAM, LTC1298 & PCF8591 A/D converters, temperature sensors, digital pots, I/O expander and much more.
  • Access to hardware features from easy to use C functions, Timers, A/D, EEPROM, SSP, PSP, I2C and more.
  • Efficient function implementation allows call trees deeper than the hardware stack.
  • Inline procedures supported to save stack space; Linker will automatically determine the best architecture or it can be manually specified.
  • Efficient function implementation allows call trees deeper than the hardware stack.
  • Automatic linking to handle multiple code pages
  • Supports 1, 8 and 16 bit integer types and 32 bit floating point variables & arithmetic. One bit type (Short Int) permits the compiler to generate very efficient Bit oriented code.
  • Compiler directives determine if tri-state registers are refreshed on ever I/O or if the I/O is as fast as possible.
  • Constants (including strings and arrays) are saved in program memory.
  • #BIT and #BYTE will allow C variables to be placed at absolute addresses to map registers to C variables.
  • Integrates with MPLAB and other simulators/emulators for source level debugging & Produces standard HEX output for use with all programmers
  • Assembly code may be inserted anywhere in the source and may reference C variables
  • Constants (including strings and arrays) are saved in program memory
  • Special windows show the RAM memory map, C/Assembly listing, and the calling tree
  • Interrupt functions supported on PCM/PCH. The compiler generates all startup and clean up code as well as identifying the correct interrupt function to be called.
  • Updates via the web for 30 days included

  BUILT-IN FUNCTIONS  

Standard C Char
atoi()
atol()
atoi32()
atof()
tolower()
toupper()
isalnum()
isalpha()
isamoung()
isdigit()
islower()
isspace()
isupper()
isxdigit()
strlen()
strcpy()
strncpy()
strcopy()
strcmp()
stricmp()
strncmp()
strcat()
strstr()
strchr()
strrchr()
strtok()
strspn()
strcspn()
strpbrk()
strlwr()

Delays

delay_cycles()
delay_us()
delay_ms()

Capture/Compare/PWM

setup_ccpX()
set_pwmX_duty()

Processor Controls

sleep()
reset_cpu()
restart_cause()
disable_interrupts()
enable_interrupts()
ext_int_edge()
read_bank()

Standard C Memory
memset()
memcpy()

RS232 I/O

getc()
putc()
gets()
puts()
printf()
kbhit()
set_uart_speed()

I2C I/O

i2c_start()
i2c_stop()
i2c_read()
i2c_write()
i2c_poll()

Discrete I/O

output_low()
output_high()
output_float()
output_bit()
input()
output_X()
input_X()
port_b_pullups()
set_trix_X()

SPI 2 Wire I/O

setup_spi()
spi_read()
spi_write()
spi_data_is_in()

Parallel Slave I/O

setup_psp()
psp_input_full()
psp_output_full()
psp_overflow()

Timers

setup_timer_X()
set_timer_X()
get_timer_X()
setup_counters()
setup_wdt()
restart_wdt()

Standard C Math
abs()
abs32()
acos()
asin()
atan()
ceil()
cos()
exp()
floor()
labs()
log()
log10()
pwr()
sin()
sqrt()
tan()

A/D Conversion

setup_adc_ports()
setup_adc()
set_adc_channel()
read_adc()

Analog Compare

setup_comparator()

Voltage Ref

setup_vref()

Internal EEPROM

read_eeprom()
write_eeprom()
read_program_eeprom()
write_program_eeprom()
read_calibration()

Bit Manipulation

shift_right()
shift_left()
rotate_right()
rotate_left()
bit_clear()
bit_set()
bit_test()
swap()


  PREPROCESSOR  

Standard C
#define
#undef
#include
#if
#ifdef
#ifndef
#else
#endif
#list
#nolist
#error
#pragma

Function Qualifiers

#inline
#seperate
#int_XXXXX
#int_global
#int_default

Standard C

#device #id #fuses

Libraries
#use delay
#use rs232
#use i2c
#use standard_io
#use fixed_io
#use fast_io

Standard C

#byte
#bit
#locate
#reserve
#rom
#zero_ram
#asm
#endasm

Standard C

#case
#opt
#priority
__date__
__device__
__pcb__
__pcm__
__pch__

 

  STANDARD C  

  • IF, ELSE, WHILE, DO, SWITCH, CASE, FOR, RETURN, GOTO, BREAK, CONTINUE
  • !   ~   ++   --   +   -   ,   &   |  
  • *   /   %   <<   >>   ^   &&   ||   ?:  
  • <   <=   >   >=   ==   !=  
  • =   +=   -=   *=   /=   %=   >>=   <<=   &=   ^=   |=
  • TYPEDEF, STATIC, AUTO, CONST, ENUM, STRUCT, UNION
  • Arrays up to 5 subscripts
  • Structures and Unions may be nested.
  • Custom bit fields (1-8 bits) within structures.
  • ENUMurated types
  • CONSTant variables, arrays and strings.
  • Full function parameter support (any number).
  • Some support for C++ reference parameters.
  PIC DEVICES  
Click the above TITLE to see which micro our compiler supports, as well as a read-out of useful information about each controller.

  PCW WINDOWS  
All about PCW, the PIC C compiler with powerful Windows IDE. Click above TITLE for details on what is included with PCW as compared to the standard command line compilers

     DOWNLOAD  

Click above TITLE for existing CCS Customers with a valid registration key to download PIC C Compiler updates here.

  USER FORUM  
Click above TITLE to goto CCS Message Forums for customers to discuss using the PIC C Compiler.

  EXAMPLES  
CCS C compiler is packaged with a large number of example programs to show how to work with PIC C and your microcontrollers. Also included is source code drivers for communicating with EEPROMS, Real Time Clocks, LCD screens, A/D converters and etc.

  COMPARISON  
We have asked several of our customers to compare our compiler to our competitors product. Click above link to read their views and inspect their comparison chart.

  SCENIX C  
CCS C Compiler now supports Scenix microcontrollers. Click above title or Here to see a complete specifications and detail info.

  MORE EXAMPLES  
for More C examples, please click on the links below : -
C examples with circuits
C & Assembler Resources
10Mbyte of C Code !
PIC Micro C Routine Library


  PCWH DEMO  
To download a Demo copy of PCWH C, right click on your mouse button. This Demo version is restricted to 2K code for PIC16F877, PIC18F458 devices.

  PRICES  

   

 PCWH    RM1825
C compiler with IDE for PIC12/PIC16/PIC18 Family

CODE: 110-01   US$425.00 + US$25( * ) = US$450.00


 PCM    RM650
C compiler for 14-bit Family PIC: 16CXX/14000/16F8X/16F87X families. It comes with DOS IDE & Command Line & also with integration to MPLAB Development Environment.

 

 PCW    RM1375
C compiler for 12-bit & 14-bit Family PIC. Comes with a Windows Integrated Development Environment & command line Compiler and DEVEDIT utility to update chip database & fine tune compiler code generation.

 PCH    RM825
WIN32 CommandLine with integration to MPLAB Development Environment and compiler is specific to the new PIC18CXXX Family.

Prices in RM$ includes Shipping & Handling Charges( * )

Navigation Bar
blitzlogic(at)gmail(dot)com