PIC16F877 ile LCD Göstergeli Şifreli Kilit

1-Şifreleyici devre PIC 16F877 ile yapılmıştır. Montajı kolay ve maliyeti düşüktür.
2-Bu devrede PIC16F84 ’ün EEPROM hafızasını kullandım.Bundan dolayı yazdığımız şifre PIC16F877 ’nin besleme enerjisi kesildiğinde kaybolmaz.
3- PIC 16F877 i şebekeden gelebilecek parazitlerden korumak için filtre düzeneği son derece gereklidir.Aksi halde EEPROM hafızası bozulur veya PIC resetlenir.
ÖNEMLİ NOT= Devrenin +5v beslemesine anahtar bağlamayın .Çünkü anahtara basılma sırasında kontak sıçraması oluşur.Bu sıçrama PIC16F84’ün EEPROM hafızasını etkiler.
4-Yazdığımız şifreyi defalarca değiştirebilir, 1 ile 10 haneli sayılar yazabiliriz.5-Şifreyi sadece 3defa yanlış girme hakkımız var . 3. defa yanlış girersek devre kilitlenir ve pin 2 kodunun girilmesi gerekir. Pin 2 kodu girildikten sonra şifre tekrar yenilenir .
6-program açık unutulursa otomatik kapanır.
UYARI= PIC 16F877 ‘e en az 8MHZ kristal kullanınız
KULLANMA KILAVUZU
1-Filtre bobini ve kondansatörler mutlaka gereklidir bunların değerleri şunlar:
kutusuz kondansatörler 100n 63v
kutuplu elektrolit kondansatör 220mf 16v veya 470mf 16v
filtre bobini 0,5mm izoleli telden halka biçimindeki Ferit nüveye 10 tur sarılmalı.
2-PIC ‘i ilk defa çalıştırıyorsanız RB7’ye bağlı yeni şifre yaz uyarı ledi Yanar ve LCD ekranda YENI SIFREYI GIR yazısı çıkar Bu sırada kullanacağımız şifreyi yazarız. Yeni Şifreyi yazdıktan sonra # tuşuna basarız. Ekranda SIFRE KAYDEDILDI yazısı çıkar bir süre sonra GIRIS ICIN * BAS yazısı sürekli gözükür.
DİKKAT=PIC ‘e sadece 1 ile 10 haneli bir sayı yazabiliriz
3-Kilidi açmak için önce * tuşuna basarız.Sonra GIR ledi sürekli yanar ve ekrenda SIFREYI GIRINIZ yazısı gözükür .Bu sırada şifremizi gireriz .son olarak # ye basarız .Şifre doğru girilmişse ekranda SIFRE DOGRU yazısı çıkar RB0 ‘a bağlı LED Yanar.Röle enerjilenir.
Şifre yanlışsa RB5 ‘e bağlı LED yanar ve ekranda AAAAA YANLIS yazısı çıkar. 3 defa yanlış şifre girildiyse ekranda SIFRE KILITLENDI PUK KODUNU GIRIN yazısı gözükür
Bu durumda pin 2 kodu girilir .
4-PORTA,5 e bağlı otomatik kapa anahtarına basılı ise kilit bi süre açılır daha sonra kapanır anahtara basılı değilse kilit sürekli açık kalır kilidi kapatmak veya şifreyi yazmaktan vazgeçmek için * tuşuna basarız
5-PIC ,başla işlemi yapıldıktan sonra 2 dakika çalışır otomatik olarak ana programa döner
PIN 2 KODU:
PIN 2 Kodu 45 defa 1 tuşuna sonra # 10 defa 0 tuşuna ve # tuşuna basılıp tamamlanır. Bu kodu yanlış girerseniz
Program açılmaz. Bu kodları sadece asm içinde değişir.
ŞİFRE DEĞİŞTİRME:
Şifre değiştirmek için önce eski şifre girilir ve kilit açılır. Sonra RA4’e bağlı şifre değiştir butonuna basılır.RB7 ‘ye bağlı
LED yanınca buton bırakılır . yeni şifre yazılıp # tuşuna basılır ve LED1 söner.
ŞİFRE UNUTULURSA
Şifre unutulduğu zaman açmanın sadece iki yolu var . Bunlar:
1-PIC 16F84 ‘ü programlama kartına takıp EEPROM veri kısmında şifre görülür ( EEADR 0……9 arası ) EEADR 11 de en son kaç haneli şifre girildiği görülür.
2-Şifre değiş butonu ile 5 tuşuna basılı tutulur. Bir süre sonra LED2 ve LED3 birlikte sürekli yanar .pin 2 kodu girilir.
Daha sonra LED 1 ışık verir ve diğer ledler söner.yeni şifre yazılıp # tuşuna basılır .
NOT=PIN 2 KODUNU ASM DOSYASINDAN DEĞİŞTİREBİLİRSİNİZ ( KILIT ETİKETİNDEN SONRASINI İNCELEYİN )
Yazar: profahmet
Yazarımızın 320volt.com Blog üzerinde şu an okuduğunuz yazı dahil 11 yazısı bulunmaktadır. Yazarımız hakkında bilgileri ve diğer yazılarını görmek için bakınız; profahmet














