pıc şifre unutma

Başlatan sky76, 20 Mayıs 2005, 03:24:49

sky76

SAYGIDEĞER ARKADAŞLAR KULLANDIĞIM YAZILIMDA BİR DEFA YANLIŞ ŞİFRE GİRİLDİĞİNDE ÇEKİK
RÖLE BIRAKIYOR.BENİM YAPMAK İSTEDİĞİM ÜÇ DEFA YANLIŞ ŞİFRE GİRİLDİĞİNDE ÇEKİK RÖLE
BIRAKSIN VE DEVRE İŞLEMLERE 20 DAKİKA YANIT VERMESİN VE ŞİFRE UNUTULDUĞUNDA, BİR
RESET TUŞU İLE İLK ŞİFREYE (2005)DÖNÜLSÜN.ŞİFRE EEPROM'A YAZILIYOR.BU ŞEKİLDE BİR YAZILIMI NASIL YAPABİLİRİM
ASM VE HEX KODLARINI AŞAĞIDA GÖNDERİYORUM
DEĞİŞİKLİK NASIL YAPILMALI.YARDIM EDERSENİZ SEVİNİRİM.SAYGILARIMLA.  
sky76@mynet.com

ASM FORMATI :
    processor 16F84A
   #include <P16F84A.INC>
   __config _CP_OFF & _PWRTE_ON & _WDT_ON & _XT_OSC ; 0x3FF5

;   EEPROM-Data
   Org 0x2100
   DE 0x02, 0x0A, 0x0A, 0x05, 0x0A

; RAM-Variable
LRAM_0x0C equ 0x0C
LRAM_0x0D equ 0x0D
LRAM_0x0E equ 0x0E
LRAM_0x0F equ 0x0F
LRAM_0x24 equ 0x24
LRAM_0x25 equ 0x25
LRAM_0x26 equ 0x26
LRAM_0x27 equ 0x27
LRAM_0x28 equ 0x28
LRAM_0x29 equ 0x29
LRAM_0x2A equ 0x2A
LRAM_0x2B equ 0x2B
LRAM_0x2C equ 0x2C
LRAM_0x2D equ 0x2D
LRAM_0x2E equ 0x2E
LRAM_0x2F equ 0x2F
LRAM_0x30 equ 0x30
LRAM_0x31 equ 0x31
LRAM_0x32 equ 0x32
LRAM_0x33 equ 0x33
LRAM_0x34 equ 0x34
LRAM_0x35 equ 0x35
LRAM_0x36 equ 0x36

; Program

   Org 0x0000

;   Reset-Vector
   GOTO LADR_0x003A
LADR_0x0001
   MOVWF EEADR          ; !!Bank!! EEADR - EECON2
   BSF STATUS,RP0       ; !!Bank Register-Bank(0/1)-Select
   BSF EEDATA,0         ; !!Bank!! EEDATA - EECON1
;   Interrupt-Vector
   BCF STATUS,RP0       ; !!Bank Register-Bank(0/1)-Select
   MOVF EEDATA,W        ; !!Bank!! EEDATA - EECON1
   GOTO LADR_0x0035
LADR_0x0007
   MOVWF EEDATA         ; !!Bank!! EEDATA - EECON1
   BSF STATUS,RP0       ; !!Bank Register-Bank(0/1)-Select
   BSF EEDATA,2         ; !!Bank!! EEDATA - EECON1
   MOVLW 0x55
   MOVWF EEADR          ; !!Bank!! EEADR - EECON2
   MOVLW 0xAA
   MOVWF EEADR          ; !!Bank!! EEADR - EECON2
   BSF EEDATA,1         ; !!Bank!! EEDATA - EECON1
LADR_0x000F
   BTFSC EEDATA,1       ; !!Bank!! EEDATA - EECON1
   GOTO LADR_0x000F
   BCF EEDATA,2         ; !!Bank!! EEDATA - EECON1
   GOTO LADR_0x0035
LADR_0x0013
   CLRF LRAM_0x0F
LADR_0x0014
   MOVWF LRAM_0x0E
