Beranda > Elektronika, Programming > Interfacing – ADC 0804 dengan Mikrokontroller (bag.1)

Interfacing – ADC 0804 dengan Mikrokontroller (bag.1)

Judul nya sudah basi….mudah-mudahan  ilmunya bermanfaat….

Dalam kehidupan sehari-hari , apa pun yang berhubungan seperti suara, tekanan, tegangan atau kuantitas terukur, biasanya dalam bentuk analog, Jadi bagaimana jika kita ingin salah satu antarmuka sensor analog dengan kontroler digital ? Harus ada sesuatu yang menerjemahkan input analog ke output digital yaitu rangkaian Analog to digital converter. Biasanya kita menyebutnya ADC (analog ke digital). Sebelum belajar bagaimana sebuah antarmuka ADC dengan controller pertama-tama kita melihat metode dasar konversi analog ke digital.

Dibawah ini contoh dari  metode konversi analog-ke-digital. Prinsip dasar operasi adalah dengan menggunakan prinsip komparator untuk menentukan apakah atau tidak untuk mengaktifkan data dari output bilangan biner.  ADC menggunakan konverter digital-ke-analog (DAC) untuk menentukan salah satu masukan untuk komparator, perhatikan gambar 1

gambar 1.1

Konversi dari analog ke bentuk digital secara inheren melibatkan tindakan pembanding dimana nilai dari tegangan analog di beberapa titik di waktu dibandingkan dengan standar tertentu. Sebuah cara yang umum untuk melakukannya adalah dengan menerapkan tegangan analog ke salah satu terminal pembanding dan memicu counter biner memanfaatkan driver DAC. Output dari DAC diterapkan ke terminal lain dari komparator. Karena output dari DAC semakin meningkat dengan counter, maka akan memicu komparator pada titik tertentu ketika tegangan yang melebihi input analog. Transisi dari komparator menghentikan counter biner, yang pada titik yang memegang nilai digital yang sesuai dengan tegangan analog.

gambar 2

Digambarkan adalah flash 3-bit ADC dengan resolusi 1 volt . Resistor Pack dan pembanding(komparator) memberikan masukan untuk rangkaian logika kombinasional, sehingga waktu konversi hanya delay propagasi melalui jaringan – tidak dibatasi oleh laju waktu atau beberapa urutan konvergensi. Ini adalah jenis ADC tercepat yang tersedia, tetapi membutuhkan pembanding untuk setiap nilai output (63 untuk 6-bit, 255 untuk 8-bit, dll) ADCs tersebut tersedia dalam bentuk IC sampai dengan 8-bit dan 10 bit flash ADCs (1023 pembanding) . Logika encoder mengeksekusi sebuah tabel kebenaran untuk mengkonversi tangga input ke output bilangan biner.

perhatikan gambar 3  dibawah ini

gambar 3

Langsung ke TKP => ADC0804 pin konfiguration

gambar 4

gambar 5

Diagram waktu di atas dari datasheet ADC0804. Diagram pertama (Gambar 5) menunjukkan bagaimana memulai konversi.

1. Membuat chip pilih (CS) sinyal Low.
2. Membuat write (WR) sinyal Low.
3. Membuat chip pilih (CS) High.
4. Tunggu intr pin untuk pergi (berakhir berarti konversi) Low.

Setelah konversi dilakukan di ADC, data tersedia dalam output kait dari ADC. Lihat gambar 5 yang menunjukkan diagram waktu cara membaca nilai yang dikonversi dari output kait dari ADC. Data konversi baru hanya tersedia untuk membaca setelah dibuat intr pin ADC0804 rendah atau mengatakan kapan konversi selesai. Di bawah ini adalah stepts untuk membaca output dari ADC0804 tersebut.

1. Membuat chip pilih (CS) pin Low.
2. Membuat read (RD) sinyal Low.
3. Membaca data dari port mana ADC tersambung.
4. Membuat read (RD) sinyal High.
5. Membuat chip pilih (CS) High.

dibawah ini contoh program interfacing ADC dengan mikrokontroller AT89S51 atau sejenisnya…

saya gunakan compiler ASM51 ,dan IC mikrokontroller AT89S51- untuk programnya harap disesuaikan dengan Rangkaian (hardware ) yang anda buat…JANGAN ASAL KOPAS…!!!!

$mod51   ;saya gunakan compiler ASM51 kalo anda pake yg lain harap disesuaikan header nya

org 0h

ADC_CS    bit    P2.7
ADC_RD    bit    P2.6
ADC_WR    bit    P2.5
ADC_INT    bit    P2.4
;
org    0h
next_sampling:
clr    ADC_CS    ; aktifkan ADC0804
clr    ADC_WR    ; start of conversion
setb    ADC_WR
not_EOC:
jb    ADC_INT,not_EOC
delay:    djnz    R2,$
djnz    R3,delay
clr    ADC_RD    ; Baca Data melalui P3
djnz    R3,$
mov    A,P3    ;salin data ke P3
setb    ADC_RD
setb    ADC_CS
cpl    A
mov    P1,A
sjmp    next_sampling
end

Masih ERROR…!! atau bingung…??? kirimkan komentar….mari diskusikan……!!

tutorial ini diambil dari web… http://laros-edu.net

Bersambung…..ke tutorial berikutnya…..

  1. Februari 15, 2011 pukul 7:36 am

    Artikelnya bagus. Saya ikut sharring. Saya ada rangkaian ADC0804 di komputer den diprogram dengan delphi. Kunjungi blog saya
    http://iswanto.staff.umy.ac.id/2011/02/15/mengkonversi-data-analog/

    • Februari 16, 2011 pukul 8:08 am

      artikel bagus…..terima kasih sudah mau berbagi lanjutkan menulisnya,
      saya lebih terbiasa dengan Visual Basic 6.0 untuk interface dengan ADC,menggunakan komunikasi USB / Serial (DB9) + mikrokontorller…..yang divisualisasi di PC ( grafik suhu dll)….kapan2 saya share disni….() wait for it

  2. Februari 25, 2011 pukul 9:01 am

    Ya mas, saya tunggu untuk artikelnya. saya juga mau share ke blog saya untuk delphi dengan serial port untuk komunikasi suhu.

  3. sofyan
    Desember 21, 2015 pukul 12:14 am

    maap, gambar 1 sampai 3 kok gak ada ya mas??

  1. No trackbacks yet.

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

%d blogger menyukai ini: