Documente Academic
Documente Profesional
Documente Cultură
Microcontroller
CPU, RAM, ROM, I/O and
timer are all on a single chip
fix amount of on-chip ROM,
RAM, I/O ports
Highly bit addressable
for applications in which cost,
power and space are critical
single-purpose
Advantages of Microcontroller
based System
ROM type
8031
80xx
87xx
89xx
no ROM
mask ROM
EPROM
Flash EEPROM
89xx
8951
8952
8953
8955
898252
891051
892051
Example (AT89C51,AT89LV51)
AT= ATMEL(Manufacture)
C = CMOS technology
LV= Low Power(3.0v)
RAM
Timer
8051
4k
128
8031
128
8751
4k eprom
128
8052
8krom
256
8032
256
8752
8k eprom
256
Block Diagram
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
8051
Schematic
Pin out
8051
Foot Print
P1.0
P1.1
P1.2
P1.3
P1.4
P1.5
P1.6
P1.7
RST
(RXD)P3.0
(TXD)P3.1
(INT0)P3.2
(INT1)P3.3
(T0)P3.4
(T1)P3.5
(WR)P3.6
(RD)P3.7
XTAL2
XTAL1
GND
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
8051
(8031)
(8751)
(8951)
40
39
38
37
36
35
34
33
32
31
30
29
28
27
26
25
24
23
22
21
Vcc
P0.0(AD0
)P0.1(AD1)
P0.2(AD2
) 0.3(AD3)
P
P0.4(AD4)
P0.5(AD5)
P0.6(AD6)
P0.7(AD7)
EA/VPP
ALE/PROG
PSEN
P2.7(A15)
P2.6(A14
)P2.5(A13
)P2.4(A12
)P2.3(A11)
P2.2(A10)
P2.1(A9)
P2.0(A8)
Port 0
P0.0
DS5000 P0.1
P0.2
8751
P0.3
P0.4
8951
P0.5
P0.6
P0.7
10 K
Port 0
pins 32-39 P0.0 P0.7
Port 1
pins 1-8 P1.0
P1.7
Port 2
pins 21-28 P2.0
P2.7
ALE
SJCET
Registers
A
B
R0
DPTR
DPH
DPL
R1
R2
PC
PC
R3
R4
R5
R6
R7
Some 8-bitt Registers of
the 8051
SJCET
SJCET
SJCET
Port0
latch
Port1
latch
Port2
latch
Port3
latch
Port0
Port1
Port2
Port3
DPTR
The data pointer consists of a high
byte(DPH) and a low byte (DPL). Its
function is to hold a 16 bit address. It
may be manipulated as a 16 bit data
register or two independent 8 bit
register. It serves as a base register in
indirect jumps, lookup table instructions
and external data transfer.
SJCET
Bit-Addressable RAM
20H
1FH
18H
17H
10H
0FH
08H
07H
00H
Register Bank 3
Register Bank 2
Register Bank 1( Stack)
Register Bank 0
Memory Organization
The 8051 memory organization is rather complex.
The 8051 has separate address spaces for Program Memory, Data
Memory, and external RAM.
This is refereed to as a Harvard architecture.
The early Mark I (1944) computer developed at Harvard was of this
type of architecture.
Von Neumann at Princeton pointed out that it was not necessary to put
instructions and data in separate memories.
Most machines have been Princeton architecture.
Recently Harvard architecture has been employed to help alleviate the
memory bottleneck.
Both program memory and external data memory are 8 bits wide and use
16 bits of address. The internal data memory is accessed using an 8-bit
address.
SJCET
Timer
2 16-bit timer
TMOD Register:
high.
TCON Register:
Serial Communication
Computers transfer data in two ways:
Parallel: Often 8 or more lines (wire conductors)
are used to transfer data to a device that is only a
few feet away.
Serial: To transfer to a device located many meters
away, the serial method is used. The data is sent
one bit at a time.
SJCET
Continued
Serial data communication uses two methods
Synchronous method transfers a block of data at a time
Asynchronous method transfers a single byte at a time
There are special ICs made by many manufacturers for
serial communications.
UART (universal asynchronous Receiver transmitter)
USART (universal synchronous-asynchronous
Receiver-transmitter)
1. SBUF Register
2. SCON Register
3. PCON Register
SBUF Register
SBUF is an 8-bit register
communication.
SCON Register
SM0 SM1 SM2 REN TB8 RB8 TI
Set to Enable
Serial Data
reception
RI
INTERRUPTS
39
Timer 0 Overflow.
Timer 1 Overflow.
Reception/Transmission of Serial Character.
External Event 0.
External Event 1.
Interrupt Priority
When the 8051 is powered up, the priorities are assigned
according to the following.
In reality, the priority scheme is nothing but an internal polling
sequence in which the 8051 polls the interrupts in the sequence
listed and responds accordingly.
Interrupt Priority
We can alter the sequence of interrupt priority by assigning
a higher priority to any one of the interrupts by
programming a register called IP (interrupt priority).
To give a higher priority to any of the interrupts, we make
the corresponding bit in the IP register high.
Reserved
PS PT1 PX1
PT0
PX0
Serial Port
Timer 1 Pin
INT 1 Pin
Priority bit=1 assigns
high priority
Priority bit=0 assigns
INT 0 Pin
Timer 0 Pin
Types of Microcontrollers
THANK YOU
SJCET