L−u đồ thuật toán ch−ơng trình

Một phần của tài liệu Ứng dụng vi điều khiển để điều khiển nhiệt độ khí sấy nông sản dạng hạt (Trang 76 - 81)

Yêu cầu bài toán đặt ra cho ch−ơng trình điều khiển phải thực hiện những công việc sau:

+ Chuyển đổi tín hiệu t−ơng tự từ cảm biến sang tín hiệu số.

+ Xác định thời điểm không của l−ới điện để đồng bộ hoá tín hiệu điều khiển.

+ Ch−ơng trình xử lý bàn phím.

+ Định thời cho thời gian trích mẫu, và kích mở triac.

1.1. Ch−ơng trình chính

1.2. Ch−ơng trình con phục vụ ngắt so sánh t−ơngtự

Khai báo các th− viện cần sử dụng

Khai báo các biến toàn cục

+ Khởi tạo chuyển đổi A/D + Khởi tạo so sánh t−ơng tự + Khởi tạo các bộ định thời + Khởi tạo LCD

+ Khởi tạo ngắt ngoài + Cho phép các ngắt

Vòng lặp vô tận (không

làm gì cả) Bắt đầu

Báo cáo tốt nghiệp Nguyễn Xuân Tài – Tự động hoá 46 ... -77- ana_comp_isr (void) Nạp tín hiệu điều khiển vào bộ định thời 1. Cho phép bộ định thời chạy

Kiểm tra có phải nguyên nhân ngắt là

s−ờn lên trên AC0 không?

Cho nguyên nhân ngắt là s−ờn lên trên

AC0 Cho nguyên nhân

ngắt là s−ờn xuống trên AC0

Xoá cờ ACI cho ngắt tiếp theo và thoát khỏi ch−ơng trình

Đúng

Báo cáo tốt nghiệp Nguyễn Xuân Tài – Tự động hoá 46 ... -78- 1.3. Ch−ơng trình con phục vụ bàn phím ext_int0_isr(void)

+ Khai báo một biến để l−u phím đ−ợc bấm + Xoá bit cho phép ngắt toàn cục, cấm mọi các ngắt xảy ra khi đang thay đổi thông số + Viết lên LCD để thông báo ng−ời sử dụng thay đổi thông số

+ Nhảy xuống dòng 1 cột 2 trên LCD.

+ Chờ phím bấm tiếp theo, l−u phím đ−ợc bấm

Nếu là phím "Tăng", tăng nhiệt độ đặt Nếu là phím "Giảm" thì giảm nhiệt độ đặt

Viết lên LCD nhiệt độ đã đ−ợc thay đổi

Nếu là phím "Chấp nhận" thì hiển thị nhiệt độ lò và nhiệt

độ đặt

+ Xoá cờ INFT0 cho ngắt tiếp theo. + Set bit cho phép ngắt toàn cục (adsbygoogle = window.adsbygoogle || []).push({});

Thoát khỏi ch−ơng trình

Báo cáo tốt nghiệp Nguyễn Xuân Tài – Tự động hoá 46

... -79-

1.4. Ch−ơng trình con phục vụ ngắt cho bộ định thời 2

Thời gian trích mẫu là 1s.

timer2_comp_isr(void) Biến đếm đã bằng 1000 ch−a? Tăng biến đếm + Cho phép chuyển đổiADC

+ Xoá biến đếm

Thoát khỏi ch−ơng

Báo cáo tốt nghiệp Nguyễn Xuân Tài – Tự động hoá 46

... -80-

1.5. Ch−ơng trình con phục vụ ngắt khi chuyển đổi ADC đã hoàn thành

adc_isr(void)

Tính ra nhiệt độ thật của lò

Xác định sai số

Thực hiện hàm truyền của bộ điều khiển

Khâu giới hạn để giới hạn khi v−ợt ra khỏi giới hạn điều chỉnh

Viết lên LCD nhiệt độ lò

Báo cáo tốt nghiệp Nguyễn Xuân Tài – Tự động hoá 46

... -81-

1.6. Ch−ơng trình con phục vụ ngắt do bộ định thời 1

Một phần của tài liệu Ứng dụng vi điều khiển để điều khiển nhiệt độ khí sấy nông sản dạng hạt (Trang 76 - 81)