PIC Microcontroller Basics Tutorial

PIC Microcontroller Basics Introduction:

If you want to do projects based on microcontroller, first you should be familiar with the basics of the microcontroller. In this post we will see the PIC Microcontroller Basics.

What is meant by Microcontroller?
A microcontroller is a single chip microcomputer which is specifically designed for control rather than general purpose applications. They are used to execute particular control requirement like controlling a motor drive.

Introduction to PIC microcontrollers:
A PIC microcontroller is a general purpose microcontroller device that is generally used in stand-alone application to perform simple logic, timing and input/output control. It provides flexible low-cost solution.


  • PIC microcontrollers are based on RISC (Reduced Instruction Set Computer) architecture.
  • So they use relatively small number of instructions.
  • Some of PIC microcontrollers have less than 33 instructions ( Remember that general purpose microprocessors like Z80 have several hundred instructions).
  • An another feature of PIC microcontroller is they use Harvard architecture.
  • It means that they contain completely separate memory and buses for program instructions and data memory.
  • The program memory may be ROM, Flash (EPROM), but he data memory must be RAM (Read/Write) memory only.
  • All family of PIC microcontrollers are all based on an 8-bit data bus, so they can only operate on 8-bits of data at a time.

How to Choose PIC microcontroller for a particular project?


What are the factors we have to consider for choosing PIC device?
While choosing a PIC microcontroller for a particular project, we have to ensure that the device incorporates all of the peripheral I/O facilities that we need. Some of facilities are,

  1. Analogue to digital converters
  2. Digital to analogue converters
  3. voltage references
  4. Bus and communication interfaces like I2C, CAN, USB, RS232/RS485 etc.
  5. Capture/compare facilities
  6. Display peripheral interfaces such as LCD or LED drivers
  7. Pulse Width Modulators (PWMs)
  8. Oscillators
  9. Temperature sensors
  10. Low voltage detectors
  11. Brown out detectors
  12. Analogue comparators and operational amplifiers

Comparison of some popular PIC families are given below


PIC Family Characteristics
PIC10F The PIC10F range features just a few 6/8-pin microcontrollers. These chips are supplied in DIP packages.
PIC12F The PIC12F devices are all 8-pin devices featuring six digital I/O lines and differ in the amount of program and data memory that they provide. The examples are PIC12F629, PIC12F675 and PIC12F683. The PIC12F683 also provides analogue input.
PIC16F The PIC16F family is very large and includes devices in 14-, 18-, 28- and 40-pin packages. The chips vary in terms of the amount of memory they provide and also in their I/O features. The PIC16F877A is a powerful 40-pin device that has become extremely popular.
The PIC16F877A features 8192 × 14-bit Flash program memory, 368 bytes of RAM data memory, 256 bytes of EEPROM data memory, 33 digital I/O lines, eight 10-bit A/D channels, three counter/timers and a serial port (USART).
PIC18F  The PIC18F devices form the new high-end range.
The prime feature is that their instruction set is optimized for C compilers. Other important features are like large amounts of memory and special I/O features including Universal Serial Bus (USB) and Controller Area Network (CAN) interfaces.
In this family one interesting device is the 40-pin PIC18F452, which is similar in many respects and pin-compatible with the PIC16F877A.
Some PIC18F devices are supplied in 80-pin packages and provide more than 70 digital I/O lines. But they are available in SMD packages so difficult to use in our breadboard based projects

 You may also like to read:

Microcontroller Viva Questions and Answers
Hall Effect Sensors Basics Tutorial
Simple 555 timer based DIY Projects

Thanks for reading...

Please subscribe to get more updates to your mail ID...

You may also like...

Leave a Reply

Your email address will not be published. Required fields are marked *