1. Trang chủ
  2. » Công Nghệ Thông Tin

Tài liệu Bài 4: CCP doc

21 601 0

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 21
Dung lượng 0,96 MB

Nội dung

Bài 4: CCP Nội dung  Capture  Compare  PWM  Ứng dụng của bộ CCP Giới thiệu  PIC16F877A có 2 modul CCP(Capture/Compare/PWM ) giống hệt nhau về hoạt động  Các module này có nguồn là các Timer Giới thiệu  Sự ảnh hưởng qua lại giữa 2 CCP  Các thanh ghi Giới thiệu  Thanh ghi CCP1CON /CCP2CON (ADDRESS 17h/1Dh): Bit 5,4 CCPxX:CCPxY: PWM least Significant bits (chỉ tác dụng ở chế độ PWM) 2 bit MSB chứa giá trị tính độ rộng xung (duty cycle) của khối PWM ( 8 bit còn lại được chứa trong thanh ghi CCPRxL). Bit 3-0 CCPxM3:CCPxM0 CCPx Mode Select bit Các bit dùng để xác lập các chế độ hoạt động của khối CCPx Chế độ Capture  Khi có một “hiện tượng” xảy ra tại pin RC2/CCP1( hoặc RC1/T1OSI/CCP2), giá trị của thanh ghi TMR1 sẽ được đưa vào thanh ghi CCPR1( CCPR2).  “Hiện tượng”:  Mỗi khi có cạnh xuống tại các pin CCP  Mỗi khi có cạnh lên  Mỗi cạnh lên thứ 4  Mỗi cạnh lên thứ 16 Capture  Chân CCPx phải cấu hình là đầu vào  Sau khi giá trị của thanh ghi TMR1 được đưa vào thanh ghi CCPRx, cờ ngắt CCPxIF được set  Cờ ngắt CCPxIF nên được xóa bằng phần mềm mỗi khi được set  CCP còn được tích hợp bộ chia tần số prescaler được điều khiển bởi các bit CCPxM3:CCPxM0 Chế độ Compare  Khi hai thanh ghi chứa giá trị bằng nhau, các pin của CCP được thay đổi trạng thái (được đưa lên mức cao, đưa xuống mức thấp hoặc giữ nguyên trạng thái)  Cờ ngắt CCPIF cũng sẽ được set  Sự thay đổi trạng thái của pin có thể được điều khiển bởi các bit CCPxM3:CCPxM0 (CCPxCON <3:0>) Compare  Cấu hình chân CCPx là đầu ra  Sự kiện đặc biệt làm reset giá trị cặp thanh ghi TMR1 Chế độ PWM PWM  chu kỳ(period): PWM Period = [(PR2) + 1] .4 . TOSC .( TMR2 Prescale Value- 1,4,16)  Khi giá trị thanh ghi PR2 bằng với giá trị thanh ghi TMR2 thì : Thanh ghi TMR2 tự động được xóa. Pin của khối CCP được set. Giá trị thanh ghi CCPRxL được đưa vào thanh ghi CCPRxH. [...]... 1.25e-5 sec + CCPR1= (1.25e-5) / (2.5e-7 * 1) = 50 00001100 10 PWM void InitPWM(void) { PR2 = 24; //Set TIMER2 frequency CCPR1L = 0b00001100; //Set TIMER2 duty cycle CCP1 CON = 0B00101111; //Set x,y CCP1 CON / /CCP1 CON = 11xx = PWM mode TMR2 = 0; //Clear TMR2 first T2CON = 0b01111000; } PWM CCS CCS -setup _ccp1 (mode) hay setup _ccp2 (mode) Mode có thể là: Cấm CCP: CCP_ OFF Chế độ PWM: CCP_ PWM Chế...PWM  duty: PWM Duty Cycle =(CCPRxL:CCPxCON) TOSC (TMR2 Prescale Value)  Duty Cycle được xác đinh bởi thanh ghi CCPRxL và 2 bit CCPxCON 2 bit CCPxCON sẽ chứa 2 bit LSB  Khi giá trị trong thanh ghi CCPRxH bằng với giá trị trong thanh ghi TMR2 và hai bit CCPxCON bằng với giá trị 2 bit của bộ chia tần số prescaler, pin của khối CCP lại được đưa về mức thấp PWM Xác định... trong mỗi chu kỳ là : value*(1/clock)*t2div -Ngắt INT _CCP1 , INT _CCP2 -Các lệnh về Timer1 và Timer2 hỗ trợ cho khối CCP Ví dụ // For a 20 mhz clock, 1.2 khz frequency, // t2DIV set to 16 // the following sets the duty to 50% (or 416 us) long duty; duty = 512; // 000416/(16*(1/20000000)) set_pwm1_duty(duty); Bài toán Thực hiện băm xung trên chân RC2/ CCP1 Bài toán • • • • • • • • #include #include... { • • • • • • • • • • • • • • • • trisc=0;//output portc=0xff;//dau tien led sang setup _ccp1 (CCP_ PWM); // che do PWM setup_timer_2(T2_DIV_BY_16, 255, 1); //chu ky PWM se la: //(1/20.000.000)*4*16*(255+1)=819.2(us) //t2div=4 while(1) { for(j=1023;j>=0;j ) { delay_ms(10); SET_PWM1_DUTY(j );//dat duty cycle } } } Bài toán Sử dụng Compare, viết chương trình cứ sau 1s giá trị của portd lại được tăng lên . Bài 4: CCP Nội dung  Capture  Compare  PWM  Ứng dụng của bộ CCP Giới thiệu  PIC16F877A có 2 modul CCP( Capture/Compare/PWM. ảnh hưởng qua lại giữa 2 CCP  Các thanh ghi Giới thiệu  Thanh ghi CCP1 CON /CCP2 CON (ADDRESS 17h/1Dh): Bit 5,4 CCPxX:CCPxY: PWM least Significant

Ngày đăng: 20/01/2014, 04:20

TỪ KHÓA LIÊN QUAN

w