The PIC microcontroller uses a Harvard architecture with separate program and data memories. It has a CPU with an ALU, memory unit, and control unit. The memory includes program memory to store instructions, data memory including registers for temporary data storage, and EEPROM for storing variables. It has advantages like a small instruction set, low cost, and built-in interfaces like I2C, SPI, and analog components.
ARCHITECTURE: IC Microcontrollerarchitecture is based on Harvard architecture and supports RISC architecture (Reduced Instruction Set Computer). PIC microcontroller architecture consists of memory organization (RAM, ROM, STACK), CPU, timers, counter, ADC, DAC, serial communication, CCP module and I/O ports. PIC microcontroller also supports the protocols like CAN, SPI, UART for interfacing with other peripherals.
CPU (Central ProcessingUnit): PIC microcontroller’s CPU consists of 1. Arithmetic logic unit (ALU) 2. Memory unit (MU) 3. Control unit (CU) 4. Accumulator ALU is used for arithmetic operations and for logical decisions. Memory is used for storing the instructions after processing. Control unit is used to control the internal and external peripherals which are connected to the CPU and accumulator is used for storing the results. MEMORY ORGANIZATION: PIC microcontroller memory module consists of mainly 3 types of memories: 1. Program memory 2. Data memory
5.
PROGRAM MEMORY: Itcontains the written program after we burned it in microcontroller. Program Counter executes commands stored in the program memory, one after the other. PIC microcontroller can have 8K words x 14 bits of Flash program memory that can be electrically erased and reprogrammed. Whenever we burn program into the micro, we erase an old program and write a new one.
6.
DATA MEMORY: Itis a RAM type which is used to store the data temporarily in its registers. The RAM memory is classified into banks. Each bank extends up to 7Fh (128 bytes). Number of banks may vary depending on the microcontroller. PIC16F84 has only two banks. Banks contain Special Function Registers (SFR) and General Purpose Registers (GPR). The lower locations of each bank are reserved for the Special Function Registers and upper locations are for General Purpose Registers.
7.
General Purpose Registers(GPR): oThese registers don’t have any special function. o These are used for general purpose for multiplying, addition or subtraction and then storing the results in other registers. o CPU can easily access the data in these registers. Special Function Registers (SFR): oThese registers are used for special purposes and they cannot be used as normal registers. oTheir function is set at the time of manufacturing. o They perform the function assigned to them and user cannot change the function of SFR. o Three important SFRs for programming are: 1. STATUS register : It changes the bank 2. PORT registers : It assigns logic values 0 or 1 to the ports 3. TRIS registers : It is a data direction register for input and output
8.
DATA EEPROM: Thismemory allows storing the variables as a result of burning the written program. It is readable and writable during normal operation (over the full VDD range). This memory is not directly mapped in the register file. It is indirectly addressed through the SFRs. There are six SFRs which are used to read and write to this memory (EECON1, EECON2, EEDATA, EEDATH, EEADR, EEADRH).
9.
ADVANTAGES Small instructionset to learn. RISC architecture. Built-in oscillator with selectable speeds. Easy entry level, in-circuit programming plus in- circuit debugging PIC kit units available for less than $50. Inexpensive microcontrollers. Wide range of interfaces including I²C, SPI, USB, USART, A/D, programmable comparators, PWM, LIN, CAN, PSP, and Ethernet. Availability of processors in DIL package make them easy to handle for hobby use.