LADR_0x0015
   MOVLW 0xFF
   ADDWF LRAM_0x0E,F
   BTFSS STATUS,C
   ADDWF LRAM_0x0F,F
   BTFSS STATUS,C
   GOTO LADR_0x0035
   MOVLW 0x03
   MOVWF LRAM_0x0D
   MOVLW 0xDF
   CALL LADR_0x0021
   GOTO LADR_0x0015
   CLRF LRAM_0x0D
LADR_0x0021
   ADDLW 0xE8
   MOVWF LRAM_0x0C
   COMF LRAM_0x0D,F
   MOVLW 0xFC
   BTFSS STATUS,C
   GOTO LADR_0x002A
LADR_0x0027
   ADDWF LRAM_0x0C,F
   BTFSC STATUS,C
   GOTO LADR_0x0027
LADR_0x002A
   ADDWF LRAM_0x0C,F
   CLRWDT
   INCFSZ LRAM_0x0D,F
   GOTO LADR_0x0027
   BTFSC LRAM_0x0C,0
   GOTO LADR_0x0030
LADR_0x0030
   BTFSS LRAM_0x0C,1
   GOTO LADR_0x0034
   NOP
   GOTO LADR_0x0034
LADR_0x0034
   RETURN
LADR_0x0035
   BCF STATUS,IRP
   BCF STATUS,RP1       ; !!Bank Register-Bank(2/3)-Select
   BCF STATUS,RP0       ; !!Bank Register-Bank(0/1)-Select
   CLRWDT
   RETURN
LADR_0x003A
   BSF STATUS,RP0       ; !!Bank Register-Bank(0/1)-Select
   MOVLW 0xC0
   MOVWF PORTB          ; !!Bank!! PORTB - TRISB
   MOVLW 0x1F
   MOVWF PORTA          ; !!Bank!! PORTA - TRISA
   BCF STATUS,RP0       ; !!Bank Register-Bank(0/1)-Select
   BCF PORTB,1          ; !!Bank!! PORTB - TRISB
   BSF STATUS,RP0       ; !!Bank Register-Bank(0/1)-Select
   BCF PORTB,1          ; !!Bank!! PORTB - TRISB
   BCF STATUS,RP0       ; !!Bank Register-Bank(0/1)-Select
   BCF PORTB,2          ; !!Bank!! PORTB - TRISB
   BSF STATUS,RP0       ; !!Bank Register-Bank(0/1)-Select
   BCF PORTB,2          ; !!Bank!! PORTB - TRISB
   BCF STATUS,RP0       ; !!Bank Register-Bank(0/1)-Select
   BCF PORTB,3          ; !!Bank!! PORTB - TRISB
   BSF STATUS,RP0       ; !!Bank Register-Bank(0/1)-Select
   BCF PORTB,3          ; !!Bank!! PORTB - TRISB
   BCF STATUS,RP0       ; !!Bank Register-Bank(0/1)-Select
LADR_0x004C
   BCF PORTB,0          ; !!Bank!! PORTB - TRISB
   BSF STATUS,RP0       ; !!Bank Register-Bank(0/1)-Select
   BCF PORTB,0          ; !!Bank!! PORTB - TRISB
   MOVLW 0xC4
   BCF STATUS,RP0       ; !!Bank Register-Bank(0/1)-Select
   CALL LADR_0x0013
   MOVLW 0x02
   MOVWF LRAM_0x0D
   MOVLW 0x60
   CALL LADR_0x0021
   CLRF LRAM_0x32
   CLRF LRAM_0x28
   CLRF LRAM_0x25
   CLRF LRAM_0x24
   BCF LRAM_0x2D,0
   CLRF LRAM_0x33
   CLRF LRAM_0x34
   CLRF LRAM_0x35
LADR_0x005E
   CALL LADR_0x0181
   CLRWDT
   BTFSC PORTB,7        ; !!Bank!! PORTB - TRISB
   GOTO LADR_0x005E
   INCF LRAM_0x32,F
   MOVLW 0x09
   MOVWF LRAM_0x0F
   MOVLW 0x37
   CALL LADR_0x0014
   MOVLW 0x01
   MOVWF LRAM_0x0D
   MOVLW 0x28
   CALL LADR_0x0021
   MOVF LRAM_0x32,W
   MOVWF LRAM_0x36
   MOVF LRAM_0x36,W
   SUBLW 0x08
   MOVWF LRAM_0x36
   CLRWDT
   MOVF LRAM_0x36,W
   SUBLW 0x00
   BTFSS STATUS,Z
   GOTO LADR_0x005E
   CLRF LRAM_0x33
   CLRF LRAM_0x34
   CLRF LRAM_0x35
   BSF PORTB,0          ; !!Bank!! PORTB - TRISB
   BSF STATUS,RP0       ; !!Bank Register-Bank(0/1)-Select
   BCF PORTB,0          ; !!Bank!! PORTB - TRISB
   BCF STATUS,RP0       ; !!Bank Register-Bank(0/1)-Select
