0% found this document useful (0 votes)
388 views

Unit 1: 1.1 Microprocessors and Microcontrollers

Difference between micro controller and microprocessor, features and architecture of 8051 micro controller, pin diagram and internal memory organization of 8051 microcontroller.

Uploaded by

sachin tupe
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
388 views

Unit 1: 1.1 Microprocessors and Microcontrollers

Difference between micro controller and microprocessor, features and architecture of 8051 micro controller, pin diagram and internal memory organization of 8051 microcontroller.

Uploaded by

sachin tupe
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 13

Microcontroller and Applications

Unit 1
1.1 MICROPROCESSORS AND MICROCONTROLLERS
Microprocessor Microcontroller

Arithmetic and logic


ALU Timer/ IO Ports
unit
Counter
Accumulator
Accumulator Interrupt
Registers

Internal Circuits
Working Registers
Internal RAM ROM
Program Counter Stack Pointer Stack Pointer Clock

Clock Circuit Interrupt circuit Program Counter

Block diagram of microprocessor Block diagram of microcontroller

Microprocessor contains ALU, General purpose Microcontroller contains the circuitry of


registers, stack pointer, program counter, clock microprocessor, and in addition it has built in
timing circuit, interrupt circuit ROM, RAM, I/O Devices, Timers/Counters etc.

It has many instructions to move data between It has few instructions to move data between
memory and CPU memory and CPU

Few bit handling instruction It has many bit handling instructions

Less number of pins are multifunctional More number of pins are multifunctional

Single memory map for data and code Separate memory map for data and code
(program) (program)

Access time for memory and IO are more Less access time for built in memory and IO.

Microprocessor based system requires It requires less additional hardwares


additional hardware

More flexible in the design point of view Less flexible since the additional circuits which is
residing inside the microcontroller is fixed for a
particular microcontroller

Large number of instructions with flexible Limited number of instructions with few
addressing modes addressing modes

Tupe S.G Page 1


Microcontroller and Applications

1.2. RISC AND CISC CPU ARCHITECTURES


Microcontrollers with small instruction set are called reduced instruction set computer (RISC)
machines and those with complex instruction set are called complex instruction set computer
(CISC). Intel 8051 is an example of CISC machine whereas microchip PIC 18F87X is an example of
RISC machine.

RISC CISC

Instruction takes one or two cycles Instruction takes multiple cycles

Only load/store instructions are used to access In additions to load and store instructions,
memory memory access is possible with other
instructions also.

Instructions executed by hardware Instructions executed by the micro program

Fixed format instruction Variable format instructions

Few addressing modes Many addressing modes

Few instructions Complex instruction set

Most of the have multiple register banks Single register bank

Highly pipelined Less pipelined

Complexity is in the compiler Complexity in the microprogram

Tupe S.G Page 2


Microcontroller and Applications

1.2. HARVARD & VON- NEUMANN CPU ARCHITECTURE


Von-Neumann (Princeton architecture) Harvard architecture

Program Data Data


Data
Memory Memory
CPU CPU Address Bus

Data Data Program


Memory Memory
Address Bus
Address Bus

Von-Neumann (Princeton architecture) Harvard architecture

It uses single memory space for both It has separate program memory and data
instructions and data. memory

It is not possible to fetch instruction code and Instruction code and data can be fetched
data simultaneously

Execution of instruction takes more machine Execution of instruction takes less machine
cycle cycle

Uses CISC architecture Uses RISC architecture

Instruction pre-fetching is a main feature Instruction parallelism is a main feature

Also known as control flow or control driven Also known as data flow or data driven
computers computers

Simplifies the chip design because of single Chip design is complex due to separate memory
memory space space

Eg. 8085, 8086, MC6800 Eg. General purpose microcontrollers, special


DSP chips etc.

Tupe S.G Page 3


Microcontroller and Applications

1.3 COMPUTER SOFTWARE


A set of instructions written in a specific sequence for the computer to solve a specific task is called
a program and software is a collection of such programs.

