PIC Vietnam

PIC Vietnam (http://www.picvietnam.com/forum/index.php)
-   Giao tiếp USB, CAN, I2C, SPI, USART... (http://www.picvietnam.com/forum/forumdisplay.php?f=45)
-   -   Các bác cho em hỏi 1 chút về PWM PIC18F4550 (http://www.picvietnam.com/forum/showthread.php?t=10512)

vandao_ts 07-08-2011 12:51 AM

Các bác cho em hỏi 1 chút về PWM PIC18F4550
 
Em đang bắt đầu tập viết code PWM điều khiển độ sáng của LED cho PIC18F4550 nhưng có 1 số em không hiểu mong các bác giúp đỡ.
Ở trong datasheet viết
Code:

15.4.4 SETUP FOR PWM OPERATION
The following steps should be taken when configuring
the CCPx module for PWM operation:
1. Set the PWM period by writing to the PR2
register.
2. Set the PWM duty cycle by writing to the
CCPRxL register and CCPxCON<5:4> bits.
3. Make the CCPx pin an output by clearing the
appropriate TRIS bit.
4. Set the TMR2 prescale value, then enable
Timer2 by writing to T2CON.
5. Configure the CCPx module for PWM operation.

*Phần tính toán PR2 để điều xung thì em đã tính được. Từ biểu thức PWM Duty Cycle giả sử em tính được (CCPRXL:CCPXCON<5:4>) =72 nhưng em không hiểu chỗ này cho lắm. Nếu em dùng CCP1 thì có phải là giá trị của thanh ghi CCPR1L nhân với bit thứ 4,5 của thanh ghi CCP1CON là bằng 72 không.
*Khi khai báo hàm init_timer2 thì đã khai báo TMR2 prescaler rồi, sao bây giờ lại phải khai báo lại nữa?
*Phần thứ 5 chọn PWM mode em không biết chọn cái nào hết vì không hiểu các PWM mode đó như thế nào?
* Có xài interrupt không?
*Phần trên mới config PWM, có 1 điều em còn thắc mắc là làm sao xuất ra LED được
* Cuối cùng, bác nào có source code PWM viết bằng Hi-tech C không. Em search trên mạng nhưng thấy người ta chủ yếu viết bằng CCS, còn hi-tech C ít quá nên em kiếm không ra

vandao_ts 07-08-2011 09:25 PM

Không có ai quan tâm à :D


Múi giờ GMT. Hiện tại là 12:23 AM.

Tên diễn đàn: vBulletin Version 3.8.11
Được sáng lập bởi Đoàn Hiệp.
Copyright © PIC Vietnam