mikroPascal PRO for dsPIC30/33 and PIC24 is a full-featured PASCAL compiler for dsPIC30, dsPIC33 and PIC24 microcontrollers from Microchip. It is designed for developing, building and debugging dsPIC30/33 and PIC24-based embedded applications. This development environment has a wide range of features such as: easy-to-use IDE, very compact and efficient code, many hardware and software libraries, comprehensive documentation, software simulator, COFF file generation, SSA optimization (up to 30% code reduction) and many more. Numerous ready-to-use examples will give you a good start for your embedded projects.
Download mikroPascal PRO for dsPIC30/33 and PIC24 [16.58MB]
See the complete version history of mikroPascal PRO for dsPIC30/33 and PIC24
mikroPascal PRO for dsPIC30/33 and PIC24 offers a user-friendly interface designed to get you going fast with your dsPIC30/33 and PIC24 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 numerous 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 dsPIC30/33 and PIC24 2010 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 MCUs with minimum code and effort.
The following code sample includes a simple loop for performing A/D conversion on MCU channel 1 and sending results via UART. Examine these code lines carefully in order to see how our humble example deals with a highly complicated task of A/D conversion. The compiler spares you from consulting the manual for specific MCU, code adjustments for different microcontroller models, and address arithmetic. Just let the compiler take care of it.
program ADC_on_LEDs;
var ADCresult : word;
txt : array[6] of char;
begin
PORTB := 0x0000; // Clear PORTB
TRISB := 0xFFFF; // PORTB is input
ADC1_Init(); // Enable ADC module
UART1_Init(9600); // Initialize UART communication
while (TRUE) do
begin
ADCresult := ADC1_Get_Sample(1); // Acquire ADC sample
WordToStr(ADCresult, txt); // Convert its value to string
UART1_Write_Text(txt); // and send it to UART terminal
Delay_ms(50);
end;
end.
The compiler supports a wide range of microcontrollers including over 227 dsPIC30, PIC24 and dsPIC33 microcontrollers. Newly released microcontrollers will be supported by a new version of compiler software that is updated regularly. Here is a list of microcontrollers supported by the mikroPascal PRO for dsPIC30/33 and PIC24 compiler:
| dsPIC30F Microcontroller Family | ||||||||
|---|---|---|---|---|---|---|---|---|
| dsPIC30F1010 | dsPIC30F2010 | dsPIC30F2010E | dsPIC30F2011 | dsPIC30F2011E | ||||
| dsPIC30F2012 | dsPIC30F2012E | dsPIC30F2020 | dsPIC30F2023 | dsPIC30F3010 | ||||
| dsPIC30F3010E | dsPIC30F3011 | dsPIC30F3011E | dsPIC30F3012 | dsPIC30F3012E | ||||
| dsPIC30F3013 | dsPIC30F3013E | dsPIC30F3014 | dsPIC30F3014E | dsPIC30F4011 | ||||
| dsPIC30F4011E | dsPIC30F4012 | dsPIC30F4012E | dsPIC30F4013 | dsPIC30F4013E | ||||
| dsPIC30F5011 | dsPIC30F5011E | dsPIC30F5013 | dsPIC30F5013E | dsPIC30F5015 | ||||
| dsPIC30F5015E | dsPIC30F5016 | dsPIC30F6010 | dsPIC30F6010A | dsPIC30F6011 | ||||
| dsPIC30F6011A | dsPIC30F6012 | dsPIC30F6012A | dsPIC30F6013 | dsPIC30F6013A | ||||
| dsPIC30F6014 | dsPIC30F6014A | dsPIC30F6015 | ||||||
| PIC24FJ Microcontroller Family | ||||||||
| PIC24F04KA200 | PIC24F04KA201 | PIC24F08KA101 | PIC24F08KA102 | PIC24F16KA101 | ||||
| PIC24F16KA102 | PIC24FJ128GA006 | PIC24FJ128GA008 | PIC24FJ128GA010 | PIC24FJ128GA106 | ||||
| PIC24FJ128GA108 | PIC24FJ128GA110 | PIC24FJ128GB106 | PIC24FJ128GB108 | PIC24FJ128GB110 | ||||
| PIC24FJ16GA002 | PIC24FJ16GA004 | PIC24FJ192GA106 | PIC24FJ192GA108 | PIC24FJ192GA110 | ||||
| PIC24FJ192GB106 | PIC24FJ192GB108 | PIC24FJ192GB110 | PIC24FJ256GA106 | PIC24FJ256GA108 | ||||
| PIC24FJ256GA110 | PIC24FJ256GB106 | PIC24FJ256GB108 | PIC24FJ256GB110 | PIC24FJ32GA002 | ||||
| PIC24FJ32GA004 | PIC24FJ32GA102 | PIC24FJ32GA104 | PIC24FJ32GB002 | PIC24FJ32GB004 | ||||
| PIC24FJ48GA002 | PIC24FJ48GA004 | PIC24FJ64GA002 | PIC24FJ64GA004 | PIC24FJ64GA006 | ||||
| PIC24FJ64GA008 | PIC24FJ64GA010 | PIC24FJ64GA102 | PIC24FJ64GA104 | PIC24FJ64GB002 | ||||
| PIC24FJ64GB004 | PIC24FJ64GB106 | PIC24FJ64GB108 | PIC24FJ64GB110 | PIC24FJ96GA006 | ||||
| PIC24FJ96GA008 | PIC24FJ96GA010 | |||||||
| PIC24HJ Microcontroller Family | ||||||||
| PIC24HJ128GP202 | PIC24HJ128GP204 | PIC24HJ128GP206 | PIC24HJ128GP206A | PIC24HJ128GP210 | ||||
| PIC24HJ128GP210A | PIC24HJ128GP306 | PIC24HJ128GP306A | PIC24HJ128GP310 | PIC24HJ128GP310A | ||||
| PIC24HJ128GP502 | PIC24HJ128GP504 | PIC24HJ128GP506 | PIC24HJ128GP506A | PIC24HJ128GP510 | ||||
| PIC24HJ128GP510A | PIC24HJ12GP201 | PIC24HJ12GP202 | PIC24HJ16GP304 | PIC24HJ256GP206 | ||||
| PIC24HJ256GP206A | PIC24HJ256GP210 | PIC24HJ256GP210A | PIC24HJ256GP610 | PIC24HJ256GP610A | ||||
| PIC24HJ32GP202 | PIC24HJ32GP204 | PIC24HJ32GP302 | PIC24HJ32GP304 | PIC24HJ64GP202 | ||||
| PIC24HJ64GP204 | PIC24HJ64GP206 | PIC24HJ64GP206A | PIC24HJ64GP210 | PIC24HJ64GP210A | ||||
| PIC24HJ64GP502 | PIC24HJ64GP504 | PIC24HJ64GP506 | PIC24HJ64GP506A | PIC24HJ64GP510 | ||||
| PIC24HJ64GP510A | ||||||||
| dsPIC33FJ Microcontroller Family | ||||||||
| dsPIC33FJ06GS101 | dsPIC33FJ06GS102 | dsPIC33FJ06GS202 | dsPIC33FJ128GP202 | dsPIC33FJ128GP204 | ||||
| dsPIC33FJ128GP206 | dsPIC33FJ128GP206A | dsPIC33FJ128GP306 | dsPIC33FJ128GP306A | dsPIC33FJ128GP310 | ||||
| dsPIC33FJ128GP310A | dsPIC33FJ128GP706 | dsPIC33FJ128GP706A | dsPIC33FJ128GP708 | dsPIC33FJ128GP708A | ||||
| dsPIC33FJ128GP710 | dsPIC33FJ128GP710A | dsPIC33FJ128GP802 | dsPIC33FJ128GP804 | dsPIC33FJ128MC202 | ||||
| dsPIC33FJ128MC204 | dsPIC33FJ128MC506 | dsPIC33FJ128MC506A | dsPIC33FJ128MC510 | dsPIC33FJ128MC510A | ||||
| dsPIC33FJ128MC706 | dsPIC33FJ128MC706A | dsPIC33FJ128MC708 | dsPIC33FJ128MC708A | dsPIC33FJ128MC710 | ||||
| dsPIC33FJ128MC710A | dsPIC33FJ128MC802 | dsPIC33FJ128MC804 | dsPIC33FJ12GP201 | dsPIC33FJ12GP202 | ||||
| dsPIC33FJ12MC201 | dsPIC33FJ12MC202 | dsPIC33FJ16GP304 | dsPIC33FJ16GS402 | dsPIC33FJ16GS404 | ||||
| dsPIC33FJ16GS502 | dsPIC33FJ16GS504 | dsPIC33FJ16MC304 | dsPIC33FJ256GP506 | dsPIC33FJ256GP506A | ||||
| dsPIC33FJ256GP510 | dsPIC33FJ256GP510A | dsPIC33FJ256GP710 | dsPIC33FJ256GP710A | dsPIC33FJ256MC510 | ||||
| dsPIC33FJ256MC510A | dsPIC33FJ256MC710 | dsPIC33FJ256MC710A | dsPIC33FJ32GP202 | dsPIC33FJ32GP204 | ||||
| dsPIC33FJ32GP302 | dsPIC33FJ32GP304 | dsPIC33FJ32MC202 | dsPIC33FJ32MC204 | dsPIC33FJ32MC302 | ||||
| dsPIC33FJ32MC304 | dsPIC33FJ64GP202 | dsPIC33FJ64GP204 | dsPIC33FJ64GP206 | dsPIC33FJ64GP206A | ||||
| dsPIC33FJ64GP306 | dsPIC33FJ64GP306A | dsPIC33FJ64GP310 | dsPIC33FJ64GP310A | dsPIC33FJ64GP706 | ||||
| dsPIC33FJ64GP706A | dsPIC33FJ64GP708 | dsPIC33FJ64GP708A | dsPIC33FJ64GP710 | dsPIC33FJ64GP710A | ||||
| dsPIC33FJ64GP802 | dsPIC33FJ64GP804 | dsPIC33FJ64MC202 | dsPIC33FJ64MC204 | dsPIC33FJ64MC506 | ||||
| dsPIC33FJ64MC506A | dsPIC33FJ64MC508 | dsPIC33FJ64MC508A | dsPIC33FJ64MC510 | dsPIC33FJ64MC510A | ||||
| dsPIC33FJ64MC706 | dsPIC33FJ64MC706A | dsPIC33FJ64MC710 | dsPIC33FJ64MC710A | dsPIC33FJ64MC802 | ||||
| dsPIC33FJ64MC804 | ||||||||
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. You just need 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 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 you to search and find routines just 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 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 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 used to perform a task and reuse them later when and if 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 application using a hardware tool such as mikroICD (In-Circuit Debbuger) that executes program 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. You just need to set a breakpoint 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 occurred. Stopwatch measures the execution time (number of cycles) from the moment 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 Size, Functions Sorted By Name Chart, Functions Sorted By Size Chart, Functions Sorted By Addresses Chart, Function Tree and Memory Summary.
mikroPascal for PRO for dsPIC30/33 and PIC24 includes a lot of 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 a tool for RS232 communication - baud rate control, RTS and DTR commands, etc.
UDP Communication Terminal is a tool for Ethernet UDP communication used 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 dsPIC30/33 and PIC24 2010 includes LCD Custom Character. Output is mikroPascal compatible code.
Filter designer is a tool for designing FIR and IIR filters. It features a user-friendly visual interface for setting filter parameters.
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 mikroPascal with one of our dsPIC30 or dsPIC33/PIC24 development boards at 25% discount on compiler price! All of our previous customers are entitled to the discount!