Sunteți pe pagina 1din 56

Microprocessors

and
Microcontrollers

Syllabus

CP356: Microprocessors and


Microcontrollers
CREDITS
(L=4,
T=0, P=2)
(Prerequisite:
EL206=6
Digital
Circuits)

1. Introduction to Microcontrollers : Intel 8051


architecture. Software architecture. details of SFRs. Port
structures. External memory interface. Interrupt. Serial
and Timer/counters facility. Instruction set and
programming of 8051.
2. Programmable I/O ports: Study of Intel 8255 in
modes 0, 1 and 2. Interface of A/D and D/A converters
with microcontroller and related Software.
3 Memory and device selection : Generation of chip
select logic; address decoding for memory and I/O
ports; latching and buffering; development of a small
8051 based microcomuter system.

4. Study of programmable peripheral controllers :


Timer/counter device Intel 8253; keyboard and
display controller Intel 8279.
5. Serial communication : Synchronous and
asynchronous communication. Study of the Western
Digital 8250 communication controller. Principle of
operation of modems. The EIA RS-232C serial
interface standard.
6. Special purpose and 16 bit microcotrollers
7. Microcontroller applications : Interfacing of
input/output devices, keyboard, switches, seven
segment dispaly, LCD display. Design of
microcontroller based systems for industrial
applications, Temperature scanner and weight
measurement systems. Embeded Systems, its
hardware and software requirements.

REFERENCE BOOKS:
1. R.S. Gaonkar
Microprocessor Architecture, Programming and Applications
with 8085A
Penram International
2. Muhammad Ali Mazidi
Janice Gillispie Mazidi
The 8051 Microcontroller and Embedded systems
Prentice Hall of India
3. Kenneth J. Ayala
The 8051 Microcontroller Architecture, Programming &
Applications
Penram International
4. V Udayashankara & M S Mallikarjunaswamy
8051 Microcontroller Hardware, software and
applications

CP356: Microprocessors and


Microcontrollers
CREDITS =6 (L=4, T=0, P=2)

List of Experiments:
1. Programs using arithmetic instructions of 8051
2. Programs using logical instructions of 8051
3. Programs using control and branch instructions of 8051
4. Programs using subroutine instructions of 8051
5. Programs using inbuilt timers of 8051
6. Programs using inbuilt interrupts of 8051
7. Programs using inbuilt interrupts of 8051
8. Programs using inbuilt serial facility of 8051
9. Interfacing of 8255 with 8051
10. Interfacing of 8255 with 8051
11. Interfacing of ADC with 8051
12. Interfacing of DAC with 8051

Marks Distribution
Marks distribution
70 + 20 + 10 = 100 (theory)
15 (10- Evaluation + 5 - attendance) + 20
(Performance) + 15(Viva) = 50 (Practical)
Seminar Presentation (In Performance) -> 5
Class work Notebook(In Evaluation)->3
Theory Assignments(In Evaluation) -> 2
Quizzes(In Viva)->5

Brief Discussion
What is Computer?
CPU -> CU + ALU + registers
Memory -> RAM (2 TYPES)/ ROM(4
TYPES)
I/P AND O/P DEVICES

Cont.

What is Microprocessor?
1960s CPU designed with logic gates
LSI Large Scale Integration
SSI to LSI called Microprocessor
Microcomputer
Intel 4 bit microprocessor 4004 in 1971
8 bit microprocessor 8080
8-bit 8085 (8 bit data bus + 16 bit address bus)
16-bit 8086 (16 bit data bus + 20 bit address
bus)
16 bit processors 8088,80186,80188, 80286
32 bit processors 80386 , 80486, 80586 (P)

Microprocessors:
General-purpose microprocessor

CPU for Computers


No RAM, ROM, I/O on CPU chip itself
Example Intels x86, Motorolas 680x0

CPU
GeneralPurpose
Microprocessor

Many chips on mothers board

Data Bus

RAM

ROM

I/O
Port

Address Bus
General-Purpose Microprocessor System

Timer

Serial
COM
Port

Limitations of (8085)
Microprocessor
Operates with Low speed
Less powerful addressing mode and
instruction set
Limited no. of 8 bit general purpose
registers
Low memory 64kbytes addressing
Requires external memory to
execute a program
Cannot directly interfaced with
I/O devices. Peripheral chips are
needed to interface with I/O
devices

What is Microcontroller?
LSI to VLSI called Microcontroller
To build Microprocessor, memory and
I/O devices on a single chip
Components
Microprocessor
A/D Converter
D/A Converter
Parallel I/O Interface
Serial I/O Interface
Timers and Counters

Microcontroller :
A smaller computer
On-chip RAM, ROM, I/O ports...
Example Motorolas 6811, Intels 8051, Zilogs Z8

CPU
I/O
Port

RAM ROM
Serial
Timer COM
Port

A single chip
Microcontroller

Microprocessor vs. Microcontroller


Microcontroller
Microprocessor
CPU, RAM, ROM, I/O and
CPU is stand-alone, RAM,
timer are all on a single chip
ROM, I/O, timer are separate fix amount of on-chip ROM,
designer can decide on the
RAM, I/O ports
amount of ROM, RAM and
for applications in which cost,
I/O ports.
power and space are critical
expansive
single-purpose
versatility
general-purpose

