View Single Post
Old 27-03-2006, 10:58 PM   #69
ntc
Đệ tử 8 túi
 
ntc's Avatar
 
Tham gia ngày: Oct 2005
Nơi Cư Ngụ: HCM city
Bài gửi: 264
:
Send a message via Yahoo to ntc
PIC16F877A có tất cả 3 Timer. Mìhn không nhớ thật sự chi tiết, nhưng đại khái nó như vầy:

Timer 0 và Timer 2 là bộ đếm 8 bit.

Timer 0 có bộ chia tần số (prescaler) dùng chung với Watchdog Timer. Nghĩa là khi bộ chia tần số này được sử dụng bởi WDT, thì cái Timer 0 không được quyền xài nó và ngược lại.

Timer 2 có cả 2 bộ chia tần số phía trước và phía sau (prescaler và postscaler) cho phép ta ấn định tỉ số chia linh hoạt hơn để tạo ra khoảng thời gian thích hợp cho ứng dụng.

Timer 0 và Timer 2 tuy là bộ đếm 8 bit, nhưng tỉ số chia của các bộ chia lớn hơn Timer 1. Như vậy nó cũng cho phép tạo ra các khoảng thời gian delay với độ trễ thích hợp với các ứng dụng trong thực tế.

Timer 1 là bộ đếm 16 bit, được hỗ trợ bởi bộ chia tần số prescaler. Tuy nhiên tỉ số chia này nhỏ (1:1 đến 1:16).

Mỗi Timer có cấu tạo khác nhau, điều đó cũng có nghĩa mỗi Timer sẽ thích hợp hơn với một tình huống nào đó trong thực tế, và tùy theo cái tình huống mà lựa chọn Timer thích hợp.

Sơ lược như vậy, bạn tham khảo datasheet để biết thêm chi tiết, mình chỉ nhớ mang máng như vậy thôi, không biết có chỗ nào nhớ lộn không nữa.

Về việc tham khảo cách khởi tạo và sử dụng Timer, bạn tham khảo thêm các hướng dẫn trong tài liệu "mid-range PIC mcu reference manual" trong micro chip. Trong đó hướng dẫn rất chi tiết, bạn chỉ việc dựa trên cái sườn bài có sẵn trong cái tài liệu đó và thay đổi các thông số cài đặt cho thích hợp là ok.

__________________

ntc vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn