adc internal atmega 8


unsigned int getadc(unsigned char channeladc)
{
unsigned int adcVal;
ADMUX=channeladc|0x40;   //avcc
ADCSRA|=(1<<ADEN);
ADCSRA|=(1<<ADSC);
loop_until_bit_is_clear(ADCSRA,ADSC);
adcVal = ADCW;
ADCSRA&=~(1<<ADEN);
return adcVal;
}

mantap adc atmega keren, itu yang paling di suka di atmega. dulu kalo mau rubah data dari analog ke digital harus pakai adc 0804, atau 0809.

adc 0804 dengan mode free runing kerenlah, mantap, tapi hanya 1 chanel. kalo pengen banyak chanel harus ditambahkan ic 4051, jadi nambah lagi ic. ya zaman dulu belum ada atmega.

kalo pegalaman adc 0809, memang dulu saya pernah nyoba dan sudah bisa jalan, tapi saya kapok kalo harus bikin clock 500Khz. permaasalahannya cuma di clocknya aja.

kalo sekarang mah udah ada adc internal, jadi ngga perlu ribet lagi.  pokoknya hidup adc 0804.

2 thoughts on “adc internal atmega 8”

  1. Kang, mau tanya, kalo misalnya mau akuisisi data pake ADC0809 tp sumber input analognya cm satu, itu bagaimana? tinggal dihubungkan di salah satu dari 8 channel inputnya aja ya? yg 7 lainnya dibiarin aja, apa ky gt?
    trus bagaimana dg 3 bit add A, B dan C jg latch enablenya yg notabene sbg pemilih saluran input? apa ttp seperti halnya mengakuisisi data 8 masukan spt biasa?
    Terima kasih.

  2. dulu saya pernah nyoba, harus baca lagi datasheet euy . kalo dulu saya modenya pakai mode free runing. 1 dihubungkan 7 dibiarin.
    nah untun addresnya ABC disesuaikan dengan channelnya
    misal kalo channel 0 berarti abc nya di 0 kan semua atau di gndkan.

Tinggalkan Balasan

Isikan data di bawah atau klik salah satu ikon untuk log in:

Logo WordPress.com

You are commenting using your WordPress.com account. Logout / Ubah )

Gambar Twitter

You are commenting using your Twitter account. Logout / Ubah )

Foto Facebook

You are commenting using your Facebook account. Logout / Ubah )

Foto Google+

You are commenting using your Google+ account. Logout / Ubah )

Connecting to %s