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

Nghiên cứu ứng dụng vi điều khiển cho hệ điều chỉnh và ổn định tốc độ động cơ điện một chiều kích từ độc lập

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 (1.21 MB, 102 trang )

1
..

ĐẠI HỌC THÁI NGUYÊN
TRƢỜNG ĐẠI HỌC KỸ THUẬT CÔNG NGHIỆP

LUẬN VĂN THẠC SỸ KỸ THUẬT

NGHIÊN CỨU, ỨNG DỤNG VI ĐIỀU KHIỂN
CHO HỆ ĐIỀU CHỈNH VÀ ỔN ĐỊNH TỐC ĐỘ
ĐỘNG CƠ ĐIỆN MỘT CHIỀU
KÍCH TỪ ĐỘC LẬP

Ngành:
TỰ ĐỘNG HỐ
Mã số:
Học viên: ĐỖ MẠNH TUẤN
Ngƣời hƣớng dẫn khoa học: PGS.TS VÕ QUANG LẠP

THÁI NGUYÊN, NĂM 2010

Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên




2

MỤC LỤC
Số trang
Trang bìa



1

Mục lục

2

Danh mục các ký hiệu và chữ viết tắt

5

Lời mở đầu

7

Chƣơng I: Vi điều khiển và ứng dụng vi điều khiển
trong truyền động điện

9

1.1 Giới thiệu chung về bộ vi điều khiển

9

1.1.1 Khái niệm về vi điều khiển

9

1.1.2 Lịch sử phát triển của bộ vi điều khiển


10

1.1.3 Tổng quan về các hệ thống vi điều khiển

12

1.1.4

Phần mềm của vi điều khiển

1.2 Các họ vi điều khiển thơng dụng

16
18

1.2.1 Vi điều khiển trong máy tính

18

1.2.2 Các vi điều khiển sử dụng trong công nghiệp

18

1.2.3 Giới thiệu họ vi điều khiển MCS-51 (AT89C52)

19

1.2.3.1 Sơ lƣợc về phần cứng của AT89C52

19


1.2.3.2 Cấu trúc bên trong của AT89C52

20

1.2.3.3 Sơ đồ chân và chức năng AT89C52

21

1.2.3.4 Tổ chức bộ nhớ

23

1.2.3.5 Các thanh ghi chức năng đặc biệt

27

1.2.3.6 Bộ nhớ ngoài

34

1.2.3.7 Lệnh Reset

38

1.2.3.8 Tập lệnh của AT 89C52

39

1.3 Ứng dụng vi điều khiển trong truyền động điện


42

1.3.1 Sơ đồ khối tổng quát của hệ truyền động điện

42

1.3.2 Điều khiển số truyền động điện

43

1.3.3 Ƣu điểm của điều khiển số

45

Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên




3
Chƣơng II: Phân tích và chọn phƣơng án hệ truyền động
với việc ứng dụng vi điều khiển
2.1 Hệ thống Thyistor- động cơ một chiều (T-Đ)

46
46

2.1.1 Hệ T-D tƣơng tự


46

2.1.2 Hệ thống T-D điều khiển số

48

2.2 Hệ truyền động chế độ rộng xung động cơ điện
một chiều (PWM-D)

49

2.2.1 Bộ biến đổi PWM không đảo chiều

49

2.2.2 Bộ biến đổi PWM đảo chiều

50

2.2.3 Đặc tính cơ mạch vịng hở của HT động PWM-D

53

2.2.4 Sơ đồ khối hệ kín PWM-D tƣơng tự

55

2.2.5 Sơ đồ khối hệ kín PWM-D số.

56


2.3 Hệ điều khiển véc tơ biến tần động cơ KĐB 3 pha.

56

2.3.1 Sơ đồ nguyên lý hệ truyền động tƣơng tự cho
động cơ không đồng bộ sử dụng biến tần

56

2.3.2 Sơ đồ nguyên lý hệ truyền động số cho động cơ
không đồng bộ sử dụng biến tần

58

Chƣơng III: Phân tích tổng hợp hệ truyền động số PWM-D

60

3.1 Sơ đồ khối của hệ truyền động số PWM-D .

60

3.1.1 Mạch tạo xung điều khiển

.

3.1.2 Thiết kế các bộ điều khiển số

62

64

3.1.2.1 Thuật toán điều khiển tỷ lệ

64

3.1.2.2 Thuật tốn điều khiển tích phân I

64

3.1.2.3 Thuật tốn điều khiển vi phân D

65

3.1.2.4 Thuật toán điều khiển PID

66

3.1.3 Khối biến đổi tƣơng tự- số và số -tƣơng tự

68

3.1.3.1 Khối biến đổi tƣơng tự -số (A/D)

68

3.1.3.2 Khối biến đổi số - tƣơng tự (D/A)

71


3.1.4 Cảm biến vị trí tốc độ (Encoder)
Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên

72



4
3.2 Sơ đồ cấu trúc hệ điều khiển số

75

3.2.1 Tổng hợp hệ thống

76

3.2.2 Xác định tính ổn định hệ thống

81

3.2.3 Chất lƣợng của hệ truyền động

84

3.3 Tính tốn và khảo sát cho hệ truyền động PWM-D

87

3.3.1 Xét ổn định mạch vòng dòng điện


87

3.3.2 Xét ổn định mạch vòng tốc độ

89

3.3.3 Chất lƣợng của hệ truyền động

92

3.3.2.1 Khảo sát chất lƣợng dùng chƣơng trình pascal

92

3.3.2.2 Khảo sát chất lƣợng hệ thống bằng
phần mềm Matlab Simulink

95

Kết quả luận án và hƣớng phát triển của đề tài

101

Tài liệu tham khảo

102

Phụ lục

103


Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên




5
DANH MỤC CÁC KÝ HIỆU VÀ CHỮ VIÊT TẮT
ACV : Nguồn xoay chiều.
DCV : Nguồn một chiều.
A/D : Chuyển đổi tƣơng tự số.
D/A : Chuyển đổi số tƣơng tự.
DC : Động cơ điện một chiều.
P : Bộ điều chỉnh tỷ lệ.
I : Bộ điều chỉnh tích phân.
D : Bộ điều chỉnh vi phân.
PID : Bộ điều chỉnh tỷ lệ vi tích phân.
CPU : Bộ xử lý trung tâm.
µC : Bộ vi điều khiển.
PWM : Phƣơng pháp điều chê độ rộng xung điện áp.
βI : Phản hồi âm dòng điện.
γn : Phản hồi tốc độ.
Ucđ : Điện áp chủ đạo.
Uđk : Điện áp điều khiển.
Urc : Điện áp răng cƣa.
USS : Điện áp so sánh.
USX : Điện áp sửa xung.
Uđb : Điện áp đồng bộ.
FXCĐ : Khối phát xung chủ đạo.
SRC : Khối tạo xung răng cƣa.

