C Compiler for the PIC series of Microcontrollers from Microchip
This C compilers offer tutorials on CD-ROM that include instructions on, syntax, language, programming and compiling finished programs. Includes a PIC simulator for testing and writing programs. View the windows video tutorials available for additional information.
Other Available PIC microcontroller compilers.
Assembly Language Compiler
PICBasic Compiler (Basic Lanuage)
PICBasic Pro Compiler (Basic Language)
Flowcode Symbolic Compiler (for Non-Programmers)
Information on our PIC Microcontroller Compilers.
C Compiler For PIC Microcontrollers
The C for PICmicro? microcontrollers CD ROM is designed for students and professionals who need to learn how to program embedded microcontrollers in C. The CD contains a course as well as all the software tools needed to create Hex code for a wide range of PICmicro devices - including a full C compiler for a wide range of PICmicro devices.
C Video Tutorial (Windows WMV)
The contents of the course on the CD ROM are as follows:
About the course, Navigation, What is a PICmicro?, the Virtual C PICmicro, MPLAB, C2C IDE
Conventional programs, Embedded programs, High and low level, Low level PICmicro, Getting programs into a compiler, writing our programs.
Introduction, Types, Floating point, Characters, Integers, Choosing variables, Identifiers, Declare Multiple declarations, Initialization, Names, Assigning statements, Expressions, Operators and Operands, Constant operands, Operators and divide, Working on bits, Shifting bits, Shortcut operaUnary operators, Casting Exercises
Introduction, Logical operators, Equality, Using else, Cunning conditions, Complicated condition, Unary operators in conditions, Exercises.
Statements and Blocks
Introduction, Blocks in Blocks, Global and local variables, Local variable scope, Global variablesGlobal and local in C2C, Exercises.
Looping the loop
Introduction, While loop, Counting with the while loop, The for loop, Breaking out of loops, Continuing loops, Exercises.
Functions Introduction, When to use a function, Functions which return values, Functions which accept parameters, Functions which return values, More than one parameter, Exercises.
Introduction, The need for arrays, Declaring an array, elements in an array, Sorting array elements the next dimension, Exercises.
Introduction, The switch condition, Switches and breaks, Exercises.
Introduction, Arrays and pointers, Declaring a pointer, Using a pointer, Comparing a pointer, Nullpointers, Functions and pointers, Finding out the size, Strings, Exercises.
Introduction, Creating structures, How structures work, Pointers in structures, Structures in structures, Exercises.
Introduction, The #include directive, magic numbers and #define, Conditional compilation, Exercises.
Software engineering in C
Introduction, Deciding on specification, Deciding how to test, creating the functions, Using the functions, Making a project, External data, And finally?
Introduction, Bits and bytes, Hex and decimal, Ready reckoner, Exercises, The PIC microcontrollPICmicro range, Architecture, Programming the PICmicro, The working register, File registers, Selection, Special function registers, PORTA and PORTB, TRISA and TRISB, Interrupts, Timer, Watchdog, Sleep, EEPROM memory, Development board, Exercises.
Compiling and running programs
Introduction, Compiling your program, assembling your program, downloading your program, C2functions, C2C project files.
Lab 1 - Flashing lights, Lab 2 - Switches and torches, Lab 3Sound software, Lab 4 - LEDs and clocks, Lab 5 - LCDs and libraries, Lab 6 - Mystic LCD, Lab 7 - PICing a lock, Lab 8 - reaction timer, Lab 9 - Inspecting your morse. Resource Lab index, Code toolbox, LCD reference, PIC16F84 datasheet.
This product is shipped with the C2C C compiler. The specification of this is as follows:
- 8-bit and 16-bit variables
- Built in variables
- Arithmetic expressions
- Functions and built in functions
- Standard C commands
- Libraries and include files supported
- Multiple data types
Built in functions:
clear_wdt, enable_interrupt, disable_interrupt, set_mode, set_option, set_tris_a, set_tris_b, set_tris_c, output_port_a, output_port_b, output_port_c, output_high_port_a, output_high_port_b, output_high_poutput_low_port_a, output_low_port_b, output_low_port_c, input_port_a, input_port_b, input_port_c,input_pin_port_a, input_pin_port_b, input_pin_port_c, sleep, nop, set_bit, clear_bit, putchar, getchar, delay_s, delay_ms, delay_us, char_to_bcd, bcd_to_char
Standard C commands:
? if, else, while, for, return, break, continue, extern, switch, case, default;
? goto and labels;
? char, short, int, long, void;
? ~, ++, --, +, -, <, <=, >, >=, ==, !=, =, !, &, |, ^, &=, |=, ^=, &&, ||, *, /, %, <<, >>, <<=, >>=;
? one-dimensional arrays;
? const char pointers;
? const variables and arrays;
? functions with no/one/many parameters and void/char return type;
? built-in assembler;
? #define, #undef
? #ifdef, #ifndef, #else, #endif
Decimal, Octal, Hexadecimal, Binary, ASCII
The following devices are supported:
PIC12C508, PIC12C508A, PIC12C509, PIC12C509A, PIC12CR509A, PIC12CE518, PIC12CE519, PIC12C671, PIC12C672, PIC12CE673, PIC12CE674, PIC16C52, PIC16C54, PIC16CR54, PIC16C55PIC16C56, PIC16CR56, PIC16C57, PIC16CR57, PIC16C58, PIC16CR58, PIC16C61, PIC16C62, PIC16C62A, PIC16C62B, PIC16CR62, PIC16C63, PIC16C63A, PIC16CR63, PIC16C64, PIC16C64APIC16CR64, PIC16C65, PIC16C65A, PIC16C65B, PIC16CR65, PIC16C66, PIC16C67, PIC16C71, PIC16C72, PIC16C72A, PIC16CR72, PIC16C73, PIC16C73A, PIC16C73B, PIC16C74, PIC16C74A,PIC16C74B, PIC16C76, PIC16C77, PIC16F83, PIC16CR83, PIC16C84, PIC16F84, PIC16F84A, PIC16CR84, PIC16C505, PIC16C620, PIC16C620A, PIC16CR620A, PIC16C621, PIC16C621A, PIC16C622, PIC16C622A, PIC16CE623, PIC16CE624, PIC16CE625, PIC16F627, PIC16F628, PIC16C641, PIC16C642, PIC16C661, PIC16C662, PIC16C710, PIC16C711, PIC16C712, PIC16C715PIC16C716, PIC16C717, PIC16C770, PIC16C771, PIC16C773, PIC16C774, PIC16F870, PIC16F871PIC16F872, PIC16F873, PIC16F874, PIC16F876, PIC16F877, PIC16C923, PIC16C924
C Compiler for PIC Microcontrollers