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

16F628 İle LCD'li Şifreli Kilit Devresi

 

[code]
<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
[/code] 
Devrenin Proteus ISIS, PBP ve HEX dosyaları ektedir.

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


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ış

16F84 İle 0-65535 Sayıcı Devre

Devrede mikrodenetleyici olarak PIC16F84, görüntüleme birimi olarak 5 adet 7 segment display, programlama dili olarak ise PicBAsic Pro kullanıldı

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ış.


Facebookta Paylas