SS : Khối so sánh.
TXPCX : Khối tạo xung và phân chia xung.
Uω : Tín hiệu điện áp chủ đạo đặt tốc độ.
T : Chu kỳ lấy mẫu (hay gọi thời gian lƣợng tử).
MS1 : Tín hiệu phản hồi âm tốc độ.
MS2 : Tín hiệu phản hồi âm dịng điện.
Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên




6
T(s) : Bộ xung biến đổi điện áp (PWM).
H(S) : Khâu lƣu giữ 0.
Ud : Điện áp ra của bộ biến đổi PWM.
Uc : Điện áp điều khiển của bộ điều chế độ rộng xung.
Kω : Hệ số của khâu lấy tín hiệu tốc độ.
Ki , Kp : Hệ số biến đổi của bộ điều khiển số dịng điện.

Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên




7
LỜI MỞ ĐẦU

Trong q trình cơng nghiệp hố hiện đại hố đất nƣớc.Tự động hố là
yếu tố khơng thể thiếu trong một nền cơng nghiệp hiện đại; nói đến tự động
hố thì kỹ thuật số là một cơng cụ hỗ trợ đắc lực và không thể thiếu trong

nhiều lĩnh vực của nền khoa học, kỹ thuật ngày nay. Đặc biệt trong truyền
động điện, đo lƣờng và điều khiển. Việc nghiên cứu ứng dụng vi điều khiển
vào trong hệ thống truyền động điều khiển tốc độ động cơ điện một chiều nói
chung ngày càng phổ biến. Ví dụ trong các dây truyền lắp ráp các sản phẩm
kỹ thuật cao, trong ngƣời máy, các cơ cấu ăn dao máy mài, máy gọt kim loại,
máy doa, hệ thống nâng hạ cần trục…
Do tính chất ƣu việt của công nghệ số so với phƣơng pháp điều khiển
tƣơng tự truyền thống nhƣ:
- Mềm dẻo trong việc thay đổi cấu trúc và tham số của hệ thống tự
động;
- Dễ dàng tự động hố;
- Độ chính xác cao;
- Có khả năng chống nhiễu tốt.
Đa dạng về chủng loại, linh hoạt về chức năng, rễ ràng thay đổi về các
tham số, cấu trúc phần mềm hệ thống vi điều khiển đƣợc thiết kế chế tạo tin
cậy đảm bảo phù hợp từng hệ diều khiển tự động.
Nói chung ở nƣớc ta phần lớn các bộ điều khiển số động cơ điện một
chiều chất lƣợng cao thƣờng đều từ nƣớc ngồi. Với cơng nghệ và áp dụng vi
điều khiển ta có thể hồn tồn chế tạo ra các bộ điều khiển hồn chỉnh có
chức năng tƣơng đƣơng. Do đó để tận dụng và khai thác tiềm năng của các
bộ vi điều khiển nên em chọn hƣớng nghiên cứu “Nghiên cứu, ứng dụng vi
điều khiển cho hệ điều chỉnh và ổn định tốc độ động cơ điện một chiều
kích từ độc lập”
Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên




8
Do thời gian và trình độ có hạn nên bản luận văn khơng tránh khỏi sai

sót và có nhiều vấn đề cần phải hoàn thiện thêm. Em rất mong nhận đƣợc
những ý kiến đóng góp, sự chỉ dẫn của các thầy cô giáo và các đồng nghiệp.
Em xin đƣợc bày tỏ biết ơn chân thành tới PGS.TS Võ Quang Lạp đã
hƣớng dẫn tận tình và chỉ bảo cặn kẽ để em hoàn thành luận văn này. Xin
đƣợc gửi lời cảm ơn tới tất cả các Thầy cô Khoa sau đại học, Khoa điện và
các bạn đồng nghiệp lớp TĐH K11 trƣờng ĐHKT công nghiệp Thái Nguyên.
Thái Nguyên, ngày 30 tháng 07 năm 2010
Tác giả luận văn
Đỗ Mạnh Tuấn

Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên




9

CHƢƠNG I
VI ĐIỀU KHIỂN VÀ ỨNG DỤNG VI ĐIỀU KHIỂN TRONG
TRUYỀN ĐỘNG ĐIỆN
1.1 Giới thiệu chung về bộ vi điều khiển
1.1.1 Khái niệm về vi điều khiển
Bộ vi điều khiển viết tắt là µC (Microcontroller) là mạch tích hợp, trên một
chíp có thể lập trình đƣợc, dùng để điều khiển hoạt động của hệ thống.
Phần cứng chỉ đóng vai trị thứ yếu, phần mềm (chƣơng trình) đóng vai trị
chủ đạo đối với các chức năng cần thực hiện. Nhờ vậy vi điều khiển có sự mềm dẻo
hóa trong các chức năng của mình. Ngày nay vi điều khiển có tốc độ tính tốn rất
cao và khả năng xử lý rất lớn.
Vi điều khiển có các khối chức năng cần thiết để lấy dữ liệu, xử lý dữ liệu và
xuất dữ liệu ra ngoài sau khi đã xử lý. Và chức năng chính của Vi điều khiển chính

