Bab ini merupakan penutup yang meliputi tentang kesimpulan yang dilakukan dari Tugas Akhir ini serta saran apakah yang diberikan agar rangkaian ini dapat dibuat lebih efisien dan dikembangkan perakitannya pada suatu metode lain yang mempunyai sistem kerja yang sama.
BAB II
LANDASAN TEORI
2.1Perangkat Keras
Dalam merancang sebuah peralatan yang cerdas, diperlukan suatu perangkat keras (hardware) yang dapat mengolah data, menghitung, mengingat dan mengambil pilihan. Mikrokontroler merupakan salah satu jawabannya. Vendor dari mikrokontroler ini ada beberapa macam, diantaranya yang paling terkenal adalah AT89S51. Selain mengunakan mikrokontroler juga digunakan LM 35 sebagai sensor dan ADC sebagai pengkonversi besaran analog menjadi besaran digital. Selain itu juga terdapat beberapa perangkat seperti : relay, seven segmen, dan keypad .
2.1.1 Mikrokontroler AT89S51
Mikrokontroler adalah gabungan dari sebuah mikroprosesor dan periperalnya, seperti RAM,ROM (EPROM atau EEPROM) antar muka serial dan paralel, timer dan rangkaian pengontrol interupsi yang terkait dalam satu IC. Semuanya membentuk suatu sistem komputer yang lengkap. Perbedaannya dengan komputer adalah mikrokontroler didesain dengan komponen-komponen yang minimum dan dipakai untuk orientasi kontrol. Programnya tidak berukuran besar dan disimpan dalam ROM. Akibat perbedaan aplikasinya dengan mikroprosesor, mikrokontroler juga mempunyai kebutuhan set intruksi yang berbeda dengan mikroprosesor. Tidak seperti sistem komputer, yang mampu
menangani berbagai macam program aplikasi (misalnya pengolahan kata, pengolahan angka dan lain sebagainya), mikrokontroler hanya bisa digunakan untuk satu aplikasi tertentu saja. Perbedaan lainnya terletak pada perbandingan RAM dan ROM-nya. Pada sistem komputer RAM dan ROM-nya besar. Sedangkan pada mikrokontroler ROM dan RAM-nya terbatas.
Mikroprosesor biasanya mempunyai set instruksi yang sangat lengkap, sedangkan mikrokontroler mempunyai set instruksi yang lebih sederhana, terutama dipakai untuk mengontrol antar muka input dan output yang menggunakan bit tunggal (singgel bit). Mikrokontroler mempunyai banyak instruksi untuk set dan clear bit secara individual dan melakukan operasi yang berorientasi 1 bit untuk logika AND, OR, XOR, loncatan (jumping), percabangan (brancing) dan lain-lain. Set instruksi seperti ini jarang ada pada mikroprosesor yang biasanya untuk operasi pada byte atau unit data yang lebih besar.
Adapun kelebihan dari mikrokontroller adalah sebagai berikut :
1. Penggerak pada mikrokontoler menggunakan bahasa pemograman assembly dengan berpatokan pada kaidah digital dasar sehingga pengoperasian sistem menjadi sangat mudah dikerjakan sesuai dengan logika sistem (bahasa assembly ini mudah dimengerti karena menggunakan bahasa assembly aplikasi dimana parameter input dan output langsung bisa diakses tanpa menggunakan banyak perintah). Desain bahasa assembly ini tidak menggunakan begitu banyak syarat penulisan bahasa pemrograman seperti huruf besar dan huruf kecil untuk bahasa assembly tetap diwajarkan.
2. Mikrokontroler tersusun dalam satu chip dimana prosesor, memori, dan I/O terintegrasi menjadi satu kesatuan kontrol sistem sehingga mikrokontroler dapat dikatakan sebagai komputer mini yang dapat bekerja secara inovatif sesuai dengan kebutuhan sistem.
3. Sistem running bersifat berdiri sendiri tanpa tergantung dengan komputer sedangkan parameter komputer hanya digunakan untuk download perintah instruksi atau program. Langkah-langkah untuk download komputer dengan mikrokontroler sangat mudah digunakan karena tidak menggunakan banyak perintah.
4. Pada mikrokontroler tersedia fasilitas tambahan untuk pengembangan memori dan I/O yang disesuaikan dengan kebutuhan sistem.
5. Harga untuk memperoleh alat ini lebih murah dan mudah didapat. 6. Mikrokontroller AT89S51 adalah standart International.
AT89S51 merupakan keluaran atmel dengan 4 Kbyte Flash PEROM (Programmable and Erasable Read Only Memory). Isi memori tersebut dapat diisi ulang ataupun dihapus berkali-kali. AT89S51 merupakan memori dengan teknologi non-volatile memory (data tidak hilang walaupun catu daya dimatikan). Memori ini biasa digunakan untuk menyimpan instruksi berstandar MCS-51 code sehingga memungkinkan mikrokontroler ini bekerja dalam mode single chip operation (mode operasi keping tunggal) yang tidak memerlukan external memory (memori luar) untuk menyimpan source code tersebut. Seperti gambar 2.1.
Gambar 2.1. Struktur memori AT89S51
Beberapa fasilitas yang dimiliki oleh microcontroller AT89S51 adalah sebagai berikut :
a. Sebuah Central Processing Unit 8 bit b. Osilatc : internal dan rangkaian pewaktu c. RAM internal 128 byte
d. Flash memori 4 Kbyte
e. Lima buah jalur interupsi (dua buah interupsi eksternal dan tiga buah interupsi internal)
f. Empat buah programable port I/0 yang masing-masing terdiri dari delapan buah jalur I/0
g. Sebuah port serial dengan kontrol serial full duplex UART
h. Kemampuan untuk melaksanakan operasi aritmatika dan operasi logika i. Kecepatan dalam melaksanakan instruksi per siklus 1 mikrodetik pada
frekuensi.
2.1.1.1Konstruksi AT89S51
Mikrokontroller AT89S51 hanya memerlukan tambahan 3 kapasitor, 1 resistor dan 1 kristal serta catu daya 5 volt. Kapasitor 10 micro-fard dan resistor 10 kilo Ohm dipakai untuk membentuk rangkaian riset. Dengan adanya rangkaian
riset ini AT89S51 otomatis diriset begitu rangkaian menerima catu daya. Kristal dengan frekuensi maksimum 12 MHz dan kapasitor 30 piko-farad dipakai untuk melengkapi rangkaian oscilator pembentuk clock yang menentukan kecepatan kerja Microcontroller.
Memori merupakan bagian yang sangat penting pada Microcontroller. Microcontroller memiliki dua macam memori yang sifatnya berbeda :
1. Read Only Memory (ROM) yang isinya tidak berubah meskipun IC kehilangan catu daya. Sesuai dengan keperluannya, dalam susunan MCS-51 memori penyimpanan program ini dinamakan sebagai memori program. 2. Random Access Memory (RAM) isinya akan sirna begitu IC kehilangan catu
daya, dipakai untuk menyimpan data pada saat program bekerja. RAM yang dipakai untuk menyimpan data ini disebut sebagai memori data.
Ada berbagai jenis ROM. Untuk Microcontroller dengan program yang sudah baku dan diproduksi secara massal, program diisikan kedalam ROM pada saat IC Microcontroller dicetak dipabrik IC. Untuk keperluan tertentu Microcontroller menggunakan ROM yang dapat diisi ulang atau Programble-Eraseable ROM yang disingkat menjadi PROM (PEROM). Dulu banyak UV-EPROM (Ultra Violet Eraseable Programble ROM) yang kemudian dinilai mahal dan ditinggalkan setelah ada flash PEROM yang harganya jauh lebih murah. Flash PEROM adalah Memori yang digunakan untuk menyimpan instruksi-instruksi MCS51. Flash PEROM dialamati oleh Program Address Register. AT89S51 mempunyai 4Kb Flash PEROM, yaitu ROM yang dapat ditulis ulang atau dihapus menggunakan sebuah perangkat programmer, yang mempunyai kemampuan untuk ditulis ulang hingga 1000 kali. Program yang ada pada Flash PEROM akan
dijalankan pada saat sistem di-reset, pin EA/VP berlogika 1 sehingga mikrokontroller aktif berdasarkan program yang ada pada Flash PEROM-nya. Namun jika pin EA/VP berlogika 0, mikrokontroler aktif berdasarkan program yang ada pada memori eksternal. .
Jenis memori yang dipakai untuk memori program AT89S51 adalah flash PEROM, program untuk mengendalikan Microcontroller diisikan ke memori itu lewat bantuan alat yang dinamakan sebagai AT89S51 flash PEROM Programmer. Memori data yang disediakan dalam chip AT89S51 sebesar 128 kilo byte meskipun hanya kecil saja tapi untuk banyak keperluan memori kapasitas itu sudah cukup. Sarana Input/Output yang disediakan cukup banyak dan bervariasi. AT89S51 mempunyai 32 jalur Input/Output paralel dikenal sebagai Port 1 (P1.0 … P1.7) dan Port 3 (P3.0 … P3.7).
AT89S51 dilengkapi UART (Universal Asyncronous Receiver /Transmiter) yang biasa dipakai untuk komunikasi data secara seri. Jalur untuk komunikasi data seri (RXD dan TXD) diletakkan berhimpitan dengan P1.0 dan P1.1. pada kaki nomor 2 dan 3, sehingga kalau sarana input/output bekerja menurut fungsi waktu. Clock penggerak untaian pencacah ini bisa berasal dari oscillator kristal atau clock yang diumpan dari luar lewat T0 dan T1/T0 dan T1 berhimpitan dengan P3.4 dan P3.5, sehingga P3.4 dan P3.5 tidak bisa dipakai untuk jalur input/output paralel kalau T0 dan T1 dipakai.
AT89S51 mempunyai enam sumber pembangkit interupsi, dua diantaranya adalah sinyal interupsi yang diumpankan ke kaki INT0 dan INT1. Kedua kaki ini berhimpitan dangan P3.2 dan P3.3 sehingga tidak bisa dipakai sebagai jalur
input/output paralel kalau INT0 dan INT1 dipakai untuk menerima sinyal interupsi.
Port1 dan 2, UART, Timer 0, Timer 1 dan sarana lainnya merupakan yang secara fisik merupakan RAM khusus, yang ditempatkan di Special Function Register (SFR).
2.1.1.2Konfigurasi dan Fungsi Kaki Pin AT89S51
Mikrokontroler AT89S51 mempunyai 40 kaki, 32 kaki diantaranya adalah kaki untuk keperluan Port paralel. Satu Port paralel terdiri dari 8 kaki, dengan demikian 32 kaki tersebut membentuk 4 buah Port paralel. Berikut gambar 2.2 sebagai konfigurasi pin mikrokontroler AT89S51 :
Gambar 2.2. Konfigurasi Pin Mikrokontroler AT89S51
Pada Gambar 2.2. terlihat bahwa AT89S51 mempunyai 4 buah port paralel, yang masing-masing dikenal dengan Port 0, Port 1, Port 2, dan Port 3. Nomor dari masing-masing jalur (kaki) dari Port paralel mulai dari 0 sampai 7, jalur pertama Port 0 disebut sebagai P0.0 dan jalur terakhir untuk Port 3 adalah P3.7.
Susunan pena – pena mikrokontroler AT89S51 pada gambar 2.2 dapat dijelaskan sebagai berikut :
1. Pin 1 sampai 8 (Port 1) merupakan port pararel 8 bit dua arah (bidirectional) yang dapat digunakan untuk berbagai keperluan (general purpose).
2. Pin 9 merupakan pin reset, reset aktif jika mendapat catuan tinggi. Reset akan aktif dengan memberikan input high selama 2 cycle.
3. Pin 10 sampai 17 (Port 3) adalah port pararel 8 bit dua arah yang memiliki fungsi pengganti seperti tabel 2.1 :
Tabel 2.1. Fungsi masing-masing pin pada port 3 4. Pin 18 sebagai XTAL 2, keluaran osilator yang terhubung pada kristal.
5. Pin 19 sebagai XTAL 1, masukan ke osilator berpenguatan tinggi, terhubung pada kristal.
6. Pin 20 sebagai Vss, terhubung ke 0 atau ground pada rangkaian.
7. Pin 21 sampai 28 (Port 2) adalah port pararel 8 bit dua arah. Port ini mengirim byte alamat bila pengaksesan dilakukan pada memori eksternal. Port 2 berfungsi sebagai I/O biasa atau high order address, pada saat
mengaksememori secara 16 bit. Pada saat mengakses memori 8 bit, port ini akan mengeluarkan isi dari P2 special function register. Port ini mempunyai internal pull up dan berfungsi sebagai input dengan memberikan logika 1. Sebagai output, port ini dapat memberikan output sink keempat buah input TTL.
8. Pin 29 sebagai PSEN (Program Store Enable) adalah sinyal yang digunakan untuk membaca, memindahkan program memori eksternal (ROM / EPROM) ke mikrokontroler (aktif low).
9. Pin 30 sebagai ALE (Address Latch Enable) untuk menahan alamat bawah selama mengakses memori eksternal. Pin ini juga berfungsi sebagai PROG (aktif low) yang diaktifkan saat memprogram internal flash memori pada mikrokontroler (on chip).
10.Pin 31 sebagai EA (External Accesss) untuk memilih memori yang akan digunakan, memori program internal (EA = Vcc) atau memori program eksternal (EA = Vss), juga berfungsi sebagai Vpp (programming supply voltage) pada saat memprogram internal flash memori pada mikrokontroler. 11.Pin 32 sampai 39 (Port 0) merupakan port pararel 8 bit dua arah. Berfungsi
sebagai alamat bawah yang dimultipleks dengan data untuk mengakses program dan data memori eksternal. Port 0 dapat berfungsi sebagai I/O biasa, low order multiplex address/data ataupun penerima kode byte pada saat flash progamming Pada fungsi sebagai I/O biasa port ini dapat memberikan output sink ke delapan buah TTL input atau dapat diubah sebagai input dengan memberikan logika 1 pada port tersebut. Pada fungsi sebagai low order multiplex address/data, por ini akan mempunyai internal pull up. Pada saat
flash progamming diperlukan eksternal pull up, terutamapada saat verifikasi program.
12.Pin 40 sebagai Vcc, terhubung ke +5 V sebagai catuan untuk mikrokontroler.
2.1.1.3Instruksi MCS-51
Pengalamatan adalah pengelompokkan berdasarkan orientasi lokasi memori, tipe-tipe instruksi adalah pengelompokkan berdasarkan fungsi instruksi. Beberapa fungsi pada instruksi MCS-51 yang akan digunakan yaitu Aritmatika, Transfer data,dll. Pada table-tabel perlu dijelaskan arti dari simbol-simbol yang digunakan pada mnemonics sebagai berikut :
Rn Register serbaguna R0 sd R7 di register bank yang diseleksi oleh PSW.
Direct 8 bit alamat internal RAM (0-127) atau SFR (128-255)
@Rn lokasi internal RAM yang alamatnya ditunjukkan oleh R0 atau R1 (pengalamatan tak langsung dengan R0 sd R7). Perhatikan; tidak untuk R2, R3, R4, R5, R6, dan R7
#Data konstanta 8 bit #Data 16 konstanta 16 bit
Addrl1 alamat 11 bit (untuk akses memori hingga 2K) Addr16 alamat 16 bit (untuk akses memori hingga 64K) Rel 8 bit offset relative bertanda (2’S complement),
digunakan untuk SJMP, lompat dalam jangkauan 128 (mundur) hingga +127 (maju)
Instruksi-instruksi diperlihatkan disajikan pada table 2.2, yang menunjukkan ragam pengalamatan yang dapat digunakan dengan masing-masing instruksi.
Tabel 2.2 Instruksi Aritmatika
Mnemonic Diskripsi
ADD A, <source> A=A+<source ADDC A, <source> A=A+<source>+C SUBB A, <source> A=A-<source>-C
INC A A=A+1
INC <source> <source>=<source>+1
DEC A A=A-1
DEC <source> <source>=<source>-1
INC DPTR DPTR=DPTR+1
MUL AB AB = A X B
DIV AB A = Hasil A/B; B = sisa A/B
DA A Decimal Adjust
Source (sumber) adalah operand dengan ragam pengalamatan; register direct, indirect atau immediate. Contoh program penjumlahan pada ragam pengalamatan untuk instruksi aritmatika seperti berikut ini :
ADD A, 7FH ;a diisi dengan a+isi dri memori lokasi 7FH
;(pengalamatan langsung)
ADD A, @R1 ;a diisi dengan a+isi dari memori yang alamatnya ; disimpan di R1 (pengalamatan tak langsung)
ADD A, #127 ;a diisi dengan a+127 (pengalamatan segera)
Untuk penggunaan kristal 12 MHz, kebanyakan instruksi aritmatik dieksekusi dalam 1 µs kecuali instruksi INC DPTR yang memerlukan waktu 2 µs dan instruksi-instruksi perkalian dan pembagian yang memerlukan waktu 4 µs.
Data didalam memori internal dapat dinaikkan atau diturunkan (increment atau decrement), tanpa melalui akumulator , demikian juga pada DPTR yang digunakan untuk menghasilkan pengalamatan 16 bit di memori eksternal. Instruksi MUL AB mengalikan dengan data yang ada pada register B dan meletakkan hasil 16 bit ke dalam register A dan B. Register A berisi lo-byte dan register B berisi hi-byte. Bila hasilnya lebih besar dari 255 (0FFh), maka bit OV set, sedangkan bit C selalu akan diclearkan (‘0’). Instruksi DIV AB membagi isi akumulator dengan data dalam register B dan meletakkan hasil bagi (quotient) 8 bit dalam akumulator, dan sisanya (remainder) 8 bit dalam register B. Operasi DIV akan membuat bit-bit CY dan OV menjadi ‘0’.
MOV adalah proses move (pindahkan) data dari sumber ke tujuan yang sebenarnya adalah proses mengcopy, artinya data di sumber tidak berubah. Proses data transfer yang lain adalah PUSH dan POP, XCH dan XCHD seperti yang diperlihatkan pada tabel 2.3.
MOV<dest>,<source> adalah copy data dari source ke destination, atau sumber ke tujuan, semua memori internal dan SFR dapat berlaku sebagai source dan sebagian besar dapat berlaku sebagai destination. Ragam pengalamatan dari kedua operand bisa semua kombinasi, berikut contoh proses transfer data.
Tabel 2.3 Data Transfer
Mnemonic ARTI
MOV <dest>,<source> <dest>=<source>, memori int MOV DPTR,#data 16 Dptr = data16
MOVC A,@A+<base-reg> A = isi dilokasi A+<base-reg> MOVX <dest>,<source> <dest>=<source>,data mem PUSH direct Simpan data ke memori stack POP direct Ambil data dari memori stack
;keadaan awal isi RAM dengan alamat 30h adalah ;40h, lokasi 40h berisi 10h, P1 berisi
11001010b Mov R0,#30h ;R0 berisi 30h Mov A,@R0 ;A berisi 40h Mov R1,A ;R1 berisi 40h Mov B,@R1 ;B berisi 10h
Mov @R1,P1 ;RAM lokasi 40h berisi 11001010b Mov P2,P1 ;P2=P1=11001010b
Program asembler bersifat sekuensial, seperti pada program basic klasik(awal mula basic), dan biasanya diperlukan pencabangan untuk tujuan tertentu, yaitu lompat ke lokasi instruksi dengan alamat tertentu. Pencabangan ini terdiri dari: pelaksanaan subrutin, pencabangan tanpa syarat dan bersyarat. Subrutin adalah penggal program yang sering digunakan, tanpa harus menulis ulang perintahnya. Proses ACALL dan LCALL menggunakan memori stack untuk menyimpan data-data alamat yang ditinggalkan sebelum melaksanakan subrutin, agar apabila kembali melaksanakan subrutin, mikrokontroller ingat lokasinya kembali. Berikut tabel 2.4 pencabangan program.
Tabel 2.4 Pencabangan Program
Mnemonic ARTI
ACALL addr11 <dest>=<source>, memori int LCALL addr16 Dptr = data16
RET A = isi dilokasi A+<base-reg> SJMP rel Lompat maju atau mundur sejauh
rel
JMP @A+DPTR Lompat ke alamat a+dptr CJNE
<dest-byte>,<scr-byte>,rel
Bila <dest>#<source> lompat sejauh rel
CJNE A,#data,rel Bila A#data lompat sejauh rel DJNZ direct, rel Direct= direct-1,bila #0 lompat
sejauh rel
NOP No Operation, tidak ada operasi
Pencabangan bersyarat adalah lompat ke alamat tertentu bila persyaratan terpenuhi. Secara umum perintahnya adalah : CJNE <dest-byte>,<src-byte>, rel; artinya Compare destination byte dan source byte, Jump if Not Equal along rel(active). Source byte adalah A, yang dibandingkan dengan destination byte berupa direct memory atau immediate constant. Source dapat juga berupa direct Rn atau indirect @Rn yang dibandingkan dengan immediate constant.
START :
CJNE A,#040h, LABEL1 ;bandingkan dengan 40h, jika tak
;sama lompat ke LABEL1
CJNE A,P1,LABEL1 ;bandingkan a dengan P1, jika tak
;sama lompat ke LABEL1
CJNE R1,#040h,LABEL1 ;bandingkan R1 dengan 40h, jika ;tak sama lompat ke LABEL1
CJNE @R1,#0CCh,LABEL1 ;bandingkan indirect R1 dengan ;CCh,jika tak sama lompat ke ;LABEL1
LABEL1: --- ---
Instruksi DJNZ direct, rel, adalah : Decrement Jump if Not Zero, artinya kurangi satu dahulu data di direct, kemudian bila isinya nol, maka lomatlah ke rel. Biasanya instruksi ini digunakan untuk pencacah. Berikut contoh penggunaan instruksi tersebut ;
START :
Mov R0,#5 ;isi R0 dengan 5 Mov R1,#40h ;isi R1 dengan 40h LOOP:
Mov @R1,#0AAh ;isi memori di <R1> dengan AAh
Inc R1 ;R1=R1+1
DJNZ R0,LOOP ;R0=R0-1, jika belum 0 kembali ke LOOP
Sjmp $ :usai
Perintah diatas adalah mengisi memori lokasi 40h,41h,42h,43h dan 44h dengan data AAh, disini R0 digunakan sebagai pencacah sebanyak 5 kali, sedangkan R1 digunakan sebagai pointer memori dengan alamat awal 40h. Perintah SJMP $ memerintahkan mikrokontroller untuk melompat ke tempat yang sama, artinya looping ditempat. Instruksi NOP adalah tidak memerintahkan MCU mengerjakan
apa-apa, proses ini hanya menunda kerja mikrokontroller, karena satu instruksi NOP memakan 1 mikrodetik, sehingga beberapa perintah NOP bisa digunakan untuk proses penundaan atau delay.
2.1.2 ADC 0804
Analog digital converter (ADC) adalah perangkat untuk menkonversi sinyal masukan dalam bentuk tegangan analog menjadi sinyal keluaran dalam bentuk digital. Dimana output yang dihasilkan ADC sebanding dengan input yang diberikan. Proses pengubahan ini dikenal juga dengan nama sistem akusisi data. Umumnya ADC digunakan sebagai perantara antara sensor yang kebanyakan analog dengan sistim komputer seperti sensor suhu, cahaya, tekanan atau berat, aliran dan sebagainya kemudian diukur dengan menggunakan sistim digital (komputer). Hal-hal yang juga perlu diperhatikan dalam penggunaan ADC adalah tegangan maksimum yang dapat dikonversikan oleh ADC dari rangkaian pengkondisi sinyal, resolusi, pewaktu eksternal ADC, tipe keluaran, ketepatan dan waktu konversinya.
Menurut cara pengkonversiannya, ADC dapat dikelompokkan dalam beberapa jenis yaitu:
1. Tipe integrating
Tipe integrating menawarkan resolusi tertinggi dengan biaya terendah. ADC tipe ini tidak dibutuhkan rangkaian sample hold. Tipe ini memiliki kelemahan yaitu waktu konversi yang agak lama, biasanya beberapa milidetik. 2. Tipe tracking
Tipe tracking menggunakan prinsip up down counter (pencacah naik dan pencacah turun). Fungsinya adalah Binary counter (pencacah biner) akan mendapat masukan clock secara kontinyu dan hitungan akan bertambah atau berkurang tergantung pada kontrol dari pencacah apakah sedang naik (up counter) atau sedang turun (down counter). ADC tipe ini tidak menguntungkan jika dipakai pada sistem yang memerlukan rangkaian sample hold.
ADC tipe ini sangat tergantung pada kecepatan clock pencacah, semakin tinggi nilai clock yang digunakan, maka proses konversi akan semakin singkat.
3. Tipe flash/ paralel
Tipe ini dapat menunjukkan konversi secara lengkap pada kecepatan 100 MHz dengan rangkaian kerja sederhana. Sederetan tahanan mengatur masukan inverting dari tiap-tiap konverter menuju tegangan yang lebih tinggi dari konverter sebelumnya jadi untuk tegangan masukan Vin denagn full scale range, komparator dengan bias di bawah Vin akan mempunyai keluaran rendah.
Keluaran komparator ini tidak dalam bentuk biner murni. Suatu dekoder dibutuhkan untuk membentuk suatu keluaran yang biner. Beberapa komparator berkecepatan tinggi, dengan waktu tunda (delay) kurang dari 6 ns banyak digunakan karena itu dihasilkan kecepatan konversi yang sangat tinggi. Jumlah komparator yang dibutuhkan untuk suatu konversi n bit adalah 2n-1.
Tipe successive approximation merupakan suatu konverter yang paling sering ditemukan dalam dasar perangkat keras yang menggunakan ADC. Tipe ini memiliki kecepatan konversi cukup tinggi meskipun dari segi harga relatif mahal. Prinsip kerja konverter tipe ini adalah dengan membangkitkan pertanyaan yang pada intinya berupa tebakan nilai digital terhadap nilai tegangan analog yang dikonversikan. Apabila resolusi ADC ini adalah 2n maka diperlukan maksimal n kali tebakan.
Komparator digunakan untuk membandingkan keluaran D/A dengan masukan analog Vin. Keluaran komparator digunakan untuk mencek register pendekatan berurutan (Successive Approximation Register – SAR). Setelah menerima pulsa mulai konversi, SAR akan mengeluarkan bit-bit untuk diubah menjadi tegangan analog oleh suatu pengubah D/A, mula SAR akan mengaktifkan MSB, yang akan menghasilkan suatu tegangan analog pada keluaran pengubah D/A. tegangan ini dibandingkan dengan Vin. Bila V1 < Vin maka MSB dibiarkan tinggi(“1”), bila V1 > Vin maka MSB dibuat “0”.
Pada contoh kita V1 < Vin sehingga MSB dibuat “1”. Selanjutnya bit no 2 diaktifkan dibuat 1 dan keluaran pengubah D/A yang baru dibandingkan lagi dengan Vin . pada contoh V2 < Vin sehingga bit no 2 dibuat juga 1. kemudian bit no 3 dibuat 1. terakhir bit no 4 (LSB) dibuat “1”. Akan tetapi V4 > Vin, maka bit no 4 dibuat 0. keadaan akhir pada keluaran SAR adalah (1110)2 menyatakan keluaran digital untuk Vin.
Jenis ADC yang biasa digunakan dalam perancangan adalah jenis successive approximation convertion (SAR) atau pendekatan bertingkat yang memiliki waktu konversi jauh lebih singkat Pemilihan ADC umumnya ditentukan