LADR_0x007C
   CALL LADR_0x0181
   CLRWDT
   BTFSS PORTA,0        ; !!Bank!! PORTA - TRISA
   GOTO LADR_0x007C
   MOVLW 0xC4
   CALL LADR_0x0013
   MOVLW 0x02
   MOVWF LRAM_0x0D
   MOVLW 0x60
   CALL LADR_0x0021
LADR_0x0086
   CLRWDT
   BTFSC PORTA,0        ; !!Bank!! PORTA - TRISA
   GOTO LADR_0x0086
   CALL LADR_0x01A5
   CLRF LRAM_0x33
   CLRF LRAM_0x34
   CLRF LRAM_0x35
   MOVF LRAM_0x28,W
   MOVWF LRAM_0x36
   MOVF LRAM_0x36,W
   SUBLW 0x0C
   MOVWF LRAM_0x36
   CLRWDT
   MOVF LRAM_0x36,W
   SUBLW 0x00
   BTFSS STATUS,Z
   GOTO LADR_0x009A
   CLRF LRAM_0x28
   BSF LRAM_0x2D,0
   GOTO LADR_0x007C
LADR_0x009A
   CALL LADR_0x01B9
   MOVF LRAM_0x27,W
   MOVWF LRAM_0x36
   MOVF LRAM_0x36,W
   SUBLW 0x01
   MOVWF LRAM_0x36
   CLRWDT
   MOVF LRAM_0x36,W
   SUBLW 0x00
   BTFSS STATUS,Z
   GOTO LADR_0x007C
   MOVF LRAM_0x24,W
   MOVWF LRAM_0x36
   MOVF LRAM_0x36,W
   SUBLW 0x04
   MOVWF LRAM_0x36
   CLRWDT
   MOVF LRAM_0x36,W
   SUBLW 0x00
   BTFSS STATUS,Z
   GOTO LADR_0x013A
   CLRF EEADR           ; !!Bank!! EEADR - EECON2
   MOVF LRAM_0x29,W
   CALL LADR_0x0007
   MOVLW 0x01
   MOVWF EEADR          ; !!Bank!! EEADR - EECON2
   MOVF LRAM_0x2A,W
   CALL LADR_0x0007
   MOVLW 0x02
   MOVWF EEADR          ; !!Bank!! EEADR - EECON2
   MOVF LRAM_0x2B,W
   CALL LADR_0x0007
   MOVLW 0x03
   MOVWF EEADR          ; !!Bank!! EEADR - EECON2
   MOVF LRAM_0x2C,W
   CALL LADR_0x0007
   CLRF LRAM_0x27
   BCF LRAM_0x2D,0
LADR_0x00C0
   CLRF LRAM_0x28
LADR_0x00C1
   CALL LADR_0x0181
   CLRWDT
   BTFSS PORTA,0        ; !!Bank!! PORTA - TRISA
   GOTO LADR_0x00C1
   MOVLW 0xC4
   CALL LADR_0x0013
   MOVLW 0x02
   MOVWF LRAM_0x0D
   MOVLW 0x60
   CALL LADR_0x0021
