Picproje Elektronik Sitesi

DERLEYİCİLER => PIC C => Konuyu başlatan: nusi - 20 Ocak 2016, 14:07:28

Başlık: pıc c dilinde yazılmış kodu hex e çevirme
Gönderen: nusi - 20 Ocak 2016, 14:07:28
Selam arkadaşlar. Bir sorunum var yardım eder misiniz? pıc c dilinde yazılmış bu kodları hex e çevirebilir misiniz?

#include <16f877a.h>     // Kullanılacak denetleyicinin başlık dosyası tanıtılıyor.
// Denetleyici konfigürasyon ayarları
#fuses XT,NOWDT,NOPROTECT,NOBROWNOUT,NOLVP,NOPUT,NOWRT,NODEBUG,NOCPD
#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_16,170,1); // 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. 1,motor ileri 2,motor 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 2,motor 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
}
}
}



Başlık: Ynt: pıc c dilinde yazılmış kodu hex e çevirme
Gönderen: vitruvius - 20 Ocak 2016, 15:41:59
:1000000000308A000428000083161F149F141F1557
:100010009F1107309C0083131F3083050912831240
:10002000900183161F149F141F159F1183121F1018
:100030001F30831686000030870001308500831250
:1000400007110C30970087109D000030F80006382B
:100050009200AA30831692008312051C3228950163
:100060009B01D328061E4228861D422806194228D5
:10007000861C4228061C4228A03087004B30950081
:100080009B00D328061E5428861954280619542884
:10009000861C5428061C5428051C5428A0308700B0
:1000A000463095009B01D328061E642886196428D3
:1000B000061D6428861C6428061C6428A03087005E
:1000C000503095009B01D328061A7428861974288D
:1000D000061D7428861C7428061C7428A03087000E
:1000E0005A3095009B01D328061A8428861D84283F
:1000F000061D8428861C8428061C8428A0308700BE
:10010000643095009B01D328061E9428861D9428F0
:100110000619942886189428061C9428A030870075
:10012000950146309B00D328061EA428861DA428CE
:10013000061DA4288618A428061CA428A030870021
:10014000950150309B00D328061EB428861DB42884
:10015000061DB4288618B4280618B428A0308700D5
:1001600095015A309B00D328061EC428861DC4283A
:10017000061DC428861CC4280618C428A030870081
:10018000950164309B00D328061ED328861DD328F2
:10019000061DD328861CD328061CD3285030870080
:0A01A000323095009B002D2863000B
:02400E00393F38
:00000001FF
;PIC16F877A
;CRC=5FFC  CREATED="20-Jan-16 14:39"
Başlık: Ynt: pıc c dilinde yazılmış kodu hex e çevirme
Gönderen: nusi - 20 Ocak 2016, 20:09:24
hocam çok teşekkür ederim. bu kodları pic e nasıl yükleyebilirim? hex dosyası şeklinde yükleyebilir misiniz?
Başlık: Ynt: pıc c dilinde yazılmış kodu hex e çevirme
Gönderen: MrDarK - 20 Ocak 2016, 20:54:12
arkadaşın hazırladığı kodu not defterine kopyala
Farklı kaydet seçeneğini seç
Altta kayıt türü alanını Tüm Dosyalar olarak seç
Dosya ismini de kod.hex şeklinde belirlersen hex olarak kaydetmiş olursun.
Başlık: Ynt: pıc c dilinde yazılmış kodu hex e çevirme
Gönderen: nusi - 21 Ocak 2016, 12:57:36
teşekkürler
Başlık: Ynt: pıc c dilinde yazılmış kodu hex e çevirme
Gönderen: nusi - 16 Şubat 2016, 10:57:25
selam arkadaşlar. aşağıdaki kodları hexe çevirebilirmisiniz?
#include <16F877A.h>
#device adc=10
#FUSES HS //High speed Osc (> 4mhz)

#use delay(clock=20000000)

#use fast_io (a)
#use fast_io (c)

void main()
{
   set_tris_a(0xFF);
   set_tris_c(0xF0);
   while (true)
   {
      if(input(pin_a0)==0)
      {
         output_c(0x0a); // Sağ geri sol ileri
      }
      if(input(pin_a1)==0)
      {
         output_c(0x02); // Sağ duruyor sol ileri
      }
      if(input(pin_a2)==0)
      {
         output_c(0x06); // Sağ ileri sol ileri
      }
      if(input(pin_a3)==0)
      {
         output_c(0x04); // Sağ ileri sol duruyor
      }
      if(input(pin_a5)==0)
      {
         output_c(0x05); // Sağ ileri sol geri
      }
   }
}
 


mesaj birleştirme:: 16 Şubat 2016, 11:00:11

arkadaşlar birde sorum olacak? bu kodlar beyaz çizgiyi takip eden robot için yazılmış. kodlarda bir hata var mı kontrol edebilir misiniz?
Başlık: Ynt: pıc c dilinde yazılmış kodu hex e çevirme
Gönderen: RaMu - 16 Şubat 2016, 18:33:32
https://www.picproje.org/index.php/topic,4523.msg400286.html#msg400286 (https://www.picproje.org/index.php/topic,4523.msg400286.html#msg400286)

Yukarıdaki linkden CcsC programını (ide + derleyici) indir, 5.025 versiyonu tavsiyemdir.
5dk sürer, indirip yüklemen,

Netten 2 tane CcsC videosu izle,
10 dk da bu sürsün,
15dk da çok yoruldum de bir kahve yap iç desen,
yarım saate bulduğun her ccsc kodunu hex e çevirebilir hale gelirsin.

(Tamam her ve yarım saat kısmı biraz iyimser oldu.)
Başlık: Ynt: pıc c dilinde yazılmış kodu hex e çevirme
Gönderen: nusi - 17 Şubat 2016, 21:21:36
Arkadaşlar yukarıdaki kodlar siyah çizgi takibi için. beyaz çizgiyi takip etmesi için nasıl değiştirebilirim?