Member baru? Bingung? Perlu bantuan? Silakan baca panduan singkat untuk ikut berdiskusi.

Welcome to Forum Sains Indonesia. Please login or sign up.

Maret 29, 2024, 02:50:20 AM

Login with username, password and session length

Topik Baru

Artikel Sains

Anggota
Stats
  • Total Tulisan: 139,653
  • Total Topik: 10,405
  • Online today: 102
  • Online ever: 1,582
  • (Desember 22, 2022, 06:39:12 AM)
Pengguna Online
Users: 0
Guests: 136
Total: 136

Aku Cinta ForSa

ForSa on FB ForSa on Twitter

help menyimpan data di mikrokontroler

Dimulai oleh muflih, Juli 05, 2010, 10:19:43 PM

« sebelumnya - berikutnya »

0 Anggota dan 1 Pengunjung sedang melihat topik ini.

muflih

mau nanya ni ama teman - teman. bisa nga kita menyimpan data dalam mikrokontroler AT89s51 walaupun catu daya diputuskan dari rangkaian. misalnya kita masukkan angka (pin) dari keypad yang terhubung ke AT89s51. data tersebut  tetap tersimpan walapun catu daya putus. kalau bisa gimana caranya ? kalau nga bisa ada nga cara untuk dapat menyimpan data ?
terima kasih

0y1k

Gunakan internal EEPROM atau FlashROM
Biasanya menggunakan FlashROM karena sizenya lebih besar

coba deh cari library untuk access FlashROM atau EEPROM
لاَ إِلَـهَ إِلاَّ اللهُ الْعَظِيْمُ الْحَلِيْمُ، لاَ إِلَـهَ إِلاَّ اللهُ رَبُّ الْعَرْشِ الْعَظِيْمُ، لاَ إِلَـهَ إِلاَّ اللهُ رَبُّ السَّمَاوَاتِ وَرَبُّ اْلأَرْضِ وَرَبُّ الْع

Too Payz

Kutipmau nanya ni ama teman - teman. bisa nga kita menyimpan data dalam mikrokontroler AT89s51 walaupun catu daya diputuskan dari rangkaian. misalnya kita masukkan angka (pin) dari keypad yang terhubung ke AT89s51. data tersebut  tetap tersimpan walapun catu daya putus. kalau bisa gimana caranya ? kalau nga bisa ada nga cara untuk dapat menyimpan data ?
terima kasih
AT89S51 tidak punya internal EEPROM jadi ga bisa..  :-\
Caranya tambahkan eksternal EEPROM.
Bisa tipe parallel EEPROM atau tipe serial EEPROM
seperti AT93C66, 28C64, dll.
Coba aja searching di internet untuk datasheet macam-macam ICnya..

tipe AVR hampir semuanya punya internal EEPROM, jadi tinggal diprogram saja.
Pilih mana..??   ;)   ;)   :D

elang biru

Kalo nga mau pake EEPROM external, ganti aja pakai AT89S8252 atau AT89S8253, konfigurasi pin nya sama dengan AT89S51...hanya perlu nambah program untuk menulis ke internal EEPROM...
---------------------&&&&&&&&&&&&&---------------------


---------------------////////////////////---------------------

muflih

untuk AT89S8252 atau AT89S8253 cara untuk menyimpan datanya gimana ? mohon bantuannya, kalau bisa pake bascom tapi kalau nga pake c juga bole biar saya coba ?

elang biru

Untuk AT89S8252 internal EEPROM dikendalikan oleh SFR WMCON (watchdog and memory control register) yang beralamat di 96H. EEPROM internal dikendalikan oleh bit EEMWE (bit ke-4) dan EEMEN (bit ke 3) dari register WMCON.
EEMWE = EEPROM Write Enable, sebelum menulis ke EEPROM bit ini harus di-set ("1"), dan di reset ("0") setelah selesai menulis.
EEMEN = EEPROM Access Enable, harus di-set sebelum mengakses (baca atau tulis) EEPROM internal.
Untuk menulis atau membaca internal EEPROM, dilakukan sama seperti mengakses external memory, perintah MOVX, asalkan bit-bit kendali telah di set.

Untuk contoh pakai Bascom, saya copykan dari help-nya Bascom...

The AT89S8252 has a built in 2Kbytes flash EEPROM.

You can use this to store data.

Two statements are provided : WRITEEEPROM and READEEPROM.



WRITEEEPROM var [, address ]



var
Any BASCOM variable name.

Address
The address of the EEPROM where to write the data to.

Ranges from 0 to 2047.

When you omit the address the address will be assigned automatically. You can view the assigned address in the report file.




READEEPROM var [, address ]



var
Any BASCOM variable name.

Address
The address of the EEPROM where to read the data from.

Ranges from 0 to 2047.

You can omit the address when you have written a value before with the WRITEEEPROM var statement.

Because in that case the compiler knows about the address because it is assigned by the compiler.




Example

Dim S As String * 15 , S2 As String * 10

S = "Hello" : S2 = "test"



Dim L As Long

L = 12345678

Writeeeprom S

Writeeeprom S2                          'write strings

Writeeeprom L                           'write long



S = "" : S2 = "" : L = 0                'clear variables

Readeeprom L : Print L

Readeeprom S : Print S

Readeeprom S2 : Print S2

End
---------------------&&&&&&&&&&&&&---------------------


---------------------////////////////////---------------------

muflih

#6
makasi baget atas pencerahannya. saya akan coba dengan mengganti AT89s51 ke AT898252 atau AT89S8253.

herlambang

Coba AVR... Pasti ketagihan... ease programming and powerfull!
built-in double watchdog! ^^"   *Problem Solved*

muflih

emang saya pengen belajar avr juga hanya saya belum punya modul untuk avrnya

haglan

bikin sendiri ajh modulnya .... heheh ... murah n meriah bikin aj pke pcb titik hehe ...

muflih

punya rangkaiannya minimum systemnya ?