The program stored in the computer memory in the form of binary numbers is called machine
instructions. The machine language program is called object code.

An assembly language is a mnemonic representation of machine language. Machine language and


assembly language are low level languages and are processor specific.

The assembly language program the programmer enters is called source code. The source code
(assembly language) is translated to object code (machine language) using assembler.

Programs can be written in high level languages such as C, C++ etc. High level language will be
converted to machine language using compiler or interpreter. Compiler reads the entire program
and translate into the object code and then it is executed by the processor. Interpreter takes one
statement of the high level language as input and translate it into object code and then executes.

1.4 THE 8051 ARCHITECTURE


Introduction

Salient features of 8051 microcontroller are given below.


 Eight bit CPU
 On chip clock oscillator
 4Kbytes of internal program memory (code memory) [ROM]
 128 bytes of internal data memory [RAM]
 64 Kbytes of external program memory address space.
 64 Kbytes of external data memory address space.
 32 bi directional I/O lines (can be used as four 8 bit ports or 32 individually addressable I/O
lines)
 Two 16 Bit Timer/Counter :T0, T1
 Full Duplex serial data receiver/transmitter
 Four Register banks with 8 registers in each bank.
 Sixteen bit Program counter (PC) and a data pointer (DPTR)
 8 Bit Program Status Word (PSW)
 8 Bit Stack Pointer
 Five vector interrupt structure (RESET not considered as an interrupt.)
 8051 CPU consists of 8 bit ALU with associated registers like accumulator ‘A’ , B register,
PSW, SP, 16 bit program counter, stack pointer.
 ALU can perform arithmetic and logic functions on 8 bit variables.
 8051 has 128 bytes of internal RAM which is divided into
o Working registers [00 – 1F]
o Bit addressable memory area [20 – 2F]
o General purpose memory area (Scratch pad memory) [30-7F]
Tupe S.G Page 4
Microcontroller and Applications

The 8051 architecture.


I/O

ALU PSW Port 0


SFR D0-D7

General
I/O
RAM Port 1

A8-
Port 2

ROM
DPTR
PC
DPH I/O
INT
DPL Port 3 CNTR

E IE
System IP
Timing PCON
area SBUF
System SCON
XTAL2 Bit addressible TCON
timers area TMOD
RESET TL0
Register Bank 3
Data
buffers Register Bank 2 TH0
Register Bank 1 TL1
Register Bank 0 TH1
VCC Memory
GND control SFR and
General Purpose RAM

 8051 has 4 K Bytes of internal ROM. The address space is from 0000 to 0FFFh. If the
program size is more than 4 K Bytes 8051 will fetch the code automatically from external
memory.
 Accumulator is an 8 bit register widely used for all arithmetic and logical operations.
Accumulator is also used to transfer data between external memory. B register is used along
with Accumulator for multiplication and division. A and B registers together is also called
MATH registers.

Tupe S.G Page 5


Microcontroller and Applications

 PSW (Program Status Word). This is an 8 bit register which contains the arithmetic status of
ALU and the bank select bits of register banks.
CY AC F0 RS1 RS0 OV - P
CY - carry flag
AC - auxiliary carry flag
F0 - available to the user for general purpose
RS1,RS0 - register bank select bits
OV - overflow
P - parity
 Stack Pointer (SP) – it contains the address of the data item on the top of the stack. Stack
may reside anywhere on the internal RAM. On reset, SP is initialized to 07 so that the default
stack will start from address 08 onwards.
 Data Pointer (DPTR) – DPH (Data pointer higher byte), DPL (Data pointer lower byte). This
is a 16 bit register which is used to furnish address information for internal and external
program memory and for external data memory.
 Program Counter (PC) – 16 bit PC contains the address of next instruction to be executed.
On reset PC will set to 0000. After fetching every instruction PC will increment by one.

1.5 PIN DIAGRAM

Pinout Description
Pins 1-8 PORT 1. Each of these pins can be configured as an input or an output.
Pin 9 RESET. A logic one on this pin disables the microcontroller and clears the contents of
most registers. In other words, the positive voltage on this pin resets the
microcontroller. By applying logic zero to this pin, the program starts execution from
the beginning.

