Şimdi Ara

8051 chip için C de input okumak bilen varsa yardım lütfen

Daha Fazla
Bu Konudaki Kullanıcılar: Daha Az
2 Misafir - 2 Masaüstü
5 sn
3
Cevap
0
Favori
526
Tıklama
Daha Fazla
İstatistik
  • Konu İstatistikleri Yükleniyor
0 oy
Öne Çıkar
Sayfa: 1
Giriş
Mesaj
  • arkadaşlar

    ödevim için microVision3 derleyicisi ile C de 8051 chip i için kod yazıyorum. programda yapmam gereken kullanıcı 4 tane buton aracılığıyla değeri değiştirecek yanlız bu butonların durumunu 8051 chipinin pinlerinden değerlerini c de nasıl okurum

    port B de 4 tane pin kullanıcam yardım edebilirmisiniz

    şimdiden Teşekürler



  • Aslında bu sorunun yeri burası değil ve bende 8051 ile çalışmadım hiç ama bildiğim kadarıyla şöyle olabilir.

    Portb yi komple pull down yaptığını var sayıyorum. Bu durumda hiçbir butona basılmadan değeri 0000 0000 olur. 4 buton ilk 4 bite bağlı olsun. Birinci butona basıldığı zaman portb 0000 0001 olur. Birinci butona basılıp basılmadığını anlamak için bu sayıyı portb ile VE işlemine sokman gerekir. Yani bir if içinde şöyle kullanırsan;
    if(PORTB & 0b00000001) // birinci butona basıldı.

    Bu ifade şu şekilde daha anlaşılır yazılabilir:
    if(PORTB & 1<<0) // İlk butona basıldı.
    if(PORTB & 1<<1) // İkinci butona basıldı.
    if(PORTB & 1<<2) // Üçüncü butona basıldı.
    if(PORTB & 1<<3) // Dördüncü butona basıldı... gibi.
  • 8051 C derleyicilerinde, BIT veritipi olur genelde. Bu durumda, örneğin,

    BIT dugme_1 p1.0;

    gibi tanımlar yapılır. Böylece siz;

    if (dugme_1) {
    hede();
    hodo();
    }

    şeklinde kullanabilir, yada örneğin;

    BIT led p1.2;

    ....
    ....

    led = 1; // LED'i yak.
    led = 0; // LED'i söndür..

    yapabilirsiniz.

    Bu gibi bir özelliğin var oluğ olmadığı, nasıl olduğunun vs. detayı kullandığınız derleyiciye bağlı. Onun dökümanlarına bir göz atın.
  • 
Sayfa: 1
- x
Bildirim
mesajınız kopyalandı (ctrl+v) yapıştırmak istediğiniz yere yapıştırabilirsiniz.