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
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