Gunakan MimeTex/LaTex untuk menulis simbol dan persamaan matematika.

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

April 23, 2024, 10:55:42 PM

Login with username, password and session length

Topik Baru

Artikel Sains

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

Aku Cinta ForSa

ForSa on FB ForSa on Twitter

eeprom

Dimulai oleh okimm, Oktober 27, 2011, 07:00:25 PM

« sebelumnya - berikutnya »

0 Anggota dan 1 Pengunjung sedang melihat topik ini.

okimm

 ;DMau tanya lagi ;D
mohon bantuannya......
saya bikin program pakai fasilitas eeprom begini cara kerjanya--->>> ada 3 tombol.... yang dua untuk untuk nambah sama ngurangin angka terus yang tombol satunya buat nyimpen ke eeprom..... nah kalo di matiin angkanya tetep seperti terakhir saya setting...... saya sudah coba tapi gk bisa2 tolong pencerahannya dari suhu-suhu sekalian..... ini programnya :



#include <mega32.h>
#include <stdlib.h>
#include <delay.h>
// Alphanumeric LCD Module functions
#include <alcd.h>

long int eeprom *kvmeter;//deklarasi var eeprom       
int data;
char temp[10];
int ubah;
char ruy[10];

void tambah()
{
if (PIND.0==0)
{
ubah++;
}
if (PIND.1==0)
{
ubah--;
}
}

void tampil_ubah()
{
lcd_gotoxy(0,0);
      lcd_putsf("coba2");
      delay_ms(20);
      itoa(ubah,temp);
      lcd_gotoxy(0,1);
      lcd_puts(temp);
}

void tampil_eprom()
{
lcd_gotoxy(0,0);
      lcd_putsf("coba-coba");
      delay_ms(20);
      itoa(data,ruy);
      lcd_gotoxy(0,1);
      lcd_puts(ruy);

}
void simpan()//jika pind0=0 maka akan menulis ke eeprom
{
if (PIND.2==0)
{
*kvmeter=data;
}
}

void baca()//baca eeprom
{
kvmeter=0;
data=*kvmeter;
}

void main(void)
{
// Declare your local variables here

PORTA=0x00;
DDRA=0x00;

PORTB=0x00;
DDRB=0x00;

PORTC=0x00;
DDRC=0xff;

PORTD=0xFF;
DDRD=0x00;

TCCR0=0x00;
TCNT0=0x00;
OCR0=0x00;

TCCR1A=0x00;
TCCR1B=0x00;
TCNT1H=0x00;
TCNT1L=0x00;
ICR1H=0x00;
ICR1L=0x00;
OCR1AH=0x00;
OCR1AL=0x00;
OCR1BH=0x00;
OCR1BL=0x00;

ASSR=0x00;
TCCR2=0x00;
TCNT2=0x00;
OCR2=0x00;

// External Interrupt(s) initialization
// INT0: Off
// INT1: Off
// INT2: Off
MCUCR=0x00;
MCUCSR=0x00;

TIMSK=0x00;
UCSRB=0x00;

ACSR=0x80;
SFIOR=0x00;

// ADC initialization
// ADC disabled
ADCSRA=0x00;

SPCR=0x00;

TWCR=0x00;

lcd_init(16);

while (1)
      {
      // Place your code here
      tambah();
      tampil_ubah();
      simpan();
      baca();
      tampil_eprom();
      }
}




txh sebelumnya

ksatriabajuhitam

sebaiknya fungsi ubah() dijadikan interrupt handler untuk penekanan tombol deh.
kalo engga, dalam fungsi ubah() diawali tunggu while(PIND==0xFF); lalu pake delay sedikit untuk menghindari bouncing effect.

selamat mencoba!
not all the problems could be solved by the sword, but sword holder take control of problems.
ForSa versi mobile: http://www.forumsains.com/forum?wap2