6
A DC 0820 adalah IC pengubah data analog menjadi data digital.Teknik pengubahan menggunakan metode half flash sehingga
mempunyai kecepaan konversi yang tinggi. Secara umum fitur yangada adalah sebagai berikut :
• builtin fungsi track and hold• catu daya tunggal (+5V) dengan daya 75mW,• jangkauan tegangan analog dari 0 s/d +5V,• selaras dengan tingkat TTL dan MOS,• tidak membutuhkan pengaturan nol dan skala penuh,• keluaran luapan (overflow) untuk penggandengan.• waktu konversi :
1,5 µs (mode WRRD)2,5 µs (mode RD)
1.1. Susunan dan Fungsi Kaki ICAda beberapa macam kemasan IC ADC0820 salah satunya
adalah DIP (standar kemasan yang lainnya dapat dilihat padadatasheet) yang diperlihatkan pada Error: Reference source notfound. ADC0820 mempunyai dua mode kerja yaitu mode WRRD danmode RD, pembahasan pada bab ini mengacu pada mode WRRDFungsi masingmasing kaki dengan mengacu pada mode WRRDdiperlihatkan pada Error: Reference source not found. (mode RDdapat dirujuk pada datasheet ADC0820).
BAB 1MENGGUNAKAN
ADC 0820
Terampil Membuat Aplikasi Mikrokontroler AT89S51/52 oleh Totok Budioko
7 TrifaMedia
Gambar I.1 Susunan kaki ADC0820.
Catatan:Untuk parameter DC maupun AC dapat dilihat secara lengkap padadatasheet.
Tabel 1.1 Fungsi Pin IC ADC 0820
Bab 1. Menggunakan ADC 0820
8TrifaMedia
1.1. Kerja ADCSecara umum kerja ADC terdiri atas tiga runtun yaitu :
(1) memulai konversi (START),(2) melakukan konversi, dan(3) memberitahu akhir konversi
Untuk memulai konversi maka sinyal /CS dan /WR diberi logikarendah (0). Beberapa chip ADC mengunakan nama WR denganSTART.
Setelah ADC menerima sinyal mulai konversi maka ADC akanmelakukan proses konversi yang ditandai dengan keluaran /INTtinggi (beberapa chip ADC menamakan dengan keluaran End ofConversion /EOC).
Akhir konversi ditandai dengan logika rendah pada keluaran/INT. Pada akhir konversi data digital dihasilkan dan dapat dibacamelalui kaki DB0 s/d DB7 (bus data) dengan mengaktifkan /RD.
Diagram pewaktuan kerja ADC diperlihatkan pada Gambar I.2.Untuk mempercepat proses konversi maka sinyal /RD dapatdiakifkan sebelum akhir proses konversi namun pembacaan datatetap setelah sinyal /INT aktif sebagaimana pada Gambar I.3.
Pada mode stand alone atau free running sinyal /CS dan /RDdiberi logika rendah. Sinyal akhir konversi (/INT) digunakan untukmengaktifkan /RW oleh karena itu kaki /INT dikoneksikan dengan kak/RW. Sinyal /RW masih harus diaktifkan secara eksternal (saklaratau dari mikrokontroler). Diagram pewaktuan diperlihatkan padaGambar I.4.
Gambar 1.2 Operasi stand alone atau free running.
Terampil Membuat Aplikasi Mikrokontroler AT89S51/52 oleh Totok Budioko
9 TrifaMedia
1.2. Tegangan ReferensiTegangan referensi VREF terdiri atas VREF(+) dan VREF().
Tegangan VREF merupakan deferensial antara VREF(+) dan VREF(), sehingga nilai VREF = VREF(+) VREF(). Tegangan masukanyang nilainya sama dengan VREF() akan dikonversi ke data 0x00(nol) dan tegangan masukan yang nilainya sama dengan VREF(+)akan dikonversi ke data 0xff (skala penuh). Dengan mengurangiVREF maka sensitivitas ADC akan meningkat.
Contoh:VREF = 2,55 Volt maka 1 LSB = 2,55 Volt/255 = 10 mV.
Gambar 1.3 Operasi stand alone atau free running.
Gambar 1.4 Operasi stand alone atau free running.
Bab 1. Menggunakan ADC 0820
10TrifaMedia
Gambar 1.5. Antarmuka ADC dengan mikrokontroler terkoneksi port.
Gambar 1.5 adalah contoh antarmuka antara ADC denganmikrokontroler menggunakan teknik terkoneksi port. Bus data ADCdikoneksikan dengan Port 0. Signal WR, CS, dan RD masingmasingdikoneksikan dengan P2.0, P2.1, dan P2.2. Sedangkan /INTdikoneksikan dengan P3.3 (INT1) untuk antisipasi jika menggunakanteknik interupsi dalam pembacaan data hasil konversi.
Data analog berupa tegangan keluaran potensiometer denganjangkauan tegangan dari 0V s/d 5V. Vref(+) dikoneksikan denganVcc (+5V) dan Vref() dikoneksikan dengan ground.
Terampil Membuat Aplikasi Mikrokontroler AT89S51/52 oleh Totok Budioko
11 TrifaMedia
PemrogramanAntarmuka dengan teknik terkoneksi dengan port seluruh
algoritma konversi diimplementasikan menggunakan perangkatlunak, oleh karena itu program menjadi lebih panjang jikadibandingkan dengan teknik terpetakan memori.
Untuk memerintahkan ADC melakukan konversi dan kemudianmembaca hasil konversinya, cukup dibuat satu fungsi. Adapunalgorimanya adalah sebagai berikut.
1. Aktifkan pulsa Start (WR dan CS =0 kemudian 1 kembali)2.Tunggu sampai konversi selesai (INT=0)3.Baca data hasil konversi (RD dan CS =0, baca port yangterkonekasi dengan bus data ADC).
Implementasi Fungsi Konversi#define data_ADC P0 //data ADC dikoneksikan ke P0#define WR_ADC P2_0 //sinyal write#define CS_ADC P2_1 //sinyal chip select#define RD_ADC P2_2 //sinyal read#define INT_ADC P3_3 //selesai konversiunsigned char ADC()unsigned char tmp;CS_ADC=0;WR_ADC=0;CS_ADC=1; //pulsa start konversiWR_ADC=1;while(INT_ADC==1); //tunggu proses konversiRD_ADC=0;CS_ADC=0;tmp=data_ADC; //baca data hasil konversiRD_ADC=1;CS_ADC=1;return(tmp);
Bab 1. Menggunakan ADC 0820
12TrifaMedia
Aplikasi#include<at89x51.h>#include<stdio.h>#include "tunda_keras.h"#include "lcd_4bit.h"#define data_ADC P0#define WR_ADC P2_0#define CS_ADC P2_1#define RD_ADC P2_2#define INT_ADC P3_3unsigned char ADC()unsigned char tmp;CS_ADC=0;WR_ADC=0;CS_ADC=1;WR_ADC=1;while(INT_ADC==1); //tunggu prosesRD_ADC=0;CS_ADC=0;tmp=data_ADC; //baca data hasilRD_ADC=1;CS_ADC=1;return(tmp);void putchar(char datanya) //standar output
diarahkan ke LCDTulis_LCD4bit(datanya);void main()Uchar hs=9;Tunda_ms(60);Init_LCD4bit();while(1)Kirim_Perintah4bit(0x01);hs=ADC();printf_small("Hasil =%d",hs);Tunda_ms(1000);
Terampil Membuat Aplikasi Mikrokontroler AT89S51/52 oleh Totok Budioko
13 TrifaMedia
Terpetakan MemoriSelain menggunakan teknik terkoneksi port, antarmuka
ADC0820 juga dapat dilakukan dengan teknik terpetakan memori.Ruang memori yang digunakan adalah ruang memori data eksternal.Perlu diingat adalah ADC merupakan peralatan masukan sehinggahanya dapat dibaca saja. Penulisan pada ADC digunakan untukmengaktifkan sinyal start bukan untuk menulis/mengeluarkan data keADC.Antarmuka
Agar dapat membandingkan dengan teknik terkoneksi ke portmaka keluaran data ADC tetap dikoneksikan dengan Port 0 (P0).Kaki RD dan WR pada ADC masingmasing dihubungkan dengankaki RD ( P3.7) dan WR (P3.6) pada mikrokontroler sedangkan kakiCS dihubungkan dengan keluaran dekoder alamat untuk menentukanalamat ADC.
Gambar I.6 Antarmuka ADC dengan teknik terpetakan memori.Contoh:Gambar I.6 di atas adalah contoh antarmuka ADC dengan
mikrokontroler terpetakan memori. Hanya jalur alamat A15, A14, danA13 saja yang menjadi masukan dekoder alamat sehingga logika 1atau 0 pada jalur alamat yang lainnya tidak mempengaruhi aktiftidaknya ADC.
Bab 1. Menggunakan ADC 0820
14TrifaMedia
Akibatnya akan terjadi duplikasi alamat yang sangat banyakuntuk komponen ADC. Karena jalur alamat yang tidak dikoneksikandengan masukan ADC sebanyak 13 bit maka akan terjadi duplikasialamat sebanya 213 – 1 = 8191 alamat.
Tabel I.2 Alamat ADC dan duplikasinya.
PemrogramanPada teknik terpetakan memori ADC dianggap sebagai variabel
yang berada di ruang memori data eksternal oleh karena itu perludideklarasikan sebagai variabel. volatile xdata Uchar at 0x2000adc_data;Fungsi Konversi
#define INT_ADC P3_3volatile xdata Uchar at 0x2000 adc_data;Uchar ADC()adc_data=0xff;while(INT_ADC==1);return(adc_data);
Aplikasi#include<at89x51.h>#include<stdio.h>#include "tunda_keras.h"#include "lcd_4bit.h"#define INT_ADC P3_3volatile xdata Uchar at 0x2000 adc_data;Uchar ADC()adc_data=0xff;while(INT_ADC==1);return(adc_data);
Terampil Membuat Aplikasi Mikrokontroler AT89S51/52 oleh Totok Budioko
15 TrifaMedia
void putchar(char datanya)Tulis_LCD4bit(datanya);void main()Uchar hs=9;Tunda_ms(60);Init_LCD4bit();while(1)Kirim_Perintah4bit(0x01);hs=ADC();printf_small("Hasil =%d",hs);Tunda_ms(1000);
****Selesai****
Top Related