Tupe S.G Page 6


Microcontroller and Applications

Pins10-17 PORT 3. Similar to port 1, each of these pins can serve as general input or output.
Besides, all of them have alternative functions

Pin 10 RXD. Serial asynchronous communication input or Serial synchronous communication


output.
Pin 11 TXD. Serial asynchronous communication output or Serial synchronous
communication clock output.
Pin 12 INT0.External Interrupt 0 input
Pin 13 INT1. External Interrupt 1 input
Pin 14 T0. Counter 0 clock input
Pin 15 T1. Counter 1 clock input
Pin 16 WR. Write to external (additional) RAM
Pin 17 RD. Read from external RAM
Pin 18, 19 XTAL2, XTAL1. Internal oscillator input and output. A quartz crystal which specifies
operating frequency is usually connected to these pins.
Pin 20 GND. Ground.
Pin 21-28 Port 2. If there is no intention to use external memory then these port pins are
configured as general inputs/outputs. In case external memory is used, the higher
address byte, i.e. addresses A8-A15 will appear on this port. Even though memory
with capacity of 64Kb is not used, which means that not all eight port bits are used for
its addressing, the rest of them are not available as inputs/outputs.
Pin 29 PSEN. If external ROM is used for storing program then a logic zero (0) appears on it
every time the microcontroller reads a byte from memory.
Pin 30 ALE. Prior to reading from external memory, the microcontroller puts the lower
address byte (A0-A7) on P0 and activates the ALE output. After receiving signal from
the ALE pin, the external latch latches the state of P0 and uses it as a memory chip
address. Immediately after that, the ALE pin is returned its previous logic state and P0
is now used as a Data Bus.
Pin 31 EA. By applying logic zero to this pin, P2 and P3 are used for data and address
transmission with no regard to whether there is internal memory or not. It means that
even there is a program written to the microcontroller, it will not be executed. Instead,
the program written to external ROM will be executed. By applying logic one to the EA
pin, the microcontroller will use both memories, first internal then external (if exists).
Pin 32-39 PORT 0. Similar to P2, if external memory is not used, these pins can be used as
general inputs/outputs. Otherwise, P0 is configured as address output (A0-A7) when
the ALE pin is driven high (1) or as data output (Data Bus) when the ALE pin is driven
low (0).
Pin 40 VCC. +5V power supply.

Tupe S.G Page 7


Microcontroller and Applications

1.6 MEMORY ORGANIZATION


Internal RAM organization
R7 1F
R6 1E
R5 1D

BANK 3
R4 1C 2F
7F 78 7F
R3 1B
2E
77 70 7E
R2 1A
R1 19 2D
6F 68 .
R0 18 2C
67 60 .
R7 17 5F 58 .
2B
R6 16
R5 15
57 50 .
BANK 2

2A
R4 14 29
4F 48 .
R3 13
28
47 40 .
R2 12
R1 11 27
3F 38 .
R0 10 26
37 30 .
R7 0F 2F 28
R6 0E 25 32
27 20
R5 0D 24 31
BANK 1

R4 0C 1F 18
R3 0B
23 30
17 10
R2 0A 22

R1 09 21 0F 08
R0 08
R7 07
20 07 00
General purpose memory
R6 06
R5 05
BANK 0

R4 04 Bit addressable memory


R3 03
R2 02
R1 01
R0 00

Working Registers

Register Banks: 00h to 1Fh. The 8051 uses 8 general-purpose registers R0 through R7 (R0, R1,
R2, R3, R4, R5, R6, and R7). There are four such register banks. Selection of register bank can be
done through RS1,RS0 bits of PSW. On reset, the default Register Bank 0 will be selected.

