Elektrotekno.com Ana Sayfa || Programlanabilir Cihaz ve Elemanlar || Microchip Pic Serisi


Açıklama:
Elektrik, Elektronik, Haberleşme ve Otomasyon konularının ağırlıklı olarak konuşulduğu, tartışıldığı ve bilgi paylaşımı yapıldığı forumumuza hoşgeldiniz.
Şu an Kod Paylaşım ve Soru Cevap Alanı kategorisi içerisindeki Microchip Pic Serisi forumunda bulunuyorsunuz.
Bu sayfada üyelerimizin "Pic basic şifreli kilit yardım!!!" konusundaki problem, görüş ve önerileri okuyabilir ayrıca konu hakkındaki doküman, resim, proje, devre ve programlara ücretsiz olarak ulaşabilirsiniz. Üye olduktan sonra sizler de konu hakkında sorular sorabilir ya da yorum ve paylaşım yaparak birikimlerinizi aktarabilirsiniz.
Forumdan tam olarak yararlanabilmek için üye olmayı unutmayınız!

Pic basic şifreli kilit yardım!!!

Kayıt: 08 May 2006
Mesajlar: 9

Offline
sinoo
Tarih: 27 03 2008 23:10

arkadaşlar bitirme projemde bir sifreleme olayı yapmam lazım.. yani program ilk açıldığında bir şifre oluşturulacak ve program her çalıştırıldığında bu şifre girilmeden program başlamayacak.. EEPROM'uda kullandım fakat elektrik kesilince veya resetlenince şifre sıfırlanıyor bunu nasıl çözerim Pic Basicte nasıl yapacağım konusunda fikirlerinizi ve yardımlarınızı bekliyorum..!!
Kayıt: 22 Nis 2006
Mesajlar: 353

Offline
ete
Tarih: 28 03 2008 10:22

Önce işe eeproma nasıl kayıt yapılır ondan başlayalım.

Basic de eeproma kayıt "Write konum,bilgi" formatı ile yapılır ve her kayıttan sonra 10 ms lik bir gecikme koyulur.
Aynı kaydı okumak için ise "Read Konum,Bilgi" formatı kullanılır. Kayıt edilen ve okunan bilgi daima 8 bitlik (1 byte) olmalıdır.
Örnek vermek gerekirse eepromun 10 nolu adresine Sifre isimli değikenin değerini kayıt edelim,
Write 10,Sifre:pause 10
şeklinde bir komut yeterli olacaktır.
Aynı sifreyi okumak için ise;
Read 10,Sifre demek yeterli olacaktır.

Gelelim Sifre oluşturmaya, Hazırladığın sistemde bir tuş takımı olacak mutlaka.
Word tipi değişken kullanırsan en fazla 65535 rakamına kadar bir şifre oluşturabilirsin.
Girilen ilk rakam aslında girilecek olan şifrenin binler hanesini oluşturmaktadır. Bu nedenle;
Sifre=Rakam*1000 formulünü ilk rakam girişinden sonra kullanman gerek.
İkinci rakam ise yüzler hanesini oluşturacağı için rakam girildikten sonra;
Sifre=Sifre+Rakam*100 formülü kullanılmalı.
Üçüncü rakam şifrenin onlar hanesini oluşturacaktır. Bu nedenle Sifre=Sifre+Rakam*10 formülü kullanılarak rakam alınmalı,
ve en sondaki rakam ise birler hanesini oluşturacağı için Sifre=Sifre+Rakam şekilnde şifre girişi sonlandırılmalıdır.
Burada dikkat edilecek husus girilen değerin hiç bir zaman 65535 değerini aşmamasıdır. Aşan değerlerde ;
Sifre=65535-Sifre formülü otomatikman uygulanır ve böylece ortaya yanlış bir değer çıkar.

Diğer bir yöntem ise desimal sayı sistemi basamaklarını kullanmak olabilir. Diyelimki şifremiz 1234 olsun.
İlk girilen sayı 1 rakamı olacaktır. Girilen sayıları "Rakam" değişkeninde şifremizide Sifre değişkenine toplayalım.
1 rakamı girildikten sonra Rakam=1 oldu. O halde Sifre=Sifre*10+Rakam formülünü kullanırsak,
Sifre değeri ilkdefa sıfırdır o halde 0 x 10=0 olacaktır. Buna rakamı eklersek Sifre=1 olacaktır.
İkinci girilen rakam 2 olacak ve bu durumda Sifre=1*10+2=12 şeklinde hesaplanacaktır.
Üçüncü girilen değer 3 olacak ve Bu durumda Sİfremiz , Sİfre=12*10+3=123 olacaktır.
Dördüncü girilen değer 4 olacak ve Sifemiz ise Sifre=123*10+4=1234 şeklinde hesaplanmış olacaktır. Hem ekran gösterimi hemde her konumda aynı sifre formülünün kullanılması açısından bu hesap şekli daha anlaşılır sanırım. Sen hangisini istersen onu uygularsın.