là xử lý dữ liệu, chẳng hạn nhƣ cộng, trừ, nhân, chia, so sánh.v.v.
Vi điều khiển hoạt động cần có chƣơng trình kèm theo, các chƣơng trình này
điều khiển các mạch logic và từ đó vi điều khiển xử lý các dữ liệu cần thiết theo yêu
cầu. Chƣơng trình là tập hợp các lệnh để xử lý dữ liệu thực hiện từng lệnh đƣợc lƣu
trữ trong bộ nhớ, công việc thực hành lệnh bao gồm: nhận lệnh từ bộ nhớ, giải mã
lệnh và thực hiện lệnh sau khi đã giải mã.
Để thực hiện các công việc với các thiết bị cuối cùng, chẳng hạn trong truyền
động điện nhƣ điều khiển động cơ, hiển thị kí tự trên màn hình .... địi hỏi phải kết
hợp vi điều khiển với các mạch điện giao tiếp với bên ngoài đƣợc gọi là các thiết bị
I/O (nhập/xuất) hay còn gọi là các thiết bị ngoại vi. Bản thân các vi điều khiển khi
đứng một mình khơng có nhiều hiệu quả sử dụng, nhƣng khi là một phần của một
máy tính, thì hiệu quả ứng dụng của Vi điều khiển là rất lớn. Vi điều khiển kết hợp
với các thiết bị khác đƣợc sử trong các hệ thống lớn, phức tạp đòi hỏi phải xử lý
một lƣợng lớn các phép tính phức tạp, có tốc độ nhanh.

Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên




10
1.1.2 Lịch sử phát triển của bộ vi điều khiển
Bộ vi điều khiển đƣợc phát triển từ bộ vi xử lý, các nhà chế tạo tích hợp một
ít bộ nhớ và một số mạch giao tiếp ngoại vi cùng với vi xử lý vào một IC duy nhất
đƣợc gọi là Microcontroller- Vi điều khiển, mức độ tích hợp của các linh kiện bán
dẫn trong một chíp ngày càng cao.
Một số vi xử lý ra đời: Vi mạch MSI ( Medium Size Integration) có độ tích
hợp trung bình cỡ 103 tranzito trong một chíp. Vi mạch LSI ( large Size Integration)
có độ tích hợp cao cỡ 104 tranzito trong một chíp. Vi mạch VLSI (Very LSI) có độ
tích hợp cao cỡ 105 tranzito trong một chíp. Năm 1971 bộ vi xử lý Intel 4004 loại 4

bít ra đời chứa 2250 tranzito. Năm 1975 Intel chế tạo bộ vi xứ lý 8 bít 8080 và
8085. Cùng khoảng thời gian này xuất hiện bộ vi xử lý 6800 của Motorola với 5000
tranzito, bộ vi xử lý Zilog Z80, Signetics 6520. Năm 1978 xuất hiện loại Intel 8086
là loại vi xử lý 16 bít với 29000 tranzito, Motorola 68000 tích hợp 70000 tranzito,
AP 432 chứa 120000 tranzito. Bộ vi xử lý 32 bít của Hewlet Packard có khoảng
450000 tranzito. từ năm 1974 đến 1984 số tranzito tích hợp trong một chíp tăng
khoảng 100 lần.
Năm 1983 Intel đƣa ra bộ vi xử lý 80286 dùng trong máy vi tính họ AT (
Advanced Technology). Bộ vi xử lý 80286 sử dụng I/O 16 bít và có24 đƣờng địa
chỉ và không gian nhớ địa chỉ thực 16MB. Năm 1987 Intel đƣa ra bộ vi xử lý 80386
32 bít. Năm 1989 xuất hiện bộ vi xử lý Intel 80486 là cải tiến của Intel 80386 với bộ
nhớ ẩn và mạch tính phép tốn đại số dấu phẩy động.
Để thực hiện các công việc với các thiết bị cuối cùng, chẳng hạn điều khiển
động cơ, hiển thị kí tự trên màn hình .... địi hỏi phải kết hợp vi xử lý với các mạch
điện giao tiếp với bên ngoài đƣợc gọi là các thiết bị I/O (nhập/xuất) hay còn gọi là
các thiết bị ngoại vi. Bản thân các vi xử lý khi đứng một mình khơng có nhiều hiệu
quả sử dụng, nhƣng khi là một phần của một máy tính, thì hiệu quả ứng dụng của Vi
xử lý là rất lớn. Vi xử lý kết hợp với các thiết bị khác đƣợc sử trong các hệ thống
lớn, phức tạp đòi hỏi phải xử lý một lƣợng lớn các phép tính phức tạp, có tốc độ

Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên




11
nhanh. Chẳng hạn nhƣ các hệ thống sản xuất tự động trong công nghiệp, các tổng
đài điện thoại, hoặc ở các robot có khả năng hoạt động phức tạp v.v...
Bộ Vi xử lý có khả năng vƣợt bậc so với các hệ thống khác về khả năng tính
tốn, xử lý, và thay đổi chƣơng trình linh hoạt theo mục đích ngƣời dùng, đặc biệt

hiệu quả đối với các bài toán và hệ thống lớn.Tuy nhiên đối với các ứng dụng nhỏ,
tầm tính tốn khơng địi hỏi khả năng tính tốn lớn thì việc ứng dụng vi xử lý cần
cân nhắc. Bởi vì hệ thống dù lớn hay nhỏ, nếu dùng vi xử lý thì cũng địi hỏi các
khối mạch điện giao tiếp phức tạp nhƣ nhau. Các khối này bao gồm bộ nhớ để chứa
dữ liệu và chƣơng trình thực hiện, các mạch điện giao tiếp ngoại vi để xuất nhập và
điều khiển trở lại, các khối này cùng liên kết với vi xử lý thì mới thực hiện đƣợc
cơng việc. Để kết nối các khối này đòi hỏi ngƣời thiết kế phải hiểu biết tinh tƣờng
về các thành phần vi xử lý, bộ nhớ, các thiết bị ngoại vi. Hệ thống đƣợc tạo ra khá
phức tạp, chiếm nhiều không gian, mạch in phức tạp và vấn đề chính là trình độ
ngƣời thiết kế. Kết quả là giá thành sản phẩm cuối cùng rất cao, không phù hợp để
áp dụng cho các hệ thống nhỏ.
Để khắc phục các tồn tại trên, năm 1976 Intel giới thiệu bộ vi điều khiển
(microcontroller) 8748, một chip tƣơng tự nhƣ các bộ vi xử lý và là chip đầu tiên
trong họ MCS-48. Độ phức tạp, kích thƣớc và khả năng của Vi điều khiển tăng
thêm một bậc quan trọng vào năm 1980 khi intel tung ra chip 8051, bộ Vi điều
khiển đầu tiên của họ MCS-51 và là chuẩn công nghệ cho nhiều họ Vi điều khiển
đƣợc sản xuất sau này. Sau đó rất nhiều họ Vi điều khiển của nhiều nhà chế tạo
khác nhau lần lƣợt đƣợc đƣa ra thị trƣờng với tính năng đƣợc cải tiến ngày càng
mạnh.
Hiện nay có rất nhiều họ Vi điều khiển trên thị trƣờng với nhiều ứng dụng
khác nhau, trong đó họ Vi điều khiển họ MCS-51 đƣợc sử dụng rất rộng rãi trên thế
giới và ở Việt nam.
Vào năm 1980 Intel cơng bố chíp 8051(80C51), bộ vi điều khiển đầu tiên của
họ vi điều khiển MCS-51. Nó bao gồm 4KB ROM, 128 byte RAM, 32 đƣờng xuất

Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên





