Lập trình hệ thống
lượt xem 121
download
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.
Bình luận(0) Đăng nhập để gửi bình luận!
Nội dung Text: Lập trình hệ thống
- I . 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 Cơ cấu đo Cơ cấu điều DT ĐK lường khiển (Nhiệt độ) Senso t = 25 − 75 0 r Cơ cấu điều U (t ) = 2,7 − 3,2 v v khiển KD & CĐ BXLTT (MP,PC) 0v − 5v ADC (8bit) Bàn phím
- II.CẤU TẠO: CÁC PHẦN CƠ BẢN CỦA HỆ THỐNG 1.Chuẩn ISA(8bit):
- 2.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.
- 3.IC 74688: 74LS688 1 19 G Y 2 3 B0 A0 4 5 B1 A1 6 7 B2 A2 8 9 B3 A3 11 12 B4 A4 13 14 B5 A5 15 16 B6 A6 17 18 B7 A7 + 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 1 3 2 NAND ARE NAND 1 3 A11 2 + 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.
- 4.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 : a.Sensor LM355: 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
- Đặc tính của IC đo nhiệt độ LM 335 Ngõ ra điện áp, Độ nhạy 10mv/10C. 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
- b.Khuếch đại: 0-5V {0,1} ADC0809 CPU +5v 10k 4,7k 1k 2 - + 1 1k 10k 4,7k 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: R3 R4 = =k R1 R2 U r = k .(U v 2 − U v1 ) 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: . IN0 đến IN7 : 8 ngõ vào tương tự. . A, B, C : giải mã chọn một trong 8 ngõ vào -1 -8 . 2 đến 2 : ngõ ra song song 8 bit . ALE : cho phép chốt địa chỉ . START : xung bắt đầu chuyển đổi . CLK : xung đồng hồ . REF (+) : điện thế tham chiếu (+)
- . REF (-) : điện thế tham chiếu (-) . VCC : nguồn cung cấp Để 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..... ABC Ngõ vào được chọn 0 0 0 IN0 0 0 1 IN1 0 1 0 IN2 0 1 1 IN3 1 0 0 IN4 1 0 1 IN5 1 1 0 IN6 1 1 1 IN7
- + 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: 4Mhz 7414 7414 1 2 1 2 1k 1k 100pF 7493 14 12 CLKA QA 1 9 NC CLKB QB 8 QC 2 11 R01 QD 3 R02 CLK
- * Biểu đồ thời gian của ADC 0809.
- 6.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.
- SÔ ÑOÀ NGUYEÂN LYÙ HEÄ THOÁNG ÑIEÀU KHIEÅN NHIEÄT ÑOÄ +12V +5V 10K 4,7K 1,5K ISA ADC0809 keâ nh 0 1K - D0 A9 A0 B0 D0 IN0 D1 1K + A8 A1 B1 D1 IN1 D2 4MHz A7 A2 B2 D2 IN2 D3 A6 A3 B3 D3 IN3 D4 10K A5 A4 B4 D4 IN4 LM335 D5 10K A4 A5 B5 D5 IN5 D6 A3 A6 B6 D6 IN6 D7 4,7K A2 A7 B7 D7 IN7 IOR 7414 7414 B14 DIR E 1K CLK ALE 1K 100K START 74LS245 EOC 100pF 14 12 CLKA QA 1 9 A2 A1 A0 OE CLKB QB 8 QC 2 11 R01 QD 3 R02 A29 7493 A30 A31 CPU B9 +12V D0 Q0 D1 Q1 D2 Q2 D3 Q3 D4 Q4 D5 Q5 D6 Q6 FAN D7 Q7 G OE 1K C828 A3 74LS374 A28 A Y0 A4 A27 B Y1 IOW B13 C Y2 10K Y3 +5V A11 G1 Y4 G2A Y5 G2B Y6 Y7 74LS138 AEN P=Q Y G A5 A26 P0 Q0 A6 A25 P1 Q1 A7 A24 P2 1Y 1 1A1 Q2 A8 A23 P3 Q3 +5V A9 A22 P4 Q4 A10 A21 P5 G1 Q5 A11 A20 P6 G2 Q6 A12 A19 P7 Q7 74LS244 74LS688
- III.GIẢI MÃ ĐỊA CHỈ I/O IN/OUT IOR = 0, IOW = 0 A2 = A8 = A9 = 1 A3 = A4 = A5 = A6 = A7 = 0 Đọc dữ liệu từ 301H MOV DX,301H IN Al,DX IN → IORD ( B14 ) = 0 A1A 2 =00 A 0 A8A9=111 A3A4…A7=00..0 AEN=0
- CHƯƠ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 MOV AX,@Data MOV DS, AX ;Hi ển thị thông báo LEA DX,Msg1 MOV AH,9 INT 21H Start: MOV DX,301h ;chọn kênh 1 MOV AL,00h OUT DX,AL LAP1: MOV DX,308h ; cho c ổng 74244 hoạt đ ộn g 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
- MOV BL,10D XOR AH,AH DIV BL ADD AL,25 POP AX ;Xuống dòng POP AX MOV AH,2 MOV DL,0DH INT 21H MOV DL,0AH INT 21H MOV AX,@Data MOV DS, AX ;Hi ển thị thông báo LEA DX,Msg2 MOV AH,9 INT 21H P US H AX POP AX MOV BX, 10 MOV CX, 0 ; tạo biến đếm Lap: DIV BX ; Chia AX cho BX PUSH DX ; Cất phần dư thu được trong DX INC CX ; tăng biến đếm CMP AX, 0 ; So sánh AX với 0 JG Lap ; Nếu lớn hơn 0 thì chia tiếp POP BX ; Lấy dữ liệu được cất ra BX ADD BL, ‘0’ ; Chuyển số thành ký tự MOV DL, BL ; In ra màn hình
- MOV AH, 2 INT 21h PUSH AX CMP AL,27D JA Above ;N ếu l ớn hơn CMP AL,25D JB Below ; N ếu nhỏ hơn JMP Start Above: ;T ắt quạt MOV DX,308h MOV AL,00h OUT DX,AL JZ Start Below: ; Giảm nhi ệ t đ ộ b ằng cách b ật quạt MOV DX,308h MOV AL,01h OUT DX,AL JZ Start 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 (đi ra ). Tại 74138, vì tín hiệu IOW , A3, A4 = 0,0,0 nên Y0 được chọn tích cực ở mức thấp, qua mạch NOT tạo tín hiệu khởi động
- 0 , IOR = 1 . Với IOW , 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 = 1 , IOW = 0 . Tại 74245, IOR = 1 DIR = 0, cho phép dữ liệu chuyển từ B sang A. Tại 74138, IOW ,A3,A4=1,0,0 chân Y4 tích 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 cổng 308H để điều khiển 74374. Lúc này, trên 74138 IOW , A4, A3 = 0,0,1 chân Y1 được chọn, khởi động 74374 để điều khiển quạt.
CÓ THỂ BẠN MUỐN DOWNLOAD
-
Giáo trình thực hành Lập trình hệ thống - Nguyễn Hứa Duy Khang vs Trần Hữu Danh
39 p | 1511 | 624
-
Giáo trình Lập trình hệ thống - ThS. Nguyễn Hứa Duy Khang, Ks. Trần Hữu Danh
117 p | 1027 | 299
-
Giáo trình Lập trình hệ thống máy tính - Phạm Hùng Kim Khánh
130 p | 649 | 215
-
Điểu khiển hệ thống - Kỹ thuật lập trình
406 p | 323 | 124
-
Tài liệu Lập trình hệ thống - NGẮT VÀ SỰ KIỆN
15 p | 279 | 66
-
Lập trình hệ thống nhúng
14 p | 309 | 58
-
Lập trình hê thống (ĐH Cần Thơ) -1
10 p | 313 | 55
-
Lập trình hệ thống nhúng - Bùi Quốc Bảo
22 p | 249 | 39
-
Bài giảng Lập trình hệ thống nhúng - Bùi Quốc Bảo
34 p | 167 | 24
-
Giáo trình Lập trình hệ thống - Đại học SPKT Hưng Yên
371 p | 177 | 20
-
Lập trình hệ thống nhúng: delay sử dụng vòng lặp lệnh
11 p | 134 | 19
-
Lập trình hệ thống nhúng: Top-down design
12 p | 133 | 15
-
Bài tập lớn học phần PLC và mạng truyền thông CN: Lập trình hệ thống điều khiển 8 bơm trong trạm bơm
17 p | 120 | 12
-
Ngân hàng đề thi hết học phần: Lập trình hệ thống và điều khiển thiết bị
5 p | 158 | 9
-
Giáo trình thực hành Lập trình hệ thống: Phần 1
23 p | 86 | 9
-
Giáo trình thực hành Lập trình hệ thống: Phần 2
16 p | 84 | 9
-
Lập trình hệ thống mạng (Nguyễn Hữu Thể) - Mạng máy tính
17 p | 101 | 6
-
Bài giảng Hợp ngữ và lập trình hệ thống: Chương 0 - Phạm Công Hòa
7 p | 81 | 4
Chịu trách nhiệm nội dung:
Nguyễn Công Hà - Giám đốc Công ty TNHH TÀI LIỆU TRỰC TUYẾN VI NA
LIÊN HỆ
Địa chỉ: P402, 54A Nơ Trang Long, Phường 14, Q.Bình Thạnh, TP.HCM
Hotline: 093 303 0098
Email: support@tailieu.vn