Tải bản đầy đủ (.pdf) (50 trang)

Bài giảng Kỹ thuật Vi xử lý P1

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (782.98 KB, 50 trang )

Bài
Bài
giảng
giảng
Kỹ
Kỹ
thuật
thuật
Vi
Vi
xử lý
xử lý
Ngành Điện tử
Ngành Điện tử
-
-
Viễn thông
Viễn thông
Đại học Bách khoa Đà Nẵng
Đại học Bách khoa Đà Nẵng
của
của
Hồ
Hồ
Viết Việt
Viết Việt
,
,
Khoa
Khoa
CNTT


CNTT
-
-
ĐTVT
ĐTVT
Tài liệu tham khảo
Tài liệu tham khảo
[1] Kỹ
[1] Kỹ
thuật
thuật
vi
vi
xử lý
xử lý
,
,
Văn Thế Minh
Văn Thế Minh
, NXB
, NXB
Giáo
Giáo
dục
dục
, 1997
, 1997
[2] Kỹ
[2] Kỹ
thuật

thuật
vi
vi
xử lý và Lập trình
xử lý và Lập trình
Assembly
Assembly
cho
cho
hệ
hệ
vi
vi
xử lý
xử lý
,
,
Đỗ Xuân Tiến
Đỗ Xuân Tiến
, NXB
, NXB
Khoa học
Khoa học
&
&
kỹ
kỹ
thuật
thuật
, 2001

, 2001
Chương
Chương
1
1
Các hệ thống số
Các hệ thống số
,
,
mã hoá
mã hoá
,
,
linh kiện số cơ bản
linh kiện số cơ bản
1.1
1.1
Các hệ thống số
Các hệ thống số
-
-
Hệ
Hệ
thập phân
thập phân
-
-
Hệ
Hệ
nhị phân

nhị phân
-
-
Hệ
Hệ
thập lục phân
thập lục phân
1.2
1.2
Các hệ thống mã hoá
Các hệ thống mã hoá
-
-
ASCII
ASCII
-
-
BCD
BCD
1.3
1.3
Các linh kiện điện tử số cơ bản
Các linh kiện điện tử số cơ bản
-
-
Các cổng
Các cổng
logic: AND, OR, XOR,NOT
logic: AND, OR, XOR,NOT
-

-
Các bộ giải mã
Các bộ giải mã
,
,
Các
Các
IC
IC
chốt
chốt
,
,
đêm
đêm
1.1
1.1
Các hệ thống số
Các hệ thống số


Hệ
Hệ
đếm thập phân
đếm thập phân
(Decimal)
(Decimal)


Còn gọi là hệ đếm cơ số mười

Còn gọi là hệ đếm cơ số mười
(
(
Vì có quá ít người có chín ngón tay hoặc mười một ngón chân
Vì có quá ít người có chín ngón tay hoặc mười một ngón chân
?)
?)


Dùng mười ký hiệu
Dùng mười ký hiệu
:
:
1,2,3,4,5,6,7,8,9,0
1,2,3,4,5,6,7,8,9,0


Ví dụ
Ví dụ
:1.1:
:1.1:
Ba nghìn Chín trăm Bảy mươi Tám
Ba nghìn Chín trăm Bảy mươi Tám
3978
3978
= 3x10
= 3x10
3
3
+ 9x10

+ 9x10
2
2
+ 7x10
+ 7x10
1
1
+ 8x10
+ 8x10
0
0
= 3000 + 900 + 70 + 8
= 3000 + 900 + 70 + 8
1.1
1.1
Các hệ thống số
Các hệ thống số


Hệ
Hệ
đếm nhị phân
đếm nhị phân
(Binary)
(Binary)


Còn gọi là
Còn gọi là
Hệ

Hệ
đếm cơ số hai
đếm cơ số hai


Sử
Sử
dụng hai ký hiệu
dụng hai ký hiệu
(bit): 0
(bit): 0


1
1
(
(
Các hệ thống điện tử số chỉ sử dụng hai mức điện áp
Các hệ thống điện tử số chỉ sử dụng hai mức điện áp
?)
?)


