16f84 port sorusu

Başlatan helloworld, 18 Kasım 2014, 20:56:49

helloworld

16f84 ün portb=8 porta=5 bit.biz trafik ışıklarını kontrol edicez bir kavşagın.4 tane trafik ışıkları olucak 3 er lambadan 12 bit eder.bütün portları çıkış yapsak portb ile port a yı nasıl yanyana koyarız.yani toplamda 13 biti nasıl kullanırız?

Kabil ATICI

illede hepsini bir seferde sürmen gerekmez. 8'ini bir sürersin sonra da 5'ini. Merak etme kimse ard arda sürüldüğünü anlamayamaz. insan gözü o kadar iyi değildir.

pic24 serisi altındaki tüm işlemciler 8 bit olarak çalışır. Dolayısı ile önce portb'ye bağlı ışıkların bilgisini çıkartırsın sonra da porta'ya bağlı ışıkların bilgisini. Araya gecikme koymadıkça ikisi aynı anda sürülüyormuş gibi görülür.
ambar7

helloworld

abi bizde öyle düşünmüştük.algılayamayız diye.ancak kodu hoca kağıtta görücek.sorun etmesin sonra? yarın sınav çünkü :D

Extreme

Soruyu da doğru sormak lazım.

ambar7 nin verdiği cevap çok mantıklı.

8 bitden fazla bir değişkene asm de atayamazsın bu kesin.

Ancak sırayla kullanabilirsin .

helloworld

Alıntı yapılan: Extreme - 18 Kasım 2014, 22:29:47
Soruyu da doğru sormak lazım.

ambar7 nin verdiği cevap çok mantıklı.

8 bitden fazla bir değişkene asm de atayamazsın bu kesin.

Ancak sırayla kullanabilirsin .







bundan bahsediyordum aslında.şimdi araştırırken buldum.

Extreme

o program counterla ilgili farklı konu .

asm de her değişken (bank adresi) 8 bitdir bu kadar basit.

ademesenn

Şöyle bişey olabilir mi

TRIS A = 0x00; // Yön a'ya
TRIS B = 0x00; // Yön b'ye

PORT A = 0; // A portunu temizle
PORT B = 0; // B portunu temizle

while (1) // döngüye gir

Porta.f0 = 1
Porta.f1 = 0
.........

Aralara bekleme Noktaları istenilen süreler delay_ms(...) girilir a ve b nin tüm portları çıkış gösterdik elimizde 13 çıkış portumuz oldu bu da bize yeter sanırım buradaki tek sorun bu şekilde yapılarak PIC in dul Dünya'ya kapatılması yani veri girişi yok sadece çıkış var kısır döngüler için çok ideal