CCS C - Dahili EEPROM Kullanımı
UstaDerslik Soru-Cevap Yararlı Araçlar
arama ikon

bilgi UstaDerslik
Bu uyari kutusudur.
Tamam
Anasayfa
İletişim
Üyeler

CCS C - Dahili EEPROM Kullanımı

profil
aboo67
BEĞEN(1)
BEĞENME(0)
GÖRÜNTÜLENME(15992)
RAPOR ET
CCS C - Dahili EEPROM Kullanımı

Tanım : EEPROM (Electronically Erasable Programmable Read-Only Memory), küçük boyuttaki verileri kalıcı olarak saklamak için bilgisayar ya da diğer cihazlarda kullanılan bir yongadır. Boyutu daha büyük olan sabit verileri saklamak için ise flaş bellek gibi daha ekonomik yöntemler kullanılır. EEPROM, elektrikle yazılıp silinme özelliğine sahiptir.

write_eeprom (adres, veri) :

EEPROM adresine 1 byte veri yazmak için kullanılır.

int aboo67=2;
write_eeprom(1,aboo67); // EEPROM'un 0x01 adresine 2 yazıldı


değer = read_eeprom (adres)

EEPROM adresinden 1 byte veri okumak için kullanılır.

int aboo67;
aboo67 = read_eeprom(1); // EEPROM'un 0x01 adresindeki değer aboo67 degişkenine aktarıldı


Örnek ;

http://k1310.hizliresim.com/1g/5/t8wvf.jpg

pic resetlendiğinde 7 segde en son kaldığı sayıyı göstercektir

//------------------------------------------------------------------------------
#include <16F876.h>// Kullanılcak denetleyicinin başlık dosyası tanımlanıyor
#include <stdio.h>
// Denetleyici konfigürasyon ayarları
#FUSES HS //High Speed
#FUSES NOWDT //No Watch Dog Timer
#FUSES NOPUT //No Power Up Timer
#FUSES NOPROTECT //Code not protected from reading
#FUSES NOBROWNOUT //No brownout reset
#FUSES NOLVP //No low voltage prgming, B3(PIC16) or B5(PIC18) used for I/O
#FUSES NOCPD //No EE protection
#use delay (clock=20000000) // Gecikme fonksiyonu için kullanılan osilatör frekansı
//------------------------------------------------------------------------------
const int digit[10]={0xC0, // 0
0xF9, // 1
0xA4, // 2
0xB0, // 3
0x99, // 4
0x92, // 5
0x82, // 6
0xF8, // 7
0x80, // 8
0x90}; // 9
int sayi=0;
//------------------------------------------------------------------------------
void main () {
setup_spi(SPI_SS_DISABLED); // SPI birimi devre dışı
setup_timer_1(T1_DISABLED); // Timer1 devre dışı
setup_timer_2(T2_DISABLED,0,1); // Timer2 devre dışı
setup_adc_ports(NO_ANALOGS); // ANALOG girdi yok
setup_adc(ADC_OFF); // ADC birimi devre dışı
setup_CCP1(CCP_OFF); // CCP1 birimi devre dışı
setup_CCP2(CCP_OFF); // CCP2 birimi devre dışı
sayi = read_eeprom(1); // EEPROM'un 0x01 adresi okunuyor
if (sayi>255){
sayi=0;
}
while(1){
if (input(pin_c0)==1){
sayi++;
delay_ms(250);
write_eeprom(1,sayi); // EEPROM'un 0x01 adresine degişken yazılıyor
}
if (sayi>9){
sayi=0;
}
output_b(digit[sayi]);
}
}
//------------------------------------------------------------------------------



Kod
Kalın
Vurgu
Resim
Video
Url
CEVAPLA
Tüm Hakları Saklıdır. ©Arleone 2013-2014 UstaDerslik






Giriş
Şifremi Unuttum...
Şifre Talep
  Kuralları Kabul Ediyorum.
Kaydol