Microcontroller vs.
Microprocessors

Cont.
Which is the first task faced when
learning to use a new computer?
Internal hardware design (architecture)
Type, number and size of registers
Other circuitry
Hardware and software of
microcontroller

Embedded Computing
Systems

Use a microprocessor or microcontroller


to do one task only
Printer

PC used for any number of applications


Word processor, print-server, bank teller
terminal, video game player, network
server, internet terminal

PC contains or is connected to various


embedded products
Keyboard, printer, modem, disk controller,
sound card, CD-ROM driver, mouse

Embedded Products Using


Microcontrollers
Home
Appliances, intercom, telephones,
security systems, garage door openers,
answering machines, fax machines,
home computers, TVs, cable TV tuner,
VCR, camcorder, remote controls, video
games, cellular phones, musical
instruments, sewing machines, lighting
control, paging, camera, pinball
machines, toys, exercise equipment

Embedded Products Using


Microcontrollers
Office
Telephones, computers, security
systems, fax machines, microwave,
copier, laser printer, color printer,
paging

Embedded Products Using


Microcontrollers
Auto
Trip computer, engine control, air bag,
ABS, instrumentation, security system,
transmission control, entertainment,
climate control, cellular phone, keyless
entry

Choosing A Microcontroller
Computing needs
Speed, packaging, power consumption,
RAM, ROM, I/O pins, timers, upgrade to
high performance or low-power versions,
cost

Software development tools


Assembler, C compiler, Simulators

Availability

Companies Producing
8051
Company

Web Site

Intel

www.intel.com/design/mcs51

Atmel

www.atmel.com

Philips/Signetics

www.semiconductors.philips.com

Siemens

www.sci.siemens.com

Dallas Semiconductor

www.dalsemi.com

8051 Family
Feature

8051

8052 8031

ROM (on chip program space in bytes)

4K

8k

0k

RAM (bytes)

128

256

128

Timers

I/O pins

32

32

32

Serial port

Interrupt sources

Timer:
:
Timer

Interrupt :

Various 8051
Microcontrollers
8751 microcontroller
UV-EPROM

AT89C51 from Atmel Corporation (IN


LAB WITH KEIL COMPILER)
Flash (erase before write)

DS5000 from Dallas Semiconductor


NV-RAM (changed one byte at a time), RTC
(real-time clock)

OTP (one-time-programmable) version of


8051
8051 family from Philips
AD, DA, extended I/O, OTP and flash

8051
Microcontroll
er

Block Diagram of 8051


External interrupts
Interrupt
Control

On-chip
ROM for
program
code

Timer/Counter

On-chip
RAM

Timer 1
Timer 0

CPU

OSC

Bus
Control

4 I/O Ports

P0 P1 P2 P3

Address/Data

Serial
Port

TxD RxD

Counter
Inputs

Features
8 bit CPU
16-bit program counter(PC) and data
pointer (DPTR)
8-bit program status word(PSW)
8-bit stack pointer
4 Kbytes of on-chip program
memory(ROM)
128 bytes of on-chip data random access
memory(RAM)

64Kbytes of program memory address space


64Kbytes of data memory address space
Two 16 bit timers/counters
16 bit address bus multiplexed with port 0 and
port 2
32 bidirectional I/O lines can be either used as
8 bit ports
On-chip clock oscillator
Control Registers
Serial data receiver/transmitter
Interrupt sources

Architecture of 8051
Processor includes
Arithmetic and logic unit
Instruction decoder
Timing generation unit
Accumulator
B register
Status register

Arithmetic and Logic Unit


Performing computing functions
Accumulator is 8-bit register
Arithmetic and logical operations one
of the operands is in A register
Result is stored in only A
C(carry), AC(auxiliary carry), O(overflow)
and P(Parity) status register

Instruction decoder and


control
When an instruction is fetched it is
loaded in the instruction register
Decoder decodes the instruction and
establishes the sequence of events to
follow
Instruction cycle: Instruction cycle is
defined as the time required for
completing the execution of an
instruction

Instruction register is not


programmable
It cannot be accessed through any
instruction
Control unit generates control signals
necessary for communication
between the processor and
peripherals

CPU Registers
A Register(E0H)
8 bit
Direct connection with ALU
In multiplication- one of 8 bit operands stored in A and
after operation it stores lower byte in A
In division- holds 8 bit dividend & quotient is stored in A

B Register(F0H)

8 bit
Used with multiply and divide operations
In multiplication- after operation it stores higher byte in B
In division- holds 8 bit divisor & reminder is stored in B

Registers
A
B
R0

DPTR

DPH

DPL

R1
R2

PC

PC

R3
R4
R5
R6
R7
Some 8-bitt Registers of
the 8051

Some 8051 16-bit Register

Program status word(D0H)


CY

AC

F0

RS1

RS0

OV

--

CYPSW.7

Carry flag

AC PSW.6

Auxiliary carry

F0 PSW.5

General purpose

RS1-PSW.4

Register bank selector


bit 1

