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

BAI GIANG VI XU LY_ Cong Nghe Thong Tin

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 (7.98 MB, 188 trang )

KỸ THUẬT VI XỬ LÝ
M ICROPROCESSOR

Giảng viên: ThS. LƯU HOÀNG


NỘI DUNG MÔN HỌC

1.
2.
3.
4.
5.
6.
7.

Giới thiệu chung về hệ vi xử lý
Cấu trúc và tập lệnh của vi xử lý
Giới thiệu vi điều khiển
Khảo sát tập lệnh vi điều khiển
Khảo sát timer – counter của vi điều khiển
Hoạt động ngắt và xử lý ngắt
Truyền dữ liệu nối tiếp


TÀI LIỆU THAM KHẢO

¡ Họ vi điều khiển 8051-Tống Văn On, Hoàng Đức Hải –
NXB Lao Động Xã Hội.
¡ Kỹ thuật Vi xử lý - Phạm Hữu Lộc, Phạm Quang Trí - NXB
ĐH Quốc gia Tp HCM.


¡ Cấu trúc và lập trình họ vi điều khiển 8051 – Nguyễn
Tăng Cường, Phan Quốc Thắng – NXB KH & KT.
¡ Kỹ thuật vi xử lý và lập trình Assembly cho hệ vi xử lý –
Đỗ Xuân Tiến - NXB KH & KT.
¡ Bài giảng vi xử lý – ĐH Sư phạm Kỹ thuật.
¡ Bài giảng vi xử lý – ĐH Bách khoa HCM.


MỤC ĐÍCH CỦA MÔN HỌC
¡ Nắm được cấu trúc, nguyên lý hoạt động của bộ vi xử lý
và hệ vi xử lý
¡ Có khả năng lập trình bằng hợp ngữ cho vi xử lý
¡ Có khả năng lựa chọn vi xử lý thích hợp cho các ứng
dụng cụ thể
¡ Nắm được các bộ vi xử lý trên thực tế


ĐÁNH GIÁ KẾT QUẢ HỌC TẬP
¡

Bài kiểm tra (30% điểm)
§
§
§

¡

Điểm chuyên cần (10% điểm)
§
§

§

¡

Kiểm tra 15’ vào giữa học kỳ.
Kiểm tra 1 tiết vào cuối học kỳ.
Không được thi lần 1, 2 nếu không làm bài kiểm tra.
Đi học đầy đủ và nghiêm túc.
Làm đủ 2 bài kiểm tra và đạt trên trung bình.
Không được thi nếu vắng 2 bài kiểm tra hoặc không đạt cả 2
bài kiểm tra.

Thi cuối kỳ (60% điểm)
1. Lý thuyết: Xem mục đích của môn học
2. Bài tập: Lập trình hợp ngữ


ÔN TẬP KỸ THUẬT SỐ

1.
2.
3.
4.
5.

Các hệ đếm dùng trong máy tính
Cộng, trừ, nhân, chia số nhị phân
Biểu diễn số có dấu
Biểu diễn số thực
Mã BCD và mã ASCII



1.3.1 CÁC HỆ ĐẾM
HỆ THẬP PHÂN
¡ 1234,567 10 =
§ 1•1000+2•100+3•10+4•1+5•0.1+6•0.01+7•0.001
§ 1•10 3 +2•10 2 +3•10 1 +4•10 0 +5•10 -1 +6•10 -2 +7•10 -3
§ r = cơ số (r = 10), d=digit (0 £ d £ 9), n = số chữ số trước dấu
phẩy, m = số chữ số sau dấu phẩy

D=

n -1

åd

i =- m

i

·r

i

7/Chapter
1


1.3.1 CÁC HỆ ĐẾM
HỆ NHỊ PHÂN