Kích cỡ
Kích cỡ
, LSB, MSB
, LSB, MSB
của số nhị phân
của số nhị phân



Số
Số
nhị phân không dấu
nhị phân không dấu
(Unsigned)
(Unsigned)


Số
Số
nhị phân có dấu
nhị phân có dấu
(Số
(Số
bù hai
bù hai
)
)
Số
Số
nhị phân
nhị phân


Mỗi ký hiệu
Mỗi ký hiệu
0
0
hoặc

hoặc
1
1
được gọi là
được gọi là
1 Bit (
1 Bit (
B
B
inary
inary
Dig
Dig
it
it
-
-
Chữ số nhị phân
Chữ số nhị phân
)
)


Kích cỡ của một số nhị phân là số
Kích cỡ của một số nhị phân là số
bit
bit
của nó
của nó



MSB (Most Significant Bit): Bit
MSB (Most Significant Bit): Bit
sát trái
sát trái


LSB (Least Significant Bit): Bit
LSB (Least Significant Bit): Bit
sát phải
sát phải


Ví dụ
Ví dụ
1.1:
1.1:
1010101010101010
1010101010101010
là một số nhị phân
là một số nhị phân
16
16
-
-
bit
bit
MSB LSB
Số
Số

nhị phân không dấu
nhị phân không dấu


Chỉ biểu diễn được các giá trị không
Chỉ biểu diễn được các giá trị không
âm
âm
(>= 0)
(>= 0)


Với
Với
n
n
-
-
bit
bit
có thể biểu diễn các giá trị
có thể biểu diễn các giá trị
từ
từ
0
0
đến
đến
2
2

n
n


1
1


Ví dụ
Ví dụ
1.3:
1.3:
Giá trị
Giá trị
V
V
của số nhị phân
của số nhị phân
không dấu
không dấu
1101
1101
được tính
được tính
:
:
V(1101) = 1x2
V(1101) = 1x2
3
3

+ 1x2
+ 1x2
2
2
+ 0x2
+ 0x2
1
1
+ 1x2
+ 1x2
0
0
= 8 + 4 + 0 + 1 = 13
= 8 + 4 + 0 + 1 = 13
Số
Số
nhị phân không dấu
nhị phân không dấu


Tổng quát
Tổng quát
:
:
Nếu số nhị phân
Nếu số nhị phân
N n
N n
-
-

bit:
bit:
N = b
N = b
( n
( n
-
-
1)
1)
b
b
( n
( n
-
-
2)
2)
….
….
b
b
1
1
b
b
0
0
thì giá trị
thì giá trị

V
V
của nó là
của nó là
:
:
V = b
V = b
(n
(n
-
-
1)
1)
x 2
x 2
(n
(n
-
-
1)
1)
+b
+b
(n
(n
-
-
2)
2)

x2
x2
(n
(n
-
-
2)
2)
+
+


+ b
+ b
1
1
x 2
x 2
1
1
+ b
+ b
0
0
x 2
x 2
0
0
Các số nhị phân không dấu
Các số nhị phân không dấu

4
4
-
-
bit
bit
biểu
biểu
diễn được các giá trị từ
diễn được các giá trị từ
?
?
đến
đến
?
?
16
16
giá trị từ
giá trị từ
0
0
đến
đến
15
15
Nhị phân không dấu
Nhị phân không dấu
Giá trị thập phân
Giá trị thập phân

0000
0000
0
0
0001
0001
1
1
0010
0010
2
2
0011
0011
3
3
0100
0100
4
4
0101
0101
5
5
0110
0110
6
6
0111
0111

7
7
1000
1000
8
8
1001
1001
9
9
1010
1010
10
10
1011
1011
11
11
1100
1100
12
12
1101
1101
13
13
1110
1110
14
14

1111
1111
15
15
Số
Số
nhị phân không dấu
nhị phân không dấu


Dải giá
Dải giá
tri
tri
của các số không dấu
của các số không dấu
8
8
-
-
bit
bit


