Anda di halaman 1dari 21

BAB I – EEPROM

MENGGUNAKAN FITUR EEPROM

PADA ATMEGA8535

Konsep yang akan diuraikan pada bab ini adalah:

 Read Only Memory (ROM).


 EEPROM (Electronic Erasable Programmable Read Only
Memory).
 Memory Map ATmega8535.

ROM (Read Only Memory) merupakan salah satu jenis memory non-
volatile yang mana data yang telah tersimpan tidak dapat dimodifikasi ataupun
dihapus. ROM biasa disebut sebagai firmware, karena umumnya data yang
terdapat pada ROM diisi oleh perusahaan ataupun pabrik yang memproduksi
suatu peralatan elektronik.
EEPROM (Electronic Erasable Programmable Read Only Memory)
merupakan salah satu jenis dari ROM, yang mana data yang telah tersimpan dapat
dimodifikasi ataupun dihapus secara elektronik. EEPROM juga termasuk dalam
kategori memory non-volatile yang mana data yang telah tersimpan tidak akan
hilang walaupun catu daya dimatikan.
Memory map merupakan pemetaan memory yang terdapat pada
mikrokontroler ATmega8535. Memory yang dipetakan tersebut antara lain:
program memory/in-system reprogrammable flash memory, data memory, serta
EEPROM.

4
BAB I – EEPROM

A. Pengertian ROM
ROM (Read Only Memory) merupakan salah satu jenis media
penyimpanan data yang biasa digunakan pada komputer dan berbagai macam
peralatan elektronik lainnya. Semua teknologi ROM bersifat non volatile, yang
artinya data yang tersimpan tidak akan terhapus walaupun catu daya dicabut dari
rangkaian. Data yang tersimpan pada ROM tidak bisa diubah. Namun ada
beberapa jenis ROM yang menggunakan teknologi tertentu sehingga data yang
tersimpan bisa dimodifikasi sesuai dengan keinginan. ROM juga biasa disebut
sebagai firmware karena biasanya program yang terdapat pada ROM
ditulis/diprogram oleh pabrik pembuat piranti elektronik. Sehingga program
tersebut hanya sesuai dengan perangkat elektronik yang spesifik.

B. Jenis-jenis ROM
1. ROM (Read Only Memory)
ROM atau yang biasa disebut dengan firmware adalah generasi awal dari
teknologi ROM. Data yang tersimpan di ROM tidak bisa diubah atau dimodifikasi
oleh pengguna. Oleh karena itu firmware yang disimpan oleh pabrik pada
perangkat elektronika umumnya tidak bisa dimodifikasi oleh pengguna.

Gambar 1. 1. Konstruksi ROM (Read Only Memory)

Konstruksi dari ROM terdiri atas dioda yang dihubungkan secara matriks
yang terdiri dari baris dan kolom. Perhatikan gambar 1.1. Pada gambar tersebut
terdapat sel yang terdapat dioda dan sel yang tidak terdapat diode. Jika suatu sel

5
BAB I – EEPROM

terdapat dioda, maka arus dapat diteruskan ke ground sehingga sel tersebut
berlogika 1. Namun jika suatu sel tidak terdapat dioda, maka arus tidak dapat
dialirkan ke ground sehingga sel tersebut berlogika 0. Kumpulan dari logika 0 dan
1 dari matriks dioda tersebut bermakna data.
Oleh karena itu suatu ROM yang telah diisi program oleh pabrik akan
bersifat permanen. Sehingga pengguna tidak akan bisa memodifikasi atau
memprogram ulang ROM yang telah dibuat oleh pabrik.
2. PROM (Programmable Read Only Memory)
Generasi selanjutnya dari ROM yaitu PROM (Programmable Read Only
Memory). Apabila ROM telah diisi program oleh pabrik dan tidak dapat
dimodifikasi, maka PROM mengisi kekurangan yang terdapat pada ROM. PROM
memungkinkan pengguna untuk dapat memprogram/mengisi sendiri data yang
diinginkan. Sehingga di pasaran PROM biasanya dijual tanpa terisi program.

Gambar 1. 2. Konstruksi PROM

