Sunteți pe pagina 1din 27

1

, Raj Kamal, Publs.: McGraw-Hill Education



8051 AND ADVANCED PROCESSOR
ARCHITECTURES
Lesson-2: 8051 IO ports, Circuits
and IO Programming and External
Memory Circuits
2008
Chapter-2 L2: "Embedded Systems - Architecture, Programming and Design"
2
, Raj Kamal, Publs.: McGraw-Hill Education

1. IO PORTS
2008
Chapter-2 L2: "Embedded Systems - Architecture, Programming and Design"
P1.3 P1.4 P1.5
P0.3 P0.4 P0.5
Also P1.6 as
Also as
as I
2
C serial
address bits
(8052)
3
, Raj Kamal, Publs.: McGraw-Hill Education

Ports P0 and P1 pins and alternative functions
P0
P1

P0.0 P0.1 P0.2
P1.0 P1.1 P1.2
P0.6 P0.7
P1.6 P1.7
AD0- AD7
I
2
C clock, P1.7
data, and P1.0
Lower
and P1.1 for T2
cum data bus
2008
Chapter-2 L2: "Embedded Systems - Architecture, Programming and Design"
P3.3 P3.4 P3.5
P2.3 P2.4 P2.5
Also
Also as
TxD/SyncClk,
address-bits
T1, WR, RD
4
, Raj Kamal, Publs.: McGraw-Hill Education

Ports P2 and P3 pins and alternative functions
P2
P3

P2.0 P2.1 P2.2
P3.0 P3.1 P3.2
P2.6 P2.7
P3.6 P3.7
A8- A15
RxD/SyncData,
INT0/GT0,
Higher
INT1/GT1, T0,
bus
2008
Chapter-2 L2: "Embedded Systems - Architecture, Programming and Design"
5
, Raj Kamal, Publs.: McGraw-Hill Education

2. IO Circuits
2008
Chapter-2 L2: "Embedded Systems - Architecture, Programming and Design"
6
, Raj Kamal, Publs.: McGraw-Hill Education

IO port circuit for two stepper motors in
a printer
Printer
P1.0
Coil A P1.4
Coil A

P1.1
Coil B
P1.5
Coil B
P1.2
Coil C
P1.6 Coil C
P1.3
Coil D
P1.7
Coil D
Stepper Motor 1
Stepper Motor 2

2008
Chapter-2 L2: "Embedded Systems - Architecture, Programming and Design"
7
, Raj Kamal, Publs.: McGraw-Hill Education

IO port circuit for six servo motors
in a robot
P1.0
Servomotor0
P1.1
Servomotor1
P1.2
Servomotor2
P1.3
Servomotor3
P1.4
Servomotor4
P1.5
Servomotor5
2008
Chapter-2 L2: "Embedded Systems - Architecture, Programming and Design"
8
, Raj Kamal, Publs.: McGraw-Hill Education

3. IO Byte Programming
2008
Chapter-2 L2: "Embedded Systems - Architecture, Programming and Design"
9
, Raj Kamal, Publs.: McGraw-Hill Education

Port Byte Programming
8O51 internal IO ports PO, P1, P2 and P3
byte addresses used to access and perform
read or write or other operations
Direct 8-bit addresses of each are
specified in the instructions
Addresses of bytes at PO, P1, P2 and P3-
Ox8O, Ox9O, OxAO and OxBO.
2OO8
Chapter-2 L2: "Embedded Systems - Architecture, Programming and Design"
lO
, Raj Kamal, Publs.: McGraw-Hill Education

Example 2.1
MOV OxAO, #OxFF moves bits to port
P2 and P2 bits will become = llllllllb.
MOV Ox9O, #OxlC moves bits at port Pl
= OOOlllOOb.
After this instruction, INC Ox9O will make
Pl = OOOlllOOb + l = OOOlllOlb.
2OO8
Chapter-2 L2: "Embedded Systems - Architecture, Programming and Design"
ll
, Raj Kamal, Publs.: McGraw-Hill Education

4. IO Bit Programming
2OO8
Chapter-2 L2: "Embedded Systems - Architecture, Programming and Design"
addresses to access and perform
instructions.
read or write or
is of 8-bits, which are specified in the instructions.
l2
, Raj Kamal, Publs.: McGraw-Hill Education

Bit Programming
Each port PO, Pl, P2 and P3 8 bits and each bit has
other operations using bit-manipulation
Addresses are the bit addresses. Each bit address
Bits PO.O to PO.7 addresses - Ox8O to Ox87.
Bits Pl.O to Pl.7 addresses - Ox9O to Ox97,
P2.O to P2.7 - OxAO to OxA7 and
P3.O to P3.7 - OxBO to OxB7.
2OO8
Chapter-2 L2: "Embedded Systems - Architecture, Programming and Design"
l3
, Raj Kamal, Publs.: McGraw-Hill Education

Bit Programming
All instructions in the instruction set using
bit addresses can be used to access and
perform complement read or write or other
operations.
C flag in PSW - Accumulator for bit
logic operations.
2OO8
Chapter-2 L2: "Embedded Systems - Architecture, Programming and Design"
l4
, Raj Kamal, Publs.: McGraw-Hill Education

Example 2.2
CPL Ox9O complements the bit O at port
Pl.
CLR Ox8O makes PO.O as O. Now after
a delay of period= Tl, the SETB Ox8O
will make PO.O as l. Now after a delay
of period= T2, the CLRB Ox8O will
make gain PO.O as O.
A pulse of time-period T2 and duty cycle lOO
Tl/(Tl + T2) creates if the instructions
are executed in a loop.
2OO8
Chapter-2 L2: "Embedded Systems - Architecture, Programming and Design"
15
, Raj Kamal, Publs.: McGraw-Hill Education

