Toplam 6 adet sonuctan sayfa basi 1 ile 6 arasi kadar sonuc gösteriliyor
  1. #1
    MODERATÖR
    Üyelik tarihi
    Haziran.2009
    Nereden
    istanbul
    Mesajlar
    770

    tr KODLAR DAKI SORUN

    arkadaslar hepınıze hayırlı gunler.arkadaslar asagıdakı semaya gore bı program yazdım.fakat bır yerde hata verıyor.bi türlü çözemedım bi el atsanız halletsek bu işi
    devredeki 1.butona basıldığında GENEL adlı programagıdecek ve program surekli tekrarda olacak, 2.butona basıldıgındada ANFI adlı programa gıdecek ve yıne program sureklı tekrada olacak.devre seması ve kodları.:


    DEFINE LCD_DREG PORTB
    DEFINE LCD_DBIT 4
    DEFINE LCD_EREG PORTB
    DEFINE LCD_EBIT 3
    DEFINE LCD_RWREG PORTB
    DEFINE LCD_RWBIT 2
    DEFINE LCD_RSREG PORTB
    DEFINE LCD_RSBIT 1
    DEFINE LCD_BITS 4
    DEFINE LCD_LINES 2
    TRISA=1
    TRISB=0
    LOW PORTB.2
    PAUSE 200
    BASLA:
    IF PORTA.0=1 THEN
    GOSUB GENEL
    ENDIF
    END
    ARA:
    IF PORTA.1=1 THEN
    GOSUB ANFI
    ENDIF
    END
    GOTO BASLA
    GENEL:
    LCDOUT $FE,1
    LCDOUT $FE,2,"DIJITAL DUNYAYA"
    LCDOUT $FE,$C0,"..HOSGELDINIZ.."
    PAUSE 500
    LCDOUT $FE,1
    LCDOUT $FE,2,"....IYI..."
    LCDOUT $FE,$C0,".EGLENCELER."
    PAUSE 500
    LCDOUT $FE,1
    LCDOUT $FE,2,".RAMAZAN..LUTFI."
    LCDOUT $FE,$C0,"...SAGDIC..."
    PAUSE 500
    GOTO GENEL
    END
    ANFI:
    LCDOUT $FE,1
    LCDOUT $FE,2,"MAX.CIKIS GUCU"
    LCDOUT $FE,$C0,"250 WATT RMS"
    PAUSE 200
    LCDOUT $FE,1
    LCDOUT $FE,2,"CIKIS KATI"
    LCDOUT $FE,$C0,"4 x BTJ"
    PAUSE 200
    LCDOUT $FE,1
    LCDOUT $FE,2," BESLEME "
    LCDOUT $FE,$C0,"250 W TRAFO"
    PAUSE 200
    GOTO ANFI
    END
    Eklenen Dosyalar Eklenen Dosyalar
    BeklediğiM GünleR O KadardA UzaK DeğilleR

  2. #2
    MODERATÖR
    Üyelik tarihi
    Haziran.2009
    Nereden
    istanbul
    Mesajlar
    770

    Standart Cevap: KODLAR DAKI SORUN

    kodlarda eksık var ama hatırlayamadım..
    BeklediğiM GünleR O KadardA UzaK DeğilleR

  3. #3
    ETE
    misafir

    Standart Cevap: KODLAR DAKI SORUN

    Kodlarda eksik yok ama fazlalık var. Her tarafı "END" ile doldurmuşsun. Hepsini sil onalrın.
    Programın en sonuna tek bir tane END yaz olsun bitsin.

    GOSUB ile gidilen program parçasından RETURN ile dönülür. Şayet oradan dönme düşünülmüyorsa ki sen öyle yapmışsın, Gosub yerine Goto kullanmak daha doğru olur.

    Gosub ile gidilen yerden kesinlikle RETURN ile dönmek gerekir. Sebebi ise, bütün programlar aslında makine dilini kullanıyor biliyorsunuz. Bu programda bir başka adrese dallanma olduğu zaman programın ayrıldığı adres STACK (Yığın) denilen bir depoya atılır. Burada sistem son giren ilk çıkar mantığıyla çalışır. Dolayısıyla siz gosub ile bir yere gittiğiniz zaman hemen adres stack da kayıt altına alınır. Return komutu orada görüldüğü zamanda stack dan dönüş adresi alınır ve o adrese geri dönülür. Şayet Return ile gidip goto ile dönerseniz gidiş adresi stack de kalır ve boşuna yer kaplayıp hiç kullanılamaz. Stack dediğinizi çok fazla gözünüzde büyütmeyin. Ancak 5 adet Return adresini depolayabiliyor. Fazla büyük değil yani. O nedenle Gosub la gidip goto ile dönerseniz stack bir müddet sonra şişer ve program nerden gelip nereye gideceğini bulamadığı içini şaşırıp kilitlenir.

    Ete

  4. #4
    MODERATÖR
    Üyelik tarihi
    Haziran.2009
    Nereden
    istanbul
    Mesajlar
    770

    Standart Cevap: KODLAR DAKI SORUN

    hocam tesekkur ederim anladığım kadarı ile değişiklik yaptım.ancak. bır hata verıyor.
    değiştirmeme gereken yerleri belirtirseniz sevinirim.
    TRISA=1
    TRISB=0
    LOW PORTB.2
    PAUSE 200
    BASLA:
    IF PORTA.0=1 then
    GOTO GENEL
    ENDIF

    IF PORTA.1=1 THEN
    GOTO ANFI
    ENDIF
    GOTO BASLA
    GENEL:
    LCDOUT $FE,1
    LCDOUT $FE,2,"DIJITAL DUNYAYA"
    LCDOUT $FE,$C0,"..HOSGELDINIZ.."
    PAUSE 500
    LCDOUT $FE,1
    LCDOUT $FE,2,"....IYI..."
    LCDOUT $FE,$C0,".EGLENCELER."
    PAUSE 500
    LCDOUT $FE,1
    LCDOUT $FE,2,".RAMAZAN..LUTFI."
    LCDOUT $FE,$C0,"...SAGDIC..."
    PAUSE 500
    GOTO GENEL

    ANFI:
    LCDOUT $FE,1
    LCDOUT $FE,2,"MAX.CIKIS GUCU"
    LCDOUT $FE,$C0,"250 WATT RMS"
    PAUSE 200
    LCDOUT $FE,1
    LCDOUT $FE,2,"CIKIS KATI"
    LCDOUT $FE,$C0,"4 x BTJ"
    PAUSE 200
    LCDOUT $FE,1
    LCDOUT $FE,2," BESLEME "
    LCDOUT $FE,$C0,"250 W TRAFO"
    PAUSE 200
    GOTO ANFI
    END
    BeklediğiM GünleR O KadardA UzaK DeğilleR

  5. #5
    forum üyesi
    Üyelik tarihi
    Nisan.2009
    Nereden
    KÖLN
    Mesajlar
    392

    Standart Cevap: KODLAR DAKI SORUN

    kodunun bu halini derleydisysen hata verir fuse ayarlarini yapman gerekir
    birde pici analog girisleri kapatman lazim.

  6. #6
    MODERATÖR
    Üyelik tarihi
    Haziran.2009
    Nereden
    istanbul
    Mesajlar
    770

    Standart Cevap: KODLAR DAKI SORUN

    arkadaslar derleme yaparkenki hatayı nı hayet çözdüm.programda bır hata yokmus.62 karekter hatası verıyormus.yanı derledıgım dosyayı dırek c:altında bır klasore kopyaladım sorun duzeldi.(aklınızda bulunsun arkadaslar derlıcegınz dosyayı turkçe karekter içeren bir klasore kopyalamayın.)
    BeklediğiM GünleR O KadardA UzaK DeğilleR

 

 