¡ 1011,011 2 =
§ 1•8+0•4+1•2+1•1+0•0.5+1•0.25+1•0.125
§ 1•2 3 +0•2 2 +1•2 1 +1•2 0 +0•2 -1 +1•2 -2 +1•2 -3
§ r = cơ số (r = 2), d=digit (0 £ d £ 1), n = số chữ số trước dấu
phẩy, m = số chữ số sau dấu phẩy

B=

n -1

åd

i =- m

i

·2

i


1.3.1 CÁC HỆ ĐẾM
HỆ 8 (OCTAL)
¡ 7654,32 8 =
§ 7•512+6•64+5•8+4•1+3•0.125+2•0.015625
§ 7•8 3 +6•8 2 +5•8 1 +4•8 0 +3•8 -1 +2•8 -2
§ r = cơ số (r = 8), d=digit (0 £ d £ 7), n = số chữ số trước dấu
phẩy, m = số chữ số sau dấu phẩy

O=


n -1

åd

i =- m

i

·8

i


1.3.1 CÁC HỆ ĐẾM
HỆ 16 (HEXADECIMAL)
¡ FEDC,76 16 =
§ 15•4096+14•256+13•16+12•1+7•1/16+6•1/256
§ 15•16 3 +14•16 2 +13•16 1 +12•16 0 +7•16 -1 +6•16 -2
§ r = cơ số (r = 16), d=digit (0 £ d £ F), n = số chữ số trước dấu
phẩy, m = số chữ số sau dấu phẩy

H=

n -1

åd

i =- m


i

· 16

i

10/Chapt
er1


1.3.1 CÁC HỆ ĐẾM
CHUYỂN ĐỔI GIỮA CÁC HỆ ĐẾM
¡ Chuyển từ hệ thập phân sang nhị phân
§ Quy tắc: lấy số cần đổi chia cho 2 và ghi nhớ phần dư, lấy
thương chia tiếp cho 2 và ghi nhớ phần dư. Lặp lại khi thương
bằng 0. Đảo ngược thứ tự dãy các số dư sẽ được chứ số của
hệ nhị phân cần tìm
§ Ví dụ: Đổi 34 sang hệ nhị phân: 100010

¡ Chyển từ hệ nhị phân sang hệ 16 và ngược lại
§ 1011 0111B = B7H


1.3.2 CÁC PHÉP TOÁN
CỘNG NHỊ PHÂN
¡ Cộng thập phân

Nhớ

010


x

8273

y

562

Tổng

8835

¡ Cộng nhị phân
Nhớ

0011111

x

10011011

y

1010111

Tổng

11110010



1.3.2 CÁC PHÉP TOÁN
TRỪ NHỊ PHÂN

x

11101

y

1111

Mượn
Hiệu

1110
01110


1.3.2 CÁC PHÉP TOÁN
NHÂN NHỊ PHÂN
¡ Nguyên tắc: cộng và dịch
1110
1101
1110
0000
1110
1110
10110110



1.3.2 CÁC PHÉP TOÁN
CHIA NHỊ PHÂN
10111010
1110
1001010
1110
10010
0000
10010
1110
100

¡ Nguyên tắc: trừ và dịch

1110
1101


BIỂU DIỄN BẰNG DẤU VÀ ĐỘ LỚN
(SIGN-MAGNITUDE)
¡ Một số có dấu bao gồm 2 phần: dấu và độ lớn
¡ Ví dụ hệ 10: +123 10 (thông thường ‘123’) và -123 10
¡ Hệ nhị phân: bit dấu là bit MSB; ‘0’ = dương, ‘1’ = âm
¡ Ví dụ: 01100 2 = +12 10 và 11100 2 = -12 10
¡ Các số có dấu 8 bit sẽ có giá trị từ -127 đến +127 với 2
số 0: 11111111(-127) và 01111111(127)


SỐ BÙ 2

¡ Số bù 1 (bù logic): đảo bit
§ 1001 => 0110
§ 0100 => 1011

