Sei sulla pagina 1di 40

PIC MICROCONTROLLER

(14 ELU 21)

Unit – I
Origin of PIC Micro

Introduction to PIC micro – Origin of PIC micro –


PIC micro family – RISC concepts – Hardware
Description of PIC micro over other micro
controllers.
INTRODUCTION
1. The simplest computer processor is used as the “brain” of
the future system.

2. Depending on the taste of the manufacturer, a bit of memory,


a few A/D converters, timers, input/output lines etc. are
added

3. All that is placed in some of the standard packages.

4. A simple software able to control it all and which everyone


can easily learn about has been developed.
Microprocessor Vs Microcontroller

• Microprocessor - General-purpose microprocessors such as


intel’s X86 family (8086,80286,80386 and the Pentium) or
Motorola’s PowerPC family.

• No RAM, ROM and no I/O ports on the chip itself.

• Commonly referred to as general – purpose microcontrollers


Microcontroller
• It has a CPU in addition to a fixed amount of RAM, ROM
and I/O ports and Timer are all on a single chip.
ORIGIN OF PIC MICRO

• PIC – Peripheral Interface Controller has been coined by


microchip technology in 1989.

• It is a 8-bit microcontroller

• Motorola has been a leader in the 8-bit market with its


MC68HC05 and MC68HC11

• This syllabus focused on PIC 16F877


Wide popularity of these controller has following factors.

• Speed – PIC executes its instruction on 0.2 µs.

• Instruction set simplicity - 35 instruction.

• Integration of operational features – power-on reset, brown


out protection and watchdog timer

• Programmable timer option – 3 timers

• Interrupt control – up to 12 independent interrupt source.

• I/O port
PIC MICRO FAMILY
• PIC microcontroller program ROM

• PIC microcontroller with UV-EPROM

• PIC 18Fxxx with flash

• OTP version of the PIC

• Masked version of PIC

• PIC microcontroller data RAM and EEPROM

• PIC microcontroller I/O pins

• PIC microcontroller peripherals


RISC CONCEPTS

• To increase the processing power of the CPU

1. Increase the clock frequency of the chip.

2. Use Harvard architecture by increasing the no. of buses to


bring more information into the CPU.

3. Change the internal structure of the CPU and use what is


called RISC architecture.
RISC ARCHITECTURE
• Some of the instructions performed complex task.

• Some microprocessor used large no. of instruction and


many of them performed highly complex activities.

• These can be known as CISC (Complex instruction set


computer)

• Many of these complex instructions etched into the brain of


the CPU were never used by programmers and compilers.

• Thereby RISC concepts were developed


Features of RISC

• RISC processors have a fixed instruction size. Instruction


can be 1,2 or even 3 bytes

• It has large no. of registers. All arch have at least 32 reg.

• It have a small instruction set such as ADD, SUB, AND,


OR, CALL.

• 95% of instruction are executed with only one clock cycle.

• RISC processors have separate buses for data and code.


Programming Language
– The lowest-level language is called
Machine languages. It means those
languages which are closer to the
understanding of machine rather than
human beings. A machine language
thus comprises a string of binary O’s
and 1’s.

– Machine language is actually a coded


set of instructions for a particular
CPU (Central Processing Unit), and it
is also known as a machine code.

– A machine language is designed to be


used by a computer without the need
of translation.
Machine Language
• Disadvantage :
1. It is a machine dependent programming language.
Machine dependent means the program designed in one
type of machine or computer could not be run on other
type of computer or machine. So programs designed in
the machine language in one computer are not easily
portable to other computers.

2. It is a very difficult language to understand and learn.


If there is any problem in the program, written in machine
language, then it is very difficult to find out the correct
mistake.
Assembly language
• Assembly language is one level above the machine language.
(Both Machine and Assembly language are considered low-
level language)

• It uses certain predefined symbolic codes instead of binary


codes. These symbolic codes are called mnemonics.

• Assembly language programs are translated into machine


language by a program called an assembler.

Assembler
Process
High-level language
• High-Level Language overcomes the limitation of writing a
program in Machine and Assembly language as it is difficult
and time consuming.

• In High-Level Language, the programs can be written using


simple English words. Examples of High-Level Language are
BASIC, Fortran, COBOL, C, C++.

• Programs written in high-level languages are translated into


machine language by a compiler.
PIC Assembly Code
 Consists of 4 fields: 3
operand
1 2 4

f = Source : name of special-purpose register or RAM variable


F(W) = Destination :
F – destination is f
W – destination is Working Register
Assembler directives
File extensions
LABEL
• A label is used to represent a line or group of code, or a
constant value. It is needed for branching instructions.

• Labels should start in column 1. They may be followed by a


colon (:), space, tab or the end of line.

• Example:
Here NOP
GOTO Here
Opcode
• This field consists of a symbolic operation code, known as
op-code.

• The opcode describes the operation.

• Symbolic op-codes (known as mnemonic) are translated


into machine language opcode.

• Mnemonics are not case sensitive.

• Example: BSF (Bit Set f)


CLRW (Clear W)
Operand Field
• Operands give information to the instruction on the data that
should be used and the storage location for the instruction.

• Operands must be separated from mnemonics by one or more


spaces, or tabs.

• It may has one, two or no operands at all. Multiple operands


must be separated by commas.

• Examples of instructions with different operand fields


NOP ; Instruction with no operand
ANDLW 0x34 ; Instruction with one operand
ADDWF FSR,1 ; Instruction with two operand
Comment Field
• Comments are text explaining the operation of a line or lines of
code.

• A semicolon (;) marks the beginning of a comment

• Example:

;Statement line with a comment field

BSF PortA,0 ;set pin 0 of PortA


PIC16F877A Instruction set
• Each microcontroller family has its own set of instructions,
which carry out essentially the same set of operations, but
using different syntax.

• The PIC16F877 only has 35 instructions. Each instruction is


14-bit words.

• This instruction set organized by functional groups is listed in


Table 1.
Instruction Type PIC instruction set by functional
Definition Examplesgroups
MOVE The contents of a register are MOVF, MOVWF,
copied to another. MOVLW
REGISTER Register operations affect only CLRW, CLRF, DECF,
a single register, and all except INCF, SWAPF, COMF,
CLRW (clear W) operate on file RLF, RRF, BCF, BSF
registers.
ARITHMETIC Addition and subtraction in ADDWF, ADDLW,
binary gives the same result as SUBWF, SUBLW
in decimal or hex. .
LOGIC Logic operations are carried out ANDWF, ANDLW,
on bit pairs in two numbers to IORWF, IORLW, XORWF,
give the result which would be XORLW
obtained if they were fed to the
corresponding logic gate
TEST, SKIP & make decisions (conditional BTFSC, BTFSS, DECFSZ,
JUMP program branches) which INCFSZ, GOTO, CALL,
depend on some input condition RETURN, RETLW, RETFIE
or the result of a calculation
CONTROL NOP, SLEEP, CLRWDT
PIC16F877A Instruction set
• Some instructions with alternate result destinations. The default
destination for the result of an operation is the file register, but the
working register W is sometimes an option.

• There are three basic categories:


– Byte-Oriented Instruction:
• F: File Register (or RAM)
• D: Destination
– D=0: Destination  W
– D=1: Destination  File Register
– Bit-Oriented Instruction:
• F: Register File where the Bit is located
• B: Bit Field
– Literal and Control Operation:
• K: 8-bit constant
ADDWF

Potrebbero piacerti anche