PIC Example Projects Using Mikropascal

PIC16F1455/  512May 18 06:33:25 2017
PIC16F1615/  512Mar 17 09:15:29 2018
PIC_Clicker/  512Mar 23 08:16:31 2017
README.txt  2582Mar 24 01:17:30 2017
common/  512Sep 17 11:38:15 2018
include/  512Mar 8 04:50:21 2018

PIC Microcontrollers: A Revolting Architecture

The Microchip PIC microcontroller family has a revolting architecture, with only a single accumulator register, register bank switching, and an inefficient stack implementation. My impressions were formed years ago in assembly language days, but it is still a revolting architecture for C programs, too.

I also find the Microchip development software to be expensive, bloated, and hard to use.

Despite all of the complaints above, there is something weirdly compelling about a microcontroller like the PIC16F1455 that comes in a 14-pin DIP package, has a USB device interface, requires no external components except one bypass capacitor, and sells for a little over $1 USD.

Microchip continues to sell many interesting PIC microcontrollers in DIP packages. Such devices are easy to prototype with using solderless breadboards, if you can stand to write the software for them. They are also very easy to buy in small quantities from Microchip Direct.

mikroPascal for PIC

The Mikroelektronika mikroPascal for PIC Pascal compiler makes working with PIC devices bearable. The compiler hides almost all of the ugliness of the PIC architecture.

Furthermore, mikroPascal has a very extensive software component library for the PIC, ranging from trigonometry functions to USB HID device support. I am convinced that the true value of a microcontroller development environment lies in the richness of its software component libraries more than any other factor. In this regard, mikroPascal for PIC excels and is worth every penny of its $249 USD price (which includes lifetime updates).

Questions or comments to Philip Munts phil@munts.net

I am available for custom system development (hardware and software) of products using PIC or other (please!) microcontrollers.