şifreli kilit acil yardım rezil oldum arkadaş

Başlatan karrizma77, 13 Mart 2015, 12:59:32

karrizma77

arkadaşlar hocamız derste bi proje istedi çokta basit tek haneli şifresi olan şifreli kilit kodları yazdım hangi tuşa bastığım lcd üzerinde gözüküyor ama işlem yapmıyor.
mesela şifreyi 3 olarak belirledim şifreyi girdikten sonra 8 tuşuna basılırsa PORTE.2 ye bağlı kırmızı led yanacaktır.1 tuşuna basıncada sönecektir.lütfen yardım edin hatamı bir türlü bulamadım.

sonmoikan

#1
Arkadaşım hatalarını ben söyleyeyim.
Şemada led dirençlerini 1k değil 220ohm yap.
PortE tanımlamalarını yap
kontrol biti ekle

Klavye etiketinin en altına goto klavye yazmışsın o hatalı. program klavye etiketinde kalır. Onun yerine RETURN yazman gerekir.

Programda istediğin normlara uygun olarak basitçe değişiklikler yaptım, inceleyebilirsin.

1 e basıldığında led sönme olayı şifreli mi şifresiz mi onu belirtmemişsin,
bende şifresiz olarak yaptım.

Ayrıca burayı da inceleyebilirsin http://etepic.com/index.php/topic,1647.0.html


DEFINE LCD_DREG PORTC
DEFINE LCD_DBIT 4
DEFINE LCD_RSREG PORTC
DEFINE LCD_RSBIT 0
DEFINE LCD_EREG PORTC
DEFINE LCD_EBIT 1

TRISD=%00001111
trise=0
porte=0
ADCON1=7
tus VAR BYTE
kontrol var bit

basla:

    GOSUB klavye
   
    if tus=3 then kontrol=1
        if kontrol=1 then
            if tus=8 then
            porte.2=1
            kontrol=0
        endif
    endif
   
    if tus=1 then porte.2=0

goto basla

klavye:
    TUS=200
    LOW PORTD.4:HIGH PORTD.5:HIGH PORTD.6:HIGH PORTD.7
    IF PORTD.1=0 THEN TUS=1
    IF PORTD.2=0 THEN TUS=2
    IF PORTD.3=0 THEN TUS=3
   
    HIGH PORTD.4:LOW PORTD.5:HIGH PORTD.6:HIGH PORTD.7
    IF PORTD.1=0 THEN TUS=4
    IF PORTD.2=0 THEN TUS=5
    IF PORTD.3=0 THEN TUS=6
   
    HIGH PORTD.4:HIGH PORTD.5:LOW PORTD.6:HIGH PORTD.7
    IF PORTD.1=0 THEN TUS=7
    IF PORTD.2=0 THEN TUS=8
    IF PORTD.3=0 THEN TUS=9
   
    HIGH PORTD.4:HIGH PORTD.5:HIGH PORTD.6:LOW PORTD.7
    IF PORTD.1=0 THEN TUS=11
    IF PORTD.2=0 THEN TUS=10
    IF PORTD.3=0 THEN TUS=12
    PAUSE 100
   
    IF TUS=200 THEN LCDOUT $FE,$C0,"Buton=?"
    IF TUS< 200 THEN LCDOUT $FE,$C0,DEC TUS,"      "
return

end
ABDULLAH

karrizma77

hocam çok teşekkür ederim bazen çok küçük detaylar hata yaptırıyor insana
basic i yeni öğreniyorum c diliyle çalıştığım için komutları çabuk öğrendim fakat henüz kullanımını anlayamadım.

hocam birde basic ile şifreli kilit  yapmam gerekiyor ama şifreyi girdikten sonra 1,2,3,4 tuşlarından birine basınca rf verici ile bir alıcı devre çalıştırmam gerekiyor bana yardımcı olabir misiniz?

karrizma77

birde 2 haneli yazayım dedim ama bi türlü olmadı bide buna el atsanız?

Powered by EzPortal