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

Thiết kế bo mạch điều khiển nhiệt độ

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.87 MB, 52 trang )

TRƯỜNG ĐẠI HỌC KỸ THUẬT TP.HCM
KHOA ĐIỆN _ ĐIỆNTỬ
BỘ MÔN TỰ ĐỘNG
SVTH : LÊ PHƯỚC THÀNH
MSSV : 49600822

LỜI NÓI ĐẦU

Ngày nay, điều khiển tự động đã trở thành một nhu cầu không thể thiếu được. Dưới
sự xuất hiện của các học thuyết và các ứng dụng cụ thể trong đời sống hàng ngày, có thể
nói điều khiển tự động đang chi phối dần cuộc sống của chúng ta, mang lại sự tiện nghi và
thoải mái cho chúng ta.
Điều khiển nhiệt độ chỉ là một lónh vực nhỏ bé trong điều khiển tự động, và cũng
đã có nhiều công trình có hiệu quả cao như các lò nung trong công nghiệp, các lò nướng
dân dụng, … đòi hỏi phải điều khiển sao cho nhiệt độ bằng hoặc xấp xỉ nhiệt độ đặt để đáp
ứng các điều kiện mà nhu cầu sản xuất đặt ra.
Đồ án này ra đời chỉ nhằm mục đích tìm hiểu và đưa ra một giải pháp mà có thể
dễ dàng ứng dụng được với giá thành rẻ, dễ thi công, và hiệu quả tạm chấp nhận được.
Phương pháp thiết kế, thi công có thể là chưa tối ưu nhưng nó thể hiện một cố gắng của
người thực hiện trong điều kiện bò hạn chế về nhiều mặt : kiến thức, tài liệu tham khảo, tiền
bạc và thời gian.
Có nhiều người hỏi em rằng điều khiển nhiệt độ đã có nhiều người làm mà tại sao
bạn vẫn làm ?, chỉ là một sự lặp lại của những người đi trước mà thôi!. Tuy nhiên, em
không cho là như thế. Mỗi người khi làm một cái gì đó thì họ sẽ vướng phải một số khúc
mắc và khó khăn trong quá trình thực hiện, bắt buộc họ phải vượt qua dựa trên chính khả
năng của mình. Dần dần họ tích lũy được một khối lượng kiến thức cho riêng họ, thật sự là
của riêng họ. Em có một lợi thế là có thể tham khảo những gì của những người đi trước đã
làm, nhưng đó không phải là tất cả.
2

MỤC LỤC


LỜI NÓI ĐẦU 1
MỤC LỤC 2
CHƯƠNG 1. SƠ LƯC VỀ CÁC PHƯƠNG PHÁP ĐIỀU KHIỂN 4
I. Điều khiển hai vò trí 4
II. Điều khiển ba vò trí 5
III. Điều khiển tỷ lệ 5
IV. Điều khiển tích phân 6
V. Điều khiển tích phân - tỷ lệ 7
VI. Điều khiển vi phân 8
VII. Điều khiển vi phân - tỷ lệ 9
VIII. Điều khiển mờ 9
1. Đònh nghóa các phép toán trên tập mờ 9
2. Cấu trúc bộ điều khiển mờ 10
3.Nhận xét 11
CHƯƠNG 2. CÁC VI MẠCH DÙNG TRONG THIẾT KẾ 12
I. Vi điều khiển họ MCS-51 12
II. Vi điều khiển AT89C52 12
1. Cấu tạo chân 13
2. Sơ đồ khối 14
3. Mô tả chức năng các chân 14
4. Các thanh ghi chức năng 16
5. Bộ nhớ dữ liệu 18
6. Đặc tính bộ dao động 18
7. Chế độ lười 18
8. Chế độ hạ nguồn 19
9. Trạng thái các chân trong chế độ hạ nguồn và chế độ lười 19
10. Các thông số kỹ thuật 19
III. Bộ biến đổi AD ICL7109 24
1. Cấu tạo chân 24
2. Mô tả chức năng các chân 25

3. Quá trình biến đổi AD 26
4. Lựa chọn các giá trò 27
5. Giao tiếp trực tiếp với ICL7109 28
IV. Chuẩn RS-232-C 28
V. MAXIM232 và h IC biến đổi TTL ⇔ RS-232 30
1. Cấu tạo chân 31
2. Sơ đồ khối 31
3. Mô tả chân 32
CHƯƠNG 3. THIẾT KẾ BOARD MẠCH 33
I. Cấu trúc tổng quát 33
II. Khối xử lý trung tâm 33
III. Khối bộ nhớ và nguồn backup 36
IV. Khối cảm biến và gia công 37
V. Khối biến đổi AD 38
VI. Khối bàn phím 40
3

VII. Khối hiển thò 41
VIII. Khối giao tiếp với máy tính 41
IX. Khối công suất 42
X. Tổng quan 43
CHƯƠNG 4. CÁC CHƯƠNG TRINH CON PHỤC VỤ 44
I. Gán đòa chỉ 44
II. Truy xuất RAM 44
III. Đọc phím ấn 44
IV. Hiển thò LED 48
V. Xuất nhập qua cổng nối tiếp 51
TÀI LIỆU THAM KHẢO 52
4


CHƯƠNG 1. SƠ LƯC VỀ CÁC PHƯƠNG PHÁP ĐIỀU KHIỂN