Konu Bilgileri

Bu Konuya Gözatan Kullanıcılar

Şu anda 1 kullanıcı bu konuyu görüntülüyor. (0 kayıtlı ve 1 misafir)

Benzer Konular

  1. 16f877a daki timer2?
    Konu Sahibi iriver Forum PIC YARDIM SORU VE İSTEKLER
    Cevap: 1
    Son Mesaj : 01.Mayıs.2009, 04:09
  2. tv mizde sorun
    Konu Sahibi rck8942 Forum TAMİR TEKNİK SERVİS MERKEZİ
    Cevap: 2
    Son Mesaj : 01.Mayıs.2009, 02:15
  3. Pic16F877 İle ilgili bir sorun...
    Konu Sahibi byozi147 Forum PIC YARDIM SORU VE İSTEKLER
    Cevap: 2
    Son Mesaj : 17.Şubat.2009, 11:52
  4. PicBasic kodlar
    Konu Sahibi yildizelektronik Forum PIC YAZILIM
    Cevap: 1
    Son Mesaj : 20.Kasım.2008, 00:40
  5. proteusta sorun var!
    Konu Sahibi megaloman Forum PROTEUS (ARES-İSİS)
    Cevap: 0
    Son Mesaj : 06.Nisan.2008, 13:40

Yetkileriniz

  • Konu Acma Yetkiniz Yok
  • Cevap Yazma Yetkiniz Yok
  • Eklenti Yükleme Yetkiniz Yok
  • Mesajınızı Değiştirme Yetkiniz Yok
  •