12
nhập, 1 port nối tiếp và 2 bộ định thời 16 bit. Tiếp theo sau đó là sự ra đời của chip
8052,8053,8055 với nhiều tính năng đƣợc cải tiến.
Hiện nay Intel khơng cịn cung cấp các loại Vi điều khiển họ MCS-51 nữa,
thay vào đó các nhà sản xuất khác nhƣ Atmel, Philips/signetics, AMD, Siemens,
Matra&Dallas, Semiconductors đƣợc cấp phép làm nhà cung cấp thứ hai cho các
chip của họ MSC-51. Chip Vi điều khiển đƣợc sử dụng rộng rãi trên thế giới cũng
nhƣ ở Việt Nam hiện nay là Vi điều khiển của hãng Atmel với nhiều chủng loại vi
điều khiển khác nhau.
Hãng Atmel có các chip Vi điều khiển có tính năng tƣơng tự nhƣ chip Vi
điều khiển MCS-51 của Intel, các mã số chip đƣợc thay đổi chút ít khi đƣợc Atmel
sản xuất. Mã số 80 chuyển thành 89, chẳng hạn 80C52 của Intel khi sản xuất ở
Atmel mã số thành 89C52 (Mã số đầy đủ: AT89C52) với tính năng chƣơng trình
tƣơng tự nhƣ nhau. Tƣơng tự 8051, 8053, 8055 có mã số tƣơng đƣơng ở Atmel là
89C51, 89C53, 89C55. Vi điều khiển Atmel sau này ngày càng đƣợc cải tiến và
đƣợc bổ sung thêm nhiều chức năng tiện lợi hơn cho ngƣời dùng.
1.1.3 Tổng quan về các hệ thống vi điều khiển
Trong khối vi điều khiển bao gồm các khối ghép trong hình vẽ H.1-1
BUS
(MCU)
Bộ Vi
điều
khiển

Mạch
đồng hồ

Bộ đệm
và bộ
đổi


Thế giới bên ngoài

BUS - Dữ liệu địa chỉ điều khiển
Nguồn

Các bộ
nhớ và
ngoại vi
khác
Bảng mạch vi điều khiển

H.1-1: Sơ đồ khối của bộ vi điều khiển

Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên




13
* Bộ đệm (Buffer) và bộ chuyển đổi vào ra I/O để biến đổi mức tín hiệu cần
thiết cho mục đích điều khiển. Ví dụ: Khi cần biến đổi xung điện áp cao hơn nhƣng
tín hiệu logic của bộ vi điều khiển chỉ có 0V đối với mức logic 0 và 5V ứng với
mức logic 1, vì thế bộ biến đổi phải thay đổi mức logic tín hiệu 5V thành xung điện
áp cao hơn.
* Để chuyển các tín hiệu, thƣờng dùng các bus. Ta có thể coi bus nhƣ nững
xa lộ trong đó các tín hiệu khác nhau đựơc di chuyển. CPU sử dụng 3 loại bus dùng
cho các tín hiệu: dữ liệu, địa chỉ và điều khiển. Tín hiệu dữ liệu đựoc biểu thị các
lệnh và các trị số khác nhau của các biến, ví dụ: nhƣ nhiệt độ. Các địa chỉ biểu thị
dữ liệu đƣợc chứa ở đâu, các tín hiệu điều khiển chỉ huy hoạt động của bộ vi điều

khiển và các chíp phối hợp.
* Mạch đồng hồ CLOCK phát tín hiệu tần số cố định để cung cấp thơng tin
thời gian cho tồn hệ thống.
* Các bộ nhớ và bộ ngoại vi khác. Bộ nhớ để lƣu trữ dữ liệu hoặc chƣơng
trình, đây là bộ nhớ bổ xung cho bộ nhớ chính đã chứa trong MCU của bộ vi điều
khiển MCU (MicroController Unit) là đơn vị trung tâm của bộ vi điều khiển.
Ta xét ví dụ một bộ vi điều khiển MCU (MicroController Unit) theo sơ đồ
khối của bộ MCU có cấu trúc nhƣ hình H.1-2 dƣới đây
BUS dữ liệu trong

Đồng hồ
Các đƣờng
điều khiển

Bộ nhớ

VDD

ROM

(CPU)

RAM

EPROM
Or
EEPROM

Điều khiẻn I/O và
thanh ghi trang thái


Cổng vào-ra

Thanh ghi
dữ liệu I/O

VSS

H.1-2: Sơ đồ khối của bộ vi điều khiển điển hình 1 chíp
Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên




14
Bộ MCU đƣợc chia làm 3 phần chính: CPU, bộ nhớ và các thanh ghi; chúng
đƣợc nối với nhau bới các bus trong. Bên ngồi có các chân nối nguồn, vào ra I/O
và một số tín hiệu đặc biệt khác.
Bộ xử lý trung tâm CPU (Central Processing Unit) điều khiển hoạt động của
bộ vi điều khiển.
Bộ nhớ (Memory) dùng để lƣu trữ dữ liệu và mã lệnh, có nhiều loại bộ nhớ
khác nhau nhƣ ROM, RAM, EEPROM.v.v.
Các thanh ghi (Register) đƣợc sử dụng để lƣu trữ thông tin đang trong q
trình xử lý, khi CPU làm việc nó làm thay đổi nội dung của các thanh ghi. Bộ vi
điều khiển có các thanh ghi vào ra I/O và các thanh ghi CPU; các thanh ghi đƣợc
chia làm 3 loại: thanh ghi dữ liệu, thanh ghi điều khiển và thanh ghi trạng thái. Các
thanh ghi này cùng với CPU và cổng I/O đƣợc sử dụng trong các hoạt động vào ra.
Mỗi thanh ghi dữ liệu I/O lƣu giữ các số liệu vào ra gắn với cổng I/O tƣơng
ứng. Cổng I/O là tập hợp các chân I/O của chíp ứng với số liệu, thơng thƣờng các
cổng I/O có 8 đƣờng truyền byte dữ liệu; các cổng này có thể lập trình địa chỉ vào,

ra hoặc cả hai chiều vào – ra . Các chiều vào, ra ln xét đối với chíp (VD: “Input”
có nghĩa dữ liệu từ bên ngồi vào)
Hoạt động đƣa dữ liệu vào nhƣ sau: Bộ cảm biến lấy tín hiệu (nhƣ nhiệt độ,
tốc độ...) đƣợc nối với cổng vào ra. Dữ liệu từ bộ cảm biến đƣợc truyền vào thanh
ghi của cổng, bộ vi điều khiển gửi nội dung của thanh ghi này vào CPU để xử lý,
Một khả năng khác là gửi dữ liệu này vào bộ nhớ để lƣu trữ. Hoạt động lấy ra cũng
tƣơng tự; CPU gửi byte dữ liệu tới thanh ghi ở cổng ra. Byte này đƣợc truyền tới
thiết bị ngoại vi đƣợc nối tới.
Các thanh ghi điều khiển và thanh ghi trạng thái điều khiển, chỉ thị quá trình
vào – ra của bộ vi điều khiển. Ví dụ nhƣ bộ vi điều khiển đo tốc độ động cơ bàng
cách đếm xung do bộ cảm biến tốc độ gửi tới trong một khoảng thời gian nhất định,
thanh ghi giữ liệu đếm số xung theo sƣờn trƣớc hoặc sƣờn sau của xung.

Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên




15
Bộ vi điều khiển có bộ thời gian bên trong, mỗi lần đặt (set) và đặt lại (Reset)
có một bit đặc biệt gọi là bit trạng thái; Trong thanh ghi trạng thái khi chu kỳ thời
gian đƣợc lập trình đã kết thúc, trạng thái của bit này sẽ thay đổi.
Khi chƣơng trình phát hiện sự thay đổi bit trạng thái, nó đọc thanh ghi dữ
liệu thích hợp để xem có bao nhiêu xung đã đƣợc gửi tới, từ đó tính ra tốc độ và xử
lý với thông tin này.
Bộ vi điều khiển có các chân ngồi dùng cho nguồn ni, điều khiển và các
đƣờng dữ liệu, địa chỉ. Vì đa số các bộ vi xử lý là CMOS nên các nguồn V DD có
điện áp dƣơng và Vss nối đất.
CLOCK là một trong các đƣờng điều khiển, mỗi đƣờng điều khiển có chức
năng riêng. Một đƣờng RESET để đƣa bộ vi điều khiển trở về trạng thái ban đầu, nó

đƣợc sử dụng nếu muốn hệ thống hoạt động trở lại và khơng có tác dụng gì khác.
Đơi khi bộ vi điều khiển địi hỏi có nhiều nhiều bộ nhớ và cổng I/O hơn khả
năng cho phép của chíp, trong trƣờng hợp này cần có đƣờng dữ liệu và địa chỉ bên
ngoài nối giống sơ đồ trên H.1-2. Một số chân có thể đƣợc sử dụng nhƣ các cổng
I/O hoặc nhƣ các đƣờng dữ liệu và địa chỉ bên ngoài. Bộ vi điều khiển có thể đƣợc
thiết lập để làm theo cách khác, việc thiết lập chế độ làm việc của bộ vi điều khiển
theo chế độ dồn kênh (Multiplexed) đƣợc mơ tả nhƣ hình H.1-3 dƣới đây.
BUS dữ liệu trong

Đồng hồ
Các đƣờng
điều khiển

Bộ nhớ

VDD

ROM

(CPU)

RAM

EPROM
Or
EEPROM

Các thanh ghi điều
khiển và trang thái


Bus dữ liệu

Bộ
đệm
dữ
liệu

Mạch
địa chỉ

Bus địa chỉ

VSS

H.1-3: Sơ đồ khối của bộ vi điều khiển điển làm việc theo
chế độ dồn kênh
Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên




16
1.1.4 Phần mềm của vi điều khiển
Khái niệm về các ngơn ngữ lập trình:
Phần mềm là thuật ngữ để chỉ các lệnh mà bộ vi điều khiển phải thực hiện.
Khi viêt các lệnh này dƣới dạng ngơn ngữ thì cơng việc đó gọi là lập trình và kết
quả của lập trình là chƣơng trình. Nhƣ vậy chƣơng trình là một dãy lệnh mô tả các
bƣớc mà bộ vi điều khiển cần thực hiện.
Mỗi CPU có hệ lệnh riêng mà có thể nhận biết và thực hiện. Những này là
các sô nhị phân viết dƣới dạng mã đặc biệt. CPU sẽ dịch các dãy lệnh nhị phân để

thƣc hiện các công việc. Ngôn ngữ nhị phân này gọi là ngôn ngữ máy.
Ví dụ: lệnh máy dƣới dạng nhị phân của bộ vi điều khiển 68HC11 là
%10000110
%01011010
Để tránh sự rắc rỗi khi viết chƣơng trình ngơn ngữ máy dƣới dạng nhị phân
ngƣời ta sử dụng hợp ngữ, đó là ngơn ngữ máy viết dƣới dạng dễ nhớ hơn ví dụ câu
lệnh : LDAA#$5A chỉ rằng cần nạp vào (Load) bộ nhớ A (ACCA) dữ liệu dƣới
dạng henxa là $5°. Vì mỗi kiểu CPU có hệ lệnh riêng, nghĩa là có hệ lệnh hợp ngữ
riêng khơng tƣơng thích với các kiểu CPU khác.
Các loại ngôn ngữ bậc cao thƣờng dùng ngôn ngữ chung, không phụ thuộc
vào phần cứng, do vậy máy không hiểu và thực hiện đƣợc. Nhờ chƣơng trình dịch
(Compiler) ngơn ngữ bậc cao đƣợc dịch thành ngôn ngữ máy. Các loại ngôn ngữ
bậc cao thông dụng là BASIC, FORTRAN, ADA, COBOL, C... Đối với vi điều
khiển thì C là ngơn ngữ thơng dụng nhất vì nó vừa mang tính chất của ngơn ngữ
bậc cao vừa có tính chất của hợp ngữ. Với hợp ngữ, ngƣời lập trình có thể điều
khiển trực tiếp bộ vi điều khiển.
Hệ cơ số 16 ( HEXADECIMAL)
Các bộ vi điều khiển thƣờng đựoc lập trình dƣới dạng hợp ngữ và dùng hệ cơ
số 16 đẻ biểu diễn các thông tin. bảng biểu diễn hệ số 16 coi một nhóm 4 bít mã nhị
phân tƣơng ứng với 16 số và ký tự từ 0 đến 9 và từ A đến F nhƣ bảng dƣới đây:

Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên




