NHÓM HỌC PIC
Bạn có muốn phản ứng với tin nhắn này? Vui lòng đăng ký diễn đàn trong một vài cú nhấp chuột hoặc đăng nhập để tiếp tục.

CHỦ ĐỀ TUẦN 2: TIMER

Go down

CHỦ ĐỀ TUẦN 2: TIMER Empty CHỦ ĐỀ TUẦN 2: TIMER

Bài gửi  Admin Fri Jun 12, 2009 7:52 am

Trong Pic16f877a có 3 timer :
+ Timer0 : 8 bit
+ Timer1 : 16 bit
+ Timer2 : 8 bit
Timer dùng cho nhiều ứng dụng : định thời, capture, pwm, ...
1.Timer0

Thanh ghi tác động:
Code:
setup_TIMER_0(mode);
setup_COUNTERS (rtcc_state, ps_state); // hay setup_WDT()
set_TIMER0(value); // hay set_RTCC(value) : xác định giá trị ban đầu (8bit) cho Timer0
get_TIMER0(); // hay get_RTCC() :trả về số nguyên (8bit) của Timer0

//////////////////////////////////////////////////////////////////////////////
Trong đó mode là một hoặc hai constant (nếu dùng hai thì chèn dấu "|"ở giữa) được định nghĩa trong file 16F877A.h gồm :

RTCC_INTERNAL : chọn xung clock nội
RTCC_EXT_L_TO_H : chọn bit cạnh lên trên chân RA4
RTCC_EXT_H_TO_L : chọn bit cạnh xuống trên chân RA4

RTCC_DIV_2 :chia prescaler 1:2
RTCC_DIV_4 1:4
RTCC_DIV_8 1:8
RTCC_DIV_16 1:16
RTCC_DIV_32 1:32
RTCC_DIV_64 1:64
RTCC_DIV_128 1:128
RTCC_DIV_256 1:256

rtcc_state là một trong những constant sau:

RTCC_INTERNAL
RTCC_EXT_L_TO_H
RTCC_EXT_H_TO_L

ps_state là một trong những constant sau:

RTCC_DIV_2
RTCC_DIV_4
RTCC_DIV_8
RTCC_DIV_16
RTCC_DIV_32
RTCC_DIV_64
RTCC_DIV_128
RTCC_DIV_256
WDT_18MS
WDT_36MS
WDT_72MS
WDT_144MS
WDT_288MS
WDT_576MS
WDT_1152MS
WDT_2304MS


Được sửa bởi Admin ngày Fri Jun 12, 2009 8:57 am; sửa lần 4.
Admin
Admin
Admin

Tổng số bài gửi : 18
Join date : 11/06/2009

https://microchipvn.forumvi.com

Về Đầu Trang Go down

CHỦ ĐỀ TUẦN 2: TIMER Empty TIMER

Bài gửi  Admin Fri Jun 12, 2009 8:03 am

2.Timer1

Thanh ghi tác động:
Code:
setup_TIMER_1(mode);
set_TIMER1(value); // xác định giá trị ban đầu (16bit) cho Timer1
get_TIMER1(); // trả về số nguyên (16bit) của Timer1

///////////////////////////////////////////////////////////////////////
mode gồm (có thể kết hợp bằng dấu "|"):

T1_DISABLED : tắt Timer1
T1_INTERNAL : xung clock nội (Fosc/4)
T1_EXTERNAL : xung clock ngoài trên chân RC0
T1_EXTERNAL_SYNC : xung clock ngoài đồng bộ
T1_CLK_OUT
T1_DIV_BY_1
T1_DIV_BY_2
T1_DIV_BY_4
T1_DIV_BY_8


Được sửa bởi Admin ngày Fri Jun 12, 2009 8:18 am; sửa lần 2.
Admin
Admin
Admin

Tổng số bài gửi : 18
Join date : 11/06/2009

https://microchipvn.forumvi.com

Về Đầu Trang Go down

CHỦ ĐỀ TUẦN 2: TIMER Empty TIMER

Bài gửi  Admin Fri Jun 12, 2009 8:05 am

3.Timer2

Thanh ghi tác động
Code:
setup_TIMER_2(mode, period, postscale);
set_TIMER2(value); // xác định giá trị ban đầu (8bit) cho Timer2
get_TIMER2(); // trả về số nguyên 8bit

///////////////////////////////////////////////////////////////////////
Với mode gồm (co the ket hop bang dau "|"):

T2_DISABLED
T2_DIV_BY_1
T2_DIV_BY_4
T2_DIV_BY_16

period là số nguyên từ 0-255, xác định giá trị xung reset
postscale là số nguyên 1-16, xác định reset bao nhiêu lần trước khi ngắt.
Admin
Admin
Admin

Tổng số bài gửi : 18
Join date : 11/06/2009

https://microchipvn.forumvi.com

Về Đầu Trang Go down

CHỦ ĐỀ TUẦN 2: TIMER Empty Re: CHỦ ĐỀ TUẦN 2: TIMER

Bài gửi  Sponsored content


Sponsored content


Về Đầu Trang Go down

Về Đầu Trang

- Similar topics

 
Permissions in this forum:
Bạn không có quyền trả lời bài viết