PIC Vietnam

PIC Vietnam (http://www.picvietnam.com/forum/index.php)
-   Cơ bản về vi điều khiển và PIC (http://www.picvietnam.com/forum/forumdisplay.php?f=8)
-   -   gặp vấn đề khi khởi tạo PWM (http://www.picvietnam.com/forum/showthread.php?t=7131)

hoantien05 07-10-2010 01:53 PM

gặp vấn đề khi khởi tạo PWM
 
#include <16F877.h>
#use delay(clock=20000000)
#use fast_io(b)
#byte portc = 0x07

void main ()
{
setup_timer_2(T2_DIV_BY_1,99,1);
setup_ccp2(CCP_PWM);
while(1)
{
CCP_2 = 55;
}
}

máy hok báo lỗi đoạn code này nhưng sao em mô phỏng trên proteus thì nó hok chạy, mong các anh giúp giùm

pic_13 07-10-2010 07:38 PM

Trích:

Nguyên văn bởi hoantien05 (Post 39149)
#include <16F877.h>
#use delay(clock=20000000)
#use fast_io(b)
#byte portc = 0x07

void main ()
{
setup_timer_2(T2_DIV_BY_1,99,1);
setup_ccp2(CCP_PWM);
while(1)
{
CCP_2 = 55;
}
}

máy hok báo lỗi đoạn code này nhưng sao em mô phỏng trên proteus thì nó hok chạy, mong các anh giúp giùm

chu em xem lại xem có lệnh này CCP_2 = 55 không nha chú viết như vậy thì ccp2 chỉ như một biến thui

robotpic 07-10-2010 09:42 PM

mình nghỉ bạn thay ccp_2=55

set_pwm2_duty(??);

hoantien05 08-10-2010 07:45 PM

Trích:

Nguyên văn bởi pic_13 (Post 39154)
chu em xem lại xem có lệnh này CCP_2 = 55 không nha chú viết như vậy thì ccp2 chỉ như một biến thui

cái này em viết theo 1 cuốn sách, với lại trình biên dịch cũng hok báo lỗi.

hoantien05 08-10-2010 07:46 PM

Trích:

Nguyên văn bởi robotpic (Post 39159)
mình nghỉ bạn thay ccp_2=55

set_pwm2_duty(??);

em đã thay rùi nhưng cũng vậy, không chạy được!

robotpic 08-10-2010 09:19 PM

bạn chưa set_tris 2 chân ccp1 và cpp 2 nữa.

bạn viết thiếu thêm vào đi.

mặc định cho nó là chân xuất xung nữa bạn

hoantien05 08-10-2010 09:44 PM

Trích:

Nguyên văn bởi robotpic (Post 39192)
mặc định cho nó là chân xuất xung nữa bạn

cái này thì làm sao vậy anh?

vancongck 28-11-2011 05:55 PM

#include <16F877a.h>
#include <def_877a.h>
#device *=16adc=8
#fuses HS,NOWDT,NOPROTECT,NOLVP
#use DELAY(clock=20000000)
#use fast_IO(c)
void main ()
{
trisc=(0);
setup_ccp2(CCP_PWM);
setup_timer_2(T2_DIV_BY_1,99,1);
while(true)
{
set_pwm1_duty(200);
}
}

vuductap 29-11-2011 03:17 PM

Bạn thử thêm đoạn code này nữa xem sao.
enable_interrupts(INT_Timer2);
enable_interrupts(GLOBAL);


Múi giờ GMT. Hiện tại là 02:51 PM.

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