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
AC0Cho nguyên nhân 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ươngtrình
Đúng
1.3. Chơng trình con phục vụ bàn phím
... -79-
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
Báo cáo tốt nghiệp Nguyễn Xuân Tài – Tự động hoá 46
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
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ò
1.6. Chơng trình con phục vụ ngắt do bộ định thời 1