Example 2.2 (contd.)
SETB C will set carry bit in PSW to 1. After this
operation, ANL C, 0x93 will perform logic
AND operation between bits C and P1.3 and
result will be in C. If P1.3 = 0 then C will
become 0 else C will remain 1.
CLR C will reset (clear) carry bit in PSW to 0.
After this operation, ORL C, 0xB2 will perform
logic OR operation between bits C and P3.2 and
result will be in C. If P3.2 = 0 then C will
remain 0 else C will remain 1. After this
operation, MOV 0x85, C will move result in C
to P0.5.
2008
Chapter-2 L2: "Embedded Systems - Architecture, Programming and Design"
16
, Raj Kamal, Publs.: McGraw-Hill Education

5. External Memory and Port
Circuits
2008
Chapter-2 L2: "Embedded Systems - Architecture, Programming and Design"
17
, Raj Kamal, Publs.: McGraw-Hill Education

Memory mapped IO
8051 Memory and ports assigned the
addresses such each have distinct range of
addresses in the data memory address space.
Interfacing circuit design identical to that
for the memory connects the external ports
and programmable peripheral interface
(PPI).
2008
Chapter-2 L2: "Embedded Systems - Architecture, Programming and Design"
L at ch
EA
18
, Raj Kamal, Publs.: McGraw-Hill Education

0x0000-0xFFFF
P0
AD0
AD7
ALE
D0- D7
AD0-AD7

A15
D0- D7

A0- A7

Connection to the external program and data memory circuits
PSEN Program
Memory
as Latch
-
A0- A7
A8- A15
P2 Data Memory
as
A8- A15
0x0000-0xFFFF
A8-
P3.7 (RD)
P3.6 (WR)
D0-D7
2008
Chapter-2 L2: "Embedded Systems - Architecture, Programming and Design"
PA
19
, Raj Kamal, Publs.: McGraw-Hill Education

A0

AD7

Interfacing using external PPI port in 8051
P0
as
AD0-AD7 A15
AD0
-
A1
8255
Latch Decoder
ALE A2- A7 PB
PC
P2
as
A8- A15
A8-
A15
P3.6 (WR)
P3.7 (RD)
[A1] New Figure 2.4 in this Edition Author
2008
Chapter-2 L2: "Embedded Systems - Architecture, Programming and Design"
20
, Raj Kamal, Publs.: McGraw-Hill Education

Port P0 used in expanded mode and ALE
AD0-AD7 the multiplexed signals of A0-
A7 lower address bits of the address bus
and D0-D7 bits of data bus.
A0-A7 and D0-D7 time division
multiplexed. For an interval, the processor
activates ALE (address latch enable) in an
instruction cycle and the AD0-AD7 lines
have A0-A7 and a latch circuit separates
A0-A7 signals for the memory
2008
Chapter-2 L2: "Embedded Systems - Architecture, Programming and Design"
21
, Raj Kamal, Publs.: McGraw-Hill Education

Harvard Memory Architecture
Two sets of memory- program memory
and data memory.
Two control signals- PSEN and RD to
control read from program memory or data
memory.
Control signal ALE to control use of AD0-
AD7 as address or data at a given instance
2008
Chapter-2 L2: "Embedded Systems - Architecture, Programming and Design"
22
, Raj Kamal, Publs.: McGraw-Hill Education

Port P2 expanded mode, PSEN and RD
A8-A15 address signals -
When the processor activates PSEN
(Program store enable), it reads the byte
from external program memory through
D0-D7 data bus.
When the processor activates RD (read), it
reads the byte from external data memory
through D0-D7 data bus.
2008
Chapter-2 L2: "Embedded Systems - Architecture, Programming and Design"
23
, Raj Kamal, Publs.: McGraw-Hill Education

Addresses outside the internal RAM,
SFR and internal program memory when
control signal EA inactive
Then processor always accesses the external
memory whether EA active or not .
Internal RAM and SFR addresses between 0x00
and 0xFF are same as external data memory
addresses 0x0000 and 0xFFFF.
Internal program memory addresses between
0x0000 to 0xFFF (in case of 4 kB internal ROM)
are same as external program memory addresses
0x0000 and 0xFFFF.
2008
Chapter-2 L2: "Embedded Systems - Architecture, Programming and Design"
24
, Raj Kamal, Publs.: McGraw-Hill Education

Control signal EA
When a control signal EA activate -
processor always accesses the external
addresses in memory instead of internal
memory or register addresses
2008
Chapter-2 L2: "Embedded Systems - Architecture, Programming and Design"
25
, Raj Kamal, Publs.: McGraw-Hill Education

Summary
2008
Chapter-2 L2: "Embedded Systems - Architecture, Programming and Design"
26
, Raj Kamal, Publs.: McGraw-Hill Education

We learnt
IO port Pins for P0, P1, P2, P3
IO port circuit examples
Examples of IO port byte programming
Examples of IO port bit programming
Memory mapped IO
Interfacing circuits to external memory or
Port
Harvard memory external data and program
memory
2008
Chapter-2 L2: "Embedded Systems - Architecture, Programming and Design"
27
, Raj Kamal, Publs.: McGraw-Hill Education

End of Lesson 2 of Chapter 2
2008
Chapter-2 L2: "Embedded Systems - Architecture, Programming and Design"

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