LADR_0x00CB
   CLRWDT
   BTFSC PORTA,0        ; !!Bank!! PORTA - TRISA
   GOTO LADR_0x00CB
   CLRF LRAM_0x33
   CLRF LRAM_0x34
   CLRF LRAM_0x35
   MOVLW 0x04
   CALL LADR_0x0001
   MOVWF LRAM_0x26
   DECF LRAM_0x26,F
   CLRWDT
   MOVF LRAM_0x26,W
   SUBLW 0x00
   BTFSC STATUS,Z
   GOTO LADR_0x004C
   CALL LADR_0x01A5
   MOVF LRAM_0x28,W
   MOVWF LRAM_0x36
   MOVF LRAM_0x36,W
   SUBLW 0x01
   MOVWF LRAM_0x36
   CLRWDT
   MOVF LRAM_0x36,W
   SUBLW 0x00
   BTFSS STATUS,Z
   GOTO LADR_0x00E9
   BSF PORTB,1          ; !!Bank!! PORTB - TRISB
   BSF STATUS,RP0       ; !!Bank Register-Bank(0/1)-Select
   BCF PORTB,1          ; !!Bank!! PORTB - TRISB
   BCF STATUS,RP0       ; !!Bank Register-Bank(0/1)-Select
LADR_0x00E9
   MOVF LRAM_0x28,W
   MOVWF LRAM_0x36
   MOVF LRAM_0x36,W
   SUBLW 0x02
   MOVWF LRAM_0x36
   CLRWDT
   MOVF LRAM_0x36,W
   SUBLW 0x00
   BTFSS STATUS,Z
   GOTO LADR_0x00F7
   BCF PORTB,1          ; !!Bank!! PORTB - TRISB
   BSF STATUS,RP0       ; !!Bank Register-Bank(0/1)-Select
   BCF PORTB,1          ; !!Bank!! PORTB - TRISB
   BCF STATUS,RP0       ; !!Bank Register-Bank(0/1)-Select
LADR_0x00F7
   MOVF LRAM_0x28,W
   MOVWF LRAM_0x36
   MOVF LRAM_0x36,W
   SUBLW 0x04
   MOVWF LRAM_0x36
   CLRWDT
   MOVF LRAM_0x36,W
   SUBLW 0x00
   BTFSS STATUS,Z
   GOTO LADR_0x0105
   BSF PORTB,2          ; !!Bank!! PORTB - TRISB
   BSF STATUS,RP0       ; !!Bank Register-Bank(0/1)-Select
   BCF PORTB,2          ; !!Bank!! PORTB - TRISB
   BCF STATUS,RP0       ; !!Bank Register-Bank(0/1)-Select
LADR_0x0105
   MOVF LRAM_0x28,W
   MOVWF LRAM_0x36
   MOVF LRAM_0x36,W
   SUBLW 0x05
   MOVWF LRAM_0x36
   CLRWDT
   MOVF LRAM_0x36,W
   SUBLW 0x00
   BTFSS STATUS,Z
   GOTO LADR_0x0113
   BCF PORTB,2          ; !!Bank!! PORTB - TRISB
   BSF STATUS,RP0       ; !!Bank Register-Bank(0/1)-Select
   BCF PORTB,2          ; !!Bank!! PORTB - TRISB
   BCF STATUS,RP0       ; !!Bank Register-Bank(0/1)-Select
LADR_0x0113
   MOVF LRAM_0x28,W
   MOVWF LRAM_0x36
   MOVF LRAM_0x36,W
   SUBLW 0x07
   MOVWF LRAM_0x36
   CLRWDT
   MOVF LRAM_0x36,W
   SUBLW 0x00
   BTFSS STATUS,Z
   GOTO LADR_0x0121
   BSF PORTB,3          ; !!Bank!! PORTB - TRISB
   BSF STATUS,RP0       ; !!Bank Register-Bank(0/1)-Select
   BCF PORTB,3          ; !!Bank!! PORTB - TRISB
   BCF STATUS,RP0       ; !!Bank Register-Bank(0/1)-Select
LADR_0x0121
   MOVF LRAM_0x28,W
   MOVWF LRAM_0x36
   MOVF LRAM_0x36,W
   SUBLW 0x08
   MOVWF LRAM_0x36
   CLRWDT
   MOVF LRAM_0x36,W
   SUBLW 0x00
   BTFSS STATUS,Z
   GOTO LADR_0x012F
   BCF PORTB,3          ; !!Bank!! PORTB - TRISB
   BSF STATUS,RP0       ; !!Bank Register-Bank(0/1)-Select
   BCF PORTB,3          ; !!Bank!! PORTB - TRISB
   BCF STATUS,RP0       ; !!Bank Register-Bank(0/1)-Select