Bit Addressable RAM: 20h to 2Fh . The 8051 supports a special feature which allows access to bit
variables. This is where individual memory bits in Internal RAM can be set or cleared. In all there
are 128 bits numbered 00h to 7Fh. Being bit variables any one variable can have a value 0 or 1. A bit
variable can be set with a command such as SETB and cleared with a command such as CLR.
Example instructions are:
SETB 25h ; sets the bit 25h (becomes 1)
CLR 25h ; clears bit 25h (becomes 0)
Note, bit 25h is actually bit 5 of Internal RAM location 24h.
The Bit Addressable area of the RAM is just 16 bytes of Internal RAM located between 20h and 2Fh.
General Purpose RAM: 30h to 7Fh. Even if 80 bytes of Internal RAM memory are available for
general-purpose data storage, user should take care while using the memory location from 00 -2Fh

Tupe S.G Page 8


Microcontroller and Applications

since these locations are also the default register space, stack space, and bit addressable space. It is
a good practice to use general purpose memory from 30 – 7Fh. The general purpose RAM can be
accessed using direct or indirect addressing modes.

1.7 EXTERNAL MEMORY INTERFACING


Eg. Interfacing of 16 K Byte of RAM and 32 K Byte of EPROM to 8051

Number of address lines required for 16 Kbyte memory is 14 lines and that of 32Kbytes of
memory is 15 lines.

The connections of external memory is shown below.

PSEN PSEN
A14 A14
A13 A13
A13
A12 A12
A12
… .. 32 Kbyte
A9 A8
A8 WE
RAM
WR 16 Kbyte .
RD A3
AL A7 RAM
LE A2
..
8051 A0-A7 A0-A7 A1
A1
A0
A0
LOWER BYTE
EA ADDRESS
GND [AD0 – AD7] DAT DAT
A A
O/P O/P

AD0
- DATA BUS [AD0 – AD7]
AD7

The lower order address and data bus are multiplexed. De-multiplexing is done by the latch.
Initially the address will appear in the bus and this latched at the output of latch using ALE signal.
The output of the latch is directly connected to the lower byte address lines of the memory. Later
data will be available in this bus. Still the latch output is address it self. The higher byte of address
bus is directly connected to the memory. The number of lines connected depends on the memory
size.

The RD and WR (both active low) signals are connected to RAM for reading and writing the data.

PSEN of microcontroller is connected to the output enable of the ROM to read the data from the
memory.

EA (active low) pin is always grounded if we use only external memory. Otherwise, once the
program size exceeds internal memory the microcontroller will automatically switch to external
memory.

Tupe S.G Page 9


Microcontroller and Applications

1.8 STACK
A stack is a last in first out memory. In 8051 internal RAM space can be used
as stack. The address of the stack is contained in a register called stack
pointer. Instructions PUSH and POP are used for stack operations. When a
data is to be placed on the stack, the stack pointer increments before storing
the data on the stack so that the stack grows up as data is stored (pre-
increment). As the data is retrieved from the stack the byte is read from the
stack, and then SP decrements to point the next available byte of stored data
(post decrement). The stack pointer is set to 07 when the 8051 resets. So
that default stack memory starts from address location 08 onwards (to avoid
overwriting the default register bank ie., bank 0).

Eg; Show the stack and SP for the following.

[SP]=07 //CONTENT OF SP IS 07 (DEFAULT VALUE)


MOV R6, #25H [R6]=25H //CONTENT OF R6 IS 25H
MOV R1, #12H [R1]=12H //CONTENT OF R1 IS 12H
MOV R4, #0F3H [R4]=F3H //CONTENT OF R4 IS F3H

PUSH 6 [SP]=08 [08]=[06]=25H //CONTENT OF 08 IS 25H


PUSH 1 [SP]=09 [09]=[01]=12H //CONTENT OF 09 IS 12H
PUSH 4 [SP]=0A [0A]=[04]=F3H //CONTENT OF 0A IS F3H

POP 6 [06]=[0A]=F3H [SP]=09 //CONTENT OF 06 IS F3H


POP 1 [01]=[09]=12H [SP]=08 //CONTENT OF 01 IS 12H
POP 4 [04]=[08]=25H [SP]=07 //CONTENT OF 04 IS 25H

1.9 Block diagram of microcomputer

