Watchdog Timer (WDT)

Một phần của tài liệu Thiết kế và điều khiển mô hình thang máy bằng vi xử lý PIC 16F877A (Trang 73 - 74)

- K tn i vi máy tính đ giám sát và ho tđ ngca mô hình thang máy.

10.Watchdog Timer (WDT)

Watchdog timer (WDT) là b đ m đ c l p dùng ngu n xung đ m t b t o xung đ c tích h p s n trong vi đi u khi n và không ph thu c vào b t kì ngu n xung clock ngo i vi nào. i u đó có ngh a là WDT v n ho t đ ng ngay c khi xung clock đ c l y t pin OSC1/CLKI và pin OSC2/CLKO c a vi đi u khi n ng ng ho t đ ng (ch ng h n nh do tác đ ng c a l nh sleep). Bit đi u khi n c a WDT là bit WDTE n m trong b nh ch ng trình đa ch 2007h (Configuration bit).

WDT s t đ ng reset vi đi u khi n (Watchdog Timer Reset) khi b đ m c a WDT b tràn (n u WDT đ c cho phép ho t đ ng), đ ng th i bit t đ ng đ c xóa. N u vi đi u khi n đang ch đ sleep thì WDT s đánh th c vi đi u khi n (Watchdog Timer Wake-up) khi b đ m b tràn. Nh v y WDT có tác d ng reset vi đi u khi n th i đi m c n thi t mà không c n đ n s tác đ ng t bên ngoài, ch ng h n nh trong quá trình th c thi l nh, vi đi u khi n b “k t” m t ch nào đó mà không thoát ra đ c, khi đó vi đi u khi n s t đ ng đ c reset khi WDT b tràn ch ng trình ho t đ ng đúng tr l i. Tuy nhiên khi s d ng WDT c ng có s phi n toái vì vi đi u khi n s th ng xuyên đ c reset sau m t th i gian nh t đnh, do đói c n tính toán th i gian thích h p đ xóa WDT (dùng l nh CLRWDT). Và đ vi c n đ nh th i gian reset đ c linh đ ng, WDT còn đ c h tr m t b chia t n s prescaler đ c đi u khi n b i thanh ghi OPTION_REG (prescaler này đ c chia x v i Timer0).

M t đi m c n chú ý n a là l nh sleep s xóa b đ m WDT và prescaler. Ngoài ra l nh xóa CLRWDT ch xóa b đ m ch không làm thay đ i đ i t ng tác đ ng c a prescaler (WDT hay Timer0).

Một phần của tài liệu Thiết kế và điều khiển mô hình thang máy bằng vi xử lý PIC 16F877A (Trang 73 - 74)