introduction to pic16f676, pic16f676 pinout, pic16f676 features, pic16f676 block diagram, pic16f676 functions, pic16f676 applicationsHi Friends! Hope you are doing well. Today, I’ll cover the details on the Introduction to PIC16F676. It is an 8-bit CMOS PIC microcontroller, based on Flash and developed by Microchip. It comes in 14-pin interface with high-performance RISC CPU that makes it an ideal choice for most of the electronic applications that are widely related to embedded systems or industrial automation. This tiny chip incorporates everything you need to develop individual student projects. Memory space and a number of pins are little less as compared to other controllers in the PIC community, however, flash-based technology makes this device compatible with external devices.

In this post, we’ll discuss each and everything related to PIC16F676, its pinout and description, main features, block diagram, memory layout and applications. Let’s dive right in and explore everything you need to know.

Introduction to PIC16F676

  • PIC16F676 is an 8-bit PIC microcontroller that comes with a 14-pin layout design. It is based on flash where high-performance CPU adds up the processing speed.
  • It comes in three packages called PDIP, SOIC, and TSSOP. All three versions are available in 14-pin configuration.
  • PIC16F676 contains program memory with memory space around 1.7 KB, while RAM and EEPROM memories are 64 bytes and 128 bytes respectively.
  • One ADC module is added in the device that is 10-bit and comes with 8 analog channels. This module plays a vital role for sensor interfacing and converting analog values to digital ones.


introduction to pic16f676, pic16f676 pinout, pic16f676 features, pic16f676 block diagram, pic16f676 functions, pic16f676 applications

  • Power on Reset, Comparator, in-circuit serial programming, and master clear reset are some other features incorporated in the device that help it stay ahead of the other onboard chips and remove the need of buying external components for carrying out different operations.

1. PIC16F676 Pinout and Description

You have got a brief overview of this controller. In this section, we will cover both pinout and pin description of each pin. Let’s start.


The following figure shows the pinout of PIC16F676

introduction to pic16f676, pic16f676 pinout, pic16f676 features, pic16f676 block diagram, pic16f676 functions, pic16f676 applications

Pin Description

Pin description will help you understand the main function associated with each pin. Following table shows the complete description of each pin.

Pin#Pin NamePin Description




Digital I/O Pin

Analog Channel 0

Comparator Input

Programming Data






Digital I/O Pin

Analog Channel 1

Comparator Input

Voltage Reference

Programmin Clock







Digital I/O Pin

Analog Channel 2

Comparator Output

Clock Input for Timer0





Digital I/O Pin

Master Clear Reset

Programming Voltage Input







Digital I/O Pin

Gate Timer1

Analog Channel 3

Crystal Oscillator Output.

In RC mode, this pin has a 1/4 frequency of OSC1






Digital I/O Pin

Clock Timer1

Crystal Oscillator Input

External Clock Input



Digital I/O Pin

Analog Channel 4



Digital I/O Pin

Analog Channel 5



Digital I/O Pin

Analog Channel 6



Digital I/O Pin

Analog Channel 7

6RC4Digital I/O Pin
5RC5Digital I/O Pin
14VSSGround Pin
1VDDVoltage Supply Pin

2. PIC16F676 Features

You have got a hold of pinout and description of each pin till now. In this section, we highlight and discuss the features of this controller that make it unique from its counterparts. The following figure shows the complete features of PIC16F676.

PIC16F676 Features
No. of Pins14
Operating Voltage2 to 5.5 V
Program Memory1.7 K
Program Memory TypeFlash
RAM64 Bytes
EEPROM128 Bytes

Number of ADC Channels



I/O Ports (2)

I/O Pins

A, C


Power Saving Mode
External Oscillatorup to 20 MHz
Timer (2)16-Bit Timer (1)

8-Bit Timer (1)

Individual Programmable Weak Pull-upsYes
EEPROM Data Retention40 Years
Watchdog TimerYes
Power on ResetYes
Master Clear ResetYes
In-Circuit Serial ProgrammingYes
Minimum Operating Temperature-40 C
Maximum Operating Temperature125 C


These features will help you pick the desired controller and assist you in making a final decision based on your project requirement.

3. PIC16F676 Functions

There are a number of functions associated with this PIC module. Following are the main functions of PIC16F676.

Master Clear Reset (MCLR)
The MCLR is an external reset for the chip that is executed by keeping this pin LOW. This pin is not dependent on the internal resets which also house the noise filter to detect and remove the small pulses in the path.

