BAB II LANDASAN TEORI
2.1 Perangkat 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
Universitas Sumatera Utara
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.
Universitas Sumatera Utara
2. Mikrokontroler tersusun dalam satu chip dimana prosesor, memori, dan IO 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 IO 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.
Universitas Sumatera Utara
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 I0 yang masing-masing terdiri dari delapan
buah jalur I0 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.1 Konstruksi 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
Universitas Sumatera Utara
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
Universitas Sumatera Utara
dijalankan pada saat sistem di-reset, pin EAVP berlogika 1 sehingga mikrokontroller aktif berdasarkan program yang ada pada Flash PEROM-nya.
Namun jika pin EAVP 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 InputOutput yang disediakan cukup banyak dan bervariasi.
AT89S51 mempunyai 32 jalur InputOutput 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 inputoutput bekerja menurut fungsi waktu. Clock penggerak untaian pencacah ini bisa berasal dari
oscillator kristal atau clock yang diumpan dari luar lewat T0 dan T1T0 dan T1 berhimpitan dengan P3.4 dan P3.5, sehingga P3.4 dan P3.5 tidak bisa dipakai
untuk jalur inputoutput 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
Universitas Sumatera Utara
inputoutput 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.2 Konfigurasi 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.
Universitas Sumatera Utara
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 IO biasa atau high order address, pada saat
Universitas Sumatera Utara
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 IO biasa, low order multiplex addressdata ataupun penerima kode byte pada saat flash
progamming Pada fungsi sebagai IO 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 addressdata, por ini akan mempunyai internal pull up. Pada saat
Universitas Sumatera Utara
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.3 Instruksi 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
Universitas Sumatera Utara
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 AB; B = sisa AB
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, R7
;a diisi dengan a+isi dari R7
Universitas Sumatera Utara
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. MOVdest,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.
Universitas Sumatera Utara
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 klasikawal 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.
Universitas Sumatera Utara
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 destsource lompat
sejauh rel CJNE A,data,rel
Bila Adata 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 relactive. 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
Universitas Sumatera Utara
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
Universitas Sumatera Utara
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
Universitas Sumatera Utara
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
2
n
-1. 4. Tipe successive approximation
Universitas Sumatera Utara
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 2
n
maka diperlukan maksimal n kali tebakan. Komparator digunakan untuk membandingkan keluaran DA 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 DA, mula SAR akan
mengaktifkan MSB, yang akan menghasilkan suatu tegangan analog pada keluaran pengubah DA. 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 DA 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 11102
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
Universitas Sumatera Utara
oleh metode yang digunakan untuk konversi data, sedangkan Rentang tegangan masukan analog maksimum adalah watak untai ADC yang digunakan sehingga
masukan analog yang akan dimasukkan ke ADC tersebut terlebih dahulu harus disesuaikan dengan tegangan analog maksimal yang diizinkan. Resolusi ADC
berkaitan dengan cacah bit dan rentang tegangan pada masukan analog. Dengan pertimbangan diatas penulis sengaja memilih ADC 0804 sebagai
Konverter AD . ADC 0804 adalah suatu IC CMOS pengubah analog ke digital 8- bit dengan satu kanal masukan. Jumlah bit yang dihasilkan, didapat dari hasil
pengkonversian tegangan yang biasanya besar tegangan tersebut antara 0 volt sampai dengan +5 volt. Dengan demikian, apabila kita memasukan sebuah
tegangan antara 0 volt sampai dengan 5 volt pada sebuah ADC 8 bit maka setelah proses konversi akan menghasilkan sebuah kombinasi bilangan biner yang
ditunjukkan dengan bilangan biner antara 0 sampai dengan 255. ADC ini relatif cepat dan mempunyai ukuran kecil. Keuntungan tambahan
adalah setiap sampling diubah dalam selang waktu yang sama tidak tergantung pada arus masukan dan secara keseluruhan ditentukan oleh frekuensi yang
mengandalkan clock dan resolusi dari pengubah. Kekurangan pengubah jenis ini adalah mempunyai kekebalan rendah terhadap noise dan diperlukan adanya
pengubah digital ke analog yang tepat dan pembanding dengan unjuk kerja yang tinggi.
2.1.2.1 Karakteristik IC ADC 0804
IC ADC 0804 adalah sebuah piranti yang dirancang untuk mengubah sinyal-sinyal analog menjadi sinyal-sinyal digital. IC ADC 0804 dianggap dapat
Universitas Sumatera Utara
memenuhi kebutuhan dari rangkaian yang akan dibuat. IC jenis ini bekerja secara cermat dengan menambahakan sedikit komponen sesuai dengan spesifikasi yang
harus diberikan dan dapat mengkonversikan secara tepat masukan tegangan. Seperti gambar 2.3 :
Gambar 2.3. Blok diagram sederhana ADC0804
ADC banyak tersedia dipasaran Beberapa karakteristik dari ADC 0804 adalah sebagai berikut :
1. Memiliki 2 masukan analog yaitu Vin + dan Vin - sehingga memperbolehkan masukan selisih diferensial. Dengan kata lain, tegangan
masukan analog yang sebenarnya adalah selisih dari masukan kedua pin {analog Vin = Vin + – Vin -}. Jika hanya satu masukan, maka Vin
dihubungkan ke ground. Pada operasi normal, ADC menggunakan Vcc =+5 sebagai tegangan refrensi dan masukan analog memiliki dari 0 sampai 5V
pada skala penuh. 2. Mengubah tegangan analog menjadi keluaran digital 8 bit. Sehingga
resolusinya adalah 5V255 = 19,6 mV 3. Memiliki pembangkit detak clock internal yang menghasilkan frekuensi
F=11,1RC, dengan R dan C adalah komponen eksternal.
Universitas Sumatera Utara
4. Memiliki koneksi ground yang berbeda antara tegangan digital dan analog. Kaki 8 adalah ground analog. Kaki 10 adalah ground digital.
2.1.2.2 Prinsip Kerja ADC 0804
Ada banyak cara yang dapat digunakan untuk mengubah sinyal analog menjadi sinyal digital yang nilainya proposional. Secara singkat prinsip kerja dari
konverter AD adalah semua bit-bit diset deretan data biner bit mulai dari MSB dan diakhiri dengan LSB. Selama proses perhitungan biner, register akan
memonitor output komparator untuk melihat jika perhitungan biner kurang atau lebih besar dari input analog kemudian diuji, dan bilamana perlu sesuai dengan
kondisi yang telah ditentukan. Dengan rangkaian yang paling cepat, konversi akan diselesaikan sesudah 8 clock, dan keluaran DA merupakan nilai analog yang
ekivalen dengan nilai register SAR. Apabila konversi telah dilaksanakan, rangkaian kembali mengirim sinyal selesai konversi yang berlogika rendah. Sisi
turun sinyal ini akan menghasilkan data digital yang ekivalen ke dalam register buffer. Dengan demikian, keluaran digital akan tetap tersimpan sekalipun akan di
mulai siklus konversi yang baru.
Pada ADC 0804, pin 11-18 merupakan pin keluaran digital yang dapat dihubungkan langsung dengan bus data-alamat. Apabila pin CS atau pin RD
dalam keadaan tinggi, pin 11 sampai pin 18 akan mengambang. Pin 5 adalah saluran untuk INTR, sinyal selesai konversi. INTR akan
menjadi tinggi pada saat memulai konversi, dan dibuat aktif rendah bilamana konversi telah selesai.
Universitas Sumatera Utara
Pin 6 dan 7 adalah masukan diferensial yang membandingkan dua masukan sinyal analog. Jenis masukan ini memungkinkan pemilihan bentuk
masukan , yaitu mentanahkan pin 7 untuk masukan positif bersisi-tunggal single- ended positif input, atau mentanahkan pin 6 untuk masukan negatif bersisi-
tunggal single-ended negatif input, atau mengaktifkan kedua pin untuk masukan diferensial.
Piranti ini mempunyai 2 ground, A GND dan D GND yang terletak pada pin 8 dan 10. Keduanya harus digroundkan. Pin 20 disambungkan dengan catu
tegangan yang sebesar +5V. Dalam ADC 0804, Vref merupakan tegangan masukan analog maksimum,
yaitu tegangan yang menghasilkan suatu keluaran digital maksimum FFH. Bila pin 9 tidak dihubungkan tidak dipakai, VREF berharga sama dengan tegangan
catu VCC. Ini berarti bahwa catu tegangan +5V memberikan jangkauan masukan analog dari 0 sampai +5V bagi masukan positif yang bersisi-tunggal. Secara
umum, diagram blok sistem ADC 0804 seperti gambar 2.4:
Konversi AD
Kontrol 01
Ke INT CPU PB7-PB0
Ke parallel Input port
SH Input
analog 01
START Konversi, SOC Chip Select, CE
END Konversi, EOC
Gambar 2.4 Diagram blok ADC Rangkaian di atas dioperasikan sebagai berikut. Pertama, kontroler, dalam
hal ini mikroprosesor mikrokontroler menghubungi ADC dengan mengirim
Universitas Sumatera Utara
sinyal CE. Artinya, ADC diaktifkan. Kemudian SOC start of conversion dikirimkan sehingga ADC mulai melakukan sampling sinyal dan diikuti dengan
konversi ke digital. Bila konversi selesai maka ADC akan mengirimkan tanda selesai EOC
end of conversion yang artinya hasil konversi telah siap dibaca di PB7-PB0. . Program yang sesuai harus dibuat mengikuti prosedur seperti di atas. Artinya,
program utama mikroprosesor harus dimuati dengan suatu program loop tertutup dan menunggu tanda untuk membaca data dari ADC. Meski tanda ini tidak harus
diperhatikan, tetapi berakibat data yang dipaksa dibaca akan sering invalid karena CPU tidak dapat membedakan keadaan ambang ketika ADC tengah melakukan
konversi dengan keadaan data siap valid. Agar lebih efektif, fungsi interrupt harus diaktifkan untuk menghindari terjebaknya CPU dalam loop saat menunggu
ADC siap. Dengan demikian CPU hanya akan membaca data bila mendapatkan interrupt.
Secara singkat, ADC memerlukan bantuan sekuensi kontrol untuk menangkap dan mengkonversi sinyal. Seberapa lama ADC dapat sukses
mengkonversi suatu nilai sangat tergantung dari kemampuan sampling dan konversi dalam domain waktu. Makin cepat prosesnya, makin berkualitas pula
ADC tersebut. Karena inilah maka karakteristik ADC yang paling penting adalah waktu konversi conversion time. Namun demikian, kemampuan riil ADC dalam
kontrol loop tertutup dalam sebuah sistem lengkap justru sangat dipengaruhi oleh kemampuan kontroler atau prosesor dalam mengolah data input-output secara
cepat, dan bukan hanya karena kualitas ADC-nya.
Universitas Sumatera Utara
Volt V
Volt V
Vcc V
faktor faktor
faktor
0196 ,
5 255
1 255
1
Dalam proses Konversi, Setiap perubahan tegangan yang diberikan
merupakan input bagi ADC yang akan diubah menjadi data digital. Proses perubahan tegangan input menjadi data digital dilakukan sesuai persamaan 1.
faktor ADC
V Vin
Output
........................................ 1
Dengan : Vin ADC
: masukan ADC V faktor
: Resolusi sedangkan V
faktor
adalah :
................................... 2
dengan data output dapat dihitung, misalnya jika Vin ADC = 0,3 Volt, Vcc = 5 Volt, maka:
faktor ADC
V Vin
Output
30 ,
15 0196
, 3
,
Volt
Volt Output
data yang diubah ke bilangan biner hanya bilangan bulatnya saja. Dengan demikian masukan ADC untuk data ini adalah 0,3V sehingga keluaran ADC
adalah 15 H. Pada ADC 0804 ini, terdapat dua jenis prinsip didalam melakukan
konversi, yaitu free running dan mode control. Pada mode free running, ADC akan mengeluarkan data hasil pembacaan input secara otomatis dan berkelanjutan
continue. Pada mode ini pin INTR akan berlogika rendah setelah ADC selesai
Universitas Sumatera Utara
melakukan konversi, logika ini dihubungkan kepada masukan WR untuk memerintahkan ADC memulai konversi kembali. Prinsip yang kedua yaitu mode
control, pada mode ini ADC baru akan memulai konversi setelah diberi instruksi dari mikrokontroler. Instruksi ini dilakukan dengan memberikan pulsa rendah
kepada masukan WR sesaat +1ms, kemudian membaca keluaran data ADC setelah keluaran INTR berlogika rendah. Pada penelitian ini, prinsip konversi
yang digunakan adalah mode control.
2.1.2.3 Fungsi Pin Pada ADC 0804
Fungsi Pin ADC 0804 seperti Gambar 2.5 : 1. Pin WR Write, pulsa high pada input write maka ADC akan melakukan
konversi data, tegangan analog menjadi data digital. Pin WR dihubungkan dengan pin INTR. Setelah selesai konversi pin INTR akan memberi pulsa low
pada pin WR.
Gambar 2.5. ADC 0804 2. Pin INTR Interrupt, bila konversi data analog menjadi digital telah selesai
maka pin INTR akan mengeluarkan pulsa low ke pin WR. Perangkat ADC
Universitas Sumatera Utara
dapat diopersikan dalam mode free running dengan menghubungkan pin INT ke input WR.
3. Pin CS Chip select, agar ADC dapat aktif , melakukan konversi data maka input chip select harus diberi logika low. Data output akan berada pada
kondisi three state apabila CS mendapat logika high. 4. Pin RD Read, agar data ADC data dapat dibaca oleh sistem mikroprosessor
maka pin RD harus diberi logika low. 5. Pin Vin + dan Vin - merupakan input tegangan deferensial yang akan
mengambil nilai selisih dari kedua input. Dengan memanfaatkaninput Vin maka dapat dilakukan offset tegangan nol pada ADC.
6. Pin Vref, tegangan referensi dapat diatur sesuai dengan input tegangn pada Vin + dan Vin -, Vref = Vin 2.
Vresolusi = Vin max 255. Pin CLOCK, clock untuk ADC dapat diturunkan pada clock CPU atau RC
eksternal dapat ditambahkan untuk memberikan generator clock dari dalam CLK In menggunakan schmitt triger.
2.1.3 Sensor Suhu LM 35
Sensor suhu adalah suatu alat untuk mendeteksi atau megukur suhu pada suatu ruangan atau sistem tertentu yang kemudian diubah keluarannya menjadi
besaran listrik, Misalnya LM 35. Sensor LM35 ini merupakan sensor yang
banyak digunakan dalam melakukan pengukuran dan pengontrolan suhu, dikarenakan sensor LM35 ini memiliki keakuratan yang tinggi, kemudahan
Universitas Sumatera Utara
perancangan jika dibandingkan dengan sensor suhu yang lain serta memiliki
karakteristik sensor yang cukup baik seperti gambar 2.6 :
Gambar 2.6. LM 35 Karakteristik dari sensor suhu LM35 ini adalah perubahan nilai
tahanannya akan semakin besar apabila suhu lingkungannya semakin rendah dan nilai tahanannya akan menjadi kecil apabila suhu lingkungannya semakin tinggi.
LM35 memiliki kelebihan-kelebihan sebagai berikut: a. Di kalibrasi langsung dalam celcius
b. Memiliki faktor skala linear + 10.0 mVºC c. Memiliki ketepatan 0,5ºC pada suhu 25ºC
d. Jangkauan maksimal suhu antara -55ºC sampai 150ºC e. Cocok untuk aplikasi jarak jauh
f. Harga yang cukup murah g. Bekerja pada tegangan catu daya 4 sampai 30 Volt
h. Memiliki arus drain kurang dari 60 μAmp i. Pemanasan sendiri yang lambat low self-heating
j. 0,08 ºC di udara diam k. Ketidak linearannya hanya sekitar ±14 °C
l. Memiliki impedansi keluaran yang kecil yaitu 0,1 Watt untuk beban 1 mAmp.
Universitas Sumatera Utara
Sensor suhu tipe LM 35 merupakan IC sensor temperatur yang akurat yang tegangan keluarannya linear dalam satuan celcius. Jadi LM 35 memiliki
kelebihandibandingkan sensor temperatur linear dalam satuan Kelvin, karena tidak memerlukan pembagian dengan konstanta tegangan yang besar dan
keluarannya untuk mendapatkan nilai dalam satuan celcius yang tepat. LM 35 memiliki impedansi keluaran yang rendah, keluaran yang linear, dan sifat
ketepatan dalam pengujian membuat proses interface untuk membaca atau mengontrol sirkuit lebih mudah. Pin V+ dari LM 35 dihubungkan ke catu daya,
pin GND dihubungkan ke Ground dan pin Vout – yang mengahasilkan tegangan analog hasil penginderaan suhu sekitar negatif - dihubungkan ke Vin + dan
ADC 0804.
2.1.4 Seven segmen
Seven segmen merupakan cacah segmen minimum yang diperlukan untuk menampilkan angka 0 sampai 9. Sejumlah karakter alfabet juga dapat disajikan
menggunakan tampilan seven segmen ini. Secara khusus, karakter heksadesimal dapat ditampilkan. Seven segmen terdiri dari LED-LED yang disusun sedemikian
rupa yang jika dinyalakan akan membentuk suatu angka tertentu. Seven segmen terdiri dari 7 buah segmen dan ditambah 1 buah segmen yang berfungsi sebagai
desimal point seperti yang ditunjukkan pada gambar 2.7 :
Gambar 2.7. Seven-segmen
Universitas Sumatera Utara
Seven segmen terdiri dari 2 tipe yaitu : 1.
Seven Segmen tipe Common Anoda Pada seven segmen tipe ini, anoda dari setiap LED dihubungkan menjadi satu kemudian dihubungkan ke sumber
tegangan positif dan katoda dari masingmasing LED berfungsi sebagai input pada seven segmen.
2. Seven Segmen tipe Common Katoda Pada seven segmen tipe ini, katoda dari
setiap LED dihubungkan menjadi satuu kemudian dihubungkan ke ground dan anoda dari masing-masing LED berfungsi sebagai input dari seven
segmen.
2.1.5 Relay
Relay adalah komponen elektronika berupa saklar elektronik yang digerakkan oleh arus listrik. Secara prinsip,relay merupakan tuas saklar dengan
lilitan kawat pada batang besi solenoid di dekatnya. Ketika solenoid dialiri arus listrik,tuas akan tertarik karena adanya gaya magnet yang terjadi pada solenoid
sehingga kontak saklar akan menutup. Pada saat arus dihentikan, gaya magnet akan hilang, tuas akan kembali ke
posisi semula dan kontak saklar kembali terbuka. Relay biasanya digunakan untuk menggerakkan arustegangan yang besar misalnya peralatan listrik 4 ampere AC
220 V dengan memakai arustegangan yang kecil misalnya 0,1 ampere 12 volt DC. Dalam pemakaian biasanya relay yang digerakkan dengan arus DC
dilengkapi dengan dioda yang diparalel dengan lilitannya dan dipasang terbalik yaitu anoda pada tegangan - dan katoda pada tegangan +. Ini bertujuan untuk
Universitas Sumatera Utara
mengantisipasi sentakan listrik yang terjadi pada saat relay berganti posisi dari on ke off agar tidak merusak komponen di sekitarnya.
Relay adalah suatu komponen elektronika yang akan bekerja bila ada arus yang melalui kumparannya. Sebuah relay terdiri dari kumparan yang dililitkan
pada inti besi dan kontak-kontak penghubung. Apabila kumparan yang melilit inti besi dilalui arus listrik maka akan menimbulkan induksi medan magnet, dan
induksi ini akan menarik kontak-kontak penghubung relay. Kontak penghubung relay terdiri dari dua bagian, yaitu :
1. Kontak NC Normally Close. Kontak penghubung dalam kondisi menutup atau terhubung bila relay tidak
mendapat masukan tegangan pada kumparannya. Tetapi bila diberi tegangan yang mencukupi pada kumparannya maka kontak penghubung menjadi
terbuka kondisi awal sebelum diaktifkan close. 2. Kontak NO Normally Open.
Kontak penghubung dalam kondisi terbuka bila relay tidak mendapat tegangan pada kumparannya. Tetapi bila diberi tegangan yang mencukupi pada
kumparannya maka kontak penghubung menjadi tertutup atau terhubung. kondisi awal sebelum diaktifkan open.
2.1.6 Keypad 4 x 4
Keypad Matriks adalah tombol-tombol yang disusun secara maktriks baris x kolom sehingga dapat mengurangi penggunaan pin input. Sebagai
contoh, Keypad Matriks 4×4 cukup menggunakan 8 pin untuk 16 tombol. Hal
Universitas Sumatera Utara
tersebut dimungkinkan karena rangkaian tombol disusun secara horizontal membentuk baris dan secara vertikal membentuk kolom:
Gambar 2.8. Keypad matriks 4x4 Keypad termasuk alat interface yang sering dan cukup mudah untuk
digunakan. Karena keypad salah satu sarana inputan yang banyak digunakan dalam aplikasi machine interface misalnya:
a. Pada sistem
pengaturan suhu,
keypad bisa
digunakan operator
untukmenentukan set point suhu yang diinginkan. b. Pada sistem absensi pegawai, keypad bisa digunakan bagi pegawai untuk
memasukan ID-nya, dll.
2.2 Perangkat Lunak