Các hàm của timer0:

Một phần của tài liệu TÀI LIỆU TRA CỨU PIC18F4520 ĐẠI HỌC CÔNG NGHIỆP HÀ NỘI (Trang 44 - 49)

4. HOẠT ĐỘNG ĐỊNH THỜI

4.4.1. Các hàm của timer0:

Hàm CloseTimer0

Nguyên mẫu : void CloseTimer0( void );

Chức năng : Hàm được sử dụng để cấm hoạt động của timer0 Hàm OpenTimer0

Nguyên mẫu : void OpenTimer0( unsigned char config );

Chức năng : Hàm được sử dụng để thiết lập các tham số cho timer0 Các đối số bao gồm:

TIMER_INT_ON

TIMER_INT_OFF Cho phép ngắt (Interrupt enabled) Không cho phép ngắt (Interrupt disabled) T0_SOURCE_EXT

T0_SOURCE_INT Dùng nguồn xung từ ngoài (I/O pin) Dùng nguồn dao động nội (TOSC) T0_EDGE_FALL

T0_EDGE_RISE

Đếm khi có sườn xuống (External clock on falling edge) Đếm khi có sườn lên (External clock on rising edge) T0_8BIT

T0_16BIT Chế độ 8bit Chế độ 16bit T0_PS_1_1 T0_PS_1_2 T0_PS_1_4 T0_PS_1_8 T0_PS_1_16 T0_PS_1_32 T0_PS_1_64 T0_PS_1_128 T0_PS_1_256 Hệ số chia tần trước 1:1 Hệ số chia tần trước 1:2 Hệ số chia tần trước 1:4 Hệ số chia tần trước 1:8 Hệ số chia tần trước 1:16 Hệ số chia tần trước 1:32 Hệ số chia tần trước 1:64 Hệ số chia tần trước 1:128 Hệ số chia tần trước 1:256

Các đối số được sử dụng kết hợp với nhau bằng toán từ “&”, ví dụ: OpenTimer0( TIMER_INT_OFF &

T0_8BIT &

T0_SOURCE_INT & T0_PS_1_32 );

Hàm ReadTimer0

Nguyên mẫu : unsigned int ReadTimer0( void );

Chức năng : Hàm được sử dụng để đọc giá trị hiện thời của timer0 Hàm WriteTimer0

Nguyên mẫu : void WriteTimer0(unsigned int timer_value)

Chức năng : Hàm được sử dụng để đọc giá trị hiện thời của timer0 Tham số timer_value là giá trị cần ghi cho timer, ví dụ: WriteTimer0(10);

4.4.2. Các hàm của timer1: Hàm CloseTimer1

Nguyên mẫu : void CloseTimer1( void );

Chức năng : Hàm được sử dụng để cấm hoạt động của timer1 Hàm OpenTimer1

Nguyên mẫu : void OpenTimer1( unsigned char config );

Chức năng : Hàm được sử dụng để thiết lập các tham số cho Timer1 Một số đối số:

TIMER_INT_ON

TIMER_INT_OFF Cho phép ngắt (Interrupt enabled) Không cho phép ngắt (Interrupt disabled) T1_8BIT_RW

T1_16BIT_RW

Chế độ ghi/đọc 8bit Chế độ ghi/đọc 16bit T1_SOURCE_EXT

T1_SOURCE_INT Dùng nguồn xung từ ngoài (I/O pin) Dùng nguồn dao động nội (TOSC) T1_PS_1_1 T1_PS_1_2 T1_PS_1_4 T1_PS_1_8 Hệ số chia tần trước 1:1 Hệ số chia tần trước 1:2 Hệ số chia tần trước 1:4 Hệ số chia tần trước 1:8 T1_OSC1EN_ON

T1_OSC1EN_OFF Sử dụng timer1 như một bộ phát xung cho hệ thống Không sử dụng timer1 như một bộ phát xung cho hệ thống Hàm ReadTimer1

Nguyên mẫu : unsigned int ReadTimer1( void );

Chức năng : Hàm được sử dụng để đọc giá trị hiện thời của Timer1 Hàm WriteTimer1

Nguyên mẫu : void WriteTimer1(unsigned int timer_value)

Chức năng : Hàm được sử dụng để đọc giá trị hiện thời của Timer1 4.4.3. Các hàm của Timer2:

Hàm CloseTimer2

Nguyên mẫu : void CloseTimer2( void );

Chức năng : Hàm được sử dụng để cấm hoạt động của Timer2 Hàm OpenTimer2

Nguyên mẫu : void OpenTimer2( unsigned char config );

Một số đối số:

TIMER_INT_ON TIMER_INT_OFF

Cho phép ngắt (Interrupt enabled)

Không cho phép ngắt (Interrupt disabled) T2_PS_1_1 T2_PS_1_4 T2_PS_1_16 Hệ số chia tần trước 1:1 Hệ số chia tần trước 1:4 Hệ số chia tần trước 1:16 T2_POST_1_1 T2_POST_1_2 … T2_POST_1_16 Hệ số chia tần sau 1:1 Hệ số chia tần sau 1:2 … Hệ số chia tần sau 1:16 Hàm ReadTimer2

