güvenlik sistemi yardım...!

Başlatan picman, 01 Mayıs 2005, 20:42:38

picman

arkadaşlar pbp ile mcs programını kullanarak bir güvenlik sistemi yapmayı düşündüm sistem çalışıyor ama şifreyi girip enter (mavi tuş) a basınca girilen şifreyi algılamıor zannedersem her tuşa basıldığında basılan değeri değişkenler içine atamayı beceremedim programı o kadar gözden geçiriyorum ama hata bulamıyorum program tamamiyle bit medi tabiki ufak tefek hatalar olabilir fakat şifre algılama işini gerçekleştirmeden programı geliştirmek istemiyorum eğer omu başarırsam şifreyi pic in kendi epromuna kaydedip ayrıca şifre değişimine izin veren bir menü de aklemeyi düşünüyorum bir değişkeni başkabir değişkene atamayı ben  dıgıt=tus şeklinde yaptım bu doğru değilmi neyse bukonuda bana yardımzı olun lütfen kodlar ve devre çeması aşağıda saygılarımla

program kodları:

'ASAĞIDAKI PROGRAM EV VE İŞ YERLERİ İÇİN GÜVENLİK AMAÇLI
'SİFRE KONTROLLÜ GÜVENLİK SİSTEMİ PROGRAMIDIR
'DÖRT HANELİ ŞİFRE DOĞRU GRİLİP ENTER TUSUNA BASILDIĞINDA ŞİFRE KONTROL EDİLİR
'VE KAPI OTOMATİK OLARAK AÇILIR

ROW VAR BYTE
SUTUN VAR BYTE
SATIR VAR BYTE
TUS VAR BYTE
TEMP VAR BYTE
BAS VAR BYTE
SYMBOL OUT=PORTA.0

SAYICI VAR BYTE
YEDEK VAR BYTE
DIGIT1 VAR BYTE
DIGIT2  VAR BYTE
DIGIT3  VAR BYTE
DIGIT4  VAR BYTE

                  INCLUDE "MODEDEFS.BAS"
ROW=0
SATIR=0
SUTUN=0
PORTB=0
SAYICI=0
PORTA.2=1



'----------PORT TANIMLAMA--------------
TRISA=%00000
TRISB=%11110000
'--------------BASLANGIC YAZISI--------------------------
       GOSUB GECIKME1
       SEROUT OUT,T2400,[254,1,"UCAR ELEKTRONIK"]
       GOSUB  GECIKME2
       SEROUT OUT,T2400,[2541,1]
       GOSUB GECIKME1
       SEROUT OUT,T2400,[254,192," SISTEM ACILIYOR."]
       GOSUB GECIKME2
'---------------------------------------------------------
       
'----------ANA PROGRAM KESİMİ------------------      
BASLA:  
    SEROUT OUT,T2400,[254,1," SIFREYI GIRINIZ"]
    SEROUT OUT,T2400,[254,192]
MAIN:
 GOSUB TUS_TARA
 IF (BAS=1) THEN
 SEROUT OUT,T2400,[#TUS]
ENDIF
GOTO MAIN

TUS_TARA:
 SATIR=0
 TUS=0
 TEMP=0
 PORTB=%00000001
 PEEK $6,ROW
TARA:  
      SUTUN=1
      IF PORTB.4=0 THEN IKI
      GOTO RAKAM
IKI:  
      SUTUN=SUTUN+1
      IF PORTB.5=0 THEN UC
      GOTO RAKAM
UC:  
      SUTUN=SUTUN+1
      IF PORTB.6=0 THEN DORT
      GOTO RAKAM
DORT:  
       SUTUN=SUTUN+1
       IF PORTB.7=0 THEN DIGER_SATIR
       GOTO RAKAM
       
DIGER_SATIR:  
  STATUS.0=0
             ROW=ROW << 1
             POKE $6,ROW
             IF ROW.4=1 THEN TUS_TARA_SON    
             SATIR=SATIR+4
             GOTO TARA
RAKAM:
 PAUSE 200
 SAYICI=SAYICI+1  
  BAS=%00000001                                            
  TUS=SUTUN+SATIR  
       IF SAYICI=1 THEN
    DIGIT1=TUS
   IF SAYICI=2 THEN
     DIGIT2=TUS      
   IF SAYICI=3 THEN
     DIGIT3=TUS
   IF SAYICI=4 THEN
     DIGIT4=TUS
ENDIF
  ENDIF
    ENDIF
      ENDIF    
     
    GOSUB TUS_TEST
  IF (TUS=12) THEN SIFRE_TEST 'enter tuşuna basıldıysa
  RETURN
 
TUS_TARA_SON:
  SAYICI=0
  BAS=0
  RETURN  
 
TUS_TEST:'---------0 VE EKRAN SİLME ,İŞLEMİ------------                                          
  IF (TUS=10) THEN
     TUS=0
  ENDIF  
  IF (TUS=11) THEN
   PAUSE 10
  SEROUT OUT,T2400,[254,1]
  BAS=0
  GOTO BASLA
ENDIF
RETURN

SIFRE_TEST:'------SIFRE TEST ALT PROGRAMI----------------------
   BAS=0
   GOSUB GECIKME1
   IF SAYICI>5 THEN UYARI
   SEROUT OUT,T2400,[254,1,"KONTROL EDILIYOR"]    
   GOSUB GECIKME2    
  IF DIGIT1=1 THEN
    GOTO _2
    ELSE
      GOTO SIF_TEST_CIK    
_2:              
  IF (DIGIT2=2) THEN
    GOTO _3
    ELSE
      GOTO SIF_TEST_CIK
_3:        
  IF (DIGIT3=3) THEN
    GOTO _4
    ELSE
      GOTO SIF_TEST_CIK
 ENDIF
   ENDIF
     ENDIF  
_4:      
  IF DIGIT4=4 THEN
  GOSUB GECIKME2
 SEROUT OUT,T2400,[254,1,"  ONAYLANDI   "]
  GOSUB GECIKME2
      PORTA.2=0
      PORTA.1=1
      PORTA.3=1
  GOSUB GECIKME2
      PORTA.1=0
      PORTA.2=1
      PORTA.3=0    
    ENDIF
    GOTO BASLA    
SIF_TEST_CIK:
    SEROUT OUT,T2400,[254,1," HATALI GIRIS"]
    GOSUB GECIKME2  
    GOTO BASLA
UYARI:
  SEROUT OUT,T2400,[254,1," SIFRE  ENFAZLA "]
  SEROUT OUT,T2400,[254,192,"DORT HANE OLMALI"]
  GOSUB GECIKME2
GOTO BASLA
       
'------------------------GECIKME ALT PROGRAMLARI----------------
GECIKME1:
    PAUSE 500
 RETURN
GECIKME2:
    PAUSE 1000
 RETURN  
'--------------------------------------------------------------        
                           END'----PROGRAM SONU--------          
'PROGRAMI HAZIRLAYAN YUSUF YİĞİT            

şema:
Bilgi paylaştıkça artar..

picman

şemayı nasıl göndericez arkadaşlar ?
Bilgi paylaştıkça artar..

XNHCX