Lập trình hệ thống

17 114 0
Lập trình hệ thống

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

Thông tin tài liệu

I BÀI TỐN: Xây dựng hệ thống đo lường đ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 u cầu: Ghép nối CPU với cấu đo lường điều khiển viết chương trình điều khiển : tính nhiệt độ điều khiển ON, OFF tđo > tc : ON tđo ≤ tc : OFF Cơ cấu đo lường DT ĐK (Nhiệt độ) Senso r U (t ) = 2,7 − 3,2 v KD & CĐ 0v − 5v Cơ cấu điều khiển t = 25 − 75 Cơ cấu điều khiển v BXLTT (MP,PC) 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 (IN/OUT) 74245: +Dữ liệu vào D0-D7 từ chân A0-A7 + Chân DIR 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) từ B >> A • Nếu tín hiệu IOR tích cực mức 1.Dữ liệu (data) từ A >> B + Chân E nối với 74688.Nhận tín hiệu cho phép 74245 hoạt động với mức mức tích cực 3.IC 74688: 74LS688 11 13 15 17 G Y A0 A1 A2 A3 A4 A5 A6 A7 B0 B1 B2 B3 B4 B5 B6 B7 19 12 14 16 18 + Chân G nối với cổng NAND để tạo tín hiệu khởi động cho 74688 IOR/IOW NAND ARE NAND A11 + Các chân từ A0-A7 nối với chân ISA A26-A19 mang tín hiệu A5-A11 có chân A8-A9 =1.B3-B4 nối với nguồn +5v + IC hoạt động tín hiệu đầu vào A tín hiệu định sẵn B.Để xác định máy hoạt động giải địa 300H đến 30FH Từ tạo tín hiệu tích cực cho 74245 hoạt động 74138 hoạt động 4.Giải mã địa qua IC 74138: + Chân G2A G2B tích cực mức cho phép 74138 hoạt động + Đầu vào liệu qua chân A3-A4-IOW: • Nếu A3 A4 IOW 000 : Y0 tích cực mức cho phép ADC0809 hoạt động • Nếu A3 A4 IOW 001 : Y1 tích cực mức cho phép IC74374 hoạt động • Nếu A3 A4 IOW 100 : Y4 tích cực mức tạo tín hiệu đọc OE cho ADC0809 • Nếu A3 A4 IOW 101 : Y5 tích cực mức 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 độ 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ạng dòng điện hay điện áp Dựa vào đặc tính nhạy cảm bán dẫn với nhiệt độ, tạo điện áp 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 giá trị nhiệt độ cần đo Sự tác Đặc tính IC đo nhiệt độ LM 335 Ngõ điện áp, Độ nhạy 10mv/10C Sai số cực đại 1,50C nhiệt độ lớ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 ADC0809 {0,1} CPU +5v 10k 4,7k + 1k 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 chuyển đổi ADC0809 Nếu: R3 R4 = =k R1 R2 U r = k (U v − 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 chân: IN0 đến IN7 : ngõ vào tương tự A, B, C : giải mã chọn ngõ vào -1 -8 đến : ngõ song song bit ALE : cho phép chốt địa START : xung bắt đầu chuyển đổi CLK : xung đồng hồ REF (+) : điện tham chiếu (+) REF (-) VCC : điện tham chiếu (-) : nguồn cung cấp Để máy tính xử lý thơng số 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 ta sử dụng chuyển đổi ADC0809 + Tín hiệu A0A1A2 = 000 cho phép đọc nhiệt độ đo IN0.Tương tự 001 kênh IN1 A B C 0 0 1 1 0 1 0 1 1 1 Ngõ vào chọn IN0 IN1 IN2 IN3 IN4 IN5 IN6 IN7 + Bắt đầu chuyển đổi tín hiệu START mức tích cực, tín hiệu ALE tích cực để chốt địa + Chuyển đồ từ tín hiệu tương tự sang số kết thúc ADC0809 phát tín hiệu EOC + Chân OE nối với 74138 để điều khiển kết thúc q trình chuyển liệu + CLK nối với chia tần: 4Mhz 7414 7414 1k 1k 100pF 7493 14 CLK CLKA CLKB R01 R02 QA QB QC QD 12 11 NC * Biểu đồ thời gian 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 tắt nhiệt độ đo lớn nhỏ nhiệt đo đặt vào IC 74374 hoạt động tín hiệu vào chuyển từ 74138 ( A3-A4-IOW = 100 – Y1 chọn mức tích cực 0) Khi IOR = 1, IOW =0 địa 308H SƠ ĐỒ NGUYÊN LÝ HỆ THỐNG ĐIỀU KHIỂN NHIỆT ĐỘ +12V +5V 10K D0 D1 D2 D3 D4 D5 D6 D7 B0 B1 B2 B3 B4 B5 B6 B7 kê nh 4MHz 74LS245 OE A0 EOC 1,5K 10K 7414 1K 1K 100K 100pF 14 A29 A30 A31 1K 4,7K CLK ALE START 1K 10K 7414 E A1 DIR IN0 IN1 IN2 IN3 IN4 IN5 IN6 IN7 A2 B14 IOR A0 A1 A2 A3 A4 A5 A6 A7 + D0 D1 D2 D3 D4 D5 D6 D7 A9 A8 A7 A6 A5 A4 A3 A2 - ADC0809 LM335 4,7K ISA CLKA CLKB R01 R02 QA QB QC QD 12 11 7493 CPU B9 +12V D0 D1 D2 D3 D4 D5 D6 D7 Q0 Q1 Q2 Q3 Q4 Q5 Q6 Q7 G OE FAN 1K C828 A3 A4 IOW A28 A27 B13 +5V A11 A B C G1 G2A G2B 74LS374 Y0 Y1 Y2 Y3 Y4 Y5 Y6 Y7 10K 74LS138 AEN G A26 A25 A24 A23 A22 A21 A20 A19 A5 A6 A7 A8 A9 A10 A11 A12 P0 P1 P2 P3 P4 P5 P6 P7 P=Q Y Q0 Q1 Q2 Q3 Q4 Q5 Q6 Q7 74LS688 1Y 1A1 +5V G1 G2 74LS244 III.GIẢI MÃ ĐỊA CHỈ I/O IN/OUT IOR = 0, IOW = A2 = A8 = A9 = A3 = A4 = A5 = A6 = A7 = Đọc liệu từ 301H MOV DX,301H IN Al,DX IN → IORD ( B14 ) = A1A2=00 A0A8A9=111 A3A4…A7=00 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 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 MOV AL,00h OUT DX,AL LAP1: MOV DX,308h IN AX,DX AND AL,80h JZ LAP1 MOV DX,308h OUT DX,AL MOV DX,301H IN AL,DX MOV BL,2d MUL BL ;chọn kênh ; cho cổng 74244 hoạt động ; khởi động cổng 74374 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 PUSH AX POP AX MOV BX, 10 MOV CX, ; tạo biến đếm Lap: DIV BX ; Chia AX cho BX PUSH DX ; Cất phần dư thu DX INC CX ; tăng biến đếm CMP AX, ; So sánh AX với JG Lap ; Nếu lớn chia tiếp POP BX ; Lấy liệu cất BX ADD BL, ‘0’ MOV DL, BL ; Chuyển số thành ký tự ; In hình MOV AH, INT 21h PUSH AX CMP AL,27D JA Above ;Nếu lớn CMP AL,25D JB Below ; Nếu nhỏ JMP Start Above: ;Tắt quạt MOV DX,308h MOV AL,00h OUT DX,AL JZ Start Below: ; Giảm nhiệ t độ cách bật quạt MOV DX,308h MOV AL,01h OUT DX,AL JZ Start Main EndP End Main NGUN LÝ HOẠT ĐỘNG: Trước tiên, ta đưa 301H vào DX OUT AL cổng 301h Khi A0, A8, A9 = 1, lại 0, IOW =1, IOR =0 Chân AEN mức cho phép CPU làm chủ hệ thống, kết hợp với IOW IOR qua cổng NAND để khởi động 74688 Do A8, A9 =1 tức P = Q Ỉ chân Y tích cực mức thấp, tạo tín hiệu cho phép 74245 (chân E) 74138 (chân G2A,G2B) hoạt động Tại 74245, IOR =0 Ỉ DIR = 1, cho phép liệu chuyển từ A sang B (đi ra) Tại 74138, tín hiệu IOW , A3, A4 = 0,0,0 nên Y0 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 = Với IOW , A4, A3 = 1,0,1, 74138 chân Y5 chọn, đưa tín hiệu khởi động 74244 Khi ADC0809 thực chuyển đổi xong liệu từ tín hiệu tương tự sang tín hiệu số phát tín hiệu qua chân EOC đến 74244 (lúc khởi động) Ỉ liệu truyền từ 1A1 qua 1Y1 lên D7 kênh liệu Lúc CPU thực kiểm tra cách AND bit thấp liệu xem EOC có tức thơng báo chuyển đổi xong hay chưa Nếu xong (D7 = 1) thực đọc liệu vào AL qua cổng 301H từ ADC0809 Lúc A8, A9, A0 =1, lại 0, IOR = 1, IOW =0 Tại 74245, IOR = Ỉ DIR = 0, cho phép 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 ADC0809 tích cực, kết thúc chu kỳ chuyển đổi chuyển sang đọc liệu số mã hố Lúc AL thu liệu nhiệt độ X Sử dụng lệnh MUL ADD để thực tính nhiệt độ thực theo cơng thức cho: T=25+0,2X So sánh với nhiệt độ đặt (ở 27), nhiệt độ đặt lớn nhiệt độ đo lại quay lại q trình đọc nhiệt độ tiếp, nhiệt độ đặt nhỏ nhiệt độ đo bắt đầu q trình đưa tín hiệu trạng thái cổng 308H để điều khiển 74374 Lúc này, 74138 IOW , A4, A3 = 0,0,1 Ỉ chân Y1 chọn, khởi động 74374 để điều khiển quạt [...]... 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Ơ ĐỒ NGUYÊN LÝ HỆ THỐNG ĐIỀU KHIỂN NHIỆT ĐỘ +12V +5V 10K D0 D1 D2 D3 D4 D5 D6 D7 B0 B1 B2 B3 B4 B5 B6 B7 kê nh 0 4MHz 74LS245 OE A0 EOC 1,5K 10K 7414 1K 1K 100K 100pF 14 1 2 3 A29 A30 A31 1K 4,7K CLK ALE START 1K 10K... DX,AL JZ Start Main EndP End Main NGUN 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... 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 q trình đọc nhiệt độ tiếp, nếu nhiệt độ đặt ra nhỏ hơn nhiệt độ đo được thì bắt đầu q 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... 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 A1A2=00 A0A8A9=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 ...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 (IN/OUT) 74245: +Dữ liệu vào D0-D7 từ chân A0-A7 + Chân... 74138 ( A3-A4-IOW = 100 – Y1 chọn mức tích cực 0) Khi IOR = 1, IOW =0 địa 308H SƠ ĐỒ NGUYÊN LÝ HỆ THỐNG ĐIỀU KHIỂN NHIỆT ĐỘ +12V +5V 10K D0 D1 D2 D3 D4 D5 D6 D7 B0 B1 B2 B3 B4 B5 B6 B7 kê nh 4MHz... DX OUT AL cổng 301h Khi A0, A8, A9 = 1, lại 0, IOW =1, IOR =0 Chân AEN mức cho phép CPU làm chủ hệ thống, kết hợp với IOW IOR qua cổng NAND để khởi động 74688 Do A8, A9 =1 tức P = Q Ỉ chân Y tích

Ngày đăng: 04/12/2015, 14:11

Tài liệu cùng người dùng

  • Đang cập nhật ...

Tài liệu liên quan