Pic Controllers
Pic Controllers
MPMC
TYPES OF MICROCONTROLLERS
• INTEL 8051
• ARM PROCESSORS (FROM MANY VENDORS) USING ARM7 OR CORTEX-M3 CORES ARE GENERALLY MICROCONTROLLERS
• POWERPC ISE
• TEXAS INSTRUMENTS MICROCONTROLLER MSP 430 (16-BIT), C2000 (32-BIT), AND STELLARIS (32-BIT)
• THE F IN A NAME GENERALLY INDICATES THE PICMICRO USES FLASH MEMORY AND CAN BE ERASED
ELECTRONICALLY.
• THE C GENERALLY MEANS IT CAN ONLY BE ERASED BY EXPOSING THE DIE TO ULTRAVIOLET LIGHT (WHICH IS
ONLY POSSIBLE IF A WINDOWED PACKAGE STYLE IS USED).
• AN EXCEPTION TO THIS RULE IS THE PIC16C84 WHICH USES EEPROM AND IS THEREFORE ELECTRICALLY
ERASABLE.
POPULARITY OF PIC16F877A
• CHEAP, VERY EASY TO BE ASSEMBLED, THE ADDITIONAL COMPONENTS NEEDED TO MAKE THIS
IC WORK IS JUST A 5V POWER SUPPLY ADAPTER, A 20MHZ CRYSTAL OSCILLATOR AND 2
UNITS OF 22PF CAPACITORS.
• THIS IC CAN BE REPROGRAMMED AND ERASED UP TO 10,000 TIMES.
• THEREFORE IT IS VERY GOOD FOR NEW PRODUCT DEVELOPMENT PHASE.
• BUT THIS IC HAS NO INTERNAL OSCILLATOR SO YOU WILL NEED AN EXTERNAL CRYSTAL OF
OTHER CLOCK SOURCE.
PIN DIAGRAM
Quad Flat Package (QFP)
• DATA MEMORY
• THIS IS RAM MEMORY TYPE, WHICH CONTAINS A SPECIAL REGISTERS LIKE SFR (SPECIAL FUNCTION REGISTER) AND GPR
(GENERAL PURPOSE REGISTER).
• THE VARIABLES THAT WE STORE IN THE DATA MEMORY DURING THE PROGRAM ARE DELETED AFTER WE TURN OFF THE
MC.
• DBUS IS 8 BIT WIDE (000-1FFH)
DATA
PROGRAM MEMORY
PROCESSOR
MEMORY (SFR, W,
Instruction Data read/ write GPR)
DATA MEMORY (RAM)
• MEMORY STORAGE FOR VARIABLES
• DATA MEMORY IS ALSO KNOWN AS REGISTER FILE AND CONSISTS OF TWO COMPONENTS.
• GENERAL PURPOSE REGISTER FILE (SAME AS RAM).
• SPECIAL PURPOSE REGISTER FILE (SIMILAR TO SFR IN 8051).
• ADDRESSES RANGE FROM 0 TO 511 AND PARTITIONED INTO 4 BANKS
• EACH BANK EXTENDS UP TO 7FH (128 BYTES).
• THE USER CAN ONLY ACCESS A RAM BYTE IN A SET OF 4 BANKS AND ONLY ONE BANK AT A TIME.
• THE DEFAULT BANK IS BANK0.
• TO ACCESS A REGISTER THAT IS LOCATED IN ANOTHER BANK, ONE SHOULD ACCESS IT INSIDE THE
PROGRAM.
• THERE ARE SPECIAL REGISTERS WHICH CAN BE ACCESSED FROM ANY BANK, SUCH AS STATUS
REGISTER.
PIC16F877 REGISTERS
•W
• PC
• PCL
• PCLATH
• STATUS
• FSR
W REGISTER
• PCLATH REGISTER
• (PROGRAM COUNTER LATCH) PCLATH IS A 8-BIT REGISTER WHICH CAN BE USED TO DECIDE THE UPPER 5-BITS OF THE PC.
• PCLATH IS NOT THE UPPER 5BITS OF THE PC.
• PCLATH CAN BE READ FROM OR WRITTEN TO WITHOUT AFFECTING THE PC.
• THE UPPER 3 BITS OF PCLATH REMAIN ZERO AND THEY SERVE NO PURPOSE.
• WHEN PCL IS WRITTEN TO, THE LOWER 5BITS OF PCLATH ARE AUTOMATICALLY LOADED TO THE UPPER 5BITS OF THE PC.
• **PCH IS WRITTEN INDIRECTLY FROM PCLATH. LOWER 5 BITS OF PCLATH IS COPIED INTO PCH WHEN PCL IS LOADED
WITH ANY VALUE (8 BIT) TO GENERATE THE COMPLETE 13 BIT ADDRESS.
• IN MOST CASES, THIS REGISTER IS USED TO SWITCH BETWEEN THE BANKS (REGISTER BANK SELECT), BUT ALSO HAS OTHER CAPABILITIES.
• IRP - REGISTER BANK SELECT BIT. IPR=0 BANK 0, 1 ( INDIRECT ADDRESS 000H TO 0FF H); IPR=1= BANK 2, 3 ( INDIRECT ADDRESS 100H TO 1FF H);
• Z: ZERO BIT 1 0 2
• DC: DIGIT CARRY/BORROW BIT
1 1 3
• C: CARRY/BORROW BIT
FSR
• FSR REGISTER (FILE SELECTION REGISTER)
• IT IS AN 8-BIT REGISTER USED AS DATA MEMORY ADDRESS POINTER.
• THIS IS USED IN INDIRECT ADDRESSING MODE TO ACCESS GPR/ SFR
• SYNCHRONOUS COMMUNICATION:
• SPI = SERIAL PERIPHERAL INTERFACE
• I2C = INTER IC
CAPTURE, COMPARE, PWM (CCP) MODULES
• 14 INTERRUPT SOURCES
• INTCON (INTERRUPT CONTROL) REGISTER HOLDS INTERRUPT ENABLE BITS.
• ONLY 1 INTERRUPT VECTOR ADDRESS- 0004H
WATCH DOG TIMER