Ðăng Nhập

View Full Version : [HELP] PCWHD_4.104 tạo PWM mô phỏng proteus


benoit
13-10-2011, 10:59 AM
Mình ko hiểu vì sao đoạn code tạo pwm ko tạo ra xung pwm trên chân ccp1 và ccp2 của pic16f877a, mình dùng proteus 7.6 sp4 để mô phỏng mà 2 chân nó cứ màu xanh, chả có tín hiệu gì hết.
#include <16F877A.h>
#FUSES HS,NOWDT,NOPUT,NODEBUG,NOPROTECT,NOBROWNOUT,NOLVP, NOCPD,NOWRT
#use delay(clock=20000000)
void main()
{
setup_ccp1(CCP_PWM);
setup_ccp2(CCP_PWM);

setup_timer_2(T2_DIV_BY_4,124,1) ;

set_pwm1_duty(75);
set_pwm2_duty(75);

}

tdm
15-10-2011, 09:02 PM
Mình ko hiểu vì sao đoạn code tạo pwm ko tạo ra xung pwm trên chân ccp1 và ccp2 của pic16f877a, mình dùng proteus 7.6 sp4 để mô phỏng mà 2 chân nó cứ màu xanh, chả có tín hiệu gì hết.
#include <16F877A.h>
#FUSES HS,NOWDT,NOPUT,NODEBUG,NOPROTECT,NOBROWNOUT,NOLVP, NOCPD,NOWRT
#use delay(clock=20000000)
void main()
{
setup_ccp1(CCP_PWM);
setup_ccp2(CCP_PWM);

setup_timer_2(T2_DIV_BY_4,124,1) ;

set_pwm1_duty(75);
set_pwm2_duty(75);

}
viết lại như sau thì mới có xung:

#include <16F877A.h>
#FUSES HS,NOWDT,NOPUT,NODEBUG,NOPROTECT,NOBROWNOUT,NOLVP, NOCPD,NOWRT
#use delay(clock=20000000)
void main()
{
setup_ccp1(CCP_PWM);
setup_ccp2(CCP_PWM);
set_pwm1_duty(75);
set_pwm2_duty(75);
setup_timer_2(T2_DIV_BY_4,124,1) ;
while(1)
{
}
}