Dokumen ini membahas tentang antarmuka perangkat memori EEPROM eksternal AT24C01 dengan mikrokontroler menggunakan komunikasi I2C. Dokumen menjelaskan tujuan praktikum untuk mengenal EEPROM dan antarmukanya, dasar teori tentang EEPROM dan komunikasi I2C, langkah-langkah pembuatan rangkaian dan program untuk membaca dan menulis data ke EEPROM.
1. ANTARMUKA PERANGKAT MEMORI EEPROM
DENGAN AT24C01
1. Tujuan
Praktikum ini bertujuan untuk:
a. Praktikan mengenal perangkat memori EEPROM eksternal
b. Praktikan mengenal rangkaian antarmuka mikrokontroler dengan EEPROM
24C01 melalui komunikasi I2
C
c. Praktikan mengetahui dan dapat membuat program untuk antarmuka
mikrokontroler dengan EEPROM 24C01 untuk penyimpanan data.
2. Dasar Teori
Salah satu kebutuhan dalam pengembangan suatu sistem elektronika adalah adanya
fungsi penyimpanan data (storage). Data hasil akuisisi maupun pengolahan secara digital
perlu untuk disimpan untuk kebutuhan dokumentasi, perekaman, maupun untuk pengolahan
lanjut.Memori merupakan suatu bagian yang penting dalam suatu sistem pengolahan digital.
Berfungsi untuk menyimpan data yang akan maupun telah diolah. Salah satu jenis memori
adalah yang bersifat non-volatile (mampu menyimpan data meskipun dalam keadaan tanpa
daya) adalah EEPROM (Electrically Erased Programmable Read Only Memory).
Contoh EEPROM adalah AT24C01A yang memiliki kapasitas penyimpanan data
sebesar 128 byte (memerlukan 7-bit atau 1 byte alamat). Memori ini menggunakan
komunikasi I2C (Inter Integrated Circuit) atau TWI (Two Wire Interface) untuk melakukan
penyimpanan dan pembacaaan data.
Memori EEPROM 24C01 mempunyai alamat device (perangkat) dengan kode biner
yang ditunjukkan pada Gambar 1 berikut.
MSB LSB
1 0 1 0 A2 A1 A0 R/
Bagian tetap Bagian yg terprogram
Gambar 1. Pengalamatan device EEPROM 24C01
Nilai A2, A1, dan A0 merupakan nilai logika pada pin1, pin2, dan pin3 sebagai pengalamatan
yang dapat terprogram atau secara hardware. Nilai R/ apabila diberikan logika “0” maka
berfungsi untuk menyimpan data (WRITE) yang berarti menuliskan data digital ke EEPROM
untuk disimpan. Sedangkan apabila diberi logika “1” berfungsi sebagai pembacaan data
(READ) dari EEPROM oleh komputer/mikrokontroler. Setelah dilakukan penyimpanan data,
EEPROM membutuhkan waktu 10 ms untuk menyimpan data.
2. 3. Langkah Kerja
Pelaksanaan praktikum ini dilakukan dengan langkah-langkah sebagai berikut:
1. Buatlah rangkaian EEPROM 24C01A pada protoboard sebagaimana ditunjukkan pada
skematik Gambar 2 berikut.
Gambar 2. Rangkaian EEPROM 24C01A
2. Hubungkan kaki SCL dan SDA dengan mikrokontroler, tentukan pin SCL dan SDA
pada mikrokontroler yang akan digunakan.
3. Buatlah program pada mikrokontroler AVR Mega8535 sebagai berikut
//program antarmuka mega8535 dengan eeprom 24C01A
#include <mega8535.h>
#include <stdio.h>
#include <delay.h>
#include <i2c.h>
//i2c bus secara program menggunakan port C
//sinyal SDA PortC.1
//SCL PortC.0
#asm
.equ __i2c_port=0x15
.equ __sda_bit=1
.equ __scl_bit=0
#endasm
#define EEPROM_ADDR 0xA0
unsigned char eeprom_read(unsigned char alamat)
{
unsigned char data;
i2c_start();
i2c_write(EEPROM_ADDR & 0xFE); //i2c write
i2c_write(alamat);
i2c_start();
i2c_write(EEPROM_ADDR | 1);
data=i2c_read(0);
i2c_stop();
return data;
}