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
}
}
}
: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"
hocam çok teşekkür ederim. bu kodları pic e nasıl yükleyebilirim? hex dosyası şeklinde yükleyebilir misiniz?
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.
teşekkürler
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?
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.)
Arkadaşlar yukarıdaki kodlar siyah çizgi takibi için. beyaz çizgiyi takip etmesi için nasıl değiştirebilirim?