thiết kế hệ thống đo và khống chế nhiệt độ bằng máy vi tính
1
PHẦN MỘT
TÌM HIỂU VỀ 8051
Chương I
BỘ VI ĐIỀU KHIỂN 8051
I/ Tổng quan về bộ vi điều khiển 8051
1)Định nghĩa :
Bộ vi điều khiển 8051 hay còn gọi là bộ vi xử lý được cấu tạo là một vi
mạch số mật độ cực lớn làm việc theo chương trình tức theo nguyên tắc nhận
lệnh từ bên ngoài và thực hiện lệnh đó.
Bộ vi xử lý là một hệ thống thao tác trên các bit 0 và 1, nhưng bản thân
hệ thống không giải quyết được vấn đề gì cả, mà bài toán chỉ được giải khi bộ
vi xử lý thực hiện tất cả các chương trình ứng dụng mà ngươi lập trình đưa vào.
2) Sự phát triển của bộ điều khiển 8051
Sự phát triển của kĩ thuật vi xử lý gán liền với sự phát triển của bộ vi
điều khiển. Intel hãng sản xuất bộ vi sử lý đầu tiên và là hãng có bộ vi điều
khiển lớn nhất và phong phú nhất.
Trong các họ vi điều khiển 8 bít hàng đầu thì 8051 có số lượng lớn nhất
và có nhiều hãng cung cấp nhất. Nhà cung cấp lầ nhà sản xuất bên cạnh nhà
sáng chế bộ vi điều khiển đối với 8051 thì nhà sáng chế là Intel. Nhưng hiên nay
có rất nhiều hãng cung sản xuất. Các hãng này gồm Intel , Atmel , Philips/
Signetics , AMD , Simens , Matra , Pallas...
Năm 1981 hãng Intel cho ra mắt bộ vi điều khiển được gọi là 8051. Bộ
vi điều khiển này là một vi mạch tổng quát của họ MCS – 51 , bộ vi điều khiển
này có các thống số và các đặc trưng như sau.
- 4KB ROM .
thiết kế hệ thống đo và khống chế nhiệt độ bằng máy vi tính
2
- 128 byte RAM.
- 4 port xuất nhập ( 4 cổng vào/ra) 8bít .
- 2bộ định thời 16 bít .
- Mạch giao tiếp nối tiếp .
- Không gian nhớ chương trình ( mã) ngoài 64K .
- Bộ xử lý bít .
- 210 vị trí nhớ được định địa chỉ , mỗi vị trí 1 bít .
- Nhân / chia trong 4μs .
8051 đã trở nên rất phổ biến sau khi Intel cho phép các nhà sản xuất khác
sản xuất và bán bất kì biến dạng nào của 8051 nhưng với điều kiện họ phải mã
chương trình tương thích với 8051 mặc dù do các hãng sản xuất khác nhau nên tốc
độ và dung lượng nhớ của ROM trên chíp là khác nhau nhưng tất cả các lệnh đó đều
tương thích với 8051 ban đầu.
Các thông số của 8051
Đặc tính Số lượng
ROM 4K byte
RAM 128 byte
Bộ định thời 2
Chân vào / ra 32
Cổng nối tiếp 1
Nguồn ngắt 6
3) Sơ đồ chức năng 8051
.
Bộ vi điều khiển 8051 là thành viên đầu tiên của họ 8051 nó bao gồm
các thành phần sau : Bộ vi sử lý , bộ nhớ và các thiết bị vào ra ngoài ra còn các
mạch phụ trợ khác tuỳ theo từng loại của bộ vi điều khiển 8051 .
thiết kế hệ thống đo và khống chế nhiệt độ bằng máy vi tính
3
sơ đồ khối bộ vi điều khiển 8051
* CPU
Còn được gọi là bộ xử lý trung tâm nó đIều khiển mọi hoạt động của
hệ và hoạt động theo chương trình đIều khiển có sẵn
* Bộ nhớ
Bộ nhớ là nơi chứa chương trình và dữ liệu nó bao gồm có bộ nhớ
trong và bộ nhớ ngoài .
+ Bộ nhớ trong bao gồm 2 thành phần ROM và RAM
Ngắt ngoài
Bộ tạo
dao động
Bus điều
khiển
4 cổng vào
ra
Cổng nối
tiêp
CPU
Đ/khiển
ngắt
RAM
on chip
ROM
On chip
chương
trình
ETC
Timer0
Timer1
Vào
Bộ
đếm
P
0
P
1
P
2
P
3
TXD
RXD
Địa chỉ dữ liệu
thiết kế hệ thống đo và khống chế nhiệt độ bằng máy vi tính
4
ROM ( Read only memory ) : Là bộ nhớ cố định có đặc điểm thông tin
chỉ có thể đọc thông tin ra và thông tin không bị mất khi mất điện. Bộ nhớ ROM
được dùng để chứa chương trình chính hoặc chứa chương trình điều hành hay
chương trình hướng dẫn.
RAM (.................) là bộ nhớ động có đặc điểm là thông tin có thể ghi
hoặc đọc ra một ra một cách tuỳ ý và thông tin đó sẽ bị mất đi khi mất điện.
RAM được sử dụng để nạp phần còn lại của hệ điều hành từ đĩa khởi động hoặc
nạp vào các chương trình ứng dụng từ bộ nhớ ngoài, lưu trữ số liệu và trạng thái
hệ thống trong quá trình làm việc.
+ Bộ nhớ ngoài gồm băng từ, đĩa từ... được sử dụng nhiều vì giá thành rất
rẻ và được dùng để lưu trữ thông tin và dữ liệu
• Cổng vào ra
+ Thực hiện trao đổi thông tin giữa CPU với các thiết bị ngoại vi như bàn
phím, chuột máy in...
+ Để tránh cho CPU mất nhiều thời gian cho các cổng vào/ ra thì trong
các máy tính người ta sử dụng các bộ xử lý giá thành thấp, chuyên dụng cho các
cổng vào/ ra. Vì vậy khi CPU đang bận các bộ xử lý vào ra vẫn có thể làm công
việc của nó.
• Các Bus
Các đường dây dùng để truyền song song các tín hiệu có cùng chức
năng và có các loại Bus sau đây.
+ Bus địa chỉ: Là hệ thống các dây dẫn song song mà CPU cần tới để xác
định địa chỏ của các thành phần trong qúa trình làm việc
+ Bus dữ liệu: Là hệ thống đường truyền song song được dùng để trao đổi
dữ liệu giữa CPU với các thành phần bên ngoài và giữa các thành phần với
nhau
thiết kế hệ thống đo và khống chế nhiệt độ bằng máy vi tính
5
+ Bus điều khiển: Gồm các đường dây dùng để truyền tín hiệu điều khiển
cần thiếu giúp cho CPU điều khiển việc trao đổi dữ liệu, xử lý sự cố và đồng bộ
toàn hệ thống.
II/ Sơ đồ, chức năng các chân của 8051
1) Sơ đồ chân của 8051
2) Chức năng các chân của 8051
- Chíp 8051 có 40 chân trong đó có 32 chân có công dụng xuất/ nhập tuy
nhiên 24 trong 32 chân này có 2 mục đích sử dụng. Mỗi một chân này có thể
hoạt động xuất/nhập như một đường địa chỉ/dữ liệu của bus địa chỉ/dữ liệu đa
hợp, 32 chân này hình thành 4 port 8 bít. 8 chân cho một bort và có thể sử dụng
như một đơn vị giao tiếp song song như máy in, bộ biến đổi DA...
- Các chân còn lại dành cho nguồn V
cc
, đất GND, các chân dao động
XTAL1.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
25
AD0
AD1
AD2
AD3
AD4
AD5
AD6
AD7
AD8
AD9
AD10
AD11
AD12
AD13
AD14
AD15
P10
P11
P12
P13
P14
P15
P16
P17
P00
P01
P02
P04
P05
P06
P07
P03
P20
P21
P22
P23
P24
P25
P26
P27
P30
P31
P32
P33
P34
P35
P36
P37
8051
PSEN
ALE
EA
RST
RD
WR
T1
T0
INT0
INT1
TXD
RXD
Vcc
Vss
XTAL 1
XTAL 2
12MHZ
30pF
30pF
thiết kế hệ thống đo và khống chế nhiệt độ bằng máy vi tính
6
3) Nhóm chân cổng vào ra
Bốn cổng vào ra Port0, Port1, Port2, Port3, đèu có 8 chân và tạo thành
cổng 8 bít . Khi Reset thì tất cảc các cổng làm nhiệm vụ đầu ra còn để làm
nhiệm vụ đầu vào thì cần phải lập trình.
a) Cổng Port 0
Cổng Port0 Có 8 chân (Chân từ 32 đến 39) bình thường đây là cổng ra,
vào hoặc ra nhưng nó có hai tác dụng trong các thiết kế tối thiểu thì Port 0 được
sử fụng làm nhiệm vụ xuất nhập còn trong các thiết bị lớn hơn thì Port trở thành
bus địa chỉ và bus dữ liệu đa hợp.
b) Cổng Port 1
Cổng Port 1 cũng có các chân ( Các chân từ 1 đến 8) các chân này chỉ
có một tác dụng là dùng để giao tiếp với các thiết bị ngoại vi (làm đường xuất
nhập hoặc làm các ngõ vào cho các mạch dịch thời thứ 3). Để chuyển cổng port
1 thành đầu vào cần lập trình bằng cách ghi 1 đến tất cả các bít của cổng.
c) Cổng port 2
Cổng Port 2 có 8 chân( từ chân 24 đến chân 28) có thể được sử dụng
làm đầu vào hoặc đầu ra. Cổng này có hai chức năng là chuyển địac hỉ và dữ
liệu, byte địa chỉ cao của bus địa chỉ 16 bít cho các thiết kế có bộ nhớ chương
trình ngoài .
d) Cổng Port 3
Cổng Port có 8 chân từ chân 10 đến chân 17. Cổng này có thể được sử
dụng làm đầu vào hoặc đầu ra. Khi không làm nhiệm vụ xuất nhập thì nó sẽ có
các chức năng riêng liên quan đến các đặc trung cụ thể của 8051 , tuy nhiên
cổng Port3 còn có một chấc năng quan trọng khác là cung cấp một số tín hiệu
đặc biệt chẳng hạn như ngắt.
thiết kế hệ thống đo và khống chế nhiệt độ bằng máy vi tính
7
Bảng chức năng của cổng Port3
Bít Tên Địa chỉ bít Chức năng
P3.0 RXD B0H Chân nhận dữ liệu của Port nối tiếp
P3.1 TXD B1H Chân phát dữ liệu của Port nối tiếp
P3.2 INT0 B2H Ngõ vào ngắt ngoài 0
P3.3 INT1 B3H Ngõ vào ngắt ngoài 1
P3.4 T0 B4H Ngõ vào của bộ định thời / đếm 0
P3.5 T1 B5H Ngõ vào của bộ định thời / đếm 1
P3.6 WR B6H Điều khiển ghi bộ nhớ dữ liệu ngoài
P3.7 RD B7H Điều khiển đọc bộ nhớ dữ liệu ngoài
4) Nhóm chân nguồn dao động và điều khiển
a) Nhóm chân nguồn
+ Chân Vcc: Chân 40 cung cấp điện áp nguồn +5V cho chíp
+ Chân GND: Chân số 20 là cung cấp nguồn âm (là chân mát)
b) Nhóm chân dao động
Nhóm chân XTAL1 và XTAL2 là các chân 18 và 19 của chíp 8051
hiện tại đã có môt bộ dao động đồng hồ ở bên ngoài dùng để kích hoạt và hai
chân này cần được nối với bộ dao động thạch anh ở ngoài va khi đó được mắc
với các tụ ổn định tần số dao động cho thạch anh .
Tần số danh định của thạch anh là 12 MHz cho tất cả họ vi điều khiển
8051 . Bộ dao động tạo xung đồng hồ không nhất thiế
t là bộ dao động dùng
thạch anh mà cũng có thể dùng bộ dao động TTL khi đó dao động được nối tới
chân XTAL1 còn chân XTAL2 để hở .
c) Nhóm chân điều khiển .
+ Chân RESET ( chân số 9 ) là chân khởi động lại trạng thái ban đầu
của hệ thống . Khi có xung cao đặt tới chân này thì bộ vi điều khiển 8051 sẽ kết
thiết kế hệ thống đo và khống chế nhiệt độ bằng máy vi tính
8
thúc mọi hoại động hiện tại và tiến hành khởi động lại . Quá trình này xảy ra
hoàn toàn tương tự như khi bật nguồn và khi đó mọi giá trị trên thanh ghi đều bị
xoá hết
+ Chân EA ( Chân số 31 )
Là chân truy xuất ngoài có thể được nối với +5V khi có mức logic1 và
nối đất khi có mức logic 0 .
Nếu có mức logic 1 thì nó sẽ thực thi chương trình trong ROM .
Nếu có mức logic 0 và chân PSEN cũng ở mức 0 thì chương trình cần
thực thi chứa ở bộ nhớ ngoài vì trong chíp không có bộ nhớ chương trình .
+ Chân PSEN (chân 29 )
Là chân ra có chức năng cho phép cất chương trình 1 và cho phép bộ
nhớ chương trình cung cấp cho ta 4 tín hiệu điều khiển bus và là tín hiệu xuất
trên chân này và đây cũng là tín hiệu cho phép truy xuất bộ nhớ chương trình
ngoài và được nối với OE .
Tín hiệu PSEN ở mức logic 0 khi thực hiện thời gian tìm nạp lệnh .
Tín hiệu PSEN ở mức logic 1 khi thực hiện 1 chương trình chứa ở
ROM . + Chân chốt địa chỉ ALE ( Chân 30 ) .
Là chân có mức tích cực cao và là chân xuất tín hiệu cho phép xuất địa
chỉ ALE . Khi pỏt được chọn làm bus địa chỉ / dữ liệu thi chân ALE xuất tín
hiệu để chốt địa chỉ và sau khi chốt các chân của port sẽ xuất / nhập dữ liệu hợp
lệ trong suốt 1/2 thứ 2 của chu kì bộ nhớ .
Chân ALE còn được sử dụng để phân kênh địa chỉ và dữ liệu bằng
cách nối tới chân G c
ủa chíp 74LS373 .
Tín hiệu ALE có tần số bằng 1/6 tần số của mạch dao động , chân ALE
còn dùng làm chân nhận xung ngõ vào lập trình cho EDROM .
thiết kế hệ thống đo và khống chế nhiệt độ bằng máy vi tính
9
5) Cấu trúc của port xuất nhập .
sơ đồ mạch bên trong của các port xuất / nhập .
Việc ghi đến 1 chân của port sẽ nạp dung lượng vào bộ chốt của port
, ngõ ra Q của bộ chốt điều khiển 1 trạm trường và transitor này nối với chân
của port . Khả năng fan out của các port 1 , 2 và 3 là 4 tải vi mạch TTL loại
Schottky công suất thấp còn của 0 là 8 tải loại Shottky công suất thấp .
Trong đó
8051 internal bus : Đường truyền bên trong của 8051 .
Read latch : Đọc bộ chốt .
Internal pull up : Kéo lên bên trong .
Read pin : Đọc chân port .
port pin : Chân port .
Write to latch : Ghi vào bộ chốt .
Write
to latch
Port
latch
D
8051 internal bus
Port
Pin
Vcc
Read
Pin
internal
Pull-up
Read
latch
Q
+V
5V
NJFET
thiết kế hệ thống đo và khống chế nhiệt độ bằng máy vi tính
10
6)
Truy suất bộ nhớ chương trình ngoài .
Bộ nhớ chương trình ngoài là bộ nhớ chỉ đọc và được cho phép bởi tín
hiệu PSEN . Khi có 1 EPROM ngoaì được sử lý thì cả 2 port 0 và 1 đều không
còn là các port xuất nhập .
Sơ đồ 8051 truy xuất với bộ nhớ ngoài .
Khi bộ nhớ ngoài được sử dụng thì port không làm nhiệm vụ của port
xuất / nhập , port này trở thành bus địa chỉ ( A
0
÷ A
7
) và bus dữ liệu ( P
0
÷ P
7
)
đa hợp . Ngõ ra ALE chốt byte thấp của địa chỉ ở thời điểm bắt đầu mỗi một chu
kỳ bộ nhớ ngoài . Còn port 2 thường được dùng làm byte cao của bus địa chỉ .
Sự xắp xếp đa hợp có hoạt động là 1/2 chu kỳ đầu của chu kỳ bộ nhớ ,
byte thấp của địa chỉ được cung cấp bởi port 0 và được chốt nhờ tín hiệu ALE .
Mạch ch
ốt 74HC374 giữ cho byte của địa chỉ ổn định trong cả chu kỳ bộ nhớ .
Trong 1/2 chu ky sau của chu kỳ bộ nhớ port 0 được sử dụng làm bus dữ liệu và
khi đó dữ liệu được đọc hay ghi .
7) Truy suất bộ nhớ dữ liệu ngoài .
Sơ dồ cấu trúc sự truy suất của 8051 vói bộ nhớ dữ liệu ngoài
Port0
8051
EA
ALE
Port2
PSEN
D
0
÷ D
7
RAM
(1kbyte)
A
0
÷ A
7
A
18
÷A
15
OE
D
Q
G
thiết kế hệ thống đo và khống chế nhiệt độ bằng máy vi tính
11
Bộ nhớ dữ liệu ngoài là bộ nhớ đọc , ghi được cho phép bởi các tín
hiệu RD , WR ở các chân P3.7 , P3.6 . Bộ nhớ dữ liệu ngoài có thể giao tiếp với
8051 theo cùng cách như EPROM ngoại trừ đường RD nói với cổng cho phép (
OE ) của nó và WR nối với đường ghi W của RAM các kết nối bus dữ liệu và
bus địa chỉ giống như EPROM cũng bằng cách sử dụng các port ở mức cao thì
dữ liệu được xuất ra ở port 0 .
Ở đây port 2 giảm bớt được chức năng làm nhiệm vụ cung cấp byte
cao của địa chỉ trong các hệ thống tối thiểu thành phần , hệ thống không dùng
bộ nhớ chương trình ngoài và chỉ có 1 dunglượng nhỏ bộ nhớ dữ liệu ngoài.
III/ Chế độ hoạt động của các port nối tiếp
Chức năng của Port nối tiếp là thực hiện việc chuyển đổi dữ liệu song
song thành nối tiếp khi phát và chuyển đổi dữ liệu nối tiếp thành song song khi
thu.
Các mạch phần cứng bên ngoài truy xuất Port nối tiếp thông qua các
chân TxD (Phát dữ liệu) và RxD ( thu dữ liệu) các chân này đa hợp với hai chân
Port0
8051
AE
ALE
P
2.0
P
2.1
RD
WR
PSEN
D
0
÷ D
7
RAM
(1kbyte)
A
0
÷ A
7
A
8
A
9
OE
W
CS
D
Q
G
NC
thiết kế hệ thống đo và khống chế nhiệt độ bằng máy vi tính
12
của bort 3 là P
3.1
và P
3.0
(RxD). Đặc trưng của nó là hoạt động song công (pull
duplex) nghĩa là nó có khả năng thu và phát đồng thời ngoài ra nó còn có đặc
trương nữa là việc đệm dữ liệu khi thu của bort này cho phép 1 ký tự được nhân
và lưu giữ trong bộ đệm thu trong khi ký tự tiếp theo được nhân vào. Nếu CPU
đọc ký tự thứ nhất trước khi ký tự thứ 2 được nhận đầy đủ thì dữ liệu sẽ không
bị mất
PHẦN II
CÁC HỆ THỐNG ĐO VÀ KHỐNG CHẾ
NHIỆT ĐỘ
CHƯƠNG I : SƠ LƯỢC VỀ HỆ THỐNG CẦN THIẾT KẾ
I/ Chỉ tiêu kĩ thuật
- Thông số cần đo và khống chế là ( 30
0
C ÷ 80
0
C ) .
- Sai số là ±1
0
II / Mô hình và nguyên tắc hoại động của hệ thống
.
a) Mô hình .
Bộ cảm
biến
nhiệt
Nhiệt
độ
Phần tử
chấp
hành
K đại
chuyển
đổi
ADC
8051
Máy
tính
thiết kế hệ thống đo và khống chế nhiệt độ bằng máy vi tính
13
b) Nguyên tắc hoạt động .
Khi nhiệt độ cần khống chế thay đổi thì bộ cảm biến ( Sensor ) sẽ nhận
được biến đổi thành tín hiệu điện đưa tới bộ khuyếch đại để đưa ua bộ chuyển
đổi tương tự sang số và được đưa vào bộ vi điêù khiển 8051 đã có chương trình
sẵn để điều khiển và được kết nối với máy tính cùng với chương trình điều
khiển của máy tính thì vi điều khiển sẽ điều khiển các cơ cấu chấp hành bên
ngoài làm cho các phần tử thay đổi theo đúng yêu cầu được đặt ra .
III / Mục tiêu và nhiệm vụ
.
a) Mục tiêu
Do nhu cầu sử lý thông tin của xã hội ngày càng cao việc xây dựng một
hệ thống thu nhập và sử lý chuyên dụng phục vụ cho thông tin và điều khiển là
một trong các vấn đề đang được đề cập đến , nhằm nâng cao hiệu quả sử dụng
giảm đáng kể những chi tiết không cần thiết và giảm tối đa nhân lực .
Như vậy hệ thống của ta phải có các đặc tính sau .
- Có tính mềm dẻo .
- Có tính mở ( có tính mở rộng thêm cho hệ thống ) .
- Dễ sử dụng ( càng đơn giản cho người sử dụng càng tốt ) .
- Giá thành chấp nhận được .
- Linh kiện dễ tìm kiếm .
b) Nhiệm vụ .
Qua tiếp xúc với nhiều hãng sản xuất nổi tiếng như OMRON ... thì ta
thấy các hãng náy sử dụng các linh kiện rất khó thay thế , gía thành đắt . Do đó
nhiệm vụ của đề tài là em phải xây dựng được một card giao tiếp với máy tính
thiết kế hệ thống đo và khống chế nhiệt độ bằng máy vi tính
14
qua cổng RS232 ( com 1 hoặc com 2 ) thực hiện các chức năng đo và khống chế
nhiệt độ như yều cầu của đề tài đặt ra và viết chương trình điều khiển cho card
bằng các ngôn ngữ sau
- ASSENI BLER
- C ( C thường ) .
- Visual bazisc .
CHƯƠNG II : THIẾT KẾ PHẦN CỨNG CỦA HỆ THỐNG
I/ Sơ lược về các khối của hệ thống cần thiết kế .
• Bộ cảm biến nhiệt ( Sensor ) .
Bộ cảm biến là nơi tiếp nhận và sử lý thông tin trước khi đưa về trung
tâm tiếp tục sử lý và phản hồi cho việc đo đặc và tự động điều khiển .
Việc cảm nhận của các mạch cảm biến nhiệt rất quan trọng do đó các
bộ sensor phải chịu đựng được các điều kiện khắc nghiệt và phải có độ chính
xác cao .
• Mạch khuyếch đại tín hiệu : Các tín hiệu ra khỏi mạch cảm biến là rất
nhỏ do đó mạch khuyếch đại có tác dụng khuyếch đại tín hiệu trước khi đưa vào
bộ biến đổi ADC .
• Mạch biến đổi ADC : Tín hiệu đưa vào máy tính là các tín hiệu có
dạng các bít 0 hoặc 1 do đó ta pải dùng mạch chuyển đổi tín hiệu từ tương tự
sang số .
• Mạch 8051 : Là bộ vi sử lý làm việc theo chương trình đã được lập sẵn
và được điều khiển bởi máy tính .
• Mạch điều khiển các phần tử chấp hành : Là mạch nhận các dữ liệu từ
8051 và máy tính sau đó điều khiển các cơ cấu chấp hành theo lệnh đã có sẵn .