Chuyên đề II
Vi điều khiển và ứng dụng
Timer
Timer with DsPIC
2
Chi tiết
3
Chức năng
4
Type A timer
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
Chế độ hoạt động
Match a value pre-loaded into the PRx
6
register
Timer/Counter increments on the rising
edge of the chosen clock source
Resets to zero when count matches value
in PRx
Sets the interrupt flag bit TxIF
Generates an interrupt (if enabled)
Ví dụ
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
Giả sử clock là 10MHz. Tương ứng chu kỳ là
100ns. Chọn prescaler 1:256, thời gian
một chu kỳ là 100*256=25600ns i.e.
25.6µs.
T = 10000*25.6µs = 256ms ~ ¼s.
7
Ví dụ Timer1
8
16-bit synchronous
counter mode
TMR1 tăng tới giá trị đặt trong PR1 register, sau đó TM1
9
reset và trở về 0.
Cho phép ngắt T1IF (in the register IFS0)
Muc tiêu là sử dụng Timer1 cho việc đo tần số vào lớn như
đo tần số vào UART.
Nếu TSIDL (T1CON<13>) bằng 0
Hoạt động chế độ IDLE và ngược lại
Prescaler ratio 1:1, external clock TCS=1, TON=1 d
(T1CON = 8006;).
TRISC<14>=1, the pin PORTC<14>=1 xem là input
Ví dụ
10
Real-Time Clock (RTC)
operation mode
11
16-bit asynchronous
counter mode
Tương tự như 16-bit synchronous counter
mode, tuy vậy set prescaller lên 1:8,64,256
Ở chế độ này, bộ đếm TMR1 sẽ tăng không
đồng bộ với clock ngoài mà giảm 8,64, 256
lần
12
Gated timer mode
Sử dụng để đo độ rộng xung
TMR1 sẽ tăng chừng nào đầu vào T1CK còn
ở mức cao
Chế độ này gồm
TGATE =1 (T1CON<6>)
internal clock (TCS=0)
13
Ví dụ
14
Type B, C timer
Sử dụng để ghép nối với nhau tạo thành 32
bit timer
Type C có thể dùng làm timer cho A/D
15
32 bit timer
16
Lưu ý
Trong mode timer2/3 module,
T2CON control bits dùng điều khiển
T3CION control bits không sử dụng
The timer2 module clock and gate inputs
dùng trong chế độ timer2/3 module.
Ngắt 32-bit timer xảy ra với T3IF flag và
T3IE bit đặt lên
17
Ví dụ
18