Nguyên mẫu : unsigned int ReadTimer2( void );

Chức năng : Hàm được sử dụng để đọc giá trị hiện thời của Timer2 Hàm WriteTimer2

Nguyên mẫu : void WriteTimer2(unsigned int timer_value)

Chức năng : Hàm được sử dụng để đọc giá trị hiện thời của Timer2 4.4.4. Các hàm của Timer3:

Hàm CloseTimer3

Nguyên mẫu : void CloseTimer3( void );

Chức năng : Hàm được sử dụng để cấm hoạt động của Timer3 Hàm OpenTimer3

Nguyên mẫu : void OpenTimer3( unsigned char config );

Chức năng : Hàm được sử dụng để thiết lập các tham số cho Timer3 Một số đối số:

TIMER_INT_ON TIMER_INT_OFF

Cho phép ngắt (Interrupt enabled)

Không cho phép ngắt (Interrupt disabled) T3_SOURCE_EXT

T3_SOURCE_INT Dùng nguồn xung từ ngoài (I/O pin) Dùng nguồn dao động nội (TOSC) T3_8BIT_RW T3_16BIT_RW Chế độ ghi/đọc 8bit Chế độ ghi/đọc 16bit T3_PS_1_1 T3_PS_1_4 T3_PS_1_8 Hệ số chia tần trước 1:1 Hệ số chia tần trước 1:4 Hệ số chia tần trước 1:8 Hàm ReadTimer3

Nguyên mẫu : unsigned int ReadTimer3( void );

Hàm WriteTimer3

Nguyên mẫu : void WriteTimer3(unsigned int timer_value)

5. ĐIỀU CHẾ ĐỘ RỘNG XUNG – PWM

5.1. Sơ đồ khối bộ PWM

Sơ đồ khối của CCP ở chế độ PWM. 5.2. Các thanh ghi liên quan

- Thanh ghi điều khiển CCPx: CCPxCON

U-0 U-0 R/W-0 R/W-0 R/W-0 R/W-0 R/W-0 R/W-0 — — DCxB1 DCxB0 CCPxM3 CCPxM2 CCPxM1 CCPxM0 bit 7 bit 0 bit 7-6 Không được sử dụng: đọc sẽ được ‘0’

bit 5-4 DCxB1:DCxB0: Bit lựa chọn độ rộng xung 1:0 của chế độ PWM. Capture mode:

Không sử dụng. Compare mode: Không sử dụng. PWM mode:

Là 2 bit thấp DCxB1: DCxB0 của thanh ghi lựa chọn độ rộng xung cho PWM.

bit 3-0 CCPxM3:CCPxM0: Bit lựa chọn chế độ hoạt động cho bộ CCPx 0000 = Cấm CCPx hoạt động.

11xx = Chế độ PWM.

- Thanh ghi chu kỳ (Period) : PR2

PR2 là thanh ghi 8 bit của bộ Timer2, thanh ghi này được sử dụng để tạo chu kỳ cho xung PWM.

- Thanh ghi độ rộng xung (Dyty Cycle) : CCPRx

CCPRx là thanh ghi thanh ghi 8 bit của CCPx, thanh ghi này chứa 8 bit cao DCxB9:DCxB2 sử dụng để tạo độ rộng xung(2 bit thấp trong thanh CCPxCON).

Các thanh ghi liên quan đến chế độ PWM của bộ CCPx:

Name Bit 7 Bit 6 Bit 5 Bit 4 Bit 3 Bit 2 Bit 1 Bit 0

INTCON GIE/GIEH PEIE/GIEL TMR0IE INT0IE RBIE TMR0IF INT0IF RBIF

RCON IPEN SBOREN — RI TO PD POR BOR

PIR1 PSPIF ADIF RCIF TXIF SSPIF CCP1IF TMR2IF TMR1IF

PIE1 PSPIE ADIE RCIE TXIE SSPIE CCP1IE TMR2IE TMR1IE

IPR1 PSPIP ADIP RCIP TXIP SSPIP CCP1IP TMR2IP TMR1IP

TRISB Thanh ghi hướng dữ liệu PORTB TRISC Thanh ghi hướng dữ liệu PORTC TMR2 Thanh ghi đếm của Timer2 PR2 Thanh ghi chu kỳ của Timer2

T2CON — T2OUTPS3 T2OUTPS2 T2OUTPS1 T2OUTPS0 TMR2ON T2CKPS1 T2CKPS0 CCPR1L Thanh ghi Capture/Compare/PWM 1 byte thấp

CCPR1H Thanh ghi Capture/Compare/PWM 1 byte cao

CCP1CON P1M1(1) P1M0(1) DC1B1 DC1B0 CCP1M3 CCP1M2 CCP1M1 CCP1M0 CCPR2L Thanh ghi Capture/Compare/PWM 2 byte thấp

CCPR2H Thanh ghi Capture/Compare/PWM 2 byte cao

CCP2CON — — DC2B1 DC2B0 CCP2M3 CCP2M2 CCP2M1 CCP2M0

Một phần của tài liệu TÀI LIỆU TRA CỨU PIC18F4520 ĐẠI HỌC CÔNG NGHIỆP HÀ NỘI (Trang 44 - 49)

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

(74 trang)