17
Dạng nhị phân

Dạng Hexa


Dạng thập phân

0000

0

0

0001

1

1

0010

2

2

0011

3

3

0100

4


4

0101

5

5

0110

6

6

0111

7

7

1000

8

8

1001

9


9

1010

A

10

1011

B

11

1100

C

12

1101

D

13

1110

E


14

1111

F

15

Nhƣ vậy dãy số nhị phân ở trên đƣợc nhóm theo 4 bít có biểu diễn dạng
hexa đƣợc ký hiệu là $B65 theo Motorola với dấu $ chỉ dạng henxa, hoặc Ox B65,
hoặc B65H theo ngôn ngữ chuẩn.
101101100101
B

6

5

Tƣơng tự thập phân của BC4 là
B

C

4

4 * 160 hay 4
C * 161 hay 12 * 16
B * 162 hay 11 * 162


Tổng = 3012 dạng thập phân

Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên




18
Ngôn ngữ máy :
CPU thực hiện mỗi lệnh máy theo một chu kỳ nạp và thực hiện lệnh, CPU
nạp mã lệnh từ bộ nhớ và giải mã chúng để tìm công việc cần thực hiện. Tiếp theo
là giai đoạn thƣc hiện lệnh này, các lệnh này xem xét hoặc thay đổi bộ nhớ hay đàu
vào hoặc ra, sau khi lệnh đƣợc thƣc hiện sẽ chuyển sang thƣc hiện lệnh mới.
Mỗi lệnh có hai phần: mã lệnh và tốn hạng, mã lệnh là phần đầu tiên của
lệnh, nó báo cho CPU công việc phải làm. Bộ vi điều khiển thƣờng sử dụng các
mệnh lệnh nhiều byte
VD : một bộ vi điều khiển 8bit có 2byte thì 1byte dùng cho mã lệnh, 1 byte
dùng cho tốn hạng.
Ngơn ngữ ASSEMBLY (Hợp ngữ) :
Hợp ngữ là ngôn ngữ viết dƣới dạng dễ nhớ Mnemonic. Mỗi lệnh đƣợc viết
tắt bằng dãy ký hiệu tiếng Anh nhƣ ADD ( cộng), SUB (trừ), MUL (nhân), DIV (
chia)…; sau dấu cách là toán hạng viêt dƣới dạng hexa
VD: câu lệnh hợp ngữ ORG $ E000 (với ORG chữ viết tắt của Origin khởi
đầu địa chỉ xuất phát là $E000).
Đối vi điều khiển thƣờng chạy chƣơng trình Assembler và Linker trên máy
tính mà khơng chạy chính trong bộ vi điều khiển. Các chƣơng trình này tạo lên mã
máy mà bộ vi điều khiển có thể thực hiện đƣợc.
1.2 Các họ vi điều khiển thông dụng
1.2.1 Vi điều khiển trong máy tính
Máy vi tính hiện nay với các thế hệ Pentum thế hệ mới có tốc độ xử lý nhanh

hơn, nhiều lệnh. Nếu biết khi thác ứng dụng các máy vi tính trong lĩnh vực cơng
nghiệp, truyền động điện sẽ tiếp tục nâng cấp đƣợc hệ thống truyền động sẵn có ở
nƣớc ta. Trong máy tính có vi xử lý nhƣ 80286, 8088…. Việc ứng dụng các vi xử lý
này sẽ tăng tốc độ xử lý tín hiệu gấp 2 lần so với các bộ vi xử lý chuyên dùng khác.
1.2.2 Các vi điều khiển sử dụng trong công nghiệp
* Họ vi điều khiển AMCC.
* Họ vi điều khiển Atmel.

Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên




19
* Họ vi điều khiển Cypress MicroSystems.
* Họ vi điều khiển Freescale Semiconductor.
* Họ vi điều khiển Fujitsu.
* Họ vi điều khiển Intel.
* Họ vi điều khiển Microchip.
* Họ vi điều khiển National Semiconductor.
* Họ vi điều khiển STMicroelectronics.
* Họ vi điều khiển Philips Semiconductors.
Kĩ thuật vi điều khiển có vai trò quan trọng trong tất cả các lĩnh vực của cuộc
sống và khoa học đặc biệt là lĩnh vực tin học và tự động hố. Qua đó các hãng sản
suất đã cho ra các bộ vi điều khiển với độ phức tạp và độ gọn nhẹ và khả năng xử lí
ngày càng đƣợc cải tiến. Với các họ vi điều khiển thơng dụng hiện có.
1- Họ vi điều khiển MCS-51
2- Họ vi điều khiển PIC16Cxx
3- Chíp điều khiển thơng minh Psoc
1.2.3 Giới thiệu họ vi điều khiển MCS-51 (AT89C52)

AT89C52 là một vi điều khiển 8 bit do ATMEL sản xuất, chế tạo theo cơng
nghệ CMOS, có chất lƣợng cao, công suất thấp với 8 KB Flash. Thiết bị này đƣợc
chế tạo bằng cách sử dụng kỹ thuật bộ nhớ khơng bốc hơi mật độ cao của ATMEL
và tƣơng thích với chuẩn công nghiệp MCS -51TM về tập lệnh và các chân ra. Flash
on -chip cho phép bộ nhớ lập trình đƣợc lập trình trong hệ thống bởi một lập trình
viên bình thƣờng. Bằng cách nối 1 CPU 8 bit với một Flash trên một chip đơn,
AT89C52 là một vi điều khiển mạnh (có cơng suất lớn), cung cấp một sự linh động
cao và giải pháp về giá cả đối với nhiều ứng dụng vi điều khiển.
1.2.3.1 Sơ lƣợc về phần cứng của AT89C52
 Tƣơng thích hồn tồn với họ MCS -51TM của Intel.
 Bộ nhớ chƣơng trình 8K Byte thuộc loại Flash Memory.
 Độ bền: 1000 lần ghi /xóa.

Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên




20
 Tần số hoạt động: 0 Hz đến 24 MHz.
 3 chế độ khóa bộ nhớ.
 256 x 8-Bit RAM nội.
 32 đƣờng I /O lập trình đƣợc (4 port).
 3 timer/counter 16-bit.
 8 nguồn ngắt.
 Chế độ hạ nguồn và chế độ lƣời tiêu tốn công suất thấp
1.2.3.2 Cấu trúc bên trong của AT89C52
Cấu trúc của vi điều khiển AT89C52 là bộ xử lý trung tâm (CPU) và đƣợc
thể hiện theo sơ đồ khối H.1-4:


H.1-4: Sơ đồ khối vi điều khiển AT89C52
Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên




21
1.2.3.3 Sơ đồ chân và chức năng AT89C52
Họ MSC-51 có nhiều kiểu đóng vỏ khác nhau, chẳng hạn nhƣ hai hàng chân
DIP (Dual In-Line Pakage) dạng vỏ dẹt vuông QFP (Quad Flat Pakage) và dạng
chíp khơng có chân đỡ LLC (Leadless Chip Carrier) và đều có 40 chân cho các
chức năng khác nhau nhƣ vào ra I/0, đọc , ghi , địa chỉ, dữ liệu và ngắt. Tuy nhiên,
vì hầu hết đóng vỏ 40 chân với hai hàng chân DIP, nên chúng ta cùng khảo sát vi
điều khiển AT89C51 với 40 chân dạng DIP nhƣ hình vẽ H.1-5 dƣới đây.

H.1-5: Sơ đồ chân vi điều khiển AT89C52
+ Chân VCC: Chân số 40 là VCC cấp điện áp nguồn cho Vi điều khiển
Nguồn điện cấp là +5V±0.5.
+ Chân GND: Chân số 20 nối GND (hay nối Mass).
Khi thiết kế cần sử dụng một mạch ổn áp để bảo vệ cho Vi điều khiển, cách
đơn giản là sử dụng IC ổn áp 7805.
+ Port 0 (P0) : Port 0 gồm 8 chân (từ chân 32 đến 39) có hai chức năng
Chức năng xuất/nhập.
Chức năng là bus dữ liệu và bus địa chỉ (AD7-AD0).
+ Port 1 (P1): Port P1 gồm 8 chân (từ chân 1 đến chân 8), chỉ có chức năng
làm các đƣờng xuất/nhập, khơng có chức năng khác.
+ Port 2 (P2): Port 2 gồm 8 chân (từ chân 21 đến chân 28) có hai chức năng:
 Chức năng xuất/nhập.
Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên





22
 Chức năng là bus địa chỉ cao (A8-A15).
+ Port 3 (P3): Port 3 gồm 8 chân (từ chân 10 đến 17):
 Chức năng xuất/nhập.
 Mỗi chân có một chức năng riêng thứ hai nhƣ trong bảng sau.
Chức năng

Bit

Tên

P3.0

RxD

Ngõ vào nhận dữ liệu nối tiếp

P3.1

TxD

Ngõ xuất dữ liệu nối tiếp

P3.2

INT0


Ngõ vào ngắt cứng thứ 0

P3.3

INT1

Ngõ vào ngắt cứng thứ 1

P3.4

T0

Ngõ vào của Timer/Counter thứ 0

P3.5

T1

Ngõ vào của Timer/Counter thứ 1

P3.6

WR

Ngõ điều khiển ghi dữ liệu lên bộ nhớ ngoài

P3.7

RD


Ngõ điều khiển đọc dữ liệu từ bộ nhớ bên ngoài

P1.0

T2

Ngõ vào của Timer/Counter thứ 2

P1.1

T2X

Ngõ Nạp lại/thu nhận của Timer/Counter thứ 2

+ Chân RESET (RST) : Ngõ vào RST ở chân 9 là ngõ vào Reset dùng để
thiết lập trạng thái ban đầu cho vi điều khiển. Hệ thống sẽ đƣợc thiết lập lại các giá
trị ban đầu nếu ngõ này ở mức 1 tối thiểu 2 chu kì máy.
+ Chân XTAL1 và XTAL2 : Hai chân này có vị trí chân là 18 và 19 đƣợc sử
dụng để nhận nguồn xung clock từ bên ngoài để hoạt động, thƣờng đƣợc ghép nối
với thạch anh và các tụ để tạo nguồn xung clock ổn định nhƣ hình vẽ H.1-6

H.1-6: Sơ đồ kết nối thạch anh

Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên




23
+ Chân cho phép bộ nhớ chương trình PSEN: PSEN ( program store

enable) tín hiệu đƣợc xuất ra ở chân 29 dùng để truy xuất bộ nhớ chƣơng trình
ngồi. Chân này thƣờng đƣợc nối với chân OE (output enable) của ROM ngoài.
Khi vi điều khiển làm việc với bộ nhớ chƣơng trình ngồi, chân này phát ra
tín hiệu kích hoạt ở mức thấp và đƣợc kích hoạt 2 lần trong một chu kì máy.
Khi thực thi một chƣơng trình ở ROM nội, chân này đƣợc duy trì ở mức
logic khơng tích cực (logic 1)
(Khơng cần kết nối chân này khi không sử dụng đến)
+ Chân ALE (chân cho phép chốt địa chỉ-chân 30): Khi Vi điều khiển truy
xuất bộ nhớ từ bên ngồi, port 0 vừa có chức năng là bus địa chỉ, vừa có chức năng
là bus dữ liệu do đó phải tách các đƣờng dữ liệu và địa chỉ. Tín hiệu ở chân ALE
dùng làm tín hiệu điều khiển để giải đa hợp các đƣờng địa chỉ và các đƣờng dữ liệu
khi kết nối chúng với IC chốt.
Các xung tín hiệu ALE có tốc độ bằng 1/6 lần tần số dao động đƣa vào Vi
điều khiển, nhƣ vậy có thể dùng tín hiệu ở ngõ ra ALE làm xung clock cung cấp
cho các phần khác của hệ thống.
Ghi chú: khi khơng sử dụng có thể bỏ trống chân này.
+ Chân EA : Chân EA dùng để xác định chƣơng trình thực hiện đƣợc lấy từ
ROM nội hay ROM ngoại.
Khi EA nối với logic 1(+5V) thì Vi điều khiển thực hiện chƣơng trình lấy từ
bộ nhớ nội.
Khi EA nối với logic 0 (0V) thì Vi điều khiển thực hiện chƣơng trình lấy từ
bộ nhớ ngoại.
1.2.3.4 Tổ chức bộ nhớ