Gerçekten çok ama çok teşekkür ederim! Şimdi indiriyorum. Çok sağ olun çok teşekkürler … :)
2X20 display kullandım. Devreye enerji verdiğimde 1.satırda 20 tane kare çıkıyor.Bunun nedeni ne olabilir.
Osilatörü HS yapıp Ic-prog ile tekrar pic’i programladım.Fakat sadece 1.satırda 20tane kare çıkıyor. Pic’i yeni aldım. Pic16f877 – 4p. (4p’sinden kaynaklanabilirmi, 20p mi olması gerekiyor).
Tuş takımını yanlış bağlamamdan yada bağlamamamdan kaynaklanabilir mi?
Yardımcı olurmusunuz…
asm dosyasını kendım derlemeye çalıştım keilda başından sonuna kadar
1664 : error A9: SYNTAX ERROR Derleyemiyorum asm yi.
2 lcd denedim çalışmıyor. Ne yapabilirim acaba? yaklaşık 1 aydır kurmaya çalışıyorum olmuyor devrede bir sorun yok değil mi? yapan arkadaslar kendi yaptığı devreyi eksiksiz sorunsuz paylaşabilirler mi? Teşekkür ederim…
@Goktug OZEL devrenizde hata vardır bağlantıları, malzemeleri kontrol edin @profahmet hocamın bizzat denediği çalışan ve bir çok kişinin uyguladığı bir proje
öncelikle yaptığınız devrenin altlı üstlü net resimlerini gönderin kontrol edelim
iyi çalışmalar
Anlıyorum.. O zaman tekrar kontrol etmeliyim. En kısa sürede fotoğraflarını çekip sizinle tekrar iletişime geçeceğim ilginiz için çok teşekkür ederim saygılarımla…
selam.
devreyi kendim defalarca yapıp çalıştırdım ve bunu başka deneyenlerde çalıştırdılar. test videolarını youtube’de bulabilirsin.
senin tam nerede hata yaptığını buradan söylememiz çok zor ancak tahminlerde bulunabiliriz.
1- hex dosyasını doğru yüklediğine emin ol ve config ayarlarını değiştirme.
2- pic16f877 besleme pinlerini bağlamayı unutma.
3- malzemelerin sağlamlık testini mutlaka yap.
4- kurduğun devrede kısadevre veya temassızlık olabilir.
5- malzemelerden birinin bağlantılarını hatalı yapmış olabilirsin.
kolay gelsin.
Regüle devresini yapmayıp 5 v besleme versem yine aynı mantık mıdır.
puk 2 kodunu asm DEN bulamadım ?
Selam öncelikle devrede emeği olan herkese teşekkür ederim. Bu devreyi okulda projemde kullanmayı düşünüyorum. Fakat hocayla görüştüm www.prof……. yazan yere adını yazman gerek dedi. Günlerdir uğraşıyorum yapamadım asm-hex çeviriciler mplab falan derken kafayı yiceğim yardımcı olursanız çok memnun olurum…şimdiden teşekkürler.
Gökhan arkadaşım bahsettiğin sorunu 16f877sklt isimli asm dosyasının içindeki reklam kısmındaki ( MOVLW A’W’ ) www.prof… diye devam eden ‘ ‘ bu işaretler arasında kalan yerleri kendine göre yazman gerekiyor ve yeni dosyanı tekrar düzenlemen lazım. galiba. bu arada bende bu projeyi yapmayı planlıyorum..
@Gökhan
güncellediğim dosyalarda bu yazıyı kaldırmıştım. orjinal link bu
http://profahmet.googlecode.com/files/16f877sklt.zip
kolay gelsin.