RS0-PSW.3

Register bank selector


bit 0

OV-PSW.2

Overflow flag

--

User defined bit

PPSW.0
Parity
flag how CY,AC and P
Add numbers
56H and 95H AND
show
flags affected???

MOV A,#56H
MOV A,#95H
56 -- 0101 0110
+
95 --- 1001 0101
------------------------------------EBH -1110 1011
CY = 0 (No carry between D7)
AC = 0 (No carry from D3 to D4)
P = 0 (Accumulator has an even number
of bits)

Second Exercise!
Show status of CY,AC and P flags after the
addition of 9CH and 64H
What is the size of flag register in the 8051?
FIND C,AY,P FOR ----MOV A,#02H
ADD A,#3DH
0000 0010
0011 1101
-------------
00 11
11 11

MOV A,#95
ADD A,#120
ANS = 44 IN HEX

Third Exercise!
Show the contents of PSW register after
execution of following instrucitons:
MOV A,#0BFH
ADD A,#1BH
BF 1011 1111
1B 0001 1011
--------------------DA 1101 1010
Cy=0,ac=1,f0=0,rs1=0,rs0=0,ov=0,not used=0,
p=1

Answers: 1(CY) 1(AC) 0(P)


1001 1100
0110 0100
------------0000 0000
Answers: contents of psw = 0100
0001= (65)10= (41)16

Stack Pointer(81H)
8 BIT
Contains data item on the top of
stack
Incremented before data is stored
Initialized to 07H

Data Pointer
DPTR (Data Pointer) consists of two 8
bit registers high byte (DPH) and
low byte (DPL)
16 bit address
To furnish address information for
internal and external program
memory and for external data
memory

Program Counter
16 bit register
Specifies the address of next
instruction to be executed
After reset PC will be set to 0000H
8051 fetches the instruction one byte
at a time
After increments, it increments PC by
1

MEMORY
4k bytes on chip ROM
128 bytes RAM
Program memory is used to hold start up
program
Data random access memory is divided into 4 parts:
First 128 bytes : 00H TO 1FH (31) Register Banks
20H TO 2FH(47) Bit addressable RAM
30H TO 7FH (127) General purpose registers
Next 128 bytes : 80H TO FFH (255) Special
function registers

Register Banks
Lowest 32 bytes
4 banks each having 8 registers
RS1 and RS0 (4TH BIT AND 3RD BIT) program
status word select the bank
Each bank contains R0 TO R7
Ex: add A,R2 adds the value contained
in R2 to the accumulator
RS1=0 and RS0=0 BANK 0 IS SELECTED
R2 is which memory location? ADD A,02H

Internal RAM Organization


Special function
registers

80 FF

General purpose
registers

30-7F

Bit addressable space

20-2F

BANK 3 (R0-R7)

18-1F

BANK 2 (R0-R7)

10-17

BANK 1 (R0-R7)

08-0F

BANK 0 (R0-R7)

00-07

PSW bits bank selection

BANK 0
BANK 1
BANK 2
Bank 3

RS1
PSW.4
0
0
1
1

RS0PSW.3
0
1
0
1

Bit Addressable RAM 20H TO


2FH
16 BYTES
Bit variables can have value 0 or 1
SETB 25H // sets the bit 25H
(becomes 1)
CLR 25H // clears the bit 25H
(becomes 0)
SETB 19H // WRONG

General Purpose RAM 30H


TO 7FH
80 BYTES
Instructions of single byte operands
use this area of storage
Direct or indirect addressing modes

SFR Register 80h to ffh

21 SFR registers are defined


Some registers are bit addressable
Access by internal RAM locations
CPU and internal peripheral modules use
SFR for controlling the desired operation
of the device
Contains I/O ports, control registers,
timers, serial ports etc.
Ex : acc, B, PSW, sp, dptr etc.

MOV A,R5 is equivalent to?


Which register bank of r0-r7 do we have
access to when 8051 is powered up?
Ans register bank 0
RAM LOCATIONS 0,1 to 7
By r0 to r7
How to switch register banks?
By bit addressable instructions SETB and CLR
SETB PSW.3 - will make PSW.3 =1 so
0(PSW.4)AND 1 BANK1 IS SELECTED

Which is the other way to


write below program
State the contents of RAM LOCATIONS after
following program:

MOV
MOV
MOV
MOV
MOV

R0,#99H
R1,#50H
R2,#60H
R3,#90H
R4,#65H

RAM
RAM
RAM
RAM
RAM

LOCATION
LOCATION
LOCATION
LOCATION
LOCATION

0
1
2
3
4

HAS
HAS
HAS
HAS
HAS

VALUE
VALUE
VALUE
VALUE
VALUE

99H
50H
60H
90H
65H

Write instructions to use the


registers of bank 3 and load
the same value 05H in reg.
r0-r3

SETB PSW.4
SETB PSW.3
MOV R0,#05H
MOV R1,#05H
MOV R2,#05H
MOV R3,#05H

Example: the following


instructions enable register bank
3 and move the content of R7
(address 1FH) to the
accumulator
SETB RS1
SETB RS0
MOV A,R7

S-ar putea să vă placă și