Assembly Programlama Hakkında

Zza

Üye
Katılım
28 Eki 2014
Mesajlar
24
Puanları
1
Yaş
34
Merhaba Arkadaşlar Bir Sorum Olacak.
Ben pic16f84 ile Animasyon yapıyorum.Fakat Şimdi diyeceğim mantığı yanlış kurdum sanırım.
8 Ledin Bağlı olduğu devrede Devrenin Sağdan Başlayıp SIFIRINCI BİT'e geldiğinde led yanacak ve yanık kalacak sonra tekrar Sağdan başlayıp BİRİNCİ BİT'e geldiğinde 1. bit yanacak ve oda yanık kalacak.Bu şekilde sistem devam edecektir tüm ledler yanana kadar.Bunun mantığını anlatırmısınız?
 
movlw b'10000000' ;en sağdaki ledi yaktık
movwf portb
call gecikme ;gecikme alt programı yazacaksınız
movlw b'01000000'
movwf portb
call gecikme
.......... bu mantıkta en soldaki lede kadar kodları tekrarlayın
sonrası
movlw b'10000001
call gecikme
movlw b'01000001'
call gecikme
................ yine aynı mantık
movlw b'10000011'
call gecikme
... kodları böyle devam ettirerek yazabilirsiniz. kolay gelsin
 
Son düzenleme:
Sağdan sola Bit Kaydıran RRF -RLF Komutları ile yazamazmıyız? Daha kısa olabilir belki..Bende yeni olduğum için pek birşey diyemiyorum.
 
öyle biraz zor olur hocam ilk seferinde çalışır. yani 0 a kadar gidersin sonra tekrar kaydırdığında 0. ledi yanık tutamazsın. benim mantık biraz uzundur ama hem kolaydır hemde mantığı anlamanı kolaylaştırır
 
Deneyeceğim hocam senin mantığını.Yapmazsam sana ulaşırım tekrardan..
 
HOCAM senin dediğin şekilde yapmaya denedim fakat en son Led yanık kalıyor ve baştan başlamıyor saymaya.Kodları koymamaı istermisin?
 
bastan sırayla yanacak en sona geldiğinde en son yanık kalacak bastan sırayla yanacak sondan bir önce kide yanık kalacak.... hepsi yanınca hepsi sönüp başa sarıp yine aynısını mı yapacak sistem ?
 
Evet Şuan Yaptım..Çalışıyor.Diğer bir sorum ise Tüm Ledler Yanarken Ledlerin kısıklığını nasıl ayarlayabiliriz.pıc16f84 entegresinde?Yani ledler yanıp sönecek fakat tamamen Sönmeden yanacak...
 
ekstra bir pinle ledleri baska bir dirence yonlendirebilirsiniz . yani araya siwtchle bir direnc aktif edebilirsin ekstradan. mesela bir role üzerinden sürüyorsan atıyorum parlak yanaları 300 ohmla rölenin normal acık bacagıyla , az yanma durumu icinde atıyorum 700 ohm direncle normal kapalı bacagına bagla ledi.

assembly ugrasmadım hiç. c codu ekleyeyim dedim işinize yarar belki. assembly haline donusturebilirsiniz.

void leddongu()
{
unsigned char i,j,kayma=1,tutma=0;
PORTC=0;
__delay_ms(200);
for(j=0;j<8;j++)
{
for(i=0;i<8-j;i++)
{
PORTC=tutma+(kayma<<i);
__delay_ms(200);
}
tutma=tutma+(kayma<<(7-j));
}
}
 
Son düzenleme:
C ile yazilanlar Assemblyda çok farklı oluyor:)Dediğinizi tam anlayamadim.
 

Forum istatistikleri

Konular
130,065
Mesajlar
932,702
Kullanıcılar
453,050
Son üye
alperen343

Yeni konular

Geri
Üst