PDA

View Full Version : giup em voi moi nguoi!


darlink
29-12-2010, 10:25 PM
em viet chuong trinh dieu che xung cho PIC 16f877a nhung khi dua oscilloscope vo thi no chang co xung nao dua ra CPP1 va CPP2 ca, moi nguoi giup em voi!

#include <16F877A.h>
#device *=16
#fuses NOWDT,HS,NOPUT,NOPROTECT,NODEBUG,NOBROWNOUT,NOLVP, NOCPD,NOWRT //khai bao cac thiet dat cho PIC
#use delay(clock=20000000) //khai bao su dung thach anh 20MHz de su dung ham delay cua chuong trinh
/************************************************** ***********************************/
void main(){
unsigned char x;
set_tris_c(0xf9); //dat 2chan ccp_pwm la output con cac chan con lai la input
output_c(0);
output_b(0);
setup_timer_2(t2_div_by_16,255,16);//t2_div_by_16:bo chia tan cho 16 => moi lan dem se mat thoi gian la (4/f*16)
//tang den 255 thi reset=>timer 2 se tran` sau 255*4/f*16
//sau 16 lan tran timer 2 thi xay ra ngat=>sau 16*255*4/f*16 se xay ra ngat timer 2
//tong cong thoi gian~13ms
setup_ccp1(ccp_pwm);
setup_ccp2(ccp_pwm);
while(true){
while(x!=1023){
x++;
set_pwm1_duty(x);
set_pwm2_duty(x);
delay_us(2500);}
delay_ms(500);
while(x>0){
x--;
set_pwm1_duty(x);
set_pwm2_duty(x);
delay_us(2500);}
}
}