![](https://csdnimg.cn/release/download_crawler_static/86569998/bg1.jpg)
Ders – 9
EEPROM VE SENSÖR KULLANIMI
Bu dersimizde Pic ile birlikte dışarıdan bağlı hafıza ünitelerinin kullanılmalarını inceleyeceğiz. Ayrıca pic ile birlikte
kullanabileceğimiz bazı sensörler ’in haberleşme sistemlerini inceleyeceğiz.
Önce Eeprom Kullanımına bir göz atalım.
Normal olarak sıklıkla kullandığımız pic modellerinde flash tipi eeprom bulunmaktadır. Ancak bazen kendi hafızlarının
yetmediği durumlarda pic ile birlikte dışarıdan bağlı hafıza üniteleri kullanılır.
Önce pic’ in kendi eeprom’ u ile nasıl haberleşiyoruz biraz inceleyelim sonra harici eeprom konusuna gireceğiz.
Pic’ in dahili eepromu’ nun kullanımı ile ilgili birkaç komut var öğrenmeniz gereken. Bunların başında ;
DATA @konum, data, data, data ……
Komutu gelmektedir. Data, pic’ in programlanması esnasında hafızasının belirli konumlarına önceden belirli olan
sabit bazı bilgilerin yazılması için kullanılır. Örneğin şifre kullanan bazı programlarda ilk (default ) şifrenin girilmesi bu
yolla yapılır. Komutun ilk parametresi @Konum ilk bilginin yazılacağı eeprom adresine aittir. Şayet bilgiler birbirini
takip eden hafıza adreslerine yazılacak ise her seferinde adres verilmesi gerekmez. Bir kere başta adres verirsiniz
sonra yazılacak bilgileri aralarına virgül koyarak sıralarsınız.
Burada dikkat edilecek husus şudur. Pic’ i her çalıştırdığınızda bu bilgilerin ilgili hafıza birimlerine yeniden yazılacak
olmasıdır. Dolayısıyla şifre girişi gibi işlemlerde şayet şifreyi program içinden değiştirmiş iseniz ve pici yeniden
çalıştırırsanız şifreniz tekrar eskiye dönecektir.
Aslında yeri gelmişken bu gibi konuları aşmanın bir tekniğini belirtmek isterim. Ancak bunu diğer hafıza komutlarını
inceledikten sonra açıklayacağım.
Dahili hafızaya bir bilgi yazmak için;
Write adres,Bilgi
Şeklinde bir komut kullanırız. Örneğin 0 nolu adrese 12 bilgisini yazmak istersek;
Write 0,12 dememiz yeterli olacaktır.
Diğer komut eepromdan bir bilgi okuma komutudur.
Read adres,Bilgi
Şeklinde kullanılır. Yine örnek olarak 0 nolu adreste yazılı olan bilgiyi okuyalım
Read 0,Sayı
Okunan değer Sayı isimli değişkene yerleştirilmiş oldu.
Yeni programlanmış bir pic’ den okunacak hafıza değeri kesinlikle $FF yani 255 olarak gelir. Bu hafızaya henüz bir
şey kayıt edilmediği anlamına gelir.
Diyelim ki hafızaya şifre yazacaksınız şöyle yapabilirsiniz.
Read 0,Sifre ‘ilk hafıza okundu ve değeri Sifre isimli değişkene yerleşti.
İf sifre=255 then ‘henüz hafızada kayıtlı bir şey yok ise
Sifre=2 ‘yeni sifre=2 olsun
Write 0,sifre ‘yeni sifre yi sıfır no’ lu adrese yaz.
Endif
Kısaca önce hafızayı okudunuz. Sonra baktınız hafızaya herhangi bir şey kayıt edilmemiş ise şifreyi belirleyip
hafızaya yazdınız.
Pic’ i ilk defa çalıştırınca 0 nolu adrese 2 bilgisi yazılır. Daha sonra program içinden şifrenizi değiştirdiniz. Pic’ i
yeniden çalıştırınca ilgili hafızada 255 den farklı bir sayı olacağı için yeni sifre olarak 2 yazılmayacaktır. Dolayısıyla
mevcut şifrenizi korumuş olacaksınız.
Son olarak dahili eeprom’ ların 8 bit çalıştıklarını ve her bir hafıza adresine 8 bitlik bilgi yazılması gerektiğini
hatırlatmak isterim. Kullandığınız bilgi Word tipi yani 16 bit bir değişken ise bilgiyi Değişken.Lowbayt ve
Değişken.Highbyte veya Değişken.Byte0 ve Değişken,Byte1 şeklinde 8 er bitlik iki kısma ayırıp o şekilde yazmanız
gerekir. Aslında direkt word değişkeni olarak yazabilirsiniz. Bu durumda pic sizin için değişkeni lowbyte ve highbyte