Bộ định thời (Timer)

Một phần của tài liệu Đồ án mạch đèn giao thông sử dụng pic18f4520 full sourse code va mo hinh (Trang 49 - 54)

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 .

Một phần của tài liệu Đồ án mạch đèn giao thông sử dụng pic18f4520 full sourse code va mo hinh (Trang 49 - 54)

Tải bản đầy đủ (DOC)

(90 trang)
w