Architecture: Pic 16F628A
Architecture: Pic 16F628A
Made by microchip technology-derived from pic 1650 –developed by general instruments micro
electronics divisions.
Pic-peripheral interface controller (1st)
Programmable intelligent computer (now)
Program memory and data memory are separated 8 bit, 16 bit, 32 bit
Program instructions vary in bit count by family of PIC and may be 12,14,16 (or) 24 bit long
Hardware capabilities of PIC ranges from 6-PIN SMD, 8-PIN DIP chips up to 144-PIN SMD chips
with discrete I/O pins ADC and DAC modules and communications ports such as
VART,12C,CAN,even USB
Low power and high speed variations exist for many types
Manufacture supplies computer software for development known as MPLABX, assemblers and
C/C++ compilers and programmer/debugger hardware under MPLAB and PIC kit series
PIC 16F628A
Self-contained 18-PIN PICµC, that comes with memory, processor, peripherals and mainly used
for embedded system and applications
µc’s always remain a top priority for experts where automation is main concern
Before invention of µc’ s, µp’ s were widely used for carrying out different functions related to
industrials automation and processing applications
Architecture
PIC 16F628A 18pin tiny chip that contains processors, memory, I/O pins other peripherals
and mainly used for embedded system and in applications that have a remote (or) direct
connection with automation
It is low cost, high performance, CMOS flash based 8-bit µc and is equally compatible with
PIC16F628,PIC16C5X,PIC16C62XA and PIC12CXXX devices
Pic 16F628A
128 bytes of EEPROM data memory, 4MHZ internal oscillator, VSART, two 8-bit and one
16-bit tinier, PWM, two comparators, programmable low voltage reference-suitable for
appliances ,automotive, consumer applications
PIC processor based on advanced RISC architecture and comes with 35 instruction set
i.e. simple to use and easy configure
OPERATING RANGE: 2to 5.5v
TEMPERATURE RANGE: -40 to 125´C
PROGRAMMABLE MEMORY SIZE:3.5kb and SRAM is 224 bytes
STORAGE:2048 words of program memory so maximum programme length can’t exceed
from 2048 instruction where each word defines single instruction
CLOCK CYCLES: four clock cycles for execute each instruction except jump and
conditional instruction that may require 8 clock cycle
Looking at join out of µc above, most pins left side can be used for multiple purposes,
specifying any pins for particular function rules out the of that pins for another purpose.
There are two parts knows as port A and port B
All pins are bidirectional I/O pins expect 14,5 that are supply voltage and ground pins
resp.
Pin 7,8: serials common where RX is a USRAT receiver pin –receiving serials data, TX
USRT transmit pin used for sending serials data
Pin 4:can be used in three ways MCLR (master clear ) that requires constant supply of 5v
must exceed VDD when configured as MCLR, pin behaves as active low reset to devices. Also
used as input port and programming voltage input
Pin 15,16: oscillator 2 and oscillator 1 where we can attach an external oscillator of
around 20 MHZ
Pin 16: input of crystal oscillator
Pin 15:output for the oscillator
Pin 2 and pin 3: analog comparator pins –clock input for timer 0
Pin 6: bidirectional I/O pin that can be used for an external interrupt
Pin 9: used for capture, compare and PWM and can be software programmed
Pin 10: low voltage programmed input pins /interrupt-on pins change. When low
voltage programming is configured then both weak pull-up resistor and interrupt on pin
change are disabled.
Memory layout
Each memory location is considered as register that can be accessed by its address
NOTE: Not all register are available all the time and memory is laid out in four bank that
come with 128 register and only one bank can be accessed at a given time
First 32 registers in each bank are known as special purpose register that can be used to
control the processor and I/O pins
Last 16 registers available in each bank are shared across all banks whose values can be
accessed any time without depending on specific bank being used
Single working register “W” – used to store the modified values of different functions
being used in controller
Memory capacity is less than other controller available in market, -compile a function
that requires minimum instructions and processing speed
High processing speed and more memory
PIC16F877A
Features:
Low voltage programming
Low speed clock mode
Programmable brown out reset
Power –on reset
Watching timer with an independent oscillator for reliable operation
Selectable oscillator options
Programmable code protection
Multiplied master clear/ input –pins
Industrials temperature range
High performance RISC CPU
35 single word instruction to learn
All instruction are single cycle (1µs) expect for program branches
Operate at 20mhz with external oscillator
4mhz internal oscillator –work at 48khz for power saving and debugging purpose
2kb flash RAM memory
224 byte RAM memory
128 bytes of EEPROM
In-circuit serial programming
1,000,000 write EEPROM endurance
100,000 write flash endurance
Oscillator start –up and power –up –timer
Wide operating voltage rang around 2 to 5.5v
Peripheral features:
USART (universal synchronous / asynchronous receiver/transmitter)
One16 –bit timer /counter
Two 8-bit timer /counter (TMRO,TMR2)
Capture /compare PWM (CCP) MODULE
High current source / sink for direct LED drive
Two analog comparators
Programmable weak pull-up on PORTB