Perhatikan gambar 1.2. Jika konstruksi ROM terdiri atas dioda yang
disusun secara baris dan kolom, maka pada PROM peran dioda tersebut diganti
dengan fuse/sekering. Suatu PROM yang belum terisi data, maka setiap
sekeringnya akan tersambung. Pengguna membutuhkan suatu perangkat
programmer untuk menuliskan data pada PROM. Untuk memberikan logika 0,
maka fuse/sekering akan diputus. Oleh karena itu proses penulisan data pada

6
BAB I – EEPROM

PROM disebut dengan burning PROM. Sekering yang tersambung akan berlogika
1, sedangkan sekering yang terputus akan berlogika 0.
Kumpulan dari logika 0 dan 1 dari matriks sekering tersebut bermakna
data. Suatu PROM hanya dapat diisi data sekali saja, sehingga pengguna tidak
dapat memodifikasi/ mengubah data yang telah diprogram.
3. EPROM (Erasable Programmable Read Only Memory)
EPROM merupakan pengembangan lebih lanjut dari teknologi PROM.
Apabila PROM bisa diisi data oleh pengguna namun tidak bisa dimodifikasi,
EPROM menawarkan teknologi yang memungkinkan pengguna untuk
memodifikasi data yang telah ditulis. Berbeda dengan PROM yang menggunakan
matriks sekering pada konstruksinya, EPROM menggunakan dua buah transistor
yang saling berpotongan pada tiap selnya.

Gambar 1. 3. Konstruksi EPROM

Perhatikan gambar 1.3. Pada gambar tersebut ditunjukkan satu buah sel
yang memiliki dua buah transistor yang saling berpotongan. Control gate
transistor terhubung dengan baris sedangkan drain transistor terhubung dengan
kolom. Di antara control gate dengan floating gate terdapat suatu lapisan oxide.
Untuk membuka atau menutup lapisan oxide dari transistor bisa menggunakan
cahaya UV (Ultra Violet) dengan lebar gelombang 253.7 nanometer. Jika arus
yang mengalir di antara control gate dan floating gate sebesar lebih dari 50% dari

7
BAB I – EEPROM

batas ambang, maka akan berlogika 1. Sedangkan jika arus yang mengalir di
antara control gate dan floating gate sebesar kurang dari 50% dari batas ambang,
maka akan berlogika 0.
Kumpulan dari logika 0 dan 1 dari matriks transistor tersebut bermakna
data. Untuk menulis dan memodifikasi data pada EPROM membutuhkan
peralatan khusus yang dapat memancarkan sinar UV (Ultra Violet) dan EPROM
tersebut harus dilepas dari rangkaian.

4. EEPROM (Electrical Erasable Programmable Read Only Memory)


EEPROM merupakan pengembangan lebih lanjut dari EPROM. Pada
EPROM, untuk memodifikasi data harus menggunakan peralatan khusus yang
bisa memancarkan sinar UV dan mengharuskan EPROM dilepas dari rangkaian.
Sedangkan EEPROM bisa dimodifikasi secara elektrik tanpa menggunakan sinar
UV. Sehingga untuk mengubah logika 0 dan 1 bisa dilakukan tanpa melepas
EEPROM dari rangkaian.
5. Flash Memory
Sebenarnya teknologi flash memory hampir sama dengan EEPROM.
Dalam penulisan data atau pemodifikasi data bisa dilakukan secara elektrik.
Namun flash memory menawarkan kecepatan dalam penulisan atau
pemodifikasian data. Apabila penulisan data pada EEPROM dilakukan pada
masing-masing bit. Sedangkan pada flash memory, penulisan data dilakukan per
block. Di mana satu block terdiri dari beberapa bit tergantung dari jenis flash
memory. Karena prinsip kerjanya yang melakukan penulisan data per block, maka
penulisan data pada flash memory lebih cepat dibandingkan dengan EEPROM.

C. Memory Map ATmega8535


Pada mikrokontroler ATMega8535 terdapat 3 jenis memory yang
digunakan, antara lain: program memory, data memory, dan EEPROM. Tiap-tiap
memory tersebut mempunyai karakteristik dan fungsi masing-masing. Pada
gambar 1.4. ditunjukkan pemetaan memory pada ATmega8535.

