Elektronik Projeler ve Tasarımlar
  Şifreli Kilit
 




Programın Adı : 3x4 Taramalı Keypad ile sabit şifreli, şifreli kilit programı ve LCD'den takip 

Not : Şifre=3546 (Aynı rakamları peş peşe kullanma) 

DEFINE LCD_DREG PORTD
DEFINE LCD_DBIT 4
DEFINE LCD_RSREG PORTD
DEFINE LCD_RSBIT 2
DEFINE LCD_EREG PORTD
DEFINE LCD_EBIT 3
DEFINE LCD_BITS 4
DEFINE LCD_LINES 2
SAYI VAR BYTE
SAYIAL VAR BYTE
SAYISAY VAR BYTE
TRISB = $F0 : TRISC=$00
PORTB = $00
SIFRE1 CON 3 :SIFRE2 CON 5
SIFRE3 CON 4 :SIFRE4 CON 6 

ANA_PROGRAM:
   SAYISAY=0 
TEKRAR:
   SAYI = 0 : PORTC=$00
   LCDOUT $FE,1," SIFREYI GIRIN"
   GOSUB GECIKME :GOSUB BUTONTARA
   IF SAYI=0 THEN GOTO TEKRAR
   SAYIAL=SAYI
   IF SIFRE1=SAYIAL THEN
      LCDOUT $FE,$C0, DEC SAYIAL
      GOSUB GECIKME:PORTC=$01
   ELSE
      GOTO HATA
   ENDIF
TEKRAR1: 
   GOSUB BUTONTARA 
   IF SAYIAL=SAYI THEN GOTO TEKRAR1   
       SAYIAL=SAYI
   IF SIFRE2=SAYIAL THEN
LCDOUT DEC SAYIAL
      GOSUB GECIKME:PORTC=$03
   ELSE
      GOTO HATA
   ENDIF
TEKRAR2: 
   GOSUB BUTONTARA
   IF SAYIAL=SAYI THEN GOTO TEKRAR2
       SAYIAL=SAYI
   IF SIFRE3=SAYIAL THEN
       LCDOUT DEC SAYIAL
       GOSUB GECIKME:PORTC=$07
   ELSE
      GOTO HATA
   ENDIF
TEKRAR3:
   GOSUB BUTONTARA
   IF SAYIAL=SAYI THEN GOTO TEKRAR3   
   SAYIAL=SAYI
   IF SIFRE4=SAYIAL THEN
      LCDOUT DEC SAYIAL," KAPI ACILDI" : GOSUB GECIKME
      PORTC=$0F : GOSUB GECIKME
      PORTC=$00 : GOSUB GECIKME
      PORTC=$1F : PAUSE 3000
      GOTO ANA_PROGRAM 
   ELSE
      GOTO HATA
   ENDIF
GOTO ANA_PROGRAM
END 

HATA :
   SAYISAY=SAYISAY+1
   LCDOUT $FE,1,"HATALI SIFRE",DEC SAYISAY
   PORTC=$0F : GOSUB GECIKME 
   PORTC=$00 : GOSUB GECIKME
   IF SAYISAY=3 THEN 
HATA_ICI_DON:
   LCDOUT $FE,1,"HATA KILIDI"
   PORTC=$0F AUSE 5000
   GOSUB BUTONTARA
   IF SAYI=12 THEN
      GOTO TEKRAR
   ELSE
      GOTO HATA_ICI_DON
   ENDIF
   ENDIF
   GOTO TEKRAR 

BUTONTARA :
   PORTB = $01
   IF PORTB.4 = 1 THEN SAYI = 1
   IF PORTB.5 = 1 THEN SAYI = 4
   IF PORTB.6 = 1 THEN SAYI = 7
   IF PORTB.7 = 1 THEN SAYI = 10
   PORTB = $02
   IF PORTB.4 = 1 THEN SAYI = 2
   IF PORTB.5 = 1 THEN SAYI = 5
   IF PORTB.6 = 1 THEN SAYI = 8
   IF PORTB.7 = 1 THEN SAYI = 11
   PORTB = $04
   IF PORTB.4 = 1 THEN SAYI = 3
   IF PORTB.5 = 1 THEN SAYI = 6
   IF PORTB.6 = 1 THEN SAYI = 9
   IF PORTB.7 = 1 THEN SAYI = 12
   RETURN 

GECIKME :
   PAUSE 200
   RETURN
 
 
  Bugün 5 ziyaretçi (5 klik) kişi burdaydı!  
 
Bu web sitesi ücretsiz olarak Bedava-Sitem.com ile oluşturulmuştur. Siz de kendi web sitenizi kurmak ister misiniz?
Ücretsiz kaydol