bài tập lớn Vi xử lý

You might also like

Download as docx, pdf, or txt
Download as docx, pdf, or txt
You are on page 1of 7

111Equation Chapter 1 Section 1 TRƯỜNG ĐẠI HỌC BÁCH KHOA

HÀ NỘI
VIỆN ĐIỆN
-----    -----

BÀI TẬP LỚN


Môn: Vi xử lý

Giảng viên: PGS.TS. Nguyễn Quốc Cường

Sinh viên thực hiện:


Vi Hồng Nam 20181671

Hà Nội, năm 2020


Đề bài

L3
P Bể trên
V L4

L2
Bể dưới
L1

Cho bài toán bơm nước vào hai bể như hình trên. Biết rằng valve V có lưu lượng lớn hơn
bơm P và cả hai được điều khiển bật bằng giá trị lô-gic 1, và tắt bằng giá trị điều khiển
logic 0.
Các cảm biến đo mức nước L1, L2, L3, L4 có giá trị lô-gic là 1 khi đạt ngưỡng và là 0
khi dưới ngưỡng. Cơ chế hoạt động của hệ thống điều khiển như sau:
- Bể dưới: khi có mức nước dưới L1, Valve V sẽ bật để mở valve cho nước vào bể,
khi mức nước đạt mức L2 Valve V sẽ tắt để nước ngừng chảy vào bể.
- Bể trên: khi mức nước dưới L4 thì bơm P sẽ bật để bơm nước vào bể và khi mức
nước đạt mức L3 thì bơm sẽ tắt để ngừng bơm nước vào bể. Tuy nhiên để bảo vệ
bơm P thì bơm sẽ chỉ hoạt động nếu mức nước của bể dưới là lớn hơn mức L1
Yêu cầu thiết kế bộ điều khiển logic sử dụng VĐK 8051:
1) Kết nối các chân vào ra của VĐK 8051 với các tín hiệu V, P, L1, L2, L3, L4
2) Vẽ lưu đồ thuật toán của VĐK để thực hiện bài toán bơm đầy hai bể
3) Lập trình cho VĐK với lưu đồ thuật toán đề xuất (yêu cầu chú thích ý nghĩa các
câu lệnh để người đọc có thể hiểu thuật toán triển khai)
4) Sử dụng watch-dog để bộ điều khiển có thể tự động reset nếu có những lỗi phát
sinh.
Thực hiện

1) Kết nối các chân vào ra của VĐK 8051 với các tín hiệu:
L1 – P1.0 V – P2.0
L2 – P1.1 P – P2.1
L3 – P1.2
L4 – P1.3
2) lưu đồ thuật toán của bài toán bơm đầy hai bể :

BẮT ĐẦU
V=0;P=0

Sai Sai
L1 = 0 L4 = 0

Đúng Đúng

V=1,P=0

P=1

Sai
L2 = 1
Đúng

Đúng

V=0

Sai
P=1 L3 = 1

Sai Đúng

P=0

V=0

KẾT THÚC
3) Lập trình cho vi điều khiển

org 0x0000
ljmp start
org 0x0040
;-------------------------------------------------------
; BAT DAU
;-------------------------------------------------------
start:
clr P2.0 ; khoa van V
clr P2.1 ; khoa van P

checkL1:
jnb P1.0,openVcloseP ; L1=0 thi thuc hien openVcloseP
sjmp checkL4 ; L1=1 thi kiem tra L4
openVcloseP:
setb P2.0 ; mo van V
clr P2.1 ; khoa van P
sjmp checkL2 ; kiem tra L2

checkL4:
jnb P1.3,openP ; L4=0 thi thuc hien openP
sjmp checkL3 ; L4=1 thi kiem tra L3
openP:
setb P2.1 ; mo van P
sjmp checkL2 ; kiem tra L2

checkL2:
jb P1.1,closeV ; L2=1 thi thuc hien closeV
sjmp checkL1 ; L2=0 quay lai checkL1
closeV:
clr P2.0 ; khoa van V
sjmp checkL3 ; kiem tra L3
;------------------------------------------------------------------
; DAY BE DUOI
;------------------------------------------------------------------
checkL3:
jb P1.2,ketthuc ; L3=1 thi ketthuc
sjmp checkP ; L3=0 thi thuc hien checkP
checkP:
jb P2.1,checkL1 ; P=1 thi quay lai checkL1
sjmp ketthuc ; P=0 thi ketthuc

;-----------------------------------------------------------
; KET THUC
;-----------------------------------------------------------
ketthuc:
clr P2.1 ; khoa van P
clr P2.0 ; khoa van V
END

You might also like