Portable PIC programmers allow engineers, developers and technicians to work much faster and with minimal difficulty. They can be pre-programmed with various different programs via a PC, then uploaded to a PIC microcontroller by simply plugging in and selecting the right one.
Microchip PIC microcontrollers come in a wide variety of types from very old PIC16C family through to the latest PIC16F and PIC18F devices, with several other less common types as well. Apart from some very old chips, they are all In Circuit Serial Programmable, which means that they can be programmed in circuit using a PIC ICSP programmer.
The PIC16F877A (and earlier PIC16F877) are microntrollers supplied by Microchip. It is just one device among many PIC microcontrollers and it is a veteran chip compared with many others. There are lots of articles, projects and circuit diagrams available on the web that use the PIC16F877A so it seems to make sense to use it but should you still use this chip?
I am an occasional user of MPLAB because we mainly use AVR microcontrollers in our products but recently we have done a lot with PIC microcontrollers. This gave the opportunity to compare MPLAB 8.70 and MPLAB X to decide which to use in the future, so we thought we would share our findings with you.
The Microchip PIC microcontroller range looks really daunting at first, with lots of 8, 16 and 32 bit devices to choose from. This article will look at 8-bit PICs as they are adequate for most purposes and far more suited to beginners.
There are different series of 8-bit PIC microcontrollers- PIC10F, PIC12F, PIC16F and PIC18F, all with different features and price bands. The PIC10F and PIC12F are the cheapest and generally have less memory, smaller pin counts and less peripherals.
Most of us have PIC programmers for development, such as Microchip IDC2 or a PIC ICSP programmer such as PRESTO, which are very good at what they do. But they are not ideal for either production or field updates, because they require too much knowledge to use or need a laptop to be used in a challenging environment.
So what are the alternatives?
Continue reading “Portable PIC Programmers” »
PIC microcontrollers, like most modern microcontrollers, can be programmed in system (or in circuit – ICSP) rather than in a socket programmer. This has advantages in development and in production, for example, to use different firmware for different versions or to speed up production. The major benefit though is field upgrades. We can give you lots of horror stories about people who didn’t think of firmware upgrades and had to recall products to fix a bug, not a cheap option. So how do you add In System Programming to your designs?
Continue reading “PIC In-system Programming” »
The major factors are the electronic design of the ICSP circuit and the ICSP connector format. Let’s look at the connector format first. Most Microchip development boards (and ICD2/3 debuggers) use RJ11 connector by default, but this is a poor choice for field or production use.
Microchip have scored a winner over Atmel AVR by including all the information required to program a PIC microcontroller in one Hex file. This includes code, EEPROM data, User bytes (User ID) and most importantly, configuration words.
This makes it much easier to transfer the project from development to production or between engineers, as all the information needed is in one file. Atmel, now they have been taken over by Microchip have belatedly added an ELF production file format that can do the same thing. See this post for details – Producing AVR and ATxmega ELF production files So, what is this PIC file format?
PIC microcontrollers are manufactured by Microchip
They cover a huge range of devices, from tiny 8-bit microcontrollers to 32-bit advanced PIC32 devices. All PIC microcontrollers use Harvard architecture, which means that they have separate buses for data and instructions. If a device is called an 8-bit microcontroller, this means that its data bus is 8-bit, a 16-bit device has a 16-bit data bus and, guess what, a 32-bit microcontroller has an 32-bit data bus.
Continue reading “PIC Microcontroller” »