mikroPascal PRO for PIC is a full-featured PASCAL 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: Stand-Alone Pascal compiler, Easy-To-Use IDE, very compact and efficient code, many hardware and software libraries, comprehensive documentation, software simulator, hardware debugger support, COFF file generation, etc, Many practical examples allow you a quick start in programming PIC®microcontrollers.
Download mikroPascal PRO for PIC [20.05MB]
See the complete version history of mikroPascal PRO for PIC
mikroPascal PRO for PIC offers a user-friendly 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. The compiler comes with many libraries that are completely documented and supplied with practical examples. There is also a set of tools used for collecting project information such as statistics as well as various tools for application testing.
mikroPascal PRO for PIC includes a set of libraries and examples intended to facilitate application development. All that allows a quick start in programming microcontrollers. Browse through the supplied examples and learn how to utilize PIC MCUs with minimum code and effort.
The following code sample includes a simple loop for performing 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. mikroPascal PRO for PIC spares you from consulting the manual for specific MCU, code adjustments for different PIC models, and address arithmetic. Just let the compiler take care of it.
program ADC_on_LEDs;
var temp_res : word;
begin
ANSEL := 0x04; // Configure AN2 pin as analog
ANSELH := 0; // Configure other AN pins 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
while (TRUE) do
begin
temp_res := Adc_Read(2); // Get 10-bit results of AD conversion
PORTD := temp_res; // Send lower 8 bits to PORTD
PORTC := word(temp_res shr 8); // Send 2 most significant bits to RC1, RC0
end;
end.
The 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. The new compiler updates are available free of charge. Here is a list of all microcontrollers supported by the mikroPascal 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 programmers' 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 installation of 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 positioned to its definition line. This feature is very useful for finding elements in long files as it lists all 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 easily by double clicking desired routine. 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 set output for final release of your application or for In-Circuit Debugging where you can test and debug your application.
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 used to perform a task and reuse them later 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 to help you troubleshoot and repair your application faster. You can debug your project with a software simulator that simulates microcontroller's operation in compiler's IDE or you can test and debug your applications using a hardware tool such as mikroICD (In-Circuit Debbuger) that executes programs in real-time at hardware level.
Watch Values 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 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 to instruct the debugger where to stop the program. With breakpoints you can easily reach the part of code that is critical for debugging and testing. As soon as you set a breakpoint, your project is ready for debugging.
Stopwatch is a debugger feature that is 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 which 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 Addresses, Functions Sorted By Name Chart, Functions Sorted By Size Chart, Functions Sorted By Addresses Chart, Function Tree and Memory Summary.
mikroPascal for PRO for PIC includes many useful implemented tools that help you develop your applications more quickly and comfortably. Those 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.
UDP Communication Terminal is used for Ethernet UDP communication to send UDP packets to a specified IP address, specified port, etc.
Graphic LCD Bitmap Generator Tool is used for converting bitmap to mikroPascal compatible code.
7 Segment Display Decoder is a convenient visual panel which returns decimal/hex value for 7seg Display.
mikroPascal PRO for PIC includes LCD Custom Character. Output is mikroPascal PRO for PIC compatible code.
USB HID Terminal is a tool for USB communication. It enables you to manage and view the USB connection with the microcontroller.
mikroBootloader is a bootloader tool 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.