8
BAB I – EEPROM

Gambar 1. 4. Pemetaan Memory ATmega8535

1. Program Memory / In-System Reprogrammable Flash Memory


Program memory pada ATmega8535 menggunakan teknologi flash
memory. Kapasitas dari program memory ATmega8535 yaitu 8 KiloBytes.
Semenjak hampir semua instruksi AVR sebesar 16 atau 32 bit, maka flash memory
pada ATmega8535 dialokasikan sebesar 4 Kilobytes x 16. Sehingga alamat yang
bisa digunakan pada program memory berkisar antara 0x000 sampai dengan
0xFFF.

Gambar 1. 5. Alokasi Program Memory ATmega8535

Perhatikan gambar 1.5. Pada gambar tersebut program memory dibagi


menjadi dua bagian yaitu application flash section dan boot flash section.
Application flash section digunakan untuk menyimpan program mikrokontroler,
sedangkan boot flash section digunakan untuk menyimpan konfigurasi boot

9
BAB I – EEPROM

loader. Program memory pada ATmega8535 memiliki ketahanan hingga 10.000


kali write/erase.

2. Data Memory
Berbeda dengan program memory, data memory tidak menggunakan
teknologi flash memory sebagai media penyimpanan datanya. Melainkan
menggunakan teknologi penyimpanan SRAM (Static Random Access Memory).
Kapasitas dari data memory ATmega8535 yaitu 512 Bytes. Apabila teknologi
ROM dan generasi-generasi ROM berikutnya bersifat non-volatile, maka berbeda
pula dengan SRAM. SRAM bersifat volatile, sehingga apabila catu daya dilepas
dari rangkaian maka data yang tersimpan pada SRAM tersebut akan terhapus.

Gambar 1. 6. Alokasi Data Memory ATmega8535

Data memori dibagi menjadi tiga bagian, antara lain:


a. 32 General Purpose Registers
General purpose register dialokasikan untuk penyimpanan berbagai
macam register yang terdapat pada ATmega8535. Rentang
alamatnya mulai dari $000 sampai dengan $01F.
b. 64 I/O Registers
I/O Register dialokasikan khusus untuk penyimpanan register input
dan output pada ATmega8535. Rentang alamatnya mulai dari $020
sampai dengan $05F.

10
BAB I – EEPROM

c. SRAM
SRAM dialokasikan untuk penyimpanan variabel ataupun konstanta
yang dideklarasikan pada program ATmega8535. Rentang
alamatnya mulai dari $060 sampai dengan $25F.
3. EEPROM
Jenis memori ketiga yang digunakan pada ATmega8535 selanjutnya yaitu
EEPROM (Electrical Erasable Programmable Read Only Memory). EEPROM
digunakan untuk menyimpan data yang ingin tetap tersimpan meskipun catu daya
dimatikan. Kapasitas dari EEPROM ATmega8535 yaitu 512 Bytes. Contoh
penggunaan EEPROM biasanya digunakan untuk melakukan logging/pencatatan.
Seperti penyimpanan data suhu pada sistem monitoring suhu.

Gambar 1. 7. Alokasi EEPROM pada ATmega8535

D. REGISTER EEPROM ATMEGA8535


Di dalam mikrokontroler ATmega8535 terdapat beberapa register yang
harus diperhatikan ketika akan melakukan penulisan data ke EEPROM ataupun
pembacaan data dari EEPROM. Register-register tersebut antara lain:
a. SREG (Status Register)
b. EEARH (EEPROM Address Register High) dan EEARL
(EEPROM Address Register Low)
c. EEDR (EEPROM Data Register)
d. EECR (EEPROM Control Register)

11
BAB I – EEPROM

1. SREG (Status Register)


SREG berisi informasi mengenai hasil eksekusi instruksi aritmetika yang
baru saja dilakukan. Informasi-informasi ini bisa digunakan untuk mengubah alur
program ketika akan melakukan operasi-operasi tertentu. Status register tidak
secara otomatis melakukan penyimpanan ketika melaksanakan routine suatu
interrupt, untuk melakukan penyimpanan informasi pada register ini , maka harus
dilakukan oleh software.

Gambar 1. 8. Register SREG pada ATmega8535

