• 25-12-2010, 21:47:20
    #1
    Kimlik doğrulama veya yönetimden onay bekliyor.
    bir arkadaşıma lazım kendisinin üyeliği olmadığından ben yazıyorum.
    Yardım edebileceklere çok teşekkürler.


    1 - bir kitapçıya giren insanları sayan program yazılıp her 100'üncü kişide buzzer (zil) çalacak olan programı yazın ?

    2 - B portuna 8 led bağladık bunlardan ilk 4'ü yanacak diğer 4'ü yanmayacak.ilk tetiklemeyi port A'nın 1'inci bitine butan bağlanacak.butona basılınca lojik seviyemiz 1 olmaktadır (set:1) yanan ledler 1 saniye yanacak söndükten sonra diğer 4'ü yanacak olan porgramı yazınız (flip flop devresi yani)
  • 25-12-2010, 23:54:48
    #2
    Elektronik okudum ama şu pic programlamayı bür türlü öğrenemedim.
  • 26-12-2010, 03:08:26
    #3
    1. soru için kapıya sensör bağlandığını düşünsün sensör de önünenden biri geçince lojik 1 çıkışı verdiğini düşünsün.
    Bu lojik 1 çıkışını da pic in Set 0 yaptığı yani giriş olarak belirlediği B1 portuna bağlasın
    Bir sonsuz döngü kursun
    Bu sonsuz döngü içinde sürekli B1 portunu kontrol etsin
    (BTFSC PortB,1 ) gibi
    Eğer giriş 1 ise daha önceden tanımladığı değişkeni 1er 1 er artırsın
    Örn:
    Toplam EQU 0X0C
    Toplam değişkenine Add komutu ile 1 ekleyip dursun
    sonra başka bir değişkene de 100 sayısının binary karşılığını aktarsın ve her lojik 1 oldugunda bu değişken ile toplam değişkenini karşılaştırsın sonuç doğru ise
    A1 çıkışına 1 göndersin (A1 çıkışında buzzer oldugunu varsayıyoruz),


    2. soru için
    Basla diye br etiket tanımla
    örn
    START
    BTFSC PORTA,1
    GOTO START
    Sürekli A1 i kontrol eder eğer butona basılırsa birsonrakii komuta gececek
    birsonraki komutta da flip flop işlemi yapamn kodlar ve artı gecikme içinde gecikme alt yordamını yazıyorum belki bulamazsın
    SAYAC1 EQU 0X0C
    SAYAC2 EQU 0X0D
    GECIKME MOVLW 0X90
    MOVWF SAYAC1
    DONGU1 MOVLW 0X90
    MOVWF SAYAC2
    DONGU2 DECFSZ SAYAC2,1
    GOTO DONGU2
    DECFSZ SAYAC1,1
    GOTO DONGU1
    RETURN
    END

    Flip flop işlemi yapan kodlarda cok basit MOVF komutu ile binary sayı yollucan porta o kadar
    şöyleki
    MOVLW b'00001111'
    MOVWF PORTB
    ilk 4 led i bu şekil yakabilirsin
    ardından gecikme alt yordamını cagırırsın.


    Sakın kodları yaz deme yazabilirmiyim tabiki yazarım.
    Ama senin yapman lazım ödev senin.

    ---NoVoLuMe---
  • 30-12-2010, 09:24:37
    #4
    @NoVolume kardeş ödev benim değil Arkadaşımın ödevi burada üyeliği olmadığı için yazmamı rica etti. Kodları yazman mümkünse kendi adıma rica ediyorum yazarsan çok sevinirim.

    Teşekkürler
  • 01-01-2011, 00:50:17
    #5
    işler o kadar birikti ki anlamatamam foruma bile girme vaktim olmuyor.
    Keşke biraz vaktim olsa da yazsam
    Kusura bakmayın