PIC16F886 8 Bit Microcontroller in Pakistan

Category:

575.00

Description

PIC16F886 8 Bit Microcontroller is a microcontroller good for experimenting and developing applications because it has a high flash memory rewrite cycle. Also, there are a lot of tutorials and support available online. The controller has 16KBytes flash memory which is enough for many applications. Along with 24 programmable Input/output pins that are developed to handle 20mA current (direct LED driving capability) the system can interface many peripherals easily. With Watchdog timer to reset under error automatically, the controller can be used to develop applications of permanent installation.

PIC16F886 Pinout

PIC16F886 Pin Configuration

PIC16F886 is a 28 pin IC and each pin can perform multiple functions as shown in the above PIC16F886 pin diagram. The description for each of these pins is given below.

Pin NumberPin NameDescription
1RE3/MCLR/VPPRE3: Pin3 of  Port E

MCLR: Master Clear Input or Reset pin

VPP: Programming voltage

2RA0/AN0/ULPWU/C12IN0-RA0: Pin0 of Port A

AN0: Analog input 0

ULPWU: Ultra Low-Power Wake-up input

C12IN0-: Comparator C1 or C2 negative input

3RA1/AN1/C12IN1-RA1: Pin1 of Port A

AN1: Analog input 1

C12IN1-: Comparator C1 or C2 negative input

4RA2/AN2/VREF-/CVREF/C2IN+RA2: Pin2 of Port A

AN2: Analog input 2

VREF-: A/D reference voltage (low) input

CVREF: Comparator voltage reference output

C2IN+: Comparator C2 positive input

5

RA3/AN3/VREF+/C1IN+

RA3: Pin3 of Port A

AN3: Analog input 3

VREF+: A/D reference voltage (high) input

C1IN+: Comparator C1 positive input

6RA4/T0CKI/C1OUTRA4: Pin4 of Port A

T0CKI: Timer0 external clock input

C1OUT: Comparator C1 output

7RA5/AN4/SS/ C2OUTRA5: Pin5 of Port A

AN4: Analog input 4

SS: SPI slave select input

C2OUT: Comparator C2 output

8VSSGround
9RA7/OSC1/CLKINRA7: Pin7 of Port A

OSC1:Oscillator pin 1

CLKI: External clock source input

10RA6/OSC2/CLKOUTRA6: Pin6 of Port A

OSC2: Oscillator pin 2

CLKO: Clock source output

11RC0/T1OSO/T1CKIRC0: Pin0 of Port C

T1OSO :Timer1 oscillator output

T1CKI: Timer1 external clock input

12RC1/T1OSI/CCP2RC1: Pin1 of Port C

T1OSI: Timer1 oscillator input

CCP2:Capture 2 input/Compare 2 output/PWM2 output

13RC2/P1A/CCP1RC2: Pin2 of Port C

P1A: PWM output

CCP1: Capture 1 input/Compare 1 output/PWM1 output.

14RC3/SCK/SCLRC3: Pin3 of Port C

SCK: SPI clock

SCL: I2C clock

15

RC4/SDI/SDA

RC4: Pin4 of Port C

SDI: SPI data input

SDA: I2C data I/O

16RC5/SDORC5: Pin5 of Port C

SDO: SPI data out

17RC6/TX/CKRC6: Pin6 of Port C

TX: EUSART asynchronous transmit

CK: EUSART synchronous clock

18RC7/RX/DTRC7: Pin7 of Port C

RX: EUSART asynchronous receive

DT: EUSART synchronous data

19VSSGround
20VDDPositive Power Supply
21RB0/AN12/INTRB0: Pin0 of Port B

AN12: Analog input 12

INT: External interrupt

22RB1/AN10/P1C/C12IN3-RB1: Pin1 of Port B

AN10: Analog input 10

P1W: PWM output

C12IN3-: Comparator C1 or C2 negative input

23RB2/AN8/P1BRB2: Pin2 of Port B

AN8: Analog input 8

P1B: PWM output

24RB3/AN9/PGM/C12IN2-RB3: Pin3 of Port B

AN9: Analog input 9

PGM: Low-voltage ICSP Programming enable pin

C12IN2-: Comparator C1 or C2 negative input

25RB4/AN11/P1DRB4: Pin4 of Port B

AN11: Analog input 11

P1D: PWM output

26RB5/AN13/T1GRB5 Pin5 of Port B

AN13: Analog input 13

T1G: Timer1 Gate input

27RB6/ICSPCLKRB6: Pin6 of Port B

ICSPCLK: Serial Programming Clock

28RB7/ICSPDATRB7: Pin7 of Port B

ICSPDAT: ICSP Data I/O

 

PIC16F886 Features

CPU8-bit
Total pins28
Programmable pins24
Communication InterfaceSPI Serial Interface(7,14,15,16 PINS) [Can be used for programming this controller]

UART Interface(17,18 PINS) [Can be used for programming this controller]

Two-wire Serial Interface or I2C(14,15 PINS) [Can be used to connect sensors and LCDs]

ICSP or In-Circuit Serial Programming Interface (27,28 Pins) [Can be used for programming this controller]

ADC Feature11channels of 10-bit resolution
Timer FeatureOne 8-bit counter, Two 16-bit counter
Analog Comparators2
PWM channels4
External OscillatorUp to 20MHz
Internal Oscillator31KHz-8MHz  Internal R-C Oscillator featured with:

  • Factory calibrated to ±1%
  • Software selectable frequency range of 8 MHz to 31 kHz
  • Software tunable
  • Crystal fail detect for critical applications
  • Clock mode switching during operation for power savings
Program memory / Flash memory16Kbytes[100000 write/erase cycles]
CPU Speed 1MIPS @ 1MHz
RAM368Bytes
EEPROM256Bytes
Watchdog TimerProgrammable Watchdog Timer with separate on-chip oscillator
Power Save ModesAvailable
Operating Voltage2.0V to 5.5V
Maximum current to any I/O pinIN :25mA

OUT : 25mA

Operating Temperature-40°C to +125°C

How to Use PIC16F886 Microcontroller

Like any other microcontroller, PIC16F886 needed to be programmed before getting the chip working. So for working of PIC16F886, first we need to save the appropriate program file in the controller FLASH memory. Once power is provided, the controller executes this code saved in FLASH memory to create the response.

The entire process of programming PIC16F886 goes like this:

  • First list all the functions to be executed by this controller.
  •  Next, write these functions in ‘IDE software’ using relative programming language

(MPLAB IDE for Windows OS [www.microchip.com/mplabx-ide-windows-installer ])

C Language:

(For these MPLAB IDE you can use ‘C’ language to write the application program)

  • After writing the desired program compile it for error elimination
  • For a successful compilation IDE application generates HEX file for the written program
  • Choose the programming device (usually ‘PIC kit 3’ or ‘PIC kit 2’) which establishes communication between PC and PIC16F886
  • Connect the programming device to microcontroller appropriately
  • Run the HEX file dumping software which is related to the chosen programming device
  • Choose the appropriate program HEX file and burn this HEX file in PIC16F886 flash memory
  • Disconnect the programmer and connect the appropriate peripherals for the controller

After connecting the power, the controller executes this HEX code saved in the memory (which is written a program) and creates a response as instructed.

Applications

  • Hobbyist projects
  • Display units
  • Development board for learners
  • Analog signal measuring and manipulations
  • Embedded systems like coffee machine, vending machine
  • Motor control systems

2D Model

PIC16F886 Microcontroller Dimensions

Component Datasheet

PIC16F886 Microcontroller Datasheet

Package Includes:

1 x PIC16F886 8 Bit Microcontroller