1.1.4.1. Bộ định thời TIMER0
KHOA ĐIỆN TỬ VIỄN THễNG - TRƯỜNG ĐẠI HỌC DÂN LẬP HẢI PHếNG
================================================================================
Bộ định thời / bộ đếm 8 bit Cho phộp đọc và ghi
Bộ chia 8 bit lập trỡnh được bằng phần mềm Chọn xung clock nội hoặc ngoại
Ngắt khi cú sự tràn từ FFh đến 00h Chọn sườn cho xung clock ngoài
Sơ đồ khối của bộ định thời Timer0 và bộ chia dựng chung với WDT được đưa ra trong hỡnh 14.
Hỡnh 14.Sơ đồ khối của bộ định thời Timer0 và bộ chia dựng chung với WDT
Chế độ định thời (Timer) được chọn bằng cỏch xoỏ bit T0CS (OPTION_REG<5>). Trong chế độ định thời, bộ định thời Timer0 sẽ tăng dần
sau mồi chu kỡ lệnh (khụng cú bộ chia). Nếu thanh ghi TmR0 được ghi thỡ sự tăng sẽ bị ngăn lại sau hai chu kỡ lệnh.
Chế độ đếm (Counter) được chọn bằng cỏch xoỏ bit T0CS (OPTION_REG<5>). Trong chế độ đếm, Timer0 sẽ tăng dần ở mỗi cạnh lờn xuống của chõn RA4/T0CKI. Sự tăng sườn được xỏc định bởi bit Timer0 Source Edge Select, T0SE (OPTION_RE<4>). Bộ chia chỉ được dựng chung qua lại giữa bộ định thời Timer0 và bộ định thời Watchdog. Bộ chia khụng cho phộp đọc hoặc ghi
Ngắt Timer0
Ngắt TMR0 được phỏt ra khi thanh ghi TMR0 tràn từ FFh đến 00h. Sự tràn này sẽ đặt bit T0IF (INTCON<2>). Ngắt này cú thể được giấu đi bằng cỏch xúa bit T0IE (INTCON<5>) . Bit T0IF cần phải được xúa trong chương trỡnh bởi thủ tục phục vụ ngắt của bộ định thời Timer0 trước khi ngắt này được cho phộp lại.
Sử dụng Timer0 với xung clock ngoại
Khi bộ chia khụng được sử dụng, clock ngoài đặt vào thỡ giống như bộ chia ở ngừ ra. Sự đồng bộ của chõn T0CKI với clock ngoài được thực hiện bằng cỏch lấy mẫu bộ chia ở ngừ ra trờn chõn Q2 và Q4. Vỡ vậy thực sự cần thiết để chõn T0CKI ở mức cao trong ớt nhất 2 chu kỳ mỏy và ở mức thấp trong ớt nhất 2 chu kỳ mỏy.
Bộ chia
Thiết bị PIC16F87X chỉ cú một bộ chia mà được dựng chung bởi bộ định thời TIMER0 và bộ định thời Watchdog. Một khi bộ chia được ấn định cho bộ định thời 0 thỡ khụng