Ðề tài: ngắt timer CCS
View Single Post
Old 13-03-2011, 05:15 AM   #7
iVoVa
Nhập môn đệ tử
 
Tham gia ngày: Mar 2011
Bài gửi: 6
:
Theo mình để tính được giá trị cần nạp vào thanh ghi TMRO thì mình tính theo công thức này . T_out = ((4*Prescaler)*(256-TMR0)x Count)/4000000. ( Timer 16bit thì thay 256 = 65536 )
Mình nên cho Prescaler là 256 .
Cho Count là 1 trước. T_out là thời gian trễ mình cần tạo ( ví dụ T_out = 0.5s).
Thay vào để tính được TMR0.
Nếu TMR0 ko đủ để biểu diễn giá trị vừa tính ra ( vượt quá 8 bit ) thì ta xem mức độ lớn hơn như thế nào để tăng biến count lên cho phù hợp và tính lại từ đầu.
( Hiện nay các PIC18 timer 0 có thể sử dụng đến 16 bit hoặc 8 bit , trong CCS C Complier khi sử dụng hàm set_timer0(xxx) thì mình xem mã ASM thấy nó mặc định sử dụng là timer 16 bit.
iVoVa vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn