PIC16F628 İle LCD’li Şifreli Kilit Devresi

Facebookta Paylas



Pic16f628 kullanılarak yapılmış şifreli kilit devresi. Devrede 3×4 keypad kullanılmış.

16F628 İle LCD'li Şifreli Kilit Devresi

 

<pre> CMCON=7
 TRISA=$1F
 TRISB=$00
 PORTA=00
 PORTB=00

 ALARM VAR PORTB.0
 KAPI VAR PORTB.1

 SIFRE VAR WORD
 SIFRE1 VAR WORD
 SIFRE2 VAR WORD
 SIFRE3 VAR WORD
 SURE VAR WORD
 KUL VAR BYTE
 ADR VAR BYTE
 FLAGS=0
 DEFINE LCD_DREG PORTB
 DEFINE LCD_DBIT 4
 DEFINE LCD_RSREG PORTB
 DEFINE LCD_RSBIT 2
 DEFINE LCD_EREG PORTB
 DEFINE LCD_EBIT 3
 DEFINE LCD_LINES 2
 DEFINE LCD_COMMANBUS 2000
 DEFINE LCD_DATAUS 50
 PAUSE 100

 ENBAS:
 READ 02,SIFRE.BYTE0
 READ 03,SIFRE.BYTE1
 IF SIFRE=>65000 THEN
    SIFRE=11111
    ADR=02
    DEG:
    WRITE ADR,SIFRE.BYTE0
    ADR=ADR+1
    WRITE ADR,SIFRE.BYTE1
    ADR=ADR+1
    IF ADR=>20 THEN ENBAS1
    GOTO DEG
 ENDIF
 ENBAS1:
 SIFRE=00
 LCDOUT $FE,1,"SIFRE GIRINIZ"
 ENBAS2:
 LCDOUT $FE,$C0,"SIFRE=",#SIFRE," ONAY"
 ENBAS3:
 IF PORTA>00 THEN ENBAS3
 ENBAS4:
 IF PORTA=00 THEN ENBAS4
 IF PORTA=11 THEN BASLA
 IF PORTA=12 THEN SIFRE=00 : GOTO ENBAS2
 IF SIFRE=>6500 THEN SIFRE=00 : GOTO ENBAS2
 SIFRE=SIFRE*10
 IF PORTA=10 THEN ENBAS2
 SIFRE=SIFRE+PORTA
 GOTO ENBAS2

 BASLA:
 LCDOUT $FE,1,"KULLANICI NO:"
 LCDOUT $FE,$C0,"YAZIMIZ"
 BASLA1:
 IF PORTA>00 THEN BASLA1
 BASLA2:
 IF PORTA=00 THEN BASLA2
 KUL=PORTA
 ADR=PORTA*2
 READ ADR,SIFRE1.BYTE0
 ADR=ADR+1
 READ ADR,SIFRE1.BYTE1
 IF SIFRE=SIFRE1 THEN
    LCDOUT $FE,1,"KAPI AC-KAPA=> 1"
    LCDOUT $FE,$C0,"SIFRE DEGIS => 2"
    GOTO KOMUT
 ENDIF
 ALARM=1
 GOTO ENBAS

 KOMUT:
 IF PORTA>00 THEN KOMUT
 KOMUT1:
 IF PORTA=00 THEN KOMUT1
 IF PORTA=01 THEN
    ALARM=0
    TOGGLE KAPI
    GOTO ENBAS
 ENDIF
 IF PORTA=02 THEN SIFRED
 GOTO KOMUT

 SIFRED:
 ALARM=0
 SIFRE=00
 SIFRED1:
 LCDOUT $FE,1,"YENI SIFRE GIR"
 SIFRED2:
 LCDOUT $FE,$C0,"SIFRE=",#SIFRE," ONAY"
 SIFRED3:
 IF PORTA>00 THEN SIFRED3
 SIFRED4:
 IF PORTA=00 THEN SIFRED4
 IF PORTA=11 THEN SIFK
 IF PORTA=12 THEN SIFRE3=00 : GOTO SIFRED2
 IF PORTA=>11 THEN SIFRED3
 IF SIFRE=>6500 THEN SIFRE=00 : GOTO SIFRED2
 SIFRE=SIFRE*10
 IF PORTA=10 THEN SIFRED2
 SIFRE=SIFRE+PORTA
 GOTO SIFRED2

 SIFK:
 ADR=KUL*2
 WRITE ADR,SIFRE.BYTE0
 ADR=ADR+1
 WRITE ADR,SIFRE.BYTE1
 GOTO ENBAS
 

 
Devrenin Proteus ISIS, PBP ve HEX dosyaları ektedir.

Yazıyla İlgili Dosyaları İndirmek İçin Aşağıdaki Dosyaları İndir Butonuna Tıklayın



Facebookta Paylas






Benzer Yazılar

PIC16F877 İle Şifreli LCD’li Kilit Devresi

Pic16f877 kullanılarak yapılmış şifreli kilit devresi

PIC16F628 ile 8×32 Kayan Yazı Uygulaması

PIC16f628 kullanılarak yapılmış kayan yazı uygulaması. 4 adet 8x8 led matrix kullanılarak yapılmış

PIC16F84 İle LCD’li Termometre Devresi

Pic16f84 kullanılarak yapılmış termometre devresi. Sıcaklık 2x16 LCD'de gösteriliyor. Program dili olarak C kullanılmış.

28000 Görüntüleme.

Yazar : hakki0548

PIC16F628 İle LCD’li Şifreli Kilit Devresi Yazısı için Yorum Yapabilirsiniz