PIC16F676 comes with two timers where one is an 8-bit timer and other is 16-bit timers. They can be employed both ways i.e. as a timer as well as a counter. Both timers come with a clock select capability.

The timer mode is used to create a delay in any function while a counter is used to count the number of the internals of any function.

In-Circuit Serial Programming

In-circuit serial programming (ICSP), also called In-system programming (ISP), is added in the device that helps in programming the device after installation in a certain project. 

Watchdog Timer

The watchdog timer is a very useful function that resets the controller if the running program gets stuck in an infinite loop or software shows an invalid status.

It is very difficult to reboot the entire system in case there comes glitch, these timers save you a bunch of time and bring the system back to its initial position without human interference.

4. PIC Compiler

  • A compiler is a software used where we write a program to execute desired functions on the microcontroller. Microchip comes with its own standard compiler called MPLAB C18 Compiler. You can get this compiler online from the Official Microchip Site.
  • These Top 3 PIC C Compilers give you many options to choose from based on your requirements, however, MikroC Pro For PIC is mainly used for this purpose.
  • The code we write in the compiler creates a hex file which is then moved to the microcontroller to call and execute the desired instructions.
  • Burners are used to burn and incorporate the certain program on the controller. There are many unofficial burners available in the market but PICKit3 stay ahead in terms of ease of use and quality performance.

5. PIC16F676 Memory Layout

The memory of this controller is mainly divided into two types called

Program Memory Organization (ROM)

Data Memory Organization (RAM)

The program memory stores the program permanently and is also known as ROM or non-volatile memory. It comes with 13-bit program counter that can address 8k x 14 program memory space. The first memory space 1k x 14 covering (0000h – 03FFh) can be physically implemented. The address stored in the reset vector is loaded by the controller and stays at 000h while the interrupt vector stays at 0004h.

introduction to pic16f676, pic16f676 pinout, pic16f676 features, pic16f676 block diagram, pic16f676 functions, pic16f676 applications

The RAM memory, also known as Data or volatile memory, stores the program temporarily and depends on the source of power supply. It removes the stored program as the power supply turns off. The data memory is mainly divided into two banks that further house two types of registers called

Special Function Registers

General Purpose Registers

The first 32 locations of each bank are reserved for special function registers which are mainly used for handling and controlling the peripheral functions and are classified as “Core and Peripheral”. While general purpose registers stay at 20h-5Fh,  mapped across both banks and are implemented as static RAM.

introduction to pic16f676, pic16f676 pinout, pic16f676 features, pic16f676 block diagram, pic16f676 functions, pic16f676 applications

STATUS Register. This register is mainly used to switch between the banks and it contains

  • Reset status
  • Arithmetic status of the ALU
  • Bank select bits for data memory (SRAM)

W Register. The W register doesn’t relate to any register bank and is addressed by the program only. It is a GPR while STATUS register falls under the category of SFR.

TRISA. This register configures PORTA as an input or output. The value 0 indicates it as an input and value 0 shows output.

TRISC. This register is similar to TRISA and configures the pins as an input or output for PORTC.

6. PIC16F676 Block Diagram

Block diagram is very helpful to uncover the main functions associated with each component on the controller and how these functions are related to each other. The following figure shows the block diagram of PIC16F676.

introduction to pic16f676, pic16f676 pinout, pic16f676 features, pic16f676 block diagram, pic16f676 functions, pic16f676 applications

  • This PIC module comes with two ports called PORTA and PORTC and each port contains 6 pins. It lacks some features like USART and comes with less memory space.

7. PIC16F676 Projects and Applications

PIC microcontrollers are widely used in many electronic systems for driving automation. Following are the main application of this controller version.

  • Prototyping custom circuits
  • GPS and security systems
  • Central heating projects
  • Student projects for sensor interfacing and motor controlling
  • Used in home and industrial automation
  • Embedded system

8. Why Use PIC MicroControllers

  • PIC controllers are very helpful for carrying out automation in many electronic devices and provide easy to configure and user-friendly interface.
  • A number of functions can be done on a single chip without buying external components, that make your project highly economical, and lightweight that covers less space.
  • Some chips have a builtin ADC module that makes them an ideal choice for the projects requiring digital output as a final result.
  • All the burners and PIC compilers are easily available that help you ease the learning process.

That’s all for today. I hope you have found this article useful. If you have any question, you can approach me in the comment section below, I’d to help you in any way I can. Keep us updated with your valuable feedback and suggestion that help us provide you quality content as per your needs and requirements. Thanks for reading the article.

1 Comment

Leave a Reply

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

Post comment