Khảo sát tổ chức bộ nhớ 8952

AT 89C52 có bộ nhớ đƣợc tổ chức theo cấu trúc Harvard: có những vùng bộ
nhớ riêng biệt cho chƣơng trình và dữ liệu.
Nhƣ đã nói ở trên, cả chƣơng trình và dữ liệu có thể ở bên trong ; dù vậy

chúng có thể đƣợc mở rộng bằng các thành phần ngoài lên đến tối đa 64 Kbytes bộ
nhớ chƣơng trình và 64 Kbytes bộ nhớ dữ liệu.

Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên




24
Bộ nhớ bên trong bao gồm ROM và RAM trên chip bao gồm nhiều thành
phần: Phần lƣu trữ đa dụng, phần lƣu trữ địa chỉ hóa từng bit, các bank thanh ghi và
các thanh ghi chức năng đặc biệt.

FFFF

Bộ nhớ
chƣơng trình

FFFF

đƣợc chọn
qua PSEN\

FF

00

0000
Bộ nhớ trên chip


Bộ nhớ
dữ liệu
đƣợc chọn
qua WR\ và
RD\

0000
Bộ nhớ mở rộng

H.1-7: Tóm tắt các vùng bộ nhớ của AT89C52
Hai đặc tính cần lƣu ý là:
 Các thanh ghi và các port xuất nhập đã được xếp trong bộ nhớ và có thể
được truy xuất trực tiếp giống như các địa chỉ bộ nhớ khác.
 Ngăn xếp bên trong RAM nội nhỏ hơn so với RAM ngoài so với bộ xử lí
khác.


Chi tiết về bộ nhớ RAM trên chip

Nhƣ sẽ thấy trong hình sau, RAM bên trong AT89C52 đƣợc phân chia thành
các bank thanh ghi (00H – 1FH), RAM địa chỉ hóa bit (20H – 2FH), RAM đa dụng
(30H – 7FH) và các thanh ghi chức năng đặc biệt trong khoảng (80H – FFH).
RAM đa dụng: Mặc dù trên hình cho thấy 80 bytes RAM đa dụng chiếm các
địa chỉ từ 30H – 7FH, 32 bytes dƣới cùng từ 00H – 1FH cũng có thể đƣợc dùng với
mục đích tƣơng tự (mặc dù các địa chỉ này đã có mục đích khác).

Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên





25

Địa chỉ byte

Địa chỉ bit

Địa chỉ byte

7F

RAM đa dụng

30
2F
2E
2D
2C
2B
2A
29
28
27
26
25
24
23
22
21
20

1F
18
17
10
0F
08
07
00

Địa chỉ bit

Ký hiệu

FF

7F
77
6F
67
5F
57
4F

7E
76
6E
66
5E
56
4E


7D
75
6D
65
5D
55
4D

7C
74
6C
64
5C
54
4C

7B
73
6B
63
5B
53
4B

7A
72
6A
62
5A

52
4A

79
71
69
61
59
51
49

78
70
68
60
58
50
48

47
3F
37
2F
27
1F
17
0F
07

46

3E
36
2E
26
1E
16
0E
06

45
3D
35
2D
25
1D
15
0D
05

44 43
3C 3B
34 33
2C 2B
24 23
1C 1B
14 13
0C 0B
04 03
BANK 3


42
3A
32
2A
22
1A
12
0A
02

41
39
31
29
21
19
11
09
01

40
38
30
28
20
18
10
08
00


BANK 2
BANK 1
BANK 0
(Mặc định cho R0 – R7 M)

F0

F7

F6

F5

F4

F3

F2

F1

F0

B

E0

E7

E6


E5

E4

E3

E2

E1

E0

ACC

D0

D7

D6

D5

D4

D3

D2

_


D0

PSW

B8

_

_

_

BC

BB BA

B9

B8

IP

B0

B7

B6

B5


B4

B3

B1

B0

P3

A8

AF

_

_

AC AB AA

A9

A8

IE

A0

A7


A6

A5

A4

A1

A0

P2

99
98

9F

9E

khơng đƣợc địa chỉ hóa bit
9D 9C 9B 9A 99

98

SBUF
SCON

90


97

96

90

P1

8D
8C
8B
8A
89
88
87
83
82
81
80

95

94

A3

93

B2


A2

92

91

khơng đƣợc địa chỉ hóa bit
khơng đƣợc địa chỉ hóa bit
khơng đƣợc địa chỉ hóa bit
khơng đƣợc địa chỉ hóa bit
khơng đƣợc địa chỉ hóa bit
8F

8E

8D

8C

8B

8A

89

88

khơng đƣợc địa chỉ hóa bit
khơng đƣợc địa chỉ hóa bit
khơng đƣợc địa chỉ hóa bit

khơng đƣợc địa chỉ hóa bit
87

86

85

84

83

82

81

80

TH1
TH0
TL1
TL0
TMOD
TCON
PCON
DPH
DPL
SP
P0

H.1-8: Cấu trúc bộ nhớ RAM bên trong AT89C52

Mọi địa chỉ trong vùng RAM đa dụng đều có thể đƣợc truy xuất tự do dùng
cách đánh địa chỉ trực tiếp hoặc gián tiếp. Ví dụ, để đọc nội dung ở địa chỉ 5FH của
RAM nội vào thanh ghi tích lũy, lệnh sau sẽ đƣợc dùng:
MOV A, 5FH
Lệnh này di chuyển 1 byte dữ liệu dùng cách đánh địa chỉ trực tiếp để xác
định “địa chỉ nguồn” (5FH). Đích nhận dữ liệu đƣợc ngầm xác định trong mã lệnh
là thanh ghi tích lũy A.
RAM bên trong cũng có thể đƣợc truy xuất dùng cách đánh địa chỉ gián tiếp
qua R0 hay R1. Ví dụ, hai lệnh sau thi hành cùng nhiệm vụ nhƣ lệnh đơn ở trên:

Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên




×