LADR_0x012F
   MOVF LRAM_0x28,W
   MOVWF LRAM_0x36
   MOVF LRAM_0x36,W
   SUBLW 0x0B
   MOVWF LRAM_0x36
   CLRWDT
   MOVF LRAM_0x36,W
   SUBLW 0x00
   BTFSC STATUS,Z
   GOTO LADR_0x004C
   GOTO LADR_0x00C0
LADR_0x013A
   MOVLW 0x00
   CALL LADR_0x0001
   MOVWF LRAM_0x2E
   MOVLW 0x01
   CALL LADR_0x0001
   MOVWF LRAM_0x2F
   MOVLW 0x02
   CALL LADR_0x0001
   MOVWF LRAM_0x30
   MOVLW 0x03
   CALL LADR_0x0001
   MOVWF LRAM_0x31
   MOVF LRAM_0x29,W
   MOVWF LRAM_0x36
   MOVF LRAM_0x36,W
   SUBWF LRAM_0x2E,W
   MOVWF LRAM_0x36
   CLRWDT
   MOVF LRAM_0x36,W
   SUBLW 0x00
   BTFSS STATUS,Z
   GOTO LADR_0x004C
   MOVF LRAM_0x2A,W
   MOVWF LRAM_0x36
   MOVF LRAM_0x36,W
   SUBWF LRAM_0x2F,W
   MOVWF LRAM_0x36
   CLRWDT
   MOVF LRAM_0x36,W
   SUBLW 0x00
   BTFSS STATUS,Z
   GOTO LADR_0x004C
   MOVF LRAM_0x2B,W
   MOVWF LRAM_0x36
   MOVF LRAM_0x36,W
   SUBWF LRAM_0x30,W
   MOVWF LRAM_0x36
   CLRWDT
   MOVF LRAM_0x36,W
   SUBLW 0x00
   BTFSS STATUS,Z
   GOTO LADR_0x004C
   MOVF LRAM_0x2C,W
   MOVWF LRAM_0x36
   MOVF LRAM_0x36,W
   SUBWF LRAM_0x31,W
   MOVWF LRAM_0x36
   CLRWDT
   MOVF LRAM_0x36,W
   SUBLW 0x00
   BTFSS STATUS,Z
   GOTO LADR_0x004C
   CLRF LRAM_0x27
   CLRF LRAM_0x28
   MOVLW 0x04
   MOVWF LRAM_0x24
   MOVLW 0x00
   BTFSC LRAM_0x2D,0
   MOVLW 0x01
   MOVWF LRAM_0x36
   MOVF LRAM_0x36,W
   SUBLW 0x01
   MOVWF LRAM_0x36
   CLRWDT
   MOVF LRAM_0x36,W
   SUBLW 0x00
   BTFSC STATUS,Z
   GOTO LADR_0x007C
   GOTO LADR_0x00C0
LADR_0x017F
   SLEEP
   GOTO LADR_0x017F
LADR_0x0181
   INCF LRAM_0x33,F
   MOVF LRAM_0x33,W
   MOVWF LRAM_0x36
   MOVF LRAM_0x36,W
   SUBLW 0xFF
   MOVWF LRAM_0x36
   CLRWDT
   MOVF LRAM_0x36,W
   SUBLW 0x00
   BTFSC STATUS,Z
   GOTO LADR_0x018D
   RETURN
LADR_0x018D
   INCF LRAM_0x34,F
   MOVF LRAM_0x34,W
   MOVWF LRAM_0x36
   MOVF LRAM_0x36,W
   SUBLW 0xFF
   MOVWF LRAM_0x36
   CLRWDT
   MOVF LRAM_0x36,W
   SUBLW 0x00
   BTFSC STATUS,Z
   GOTO LADR_0x0199
   RETURN
LADR_0x0199
   INCF LRAM_0x35,F
   MOVF LRAM_0x35,W
   MOVWF LRAM_0x36
   MOVF LRAM_0x36,W
   SUBLW 0x12
   MOVWF LRAM_0x36
   CLRWDT
   MOVF LRAM_0x36,W
   SUBLW 0x00
   BTFSC STATUS,Z
   GOTO LADR_0x004C
   RETURN
LADR_0x01A5
   CLRWDT
   BTFSS PORTA,1        ; !!Bank!! PORTA - TRISA
   GOTO LADR_0x01AA
   MOVLW 0x08
   ADDWF LRAM_0x28,F