Kỹ thuật điều khiển phát triển kéo theo sự tiến triển của các phương pháp điều
khiển. Tùy vào đối tượng và yêu cầu thực tế mà người ta lựa chọn ra các phương pháp điều
khiển thích hợp. Hầu hết các phương pháp điều khiển đều dựa vào độ sai lệch của giá trò
đặt và giá trò đo được để đưa ra quyết đònh. Sau đây ta sẽ điểm qua một số phương pháp
điển hình, cũng như các ưu khuyết điểm của nó.
I.ĐIỀU KHIỂN HAI VỊ TRÍ :
Đây là phương pháp điều khiển đơn giản nhất và rẻ tiền nhất. Đầu ra của bộ điều
khiển chỉ có hai vò trí phụ thuộc vào dấu của sai lệch. Nếu hai vò trí này là đóng hoàn toàn
và mở hoàn toàn thì người ta gọi đó là điều khiển on-off . Hầu hết các bộ điều khiển hai vò
trí đều có thêm vùng trung hòa để ngăn ngừa sự dao động của đầu ra (là dao động của hai
vò trí đầu ra khi sai lệch quanh quẫn bên vò trí zero). Vùng trung hòa là vùng quanh vò trí
zero mà tại đó không diễn ra một hành động điều khiển nào cả. Độ sai lệch phải vượt qua
vùng này thì mới xảy ra hành động điều khiển.
Hình 1.1 Mối quan hệ vào/ra của bộ điều khiển hai vò trí
Bộ điều khiển hai vò trí cung cấp các xung năng lượng đến quá trình, điều này sẽ
tạo ra một chu kỳ điều khiển có biên độ phụ thuộc vào ba yếu tố : độ quán tính, thời gian
trễ, và mức độ thay đổi của tải. Độ dao động sẽ giảm khi xảy ra một hay nhiều thay đổi :
tăng độ quán tính, giảm thời gian trễ, giảm độ thay đổi của tải. Điều khiển hai vò trí chỉ
phù hợp cho quá trình có độ quán tính lớn, thời gian trễ và độ thay đổi trên tải nhỏ (ví dụ
như điều khiển nhiệt độ lò nung chẳng hạn). Tuy điều khiển hai vò trí hạn chế đối tượng
điều khiển như vậy, nhưng do nó đơn giản và rẻ tiền nên người ta vẫn thích dùng nó.
5
0
- +
Sai lệch
0
100
Đầu ra của bộ điều khiển(%)

Vùng trung hòa

II.ĐIỀU KHIỂN BA VỊ TRÍ :
Điều khiển ba vò trí là trường hợp đặc biệt của điều khiển hai vò trí. Trong đó đối
tượng điều khiển sẽ nằm trong trạng thái ổn đònh miễn là độ sai lệch vẫn còn nằm trong
vùng trung hòa. Một khi độ sai lệch vượt qua vùng trung hòa thì sẽ điều khiển đối tượng
thay đổi một lượng hằng có chiều phụ thuộc vào dấu của sai lệch. Khi đó đối tượng điều
khiển sẽ liên tục thay đổi cho đến khi độ sai lệch trở về vùng trung hòa, hoặc là cho đến
khi bộ điều khiển tiến đến một trong nhừng vò trí bão hòa của nó.
Hình 1.2 Mối quan hệ vào/ra của điều khiển ba vò trí
Điều khiển ba vò trí có khuynh hướng làm tạo ra chu kỳ điều khiển. Biên độ của chu
kỳ phụ thuộc vào thời gian trễ, độ quán tính, và tốc độ tăng giảm khi điều khiển. Tốc độ
này sẽ xác đònh độ thay đổi nhanh nhất của tải (không phải độ lớn của thay đổi). Ưu điểm
của bộ điều khiển ba vò trí chính là ở điểm này, nó sẽ xử lý độ thay đổi của tải bằng cách
điều chỉnh dần đối tượng mà nó điều khiển. Cũng như điều khiển hai vò trí, biên độ dao
động sẽ giảm khi tăng độ quán tính, giảm thời gian trễ, hoặc giảm tốc độ điều khiển đối
tượng. Từ đó ta thấy bộ điều khiển ba vò trí được dùng khi quá trình có quán tính đủ lớn để
làm giảm tần số điều khiển đến một mức có thể chấp nhận được. Điều này ngụ ý rằng hệ
có độ quán tính lớn với thời gian trễ nhỏ. Thực tế điều khiển ba vò trí thường được dùng
trong điều khiển động cơ điện.
III.ĐIỀU KHIỂN TỶ LỆ (P) :
Bộ điều khiển loại này tạo tín hiệu đầu ra tỷ lệ với độ sai lệch. Càng gia tăng độ tỷ
lệ (tức độ lợi) thì lượng sai số tạo ra sự thay đổi càng nhỏ. Điều này không có nghóa là độ
lợi càng cao thì càng tốt, bởi vì khi độ lợi càng cao thì khuynh hướng dao động của biến
điều khiển càng tăng. Khi đó cần có một sự dung hòa giữa chúng sao cho độ lợi lớn ở một
mức độ mà không tạo ra sự dao động.
6
0
- +
Sai lệch

Tốc độ điều khiển
Vùng trung hòa
0
-
+

