Akses Baca Tuli

2
Akses Baca-Tulis EEPROM ATtiny2313 AVR ATtiny2313 memiliki EEPROM dengan kapasitas 128 byte dengan alamat akses 0-127 ($00-$7F). Untuk mengakses EEPROM terlebih dahulu harus mengetahui register-register EEPROM, yakni: EEAR – EEPROM Address Register, EEDR – EEPROM Data Register, dan EECR – EEPROM Control Register. EEAR adalah register yang berfungsi menyimpan alamat EEPROM yang akan diakses. Untuk ATtiny2313, EEAR disebut juga EEARL (EEAR Low). Yup, hanya perlu 7 bit LSB saja (EEAR0..EEAR6) untuk mengakses seluruh alamat EEPROM ATtiny2313. Nilai awal EEAR setelah direset tidak didefinisikan, jadi EEAR perlu diisi dengan alamat EEPROM yang benar sebelum data pada EEPROM diakses (dibaca/ditulis/dihapus). EEDR adalah register yang berfungsi menyimpan data yang akan ditulis ke EEPROM dan data yang dibaca dari EEPROM. EECR adalah register yang berfungsi untuk mengontrol sinyal-sinyal kontrol untuk proses akses EEPROM. Pada tulisan ini hanya dibahas tentang bagaimana menulis data ke EEPROM dan bagaimana membaca data dari EEPROM. Oleh karena itu, hanya 3 bit LSB dari EECR saja yang akan dibahas yakni: Bit 2 – EEMPE (EEPROM Master Program Enable) Bit 1 – EEPE (EEPROM Program Enable) Bit 0 – EERE (EEPROM Read Enable) Proses menulis data ke EEPROM memerlukan langkah-langkah berikut ini: Letakkan alamat EEPROM yang dituju dalam register EEAR Letakkan data dalam register EEDR Cek apakah bit EEPE=0, jika tidak maka tunggu Set bit EEMPE Set bit EEPE Mudah bukan? Demikian juga halnya dengan proses membaca data dari EEPROM, berikut langkah-langkahnya:

Transcript of Akses Baca Tuli

Akses Baca-Tulis EEPROM ATtiny2313

AVR ATtiny2313 memiliki EEPROM dengan kapasitas 128 byte dengan alamat akses 0-127 ($00-$7F). Untuk mengakses EEPROM terlebih dahulu harus mengetahui register-register EEPROM, yakni: EEAR EEPROM Address Register, EEDR EEPROM Data Register, dan EECR EEPROM Control Register.

EEAR adalah register yang berfungsi menyimpan alamat EEPROM yang akan diakses. Untuk ATtiny2313, EEAR disebut juga EEARL (EEAR Low). Yup, hanya perlu 7 bit LSB saja (EEAR0..EEAR6) untuk mengakses seluruh alamat EEPROM ATtiny2313. Nilai awal EEAR setelah direset tidak didefinisikan, jadi EEAR perlu diisi dengan alamat EEPROM yang benar sebelum data pada EEPROM diakses (dibaca/ditulis/dihapus).

EEDR adalah register yang berfungsi menyimpan data yang akan ditulis ke EEPROM dan data yang dibaca dari EEPROM.

EECR adalah register yang berfungsi untuk mengontrol sinyal-sinyal kontrol untuk proses akses EEPROM. Pada tulisan ini hanya dibahas tentang bagaimana menulis data ke EEPROM dan bagaimana membaca data dari EEPROM. Oleh karena itu, hanya 3 bit LSB dari EECR saja yang akan dibahas yakni:

Bit 2 EEMPE (EEPROM Master Program Enable)

Bit 1 EEPE (EEPROM Program Enable)

Bit 0 EERE (EEPROM Read Enable)

Proses menulis data ke EEPROM memerlukan langkah-langkah berikut ini:

Letakkan alamat EEPROM yang dituju dalam register EEAR

Letakkan data dalam register EEDR

Cek apakah bit EEPE=0, jika tidak maka tunggu

Set bit EEMPE

Set bit EEPE

Mudah bukan? Demikian juga halnya dengan proses membaca data dari EEPROM, berikut langkah-langkahnya:

Letakkan alamat EEPROM yang akan diakses dalam register EEAR

Cek apakah bit EEPE=0, jika tidak maka tunggu

Set bit EERE

Baca data dari EEDR dan simpan di register

Bit EEPE adalah bit untuk menulis data ke EEPROM. Jika EEPE diset 1 ketika EEMPE=1, maka data pada EEDR akan ditulis ke EEPROM pada alamat yang ditunjukkan oleh register EEAR. Setelah 4 siklus clock, maka CPU akan mereset kembali bit EEPE=0 yang menandakan bahwa proses penulisan telah selesai dilakukan. Oleh karena itu sebelum melakukan proses penulisan, program harus memastikan bahwa kondisi EEPE=0, yang artinya CPU tidak sedang melakukan proses penulisan ke EEPROM. Jika tidak maka proses penulisan akan gagal. Demikian juga halnya ketika membaca data dari EEPROM. Sebelum membaca data, program harus memastikan bahwa CPU tidak sedang dalam proses penulisan data ke EEPROM, jika tidak maka proses pembacaan akan gagal.