MODUL
EEPROM DALAM MIKROKONTROLER ATmega8535
TUJUAN
  • Mahasiswa dapat menjelaskan cara menggunakan EEPROM internal dalam mikrokontroler ATmega8535 untuk menyimpan data.
  • Mahasiswa dapat mempraktekkan penyimpanan dan pembacaan data di dalam EEPROM internal dalam mikrokontroler ATmega 8535.

EEPROM
        EEPROM (Electrically Erasable Programmable Read Only Memory) merupakan memori yang dapat menyimpan data, dimana data tersebut akan tetap ada meskipun catu daya dimatikan. Data yang tersimpan dalam EEPROM dapat dihapus dengan sinyal listrik dengan tegangan tertentu.
        EEPROM internal dalam mikrokontroler ATmega8535  mempunyai kapasitas 512 byte dan dipetakan sendiri dengan alamat mulai 00H-FFH. EEPROM hanya dapat diakses melalui register (EEARH, EEARL, EEDR dan EECR) dan operasi read/write yang tertentu sehingga waktu aksesnya lebih lamban dari pada mengakses register ataupun SRAM.
Register yang digunakan untuk mengakses EEPROM ada 3 yaitu:
- EEARH dan EEARL
- EEDR
- EECR

A.      EEPROM Address Register (EEARH dan EEARL)


Bit 8..0: EEAR8..0: EEPROM Address, adalah tempat meletakkan alamat secara linier untuk EEPROM mulai 0-511. Nilai awalnya tidak ada, sehingga ketika akan digunakan harus diberi nilai terlebih dahulu.

B.      EEPROM Data Register (EEDR)

EEDR berisi data yang akan ditulis ke dalam atau dibaca dari EEPROM dalam alamat yang ditulis dalam register EEAR.

C.      EEPROM Control Register (EECR)

·         Bit 3 - EERIE: EEPROM Ready Interrupt Enable
Menulis logika 1 ke EERIE berarti mengaktifkan EEPROM Ready Interrupt jika bit I dalam register SREG diberi logika 1. Menulis logika 0 ke EERIE berarti menonaktifkan interrupt. EEPROM Ready Interrupt membangkitkan interrupt secara terus menerus jika EEWE diberi logika 0.
·         Bit 2 - EEMWE: EEPROM Master Write Enable
EEMWE bersama dengan EEWE digunakan untuk menulis data ke EEPROM. Ketika EEMWE diberi logika 1, memberi logika 1 pada EEWE dalam 4 siklus clock akan menulis data ke EEPROM pada alamat tertentu. Jika EEMWE diberi logika 0, memberi logika 1 pada EEWE tidak akan berpengaruh apa-apa. Jika EEMWE diberi logika 1 oleh software, hardware akan mengubah logikanya ke 0 setelah 4 siklus clock.
·         Bit 1 – EEWE: EEPROM Write Enable
EEWE digunakan untuk menulis ke EEPROM. Ketika alamat dan data yang diset sudah benar, EEWE harus diberi logika 1 untuk menulis data ke EEPROM. EEMWE harus diberi logika 1 sebelum EEWE diberi logika 1, jika tidak maka tidak akan terjadi proses menulis data ke EEPROM.
·         Bit 0 – EERE: EEPROM Read Enable
EERE digunakan untuk membaca data dari EEPROM. Ketika alamat yang diset EEAR sudah benar, EERE harus diberi logika 1 untuk membaca data ke EEPROM.

ALAT DAN BAHAN YANG DIGUNAKAN
  • 1 set PC/Laptop yang sudah berisi program Code Vision dan Khazama
  • 1 set modul praktikum mikrokontroler
  • LCD display 16x2

PROSEDUR
1.      Rangkailah peralatan yang diperlukan seperti dalam Gambar 1.1. Hubungkan soket jumper PORTB pada minimum system dengan soket jumper LED/OUTPUT pada I/O.


Gambar 1.1 Diagram antarmuka mikrokontroler dengan I/O.

2.      Buka program Code Vision AVR
3.      Buatlah project baru. Setelah mengeset chip dan clock, set juga bagian PORTB sebagai output dengan output value = 0. Kemudian simpanlah file tersebut sehingga pada program bagian inisialisasi PORTB terlihat sebagai berikut:

PORTB=0x00;
DDRB=0xff;       

4.      Buatlah program untuk mengakses 1 alamat di EEPROM secara langsung (directly) dengan urutan: membaca data di alamat tersebut, menulis data ke alamat tersebut, dan membaca data di alamat tersebut sekali lagi. Tampilkan data yang dibaca ke LED di PORTB.
5.      Catat alamat dan data yang pertama kali dibaca,  alamat dan data yang ditulis, serta alamat dan data yang dibaca kedua kalinya dalam Tabel 1.1.
6.      Buatlah program untuk mengakses 1 alamat di EEPROM secara tidak langsung (indirectly/menggunakan pointer) dengan urutan: membaca data di alamat tersebut, menulis data ke alamat tersebut, dan membaca data di alamat tersebut sekali lagi. Tampilkan data yang dibaca ke LED di PORTB.
7.      Catat alamat dan data yang pertama kali dibaca,  alamat dan data yang ditulis,  serta alamat dan data yang dibaca kedua kalinya dalam Tabel 1.2.
8.      Buatlah program kombinasi toggle switch, EEPROM dan LED untuk:
·         Menampilkan hasil pembacaan EEPROM secara berurutan ke LED (PORTB) mulai dari alamat 0, 1, 2, 3, dan 4 sebelum EEPROM diisi jika toggle switch 1 diaktifkan.
·         Menyimpan data berurutan jika toggle switch 2 diaktifkan dengan alamat dan data sebagai berikut:
1.    menyimpan bilangan 0x11 ke EEPROM alamat 0,  
2.    menyimpan bilangan 0x22 ke EEPROM alamat 1,
3.    menyimpan bilangan 0x33 ke EEPROM alamat 2,  
4.    menyimpan bilangan 0x44 ke EEPROM alamat 3,
5.    menyimpan bilangan 0x55 ke EEPROM alamat 4.
9.      Download program tersebut ke mikrokontroler
10.  Aktifkan toggle switch 1 dahulu dan catat nyala LED dalam Tabel 1.3. Kemudian nonaktifkan togle switch 1 dan aktifkan toggle switch 2. Terakhir nonaktifkan togle switch 2 dan aktifkan toggle switch 1 dan catat nyala LED.
11.  Lepaskan kabel USB dari komputer, sambungkan kembali kabel USB ke komputer dan lakukan langkah 10.
12.  Lakukan seperti langkah 8-11 dengan program kombinasi toggle switch, EEPROM dan LCD display untuk menyimpan data ke 5 alamat tertentu ke EEPROM dan menampilkan kelima data tersebut bersama alamatnya ke LCD display. Catat alamat dan data dalam Tabel 1.4.

DATA HASIL PERCOBAAN

1.      Program untuk mengakses 1 alamat di EEPROM secara langsung (directly)

2.                                    Tabel 1.1 Akses EEPROM secara Langsung


3.      Program untuk mengakses 1 alamat di EEPROM secara tidak langsung (indirectly)

4.                     Tabel 1.2 Akses EEPROM secara Tidak Langsung/dengan Pointer


5.      Program kombinasi toggle switch, EEPROM dan LED

6.                              Tabel 1.3 Program kombinasi toggle switch, EEPROM dan LED


7.      Program kombinasi toggle switch, EEPROM dan LED

8.                    Tabel 1.4 Program kombinasi toggle switch, EEPROM dan LCD display


ANALISIS DATA
  1. Simpulkan cara menulis data ke EEPROM dan membaca dari EEPROM.
  2. Data apakah yang muncul jika EEPROM belum ditulisi?
  3. Pada langkah 8-12, adakah perbedaan antara pembacaan pertama dengan pembacaan kedua sebelum catu daya dilepas? Jika ada mengapa terjadi perbedaan tersebut?
  4. Pada langkah 8-12, adakah perbedaan antara pembacaan pertama dengan pembacaan kedua setelah catu daya dilepas? Mengapa hal itu terjadi?


Sumber: elektro.um.ac.id

No comments:

Post a Comment