Xây dựng chương trình điều khiển trên các module

Một phần của tài liệu Thiết kế hệ thống điểu khiển cho ngôi nhà tự động (Trang 68 - 73)

3. Nội dung các phần thuyết minh:

5.1Xây dựng chương trình điều khiển trên các module

5.1.1 Chương trình điều khiển trên module master

Giải thích: nhiệm vụ của module master sẽ thu thập các giá trị nhiệt độ từ các module đo nhiệt độ gởi về sau đó sẽ lưu giá trị nhiệt độ của từng phòng vào từng vùng nhớ riêng biệt. Các giá trị nhiệt độ này sẽ được gởi về máy tính để xử lý và hiển thị. Dữ liệu sau khi xử lý sẽ được máy tính truyền lệnh điều khiển xuống module master để thực hiện việc điều khiển thiết bị. Việc điều khiển thiết bị được thực hiện thông qua các module đo nhiệt độ, module master chỉ có nhiệm vụ nhận mã điều khiển từ máy tính sau đó gởi về module đo nhiệt độ tương ứng để điều khiển thiết bị.

Begin

Khởi tạo port nối tiếp

Khởi tạo các biến Cho phép ngắt nối

tiếp hoạt động Giải mã, hiển thị

End

Ngoài ra, module master còn có chức năng hiển thị nhiệt độ của từng phòng riêng biệt nhưng phần hiển thị có hạn chế hơn so với máy tính, tại một thời điểm chỉ cho phép hiển thị giá trị nhiệt độ của một phòng hay một khu vực nào đó.

Lưu đồ ngắt nối tiếp

Giải thích: hoạt động ngắt nối tiếp xảy ra khi có một dữ liệu được truyền đi hoặc một dữ liệu từ các module, máy tính gởi đến. Nếu một dữ liệu được truyền đi thì vi điều khiển sẽ kiểm tra việc truyền byte dữ liệu và chờ cho đến khi byte dữ liệu được truyền đi hoàn tất. Ngược lại nếu một dữ liệu được nhận vào thì vi điều khiển cũng kiểm soát việc nhận dữ liệu để đảm bảo dữ liệu được nhận vào đầy đủ và chính xác. Y Đ S Ngắt nối tiếp A = Sbuf RI = 1 RETI Xóa RI Xóa TI TI = 1

Set bit truyền

5.1.2 Chương trình điều khiển trên module đo nhiệt độ Begin

Khởi tạo port nối tiếp Khởi tạo các biến Cho phép ngắt nối

tiếp hoạt động

Giải mã, hiển thị

End Chuyển đổi ADC

Đọc kết quả chuyển đổi So sánh với nhiệt độ cũ = ? Đ S

Lưu giá trị mới Set bit TB8 Truyền mã địa chỉ

Xóa bit TB8 Truyền giá trị nhiệt

độ mới

Lưu đồ ngắt nối tiếp

Giải thích: hoạt động ngắt nối tiếp xảy ra khi có một dữ liệu được truyền đi hoặc một dữ liệu từ các module, máy tính gởi đến. Nếu một dữ liệu được truyền đi thì vi điều khiển sẽ kiểm tra việc truyền byte dữ liệu và chờ cho đến khi byte dữ liệu được truyền đi hoàn tất. Ngược lại nếu một dữ liệu được nhận vào thì vi điều khiển cũng kiểm soát việc nhận dữ liệu để đảm bảo dữ liệu được nhận vào đầy đủ và chính xác. S Ngắt nối tiếp A = Sbuf RI = 1 RETI Xóa RI Xóa TI TI = 1

Set bit truyền

Lưu đồ nhận dữ liệu từ module master A = Sbuf END Xóa RI RB8 = 1 A = “a” Xóa SM2 Đ S S Đ SM2 =1 Đ S BEGIN Mã ĐK 1 TB Mở 1 TB S Đ 0 1

Một phần của tài liệu Thiết kế hệ thống điểu khiển cho ngôi nhà tự động (Trang 68 - 73)