¡ Số bù 2 (bù số học): số bù 1 +1
¡ Ví dụ: Tìm số bù 2 của 13
13 =
0000 1101
Số bù 1 của 13 =1111 0010
Cộng thêm 1:
1
Số bù 2 của 13= 1111 0011 (tức là -13)


SỐ BÙ 2
¡ Ví dụ: Tìm số bù 2 của 0
0
=
0000 0000
Số bù 1 của 0 =1111 1111
Cộng thêm 1:
1
Số bù 2 của 0= 0000 0000 (tức là -0)
¡ Như vậy với số bù 2, số 0 được biểu diễn 1 cách duy
nhất
¡ Số có dấu 8 bít sẽ có giá trị từ -128 đến 127


SỐ BÙ 2
Decimal

-8
-7
-6
-5
-4
-3
-2
-1
0
1
2
3
4
5
6
7

Số bù 2
1000
1001
1010
1011
1100
1101
1110
1111
0000
0001
0010
0011

0100
0101
0110
0111

Sign-magnitude
1111
1110
1101
1100
1011
1010
1001
1000 & 0000
0001
0010
0011
0100
0101
0110
0111


SỐ NGUYÊN (INTEGER)
¡ 8 bit
§ unsigned: 0 đến 255
§ signed : -128 đến 127 ( bù hai)

¡ 16 bit
§ unsigned: 0 đến 65535 (2 16 -1)

§ signed : -32768 (2 15 ) đến 32767 (2 15 -1)

¡ 32 bit
§ unsigned: 0 đến 2 32 -1
§ signed : -2 31 đến 2 31 -1


LITTLE ENDIAN VÀ BIG ENDIAN
¡ Số 1234 H được lưu trữ thế nào trong bộ nhớ 8 bit?
FFFFH

FFFFH
.....

.....

0101H

12H

0101H

34H

0100H

34H

0100H


12H

.....
0000H
little edian
Intel microprocessors

.....
0000H
big edian
Motorola microprocessors


SỐ THỰC
(REAL NUMBER, FLOATING POINT NUMBER)
¡ IEEE-754 format cho single-precision
31 30
S

23 22

biased exponent e

0

fraction f of normalized mantissa

1 sign bit: 0 dương, 1 âm
8 bit biased exponent= exponent + 127
24 bit mantissa chuẩn hoá = 1 bit ẩn + 23 bit fraction

Mantissa chuẩn hoá: có giá trị giữa 1 và 2 : 1.f
Ví dụ: biểu diễn 0.1011 dưới dạng IEEE-754
Sign bit s=0
chuẩn hoá mantissa: 0.1011=1.011*2-1
Biased exponent: -1 + 127=126=01111110
IEEE format: 0 01111110 0110000000000000000000


SỐ THỰC
(REAL NUMBER, FLOATING POINT NUMBER)
¡ IEEE-754 format cho double-precision
63 62
S

52 51

biased exponent e

0

fraction f of normalized mantissa

1 sign bit: 0 dương, 1 âm
11 bit biased exponent= exponent + 1023
53 bit mantissa chuẩn hoá = 1 bit ẩn + 52 bit fraction
single precision:
double precision:

(-1)s x 2e-127 x (1.f)2
(-1)s x 2e-1023 x (1.f)2



BCD

¡ Binary Coded Decimal number
§ BCD chuẩn (BCD gói, packed BCD):
§ 1 byte biểu diễn 2 số BCD
§ Ví dụ: 25: 0010 0101
§ BCD không gói (unpacked BCD) :
§ 1 byte biểu diễn 1 số BCD
§ ví dụ: 25: 00000010 00000101

Decimal
digit

BCD

0
1
2
3
4
5
6
7
8
9

0000
0001

0010
0011
0100
0101
0110
0111
1000
1001


ASCII
¡ American Standard Code for Information Interchange (7bit code)
b3b2b1b0

000

001

010

011

100

101

110

111


0000
0001
0010
0011
0100
0101
0110
0111
1000
1001
1010
1011
1100
1101
1110
1111

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


×