Microprocessing Systems - Chapter 1: Introduction to Microcontrollers - Lê Chí Thông
• Integrates CPU, RAM, ROM, I/O ports, on a
single chip
• Sometimes called a "computer on a chip"
• Typically used in embedded applications
• Example: Motorola’s 6811, Intel’s 8051, Zilog’s Z8
and PIC 16X
a chip"
• Typically used in embedded applications
• Example: Motorola’s 6811, Intel’s 8051, Zilog’s Z8
and PIC 16X
RAM ROM
I/O
Port
Timer
Serial
COM
Port
Microcontroller
CPU
A single chip
Microcontrollers
12 Lê Chí Thông Ref. I. Scott Mackenzie
ĐH Bách Khoa TP.HCM Lê Chí Thông
sites.google.com/site/chithong 7
CPU
Program
+ Data
Address Bus
Data Bus
Memory
Von Neumann
Architecture
CPU
Program
Address Bus
Data Bus
Harvard
Architecture
Memory
Data
Address Bus
Fetch Bus
0
0
0
2n
Microcontroller Architectures
13 Lê Chí Thông Ref. I. Scott Mackenzie
• Embedded system: the processor is embedded into
that application.
• An embedded product usually uses a microcontroller
to do one task only.
• In an embedded system, there is only one application
software that is typically burned into ROM
Embedded System
14 Lê Chí Thông Ref. I. Scott Mackenzie
ĐH Bách Khoa TP.HCM Lê Chí Thông
sites.google.com/site/chithong 8
Embedded System
Microcontroller
(uC)
sensor
S
e
n
s
o
r c
o
n
d
itio
n
in
g
O
u
tp
u
t in
te
rfa
c
e
s
actuator
indicator
sensor
sensor
15 Lê Chí Thông Ref. I. Scott Mackenzie
• Positive radix, positional number systems
• A number with radix r is represented by a string of
digits:
An - 1An - 2 A1A0 . A- 1 A- 2 A- m + 1 A- m
in which 0 < Ai < r and . is the radix point.
• The string of digits represents the power series:
( ) ( ) (Number)r = +
j = - m
j
j
i
i = 0
i r A r A
(Integer Portion) + (Fraction Portion)
i = n - 1 j = - 1
Representation of Number Systems
16 Lê Chí Thông Ref. I. Scott Mackenzie
ĐH Bách Khoa TP.HCM Lê Chí Thông
sites.google.com/site/chithong 9
General Decimal Binary
Radix (Base) r 10 2
Digits 0 => r - 1 0 => 9 0 => 1
0
1
2
3
Powers of 4
Radix 5
-1
-2
-3
-4
-5
r0
r1
r2
r3
r4
r5
r -1
r -2
r -3
r -4
r -5
1
10
100
1000
10,000
100,000
0.1
0.01
0.001
0.0001
0.00001
1
2
4
8
16
32
0.5
0.25
0.125
0.0625
0.03125
Representation of Number Systems
17 Lê Chí Thông Ref. I. Scott Mackenzie
400 + 0 + 7 + 0.6 + 0.02 + 0.005 = 407.625
4 0 7 . 6 2 5
102 101 100 . 10-1 10-2 10-3
4x102 0x101 7x100 . 6x10-1 2x10-2 5x10-3
400 0 7 . 0.6 0.02 0.005
Decimal (Radix r = 10)
Binary (Radix r = 2)
1 0 1 . 0 1 1
101.011 B = 4 + 0 + 1 + 0 + 0.25 + 0.125 = 5.375
22 21 20 . 2-1 2-2 2-3
1x22 0x21 1x20 . 0x2-1 1x2-2 1x2-3
4 0 1 . 0 0.25 0.125
18 Lê Chí Thông Ref. I. Scott Mackenzie
ĐH Bách Khoa TP.HCM Lê Chí Thông
sites.google.com/site/chithong 10
Hexadecimal or Hex (Radix r = 16)
Hexadecimal Decimal Binary Hexadecimal Decimal Binary
0
1
2
3
4
5
6
7
0
1
2
3
4
5
6
7
0000
0001
0010
0011
0100
0101
0110
0111
8
9
A
B
C
D
E
F
8
9
10
11
12
13
14
15
1000
1001
1010
1011
1100
1101
1110
1111
5 A 0 . 4 D 1
5A0.4D1 H = 1280 + 160 + 0 + 0.25 + 0.0508 + 0.0002 = 1440.301
162 161 160 . 16-1 16-2 16-3
5x162 10x161 0x160 . 4x16-1 13x16-2 1x16-3
1280 160 0 . 0.25 0.0508 0.0002
19 Lê Chí Thông Ref. I. Scott Mackenzie
Converting decimal to binary
8 . 625 D = ? B
8 : 2 = 4 remainder 0
4 : 2 = 2 remainder 0
2 : 2 = 1 remainder 0
1 : 2 = 0 remainder 1
0.625 x 2 = 1.25 save the integer digit 1
0.25 x 2 = 0.5 save the integer digit 0
0.5 x 2 = 1.0 save the integer digit 1
1 0 0 0 . 1 0 1 B
20 Lê Chí Thông Ref. I. Scott Mackenzie
ĐH Bách Khoa TP.HCM Lê Chí Thông
sites.google.com/site/chithong 11
1 4 8 0 . 4 2 9 6 8 7 5 D = ? H
1480 : 16 = 92 remainder 8
92 : 16 = 5 remainder 12
5 : 16 = 0 remainder 5
0.4296875 x 16 = 6.875 save the integer digit 6
0.875 x 16 = 14.0 save the integer digit 14
5 C 8 . 6 E H
Converting decimal to hex
21 Lê Chí Thông Ref. I. Scott Mackenzie
1 1 1 0 1 1 0 1 0 1 1 1 0 1 . 0 1 1 0 1 0 1 B 0 0 0
. 6 A H
2 C 9 . E 8 H
0 0 1 0 1 1 0 0 1 0 0 1 . 1 1 1 0 1 0 0 0 B
3 B 5 D
Converting binary to hex
Converting binary to octal
22 Lê Chí Thông Ref. I. Scott Mackenzie
ĐH Bách Khoa TP.HCM Lê Chí Thông
sites.google.com/site/chithong 12
BCD (Binary Coded Decimal)
Decimal
0
1
2
3
4
5
6
7
8
9
BCD
(8 4 2 1)
0 0 0 0
0 0 0 1
0 0 1 0
0 0 1 1
0 1 0 0
0 1 0 1
0 1 1 0
0 1 1 1
1 0 0 0
1 0 0 1
Ex: 12 = 0001 0010 (BCD)
39 = 0011 1001 (BCD)
23 Lê Chí Thông Ref. I. Scott Mackenzie
ASCII Code
b
6
b
5
b
4
0 0 0 0 0 1 0 1 0 0 1 1 1 0 0 1 0 1 1 1 0 1 1 1
b
3
b
2
b
1
b
0
Hex 0 1 2 3 4 5 6 7
0 0 0 0
0 0 0 1
0 0 1 0
0 0 1 1
0 1 0 0
0 1 0 1
0 1 1 0
0 1 1 1
1 0 0 0
1 0 0 1
1 0 1 0
1 0 1 1
1 1 0 0
1 1 0 1
1 1 1 0
1 1 1 1
0
1
2
3
4
5
6
7
8
9
A
B
C
D
E
F
NUL
SOH
STX
ETX
EOT
ENQ
ACK
BEL
BS
HT
LF
VT
FF
CR
SO
SI
DLE
DC1
DC2
DC3
DC4
NAK
SYN
ETB
CAN
EM
SUB
ESC
FS
GS
RS
US
SP
!
”
#
$
%
&
’
(
)
*
+
,
-
.
/
0
1
2
3
4
5
6
7
8
9
:
;
<
=
>
?
@
A
B
C
D
E
F
G
H
I
J
K
L
M
N
O
P
Q
R
S
T
U
V
W
X
Y
Z
[
\
]
^
_
`
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
z
{
|
}
~
DEL
24 Lê Chí Thông Ref. I. Scott Mackenzie
ĐH Bách Khoa TP.HCM Lê Chí Thông
sites.google.com/site/chithong 13
Boolean (Logical) Operations
a NOT a
0 1
1 0
a b a AND b
0 0 0
0 1 0
1 0 0
1 1 1
a b a OR b
0 0 0
0 1 1
1 0 1
1 1 1
a b a XOR b
0 0 0
0 1 1
1 0 1
1 1 0
25 Lê Chí Thông Ref. I. Scott Mackenzie
26
• Force a bit or bits to zero
– Sometimes called "masking out bits"
• Use a "mask" byte with
– 0's in positions to be cleared (forced to 0)
– 1's in positions to be unchanged
• Perform an AND with the mask
– x AND 0 = 0 (domination)
– x AND 1 = x (identity)
Applying Boolean Operations
Lê Chí Thông Ref. I. Scott Mackenzie
ĐH Bách Khoa TP.HCM Lê Chí Thông
sites.google.com/site/chithong 14
27
• Force a bit or bits to one
– Sometimes called "setting bits"
• Use a "mask" byte with
– 1's in positions to be set (forced to 1)
– 0's in positions to be unchanged
• Perform an OR with the mask
– x OR 0 = x (identity)
– x OR 1 = 1 (domination)
Applying Boolean Operations
Lê Chí Thông Ref. I. Scott Mackenzie
28
• Toggle a bit or bits
– Sometimes called "flipping or complementing
bits"
• Use a "mask" byte with
– 1's in positions to be toggled (complemented)
– 0's in positions to be unchanged
• Perform an XOR with the mask
– x XOR 0 = x (identity)
– x XOR 1 = NOT x
Applying Boolean Operations
Lê Chí Thông Ref. I. Scott Mackenzie
ĐH Bách Khoa TP.HCM Lê Chí Thông
sites.google.com/site/chithong 15
29
• Bit patterns from two bytes are to be combined
– The important bits of each byte must be aligned with 0 (and
unimportant) bits in the other byte
• The OR of the two bytes, combines them into one
– The bold bits are the important ones:
00110000
OR 00001010
00111010
Combining Bits in Separate Bytes
Lê Chí Thông Ref. I. Scott Mackenzie
30
• Move bits in a byte to the left or right
– 11011100 shifted left is 10111000
– 11011100 shifted right is 01101110
• In these examples, a zero (0) was brought in to
fill the vacated position
– Variations on the basic shift fill this position
differently
Shifting
Lê Chí Thông Ref. I. Scott Mackenzie
ĐH Bách Khoa TP.HCM Lê Chí Thông
sites.google.com/site/chithong 16
31
• Move bits in a byte to the left or right in a
circular pattern
– 11011100 rotated left is 10111001
– 11011100 rotated right is 01101110
• In these examples, the bit shifted out is used to
fill the vacated position
– There are some variations of this behavior as well
Rotating
Lê Chí Thông Ref. I. Scott Mackenzie
32
• When a byte (or word) is interpreted
numerically (as a binary representation of a
number)
– Left shift is equivalent to multiplication by 2
– Right shift is equivalent to division by 2
– 5CH shifted left becomes B8H
• 92 * 2 = 184
– 5CH shifted right is 2EH
• 92 / 2 = 46 (remainder if any is thrown away)
Application of Shifts
Lê Chí Thông Ref. I. Scott Mackenzie
ĐH Bách Khoa TP.HCM Lê Chí Thông
sites.google.com/site/chithong 17
33
• Every multiplication can be accomplished by
shifting and adding
– Just regroup using only multiplications by powers
of 2 and additions
• 10 * n = (8 + 2) * n
• = 8 * n + 2 * n
– or
• 10 * n = (2 * (4 + 1)) n
• = 2 * (4 * n + n)
Multiplication Tricks
Lê Chí Thông Ref. I. Scott Mackenzie
• A computer system
component that allows
the storage and retrieval
of data
• Main memory is usually
called RAM
• Memory is usually
organized as a table of
bytes or words
0000 3F
0001 2C
0002 41
0003 FF
0004 00
0005 1E
Addresses
are usually
shown in
hexadecimal
Data values
are usually
bytes
Memory
34 Lê Chí Thông Ref. I. Scott Mackenzie
ĐH Bách Khoa TP.HCM Lê Chí Thông
sites.google.com/site/chithong 18
35
• RAM: Random Access Memory
– Access time does not vary by address
– Read & write memory
– Typically volatile
• ROM: Read Only Memory
– Also a random access memory
– Retains data even when power is removed
RAM and ROM
Lê Chí Thông Ref. I. Scott Mackenzie
36
RAM and ROM
RAM ROM
Lê Chí Thông Ref. I. Scott Mackenzie
ĐH Bách Khoa TP.HCM Lê Chí Thông
sites.google.com/site/chithong 19
37
References
Lê Chí Thông
• I. Scott Mackenzie, The 8051 Microcontroller
• Nguyễn Trọng Luật, Bài giảng Kỹ Thuật Số
• Các tài liệu trên Internet không trích dẫn hoặc không ghi tác
giả
Ref. I. Scott Mackenzie
File đính kèm:
microprocessing_systems_chapter_1_introduction_to_microcontr.pdf

