pıc c ile yazılmış kodları hexe dönüştürme
zahmet olmazsa arkadaşlar bu kodları hexe dönüştürebilirmisiniz? ben normalde biraz pic basic biliyorum. pıc c anlamıyorum. yardım!
#include <16f877a.h> // Kullanılacak denetleyicinin başlık dosyası tanıtılıyor.
// Denetleyici konfigürasyon ayarları
#fuses XTNOWDTNOPROTECTNOBROWNOUTNOLVPNOPUTNOWRTNODEBUGNO CPD
#use delay (clock=4000000) // Gecikme fonksiyonu için kullanılacak osilatör frekansı belirtiliyor.
#use fast_io(b) //Port yönlendirme komutları A portu için geçerli
#use fast_io(c) //Port yönlendirme komutları C portu için geçerl
#use fast_io(a)
#define sensor pin_a0
/********* ANA PROGRAM FONKSİYONU********/
void main ( )
{
setup_psp(PSP_DISABLED); // PSP birimi devre dışı
setup_timer_1(T1_DISABLED); // T1 zamanlayıcısı devre dışı
setup_adc_ports(NO_ANALOGS); // ANALOG giriş yok
setup_adc(ADC_OFF); // ADC birimi devre dışı
set_tris_b(0x1F); // bunlar sensörün sayısına göre değişir 1=giriş 0= çıkış demek
set_tris_c(0x00);
set_tris_a(0x01);//
//output_c(0xA0);
setup_ccp1(CCP_PWM); // CCP1 birimi PWM çıkışı için ayarlandı
setup_ccp2(CCP_PWM); // CCP2 birimi PWM çıkışı için ayarlandı
setup_timer_2(T2_DIV_BY_161701); // Timer2 ayarları yapılıyor
while(1) // Sonsuz döngü
{
if(input(sensor))
{
set_pwm1_duty(0); // PWM1 çıkışı görev saykılı belirleniyor. bu oranları değiştirebilir farklı hızlar oluşturabilirsiniz.
set_pwm2_duty(0);
}
else if (input(pin_b4)==1&&input(pin_b3)==1&&input(pin_b2) ==0&&input(pin_b1)==1&&input(pin_b0)==1) // pin b2 ortadaki sensöre bağlı onu görürse motorları 100/170 oranında sürüyor. 1motor ileri 2motor ileri
{
output_c(0xA0);
set_pwm1_duty(75); // PWM1 çıkışı görev saykılı belirleniyor. bu oranları değiştirebilir farklı hızlar oluşturabilirsiniz.
set_pwm2_duty(75); // PWM2 çıkışı görev saykılı belirleniyor. örneğin 170 yaparsanız motorunuz max hız ile dönecektir.
}
else if (input(pin_b4)==1&&input(pin_b3)==0&&input(pin_b2) ==0&&input(pin_b1)==1&&input(pin_b0)==1&&input(pin _a0)==1) //
{
output_c(0xA0);
set_pwm1_duty(70); // PWM1 çıkışı görev saykılı belirleniyor 1.motor geri
set_pwm2_duty(0); // PWM2 çıkışı görev saykılı belirleniyor 2.motor ileri
}
else if (input(pin_b4)==1&&input(pin_b3)==0&&input(pin_b2) ==1&&input(pin_b1)==1&&input(pin_b0)==1)
{
output_c(0xA0);
set_pwm1_duty(80); // PWM1 çıkışı görev saykılı belirleniyor
set_pwm2_duty(0); // PWM2 çıkışı görev saykılı belirleniyor
}
else if (input(pin_b4)==0&&input(pin_b3)==0&&input(pin_b2) ==1&&input(pin_b1)==1&&input(pin_b0)==1)
{
output_c(0xA0);
set_pwm1_duty(90); // PWM1 çıkışı görev saykılı belirleniyor
set_pwm2_duty(0); // PWM2 çıkışı görev saykılı belirleniyor
}
else if (input(pin_b4)==0&&input(pin_b3)==1&&input(pin_b2) ==1&&input(pin_b1)==1&&input(pin_b0)==1)
{
output_c(0xA0);
set_pwm1_duty(100); // PWM1 çıkışı görev saykılı belirleniyor
set_pwm2_duty(0); // PWM2 çıkışı görev saykılı belirleniyor
}
else if (input(pin_b4)==1&&input(pin_b3)==1&&input(pin_b2) ==0&&input(pin_b1)==0&&input(pin_b0)==1)
{
output_c(0xA0); // 1.motor ileri 2motor geri
set_pwm1_duty(0); // PWM1 çıkışı görev saykılı belirleniyor
set_pwm2_duty(70); // PWM2 çıkışı görev saykılı belirleniyor
}
else if (input(pin_b4)==1&&input(pin_b3)==1&&input(pin_b2) ==1&&input(pin_b1)==0&&input(pin_b0)==1)
{
output_c(0xA0);
set_pwm1_duty(0); // PWM1 çıkışı görev saykılı belirleniyor
set_pwm2_duty(80); // PWM2 çıkışı görev saykılı belirleniyor
}
else if (input(pin_b4)==1&&input(pin_b3)==1&&input(pin_b2) ==1&&input(pin_b1)==0&&input(pin_b0)==0)
{
output_c(0xA0);
set_pwm1_duty(0); // PWM1 çıkışı görev saykılı belirleniyor
set_pwm2_duty(90); // PWM2 çıkışı görev saykılı belirleniyor
}
else if (input(pin_b4)==1&&input(pin_b3)==1&&input(pin_b2) ==1&&input(pin_b1)==1&&input(pin_b0)==0)
{
output_c(0xA0);
set_pwm1_duty(0); // PWM1 çıkışı görev saykılı belirleniyor
set_pwm2_duty(100); // PWM2 çıkışı görev saykılı belirleniyor
}
else if (input(pin_b4)==1&&input(pin_b3)==1&&input(pin_b2) ==1&&input(pin_b1)==1&&input(pin_b0)==1) //1.motor geri 2.motor geri
{
output_c(0x50);
set_pwm1_duty(50); // PWM1 çıkışı görev saykılı belirleniyor
set_pwm2_duty(50); // PWM2 çıkışı görev saykılı belirleniyor
}
}
}
|