Bài giảng Microprocessing Systems - Chapter 1: Introduction to Microcontrollers - Lê Chí Thông

ĐH Bách Khoa TP.HCM  
Lê Chí Thông  
Microprocessing Systems  
Lê Chí Thông  
Ref. I. Scott Mackenzie, The 8051 Microcontroller  
Objectives  
• Introduction fundamentals and applications of  
microprocessors and microcomputers.  
• Architecture, the instruction set, and applications of  
8051 microcontroller family  
• Basic applications of microprocessors, such as  
input/output, analog-digital conversion (ADC), and  
digital-analog conversion (DAC), and data acquisition.  
Ref. I. Scott Mackenzie  
Lê Chí Thông  
2
sites.google.com/site/chithong  
1
ĐH Bách Khoa TP.HCM  
Lê Chí Thông  
Textbooks  
• I. Scott MacKenzie, ”The 8051 Microcontroller”, 2nd  
Edition, Prentice-Hall, 1995  
• Kenneth J. Ayala, “The 8051 Microcontroller:  
Architecture, Programming, and Applications”, West  
Publishing Company  
Ref. I. Scott Mackenzie  
Lê Chí Thông  
3
Chapter 1  
Introduction to Microcontrollers  
Ref. I. Scott Mackenzie  
Lê Chí Thông  
4
sites.google.com/site/chithong  
2
ĐH Bách Khoa TP.HCM  
Lê Chí Thông  
These are …  
embedded systems  
An embedded system is a system in which a  
processor/microcontroller/computer is embedded to  
Rpef. eI. SrcofttoMracmkenziea specific task or tasks  
Lê Chí Thông  
5
Microprocessors  
Control Unit  
• Integrated ALU and CU  
(CU)  
• No RAM, ROM, I/O on CPU chip itself  
• Example: Intel’s x86, Motorola’s 680x0  
Arithmetic  
Logical Unit (ALU)  
Central Processing Unit (CPU)  
Many chips on mother’s board  
Data Bus  
RAM  
CPU  
General-  
Purpose  
Micro-  
Serial  
Port  
I/O  
Port  
ROM  
Timer  
processor  
Address Bus  
General-Purpose Microprocessor System  
Ref. I. Scott Mackenzie  
Lê Chí Thông  
6
sites.google.com/site/chithong  
3
ĐH Bách Khoa TP.HCM  
Lê Chí Thông  
FIGURE 1–2  
Block diagram of a microcomputer system  
Architecture of computers  
Ref. I. Scott Mackenzie  
Lê Chí Thông  
7
FIGURE 1–3  
The central processing unit (CPU)  
Architecture of CPU  
PC-  
Program counter  
Ref. I. Scott Mackenzie  
Lê Chí Thông  
8
sites.google.com/site/chithong  
4
ĐH Bách Khoa TP.HCM  
Lê Chí Thông  
FIGURE 1–4  
Bus activity for an opcode fetch cycle  
Opcode fetch, decode, execution  
Ref. I. Scott Mackenzie  
Lê Chí Thông  
9
FIGURE 1–5  
Levels of software  
Shell, GUI – user  
- hardware  
Utilities  
Booster loader,  
BIOS  
Keyboard, monitor  
Other hardwires  
Ref. I. Scott Mackenzie  
Lê Chí Thông  
10  
sites.google.com/site/chithong  
5
ĐH Bách Khoa TP.HCM  
Lê Chí Thông  
FIGURE 1–6  
Detailed block diagram of a microcomputer system  
Ref. I. Scott Mackenzie  
Lê Chí Thông  
11  
Microcontrollers  
• 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  
CPU RAM ROM  
A single chip  
Serial  
I/O  
Port  
Timer  
COM  
Port  
Microcontroller  
Ref. I. Scott Mackenzie  
Lê Chí Thông  
12  
sites.google.com/site/chithong  
6
ĐH Bách Khoa TP.HCM  
Lê Chí Thông  
Microcontroller Architectures  
Memory  
0
Address Bus  
Program  
+ Data  
Von Neumann  
Data Bus  
CPU  
CPU  
Architecture  
2n  
Memory  
0
Address Bus  
Program  
Fetch Bus  
Harvard  
Architecture  
0
Address Bus  
Data Bus  
Data  
Ref. I. Scott Mackenzie  
Lê Chí Thông  
13  
Embedded System  
• 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  
Ref. I. Scott Mackenzie  
Lê Chí Thông  
14  
sites.google.com/site/chithong  
7
ĐH Bách Khoa TP.HCM  
Lê Chí Thông  
Embedded System  
sensor  
actuator  
indicator  
Microcontroller  
(uC)  
sensor  
sensor  
Ref. I. Scott Mackenzie  
Lê Chí Thông  
15  
Representation of Number Systems  
• 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:  
j = - 1  
i = n - 1  
=
i
j
(Number)r  
( )+( )  
A r  
A r  
i
j
i = 0  
j = - m  
+
(Integer Portion) (Fraction Portion)  
Ref. I. Scott Mackenzie  
Lê Chí Thông  
16  
sites.google.com/site/chithong  
8
ĐH Bách Khoa TP.HCM  
Lê Chí Thông  
Representation of Number Systems  
General  
r
Decimal  
10  
Binary  
2
Radix (Base)  
Digits  
0 => r - 1  
0 => 9  
0 => 1  
0
1
2
3
4
5
r0  
r1  
r2  
r3  
r4  
1
1
2
10  
100  
4
1000  
10,000  
100,000  
0.1  
8
Powers of  
Radix  
16  
r5  
32  
-1  
-2  
-3  
-4  
-5  
r -1  
r -2  
r -3  
r -4  
r -5  
0.5  
0.01  
0.25  
0.125  
0.0625  
0.03125  
0.001  
0.0001  
0.00001  
Ref. I. Scott Mackenzie  
Lê Chí Thông  
17  
Decimal (Radix r = 10)  
4
0
7
.
6
2
5
102  
4x102  
400  
101  
0x101  
0
100  
7x100  
7
.
.
.
10-1  
10-2  
10-3  
6x10-1 2x10-2 5x10-3  
0.6 0.02 0.005  
400 + 0 + 7 + 0.6 + 0.02 + 0.005 = 407.625  
Binary (Radix r = 2)  
1
0
1
.
0
1
1
22  
1x22  
4
21  
0x21  
0
20  
1x20  
1
.
.
.
2-1  
0x2-1  
0
2-2  
2-3  
1x2-2  
1x2-3  
0.25  
0.125  
101.011 B = 4 + 0 + 1 + 0 + 0.25 + 0.125 = 5.375  
Ref. I. Scott Mackenzie  
Lê Chí Thông  
18  
sites.google.com/site/chithong  
9
ĐH Bách Khoa TP.HCM  
Lê Chí Thông  
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
8
9
1000  
1001  
1010  
1011  
1100  
1101  
1110  
1111  
A
B
C
D
E
F
10  
11  
12  
13  
14  
15  
5
A
0
.
4
D
1
162  
5x162 10x161 0x160  
1280 160  
161  
160  
.
.
.
16-1  
16-2  
16-3  
4x16-1 13x16-2 1x16-3  
0
0.25 0.0508 0.0002  
5A0.4D1 H = 1280 + 160 + 0 + 0.25 + 0.0508 + 0.0002 = 1440.301  
Ref. I. Scott Mackenzie  
Lê Chí Thông  
19  
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  
1 0 0 0 . 1 0 1 B  
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  
Ref. I. Scott Mackenzie  
Lê Chí Thông  
20  
sites.google.com/site/chithong  
10  
ĐH Bách Khoa TP.HCM  
Lê Chí Thông  
Converting decimal to hex  
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  
5 C 8 . 6 E H  
0.4296875 x 16 = 6.875 save the integer digit 6  
0.875  
x 16 = 14.0 save the integer digit 14  
Ref. I. Scott Mackenzie  
Lê Chí Thông  
21  
Converting binary to hex  
0 0  
1 1 1 0 1 1 0 1 0 1 1 1 0 1 . 0 1 1 0 1 0 1 B  
0
3
B
5
D .  
6
A
H
Converting binary to octal  
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  
Ref. I. Scott Mackenzie  
Lê Chí Thông  
22  
sites.google.com/site/chithong  
11  
ĐH Bách Khoa TP.HCM  
Lê Chí Thông  
BCD (Binary Coded Decimal)  
Decimal  
BCD  
(8 4 2 1)  
0
1
2
3
4
5
6
7
8
9
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)  
Ref. I. Scott Mackenzie  
Lê Chí Thông  
23  
ASCII Code  
b6 b5 b4  
0 0 0 0 0 1 0 1 0 0 1 1 1 0 0 1 0 1 1 1 0 1 1 1  
b3b2b1b0 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  
0
1
NUL DLE SP  
0
1
2
3
4
5
6
7
8
9
:
@
A
B
C
D
E
F
P
Q
R
S
`
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
SOH DC1  
STX DC2  
ETX DC3  
EOT DC4  
ENQ NAK  
ACK SYN  
BEL ETB  
BS CAN  
!
”
#
$
%
&
’
q
2
r
3
s
4
T
U
V
W
X
Y
Z
[
t
5
u
6
v
7
G
H
I
w
8
(
x
9
HT  
LF  
EM  
)
y
A
B
C
D
E
F
SUB  
VT ESC  
*
+
,
J
z
;
K
L
M
N
O
{
FF  
CR  
SO  
SI  
FS  
GS  
RS  
US  
<
=
>
?
\
|
-
]
}
1 1 1 0  
.
^
~
Ref. I. Scott Mackenzie  
Lê Chí Thông  
1 1 1 1  
/
_
DEL 24  
sites.google.com/site/chithong  
12  
ĐH Bách Khoa TP.HCM  
Lê Chí Thông  
Boolean (Logical) Operations  
a
0
1
NOT a  
a
0
0
1
1
b
0
1
0
1
a AND b  
0
0
0
1
1
0
a
b
a XOR b  
a
b
0
1
0
1
a OR b  
0
0
1
1
0
1
0
1
0
1
1
0
0
0
1
1
0
1
1
1
Ref. I. Scott Mackenzie  
Lê Chí Thông  
25  
Applying Boolean Operations  
• 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)  
Ref. I. Scott Mackenzie  
Lê Chí Thông  
26  
sites.google.com/site/chithong  
13  
ĐH Bách Khoa TP.HCM  
Lê Chí Thông  
Applying Boolean Operations  
• 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)  
Ref. I. Scott Mackenzie  
Lê Chí Thông  
27  
Applying Boolean Operations  
• 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  
Ref. I. Scott Mackenzie  
Lê Chí Thông  
28  
sites.google.com/site/chithong  
14  
ĐH Bách Khoa TP.HCM  
Lê Chí Thông  
Combining Bits in Separate Bytes  
• 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  
Ref. I. Scott Mackenzie  
Lê Chí Thông  
29  
Shifting  
• 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  
Ref. I. Scott Mackenzie  
Lê Chí Thông  
30  
sites.google.com/site/chithong  
15  
ĐH Bách Khoa TP.HCM  
Lê Chí Thông  
Rotating  
• 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  
Ref. I. Scott Mackenzie  
Lê Chí Thông  
31  
Application of Shifts  
• 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)  
Ref. I. Scott Mackenzie  
Lê Chí Thông  
32  
sites.google.com/site/chithong  
16  
ĐH Bách Khoa TP.HCM  
Lê Chí Thông  
Multiplication Tricks  
• 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)  
Ref. I. Scott Mackenzie  
Lê Chí Thông  
33  
Memory  
• A computer system  
0000  
0001  
0002  
0003  
0004  
0005  
3F  
2C  
41  
FF  
00  
1E  
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  
Addresses  
are usually  
shown in  
Data values  
are usually  
bytes  
hexadecimal  
Lê Chí Thông  
Ref. I. Scott Mackenzie  
34  
sites.google.com/site/chithong  
17  
ĐH Bách Khoa TP.HCM  
Lê Chí Thông  
RAM and ROM  
• 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  
Ref. I. Scott Mackenzie  
Lê Chí Thông  
35  
RAM and ROM  
RAM  
ROM  
Ref. I. Scott Mackenzie  
Lê Chí Thông  
36  
sites.google.com/site/chithong  
18  
ĐH Bách Khoa TP.HCM  
Lê Chí Thông  
References  
• 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  
Lê Chí Thông  
37  
sites.google.com/site/chithong  
19  
pdf 19 trang myanh 26320 Free
Bạn đang xem tài liệu "Bài giảng Microprocessing Systems - Chapter 1: Introduction to Microcontrollers - Lê Chí Thông", để tải tài liệu gốc về máy hãy click vào nút Download ở trên

File đính kèm:

  • pdfbai_giang_microprocessing_systems_chapter_1_introduction_to.pdf