Gördüğün gibi şifremiz word cinsinden 16 bitlik bir rakam değeri. Bunu eeproma yazarken 8 er bitlik iki parça halinde yazmamız gerekecek. Bu işi aşağıdaki şekilde yapacağız.
Write 10,Sifre.Byte0:pause 10
Write 11,Sifre.Byte1:pause 10

Bu kadar açıklama ile bişi başarırsın artık sanırım.
Son birşey ekleyeyim. Pic programlanırken Eeprom daki ilgili adrese standart sifreni (Default) yazman gerekir. Bunun için;
Data @10,123,124 şeklinde bilgileri yazman gerekir.
Ancak bu yöntemle her pici çalıştırdığında iligi datalar sürekli aynı adrese yazılacaktır. Bu işi aslında 1 kere yapmak gerekir bu nedenle başka bir yöntem kullanmak daha akıllıca olur. Bu yöntemde ilk defa programlanan bir pic de eepromdaki bilgilerin tamamı $FF şeklindedir. İşte bu bilgiden yararlanarak bir kerelik default sifre kaydı şöyle yapılır;
Read 10,sifre.byte0
Read 11,sifre.byte1
if Sifre=65535 then
sifre=$1234
write 10,sifre.byte0:pause 10
write 11,sifre.byte1:pause 10
endif
Kısaca açıklaması şöyle, şayet okunan şifre.byte0=$FF ve Şifre.Byte1=$FF ise yeni sifre=$1234 yapılıyor ve bu değer eepromun ilgili adresine yeni şifre olarak kayıt ediliyor. Sonraki okumalarda artık $FFFF değeri hiç görülmeyeceği için bu işlem yalnızca 1 kere yapılmış olacaktır.

Kolay Gelsin
Ete
Başa dön
Kayıt: 08 May 2006
Mesajlar: 9

Offline
sinoo
Tarih: 28 03 2008 16:43

if (sayi dig 3)>0 then
sayi=0
goto atla
endif
if (Sayi dig 3)<1 then
Sayi=sayi*10+tus
endif
atla:
if sayi=0 then goto sil
LCDOUT $Fe,2,"sifre=",#sayi," "


tuş takımını tarama okuma sayi oluşturma işini yaptım zaten sayi 4haneli olacak şekilde yukardaki gibi oluşturdum sorunsuz çalışıyor verdiğin fikiri denedim ete çok sağol abi verdiğin bilgi çok işime yaradı çözdüm olayı çalıştı tekrar teşekkürler.. Wink
Başa dön



Pic basic şifreli kilit yardım!!!


Benzer Konular

- iki ayrı trafo merkezinden gelen iki hat - yardım

- c# ile yazılmış sürücü kursu otomasyon programı -yardım
- 877 programlama hatası yardım
- CADDY Basic Elektrik şema çizim programı
- GLDC ile Şifreli Kilit,sıcaklık ve BMP uygulaması
- 8 Satır Sutun Sayısı Artırılabilir Kayan Yazı(VB+Pic Basic+Ares+İsis)
- pascal açılımındaki katsayıları verecek bir kod - yardım
- Basic NEC with Broadcast Applications
- Ring sinyali ile Röle kontrol - yardım

- ses ile digital saat alarımının kontrolü - yardım

- protesus-İSİS programında gerçek paralel port uygulaması - yardım


Sitemize üyelik ve içeriğin indirilmesi tamamen ücretsizdir. Sitemizde paylaşılan tüm dokümanlar (Tezler, makaleler, ders notları, sınav soru cevaplar, projeler) paylaşımcıların bireysel çalışmaları olup telif hakları kendilerine aittir ya da açık bir şekilde kamusal alana yerleştirilmiş dokümanların birer kopyalarıdır. Kişilerin bireysel çalışmalarını sitemizde yüklemesinde, sitemizde paylaşıma teşvik eden puanlama sisteminin de etkisi büyüktür. Bunlara rağmen hala size ait olan ve burada bulunmasına izin vermediğiniz dokümanlar varsa iletişim bölümünden yöneticilere bildirmeniz durumunda derhal silineceklerdir.
Powered by phpBB | Translated by phpBB Türkiye | Ads by Google Adsense | Design by Crazy Bat based
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71