LADR_0x01AA
   CLRWDT
   BTFSS PORTA,2        ; !!Bank!! PORTA - TRISA
   GOTO LADR_0x01AF
   MOVLW 0x04
   ADDWF LRAM_0x28,F
LADR_0x01AF
   CLRWDT
   BTFSS PORTA,3        ; !!Bank!! PORTA - TRISA
   GOTO LADR_0x01B4
   MOVLW 0x02
   ADDWF LRAM_0x28,F
LADR_0x01B4
   CLRWDT
   BTFSS PORTA,4        ; !!Bank!! PORTA - TRISA
   GOTO LADR_0x01B8
   INCF LRAM_0x28,F
LADR_0x01B8
   RETURN
LADR_0x01B9
   INCF LRAM_0x25,F
   MOVF LRAM_0x25,W
   MOVWF LRAM_0x36
   MOVF LRAM_0x36,W
   SUBLW 0x01
   MOVWF LRAM_0x36
   CLRWDT
   MOVF LRAM_0x36,W
   SUBLW 0x00
   BTFSS STATUS,Z
   GOTO LADR_0x01C8
   MOVF LRAM_0x28,W
   MOVWF LRAM_0x29
   CLRF LRAM_0x28
   RETURN
LADR_0x01C8
   MOVF LRAM_0x25,W
   MOVWF LRAM_0x36
   MOVF LRAM_0x36,W
   SUBLW 0x02
   MOVWF LRAM_0x36
   CLRWDT
   MOVF LRAM_0x36,W
   SUBLW 0x00
   BTFSS STATUS,Z
   GOTO LADR_0x01D6
   MOVF LRAM_0x28,W
   MOVWF LRAM_0x2A
   CLRF LRAM_0x28
   RETURN
LADR_0x01D6
   MOVF LRAM_0x25,W
   MOVWF LRAM_0x36
   MOVF LRAM_0x36,W
   SUBLW 0x03
   MOVWF LRAM_0x36
   CLRWDT
   MOVF LRAM_0x36,W
   SUBLW 0x00
   BTFSS STATUS,Z
   GOTO LADR_0x01E4
   MOVF LRAM_0x28,W
   MOVWF LRAM_0x2B
   CLRF LRAM_0x28
   RETURN
LADR_0x01E4
   MOVLW 0x01
   MOVWF LRAM_0x27
   MOVF LRAM_0x28,W
   MOVWF LRAM_0x2C
   CLRF LRAM_0x28
   CLRF LRAM_0x25
   RETURN

   End

microcozmoz

Öncelikler merhaba,


Programında bir değişken yarat. Bu değişkeni her şifre yanlış girildiğinde 1 arttır daha sonra belirlediğin bir sayıya ulaşıp ulaşmadığını kontrol et...

Mantık olarak budur...
"Bütün bu şerâitten daha elîm ve daha vahim olmak üzere, memleketin dahilinde, iktidara sahip olanlar gaflet ve dalâlet ve hattâ hıyanet içinde bulunabilirler."

00050319

keypad kullanıyorsan bence şifreyi resetlmek icin bir tus kombinasyonu kullan(#123# gibi)bu kombinasyon girildiginde epromdaki yazılı olan reset şifresini cagirttir, fsan hocamin boyle bir uyg. vardi sanirim, o kodu gelistirebilirsin ,pbp ile yaziyordu... ;)
Ahmak odur ki arzu ve isteklerinin peşinden koşar, Allah'tan da bekler.(Hadis-i Şerif)

HEXF2

Ben kendi yaptığım bir uygulamada böyle bir yöntem kullandım programın ilk başında eeprom bellekten okuma yapıp bunu boşluk kodu FF ile xorlw işlemine sokuyordum eğer bellekte FF varsa sistem şifresi olan "1234" ü otomatik yüklüyordum şifreler 4 haneli ama eğer bellekte şifre varsa hafızadaki şifreyi kullanıyordum basit birşey de sen niye heryerde topic açıyorsun be arkadışım sırf bu sitede değil adını vermiyeyim bir sürü sitede bunu yapmışsın ve haryere de aynı mesajı yazmışsın copy paste yani kalabalık yapma