[0,255]
[0,255]
(unsigned char
(unsigned char
trong
trong

C)
C)


Dải giá
Dải giá
tri
tri
của các số không dấu
của các số không dấu
16
16
-
-
bit
bit


[0,65535]
[0,65535]
(unsigned
(unsigned
int trong
int trong
C)
C)
Chuyển đổi thập phân
Chuyển đổi thập phân
sang
sang

nhị phân
nhị phân

Ví dụ 1.4
Chuyển 25 sang nhị phân không dấu. Dùng phương pháp
chia 2 liên tiếp
Chia 2 Thương số Dư số

25/2 = 12 1 LSB

12/2 = 6 0

6/2 = 3 0

3/2 = 1 1

1/2 = 0 1 MSB
Kết quả là: 11001
Số
Số
nhị phân có dấu
nhị phân có dấu


Biểu diễn được cả các giá trị âm
Biểu diễn được cả các giá trị âm


Còn gọi là
Còn gọi là

Số
Số
bù hai
bù hai


Với
Với
n
n
-
-
bit
bit
có thể biểu diễn các giá trị
có thể biểu diễn các giá trị
từ
từ


2
2
(n
(n
-
-
1)
1)
đến
đến

2
2
(n
(n
-
-
1)
1)


1
1


Ví dụ
Ví dụ
1.3:
1.3:
Giá trị
Giá trị
V
V
của số nhị phân
của số nhị phân
có dấu
có dấu
1101
1101
được tính
được tính

:
:
V(1101) =
V(1101) =


1x2
1x2
3
3
+ 1x2
+ 1x2
2
2
+ 0x2
+ 0x2
1
1
+ 1x2
+ 1x2
0
0
=
=


8 + 4 + 0 + 1 =
8 + 4 + 0 + 1 =



3
3
Số
Số
nhị phân có dấu
nhị phân có dấu


Tổng quát
Tổng quát
:
:
Nếu số nhị phân
Nếu số nhị phân
N n
N n
-
-
bit:
bit:
N = b
N = b
( n
( n
-
-
1)
1)
b
b

( n
( n
-
-
2)
2)
….
….
b
b
1
1
b
b
0
0
thì giá trị
thì giá trị
V
V
của nó là
của nó là
:
:
V =
V =


b
b

(n
(n
-
-
1)
1)
x 2
x 2
(n
(n
-
-
1)
1)
+b
+b
(n
(n
-
-
2)
2)
x2
x2
(n
(n
-
-
2)
2)

+
+


+ b
+ b
1
1
x 2
x 2
1
1
+ b
+ b
0
0
x 2
x 2
0
0
Các số nhị phân có dấu
Các số nhị phân có dấu
4
4
-
-
bit
bit
biểu diễn
biểu diễn

được các giá trị từ
được các giá trị từ
?
?
đến
đến
?
?
16
16
giá trị từ
giá trị từ
-
-
8
8
đến
đến
7
7
Nhị phân có dấu
Nhị phân có dấu
Giá trị thập phân
Giá trị thập phân
0000
0000
0
0
0001
0001

1
1
0010
0010
2
2
0011
0011
3
3
0100
0100
4
4
0101
0101
5
5
0110
0110
6
6
0111
0111
7
7
1000
1000
-
-

8
8
1001
1001
-
-
7
7
1010
1010
-
-
6
6
1011
1011
-
-
5
5
1100
1100
-
-
4
4
1101
1101
-
-

3
3
1110
1110
-
-
2
2
1111
1111
-
-
1
1
Số
Số
nhị phân có dấu
nhị phân có dấu


Dải giá
Dải giá
tri
tri
của các số có dấu
của các số có dấu
8
8
-
-

bit
bit


[
[
-
-
128,+127]
128,+127]
(char
(char
trong
trong
C)
C)


Dải giá
Dải giá
tri
tri
của các số có dấu
của các số có dấu
16
16
-
-
bit
bit



[
[
-
-
32768,+32767]
32768,+32767]
(
(
int trong
int trong
C)
C)
Tìm đối số
Tìm đối số
(
(
Lấy bù
Lấy bù
2)
2)

