16F84A ile yürüyen ve flaş animasyonu(YARDIM)

keserorhan

Üye
Katılım
3 Tem 2010
Mesajlar
4
Puanları
1
Merhaba arkadaşlar 16F84A ile yürüyen ve flaş yapan led sistemi için pic c de yazdığım code simulasyonda sıkıntısız çalışırken devreye döktüğümde çalışmıyor. Farkettiğim üzere kristalim osilasyon işlemini yapmıyor değiştirmeme rağmen. Code aşağıdaki gibi. Ledler PORTB nin 0,1,2. bacaklarına bağlı. Bir el atarsanız çok sevinirim. Şimdiden teşekkürler.

#include <16F84A.h>
#FUSES NOWDT, XT, NOPUT, NOPROTECT
#use delay(clock=4000000)

void main()
{

unsigned int i = 0;

set_tris_b(0b00000000);

for(;;)
{


for(i=0;i<3;i++)
{
output_b(0x00);
output_high(pin_B0);
delay_ms(700);
output_low(pin_B0);
output_high(pin_B1);
delay_ms(700);
output_low(pin_B1);
output_high(pin_B2);
delay_ms(700);
output_low(pin_B2);

}

for(i=0;i<3;i++)
{

output_high(pin_B0);
delay_ms(500);
output_low(pin_B0);
output_high(pin_B1);
delay_ms(500);
output_low(pin_B1);
output_high(pin_B2);
delay_ms(500);
output_low(pin_B2);

}

for(i=0;i<3;i++)
{

output_high(pin_B0);
delay_ms(300);
output_low(pin_B0);
output_high(pin_B1);
delay_ms(300);
output_low(pin_B1);
output_high(pin_B2);
delay_ms(300);
output_low(pin_B2);

}

for(i=0;i<10;i++)
{

output_b(0xff);
delay_ms(100);
output_b(0x00);
delay_ms(100);

}
}
setup_timer_0(RTCC_INTERNAL|RTCC_DIV_1);

// TODO: USER CODE!!

}
 
dostum asm olsaydı cevap yazardım ama büyük ihtimal config ayarlarını yapmamışındır.
 
asm zoruma gidiyor dostum ondan uğraşmıyorum sağolasın gene :)
 
xtal cristal ayarlarını yaptınmı fiziksel devrede. osilasyon düzgün sağlanıyormu pice bi portu255 yap dene. sağlıklı çalıştığını görürsen kodu inceleriz
 
xtal ayarları derken 2 adet 22pk ile devreye bağlama ve capacitorlari toprağa vermeyse yaptım.
 
aslında şöyle bir deneme yazpınız. Portları toogle eden kodu yazınız pice yukleyiniz ve programın dogru çalısıp calısmadıgını kontrol edniz. Eger pic dogru çalışmıyorsa donanımsl ahtalar vardır.
Besleme gerilimi regulelimi yada besleme gerilimi ne kadar saglıklı 7805 ile reguleli bbir güç saglayınız.
Osilasyon devresini saglıklı yapınız programdaki osliator hızı ıle devredeki osilator aynı degerde olsun birde boyle deneyin.
 
söylediklerinizin hepsini yaptım 7805 ile besleme sağlı osilatör hızı programda 4mh xtal de 4mh. toggle lı olarak denedim simulasyonda dahi çalışmadı daha önce. donanımsal hata olabileceğini düşünmüştüm ben de ama tüm elemanları değiştirip denedim gene olmadı. multimetre ile yaptığım ölçümlerde de ledlerin bağlı olduğu bacaklardan hiç bi şekilde gerilim alamadım :(
 
#include <16F84.h>
#fuses XT,NOWDT,NOPROTECT,NOPUT
#use delay(clock=40000000)
int a,b;
void main()
{
set_tris_b(0x00);
basla:
output_b(0x00);
a=1;
while(1)
{
for(b=0;b<3;++b)
{
shift_left(&a,1,0);
delay_ms(700);
output_b(0x00);
}
if (a==4)
{
output_b(0xff);
delay_ms(100);
output_b(0x00);
}
goto basla;
}}


birde bunu denermisin? . şu an iş yerindeyim deneme şansım olmadı . umarım çalışır :) kolay gelsin
 

Forum istatistikleri

Konular
128,932
Mesajlar
921,823
Kullanıcılar
451,111
Son üye
Kemalingos123

Yeni konular

Geri
Üst