Một chuyển động được phát hiện khi sensor bằng 1 trong 2 lần lấy mẫu liên tiếp cách nhau 200 ms.. Contact hành trình A P1.1 tích cực 1 nếu cửa đã mở hoàn toàn.. Contact hành trình B P1.
Trang 1ĐỀ KIỂM TRA HỌC KỲ 1 / 2012-2013 MÔN: LẬP TRÌNH NHÚNG
Thời gian: 55 phút
(SV được sử dụng tài liệu, không sử dụng laptop, máy vi tính)
Câu 1: (3 đ)
Cho đoạn chương trình sau cho 8051:
#include <REGX51.H>
void main(void)
{
}
Sau khi thực hiện chương trình, giá trị của các biến test1, test2, test3 là bao nhiêu? Giải thích bằng cách
nêu rõ ý nghĩa của mỗi dòng lệnh (C51 sử dụng kiểu dữ liệu big endian)
Câu 2:
Cho hệ thống mở cửa tự động dùng 8051 như sau:
Sensor phát hiện chuyển động gắn vào chân P1.0 Một chuyển động được phát hiện khi sensor bằng 1
trong 2 lần lấy mẫu liên tiếp cách nhau 200 ms
Contact hành trình A (P1.1) tích cực 1 nếu cửa đã mở hoàn toàn Contact hành trình B (P1.2) tích cực 1 nếu cửa đã đóng hoàn toàn
ĐH BÁCH KHOA TP.HCM * KHOA ĐIỆN - ĐIỆN TỬ * BỘ MÔN ĐIỆN TỬ
Trang 2Chân P1.3 tích cực 1 sẽ làm cửa mở ra, chân P1.4 tích cực 1 làm cửa đóng lại Hai chân này không tích cực đồng thời Hai chân này bằng 0 sẽ dừng motor điều khiển cửa
• Khi cửa đang đóng, nếu phát hiện chuyển động, cửa sẽ mở ra Sau khi cửa mở ra hoàn toàn và không thấy chuyển động trong 5 s, cửa đóng lại
• Trong quá trình cửa đóng lại, nếu thấy có chuyển động, cửa lại mở ra như ở bước trên
a) (3 đ) Thiết kế máy trạng thái cho hệ thống trên (một máy trạng thái phát hiện chuyển động và một máy trạng thái điều khiển cửa) Giải thích cụ thể hoạt động của máy trạng thái
b) (4đ) Viết chương trình thực hiện hệ thống
Motion sensor
Contact hành
trình A
Contact hành
trình B
M Motor
Driver P1.0
P1.1
P1.2
P1.3 P1.4
Open Close