Sau đó gọi chương trình tiếng nói báo là “ Thiết bị 1 đã được mở”.. Sau đó gọi chương trình báo mở thiết bị 1.. Nếu điều kiện A=1 sai thì chương trình sẽ hỏi tiếp A=2 chưa.. Nếu điều kiệ
Trang 1P 1R7
P2.4=1 P0.0=0 P2.4=0
R7 P1
0H=1 P
1 R7
P2.4=1 P0.0=1 P2.4=0
L CALL
MO1
P 1R7
P2.4=1 P0.1=0 P2.4=0
R7 P1
1H=1 P
1 R7
P2.4=1 P0.1=1
CALL
MO2
P 1R7
P2.4=1 P0.2=0 P2.4=0
R7 P1
2H=1 P
1 R7
P2.4=1 P0.2=1
CALL
MO3
P 1R7
P2.4=1 P0.3=0 P2.4=0
R7 P1
3H=1 P
1 R7
P2.4=1 P0.3=1
CALL
MO4
Chương 11: CHƯƠNG TRÌNH CON MỞ THIẾT BỊ
1 Lưu đồ giải thuật.
BEGIN
A = 1 Đ P2.0=1 Đ
S S
Đ Đ
A = 2 P2.1=1
S S
A=3 Đ P2.2=1 Đ
S S
Trang 2Ñ Ñ
A=4 P2.3=1
S S
RET
Trang 32 Giải thích:
trình sẽ hỏi tiếp A=1 chưa nếu đúng A=1 thì chương trình hỏi tiếp P2.0=1 chưa (P2.0 là trạng thái của công tắc bên ngoài) Nếu P2.0=1 là đúng thì ta phải xóa P0.0=0 để mở thiết bị 1 ( vì tín hiệu P0.0 và P2.0 được đưa qua cổng EXOR cho nên muốn đưa ra mứ c logic 1 thì mức logic của 2 trạng thái này sẽ khác nhau ) Sau đó đặt ô nhớ 70H=1 để báo là thiết bị 1 đã được mở Sau đó gọi chương trình tiếng nói báo là “ Thiết bị 1 đã được mở” Nếu P2.0=0 thì muốn mở thiết bị ta phải đặt P0.0=1 và đặt 70H=1 để báo thiết bị 1 đã được mở Sau đó gọi chương trình báo mở thiết bị 1
Nếu điều kiện A=1 sai thì chương trình sẽ hỏi tiếp A=2 chưa Nếu A=2 đúng, chương trình hỏi tiếp P2.1=1 chưa Nếu P2.1=1 thì xóa P0.0=0 để mở thiết bị 2 và đồng thời đặt 71H=1 để báo là thiết bị 2 đã được mở Sau đó gọi chương trình báo mở thiết bị 2 Nếu điều kiện P2.1=1 sai tức P2.1=0, muốn mở thiết
bị 2 thì đặt P0.1=1 và đặt 71H=1 để báo là thiết bị 2 đã được mở và gọi chương trình báo mở thiết bị 2
Nếu điều kiện A=2 sai thì chương trình sẽ hỏi tiếp A=3 chưa Nếu A=3 đúng, chương trình hỏi tiếp P2.2=1 chưa Nếu P2.2=1 thì xóa P0.2=0 để mở thiết bị 3 và đồng thời đặt 72H=1 để báo là thiết bị 3 đã được mở Sau đó gọi chương trình báo mở thiết bị
3 Nếu điều kiện P2.2=1 sai tức P2.2=0, muốn mở thiết bị 3 thì đặt P0.2=1 và đặt 72H=1 để báo là thiết bị 3 đã được mở và gọi chương trình báo mở thiết bị 3
Nếu điều kiện A=3 sai thì chương trình sẽ hỏi tiếp A=4 chưa Nếu A=4 đúng, chương trình hỏi tiếp P2.3=1 chưa Nếu P2.3=1 thì xóa P0.3=0 để mở thiết bị 4 và đồng thời đặt 73H=1 để báo
Trang 4là thiết bị 4 đã được mở Sau đó gọi chương trình báo mở thiết bị
4 Nếu P2.3=0 thì đặt P0.3=1 để mở thiết bị 4 và đặt 73H=1 để báo là thiết bị 4 đã được mở và gọi chương trình báo mở thiết bị 4
Nếu điều kiện A=4 sai thì thoát
Trang 5P 1R7
P2.4=1 P0.0=1 P2.4=0
R7 P1
0H=0 P
1 R7
P2.4=1 P0.0=0 P2.4=0
L CALL
TAT1
P 1R7
P2.4=1 P0.1=1 P2.4=0
R7 P1
1H=0 P
1 R7
P2.4=1 P0.1=0
CALL
TAT2
P 1R7
P2.4=1 P0.2=1 P2.4=0
R7 P1
2H=0 P
1 R7
P2.4=1 P0.2=0
CALL
TAT3
P 1R7
P2.4=1 P0.3=1 P2.4=0
R7 P1
3H=0 P
1 R7
P2.4=1 P0.3=0
CALL
TAT4
V CHƯƠNG TRÌNH CON TẮT THIẾT BỊ
1 Lưu đồ giải thuật:
BEGIN
A = 1 Đ P2.0=1 Đ
S S
Đ Đ
A = 2 P2.1=1
S S
A=3 Đ P2.2=1 Đ
S S
Trang 6Đ Đ
A=4 P2.3=1
S S
RET
2 Giải thích:
Sau khi bấm đúng mã thứ nhất để tắt thiết bị thì chương
trình sẽ hỏi tiếp A=1 chưa Nếu đúng A=1 tức là tắt thiết bị 1, sau đó chương trình hỏi tiếp P2.0=1 chưa (P2.0 là trạng thái của công tắc bên ngoài) Nếu P2.0=1 là đúng thì ta phải đặt P0.0=1 để tắt thiết bị 1 ( vì tín hiệu P0.0 và P2.0 được đưa qua cổng EXOR cho nên muốn đưa ra mứ c logic 1 thì mức logic của 2 trạng thái này sẽ khác nhau ) Sau đó xóa ô nhớ 70H=0 để báo là thiết bị 1 đã được tắt Sau đó gọi chương trình tiếng nói báo là
“ Thiết bị 1 đã được tắt” Nếu P2.0=0 thì muốn tắt thiết bị ta phải xóa P0.0=0 và xóa 70H=0 để báo thiết bị 1 đã được tắt Sau đó gọi chương trình báo tắt thiết bị 1
Nếu điều kiện A=1 sai thì chương trình sẽ hỏi tiếp A=2 chưa Nếu A=2 đúng, chương trình hỏi tiếp P2.1=1 chưa Nếu P2.1=1 thì đặt P0.0=1 để tắt thiết bị 2 và đồng thời xóa 71H=0 để báo là thiết bị 2 đã được tắt Sau đó gọi chương trình báo tắt thiết bị 2 Nếu điều kiện P2.1=1 sai tức P2.1=0, muốn tắt thiết bị
Trang 72 thì xóa P0.1=0 và xóa 71H=0 để báo là thiết bị 2 đã được tắt và gọi chương trình báo tắt thiết bị 2
Nếu điều kiện A=2 sai thì chương trình sẽ hỏi tiếp A=3 chưa Nếu A=3 đúng, chương trình hỏi tiếp P2.2=1 chưa Nếu P2.2=1 thì đặt P0.2=1 để tắt thiết bị 3 và đồng thời xóa 72H=0 để báo là thiết bị 3 đã được tắt Sau đó gọi chương trình báo tắt thiết bị 3 Nếu điều kiện P2.2=1 sai tức P2.2=0, muốn tắt thiết bị 3 thì xóa P0.2=0 và xóa 72H=0 để báo là thiết bị 3 đã được tắt và gọi chương trình báo tắt thiết bị 3
Nếu điều kiện A=3 sai thì chương trình sẽ hỏi tiếp A=4 chưa Nếu A=4 đúng, chương trình hỏi tiếp P2.3=1 chưa Nếu P2.3=1 thì đặt P0.3=1 để tắt thiết bị 4 và đồng thời xóa 73H=0 để báo là thiết bị 4 đã được tắt Sau đó gọi chương trình báo tắt thiết bị 4 Nếu P2.3=0 thì xóa P0.3=0 để tắt thiết bị 4 và xóa 73H=0 để báo là thiết bị 4 đã được tắt và gọi chương trình báo tắt thiết bị 4
Nếu điều kiện A=4 sai thì thoát