Tổng của một số với đối số củanóbằng 0

Ví dụ 1.5
Đối số của số nhị phân có dấu 10011101?
10011101 Số có dấu (-99)

01100010 Lấy bù 1


+ 1 Cộng 1
-------------
01100011 Kết quả (+99)
Chuyển số thập phân
Chuyển số thập phân
sang
sang
nhị phân có dấu
nhị phân có dấu


Vơí số dương
Vơí số dương
:
:
Giống như chuyển thập
Giống như chuyển thập
phân
phân
sang
sang
nhị phân không dấu rồi
nhị phân không dấu rồi
thêm
thêm
bit 0
bit 0
vào
vào

sát bên trái
sát bên trái


Ví dụ
Ví dụ
:
:
Chuyển
Chuyển
25 sang
25 sang
nhị phân có
nhị phân có
dấu
dấu
:
:
Kết quả
Kết quả
:
:
0
0
11011
11011


Với số âm
Với số âm

:
:
Chuyển đối số
Chuyển đối số
sang
sang
nhị
nhị
phân có dấu rồi lấy bù
phân có dấu rồi lấy bù
2
2
Chuyển số thập phân
Chuyển số thập phân
sang
sang
nhị phân có dấu
nhị phân có dấu
V
V
í dụ
í dụ
1.6
1.6
Chuyển
Chuyển


26 sang
26 sang

nhị phân
nhị phân
1.
1.
chuyển đối số
chuyển đối số
:
:
+26
+26
= 11010
= 11010
2.
2.
Đưa
Đưa
0
0
vào sát trái
vào sát trái
:
:
011010
011010
3.
3.
B
B
ù
ù

1
1
:
:
100101
100101
4.
4.
C
C
ộng
ộng
1:
1:
+ 1
+ 1
-------------
-------------
-
-
26 =
26 =
100110
100110
Số
Số
thập lục phân
thập lục phân



Quen gọi là số Hexa
Quen gọi là số Hexa
(Hexadecimal)
(Hexadecimal)


Còn gọi là hệ đếm cơ số mười sáu
Còn gọi là hệ đếm cơ số mười sáu


Sử
Sử
dụng
dụng
16
16
ký hiệu để biểu diễn
ký hiệu để biểu diễn
:
:
0,1,2,3,4,5,6,7,8,9,A,B,C,D,E,F
0,1,2,3,4,5,6,7,8,9,A,B,C,D,E,F


Mỗi ký hiệu tương ứng với
Mỗi ký hiệu tương ứng với
4
4
-
-

bit
bit


Mục đích
Mục đích
:
:
Biểu diễn số nhị phân
Biểu diễn số nhị phân


dạng ngắn gọn
dạng ngắn gọn
11110000
11110000
=
=
F0
F0
10101010
10101010
=
=
AA
AA
01010101
01010101
=
=

55
55
Nhị phân Thập lục phân
Nhị phân Thập lục phân
Mỗi ký hiệu tương ứng với
Mỗi ký hiệu tương ứng với
4
4
-
-
bit
bit
Hexa
Hexa
Binary
Binary
Hexa
Hexa
Binary
Binary
0
0
0000
0000
8
8
1000
1000
1
1

0001
0001
9
9
1001
1001
2
2
0010
0010
A
A
1010
1010
3
3
0011
0011
B
B
1011
1011
4
4
0100
0100
C
C
1100
1100

5
5
0101
0101
D
D
1101
1101
6
6
0110
0110
E
E
1110
1110
7
7
0111
0111
F
F
1111
1111
Chuyển đổi Hexa
Chuyển đổi Hexa
&
&
nhị phân
nhị phân


Ví dụ 1.7
Chuyển số hexa 2F8 và ABBA sang nhị
phân
Thay thế mỗi ký hiệu hexa bằng 4-bit
tương ứng với nó
2 F 8
0010 1111 1000
AB BA
1010 1011 1011 1010

Kết quả 2F8h = 001011111000b
ABBAh = 1010101110111010b

×