Untuk pengaksesan EEPROM pada ATmega8535, bit yang diubah-ubah


pada register SREG hanya bit ke-7 atau bit global interrupt enable. Global
interrupt enable digunakan untuk mengaktifkan interrupt secara global pada
ATmega8535. Global interrupt enable akan aktif jika diberikan logika 1. Dan
akan kembali menjadi logika 0, ketika interrupt yang berjalan telah dilaksanakan.
Pemberian logika 0 pada global interrupt enable dilakukan oleh hardware
ATmega8535.
Misalkan jika akan menggunakan interrupt yang berasal dari
timer/counter, maka sebelumnya bit global interrupt enable diberikan terlebih
dahulu. Karena meskipun sudah dilakukan pengaturan pada register interrupt
pada timer/counter, namun global interrupt enable masih berlogika 0, maka
interrupt pada ATmega8535 tidak dapat dibangkitkan.

2. EEARH (EEPROM Address Register High) dan EEARL (EEPROM


Address Register Low)
Di dalam pengaksesan EEPROM pada ATmega8535, hal terpenting yang
harus diperhatikan adalah pengalamatan pada data yang akan ditulis ataupun
dibaca. Meskipun pada sebagian besar bahasa pemrograman sudah disediakan

12
BAB I – EEPROM

pengalamatan secara otomatis, namun alamat pada masing-masing data yang akan
ditulis ataupun dibaca dari EEPROM dapat diberikan secara spesifik.
ATmega8535 sudah menyediakan register yang bertujuan untuk menampung
alamat dari masing-masing data yang akan disimpan ataupun dibaca dari
EEPROM, register tersebut yaitu EERH dan EERL.

Gambar 1. 9. Register EEARH dan EEARL pada ATmega8535

Register EEAR terdiri dari 16 bit yang mana dibagi menjadi dua bagian,
yaitu EEARH dan EEARL. EEARH dimulai dari bit 8 sampai dengan bit 15,
sedangkan EEARL dimulai dari bit 0 sampai dengan bit 7.
 Bit 0 sampai dengan bit 8 : EEPROM Address
Pada bit ini berisi alamat dari EEPROM yang digunakan.
Pengalamatan dari EEPROM berkisar dari 0 sampai dengan 511 secara
linier, sesuai dengan ukuran EEPROM ATmega8535 yaitu 512 Bytes.
 Bit 9 sampai dengan bit 15 : Reserved Bits
Bit ini merupakan bit reserved atau bit yang telah digunakan oleh
ATmega8535 untuk keperluan tertentu. Pada bit ini nilainya selalu
dibaca sebagai nol (0).

3. EEDR (EEPROM Data Register)


Selain pengalamatan data pada EEPROM, hal yang harus diperhatikan
adalah isi data yang akan disimpan ataupun dibaca dari EEPROM. Isi data
EEPROM yang akan disimpan ataupun dibaca akan ditampung pada register
EEDR.

13
BAB I – EEPROM

Gambar 1. 10. Register EEDR pada ATmega8535

 Bit 0 sampai dengan bit 7 : EEPROM Data


Untuk operasi penulisan data, bit pada register ini berfungsi untuk
menyimpan data yang akan ditulis pada EEPROM berdasarkan alamat
yang terdapat pada register EEAR.
4. EECR (EEPROM Control Register)
Setelah pengalamatan data dan penampungan isi data, hal yang harus
diperhatikan selanjutnya yaitu mengenai pengaturan EEPROM. Pengaturan yang
dimaksudkan di sini adalah pengaturan tentang mode apa yang akan dipilih dalam
pengaksesan EEPROM, apakah mode penulisan (write) ataukah mode pembacaan
(read). Segala sesuatu mengenai pengaturan pembacaan atau penulisan data akan
ditangani oleh register EECR. Di dalam register EECR sendiri terdapat beberapa
bit register, di antaranya adalah EERE (EEPROM Read Enable), EEWE
(EEPROM Write Enable), EEMWE (EEPROM Master Write Enable), dan EERIE
(EEPROM Ready Interrupt Enable)

Gambar 1. 11. Register EECR pada ATmega8535

 Bit 0 : EERE (EEPROM Read Enable)


