You are on page 1of 18

om

Chuyên đề II

.c
Vi điều khiển và ứng dụng

ng
co
an
Timer
th
o ng
du
u
cu

CuuDuongThanCong.com https://fb.com/tailieudientucntt
Timer with DsPIC

om
.c
ng
co
an
th
o ng
du
u
cu

2
CuuDuongThanCong.com https://fb.com/tailieudientucntt
Chi tiết

om
.c
ng
co
an
th
o ng
du
u
cu

3
CuuDuongThanCong.com https://fb.com/tailieudientucntt
Chức năng

om
.c
ng
co
an
th
o ng
du
u
cu

4
CuuDuongThanCong.com https://fb.com/tailieudientucntt
Type A timer

om
.c
ng
co
an
th
o ng
du
u
cu

 can be operated from the device low power 32 kHz oscillator,


 can be operated in an asynchronous mode from an external clock source
 a 16-bit timer,
 a 16-bit synchronous counter,
 a 16-bit asynchronous counter.
5
CuuDuongThanCong.com https://fb.com/tailieudientucntt
Chế độ hoạt động

om
 Match a value pre-loaded into the PRx register

.c
 Timer/Counter increments on the rising edge of

ng
the chosen clock source

co
 Resets to zero when count matches value in PRx

an
 Sets the interrupt flag bit TxIF
th
ng
 Generates an interrupt (if enabled)
o
du
u
cu

6
CuuDuongThanCong.com https://fb.com/tailieudientucntt
Ví dụ

om
Bật tắt LED với chu kỳ ¼ giây, sử dụng Timer1,
prescaler là 256, thời gian đếm là 10000, port D

.c
ng
 Giả sử clock là 10MHz. Tương ứng chu kỳ là

co
100ns. Chọn prescaler 1:256, thời gian một chu

an
kỳ là 100*256=25600ns i.e. 25.6µs.

th
 T = 10000*25.6µs = 256ms ~ ¼s.
o ng
du
u
cu

7
CuuDuongThanCong.com https://fb.com/tailieudientucntt
Ví dụ Timer1

om
.c
ng
co
an
th
o ng
du
u
cu

8
CuuDuongThanCong.com https://fb.com/tailieudientucntt
16-bit synchronous counter
mode

om
 TMR1 tăng tới giá trị đặt trong PR1 register, sau đó TM1 reset

.c
và trở về 0.
Cho phép ngắt T1IF (in the register IFS0)

ng

Muc tiêu là sử dụng Timer1 cho việc đo tần số vào lớn như đo

co

tần số vào UART.

an
 Nếu TSIDL (T1CON<13>) bằng 0

th
 Hoạt động chế độ IDLE và ngược lại
ng
 Prescaler ratio 1:1, external clock TCS=1, TON=1 d (T1CON =
o
du

8006;).
u

 TRISC<14>=1, the pin PORTC<14>=1 xem là input


cu

9
CuuDuongThanCong.com https://fb.com/tailieudientucntt
Ví dụ

om
.c
ng
co
an
th
o ng
du
u
cu

10
CuuDuongThanCong.com https://fb.com/tailieudientucntt
Real-Time Clock (RTC)
operation mode

om
.c
ng
co
an
th
o ng
du
u
cu

11
CuuDuongThanCong.com https://fb.com/tailieudientucntt
16-bit asynchronous counter
mode

om
 Tương tự như 16-bit synchronous counter mode,
tuy vậy set prescaller lên 1:8,64,256

.c
ng
 Ở chế độ này, bộ đếm TMR1 sẽ tăng không đồng

co
bộ với clock ngoài mà giảm 8,64, 256 lần

an
th
o ng
du
u
cu

12
CuuDuongThanCong.com https://fb.com/tailieudientucntt
Gated timer mode

om
 Sử dụng để đo độ rộng xung

.c
 TMR1 sẽ tăng chừng nào đầu vào T1CK còn ở

ng
mức cao

co
 Chế độ này gồm

an
 TGATE =1 (T1CON<6>)
 internal clock (TCS=0)
th
o ng
du
u
cu

13
CuuDuongThanCong.com https://fb.com/tailieudientucntt
Ví dụ

om
.c
ng
co
an
th
o ng
du
u
cu

14
CuuDuongThanCong.com https://fb.com/tailieudientucntt
Type B, C timer

om
 Sử dụng để ghép nối với nhau tạo thành 32 bit

.c
timer

ng
 Type C có thể dùng làm timer cho A/D

co
an
th
o ng
du
u
cu

15
CuuDuongThanCong.com https://fb.com/tailieudientucntt
32 bit timer

om
.c
ng
co
an
th
o ng
du
u
cu

16
CuuDuongThanCong.com https://fb.com/tailieudientucntt
Lưu ý

om
 Trong mode timer2/3 module,

.c
 T2CON control bits dùng điều khiển

ng
 T3CION control bits không sử dụng

co
 The timer2 module clock and gate inputs dùng

an
trong chế độ timer2/3 module.
th
 Ngắt 32-bit timer xảy ra với T3IF flag và T3IE bit
ng
đặt lên
o
du
u
cu

17
CuuDuongThanCong.com https://fb.com/tailieudientucntt
Ví dụ

om
.c
ng
co
an
th
o ng
du
u
cu

18
CuuDuongThanCong.com https://fb.com/tailieudientucntt

You might also like