CPU: central processing unit is the heart of Microcomputer. It read instructions from ROM and
data from RAM memory and process on it. ROM: Read only memory is used to store the
program codes. RAM: Random Access Memory is used for temporary storage.

Tupe S.G Page 10


Microcontroller and Applications

1.10 Alternate functions of port 3 of 8051 microcontroller

1.11 Power saving operation of 8051 microcontroller


(i) Ideal Mode : After setting the ideal bit in PCON register, micro-controller turns
into ideal saving mode. In this, content of all registers, I/O ports remains
unchanged serial ports, timers, interrupts continues operating normally. In this
system turns of CPU. In order to come out from Ideal mode. Interrupt or Reset
signal can be used which will automatically clear ideal bit.

(ii) Power Down Mode : After setting bit PD in the PCON register, micro-controller
turns into power down mode. In this mode, micro-controller turns off its internal
oscillator which reduces power consumption which makes micro-controller works
on 2V power supply and current upto 40 PA. In this mode all contains of SFR·s
and I/O port remains as it is.

Tupe S.G Page 11


Microcontroller and Applications

1.12 Boolean processor of microcontroller 8051

The 8051 instruction set is optimized for the one-bit operations so often desired in
real-world, real-time control applications.
The Boolean processor provides direct support for bit manipulation. This leads to
more efficient programs that need to deal with binary input and output conditions
inherent in digital-control problems.
Bit addressing can be used for test pin monitoring or program control flags.
For example, instructions for Boolean function are as given below :
(a) ORL P0, #1 ; Set P0.0
(b) XRL P0, #1 ; Toggle P0.0
(c) ANL C, P1.4; AND the bit on P1.4 with carry
(d) ANL C, !(P1.4); AND inverted bit on P1.4 with carry

1.13 What is BUS


A Bus is a set of physical connection used for communication between CPU and peripherals.
There are three types of buses Address Bus, Data Bus and Control Bus

(1) Address Bus : The address bus is unidirectional over which the microcontroller sends an
address code to the memory or input/output. The size of the address bus is specified by the
number of bits it can handle. The more bits there are in the address bus, the more memory
locations a microcontroller can access. A 16-bit address bus is capable of addressing (64k)
addresses.

(2) Data Bus : The data bus is bi—directional on which data or instruction codes are transferred
into the microcontroller or on which the result of on operation or computation is sent out from
the microcontroller to the memory or input/output. Depending on the particular
microcontroller, the data bus can handle 8-bit or 16-bit data.

(3) Control Bus : The control bus is used by the microcontroller to send out or receive timing
and control signals like read and write in order to co- ordinate and regulate its operation and to
communicate with other devices i.e. memory or input/output.

1.14 Factors on which selection of microcontroller depends

The selection of microcontroller depends upon the type of application. The following factors
must be considered while selecting the microcontroller.

1. Word length: The word length of microcontroller is either 8, 16 or 32 bit. As the word length
increases, the cost, power dissipation and speed of the microcontroller increases.
2. Power dissipation: It depends upon various factors like clock frequency, speed, supply
voltage, VLSI technology etc. For battery operated embedded systems, we must use low power
microcontrollers.
3. Clock frequency: The speed of an embedded system depends upon the clock frequency.
The clock frequency depends upon the application.

Tupe S.G Page 12


Microcontroller and Applications

4. Instruction Set: On the basis of instructions microcontrollers are classified into two
categories 1. CISC 2. RISC. CISC system improves software flexibility. Hence it is used in general
purpose systems. RISC improves speed of the system for the particular applications.
5. Internal resources: The internal resources are ROM, RAM, EEPROM, FLASH ROM, UART,
TIMER, watch dog timer, PWM, ADC, DAC, network interface, wireless interface etc. It depends
upon the application for which microcontroller is going to be used.
6. I/O capabilities: The number of I/O ports, size and characteristics of each I/O port, speed of
operation of the I/O port, serial port or parallel ports. These are the considerations needed to
ascertain.

Tupe S.G Page 13

You might also like