Register EERE berisi status pembacaan data EEPROM. Untuk
membaca data EEPROM berdasarkan alamat EEAR yang telah
diberikan, maka register EERE harus diberikan logika 1. Selain itu,
pengguna memastikan bahwa tidak ada proses penulisan data dengan

14
BAB I – EEPROM

cara melakukan pengecekan pada register EEWE. Apabila masih


dalam proses penulisan data, maka dipastikan bahwa proses
pembacaan data atau pengubahan alamat EEAR tidak bisa dilakukan.
 Bit 1 : EEWE (EEPROM Write Enable)
Bit pada register ini berfungsi untuk mengaktifkan penulisan data pada
EEPROM. Jika berlogika 0, maka penulisan data pada EEPROM tidak
dapat dilakukan. Sedangkan jika berlogika 1, maka penulisan data
dapat dilakukan. Namun, terlebih dahulu register EEMWE harus
diberikan logika 1 dahulu.
 Bit 2 : EEMWE (EEPROM Master Write Enable)
Bit pada register ini berfungsi untuk menentukan apakah pemberian
logika 1 pada register EEWE dapat mengaktifkan penulisan data pada
EEPROM. Ketika register ini berlogika 1, maka penulisan data ke
EEPROM bisa dilakukan. Sedangkan jika register ini berlogika 0,
maka pemberian logika 1 pada EEWE untuk mengaktifkan penulisan
data tidak akan memberikan efek apa-apa.
 Bit 3 : EERIE (EEPROM Ready Interrupt Enable)
Pemberian logika 1 pada bit EERIE ini akan mengaktifkan EEPROM
interrupt, namun sebelumnya bit 7 pada register SREG (Status
Register) harus diberi logika 1 terlebih dahulu. Sebaliknya jika bit
EERIE diberi logika 0, maka EEPROM interrupt akan dinonaktifkan.
 Bit 4 sampai dengan bit 7 : Reserved Bits
Bit ini merupakan bit reserved atau bit yang telah digunakan oleh
ATmega8535 untuk keperluan tertentu. Pada bit ini nilainya selalu
dibaca sebagai nol (0).

15
BAB I – EEPROM

E. Algoritma Penulisan Dan Pembacaan Data


1. Penulisan Data ke EEPROM

Gambar 1. 12. Flowchart Penulisan Data ke EEPROM

Untuk melakukan penulisan data ke EEPROM, terdapat beberapa tahap


yang dilakukan antara lain:
a. Menunggu apakah bit EEWE pada register EECR sudah
berlogika 0. Jika masih berlogika 1 maka penulisan data tidak bisa
dilaksanakan, karena masih terdapat proses penulisan data yang
sedang berlangsung.
b. Jika sudah berlogika 0, maka masukkan alamat EEPROM yang
akan ditulisi data. Alamat tersebut dimasukkan pada register
EEARL dan EEARH.
c. Memasukkan isi data yang akan ditulis pada register EEDR.
d. Menonaktifkan/memberikan logika 0 pada bit global interrupt
enable. Hal ini bertujuan untuk mengantisipasi agar saat penulisan
data tidak terjadi interrupt, baik itu interrupt yang berasal dari
dalam ataupun dari luar ATmega8535. Karena jika terjadi
interrupt, maka data akan gagal disimpan pada EEPROM.

16
BAB I – EEPROM

e. Memberikan logika 1 pada EEMWE.


f. Memberikan logika 1 pada EEWE. Hal ini bertujuan untuk
menandakan bahwa proses penulisan akan dimulai.
g. Mengaktifkan kembali global interrupt enable
h. Data telah berhasil disimpan.
2. Pembacaan Data dari EEPROM

Gambar 1. 13. Flowchart Pembacaan Data dari EEPROM

a. Menunggu apakah bit EEWE pada register EECR sudah


berlogika 0. Jika masih berlogika 1 maka penulisan data tidak bisa
dilaksanakan, karena masih terdapat proses penulisan data yang
sedang berlangsung.
b. Jika sudah berlogika 0, maka langkah selanjutnya yaitu
memasukkan alamat EEPROM yang akan dibaca datanya pada
register EEARH dan EEARL.
c. Memberikan logika 1 pada register EERE. Hal ini bertujuan
menandakan bahwa proses pembacaan data akan dimulai.
d. Menyimpan isi data yang terdapat pada register EEDR pada suatu
variabel yang telah dideklarasikan.
e. Data telah berhasil dibaca.

17
BAB I – EEPROM

F. Kode Program Pengaksesan EEPROM


Pada bagian ini, akan diarahkan pada penulisan kode program dengan
menggunakan bahasa C dengan IDE CodeVisionAVR. Di dalam pengaksesan
EEPROM terdapat dua metode utama, yaitu secara langsung dan secara tidak
langsung.
1. Penulisan dan Pembacaan Secara Tidak Langsung (Indirect Write
and Indirect Read)
Maksud dari penulisan dan pembacaan secara tidak langsung adalah
pointer harus dideklarasikan terlebih dahulu ketika akan mengakses EEPROM.
Tentunya materi mengenai pointer sudah dipelajari pada matakuliah Dasar
Pemrograman Komputer. Pointer adalah suatu variabel pada bahasa
pemrograman C yang berisi alamat memory sebagai nilainya. Jadi pointer biasa
digunakan untuk menunjuk pada alamat dari suatu variabel tertentu.
Contoh :
Misalkan suatu data bertipe integer ingin disimpan ke dalam alamat
EEPROM 0x080. Data yang akan disimpan bernilai 55. Maka jika data tersebut
akan disimpan ke dalam memory EEPROM dengan menggunakan metode
indirect write dan indirect read, kode program yang harus ditulis adalah seperti
Gambar 1.14.
eeprom int dataku @0x80;

void main(void) {
int i;

int eeprom *ptr_to_eeprom;

//Penulisan data EEPROM secara tidak langsung


ptr_to_eeprom=&dataku;
*ptr_to_eeprom=55;

//Pembacaan data EEPROM secara tidak langsung


i=*ptr_to_eeprom;
}

Gambar 1. 14. Kode Program Metode Indirect Write Indirect Read

18
BAB I – EEPROM

Penjelasan:

eeprom int dataku @0x80;


Maksud dari baris kode di atas adalah mendeklarasikan suatu variabel
EEPROM bertipe integer dengan alamat memory yang spesifik yaitu berada pada
alamat 80H.

int i;
Maksud dari baris kode di atas adalah mendeklarasikan suatu variabel
bertipe integer yang digunakan untuk menampung hasil pembacaan data dari
EEPROM.

int eeprom *ptr_to_eeprom;


Maksud dari baris kode di atas adalah mendeklarasikan suatu variabel
EEPROM bertipe pointer.

ptr_to_eeprom=&dataku;
Maksud dari baris kode di atas adalah memasukkan alamat variabel
EEPROM “dataku” pada variabel pointer “ptr_to_eeprom”

*ptr_to_eeprom=55;
Maksud dari baris kode di atas adalah memasukkan data berupa angka 55
pada pointer yang menunjuk pada alamat EEPROM “dataku”

i=*ptr_to_eeprom;
Maksud dari kode program di atas adalah memasukkan nilai dari alamat
pointer pada variabel “dataku” ke dalam variabel i.

19
BAB I – EEPROM

2. Penulisan dan Pembacaan Secara Langsung (Direct Write dan Direct


Read)
Jika pada metode penulisan dan pembacaan secara tidak langsung masih
menggunakan pointer. Maka untuk metode secara langsung variabel pointer tidak
perlu dideklarasikan, sehingga kode program akan lebih ringkas.
Misalkan suatu data bertipe integer ingin disimpan ke dalam alamat
EEPROM 0x080. Data yang akan disimpan bernilai 55. Maka jika data tersebut
akan disimpan ke dalam memory EEPROM dengan menggunakan metode direct
write dan direct read, kode program yang harus ditulis adalah seperti Gambar
1.15.
eeprom int dataku @0x80;
void main(void) {
int i;

//Penulisan data EEPROM secara langsung


dataku=55;

//Pembacaan data EEPROM secara langsung


i=dataku;
}

Gambar 1. 15. Kode Program Metode Direct Write Direct Read

eeprom int dataku @0x80;


