16f877 ile iki ccp kanalından aynı anda pwm üretemiyorum

realistic

Üye
Katılım
20 May 2008
Mesajlar
13
Puanları
1
Yaş
39
Merhaba arkadaşlar 877nin iki donanımsal çıkışını kullanarak aynı anda iki pwm dalgası almayı bi türlü başaramadım Yardımcı olursanız çok sevinirim

#include <16f877.h>
#include <stdlib.h>
#include <math.h>
#fuses XT,NOWDT,NOPROTECT,NOBROWNOUT,NOLVP,NOPUT,NOWRT,NODEBUG,NOCPD
#use delay (clock=4915200)
#use rs232(baud=9600, xmit=pin_c6, rcv=pin_c7, parity = N, stop =1)
#use fast_io(c)

unsigned int16 servo1=0;
unsigned int16 servo2=0;
unsigned int8 servo1_duty;
unsigned int8 servo2_duty;
unsigned int8 aci;
int8 kontrol;


int aci_hesapla(int16 x)
{
float temp2;
printf("\r\nfonksiyonun icine giren deger :%Ld",x);

temp2=floor(76.5 + (x* ( 76.5 / 180 ) ) );
printf("\n\rtemp2 :%f",temp2);

aci=(unsigned int8)temp2;

printf("\r\n int sonuc :%u",aci);
return aci;

}


#int_rda
void seri_haberlesme_kesmesi()
{
char pozisyon[5];

disable_interrupts(int_rda);
switch (kontrol)
{
case 1:
gets(pozisyon);
servo1=atol(pozisyon);
printf("\n\rbirinci servonun acisi %Ld",servo1);
kontrol=2;
case 2:
gets(pozisyon);
servo2=atol(pozisyon);
printf("\n\rikinci servonun acisi %Ld",servo2);
kontrol=1;
}

if (kontrol=1)
{
servo1_duty=aci_hesapla(servo1);
servo2_duty=aci_hesapla(servo2);

printf("\r\nduty cycle degeri 1 :%u",servo1_duty);
printf("\r\nduty cycle degeri 2 :%u",servo2_duty);
set_pwm1_duty(servo1_duty);
set_pwm2_duty(servo2_duty);
}

}


void main()
{
setup_psp(PSP_DISABLED);
setup_timer_1(T1_DISABLED);
setup_adc_ports(NO_ANALOGS);
setup_adc(ADC_OFF);

setup_ccp1(CCP_PWM);
setup_ccp2(CCP_PWM);
setup_timer_2(T2_DIV_BY_16,255,1);
enable_interrupts(GLOBAL);

set_tris_c(0x80);

kontrol=1;
set_pwm1_duty(0);
set_pwm2_duty(0);

while(1)
{

enable_interrupts(int_rda);

}
}
 
arkadaşım aynı c kodlarını derledikten sonra proteusda osilaskop çıkışları. 2 kanalda da sinyal var...
 
Ozaman bendeki proteusta sorun var Bi kaç gündür kodları evirip çeviriyorum sorunu aşmak için Tacettim hocam hangi versiyonunu kullanıyosun proteusun?
 
proteus 7.7sp2
 

Forum istatistikleri

Konular
127,950
Mesajlar
913,860
Kullanıcılar
449,598
Son üye
kadir12366

Yeni konular

Geri
Üst