Vì lý do đó, ta thấy rằng không thể nào loại trừ hoàn toàn được sai số, mà luôn tồn
tại một sai lệch tónh được gọi là độ sai lệch tỷ lệ (proportional offset). Độ lớn của sai lệch
tónh này tỷ lệ thuận với độ lớn của sự thay đổi trên tải và tỷ lệ nghòch với độ lợi. Do đó bộ
điều khiển tỷ lệ chỉ được dùng khi độ lợi đủ lớn để giảm sai lệch tónh đến một mức có thể
chấp nhận được.
Tuy nhiên, ưu điểm của bộ điều khiển tỷ lệ là đáp ứng ngay tức khắc. Không hề có
một khoảng thời gian trễ nào kể từ khi xảy ra sự thay đổi trên tải cho đến khi ra tín hiệu
điều khiển. Vì vậy, có thể dùng bộ điều khiển tỷ lệ đối với những quá trình có độ quán tính
nhỏ (không thể sử dụng bộ điều khiển hai hay ba vò trí !).
Phương trình trong miền thời gian :
y(t) = K
P
.e(t) + y
0
Hàm truyền :
G(s) = K
P
IV.ĐIỀU KHIỂN TÍCH PHÂN (I) :
Bộ điều khiển tích phân tạo tín hiệu điều khiển bằng một lượng tỷ lệ với tích phân
của sai lệch. Vì thế, miễn là quá trình còn sai số thì bộ điều khiển còn làm việc và tạo sự
thay đổi của tín hiệu ra tỷ lệ với độ lớn của sai lệch. Hình sau đây sẽ minh họa mối liên hệ
giữa sai lệch và tín hiệu ra của hệ thống
Hình 1.3 Đáp ứng của bộ điều khiển tích phân theo sai lệch
Bộ điều khiển tích phân có thường được kết hợp nó với bộ điều khiển tỷ lệ nhằm

bổ sung ưu điểm : triệt tiêu sai lệch tónh.
7
Sai lệch
Thời gian
0
Thời gian
Tín hiệu ra
0
100

