Selasa, 07 Februari 2012

Akses EEPROM internal ATMega32 dengan BASCOM AVR

Oke temen-temen, Akses EEPROM internal ATMega32 dengan BASCOM AVR kali ini saya akan menbagi pengetahuan seputar EEPROM, tentang bagaimana cara penggunaan nya, mulai dari menulis di EEPROM sampai Membaca di EEPROM.

Seperti yang kita tahu, ATMega32 memiliki fasilitas EEPROM internal sebesar 1024 byte, walaupun terbatas kapasitas memory nya akan tetapi sudah cukup untuk menyimpan data-data (dalam byte) tanpa harus mengkhawatirkan hilangnya data meskipun mikrokontroler tidak mendapatkan catu daya, atau mikrokontroler dalam keadaan non-aktif (mati).

Pada artikel Akses EEPROM internal ATMega32 dengan BASCOM AVR ini, akan saya bahas bagaimana cara menulis dan membaca data dalam EEPROM. Akses EEPROM internal ATMega32 dengan BASCOM AVR menggunakan LCD untuk menampilkan data yang akan masuk/dituliskan ke EEPROM dan data yang akan dibaca melalui EEPROM, sehingga kita akan mengetahui data yang ditulis dan dibaca EEPROM.

Data yang ditulis ke EEPROM merupakan data acak, dengan perintah/syntax dalam BASCOM AVR menggunakan ' RND( ) ' untuk menghasilkan data acak. 
misalkan RND(10) maka akan diperoleh data acak dari bilangan <=10.

Gambar 'Rangkaian', merupakan konfigurasi dari LCD yang saya gunakan : 

Rangkaian
Rangkaian
Untuk listing program nya sebagai berikut :


'******************************************************************************
' Program tutorial akses EEPROM READ AND WRITE
' Mirza dhanu
' http://Goes-open.blogspot.com
'******************************************************************************

$regfile = "m32def.dat"
$crystal = 11059200

Config Lcdpin = Pin , Db4 = Portc.3 , Db5 = Portc.2 , Db6 = Portc.1 , Db7 = Portc.0 , E = Portc.4 , Rs = Portc.5
Config Lcdbus = 4
Config Lcd = 16 * 2
Cursor Off

Dim A As Byte , I As Byte , B As Byte

Cls
Locate 1 , 1
Lcd "goes-openblogspot"
Locate 2 , 1
Lcd "Visit us..."

Wait 3
Cls
Locate 1 , 1
Lcd "Tutorial EEPROM "
Locate 2 , 1
Lcd "Akses EEPROM"

Wait 3

Cls
Locate 1 , 1
Lcd "Write EEPROM.."
Locate 2 , 1
Lcd "Datanya="

For I = 0 To 9
Locate 2 , 9
B = Rnd(100)
Lcd B
Writeeeprom B , I
Wait 1
Next I

Locate 2 , 1
Lcd "write finish"
Wait 2

Locate 1 , 1
Lcd "Read EEPROM.."
Locate 2 , 1
Lcd "data ke-"

For I = 0 To 9
Locate 2 , 9
Readeeprom A , I
Lcd I ; "=" ; A
Wait 1
Next I

End
'-------------------------------------------------------------------------------------------------------------

Penjelasan listing :

Akses EEPROM internal ATMega32 dengan BASCOM AVR, disini saya akan mejelaskan hal-hal yang pokok saja karena sebagian penjelasan sudah saya jelskan pada postingan2 sebelumnya, terutama yang LCD karena disini LCD digunakan sebagai interface nya.

Pada bagian berikut ini

For I = 0 To 9
Locate 2 , 9
B = Rnd(100)
Lcd B
Writeeeprom B , I
Wait 1
Next I


I adalah variabel yang digunakan untuk menuliskan data dari 0 sampai 9, dari dara acak dalam perintah Rnd(100) yang kemudian ditampilan pada LCD dalam variabel B. 
Writeeeprom B , I : merupakan perintah untuk menulis ke EEPROM, B adalah variabel data, dari data acak sedangkan I adalah alamat masing-masing data tadi. 


For I = 0 To 9
Locate 2 , 9
Readeeprom A , I
Lcd I ; "=" ; A
Wait 1
Next I
program ini untuk pembacaan data-data yang sudah dituliskan pada EEPROM ( 10 bilangan acak dari 0 sampai 9). Readeeprom A , I membaca variabel data yang telah dituliskan pada alamat2 I.



Gampang bukan??? hehheehe

Download Artikel Disini
Download rangkaian dengan Simulasi Proteus Disini
Download Program dengan Bascom AVR disini


Sekian artikel Akses EEPROM internal ATMega32 dengan BASCOM AVR, mohon maaf apabila ada kesalahan, semoga bermanfaat. 
Bagaimana menurut Anda? silahkan beri komentar.
Artikel Terkait Lainnya :


3 komentar:

ass.ka mau tnya nih,pas sya tes prgram dan rngkaian d atas mncul datanya dri 0-9,trus sya tes lgi untuk yg strusnya,knapa data yg ke 0-9 nilai yg kluar tetap sma sprti sblumnya,apakh yg dmksd rndom dsni dmksudkan untk nilai yg kluar dri dta 0-9.dan untk yg strusny akan ttp sma nnlai dta yg ke 0-9 slnjutny??trus nilai kluarn trsbut ddpat dri mna ya ka?? maaf msih newbie,jdi bnyk tnya. trimaksih.

Posting Komentar

Silahkan berkomentar

Site Search