mikroC PRO for PIC is a full-featured C compiler for PIC microcontrollers from Microchip. It is designed for developing, building and debugging PIC-based embedded applications. This development environment has a wide range of features such as easy-to-use IDE, very compact and efficient code, hardware and software libraries, comprehensive documentation, software simulator, hardware debugger support, COFF file generation and many more. Numerous ready-to-use examples will give you a good start for your embedded projects.
Download mikroC PRO for PIC [20.41MB]
See the complete version history of mikroC PRO for PIC
mikroC PRO for PIC offers an easy-to-use interface designed to get you going fast with your PIC microcontrollers. Modern and user-oriented compiler's IDE will show you that microcontroller projects can be developed in an easy and fast way. There is also a set of tools used for collecting project information such as statistics.
mikroC PRO for PIC includes a set of libraries and examples intended to facilitate your work. Libraries are fully-documented and allow a quick start in programming microcontrollers. Browse through the suppplied examples and learn how to utilize PIC MCUs with minimum code and effort.
The following code sample includes a simple loop for demonstrating A/D conversion on MCU PORTA and sending results to LEDs connected to PORTD and PORTC. Examine these lines carefully in order to see how our humble example deals with a highly complicated task of A/D conversion. mikroC PRO for PIC spares you from consulting the manuals for specific MCUs, code adjustments for different types of PIC MCUs, address arithmetic, etc. Just let the compiler take care of it.
unsigned int temp_res;
void main() {
ANSEL = 0x04; // Configure AN2 pin as analog
ANSELH = 0; // Configure other AN pin as digital I/O
C1ON_bit = 0; // Disable comparators
C2ON_bit = 0;
TRISA = 0xFF; // PORTA is input
TRISC = 0; // PORTC is output
TRISD = 0; // PORTD is output
do {
temp_res = ADC_Read(2); // Get 10-bit results of A/D conversion
PORTD = temp_res; // Send lower 8 bits to PORTD
PORTC = temp_res >> 8; // Send 2 most significant bits to RC1, RC0
} while(1);
}
The mikroC PRO for PIC compiler supports a wide range of microcontrollers including over 360 PIC microcontrollers. Newly released PIC microcontrollers will be supported by a new version of compiler software that is updated regularly. Here is a list of microcontrollers supported by the mikroC PRO for PIC compiler:
| PIC12 Microcontroller Family | ||||||||
|---|---|---|---|---|---|---|---|---|
| P12C671 | P12C672 | P12CE673 | P12CE674 | P12F609 | P12F615 | P12F617 | P12F629 | P12F635 |
| P12F675 | P12F683 | P12HV609 | P12HV615 | |||||
| PIC16 Microcontroller Family | ||||||||
| P16C432 | P16C433 | P16C620 | P16C620A | P16C621 | P16C621A | P16C622 | P16C622A | P16C62A |
| P16C62B | P16C63 | P16C63A | P16C642 | P16C64A | P16C65A | P16C65B | P16C66 | P16C662 |
| P16C67 | P16C71 | P16C710 | P16C711 | P16C712 | P16C715 | P16C716 | P16C717 | P16C72 |
| P16C72A | P16C73A | P16C73B | P16C745 | P16C74A | P16C74B | P16C76 | P16C765 | P16C77 |
| P16C770 | P16C771 | P16C773 | P16C774 | P16C781 | P16C782 | P16C923 | P16C924 | P16C925 |
| P16C926 | P16CE623 | P16CE624 | P16CE625 | P16CR62 | P16CR620A | P16CR63 | P16CR64 | P16CR65 |
| P16CR72 | P16CR83 | P16CR84 | P16CR926 | P16F610 | P16F616 | P16F627 | P16F627A | P16F628 |
| P16F628A | P16F630 | P16F631 | P16F636 | P16F639 | P16F648A | P16F676 | P16F677 | P16F684 |
| P16F685 | P16F687 | P16F688 | P16F689 | P16F690 | P16F716 | P16F72 | P16F722 | P16F723 |
| P16F724 | P16F726 | P16F727 | P16F73 | P16F737 | P16F74 | P16F747 | P16F76 | P16F767 |
| P16F77 | P16F777 | P16F785 | P16F818 | P16F819 | P16F83 | P16F84 | P16F84A | P16F87 |
| P16F870 | P16F871 | P16F872 | P16F873 | P16F873A | P16F874 | P16F874A | P16F876 | P16F876A |
| P16F877 | P16F877A | P16F88 | P16F882 | P16F883 | P16F884 | P16F886 | P16F887 | P16F913 |
| P16F914 | P16F916 | P16F917 | P16F946 | P16HV610 | P16HV616 | P16HV785 | P16LF722 | P16LF723 |
| P16LF724 | P16LF726 | P16LF727 | ||||||
| PIC18 Microcontroller Family | ||||||||
| P18C242 | P18C252 | P18C442 | P18C452 | P18C601 | P18C658 | P18C801 | P18C858 | P18F1220 |
| P18F1230 | P18F1320 | P18F1330 | P18F13K22 | P18F13K50 | P18F14K22 | P18F14K50 | P18F2220 | P18F2221 |
| P18F2320 | P18F2321 | P18F2331 | P18F23K20 | P18F2410 | P18F242 | P18F2420 | P18F2423 | P18F2431 |
| P18F2439 | P18F2450 | P18F2455 | P18F2458 | P18F248 | P18F2480 | P18F24J10 | P18F24J11 | P18F24J50 |
| P18F24K20 | P18F2510 | P18F2515 | P18F252 | P18F2520 | P18F2523 | P18F2525 | P18F2539 | P18F2550 |
| P18F2553 | P18F258 | P18F2580 | P18F2585 | P18F25J10 | P18F25J11 | P18F25J50 | P18F25K20 | P18F2610 |
| P18F2620 | P18F2680 | P18F2682 | P18F2685 | P18F26J11 | P18F26J50 | P18F26K20 | P18F4220 | P18F4221 |
| P18F4320 | P18F4321 | P18F4331 | P18F43K20 | P18F4410 | P18F442 | P18F4420 | P18F4423 | P18F4431 |
| P18F4439 | P18F4450 | P18F4455 | P18F4458 | P18F448 | P18F4480 | P18F44J10 | P18F44J11 | P18F44J50 |
| P18F44K20 | P18F4510 | P18F4515 | P18F452 | P18F4520 | P18F4523 | P18F4525 | P18F4539 | P18F4550 |
| P18F4553 | P18F458 | P18F4580 | P18F4585 | P18F45J10 | P18F45J11 | P18F45J50 | P18F45K20 | P18F45K22 |
| P18F4610 | P18F4620 | P18F4680 | P18F4682 | P18F4685 | P18F46J11 | P18F46J50 | P18F46K20 | P18F6310 |
| P18F6390 | P18F6393 | P18F63J11 | P18F63J90 | P18F6410 | P18F6490 | P18F6493 | P18F64J11 | P18F64J90 |
| P18F6520 | P18F6525 | P18F6527 | P18F6585 | P18F65J10 | P18F65J11 | P18F65J15 | P18F65J50 | P18F65J90 |
| P18F6620 | P18F6621 | P18F6622 | P18F6627 | P18F6628 | P18F6680 | P18F66J10 | P18F66J11 | P18F66J15 |
| P18F66J16 | P18F66J50 | P18F66J55 | P18F66J60 | P18F66J65 | P18F66J90 | P18F66J93 | P18F6720 | P18F6722 |
| P18F6723 | P18F67J10 | P18F67J11 | P18F67J50 | P18F67J60 | P18F67J90 | P18F67J93 | P18F8310 | P18F8390 |
| P18F8393 | P18F83J11 | P18F83J90 | P18F8410 | P18F8490 | P18F8493 | P18F84J11 | P18F84J90 | P18F8520 |
| P18F8525 | P18F8527 | P18F8585 | P18F85J10 | P18F85J11 | P18F85J15 | P18F85J50 | P18F85J90 | P18F8620 |
| P18F8621 | P18F8622 | P18F8627 | P18F8628 | P18F8680 | P18F86J10 | P18F86J11 | P18F86J15 | P18F86J16 |
| P18F86J50 | P18F86J55 | P18F86J60 | P18F86J65 | P18F86J90 | P18F86J93 | P18F8720 | P18F8722 | P18F8723 |
| P18F87J10 | P18F87J11 | P18F87J50 | P18F87J60 | P18F87J90 | P18F87J93 | P18F96J60 | P18F96J65 | P18F97J60 |
| P18LF13K22 | P18LF13K50 | P18LF14K22 | P18LF14K50 | P18LF24J10 | P18LF24J11 | P18LF24J50 | P18LF25J10 | P18LF25J11 |
| P18LF25J50 | P18LF26J11 | P18LF26J50 | P18LF44J10 | P18LF44J11 | P18LF44J50 | P18LF45J10 | P18LF45J11 | P18LF45J50 |
| P18LF46J11 | P18LF46J50 | |||||||
The compiler's IDE is designed to maximize programmer's productivity by providing a set of software components in the form of a single program in which all development can be done. These software components eliminate the need for installing additional software.
Code Editor is a text editor used for editing source code. It features Code Assistant, Parameter Assistant, Auto Correct, Code Templates, Syntax Highlighting, etc. It is designed to satisfy the needs of both novices and experienced programmers. Due to this editor, you can easily develop your applications.
The compiler's IDE consists of an intuitive Project Manager which aims to provide a simple, but very usable development environment for all programmers' needs. The Project Manager enables you to manage multiple projects and organize your source codes easily.
Code Explorer enables you to list variables, functions and other program items for any file of your project. All you need is to click on an element and the main window will be automatically positioned to its definition line. This feature is very useful for finding elements in long files as it lists project elements in one place.
Library Manager helps you manage different types of libraries being used in the project. You can add a desired library to the project by checking the box next to the library name.
Routine List displays a list of routines and enables them to be filtered by name. This feature allows programmers to search and find routines just by double clicking desired ones. This tool also saves your time by simplifying routine search especially in long source codes.
Project Settings allows you to set up your project quickly. You just have to enter data that is relevant to your project such as PIC microcontroller selection, MCU Clock frequency and Build/Debugger Type. You can also set output for final release of your application or for In-Circuit Debugging where you can test and debug your applications.
Bookmarks is a feature that allows you to add a bookmark to a code line in the project. Instead of navigating manually between files and through the code, you can use this feature to jump directly to the desired location. You can create as many bookmarks as you want throughout your projects and quickly navigate between them.
Macros allow you to save your actions and reuse them later in your projects. This option enables you to create very complex macros which can save hours and hours of your work. Macros allow you to record the sequence of keystrokes and locators that are used to perform a task and reuse them when required.
Messages window displays status messages for various features in the integrated development environment (IDE). It shows how the program compilation is performed as well as various responses to the project compilation and linking. It allows you to easily track down compilation errors in your project source code.
The compiler includes an excellent source-level debugger that helps you troubleshoot and repair your applications faster. You can debug your project with a software simulator that simulates microcontroller's operation in the compiler's IDE or you can test and debug your applications using a hardware tool such as mikroICD (In-Circuit Debbuger) that executes program in real time at hardware level.
Watch Window may be used to inspect and edit any expression, including global variables, static variables, local variables, function arguments and registers. It allows you to inspect the running program and discover bugs immediately while the program is running, thus saving a lot of development time. It is also possible to modify program items in order to test various Run-Time situations.
Breakpoints are temporary markers you can place in your program code in order to instruct the debugger to stop your program whenever its execution reaches that point. With breakpoints you can easily reach the part of code that is critical for debugging and testing. You just need to set breakpoints and your project is ready for debugging.
Stopwatch is a debugger feature used to display a current count of cycles/time since the last debugger action occured. Stopwatch measures the execution time (number of cycles) from the moment the debugger has started and can be reset at any time.
This tool is ideal for calculating the time required for executing any part of the code. In other words, you can easily track how long it takes for each part of the code to be executed, which further helps you perform the rest of application efficiently.
The compiler's IDE features Statistics window that shows a complete statistics for your project such as RAM Memory Usage, Used RAM Locations, SFR Locations, ROM Memory Usage, ROM Memory Constants, Functions Sorted By Name, Functions Sorted By Size, Functions Sorted By Addresse, Functions Sorted By Name Chart, Functions Sorted By Size Chart, Functions Sorted By Addresses Chart, Function Tree and Memory Summary.
mikroC for PRO for PIC includes many useful implemented tools that help you develop your applications more quickly and comfortably. These tools are designed on the basis of users' needs and practical experience in developing embedded applications.
USART Terminal is used for RS232 communication - baud rate control, RTS and DTR commands, etc.
UDP Communication Terminal is used for Ethernet UDP communication - Send UDP packets to a specified IP address, specified port, etc.
Graphic LCD Bitmap Generator Tool is used for converting a bitmap to the mikroC compatible code.
7 Segment Display Decoder is a convenient visual panel which returns decimal/hex value for 7-seg display.
mikroC PRO for PIC includes LCD Custom Character. The output is the mikroC PRO for PIC compatible code.
USB Terminal is used for USB communication and enables you to establish and monitor your USB connection with a microcontroller.
mikroBootloader is a bootloader which allows a small bootloader program to receive and write new firmware into memory.
Ordering of our products is done via 2Checkout payment gateway. If you have any problems with CC processing or you want to pay directly to our bank account please inform us:
All credit card and personal details are kept secure, and our customer list is not disclosed to any third party, so you never have to worry about your credit card safety. Most shipments are sent within 48 hours of your order. Online purchasing experience of mikroElektronika products is fast, simple and secure. 2Checkout.com is an authorized reseller of goods and services provided by mikroElektronika.
Buy mikroC with one of our PIC development boards at 20% discount on compiler price! All of our previous customers are entitled to the discount!