Şimdi Ara

Pic Programlama ile ilgili?

Daha Fazla
Bu Konudaki Kullanıcılar: Daha Az
2 Misafir (1 Mobil) - 1 Masaüstü1 Mobil
5 sn
6
Cevap
0
Favori
330
Tıklama
Daha Fazla
İstatistik
  • Konu İstatistikleri Yükleniyor
0 oy
Öne Çıkar
Sayfa: 1
Giriş
Mesaj
  • Merhaba arkadaşlar,
    Anlamadığım bir konuda yardımınıza ihtiyacım var.Pic programlama konusunda çok çok acemiyim baştan söyleyeyim dedim.Pic kullanarak ledleri yakma gibi bir bir ödevim var, ödevde istenen pic in RC0....RC7 pinlerine birer anahtar ve aynı şekilde de RD0...RD7 pinlerinde LED bağlamamızı istemiş.Ancak benim anlamadığım RB pinlerini programlamak için "PORTBbits.RB0, TRISB, PORTB " gibi komutlar kullanıyorken D pinlerini programlamak için (PORTDbits.RD0, TRISD, PORTD gibi komutları denedim) hangi komutları kullanmalıyım?Ders notlarını, dökümanları inceledim fakat bununla ilgili bir şey bulamadım, tecrübeli arkadaşların yardımını bekliyorum.



  • "tris" komutu hangi portun cıkış/giriş olacağını belirtir. giriş=1 , çıkış = 0 .
    örneğin : TRISA = 0 ' A PORTU ÇIKIŞ OLDU
    TRISB= 1 ' B PORTU GİRİŞ OLDU
    "PORT" komutu ise o portlara ulaşım sağlar desek daha doğru olur.

    örneğin şöyle bir uygulama yapalım.
    A portu giriş , B portu da çıkış olsun.
    A portunun 1. pinine enerji gelince , B portunun ilk 2 pini enerjilensin.
    A portunun 2. pinine enerji gelince , B portunun 3. ve 4. pinleri enerjilensin.
    '''''''''''''''programı şu şekilde olur

    Device = 16F84A ' Pic imizi tanımladık
    TRISA=1 'A PORTU GİRİŞ
    TRISB=0 ' B PORTU ÇIKIŞ
    PORTB=0 ' B PORTUNU EN BAŞTA Bİ KAPATALIM.Bazen açık kalıyor ledler kendi kendine yanıyor.

    if Porta.0=1 then 'a portunun ilk pini enerjilenirse yani 1 olursa
    portb.0=1 ' 1. pinini enerjilendir
    portb.1=1 ' 2. pinini enerjilendir
    else ' yani eğer a portunun ilk pini enerjili değilse
    portb.0=0 'çıkışlar yanmasın o zaman.
    portb.1=0
    end if

    if porta.1=01 then ' a portunun 1. pini aktif olursa
    portb.2=1
    portb.3=1
    else
    portb.2=0
    portb.3=0
    end if

    ' pic olarak pic16f84a kullanırsan senin için iyi olur.
    ' genel taslak olarak böyle bi program yazacaksın . hangi programlama dilini kullandığına göre bu yazım şekilleri değişir.Proton diline uygun şekilde yazdım 'ben.

    başarılar.




  • quote:

    Orijinalden alıntı: IengineerI

    "tris" komutu hangi portun cıkış/giriş olacağını belirtir. giriş=1 , çıkış = 0 .
    örneğin : TRISA = 0 ' A PORTU ÇIKIŞ OLDU
    TRISB= 1 ' B PORTU GİRİŞ OLDU
    "PORT" komutu ise o portlara ulaşım sağlar desek daha doğru olur.

    örneğin şöyle bir uygulama yapalım.
    A portu giriş , B portu da çıkış olsun.
    A portunun 1. pinine enerji gelince , B portunun ilk 2 pini enerjilensin.
    A portunun 2. pinine enerji gelince , B portunun 3. ve 4. pinleri enerjilensin.
    '''''''''''''''programı şu şekilde olur

    Device = 16F84A ' Pic imizi tanımladık
    TRISA=1 'A PORTU GİRİŞ
    TRISB=0 ' B PORTU ÇIKIŞ
    PORTB=0 ' B PORTUNU EN BAŞTA Bİ KAPATALIM.Bazen açık kalıyor ledler kendi kendine yanıyor.

    if Porta.0=1 then 'a portunun ilk pini enerjilenirse yani 1 olursa
    portb.0=1 ' 1. pinini enerjilendir
    portb.1=1 ' 2. pinini enerjilendir
    else ' yani eğer a portunun ilk pini enerjili değilse
    portb.0=0 'çıkışlar yanmasın o zaman.
    portb.1=0
    end if

    if porta.1=01 then ' a portunun 1. pini aktif olursa
    portb.2=1
    portb.3=1
    else
    portb.2=0
    portb.3=0
    end if

    ' pic olarak pic16f84a kullanırsan senin için iyi olur.
    ' genel taslak olarak böyle bi program yazacaksın . hangi programlama dilini kullandığına göre bu yazım şekilleri değişir.Proton diline uygun şekilde yazdım 'ben.

    başarılar.

    Hocam öncelikle cevabınız için teşekkür ederim.Programlamak için C dilini kullanmam lazım, A, B ve C pinlerini programlarken sıkıntı yok ama D pini ile ilgili herhangi bir komut yazdığımda mesela "TRISD, PORTDbits.RD0 , PORTD" falan MPlab hata veriyor.




  • mplab hiç kullanmadım , ama onda program yazmanın zor olduğu söyleniyor. sonuçda birebir c diliyle aynı değil.
    kişisel önerim mplab bilen birisine danış.

    başarılar.
  • seneye bizde bu dersi göreceğiz .
  • Cevaplarınız için teşekkür ederim, standart ayarları eklemeyi unutmuşum D pini ile ilgili hata vermiyor artık ama bu seferde standart ayarlar pürüz çıkardı.Eklediğim ayarlar;

    #pragma config OSC = XT
    #pragma config PWRT = ON
    #pragma config WDT = OFF
    #pragma config LVP = OFF
    #pragma config DEBUG = OFF
    #pragma config CP0 = OFF, CP1 = OFF, CP2 = OFF ,CP3 = OFF, CPB = OFF, CPD = OFF
    #pragma config WRT0 = OFF, WRT1 = OFF, WRT2 = OFF, WRT3 = OFF, WRTB = OFF, WRTC = OFF, WRTD = OFF
    #pragma config EBTR0 = OFF, EBTR1 = OFF, EBTR2 = OFF, EBTR3 = OFF, EBTRB = OFF


    Bu sefer çıkan hatalar ;

    "D:\Ders&Kitap\Deneyler\Mikroislemciler Lab\Deneme\deneme7nisan2amk.c:7:Error [1224] configuration setting 'CP2' not recognized"
    "D:\Ders&Kitap\Deneyler\Mikroislemciler Lab\Deneme\deneme7nisan2amk.c:8:Error [1224] configuration setting 'WRT2' not recognized"
    "D:\Ders&Kitap\Deneyler\Mikroislemciler Lab\Deneme\deneme7nisan2amk.c:9:Error [1224] configuration setting 'EBTR2' not recognized"
    "





  • Yapay Zeka’dan İlgili Konular
    Arduino ile LOGO yapma
    6 yıl önce açıldı
    Daha Fazla Göster
    
Sayfa: 1
- x
Bildirim
mesajınız kopyalandı (ctrl+v) yapıştırmak istediğiniz yere yapıştırabilirsiniz.