Yêu cầu: Ghép nối CPU với cơ cấu đo lường điều khiển và viết chương trình điều khiển : tính nhiệt độ và điều khiển ON, OFF... + Chân DIR được nối với chân B14 mang tín hiệu IORđọc... 5.C
Trang 1I BÀI TOÁN:
Xây dựng hệ thống đo lường và điều khiển sử dụng PC điều khiển nhiệt độ: Nhiệt độ khống chế từ 250C đến 750C, ∆t = ±10C Yêu cầu: Ghép nối CPU với cơ cấu đo lường điều khiển và viết chương trình điều khiển : tính nhiệt độ và điều khiển ON, OFF
tđo > tc : ON
tđo ≤ tc : OFF
DT ĐK (Nhiệt độ)
BXLTT (MP,PC)
Bàn phím
Cơ cấu điều khiển
Cơ cấu điều khiển
Cơ cấu đo lường
v v
t
U( ) = 2 , 7 − 3 , 2
v
v 5
0 −
Senso
r
KD
&
CĐ
ADC (8bit)
0
75
25 −
=
t
Trang 2II.CẤU TẠO:
CÁC PHẦN CƠ BẢN CỦA HỆ THỐNG
1.Chuẩn ISA(8bit):
Trang 32.Bộ đệm vào ra (IN/OUT) 74245:
+Dữ liệu vào D0-D7 từ các chân A0-A7
+ Chân DIR được nối với chân B14 mang tín hiệu IOR(đọc)
• Nếu tín hiệu IOR tích cực mức 0.Dữ liệu (data) sẽ đi từ
B >> A
• Nếu tín hiệu IOR tích cực mức 1.Dữ liệu (data) sẽ đi từ
A >> B + Chân E được nối với bộ 74688.Nhận tín hiệu cho phép 74245 hoạt động với mức 0 là mức tích cực
Trang 43.IC 74688:
74LS688
2 4 6 8 11 13 15 17
3 5 7 9 12 14 16 18
A0 A1 A2 A3 A4 A5 A6 A7
B0 B1 B2 B3 B4 B5 B6 B7
+ Chân G được nối với các cổng NAND để tạo tín hiệu khởi động cho 74688
IOR/IOW
NAND
1 2
3
NAND
1 2
3 ARE
A11
+ Các chân từ A0-A7 được nối với các chân của ISA A26-A19 mang tín hiệu A5-A11 có chân A8-A9 =1.B3-B4 được nối với nguồn +5v
+ IC chỉ hoạt động khi tín hiệu đầu vào A bằng tín hiệu định sẵn B.Để xác định máy hoạt động đúng trong giải địa chỉ 300H đến 30FH Từ đó tạo ra tín hiệu tích cực cho 74245 hoạt động và 74138 hoạt động
Trang 54.Giải mã địa chỉ qua IC 74138:
+ Chân G2A và G2B tích cực ở mức 0 cho phép 74138 hoạt động + Đầu vào dữ liệu qua các chân A3-A4-IOW:
• Nếu A3 A4 IOW là 000 : Y0 tích cực ở mức 0 cho phép
ADC0809 hoạt động
• Nếu A3 A4 IOW là 001 : Y1 tích cực ở mức 0 cho phép
IC74374 hoạt động
• Nếu A3 A4 IOW là 100 : Y4 tích cực ở mức 0 tạo tín hiệu đọc OE cho ADC0809
• Nếu A3 A4 IOW là 101 : Y5 tích cực ở mức 0 cho phép IC
74244 hoạt động
5.Cơ cấu đo lường – Khuếch đại – Chuyển đổi :
IC đo nhiệt độ là một mạch tích hợp nhận tín hiệu nhiệt độ chuyển thành tín hiệu điện dưới dạng dòng điện hay điện áp Dựa vào đặc tính rất nhạy cảm của các bán dẫn với nhiệt độ, tạo
ra điện áp hoặc dòng điện, tỉ lệ thuận với nhiệt độ tuyệt đối.Đo tín hiệu điện ta biết được giá trị của nhiệt độ cần đo Sự tác
Trang 6Đặc tính của IC đo nhiệt độ LM 335 Ngõ ra điện áp,
Sai số cực đại 1,50C khi nhiệt độ lớn hơn 1000C
Phạm vi sử dụng -550C đến 1500C
∆t = 25-75 ◦C
Ura = 2,7v – 3,2v
Trang 7b.Khuếch đại:
ADC0809 CPU 0-5V {0,1}
4,7k
10k
1
2 -+
4,7k 1k
1k
Khuếch đại tín hiệu từ 2,7v -3,2v lên tín hiệu từ 0-5v để đưa vào bộ chuyển đổi ADC0809
Nếu:
)
2
4 1
3
v v
U
k R
R R
R
−
=
=
=
Mà Ur = 5, Uv2 – Uv1 = 0,5 => Chọn k = 10
c.Bộ chuyển đổi ADC0809 (tương tự thành số):
* Ý nghĩa các chân:
2-1 đến 2-8 : ngõ ra song song 8 bit
Trang 8REF (-) : điện thế tham chiếu (-)
Để máy tính có thể xử lý được thông số của nhiệt độ đo
được.Ta cần phải chuyển đổi chúng từ tín hiệu tương tự sang tín
hiệu số.Chính vì thế ta sử dụng bộ chuyển đổi ADC0809
+ Tín hiệu A0A1A2 = 000 cho phép đọc nhiệt độ đo được ở IN0.Tương tự 001 ở kênh IN1
chọn
0
0
0
0
1
1
1 1
0
0
1
1
0
0
1 1
0
1
0
1
0
1
0 1
IN0 IN1 IN2 IN3 IN4 IN5 IN6 IN7
Trang 9+ Bắt đầu chuyển đổi khi tín hiệu START ở mức tích cực, tín hiệu ALE tích cực để chốt địa chỉ
+ Chuyển đồ từ tín hiệu tương tự sang số kết thúc khi
ADC0809 phát ra tín hiệu EOC
+ Chân OE được nối với 74138 để điều khiển kết thúc quá trình chuyển dữ liệu
+ CLK được nối với bộ chia tần:
7414 7414
4Mhz
CLK
100pF
NC
7493 14
1
12 9 8 11 2
3
CLKA CLKB
QA QB QC QD R01
R02
Trang 10* Biểu đồ thời gian của ADC 0809.
Trang 116.Cơ cấu điều khiển với IC
74374:
IC 74374 làm nhiệm vụ điều khiển quạt bật lên hoặc tắt đi nếu như nhiệt độ đo được lớn hơn hoặc nhỏ hơn nhiệt đo đặt vào
IC 74374 hoạt động khi tín hiệu vào chuyển từ 74138 ( khi A3-A4-IOW = 100 – Y1 được chọn ở mức tích cực 0) Khi đó IOR
= 1, IOW =0 ở địa chỉ 308H
Trang 12D0 D1 D2 D3 D4 D5 D6 D7
OE G
Q0 Q1 Q2 Q3 Q4 Q5 Q6 Q7
CPU
100pF
A30
SƠ ĐỒ NGUYÊN LÝ HỆ THỐNG ĐIỀU KHIỂN NHIỆT ĐỘ
1K
A8
74LS138
A3 A4 IOW
A B C
Y 0
Y 1
Y 2
Y 3
Y 4
Y 5
Y 6
Y 7
G1 G2A G2B
IOR
100K 1K
4,7K
+5V
A4
A28 B14
+5V
A19
4MHz
B13
ISA
10K
A23
A20
7493
14 1
12 9 8 11 2
3
CLKA CLKB
QA QB QC QD R01 R02
A29 A5
A25
74LS245
D0 D1 D2 D3 D4 D5 D6 D7
A0 A1 A2 A3 A4 A5 A6 A7 E DIR
B0 B1 B2 B3 B4 B5 B6 B7
A9
4,7K
ADC0809
CLK
OE
EOC
D0 D1 D2 D3 D4 D5 D6 D7
START ALE
IN0 IN1 IN2 IN3 IN4 IN5 IN6 IN7
+
-A24
A21
B9
kênh 0
1,5K
A22
A31
+5V
74LS244
1Y 1 1A1
G2 G1
7414
A26
10K
AEN
A7
C828
A3
P=Q
74LS688
A5 A6 A7 A8 A9 A10 A11 A12
P0 P1 P2 P3 P4 P5 P6 P7
Q0 Q1 Q2 Q3 Q4 Q5 Q6 Q7
A11
1K
7414
A27
+12V
1K
A2
FAN
10K
+12V
1K
Trang 13III.GIẢI MÃ ĐỊA CHỈ I/O
IN/OUT
0 1
0 ,
0
7 6 5 4 3
9 8 2
=
=
=
=
=
=
=
=
=
=
A A A A A
A A A
IOW IOR
Đọc dữ liệu từ 301H MOV DX,301H
IN Al,DX
0 ) ( 14 =
IN
A1A2=00 A0A8A9=111 A3A4…A7=00 0 AEN=0
Trang 14CHƯƠNG TRÌNH ĐIỀU KHIỂN
.Model small
.Stack 100h
.Data
Msg1 DB 'Chuong trinh dieu khien nhiet do.$' Msg2 DB ‘Nhiet do phong la: $’
.Code
Main Proc
;Hiển thị thông báo
Start:
MOV DX,301h ;chọn kênh 1
LAP1:
MOV DX,308h ; cho cổng 74244 hoạt động
IN AX,DX
AND AL,80h
JZ LAP1
MOV DX,308h ; khởi động cổng 74374 OUT DX,AL
MOV DX,301H
IN AL,DX
MOV BL,2d
MUL BL
Trang 15MOV BL,10D
XOR AH,AH
DIV BL
ADD AL,25
;Xuống dòng
MOV AX,@Data
;Hiển thị thông báo
PUSH AX
MOV BX, 10
Lap:
MOV DL, BL ; In ra màn hình
Trang 16MOV AH, 2
CMP AL,27D
JA Above ;Nếu lớn hơn
CMP AL,25D
JB Below ; Nếu nhỏ hơn
JMP Start
OUT DX,AL
JZ Start
Below: ; Giảm nhiệ t độ bằng cách bật quạt
MOV DX,308h
Main EndP
End Main
NGUYÊN LÝ HOẠT ĐỘNG:
Trước tiên, ta đưa 301H vào DX rồi OUT AL ra cổng 301h Khi đó A0, A8, A9 = 1, còn lại là bằng 0, IOW =1, IOR =0 Chân AEN ở mức 0 cho phép CPU làm chủ hệ thống, kết hợp với IOW
và IOR qua các cổng NAND để khởi động 74688 Do A8, A9 =1 tức là P = Q Æ chân Y sẽ tích cực ở mức thấp, tạo tín hiệu cho phép 74245 (chân E) và 74138 (chân G2A,G2B) hoạt động Tại
74245, IOR =0 Æ DIR = 1, cho phép dữ liệu chuyển từ A sang B
chọn tích cực ở mức thấp, qua mạch NOT tạo tín hiệu khởi động
IOW
Trang 170, IOR = 1 Với , A4, A3 = 1,0,1, thì tại 74138 chân Y5 được chọn, đưa tín hiệu khởi động 74244 Khi ADC0809 thực hiện chuyển đổi xong dữ liệu từ tín hiệu tương tự sang tín hiệu số thì nó sẽ phát ra một tín hiệu qua chân EOC đến 74244 (lúc này đã được khởi động) Æ dữ liệu được truyền từ 1A1 qua 1Y1 lên D7 của kênh dữ liệu Lúc này trong CPU sẽ thực hiện kiểm tra bằng cách AND 7 bit thấp của dữ liệu xem EOC có bằng 1 tức thông báo đã chuyển đổi xong hay chưa Nếu đã xong (D7 = 1) sẽ thực hiện đọc dữ liệu vào AL qua cổng 301H từ ADC0809 Lúc này A8, A9, A0 =1, còn lại là bằng 0, IOR
=
IOW
1, IOW =0 Tại 74245, IOR = 1 Æ DIR = 0, cho phép dữ liệu
cực, qua mạch NAND cho phép chân OE của ADC0809 tích cực, kết thúc một chu kỳ chuyển đổi và chuyển sang đọc dữ liệu số đã được mã hoá Lúc này trong AL thu được dữ liệu chính là nhiệt độ
X Sử dụng lệnh MUL và ADD để thực hiện tính nhiệt độ thực theo công thức đã cho: T=25+0,2X So sánh với nhiệt độ đặt ra (ở đây là 27), nếu nhiệt độ đặt ra vẫn lớn hơn nhiệt độ đo được thì lại quay lại quá trình đọc nhiệt độ tiếp, nếu nhiệt độ đặt ra nhỏ hơn nhiệt độ đo được thì bắt đầu quá trình đưa tín hiệu trạng thái ra
= 0,0,1 Æ chân Y1 được chọn, khởi động 74374 để điều khiển quạt
IOW
IOW