PIC is a Peripheral Interface Microcontroller
which was developed in the year 1993 by the General Instruments
Microcontrollers. It is controlled by software and programmed in such a
way that it performs different tasks and controls a generation line. PIC
microcontrollers are used in different new applications such as smart
phones, audio accessories and advanced medical devices.
There
are many PICs available in the market ranging from PIC16F84 to PIC16C84.
These types of PICs are affordable flash PICs. Microchip has recently
introduced flash chips with different types, such as 16F628, 16F877 and
18F452. The 16F877 costs twice the price of the old 16F84, but it is
eight times more than the code size, with more RAM and much more I/O
pins, a UART, A/D converter and a lot more features.
PIC Microcontrollers Architecture
The PIC microcontroller
is based on RISC architecture. Its memory architecture follows the
Harvard pattern of separate memories for program and data, with separate
buses.
1. Memory Structure
The PIC architecture consists of two memories: Program memory and the Data memory.
Program Memory: This is
a 4K*14 memory space. It is used to store 13-bit instructions, or the
program code. The program memory data is accessed by the program counter
register that holds the address of the program memory. The address
0000H is used as reset memory space and 0004H is used as interrupt
memory space.
Data Memory: The data
memory consists of the 368 bytes of RAM and 256 bytes of EEPROM. The 368
bytes of RAM consists of multiple banks. Each bank consists of general
purpose registers and special function registers.
The special function registers consists of control registers to control different operations of the chip resources like Timers, Analog to Digital Converters,
Serial ports, I/O ports, etc. For example, the TRISA register whose
bits can be changed to alter the input or output operations of the port
A.
The general purpose registers consists
of registers that are used to store temporary data and processing
results of the data. These general purpose registers are each 8-bit
registers.
Working Register: It consists of a memory space that stores the operands for each instruction. It also stores the results of each execution.
Status Register: The
bits of the status register denote the status of the ALU (arithmetic
logic unit) after every execution of the instruction. It is also used to
select any one of the 4 banks of the RAM.
File Selection Register:
It acts as a pointer to any other general-purpose register. It consists
of a register file address, and it is used in indirect addressing.
Another general purpose register is the
program-counter register, which is a 13-bit register. The 5 upper bits
are used as PCLATH (Program Counter Latch) to independently function as
any other register, and the lower 8-bits are used as the program counter
bits. The program counter acts as a pointer to the instructions stored
in the program memory.
EEPROM: It consists of
256 bytes of memory space. It is a permanent memory like ROM, but its
contents can be erased and changed during the operation of the
microcontroller. The contents into EEPROM can be read from or written
to, using special function registers like EECON1, EECON2, EEDATA, etc.
2. I/O Ports
PIC16 series consists of five ports, such as Port A, Port B, Port C, Port D and Port E.
Port A: It is a 16-bit port, which can be used as input or output port based on the status of the TRISA register.
Port B: It is an 8-bit
port, which can be used as both input and output port. 4 of its bits
when used as input can be changed upon interrupt signals.
Port C: It is an 8-bit port whose operation (input or output) is determined by the status of the TRISC register.
Port D: It is an 8-bit port, which apart from being an I/O port, acts as a slave port for connection to the microprocessor bus.
Port E: It is a 3-bit port that serves the additional function of the control signals to the A/D converter.
3. Timers
PIC microcontrollers consist of 3 timers, out of which the Timer 0 and Timer 2 are 8-bit timers and the Time-1 is a 16-bit timer, which can also be used as a counter.
4. A/D Converter
The PIC Microcontroller consists of 8-channels, 10-bit Analog to Digital Converter. The operation of the A/D converter is
controlled by these special function registers: ADCON0 and ADCON1. The
lower bits of the converter are stored in ADRESL (8 bits), and the upper
bits are stored in the ADRESH register. It requires an analog reference
voltage of 5V for its operation.
5. Oscillators
Oscillators are
used for timing generation. PIC microcontrollers consist of external
oscillators like crystals or RC oscillators. In case of crystal
oscillators, the crystal is connected between two oscillator pins, and
the value of the capacitor connected to each pin determines the mode of
operation of the oscillator. The different modes are low-power mode,
crystal mode and the high- speed mode. In case of RC oscillators, the
value of the Resistor and Capacitor determine the clock frequency. The
clock frequency ranges from 30 KHz to 4 MHz.
6. CCP module:
A CCP module works in the following three modes:
Capture Mode: This mode
captures the time of arrival of a signal, or in other words, captures
the value of the Timer1 when the CCP pin goes high.
Compare Mode: It acts as an analog comparator that generates an output when the timer1 value reaches a certain reference value.
PWM Mode: It provides pulse width modulated output with a 10-bit resolution and programmable duty cycle.
Other special peripherals include a
Watchdog timer that resets the microcontroller in case of any software
malfunction and a Brown out reset that resets the microcontroller in
case of any power fluctuation and others. For better understanding of
this PIC microcontroller we are giving one practical project which uses
this controller for its operation.
Street Light that Glows on Detecting Vehicle Movement
This LED street light control project
is designed to detect the vehicle movement on highway to switch on a
block of street lights ahead of it, and to switch off the trailing
lights to save energy. In this project, a PIC microcontroller
programming is done by using embedded C or assembly language.
The power supply circuit gives the power
to a whole circuit by stepping down, rectifying, filtering and
regulating AC mains supply. When there are no vehicles on highway, all
the lights remain off so that the power can be saved. The IR Sensors are
placed on either side of the road as they sense vehicles’ movement and
in turn send the commands to the microcontroller to
switch on or off the LEDs. A block of LEDs will be on when a vehicle
approaches near it and once the vehicle passes away from this route, the
intensity becomes low or completely switched off.
The PIC microcontroller projects
can be used in different applications, such as video games’
peripherals, audio accessories, etc. Apart from this, for any help
regarding any projects, you can contact us by commenting in the comment
section.
No comments:
Post a Comment