CHƯƠNG 3: GIỚI THIỆU VỀ VI ĐIỀU KHIỂN VÀ PIC18F4520
3.2.5 Bộ định thời (Timer)
Modle này được coi có những đặc điểm sau:
• Có thể lựa chon phần mềm như một bộ định thời hoặc bộ đếm có thể là 8 bit hoặc 16 bit.
• Có khả năng như thanh ghi đọc viết
• Riêng loại 8 bit có thể coi là bộ đếm lập trình bằng phần mềm
• Khả năng lựa chon xung nguồn(cả bên trong và bên ngoài)
• Lựa chon giới hạn cho xung từ bên ngoài
• Ngắt - mở - tràn
Bit7(TMR0ON): Bit điều khiển đóng mở Timer0
Giá trị 1:cho phép hoạt động
Giá trị 0: dừng hoạt động
Bit6 (T08BIT): Bit điều khiển Timer0 8-Bit/16-Bit
Giá trị 1:Timer0 cấu hình như 8-bit timer/counter
Giá trị 0: Timer0 cấu hình như 16-bit timer/counter Bit5 (T0CS): Bit lựa chọn nguồn xung cho Timer0
Giá trị 1:truyền trên chân T0CKI
Giá trị 0: chu kỳ xung lệnh bên trong (CLKO) Bit4 (T0SE): bit lựa chọn giới hạn nguồn choTimer0
Giá trị 1: truyền trên chân T0CKI thay đổi từ cao-thấp.
Giá trị 0: truyền trên chân T0CKI thay đổi từ thấp-cao.
Bit3 (PSA): bit thiết lập bộ đếm gộp trước choTimer0
Giá trị 1: Không thiết lập bộ đệm gộp trước Timer0. Xung đầu vào Timer0 được chuyển hướng bởi bộ đệm gộp trước.
Giá trị 0: Thiết lập bộ đệm gộp trước Timer0. Xung đầu vào Timer0 trở thành đầu ra bộ đệm gộp trước..
Bit 2-0 (T0PS<2:0>): bit lựa chon bộ đệm gộp trước cho Timer0
• 111 = 1:256 giá trị bộ đệm gộp trước
• 110 = 1:128 giá trị bộ đệm gộp trước
• 101 = 1:64 giá trị bộ đệm gộp trước
• 100 = 1:32 giá trị bộ đệm gộp trước
• 011 = 1:16 giá trị bộ đệm gộp trước
• 010 = 1:8 giá trị bộ đệm gộp trước
• 001 = 1:4 giá trị bộ đệm gộp trước
• 000 = 1:2 giá trị bộ đệm gộp trước a, Timer1 module
Đặc trưng cơ bản của bộ định thời này gồm:
Khả năng lựa chon bằng phần mềm giống như bộ định thời 16bit hoặc bộ đếm.
Khả năng như thanh ghi đọc viết được 8bit(TMR1H, TMR1L).
Khả năng lựa chon nguồn xung bên trong qua bộ dao động Oscillator.
Ngắt-Tràn
Reset nhờ bộ tạo sự kiện đặc biệt CCP Thanh ghi T1CON sử dụng điều khiển Timer1
Bit7 (RD16): bit cho phép lựa chọn các chế độ đọc/viết 16-Bit
Giá trị 1: cho phép thanh ghi đọc/viết của Timer1 trong hoạt động như một số 16 bit.
Giá trị 0: cho phép thanh ghi đọc/viết của Timer1 trong hoạt động như một số 8 bit.
Bit 6 (T1RUN): Bit trạng thái hệ thống xung Timer1
Giá trị 1: Xung thiết bị là dẫn xuất từ bộ dao động Timer1.
Giá trị 0: Xung thiết bị là dẫn xuất từ một nguồn khác.
Bit5-4 (T1CKPS<1:0>): Bit lựa chọn xung đầu vào bộ đếm gộp trước cho Timer1.
11 = 1:8 Giá trị bộ đếm gộp trước
10 = 1:4 Giá trị bộ đếm gộp trước
01 = 1:2 Giá trị bộ đếm gộp trước
00 = 1:1 Giá trị bộ đếm gộp trước
Bit3 (T1OSCEN): bit cho phép bộ dao động Timer1
Giá trị 1: Cho phép dao động Timer1
Giá trị 0: Dừng bộ dao động Timer1.
Bit2 (T1SYNC ): bit lựa chọn xung đồng bộ đầu vào bên ngoài cho Timer1
• Khi TMR1CS = 1:
Giá trị 1: không phải xung đồng bộ đầu vào bên ngoài
Giá trị 0: xung đồng bộ đầu vào bên ngoài
• Khi TMR1CS = 0: bit này không sử dụng và lúc này Timer1 sử dụng
Bit1 (TMR1CS): bit lựa chọn nguồn xung cho Timer1
Giá trị 1: Nguồn xung từ bên ngoài qua chân RC0/T1OSO/T13CKI
Giá trị 0: Nguồn xung từ bên trong (Fosc/4) Bit0 (TMR1ON): bit hoạt động Timer1
Giá trị 1: Cho phép
Giá trị 0: Dừng Timer1 .
Timer1 có thể hoạt động ở một trong 3 chế độ
•Bộ định thời (Timer)
• Bộ đếm đồng bộ (Synchronous Counter)
• Bộ đếm không đồng bộ(Asynchronous Counter)
Việc sử dụng Timer1 phụ thuộc vào việc sử dụng thanh thạo thanh ghi T1CON b, Timer2 Module
Đặc điểm nổi bật Timer2 gồm:
• Bộ định thời 8bit(TMR2) và thanh ghi ghi Period(PR2)
• Khả năng đọc và viết được.
• Lập trình phần mềm
• Ngắt trên TMR2 nhờ PR2
Timer 2 điều khiển hoạt động dựa thanh ghi T2CON
bit7 (Unimplemented): mang giá trị ‘0’
bit6-3 (T2OUTPS<3:0>): bit lựa chọn đầu ra Timer2 sau khi dừng.
0000 = 1:1 sau khi dừng
0001 = 1:2 sau khi dừng
1111 = 1:16 sau khi dừng
bit2 (TMR2ON): Bit hoạt dộng Timer2
Giá trị 1: Cho phép
Giá trị 0: Dừng Timer1 .
bit1-0 (T2CKPS<1:0>): bit chọn xung bộ đếm gộp trước cho Timer2
00= Chia tần 1
01= Chia tần 4
10= Chia tần 8
1x = Chia tần 16
c, Timer 3 Module
Đặc điểm Timer3 bao gồm:
• Lựa chon được hoạt động bằng phần mềm giống như bộ đếm thời gian 16 bit.
• Khả năng đọc và viết được giống thanh ghi 8 bit(TMR3H-TMR3L).
• Lựa chọn các nguồn xung cả bên trong và ngoài nhờ bộ dao động
• Ngắt- Tràn
• Modul Reset trên CCP (đặc biệt với kết quả Trigger) Timer 3 điều chỉnh nhờ thanh ghi T3CON
Bit7(RD16): (RD16): bit cho phép lựa chọn các chế độ đọc/viết 16-bit
Giá trị 1: Cho phép thanh ghi đọc/viết của Timer1 trong hoạt động như một số 16 bit.
Giá trị 0: Cho phép thanh ghi đọc/viết của Timer1 trong hoạt động như một số 8 bit.
Bit6,3 (T3CCP<2:1>): Bit cho phép Timer3 và Timer1 liên kết CCPx modules
Giá trị 1x : Timer3 là cấu hình nguồn xung capture/compare cho CCP modules.
Giá trị 01: Timer3 là cấu hình nguồn xung capture/compare cho CCP2 modules, Timer1 là cấu hình nguồn xung capture/compare cho CCP1 modules.
Giá trị 00 : Timer1 là cấu hình nguồn xung capture/compare cho CCP modules.
Bit5-4 ((T3CKPS<1:0>): bit lựa chọn xung đầu vào bộ đếm gộp trước cho Timer3.
11 = 1:8 Giá trị bộ đếm gộp trước.
10 = 1:4 Giá trị bộ đếm gộp trước.
01 = 1:2 Giá trị bộ đếm gộp trước.
00 = 1:1 Giá trị bộ đếm gộp trước.
Giá trị 1: không phải xung đồng bộ đầu vào bên ngoài
Giá trị 0: xung đồng bộ đầu vào bên ngoài
• Khi TMR3CS = 0: Bit này không sử dụng và lúc này Timer3 sử dụng nguồn xung từ bên trong.
Bit1 (TMR3CS): bit lựa chọn nguồn xung cho Timer3.
Giá trị 1: nguồn xung từ bên ngoài từ bbộ dao động Timer1 hoặc T13CKI.
Giá trị 0: nguồn xung từ bên trong (Fosc/4).
Bit0 (TMR1ON): bit hoạt động Timer1
Giá tri 1: Cho phép.
Giá tri 0: Dừng Timer1 .