ĐỒ Án VI xử lí. Đồ án môn học VI xử lí. Điều khiển động cơ bước theo nhiệt độ



tải về 0.55 Mb.
trang9/9
Chuyển đổi dữ liệu26.03.2018
Kích0.55 Mb.
#36743
1   2   3   4   5   6   7   8   9

Chức năng

--

--

--

--

--

A1 (8255A)

A0 (8255A)

,WR(8255A)



M
ô hình phương pháp thu thập nhiệt độ:

Hình: Mô hình phương pháp thu thập nhiệt độ.


Mỗi cảm biến Si (i=0,7) trong khoảng nhiệt độ Ti đến Ti+1 qua bộ khuếch đại đệm vào chuẩn Ura tuyến tính theo nhiệt độ trong khoảng 0-5V, qua ADC biến thiên từ 0000.0000b đến 1111.1111b. Như vậy, khi nhiệt độ môi trường TX trong khoảng Ti đến Ti+1, các cảm biến S0 đến Si-1 đều cho giá trị 1111.1111b, các cảm biến Si+1 đến S7 đều cho giá trị 0000.0000b, còn cảm biến Si cho giá trị trung gian giữa 0000.0000b và 1111.1111b. Lấy tổng các giá trị này, ta biết được giá trị tuyến tính theo Tx.


b)Lưu đồ thuật toán chương trình:




Chú thích:

  • Sau khi chạy chương trình, hệ thống sẽ làm việc liên tục đến khi tắt nguồn cung cấp.

c)Đoạn mã chương trình:


TITLE Chuong trinh dieu khien dong co buoc theo nhiet do

.MODEL SMALL

.STACK 100H

.DATA


CWR DB 90h; 10010000b giá trị thiết lập mode cho 8255A

TGDL DW 378; Địa chỉ thanh ghi dữ liệu cổng song song

TGDK DW 37A; Địa chỉ thanh ghi điều khiển cổng song song

TGTT DW 379; Địa chỉ thanh ghi trạng thái cổng song song


VT DW 0; khởi tạo giá trị 0 cho biến chỉ báo nhiệt độ

Delta DW 26; biến điều khiển tốc độ động cơ

quay DW 00010001b; biến điều khiển động cơ quay

demxung DW 0; biến đếm xung CLK

Daucambien DB 0; biến chứa số liệu đầu cảm biến hiện thời

temp DB 0;

.CODE

MAIN PROC



OUT TGDK,111b; yêu cầu thanh ghi CWR chuẩn bị nhận dl

OUT TGDL,CWR; thiết lập mode cho 8255A

OUT TGDK,011b; yêu cầu PB chuẩn bị nhận dữ liệu

OUT TGDL,quay; cho động cơ bắt đầu khởi động

vonglap

IN AH, TGTT; lấy thanh ghi trạng thái



AND AH,10000b; chọn ra bit 4 (bit EOC của ADC)

CMP AH,10000b; so sánh với 1

JNE ADCchuaxong; nếu không =1 (ADC biến đổi chưa xong) thì chưa

;đọc nhiệt độ.

CALL Docnhietdo; nếu =1 (ADC đã biến đổi xong) thì đọc nhiệt độ
ADCchuaxong:

CALL Demxungclk; gọi thủ tục đếm xung CLK

CMP demxung,delta; so sánh biến đếm xung với biến điều khiển tốc độ

JNE khongquay; nếu chưa đếm đủ thì chưa cho động cơ nhảy tiếp

CALL Quaydongco; nếu đã đủ thì cho động cơ nhảy tiếp

MOV demxung,0; reset lại biến đếm xung

khongquay:

JMP vonglap;


Docnhietdo PROC NEAR

OUT 37A, 101b; yêu yêu cầu PC chuẩn bị nhận dữ liệu

OUT 00100000b; yêu cầu ADC chốt địa chỉ ra.

OUT 37Ah, 000b; yêu cầu PA chuẩn bị xuất dữ liệu

IN AX, 378h; nhận chỉ báo nhiệt độ từ đầu cảm biến

ADD VT, AX; cộng giá trị vào biến nhiệt độ

INC Daucambien;

CMP daucambien 8;

JNE alabel;

MOV daucambien,0; bắt đầu lại từ đầu cảm biến 0

ADD VT,227;

MOV AX,59712;

MOV DX,0;

DIV VT;


MOV delta,AX; suy ra delta=59712/(VT+227)

MOV VT,0; khởi tạo lại biến chỉ báo nhiệt độ

alabel:

RET
Quaydongco PROC NEAR



OUT TGDK,011b; yêu cầu PB chuẩn bị nhận dữ liệu

ROL quay;

OUT TGDL, quay; cho động cơ quay theo biến điều khiển quay

RET
Demxungclk PROC NEAR

IN AH, TGTT; lấy thanh ghi trạng thái vào AH

AND AH,1000b; lấy riêng bít 3 (bit CLK)

CMP temp,AH; so sánh trạng thái trước và trạng thái mới của CLK

JE boqua; nếu không có gi khác thì bỏ qua

CMP temp,1; nếu khác thì kiểm tra biến trạng thái trước

JNE khongdem; nếu trạng thái trước khác 1(=0) thì không đếm

INC demxung; nếu trạng thái trước = 1 (xung CLK nhảy từ 1 xuống 0) thì ;đếm.

khongdem:

MOV temp,AH

boqua:


RET

MAIN ENDP



END MAIN

tải về 0.55 Mb.

Chia sẻ với bạn bè của bạn:
1   2   3   4   5   6   7   8   9




Cơ sở dữ liệu được bảo vệ bởi bản quyền ©hocday.com 2024
được sử dụng cho việc quản lý

    Quê hương