Maksud dari baris kode di atas adalah mendeklarasikan suatu variabel
EEPROM bertipe integer dengan alamat memory yang spesifik yaitu berada pada
alamat 80H.

dataku=55
Maksud dari baris kode di atas adalah memasukkan data berupa angka 55
pada variabel EEPROM “dataku”

i=dataku
Maksud dari baris kode di atas adalah memasukkan data pada variabel
“dataku” dan disimpan pada variabel i.

20
BAB I – EEPROM

RANGKUMAN

 ROM (Read Only Memory) atau yang biasa disebut dengan firmware
adalah generasi awal dari teknologi ROM. Data yang tersimpan di
ROM tidak bisa diubah atau dimodifikasi oleh pengguna.
 PROM adalah jenis ROM memungkinkan pengguna untuk dapat
memprogram/mengisi sendiri data yang diinginkan.
 EPROM adalah jenis ROM yang menawarkan teknologi yang
memungkinkan pengguna untuk memodifikasi data yang telah ditulis.
 EEPROM adalah jenis ROM yang menawarkan teknologi yang
memungkinkan pengguna untuk memodifikasi data yang telah ditulis
tanpa menggunakan sinar UV.
 Pada mikrokontroler ATMega8535 terdapat 3 jenis memory yang
digunakan, antara lain: program memory, data memory, dan
EEPROM
 Register-register EEPROM pada ATmega8535 antara lain:
o SREG (Status Register)
o EEARH (EEPROM Address Register High) dan EEARL
(EEPROM Address Register Low)
o EEDR (EEPROM Data Register)
o EECR (EEPROM Control Register)
 Penulisan data dan pembacaan data EEPROM pada ATmega8535
terdiri dari 2 metode, yaitu:
o Metode tidak langsung (Indirect Read Indirect Write)
o Metode langsung (Direct Read Direct Write)

21
BAB I – EEPROM

LATIHAN
1. Jelaskan prinsip kerja dari EEPROM !
2. Sebutkan dan jelaskan contoh penerapan EEPROM pada
rangkaian elektronika !
3. Jelaskan pemetaan memory pada ATmega8535 !
4. Jelaskan algoritma penulisan dan pembacaan data EEPROM pada
ATmega8535 !
5. Jelaskan perbedaan metode pembacaan dan penulisan EEPROM
secara langsung dengan metode pembacaan dan penulisan secara
tidak langsung !

22
BAB I – EEPROM

GLOSSARIUM

 Algoritma : prosedur sistematis untuk memecahkan masalah


 Bit : sebuah digit dalam sistem angka biner (basis 2)
 Byte : kumpulan dari 8 buah bit
 Dioda : komponen elektronik sebagai penyearah arus
 Firmware : program di dalam ROM yang tidak dapat
dimodifikasi
 Interrupt : program yang melakukan interupsi kepada
program utama
 Memory : perangkat yang dapat menyimpan data
 Non-volatile : mampu menjaga data tetap tersimpan walau tanpa
catu daya
 Oxide : senyawa kimia yang terdiri dari oksigen dan
senyawa lain
 Programmer : perangkat yang melakukan konfigurasi memory
non-volatile
 Register : memory berukuran kecil di dalam prosesor
 Reserved Bit : bit register yang telah dipesan oleh mikrokontroler
 Routine : urutan kode program yang dipanggil oleh program utama
 Ultraviolet : sinar dengan panjang gelombang yang pendek
 Variabel : penyimpan data pada kode program dan dapat
dimodifikasi
 Volatile : tidak mampu menjaga data saat catu daya diputus.

23
BAB I – EEPROM

DAFTAR PUSTAKA

Atmel Corporation. 2005. AVR100 Application Note: Accessing The EEPROM.


California.
Atmel Corporation. 2006. ATmega8535 Datasheet: 8 bit AVR with 8K Bytes In-
System Programmable Flash. California.
Haiduc, Pavel. 2012. CodeVisionAVR User Manual. Rumania: HP InfoTech.
Tyson, Jeff. 2000. How Stuff Works: How ROM Works,(Online),
(http://computer.howstuffworks.com/rom.htm), diakses 16 Januari 2014.

24

Anda mungkin juga menyukai