Haberler:

Foruma Resim Yükleme ve Boyut Sınırlaması ( ! )  https://bit.ly/2GMFb8H

Ana Menü

Buton ve Led Sorusu

Başlatan mesut64, 27 Haziran 2010, 11:59:08

mesut64

merhaba arkadaşlar. pic basic pro dilinde yazdığım bir programda değişiklik yapmak istiyorum ama bir türlü beceremedim.  ileri geri tuşları ile bir sayı gireceğiz (buraya kadar tamam).................. sonra giriş tuşuna basacaz girdğimiz sayıyı kayıtlayacaz. daha sonra say tuşuna basıp 0'dan yukarıya sayma işlemini gerçekleştirecez. sayma işlemi kayıtladığımız sayıya gelince led yanacak. kayıtlama kısmını (programda ?????? olan yer) yapamadım. acil yardım lütfen....



main:
     TRISB=0
     TRISA=%01111
     SAY VAR WORD
     KAYIT VAR WORD
     DISPLAY1 VAR WORD
     DISPLAY2 VAR WORD
     DISPLAY3 VAR WORD
     PORTB=0
     SAY=0
   
   

BASLA:
      IF PORTA.0=0 THEN ILERI
      IF PORTA.1=0 THEN GERI
      IF PORTA.2=0 THEN GIRIS
      IF PORTA.3=0 THEN SAYMA
     
      GOTO BASLA


GERI:
      SAY=SAY-1
      PAUSE 300
      IF SAY=0 THEN SAY=1000
     
     
      DISPLAY1=SAY DIG 0
      DISPLAY2=SAY DIG 1
      DISPLAY3=SAY DIG 2
     
      PORTB=DISPLAY3 | %11110000
      LOW PORTB.4
      PAUSE 1
      HIGH PORTB.4
      PAUSE 1
     
      PORTB=DISPLAY2 | %11110000
      LOW PORTB.5
      PAUSE 1
      HIGH PORTB.5
      PAUSE 1
     
      PORTB=DISPLAY1 | %11110000
      LOW PORTB.6
      PAUSE 1
      HIGH PORTB.6
      PAUSE 1
     
     GOTO BASLA
   
ILERI:
      SAY=SAY+1
      PAUSE 300
      IF SAY=1000 THEN SAY=0

      DISPLAY1=SAY DIG 0
      DISPLAY2=SAY DIG 1
      DISPLAY3=SAY DIG 2

      PORTB=DISPLAY1 | %01110000
      LOW PORTB.6
      PAUSE 1
      HIGH PORTB.6
      PAUSE 1

      PORTB=DISPLAY2 | %01110000
      LOW PORTB.5
      PAUSE 1
      HIGH PORTB.5
      PAUSE 1

      PORTB=DISPLAY3 | %01110000
      LOW PORTB.4
      PAUSE 1
      HIGH PORTB.4
      PAUSE 1

      GOTO BASLA


GIRIS:
     PEEK SAY, KAYIT       ????????????????????

     goto basla
     

SAYMA:
      SAY=SAY+1
      PAUSE 10
      IF SAY=KAYIT THEN HIGH PORTA.4=1
     
     
      DISPLAY1=SAY DIG 0
      DISPLAY2=SAY DIG 1
      DISPLAY3=SAY DIG 2

      PORTB=DISPLAY1 | %01110000
      LOW PORTB.6
      PAUSE 1
      HIGH PORTB.6
      PAUSE 1

      PORTB=DISPLAY2 | %01110000
      LOW PORTB.5
      PAUSE 1
      HIGH PORTB.5
      PAUSE 1

      PORTB=DISPLAY3 | %01110000
      LOW PORTB.4
      PAUSE 1
      HIGH PORTB.4
      PAUSE 1
      GOTO sayma
END

Franisto

kayıtlama derken pic in eprom kısmına yazmak istiyorsan;

yazmak için,

write 0,KAYIT.lowbyte
write 1,KAYIT.highbyte

okumak için

read 0,KAYIT.lowbyte
read 1,KAYIT.highbyte

komutlarını kullanırsan KAYIT değişkeninin içeriğini saklarsın.

mesut64