Phương trình trong miền thời gian :
0
0
)(.)( ydtteKty
t
I
+=

Hàm truyền :
s
K
sG
I
=
)(
V.ĐIỀU KHIỂN TÍCH PHÂN – TỶ LỆ (PI) :
Đây là sự kết hợp của bộ điều khiển tỷ lệ với bộ điều khiển tích phân nhằm triệt
tiêu sai lệch tỷ lệ như đã nói ở trên. Khi mà bộ điều khiển tỷ lệ tạo tín hiệu ra tỷ lệ với sai
lệch thì bộ điều khiển tích phân lại tạo tín hiệu ra tỷ lệ với tích phân của sai lệch. Do đặc
tính của bộ điều khiển tích phân, sai lệch tónh của hệ thống sẽ được loại trừ.

Nghòch đảo của K
I
chính là khoảng thời gian cần để bộ điều khiển tích tạo ra thay
đổi ở đầu ra bằng với sự thay đổi tạo bởi bộ điều khiển tỷ lệ.
Hình 1.4 Đáp ứng của bộ điều khiển tích phân – tỷ lệ đối với hàm nấc
Mặc dù có những ưu điểm như đã kể trên, việc thêm vào khâu tích phân cũng tạo
ra nhược điểm : đó là gia tăng khuynh hướng dao động của biến điều khiển. Do đó cần phải
giảm độ tỷ lệ đi, hệ trở nên đáp ứng chậm hơn so với ban đầu. Nếu quá trình có độ trễ lớn
thì tín hiệu sai lệch nhận được sẽ không phản ánh độ sai lệch thật sự. Do độ trễ này sẽ làm
cho đáp ứng của hệ không còn đúng với sai lệch hiện tại, tức là hệ làm việc với tín hiệu cũ.
8
Sai lệch
Thời gian
0
Thời gian
Tín hiệu ra
0
100
I
K
1
Đáp ứng của bộ điều khiển tỷ lệ
Gấp đôâi độ tỷ lệ do tích phân
Đáp ứng
tích phân
Đáp ứng
tỷ lệ
Đáp ứng
tỷ lệ
Đáp ứng

tích phân

Phương trình trong miền thời gian :
0
0
).(.)(.)( ydtteKteKty
t
IP
++=

Hàm truyền :
G(s) =
s
K
K
I
P
+
VI.ĐIỀU KHIỂN VI PHÂN (D) :
Bộ điều khiển vi phân tạo tín hiệu ra dựa trên tốc độ thay đổi của sai lệch. Sự thay
đổi này có thể là do biến đo thay đổi, thay đổi điểm đặt, hay cả hai. Điều khiển vi phân
chống lại sai lệch bằng cách xem nó thay đổi nhanh như thế nào, và dùng tốc độ thay đổi
đó để tạo tín hiệu điều khiển nhằm làm giảm sai lệch.
Xét đáp ứng của bộ điều khiển vi phân đối với đầu vào hàm nấc và đầu vào hàm
dốc :
Hình 1.5 Đáp ứng hàm nấc và hàm dốc của bộ điều khiển vi phân lý tưởng
Trong mỗi khoảng thời gian, đầu ra của bộ điều khiển vi phân tỷ lệ với độ dốc (tốc
độ thay đổi) của tín hiệu sai lệch. Dựa trên đồ thò, ta thấy rằng bộ điều khiển vi phân lỳ
tưởng không bao giờ có trong thực tế. Khi hàm nấc xuất hiện, độ dốc của sai lệch là vô
cùng. Điều này dẫn đến đáp ứng của bộ điều khiển vi phân lý tưởng phải thay đổi với độ

lớn là vô cùng. Trong thực tế, tốc độ thay đổi của bộ điều khiển có một giới hạn của nó.
Đây là một ưu điểm, bởi vì nó sẽ làm giảm độ nhạy của bộ điều khiển đối với các loại
nhiễu thường gặp trong thực tế (đó cũng là lý do mà nếu có bộ điều khiển vi phân lý
tưởng thì cũng không nên dùng).
Tuy nhiên, bộ điều khiển vi phân không bao giờ dùng riêng một mình cả. Bởi vì đầu
ra của bộ điều khiển chỉ thay đổi khi sai lệch thay đổi, tức là nếu sai lệch lớn mà không
thay đổi thì bộ điều khiển chẳng làm gì cả : chấp nhận sai lệch đó. Do đó, nó thường được
dùng chung với bộ điều khiển P, hay PI.
Phương trình trong miền thời gian :
dt
tde
Kty
D
)(
)(
=
Hàm truyền :
9
-∞

Thời gian
Thời gian
Sai lệch
Đầu ra
0
0

G(s) = K
D
.s

VII.ĐIỀU KHIỂN VI PHÂN – TỶ LỆ :
Bộ điều khiển vi phân thường kết hợp với bộ điều khiển tỷ lệ nhằm làm giảm
khuynh hướng dao động và cho phép nâng cao độ lợi. Trong đó, bộ điều khiển tỷ lệ thay
đầu ra tỷ lệ với độ lớn của sai lệch, bộ điều khiển vi phân thay đổi đầu ra tỷ lệ với tốc độ
biến đổi của sai lệch – tức là bộ điều khiển vi phân tính trước giá trò tương lai của sai lệch
và thay đổi đầu ra tương ứng với sự tính toán đó. Điều này làm cho bộ điều khiển vi phân
tiện dụng trong quá trình điều khiển có tải thay đổi bất ngờ.
Phương trình trong miền thời gian :
ODP
y
dt
tde
KteKty
++=
)(
.)(.)(
Hàm truyền :
G(s) = K
P
+ K
D
.s
VIII.ĐIỀU KHIỂN VI PHÂN – TÍCH PHÂN – TỶ LỆ (PID) :
Bộ điều khiển PID bao gồm cả ba bộ điều khiển : vi phân, tích phân, tỷ lệ. Tức là
kết hợp tất cả ưu điểm của các bộ điều khiển kể trên : tích phân loại bỏ sai lệch tónh, vi
phân giảm khuynh hướng dao động và tính trước giá trò tương lai của sai lệch – đặc biệt
hữu dụng khi tải thay đổi bất ngờ.
Phương trình trong miền thời gian :

+++=

t
ODIP
y
dt
tde
KdtteKteKty
0
)(
.)(.)(.)(
Hàm truyền :
G(s) = K
P
+K
I
/s + K
D
.s
IX.ĐIỀU KHIỂN MỜ :
Đây là một lónh vực còn rất mới mẻ, chỉ mới xuất hiện vào những năm đầu của
thập kỷ 90, nhưng đã đem lại nhiều thành tựu rất to lớn. Ưu điểm cơ bản của bộ điều
khiển mờ so với các bộ điều khiển kinh điển là khả năng tổng hợp bộ điều khiển mà không
cần biết trước các đặc tính của đối tượng một cách chính xác.
1. Đònh nghóa và các phép toán trên tập mờ :
a. Đònh nghóa : tập mờ F xác đònh trên tập nền X là một tập mà các phần tử
của nó là một cặp các giá trò (x,µ
F
(x)), trong đó x∈X và µ
F
là ánh xạ
µ

F
: X  [0,1]
nh xạ µ
F
được gọi là hàm liên thuộc của tập mờ F
b. Các phép toán trên tập mờ :
• Phép hợp : hợp của hai tập mờ A và B có cùng tập nền X là một tập mờ
A∪B cũng xác đònh trên tập nền X có hàm liên thuộc µ
A

B
(x) thỏa :
_ µ
A

B
(x) chỉ phụ thuộc µ
A
(x) và µ
B
(x).
_ µ
B
(x) = 0 với mọi x ⇒ µ
A

B
(x) = µ
A
(x).

_ µ
A

B
(x) = µ
B

A
(x) (tính giao hoán).
_ µ
(A

B)

C
(x) = µ
A

(B

C)
(x) (tính kết hợp).
_ µ
A1
(x) ≤ µ
A2
(x) ⇒ µ
A1

B

(x) ≤ µ
A2

B
(x).
10

Có nhiều công thức thỏa mãn các tính chất trên như là :
_ µ
A

B
(x) = max{µ
A
(x), µ
B
(x)} (luật lấy max).
_ µ
A

B
(x) = min{1, µ
A
(x)+µ
B
(x)} (hợp Lukasiewicz).
_ µ
A

B

(x) = µ
A
(x)+µ
B
(x) - µ
A
(x).µ
B
(x)
• Phép giao : giao của hai tập mờ A và B có cùng tập nền X là một tập mờ
A∩B cũng xác đònh trên tập nền X có hàm liên thuộc µ
A

B
(x) thỏa :
_ µ
A

B
(x) chỉ phụ thuộc µ
A
(x) và µ
B
(x).
_ µ
B
(x) = 1 với mọi x ⇒ µ
A

B

(x) = µ
A
(x).
_ µ
A

B
(x) = µ
B

A
(x) (tính giao hoán).
_ µ
(A

B)

C
(x) = µ
A

(B

C)
(x) (tính kết hợp).
_ µ
A1
(x) ≤ µ
A2
(x) ⇒ µ

A1

B
(x) ≤ µ
A2

B
(x).
Có nhiều công thức thỏa mãn các tính chất trên như là :
_ µ
A

B
(x) = min{µ
A
(x), µ
B
(x)} (luật lấy min).
_ µ
A

B
(x) = max{0, µ
A
(x)+µ
B
(x)-1}(giao Lukasiewicz).
_ µ
A


B
(x) = µ
A
(x).µ
B
(x).
• Phép bù : tập bù của tập mờ A đònh nghóa trên tập nền X là một tập mờ A
C
cũng xác đònh trên tập nền X với hàm liên thuộc thỏa
_ µ
A
c(x) chỉ phụ thuộc µ
A
(x).
_ µ
A
(x) = 1 ⇒ µ
A
c(x) = 0.
_ µ
A
(x) = 0 ⇒ µ
A
c(x) = 1.
_ µ
A
(x) ≤ µ
B
(x) ⇒ µ
A

c(x) ≥ µ
B
c(x).
2. Cấu trúc của bộ điều khiển mờ :
Một bộ điều khiển mờ tổng quát bao gồm ba thành phần : mờ hóa, thiết bò hợp
thành cùng với luật hợp thành trên nó, và giải mờ.
11

Hình sau đây minh họa bộ điều khiển mờ
Hình 1.6 Cấu trúc của bộ điều khiển mờ
Mờ hóa : có nhiệm vụ chuyển đổi giá trò rõ ở đầu ra thành vector µ gồm các độ
phụ thuộc của các giá trò rõ thành các giá trò mờ đã đònh nghóa cho biến ngôn
ngữ đầu vào.
Thiết bò hợp thành và luật hợp thành : xử lý trên vector µ và cho ra giá trò mờ của
biến ngôn ngữ đầu ra.
Giải mờ : chuyển đổi giá trò mờ đã tạo ra ở trên thành một giá trò rõ chấp nhận
được cho đối tượng, tín hiệu này gọi là tín hiệu điều khiển hay tín hiệu điều
chỉnh.
3. Nhận xét : như đã nói trên, bộ điều khiển mờ đem lại nhiều điều kỳ diệu mà không
thể đạt được bằng các bộ điều khiển kinh điển. Tuy nhiên, cũng do nó còn quá mới mẻ nên
các lý thuyết nghiên cứu về nó chưa nhiều. Như là chưa thể khẳng đònh bộ điều khiển có
ổn đònh hay không ?, độ bền vững cũng như chất lượng, đặc tính quá độ,… như thế nào thì
không thể biết được. Do đó, bộ điều khiển mờ cần được phát triển qua thực nghiệm.
12
Bộ điều khiển mờ
Mờ hóa
Giải mờ
R
1
: Nếu … thì …

R
2
: Nếu … thì …

x
0
µ
B’
y’

CHƯƠNG 2. CÁC VI MẠCH DÙNG TRONG THIẾT KẾ

I.VI ĐIỀU KHIỂN HỌ MCS-51 :
MCS-51 là một họ vi điều khiển do hãng INTEL sản xuất. Các IC tiêu biểu cho họ là
8051 và 8031. Các sản phẩm MCS-51 thích hợp cho những ứng dụng điều khiển. Việc
xử lí trên byte và các phép toán số học ở cấu trúc dữ liệu nhỏ được thực hiện bằng nhiều
chế độ truy xuất dữ liệu nhanh trên RAM nội. Tập lệnh cung cấp một bản tiện dụng của
những lệnh số học 8 bit gồm cả lệnh nhân và lệnh chia. Nó cung cấp những hỗ trợ mở
rộng on-chip dùng cho những biến 1 bit như là kiểu dữ liệu riêng cho phép quản lí và kiểm
tra bit trực tiếp trong điều khiển và những hệ thống logic đòi hỏi xử lí luận lí.
Sau đây là bảng so sánh các IC họ MCS-51 :
TÊN LINH
KIỆN
BỘ NHỚ CHƯƠNGù TRÌNH
ON CHIP
BỘ NHỚ DỮ LIỆU ON
CHIP
TIMER
8051 4 KB MROM 128 Bytes 2
8031 0 KB 128 Bytes 2

8751 4 KB EPROM 128 Bytes 2
8951 4 KB Flash ROM 128 bytes 2
8052 8 KB MROM 256 Bytes 3
8032 0 KB 256 Bytes 3
8752 8 KB EPROM 256 Bytes 3
8952 8 KB Flash ROM 256 Bytes 3
II.VI ĐIỀU KHỂN AT89C52 :
AT89C52 là một vi điều khiển 8 bit, chế tạo theo công nghệ CMOS, chất lượng cao,
công suất thấp với 8 KB Flash (flash programmable and erasable read only memory). 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-51
TM
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, ATMEL AT89C52 là
một vi điều khiển mạnh (có công suất lớn) mà 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.
AT89C52 cung cấp những đặc tính chuẩn như sau : 8KB bộ nhớ chỉ đọc có thể xóa
và lập trình nhanh (Flash), 256 Bytes RAM, 32 đường I/O, 3 timer/counter 16-bit, 8
vector ngắt có cấu trúc 2 mức ngắt, một port nối tiếp song công, mạch tạo xung clock và
bộ dao động on-chip. Thêm vào đó, AT89C52 được thiết kế với logic tónh cho hoạt động
đến mức không tần số và
13

hỗ trợ hai chế độ phần mềm có thể lựa chọn chế độ tiết kiệm công suất, hay chế độ lười
(IDLE MODE) sẽ dừng CPU trong khi vẫn cho phép RAM, timer/counter, port nối tiếp và hệ
thống ngắt tiếp tục hoạt động. Chế độ giảm công suất lưu nội dung RAM nhưng sẽ treo bộ
dao động làm mất khả năng hoạt động của tất cả những chức năng khác cho đến khi reset
hệ thống.
Các đặc điểm chủ yếu như sau :

• Tương thích hoàn toàn với họ MCS-51 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.
• 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.Cấu tạo chân :
14

2.Sơ đồ khối :
3.Mô tả chức năng của các chân :
Vcc : áp nguồn.
GND : đất.
Port 0 : là một port I/O 8-bit hai chiều, cực máng hở. Khi xuất ra, mỗi chân port có
thể lái 8 đầu vào TTL. Nếu ghi các mức 1 ra các chân port thì các chân này có thể
dùng như các đầu vào trở kháng cao.
Port 0 cũng có thể được cấu hình thành một bus multiplex giữa đòa chỉ thấp và dữ
liệu khi truy cập chương trình hay dữ liệu từ bên ngoài. Trong chế độ này, port 0 có
điện trở pullup nội.
Port 0 cũng nhận các byte mã chương trình khi lập trình Flash và xuất ra mã chương
trình khi kiểm tra. Lúc này, cần có điện trở pullup bên ngoài.
15

Port 1 : là một port I/O 8-bit hai
chiều có pullup nội. Đầu ra port 1
có thể lái 4 đầu vào TTL. Khi viết

các mức 1 ra các chân port thì
chúng được kéo lên do có điện trở nội và có thể dùng làm đầu vào. Khi vai trò là cổng
nhập, những chân của port 1 bò kéo xuống thấp sẽ đổ dòng vì có nội trở kéo lên.
Hơn nữa, P1.0 và P1.1 có thể được dùng như là đầu vào bộ đếm timer/counter 2 bên
ngoài (P1.0/T2) và xung kích (P1.1/T2EX).
Port 1 cũng nhận những byte đòa chỉ thấp trong khi lập trình Flash và trong khi kiểm
tra Flash .
Port 2 : là một port I/O 8-bit hai chiều có pullup nội. Đầu ra port 2 có thể lái 4 đầu
vào TTL. Khi viết các mức 1 ra các chân port thì chúng được kéo lên do có điện trở nội
và có thể dùng làm đầu vào. Khi vai trò là cổng nhập, những chân của port 2 bò kéo
xuống thấp sẽ đổ dòng vì có nội trở kéo lên.
Port 2 phát byte đòa chỉ cao trong khi nhận lệnh từ bộ nhớ chương trình ngoài và trong
lúc truy xuất đến bộ nhớ dữ liệu ngoài mà có sử dụng đòa chỉ 16 bit (MOVX A,
@DPTR). Trong ứng dụng này nó dùng điện trở nội kéo lên mạnh khi xuất 1. Khi truy
xuất bộ nhớ dữ liệu ngoài dùng đòa chỉ 8 bit, port 2 sẽ phát nội dung của thanh ghi
P2
Port 2 cũng nhận byte đòa chỉ cao trong lúc lập trình Flash và trong lúc kiểm tra Flash.
Port 3 : là một port I/O 8-bit hai chiều có pullup nội. Đầu ra port 3 có thể lái 4 đầu
vào TTL. Khi viết các mức 1 ra các chân port thì chúng được kéo lên do có điện trở nội
và có thể dùng làm đầu vào. Khi vai trò là cổng nhập, những chân của port 3 bò kéo
xuống thấp sẽ đổ dòng vì có nội trở kéo lên.
Port 3 cũng có những chức năng của họ MSC-51 được liệt kê ở bảng sau:
BIT TÊN ĐỊA CHỈ BIT CHỨC NĂNG THAY THẾ
P3.0 RXD B0H Nhận dừ liệu cho port nối tiếp
P3.1 TXD B1H Truyền dừ liệu cho port nối tiếp
P3.2 INT0 B2H Ngắt ngoài 0
P3.3 INT1 B3H Ngắt ngoài 1
P3.4 T0 B4H Ngõ vào từ bên ngoài cho timer/counter 0
P3.5 T1 B5H Ngõ vào từ bên ngoài cho timer/counter 1
P3.6 WR B6H Xung ghi bộ nhớ dữ liệu ngoài

P3.7 RD B7H Xung đọc bộ nhớ dữ liệu ngoài
Port 3 cũng nhận vài tín hiệu điều khiển trong lúc lập trình Flash và trong lúc kiểm tra
Flash.
RST : là ngõ vào Reset. Khi ngõ này được đưa lên cao (trong ít nhất hai chu kì máy),
các thanh ghi bên trong AT89C51 được tải những giá trò thích hợp để khởi động hệ
thống.
ALE/PROG (Address Latch Enable) :

ALE là xung xuất cho phép chốt byte đòa chỉ thấp
khi truy cập bộ nhớ ngoài. Chân này còn là ngõ vào của xung lập trình (PROG) khi lập
trình Flash.
Trong hoạt động bình thường, ALE được phát xung với tần số 1/6 tần số dao động on-
chip và có thể được dùng như xung thời gian chuẩn bên ngoài. Tuy nhiên, cần chú ý là
một xung ALE sẽ bò mất khi truy cập bộ nhớ ngoài.
Chân Chức năng thay thế
P1.0 T2 (đầu vào đếm cho Timer/Counter 2)
P1.1 T2EX (xung kích capture/reload cho
Timer/Counter 2 và điều khiển trực tiếp.
16

Có thể hủy bỏ chức năng của ALE bằng cách set bit 0 của thanh ghi ở vò trí 8EH. Một
khi bit này được set, ALE chỉ tích cực khi có lệnh MOVX hoặc MOVC. Nếu không có các
lệnh này thì ALE ở mức cao. Việc set bit 0 của thanh ghi ở vò trí 8EH không làm ảnh
hưởng đến vi điều khiển khi truy cập bộ nhớ ngoài.
PSEN (Program Store Enable) : PSEN là xung strobe báo hiệu việc đọc bộ nhớ chương
trình ngoài, PSEN tích cực hai lần (mức thấp) mỗi chu kì máy, ngoại trừ hai xung PSEN
bò mất khi truy xuất dữ liệu ngoài. Khi thi hành chương trình trong RAM nội, PSEN sẽ ở
mức thụ động (mức cao).
EA/V
PP

(External Access) : EA là ngõ vào để cho phép truy xuất bộ nhớ chương trình
từ bên ngoài khi được nối với GND. Khi EA được treo lên nguồn V
CC
, chương trình sẽ
được thực thi trong ROM nội. Chân này cũng nhận điện áp 12v (V
PP
) trong khi lập trình
Flash.
XTAL1 : Đầu vào của bộ khuếch đại dao động đảo và cũng là đầu vào đến mạch tạo
xung clock nội.
XTAL2 : Đầu ra của bộ khuếch đại dao động đảo.
4.Các thanh ghi chức năng (SFR-Special Funtion Reisters):
Bảng vò trí các thanh ghi chức năng
Chú ý là không phải tất cả các đòa chỉ đều có các thanh ghi, những đòa chỉ không
có thanh ghi này có thể không có trên chip. Đọc những đòa chỉ này sẽ có những giá trò
ngẫu nhiên và ghi những giá triï này có những tác động không xác đònh trước.
Phần mềm của người dùng không nên ghi những giá trò 1 đến các vò trí này, bởi vì
chúng có thể được dùng trong tương lai. Trong trường hợp đó, giá trò của các bit luôn là 0.
Các thanh ghi Timer 2 các bit điều khiển và trạng thái chứa trong thanh ghi T2CON và
T2MOD cho Timer 2. Cặp thanh ghi RCAP2H và RCAP2L là những thanh ghi
Capture/Reload trong chế độ capture 16 bit hay chế độ auto-reload 16 bit.
T2CON-Thanh ghi điều khiển Timer/Counter 2
Ký hiệu Chức năng
17

TF2 Cờ tràn Timer 2, set khi Timer 2 tràn và phải được clear bằng phần mềm. TF2 sẽ không
set khi RCLK = 1 hoặc TCLK = 1.
EXF2 Cờ ngoài của Timer 2, set khi xảy ra capture hoặc reload do T2EX xuống thấp và EXEN2
= 1. Nếu ngắt Timer 2 được kích hoạt, EXF2 = 1 sẽ làm CPU trỏ đến ISR của Timer 2.
EXF2 phải được xóa bằng phần mềm. EXF2 không gây nên ngắt trong chế độ đếm

lên/xuống (DCEN = 1).
RCLK Kích hoạt xung clock bộ thu. Khi set, các xung tràn Timer 2 sẽ là xung clock cho bộ thu
port nối tiếp trong mode 1 và 3. RCLK = 0 thì bộ thu port nối tiếp sẽ dùng các xung
tràn của Timer 1.
TCLK Kích hoạt xung clock bộ phát. Khi set, các xung tràn Timer 2 sẽ là xung clock cho bộ
phát port nối tiếp trong mode 1 và 3. TCLK = 0 thì bộ phát port nối tiếp sẽ dùng các
xung tràn của Timer 1.
EXEN2 Kích hoạt bên ngoài. Khi set, cho phép capture hay reload khi T2EX xuống thấp (nếu
Timer 2 không sử dụng cho port nối tiếp). EXEN2 = 0 làm cho Timer 2 bỏ qua các sự
kiện trên T2EX.
TR2 Khởi động/Dừng Timer 2. TR2 = 1 làm khởi động Timer 2.
C/T2 Bit lựa chọn timer hay counter. C/T2 = 0 : timer. C/T2 = 1 : counter đếm sự kiện bên
ngoài (kích cạnh xuống).
CP/RL2 Lựa chọn capture hay reload. CP/RL2 = 1: capture xảy ra khi T2EX xuống thấp nếu
EXEN2 = 1. CP/RL2 = 0 : reload xảy ra khi Timer 2 tràn hoặc khi T2EX xuống thấp
nếu EXEN2 = 1. Nếu TCLK hay RCLK = 1, bit này bò bỏ qua và timer bò ép vào chế độ
reload khi Timer 2 tràn.
Các thanh ghi ngắt tập các bit riêng lẻ cho phép ngắt chứa trong thanh ghi IE. Thiết lập hai
mức ưu tiên cho 6 nguồn ngắt bằng cách set các bit thanh ghi IP.
5.Bộ nhớ dữ liệu :
AT89C52 có 256 byte bộ nhớ RAM on-chip. Trong đó, 128 byte trên có cùng đòa chỉ với vùng thanh ghi
chức năng nhưng có cấu tạo vật lý riêng biệt.
Khi một lệnh truy cập một vò trí nội có đòa chỉ trên 7FH, chế độ đòa chỉ nó sử dụng sẽ báo cho CPU biết
vùng đòa chỉ nào nó cần truy cập : RAM hay SFR. Các lệnh dùng đòa chỉ trực tiếp sẽ truy cập vùng SFR. Ví dụ như lệnh
sau đây sẽ truy cập SFR ở đòa chỉ 0A0H (port 2)
MOV 0A0H,#data
Lệnh dùng đòa chỉ gián tiếp sẽ truy cập 128 byte trên của RAM. Ví dụ như cũng truy cập đòa chỉ 0A0H
nhưng gián tiếp thông qua R0.
MOV R0,#0A0H
MOV @R0,#data

Chú ý rằng các tác vụ của stack vốn đã sử
dụng đòa chỉ gían tiếp nên vùng 128 byte trên của
RAM rất tiện dụng để làm vùng stack.
6.Đặc tính bộ dao động :
XTAL1 là đầu vào và đầu ra tương ứng của bộ
khuếch đại đảo được dùng làm bộ dao động nội on-chip.
Có thể dùng thạch anh hay bộ cộng hưởng ceramic đều
được.
Để lái vi điều khiển từ nguồn xung clock bên
ngoài, XTAL2 phải được để trống trong khi XTAL1 nối
đến nguồn lái. Không có yêu cầu gì về duty cycle nhưng
phải chú ý đến thời gian tối đa và tối thiểu của mức
điện áp cao cũng như mức điện áp thấp.
18

7.Chế độ lười :
Trong chế độ lười, CPU rơi vào trạng thái “ngủ” trong khi tất cả thiết bò ngoại vi
vẫn còn tích cực. Chế độ này được tạo ra bằng phần mềm. Nội dung của RAM on-chip và
giá trò của các SFR được giữ nguyên.
19

Kết thúc chế độ lười bằng cách kích hoạt một ngắt hoặc reset phần cứng.
Chú rằng khi kết thúc chế độ lười bằng cách reset phần cứng thì thông thường vi
điều khiển sẽ gọi lại chương trình mà nó vừa thoát, cho đến hai chu kỳ máy trước khi thuật
toán reset chiếm quyền điều khiển. Phần cứng cấm truy cập RAM nội trong trường hợp này
nhưng không cấm truy cập đến các chân port, do đó có thể xảy ra những trường hợp
không mong muốn. Để loại bỏ trường hợp này, lệnh ngay sau lệnh gọi chế độ lười không
nên là lệnh ghi port hay ghi bộ nhớ ngoài.
8.Chế độ hạ nguồn :
Trong chế độ hạ nguồn, bộ dao động ngừng, và lệnh gọi hạ nguồn là lệnh cuối cùng

được thực thi. RAM on-chip và SFR duy trì giá trò của nó cho đến khi kết thúc chế độ hạ
nguồn. Kết thúc chế độ hạ nguồn chỉ bằng một cách duy nhất : reset phần cứng. Reset sẽ
tạo lại giá trò cho SFR nhưng không thay đổi nội dung của RAM on-chip. Không nên reset
trước khi Vcc phục hồi mức điện áp thông thường của nó và phải giữ đủ lâu để bộ dao
động phục hồi và ổn đònh.
9.Trạng thái của một số chân trong chế độ lười và chế độ hạ nguồn :
10.Các thông số kỹ thuật :
20

21


22

23

Thông tin chi tiết hơn về các timer, các port, tập lệnh… có thể tham khảo ở The 8051
microcontroller - I. Scott MacKenzie - Prentice Hall hoặc có thể download về từ đòa chỉ

24

III.Bộ biến đổi AD ICL 7109 :
Tín hiệu trong thế giới thực thường ở dạng tương tự (analog), nên mạch điều khiển
thu thập dữ liệu từ đối tượng điều khiển về (thông qua các cảm biến) cũng ở dạng tương
tự. Trong khi đó, bộ điều khiển ngày nay thường là các µP, µC xử lý dữ liệu ở dạng số
(digital). Do đó, cần phải chuyển đổi tín hiệu ở dạng tương tự thành tín hiệu ở dạng số
thông qua bộ biến đổi AD.
Có nhiều phương pháp biến đổi AD khác nhau, và do đó trên thò trường cũng có
nhiều loại IC biến đổi AD khác nhau (các phương pháp biến đổi cụ thể có thể tham khảo ở
Digital Systems : principles and applications - Ronald J. Tocci - Prentice Hall).

ICL 7109 là bộ biến đổi AD 12 bit, biến đổi theo phương pháp tích phân hai độ
dốc, cộng với các bit chỉ cực tính, bit báo quá thang đo có thể giao tiếp với µP, µC theo hai
cách :
a. Ghép trực tiếp vào bus : thông qua chân chọn chip, hai chân cho phép xuất
byte cao, byte thấp.
b. Ghép theo chuẩn công nghiệp UART : được ứng dụng trong truyền nhận dữ liệu
từ xa, ngõ ra được biến đổi và đưa đến một UART trong chế độ bắt tay, trao đổi
dữ liệu nối tiếp.
ICL 7109 có độ chính xác cao, độ trôi nhiệt nhỏ hơn 1µV/
0
C. Được ứng dụng
trong nhiều trong những hệ thống thu thập dữ liệu do giá thành thấp, công suất tiêu tán
và dòng phân cực nhỏ. Các đặc điểm chủ yếu như sau :
• Pha zero-integrator giúp khôi phục quá tải nhanh.
• Loại bỏ vòng trễ và nhiễu.
• Cải tiến khả năng lái bus.
• Ngõ ra 3 trạng thái.
• UART ở chế độ bắt tay để giao tiếp nối tiếp.
• Có sẳn nguồn tham chiếu chuẩn.
• 30 lần biến đổi trong 1 giây.
• Khối đơn, công nghệ CMOS có công suất thấp
1.Cấu tạo chân :
25

icl ٧١٠٩
١
٢
٣
٤
٥

٦
٧
٨
٩
١٠
١١
١٢
١٣
١٤
١٥
١٦
١٧
١٨
١٩
٢٠ ٢١
٢٢
٢٣
٢٥
٢٦
٢٧
٢٨
٢٩
٣٠
٣١
٣٢
٣٣
٣٤
٣٥
٣٦
٣٧

٣٨
٣٩
٤٠
٢٤
GND
STATUS
POL
OR
B١٢
B١١
B١٠









TEST
LBEN
HBEN
CE/LOAD MODE
OSC IN
OSC OUT
BUF OSC OUT
RUN/HOLD
SEND
V-

REF OUT
BUF
AZ
INT
COMMON
IN LO
IN HI
REF IN+
REF CAP+
REF CAP-
REF IN-
V+
OSC SEL

×