PROTOTIPE KONTROL TEMPERATUR PADA
SEBUAH INKUBATOR YANG DILENGKAPI DENGAN BLOWER
TUGAS AKHIR
Diajukan Sebagai Salah Satu Syarat Untuk Mendapatkan Gelar Ahli Madya
LUSI E HUTABARAT
052408034
PROGRAM STUDI D – III FISIKA INSTRUMENTASI
FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM
UNIVERSITAS SUMATERA UTARA
PERSETUJUAN
Judul : PROTIPE KONTROL TEMPERATUR PADA
SEBUAH INKUBATOR YANG DILENGKAPI
DENGAN BLOWER
Kategori : TUGAS AKHIR
Nama : LUSI E HUTABARAT
Nomor Induk Mahasiswa : 052408034
Program studi : DIPLOMA (D3) FISIKA INSTRUMENTASI
Departemen : FISIKA
Fakultas : MATEMATIKA DAN ILMU PENGETAHUAN
ALAM (FMIPA) UNIVERSITAS SUMATERA
UTARA
Diluluskan di, Medan, 21 Juni 2008
Diketahui/Disetujui oleh
Departemen Fisika FMIPA USU Dosen Pembimbing,
Ketua,
DR. Marhaposan Situmorang Drs.Aditia Warman, M.Si
PERNYATAAN
PROTOTIPE KONTROL TEMPERATUR PADA SEBUAH INKUBATOR YANG DILENGKAPI DENGAN BLOWER
TUGAS AKHIR
Saya mengakui bahwa tugas akhir ini adalah hasil kerja saya sendiri, kecuali beberapa kutipan dan ringkasan yang masing – masing disebutkan sumbernya.
Medan, 21 Juni 2008
iii
INTISARI
Aplikasi pengendali suhu sudah banyak ditemui dalam berbagai bidang sekarang ini.
Tujuan dari tugas akhir ini adalah hasil suhu didalam inkubator dapat di set dan
ditampilkan di seven segmen. Dimana suhu yang di set melalui keypad dapat
dipertahankan sesuai dengan keinginan pengguna dari inkubator tersebut. Sistem yang
dibuat ini memanfaatkan kemampuan mikrokontroler AT89S51 dalam akuisisi data dan
mengambil keputusan. Sistem ini dilengkapi dengan interface analog ke digital, sebuah
sensor temperatur LM 35 dan sebuah pemanas. Kawasan suhu yang dapat dikendalikan
i
KATA PENGANTAR
Puji dan syukur penulis panjatkan kehadirat Tuhan Yang Maha Esa yang telah melimpahkan kasih – Nya sehingga penulis dapat menyelesaikan laporan tugas akhir ini sebagai salah satu syarat kelulusan dalam program studi D–3 Fisika Instrumentasi FMIPA USU.
Pada kesempatan ini penulis menyampaikan rasa terima kasih yang sebesar – besarnya kepada pihak – pihak yang telah membantu dalam menyelesaikan laporan tugas akhir ini. Baik kepada pihak-pihak yang disebut atau pun tidak disebutkan satu persatu. Terutama kepada Orang tua penulis (P. Hutabarat dan J Panjaitan) yang telah memberikan dukungan baik secara moril dan juga material sampai penulis menyelesaikan masa pendidikan di FMIPA ini. Penulis juga tidak lupa mengucapkan terimakasih atas bimbingan dan arahan kepada:
1. Bapak Dr.Eddy Marlianto, M.Sc, selaku dekan Fakultas Matematika dan Ilmu pengetahuan Alam, Universitas Sumatera Utara.
2. Bapak DR.Marhaposan Situmorang, selaku ketua jurusan departemen Fisika Fakultas Matematika dan Ilmu Pengetahuan Alam
3. Bapak Drs.Aditia Warman, M.Si selaku dosen pembimbing tugas akhir penulis yang banyak memberikan arahan dan bimbingan selama menyelesaikan tugas akhir ini.
4. Dosen – dosen dan staf pengajar di Fisika Instrumentasi FMIPA USU
5. Para pegawai yang ada di FMIPA USU yang tidak dapat disebutkan namanya satu persatu, penulis mengucapkan banyak terimakasih karena telah banyak membantu penulis selama penulis berada di FMIPA USU ini.
6. Buat orang tuaku tersayang P.Hutabarat dan J.Panjaitan terimakasih atas segala yang diberikan baik moril maupun materil. Semoga anakmu ini berguna bagi nusa dan bangsa.
ii
8. Tidak lupa juga teman – temanku: Riris, Tini, Helen, Rika, Risda, Tahi, Iron, Nelly, Tetty, K,Ivana, K’Dian, Denari, Shenty, Lusi Sbrn, dan masih banyak lagi, terimakasih atas semangat dan doa yang selama ini diberi buat penulis.
9. Teman kos di Berdikari 7 Psr I P.Bulan Medan:Vida, K’Nova, K’Roma, K’Kitin, sondang, Meyta, Jo, Vivi, K’Duma, K’Ayu, Eka dan krisna semua harus berubah. jangan menjadi kelelawar terus dan tetap semangat.
10.K’Ellys, K’Icha, K’Martha makasih atas arahan dan semangat yang kakak beri bagi penulis walau kita gak satu kos lagi.
11.Seseorang yang begitu penulis sayangi, yang memberikan semangat bagi penulis dalam segala hal, penulis mengucapkan banyak terimakasih dan salam sayang selalu.
12.Buat semua teman – teman di Fisika Instrumentasi Fakultas Matematika dan Ilmu Pengetahuan Alam Universitas Sumatera Utara.Semoga kita menjadi Orang sukses dimata Tuhan dan juga orang lain serta bangsa ini.
Akhir kata penulis mengucapkan terimakasih bagi semua pihak
iv
DAFTAR ISI
Kata Pengantar ... i
Intisari ... iii
Daftar Isi ... iv
Daftar Gambar ... v
Daftar Tabel ... vi
BAB 1 PENDAHULUAN 1.1 Latar Belakang Masalah ... 1
1.2 Rumusan Masalah ... 4
1.3 Tujuan Penulisan ... 4
1.4 Batasan Masalah ... 4
1.5 Prinsip Kerja ... 5
1.6 Sistematika Penulisan ... 5
BAB 2 DASAR TEORI 2.1 Sensor Suhu LM35 ... 7
2.2 Analog to Digital Converter (ADC) 0804 ... 9
2.3 Mikrokontroler AT89S51 ... 12
2.4 Power Supplay (PSA) ... 15
2.5 Keypad 4 X 4 ... 17
2.6 Display seven segmen ... 18
2.7 Blower ... 21
2.8 Heater ... 21
2.9 Bahasa Assembly ... 22
v
2.9.2 Bagian Label ... 23
2.9.3 Bagian Kode Operasi ... 23
2.9.4 Bagian Operand ... 24
2.9.5 Bagian Komentar ... 25
BAB 3 RANCANGAN SISTEM 3.1 Diagram Blok Rangkaian ... 27
3.2 Diagram Alir Program ... 29
3.3 Perancangan Power Supplay (PSA) ... 31
3.4 Rangkaian Mikrokontroler AT89S51 ... 32
3.5 Rangkaian Sensor Temperature dan ADC (Analog to Digital Converter) ... 34
3.6 Rangkaian Display Seven Segmen ... 36
3.7 Rangkaian Relay ... 37
3.8 Perancangan Rangkaian Keypad... 40
BAB 4 PENGUJIAN ALAT DAN PROGRAM 4.1 Pengujian Rangkaian Power Supplay (PSA) ... 42
4.2 Pengujian Rangkaian Mikrokontroler AT89S51 ... 42
4.3 Pengujian Rangkaian Display Seven Segmen ... 45
4.4 Pengujian Rangkaian Relay ... 47
4.5 Pengujian Rangkaian Keypad ... 48
4.6 Pengujian Rangkaian ADC (Analog to Digital converter) ... 51
4.7 Program Inkubator Otomatis... 52
BAB 5 KESIMPILAN DAN SARAN 5.1 Kesimpulan ... 66
5.2 Saran ... 67
vii
DAFTAR GAMBAR
Gambar 1 Menghubungkan ADC0804 dengan 8051 melalui Port I/O ... 11
Gambar 2 Mikrokontroller AT89S51 ... 13
Gambar 2.4.1 Penerapan regulator tegangan tetap LM78xx ... 16
Gambar 2.6.1 Rangkaian Seven Segmen ... 19
Gambar 2.6.2 Modul Seven Segment Tunggal ... 20
Gambar 3.1 Diagram Blok Ragkaian ... 27
Gambar 3.2 Diagram Alir Program ... 29
Gambar 3.3 Rangkaian Power Supplay ... 32
Gambar 3.4 Rangkaian Mikrokontroller AT89S51 ... 33
Gambar 3.5 Rangkaian Sensor Temperature dan ADC ... 35
Gambar 3.6 Rangkaian Display Seven Segment ... 36
Gambar 3.7 Rangkaian Relay Pengendali Blower 220V AC ... 38
Gambar 3.8 Rangkaian Keypad ... 41
vi
DAFTAR TABEL
Tabel 2.6.1 Tabel Kebenaran 74LS138 ... 19
Tabel 2.7.6 Program Assembly ... 26
Tabel 2.6.2 Data Display Seven Segmen ... 20
Tabel 4.3 Data Yang Dikirim ke Mikrokontroler Oleh Keypad ... 45
BAB 1
PENDAHULUAN
1.1
Latar Belakang Masalah
Belakangan ini perkembangan teknologi pemrosesan IC (Integrated Circuit) telah sangat
luas menyentuh aspek kehidupan kita. Salah satu produk tekhnologi pemrosesan IC yang
paling populer adalah mikroprosesor. Pada prinsipnya mikroprosesor adalah pusat
pengolahan data dalam sistem digital. Didalam perkembangannya, para pabrikan
mikroprosesor mengembangkan sebuah varian mokroprosesor dengan menambahkan
beberapa fitur agar memudahan engineer dalam merancang sistem. Varian mikroprosesor
ini disebut mikrokontroler. Meskipun tidak sepopuler saudaranya, mikrokontroler lebih
disukai para engineer karena lebih mudah dan praktis dalam penggunaanya
Temperatur merupakan salah satu besaran fisis yang sering dipakai dalam suatu
sistem kontrol, baik hanya untuk sistem monitoring saja atau untuk proses pengendali
lebih lanjut. Dalam kaitannya dengan hal diatas, penulis membuat sebuah alat untuk
mempertahankan temperatur yang dikontrol sebuah mikrokontroler.
Mengamati kebanyakan aplikasi temperatur berada dalam ruangan maka suhu
yang ingin dimonitor itu ditempatkan pada sebuah ruangan yang hampir tertutup sehingga
2
Pengambilan aplikasi tentang temperatur ini didasarkan pada besarnya pengaruh
temperatur yang tidak hanya sebagai noise pada dunia elektronika tetapi juga berpengaruh
pada dunia kesehatan (inkubator bayi, pembunuhan bakteri e-coli pada suhu 37 °C dll)
hasil kualitas produksi (hasil perkebunan, pertanian, peternakan, dll) dan sistem
keamanan gedung.
Pada tugas akhir ini penulis mengambil sensor suhu yang diaplikasikan pada
inkubator. Inkubator merupakan suatu tempat yang dirancang untuk mempertahankan
keadaan temperatur tertentu. Inkubator banyak dijumpai pada rumah sakit dan
peternakan. Pada rumah sakit, inkubator berfungsi untuk menghangatkan bayi yang baru
lahir, atau bayi yang lahir prematur. Pada peternakan, inkubator ini biasanya digunakan
untuk penetas telur dan sebagai tempat dari anak ayam yang baru menetas.
Inkubator biasanya berbentuk ruagan atau box (kotak) dengan ukuran tertentu.
Inkubator yang ada saat ini, biasanya sudah tertentu temperaturnya, tidak dapat diubah.
Sehingga ketika pengguna membutuhkan ruangan atau box dengan temperatur lain, maka
pengguna harus menggunakan inkubator yang lain. Biasanya untuk mengendalikan
temperatur pada sebuah inkubator, digunakan lampu atau elemen pemanas. Sehingga
ketika pengguna membutuhkan temperatur yang berbeda, maka pengguna harus
mengganti elemen pemanas yang digunakan sebelumnya dengan elemen pemanas yang
lain.
Akan lebih berguna, jika inkubator dilengkapi dengan sensor temperatur dan
3
pemanas lainnya pada inkubator ketika hendak mengganti temperaturnya. Pengguna
cukup hanya mensetting temperatur pada settingan inkubator, maka inkubator itu sendiri
yang akan mengontrol temperatur sesuai dengan settingan yang dimasukan.
Perancangan sistem akuisisi data suhu yang menggunakan komponen-konponen
dasar berupa sebuah sensor suhu, mikrokontroler dan seven segmen sebagai fasilitas
penampil. Sistem akuisisi data suhu menjadi satu hal yang sangat penting dalam dunia
kesehatan, karena merupakan sebagian kecil dari sebuah proses kontrol. Berkenaan
dengan pentingnya sistem, maka dilakukan perancangan sistem akusisi data suhu yang
mampu melakukan kegiatan monitoring suhu suatu plant. Data yang akan diukur
merupakan sebuah besaran fisis temperatur sehingga untuk dapat diolah dan ditampilkan
dalam bentuk sistem elektris digunakan sensor suhu LM 35 yang mampu mengkonversi
besaran tersebut dengan kenaikan 10mV/ºC. Untuk dapat merancang sistem maka
pertama kali dilakukan proses mengubah suhu menjadi tegangan analog menggunakan
sensor suhu LM 35. Setelah melalui proses pengkondisian sinyal dengan cara dikuatkan,
tegangan analog diubah menjadi data digital menggunakan ADC 0804. Data digital yang
diperoleh kemudian diolah oleh Mikrokontroler AT89S51 dan ditampilkan, sehingga
didapatkan suatu informasi mengenai suhu plant dengan satuan ºC pada sebuah seven
segmen. Dari perancangan sistem akuisisi data suhu didapatkan hasil bahwa sistem ini
4
1.2
Rumusan Masalah
Berdasarkan uraian yang terdapat pada latar belakang diatas, maka dalam tugas akhir ini
penulis akan merancang prototipe kontrol temperatur pada sebuah inkubator yang
dilengkapi dengan blower, dimana temperatur inkubator dapat diubah serta dipertahankan
sesuai dengan keinginan pengguna inkubator tersebut.
1.3
Tujuan Penulisan
Adapun tujuan penulisan tugas akhir ini adalah merancang prototipe kontrol temperatur
pada sebuah inkubator yang dilengkapi dengan blower, dimana temperatur inkubator
dapat diubah serta dipertahankan sesuai dengan keinginan pengguna inkubator tersebut.
1.4
Batasan Masalah
Penulisan tugas akhir ini dibatasi pada:
a. Studi cara kerja rangkaian yang meliputi diagram blok dan menguraikan
secara umum fungsi dari masing-masing komponen utama dalam blok
tersebut
b. Penulis menggunakan sensor LM 35 sebagai sensor temperatur pada
inkubator ini.
c. Untuk menaikkan temperatur inkubator, penulis menggunakan heater dan
5
d. Data pengukuran ditampilkan di seven segmen sebagai peralatan
monitoring tanpa melakukan proses pengendali.
1.5
Prinsip Kerja
Prinsip kerja dari prototipe kontrol temperatur pada sebuah inkubator yang dilengkapi
dengan blower adalah mempertahankan atau menjaga temperatur inkubator yang di
masukkan melalui keypad 4X4. Dimana output sensor suhu LM35 di inputkan ke
ADC0804, setelah melalui proses pengkondisi sinyal dengan cara dikuatkan, tegangan
analog diubah menjadi data digital menggunakan ADC0804 kemudian dimasukkan ke
mikrokontroler. Data digital yang diperoleh kemudian diolah oleh mikrokontroler
AT89S51 di tampilkan di seven segmen. Dari sistem perancangan akuisisi data didapat
bahwa alat ini dapat mengontrol suhu mulai dari 27ºC sampai 100ºC.
1.6
Sistematika Penulisan
Untuk mempermudah pembahasan dan pemahaman maka penulis membuat sistematika
pembahasan bagaimana sebenarnya prinsip kerja dari prototipe kontrol temperatur pada
sebuah inkubator yang dilengkapi dengan blower, maka penulis menulis tugas akhir ini
sebagai berikut:
BAB 1 PENDAHULUAN
Dalam bab ini berisikan mengenai latar belakang, rumusan masalah, tujuan
penulisan, batasan masalah,prinsip kerja alat tersebut serta sistematika
6
BAB 2 LANDASAN TEORI
Landasan teori, dalam bab ini dijelaskan tentang teori pendukung yang
digunakan untuk pembahasan dan cara kerja dari rangkaian teori
pendukung itu antara lain tentang mikrokontroler AT89S51 (hardware dan
software), serta bahasa program yang digunakan.
BAB 3 RANCANGAN SISTEM
Pada bab ini akan dibahas perancangan dari alat, yaitu diagram blok dari
rangkaian,skematik dari masing-masing rangkaian dan diagram alir dari
program yang akan di isikan ke mikrokontroler AT89S51
BAB 4 PENGUJIAN ALAT DAN PROGRAM
Pada bab ini akan dibahas hasil analisa dari rangkaian dan sistem kerja
alat, penjelasan mengenai program-program yang digunakan untuk
mengaktifkan rangkaian, penjelasan mengenai program yang akan diisikan
ke mikrokontroler AT89S51
BAB 5 KESIMPULAN DAN SARAN
Bab ini merupakan bab penutup yang meliputi tentang kesimpulan dari
pembahasan yang dilakukan dari tugas akhir ini serta saran apakah yang
akan diambil sehingga rangkaian ini dapat dibuat sehingga lebih efisien
dan dikembangkan perakitannya pada suatu metode lain yang mempunyai
BAB 2
LANDASAN TEORI
2.1Sensor 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
LM 35 merupakan sensor temperatur yang paling banyak digunakan untuk
praktek, karena selain harganya cukup murah juga linearitasnya lumayan bagus. LM 35
tidak membutuhkan kalibrasi eksternal yang mennyediakan akurasi ±¼°C pada
temperatur ruangan dan ±¾ºC pada kisaran -55ºC sampai +150°C .
Sensor suhu LM 35 berfungsi untuk mengubah besaran fisis yang berupa suhu
menjadi besaran elektris tegangan. Sensor ini memiliki parameter bahwa setiap kenaikan
1ºC tegangan keluarannya naik sebesar 10mV dengan batas maksimal keluaran sensor
adalah 1,5 V pada suhu 150 °C.
Pada perancangan, kita tentukan keluaran ADC mencapai full scale pada saat
suhu 100 °C, sehingga saat suhu 100 °C tegangan keluaran transduser (10mV/°Cx100
8
Dari pengukuran secara langsung saat suhu ruang, keluaran LM 35 adalah 0.3V
(300mV). Tegangan ini diolah dengan menggunakan rangkaian pengkondisi sinyal agar
sesuai dengan tahapan masukan ADC.
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
9
Sensor suhu tipe LM 35 merupakan IC sensor temperatur yang akurat yang
tegangan keluarannya linear dalam satuan celcius. Jadi LM 35 memiliki kelebihan
dibandingkan 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.2
Analog To Digital Converter (ADC) 0804
ADC merupakan singkatan dari analog to digital converter, dimana ADC merupakan
jembatan untuk menghubungkan bermacam – macam sensor dengan mikrokontroler.
ADC merupakan sebuah interface yang dapat merubah tegangan analog menjadi
digital karena mikrokontroler hanya memiliki masukan berupa data-data digital, maka
agar mikrokontroler dapat membaca tegangan analog, maka ADClah temannya.
Untuk dapat mengukur atau mengkonversi suatu variable fisis yang umumnya
analog dengan suatu piranti digital maka variabel tersebut terlebih dahulu diubah menjadi
variabel digital yang nilainya proporsional terhadap nilai variabel yang diukur . untuk hal
10
Sebuah konverter analog ke digital umumnya memerlukan konverter digital
keanalog ( DAC, Digital to Analog Converter) secara internal. Waktu yang digunakan
oleh sebuah ADC menghasilkan kode biner (digital) dalam suatu konversi disebut waktu
konversi. ADC dikatan berkecepatan tinggi jika memiliki waktu konversi yang pendek
atau singkat.
ADC merupakan piranti masukan dimana mikrokontroler mendapatkan data dari
ADC. Cara mendapatkan data dari ADC yaitu ADC memerlukan sinyal write dan read.
Sinyal write digunakan sebagai perintah bagi ADC untuk memulai konversi. Proses
konversi akan dimulai setelah mendapatkan sinyal write ini. Proses ini membutuhkan
waktu yang cukup lama, yaitu sekitar 120µs. Selama konversi berlangsung, pin INTR
berada dalam kondisi high, segera setelah konversi selesai pin INTR akan berubah
menjadi low. Ini bertanda bahwa ADC sudah memperoleh data valid yang boleh diambil.
Ada beberapa cara yang dapat dilakukan dalam menangani ADC yaitu:
a) Menghubungkan pin INTR dari ADC dengan pin INTO/INT1 dari
mikrokontroler, dan melakukan pembacaan data ADC didalam prosedur
interupsi.
b) Menyambungkan pin INTR dari ADC ke pin mana saja dari
mikrokontroler dan membuat perintah looping untuk menunggu sampai
11
c) Tidak menghubungkan pin INTR dengan mikrokontroler. Dengan
demikian mikrokontroler tidak dapat mengetahui dengan pasti kapan
waktu konversi telah selesai. Untuk dapat memperoleh data valid setelah
sinyal write dikiri, milrokontroler harus menunda pembacaan sampai
waktu paling lama yang mungkin dibutuhkan untuk proses konversi, yaitu
menunggu sampai sekitar 120µs atau lebih. Pada gambar 1, pin INTR
tidak dihubungkan kemanapun, jadi hanya cara ketiga yang dapat
dilakukan.
Gambar 1 Menghubungkan ADC0804 dengan 8051 melalui port I/O
Pada rangkaian ini, R2 dan C4 berfungsi sebagai rangkaian clock pada ADC.
Input tegangan analog diberikan oleh VR1. interkoneksi dengan µC dilakukan melalui
pin RD (P3.7), WR (P3.6), INTO (P3.2) dan P0. RD dan WR diatur melalui software µC,
INTO sebagai indikator konversi data selesai. INTO dapat dihubugkan ke interrupt pada
12
2.3
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.
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.
AT89S51 adalah sebuah mikrokontroler 8 bit terbuat dari CMOS, yang
berkonsumsi daya rendah dan mempunyai kemampuan tinggi. Mikrokontroler ini
memiliki 4 Kbyte In-System Flash Programable Memori, Ram sebesar 128 Byte, 32
input/output, watchdog timer,dua buah register data pointer, dua buah 16 bit timer dan
counter, lima buah vektor interupsi, sebuah port serial full-duplex, osilator on-chip, dan
13
AT89S51 dibuat dengan teknologi memori non-volatile dengan kepadatan tinggi
oleh ATMEL. Mikrokontroler ini cocok dengan instruksi set dan pin out 80C51 standar
industri.Flash on-chip memungkinkan memori program untuk di program ulang dengan
program memori nonvolative yang biasa.
Gambar 2 . Mikrokontroller AT89S51
Keterangan
Vcc : Suplai Tegangan
GND : Ground atau pentanahan
14
Fungsi - fungsi Port :
Port0 : Merupakan port paralel 8 bit open drain dua arah. Bila digunakan untuk mengakses memori luar, port ini akan memultipleks alamat memori dengan data.
Port1 : merupakan port paralel 8 bit dua arah yang dapat digunakan untuk berbagai keperluan. Port2 : merupakan port paralel selebar 8 bit dua arah.
Port ini melakukan pengiriman byte alamat bila dilakukan pengaksesan memori eksternal. P3.0 : Saluran masukan serial
P3.1 : Saluran keluaran serial P3.2 : Interupsi eksternal 0 P3.3 : Interupsi eksternal 1
P3.4 : Masukan eksternal pewaktu / pencacah 0 P3.5 : Masukan eksternal pewaktu / pencacah 1 P3.6 : Sinyal tanda baca memori data ekstrenal. P3.7 : Sinyal tanda tulis memori data ekstrenal.
Data digital 8 bit dari ADC diambil oleh mikokontroler melalui Port 2 ( P2.0-P2.7
dihubungkan dengan DB0-DB7 ). Sedangkan data masukan untuk penampil seven
segmen dikeluarkan melalui Port 1 ( P1.0-P1.7 dihubungkan dengan D0-D7 ). Untuk
mengontrol kaki RS dan E pada seven segmen mikrokontroler memanfaatkan kaki P3.6
dan P3.7
Proses pengambilan data dan pengolahan data dapat dilihat dalam gambar 2. Data
yang diambil dari P2 dikalibrasi terlebih dahulu, setelah dikalibrasi data tersebut
kemudian diubah ke dalam kode ASCII supaya tertampil angka 0-100 pada seven
15
2.4
Power Supply (PSA)
Catu daya merupakan bagian yang berfungsi untuk menyediakan daya untuk daya
rangkaian. Ada dua macam catu daya, yaitu catu daya tegangan tetap dan catu daya
variable . Catu daya tegangan tetap adalah catu daya yang tegangan keluarannya tetap
dan tidak bisa diatur. Catu daya variable merupakan catu daya yang tegangan
keluarannya dapa diubah/diatur. Catu daya yang baik selalu dilengkapi dengan regulator
tegangan.Tujuan pemasangan regulator tegangan pada catu daya adalah untuk
menstabilkan tegangan keluaran apabila terjadi perubahan tegangan masukan pada catu
daya. Fungsi lain dari regulator tegangan adalah untuk perlindungan dari terjadinya
hubung singkat pada beban. Salah satu tipe regulator tegangan tetap adalah LM78xx.
Regulator tegangan tipe LM 78xx adalah salah satu regulator tegangan tetap dengan tiga
terminal, yaitu terminal Vin , GND dan Vout. Tegangan keluaran dari regulator LM 78xx
memungkinkan regulator untuk dipakai dalam sistem logika, instrumentasi dan Hifi .
Regulator tegangan LM 78xx dirancang sebagai regulator tegangan tetap, meskipun
demikian dapat juga keluaran dari regulator ini diatur tegangan dan arusnya melalui
tambahan komponen eksternal . Cara pemasangan dari penerapan dari regulator tegangan
tetap LM 78xx pada catu daya dapat dilihat pada Gambar 2.3 berikut.
16
Regulator tegangan tetap LM 78xx dibedakan dalam tiga versi yaitu LM 78xxC,
LM 78lxx dan LM 78Mxx. Arsitektur dari regulator tegangan tersebut sama, yang
membedakan adalah kemampuan mengalirkan arus pada regulator
Perangkat elektronika mestinya dicatu oleh supplay arus searah DC (direct
current) yang stabil agar dapat bekerja dengan baik. Baterai atau accu adalah sumber catu
daya DC yang paling baik. Namun untuk aplikasi yang membutuhkan catu daya yang tegangan tersebut .
Regulator tegangan tetap LM 78xx dibedakan dalam tiga versi yaitu LM 78xxC, LM
78lxx dan LM 78Mxx. Arsitektur dari regulator tegangan tersebut sama, yang
membedakan adalah kemampuan mengalirkan arus pada regulator tegangan tersebut.
Adaptor adalah sebuah rangkaian transformator yang dapat merubah arus Ac
menjadi arus DC. Dari penguatan inilah selanjutnya disebut power supply atau penguat
catu daya.
Panjang pendeknya gulungan sekunder pada trafo adaptor akan mempengaruhi
besar kecilnya sumber tegangan volt. Sedang besar kecilnya diameter kawat yang
digunakan akan mempengaruhi besar kecilnya arus dalam amper yang diperoleh.
Pada sebuah trafo tenaga yang di tancapkan AC pada primernya , kumparan
sekunder akan timbul arus yang berlawanan (DC). Arus yang keluar akibat imbas ini
sebenarnya secara menyeluruh belum rata. Karena itu perlu disearahkan dan distabilkan.
Kurang tertibnya rangkaian stabilizer akan menyebabkan bunyi derau pada pesawat yang
17
lebih besar, sumber dari baterai tidak cukup. Sumber catu daya yang besar adalah sumber
arus bolak-balik (alternating current) dari pembangkit tenaga listrik. Untuk itu diperlukan
suatu perangkat catu daya yang dapat mengubah arus AC menjadi arus DC
Banyak peralatan elektronika yang tidak dilengkapi dengan adaptor atau catu daya
tetap, misalnya radio dan tape rekorder kecil. Selain dengan baterai kering, kita dapat
menyediakan catu daya dengan rangkaian penyearah yang tegangan keluarannya tetap
dan stabil, serta biaya murah. Adaptor murah yang dipasaran biasanya tidak dilengkapi
dengan stabilisator dan kemampuan arusnya belum tentu sesuai dengan peralatan kita.
2.5
Keypad 4X4
DT-I/O 4 x 4 Keypad Module merupakan modul keypad berukuran 4 kolom x 4 baris.
Modul ini dapat difungsikan sebagai divais input dalam aplikasi-aplikasi seperti
pengaman digital, data logger, absensi, pengendali kecepatan motor, robotik, dan
sebagainya.
Spesifikasi Har dwar e
1. Memiliki 16 tombol (fungsi tombol tergantung aplikasi).
2. Memiliki konfigurasi 4 baris (input scanning) dan 4 kolom (output scanning).
3. Kompatibel penuh dengan DT-51™ Low Cost Series dan DT-AVR Low Cost Series.
Mendukung 51™ Minimum Sistem (MinSys) ver 3.0, 51™ PetraFuz,
DT-BASIC Series, dan lain-lain.
18
P1.4 (Pin 7 PORT 1) R1 (J3)
P1.5 (Pin 8 PORT 1) R2 (J3)
P1.6 (Pin 9 PORT 1) R3 (J3) P1.7 (Pin 10 PORT 1) R4 (J3)
DT-51™ Minimum System v3.
dan Petr aFuz
DT-I/O 4x4 Keypad Module
VCC (Pin 1 Port CONTROL) VCC (J5)
PC.0 (Pin 1 PORT C & PORT 1) C1 (J3) PC.1 (Pin 2 PORT C & PORT 1) C2 (J3) PC.2 (Pin 3 PORT C & PORT 1) C3(J3) PC.3 (Pin 4 PORT C & PORT 1) C4(J3) PC.4 (Pin 5 PORT C & PORT 1) R1(J3) PC.5 (Pin 6 PORT C & PORT 1) R2(J3) PC.6 (Pin 7 PORT C & PORT 1) R3 (J3) PC.7 (Pin 8 PORT C & PORT 1) R4(J3)
2.6
Display Seven Segmen
19
(b)
Gambar 2.6.1 Rangkaian Seven segmen
INPUT
SELECTOR ENABLE OUTPUT
C B A G1 /G2A /G2B Y1 Y2 Y2 Y3 Y4 Y5 Y6 Y7
0 0 0 1 0 0 0 1 1 1 1 1 1 1
0 0 1 1 0 0 1 0 1 1 1 1 1 1
0 1 0 1 0 0 1 1 0 1 1 1 1 1
0 1 1 1 0 0 1 1 1 0 1 1 1 1
1 0 0 1 0 0 1 1 1 1 0 1 1 1
1 0 1 1 0 0 1 1 1 1 1 0 1 1
1 1 0 1 0 0 1 1 1 1 1 1 0 1
1 1 1 1 0 0 1 1 1 1 1 1 1 0
Tabel 2.6.1 Tabel kebenaran 74LS138
Pada tabel kebenaran tersebut tampak bahwa seven segmen yang hidup tergantung pada
output dari dekoder 74LS138, yang sedang mengeluarkan logika low ”0”, sehingga dari 8
buah display tersebut, selalu hanya satu display yang akan dihidupkan. Agar display
20
bergantian dengan waktu tunda tertentu. Pada gambar tersebut seven segment common
anoda dikendalikan dengan menggunakan transistor PNP melalui decoder 74LS138,
apabila ada logika low pada basis transistor, maka seven segmen akan menyala dan
[image:30.612.253.359.194.305.2]sebaliknya akan padam.
Gambar 2.6.2 Modul 7 Segmen tunggal
P0.6 P0.5 P0.4 P0.3 P0.2 P0.1 P0.0 Display
G f e d c b a
1 0 0 0 0 0 0 0
1 1 1 1 0 0 1 1
0 1 0 0 1 0 0 2
0 1 1 0 0 0 0 3
: : : : : : : :
0 0 0 1 0 0 0 A
0 0 0 0 0 1 1 b
Tabel 2.6.2 Data Display 7 Segmen
Pada tabel tersebut tampak bahwa untuk menghidupkan sebuah segmen, harus dikirimkan
data logika low ”0” dan sebaliknya untuk mematikan segmen, harus dikirimkan data
logika high ”1”.
org 0h
[image:30.612.87.491.360.529.2]21
clr P3.6 ; P3.6 = ‘0’
clr P3.7 ; P3.7 = ‘0’
mov P0,#10001000b ; Cetak Karakter 'A'
sjmp start ; Lompat ke start
2.7
end
Dalam ruangan yang tertutup (closed-loop system), suhu adalah salah satu faktor yang
berpengaruh terhadap lingkungannya. Pengontrolan terhadap suhu ruangan yang bekerja
secara otomatis dapat menjaga suhu pada kondisi yang optimum (tidak terlalu panas atau
tidak terlalu dingin) dan dapat menghemat penggunaan energi.Sensor yang dipasang
dalam sistem akan mengindera nilai suhu ruangan secara terus-menerus (real time). Hasil
tersebut sebelum dikirimkan kepada mikrokontroler untuk diolah telah dikonversikan
terlebih dahulu oleh ADC. Suhu hasil penginderaan akan dibandingkan dengan suhu
ambang suhu optimum ruangan yang dapat diatur nilainya batas bawah maupun batas
atasnya melalui masukan keypad, maka perbedaan tersebut yang menjadi indikator
bekerja atau tidaknya blower sebagai pendingin ruangan.
Blower
2.8
Heater (pemanas)Heater merupakan suatu pemanas yang befungsi untuk memanaskan ruangan atau
lingkungan di sekitar pemanas tersebut. Pada pemanas tipe ini, penulis menngunakan
hair dryer yang memancarkan panas kesekitar inkubator. Pemanas ini tidak dipakai di
dasar inkubator melainkan di belakang dinding inkubator agar panas tersebar keseluruh
22
2.9
Secara fisik, kerja dari sebuah mikrokontroler dapat dijelaskan sebagai siklus pembacaan
instruksi yang tersimpan di dalam memori. Mikrokontroler menentukan alamat dari
memori program yang akan dibaca, dan melakukan proses baca data di memori. Data
yang dibaca diinterprestasikan sebagai instruksi. Alamat instruksi disimpan oleh
mikrokontroler di register, yang dikenal sebagai program counter. Instruksi ini misalnya
program aritmatika yang melibatkan 2 register. Sarana yang ada dalam program assembly
sangat minim, tidak seperti dalam bahasa pemrograman tingkat atas (high level language
programming) semuanya sudah siap pakai. Penulis program assembly harus menentukan
segalanya, menentukan letak program yang ditulisnya dalam memori-program, membuat
data konstan dan tablel konstan dalam memori-program, membuat variabel yang dipakai
kerja dalam memori-data dan lain sebagainya.
Bahasa Assembly
2.9.1
Program Sumber AssemblyProgram-sumber assembly (assembly source program) merupakan kumpulan dari
baris-baris perintah yang ditulis dengan program penyunting-teks (text editor) sederhana,
misalnya program EDIT.COM dalam DOS, atau program NOTEPAD dalam Windows
atau MIDE-51. Kumpulan baris perintah tersebut biasanya disimpan ke dalam file dengan
nama ekstensi *.ASM dan lain sebagainya, tergantung pada program Assembler yang
akan dipakai untuk mengolah program-sumber assembly tersebut. Setiap baris-perintah
merupakan sebuah perintah yang utuh, artinya sebuah perintah tidak mungkin dipecah
23
sebagai kode operasi, bagian ketiga adalah operand dan bagian terakhir adalah komentar.
Antara bagian-bagian tersebut dipisahkan dengan sebuah spasi atau tabulator.
2.9.2
Label dipakai untuk memberi nama pada sebuah baris-perintah, agar bisa mudah
menyebitnya dalam penulisan program. Label bisa ditulis apa saja asalkan diawali dengan
huruf, biasa panjangnya tidak lebih dari 16 huruf. Huruf - huruf berikutnya boleh
merupakan angka atau tanda titik dan tanda garis bawah. Kalau sebuah baris perintah
tidak memiliki bagian label, maka bagian ini boleh tidak ditulis namun spasi atau
tabulator sebagai pemisah antara label dan bagian berikutnya mutlak tetap harus ditulis.
Dalam sebuah program sumber bisa terdapat banyak sekali label, tapi tidak boleh ada
label yang kembar. Sering sebuah baris perintah hanya terdiri dari bagian label saja, baris
demikian itu memang tidak bisa dikatakan sebagai baris perintah yang sesungguhnya,
tetapi hanya sekedar memberi nama pada baris bersangkutan. Bagian label sering disebut
juga sebagai bagian simbol, hal ini terjadi kalau label tersebut tidak dipakai untuk
menandai bagian program, melainkan dipakai untuk menandai bagian data.
Bagian Label
2.9.3
Bagian Kode OperasiKode operasi (operation code atau sering disingkat sebagai OpCode) merupakan bagian
perintah yang harus dikerjakan. Dalam hal ini dikenal dua macam kode operasi, yang
pertama adalah kode operasi untuk mengatur kerja mikroprosesor/mikrokontroler. Jenis
kedua dipakai untuk mengatur kerja program assembler yang sering dinamakan sebagai
24
singkatan-singkatan yang relatif mudah di ingat, misalnya adalah MOV, ACALL, RET
dan lain sebagainya. Kode operasi ini ditentukan oleh pabrik pembuat
mikroprosesor/mikrokontroler, dengan demikian setiap prosesor mempunyai kode operasi
yang berlainan. Kode operasi berbentuk mnemonic tidak dikenal
mikroprosesor/mikrokontroler, agar program yang ditulis dengan kode mnemonic bisa
dipakai untuk mengendalikan prosesor, program semacam itu diterjemahkan menjadi
program yang dibentuk dari kode operasi kode biner, yang dikenali oleh
mikroprosesor/mikrokontroler. Tugas penerjemahan tersebut dilakukan oleh
programyang dinamakan sebagai Program Assembler. Diluar kode operasi yang
ditentukan pabrik pembuat mikroprosesor/mikrokontroler, ada pula kode operasi untuk
mengatur kerja dari program assembler, misalnya dipakai untuk menentukan letak
program dalam memori (ORG), dipakai untuk membentuk variabel (DS), membentuk
tabel dan data konstan (DB, DW) dan lain sebagainya.
2.9.4
Operand merupakan pelengkap bagian kode operasi, namun tidak semua kode operasi
memerlukan operand, dengan demikian bisa terjadi sebuah baris perintah hanya terdiri
dari kode operasi tanpa operand. Sebaliknya ada pula kode operasi yang perlu lebih dari
satu operand, dalam hal ini antara operand satu dengan yang lain dipisahkan dengan
tanda koma (,). Bentuk operand sangat bervariasi, bisa berupa kode-kode yang dipakai
untuk menyatakan Register dalam prosesor, bisa berupa nomor memori (alamat memori)
yang dinyatakan dengan bilangan atau pun nama label, bisa berupa data yang siap di
operasikan. Semuanya di sesuaikan dengan keperluan dari kode operasi. Untuk
membedakan operand yang berupa nomor memori atau operand yang berupa data yang
25
siap di operasikan, dipakai tanda - tanda khusus atau cara penulisan yang berlainan.
Di samping itu operand bisa berupa persamaan matematis sederhana atau persamaan
Boolean, dalam hal semacam ini program Assembler akan menghitung nilai dari
persamaan-persamaan dalam operand, selanjutnya merubah hasil perhitungan tersebut ke
kode biner yang dimengerti oleh prosesor. Jadi perhitungan di dalam operand dilakukan
oleh program assembler bukan oleh prosesor.
2.9.5
Bagian komentar merupakan catatan-catatan penulis program, bagian ini meskipun tidak
mutlak diperlukan tapi sangat membantu masalah dokumentasi. Membaca
komentar-komentar pada setiap baris perintah, dengan mudah bisa dimengerti maksud tujuan baris
bersangkutan, hal ini sangat membantu orang lain yang membaca program.
Pemisah bagian komentar dengan bagian sebelumnya adalah tanda spasi atau tabulator,
meskipun demikian huruf pertama dari komentar sering berupa tanda titik koma (,)
merupakan tanda pemisah khusus untuk komentar.
Untuk keperluan dokumentasi yang intensip, sering sebuah baris yang merupakan
komentar saja, dalam hal ini huruf pertama dari baris bersangkutan adalah tanda titik
koma (,). AT89S51 memiliki sekumpulan instruksi yang sangat lengkap. Instruksi MOV
untuk byte dikelompokkan sesuai dengan mode pengalamatan (addressing modes). Mode
pengalamatan menjelaskan bagaimana operand dioperasikan. Berikut penjelasan dari
berbagai mode pengalamatan. Bentuk program assembly yang umum ialah sebagai
berikut :
26
Label/Simbol Opcode Operand Komentar
Org 0H
Start: Kiri: Delay: Del1: Del2: Mov Mov Mov Call RL DEC CJNE Sjmp mov mov djnz djnz ret end A, #11111110b R0, #7 P0, A Delay A R0
R0, #0, Kiri Start
R1, #255 R2, #255 R2, del2 R1, del1
[image:36.612.117.525.71.309.2]; Isi Akumulator ; Isi R0 dengan 7 ; Copy A ke P0 ; Panggil Delay
Tabel 2.7.6 Program Assembly
Isi memori adalah bilangan heksadesimal yang dikenal oleh mikrokontroler, yang
merupakan representasi dari bahasa assembly yang telah kita buat. Mnemonic atau
opcode adalah kode yang akan melakukan aksi terhadap operand . Operand adalah data
yang diproses oleh opcode. Sebuah opcode bisa membutuhkan 1,2 atau lebih operand,
kadang juga tidak perlu operand. Sedangkan komentar dapat kita berikan dengan
menggunakan tanda titik koma (;). Berikut contoh jumlah operand yang berbeda beda
dalam suatu assembly.
CJNE R5,#22H, aksi ;dibutuhkan 3 buah operand MOVX @DPTR, A ;dibutuhkan 2 buah operand RL A ;1 buah operand
NOP ; tidak memerlukan operand
Program yang telah selesai kita buat dapat disimpan dengan ekstension .asm. Lalu
kita dapat membuat program objek dengan ekstension HEX dengan menggunakan
BAB 3
RANCANGAN SISTEM
3.1 Diagram Blok Rangkaian
Diagram blok merupakan gambaran dasar dari rangkaian sistem yang akan dirancang.
Dimana setiap diagram blok mempunyai fungsi masing-masing. Adapun diagram blok
dari sistem yang dirancang adalah seperti yang diperlihatkan pada gambar 3.1. berikut
ini:
Gambar 3.1 Diagram Blok Rangkaian
Disain sistem rangkaian terdiri dari:
1. Sensor suhu (LM 35) berfungsi untuk mengukur suhu inkubator kemudian output
sensor ini akan diinputkan ke ADC0804. P0 P1 P2 P3 Display 1 buah Relay 1 buah Heater ADC 0804 Keypad 4 x 4
28
2. ADC0804 berfungsi untuk merubah tegangan analog dari sensor suhu menjadi
data digital 8 bit, sehingga data tersebut dapat diolah oleh mikrokontroler
AT89S51.
3. Mikrokontroler AT89S51 berfungsi untuk mengolah data digital yang dikirimkan
oleh ADC0804, selanjutnya mikrokontroler akan menampilkan nilai suhu yang
terukur pada seven segmen kemudian membandingkannya dengan data tertentu
untuk kemudian mengambil tindakan (menghidupkan/mematikan heater).
4. Relay berfungsi sebagai perantara antara mikrokontroler yang memiliki tegangan
5 volt DC dengan heater yang memiliki tegangan 220 volt AC, sehingga heater
dapat dikendalikan oleh mikrokontroler AT89S51.
5. Heater berfungsi untuk memanaskan inkubator yang akan dikendalikan oleh
mikrokontroler setelah mendapatkan data dari sensor suhu (LM 35).
6. Display berfungsi untuk menampilkan hasil pembacaan suhu pada sensor suhu
(LM 35) yang berada dalam inkubator.
7. Keypad 4x4 berfungsi untuk memasukkan nilai temperatur yang akan
dipertahankan oleh inkubator.
8. Blower berfungsi untuk mengisap dan mengeluarkan udara panas yang dihasilkan
29
Baca data ADC Dan Tampilkan pada display Apakan tombol Bintang (*) Ditekan ? Start Tidak Kosongkan Display Baca Nilai Masukan dan tampilkan pada display Ya Apakah Tombol D ditekan ? Apakan Tombol A ditekan Tidak Ya Tidak Simpan Data Masukan pada alamat 63h Apakah Nilai ADC = Nilai Pada Alamat
63h ?
Baca data ADC Dan Tampilkan pada display Ya Apakah Tombol C ditekan ? Apakah Nilai
ADC < Nilai Pada Alamat
63h ?
Apakah Nilai ADC > Nilai Pada Alamat
63h ?
Tidak Tidak Tidak
Tidak
Matikan Heater Hidupkan Heater Matikan Heater Tampilkan nilai yang ada pada alamat 63h ke
display
Ya Ya Ya Ya
Apakah Tombol B ditekan ?
Apakah Tombol Pagar (#) ditekan ? Tidak
Tidak Ya
Ya 3.2 Diagram Alir Pemrograman
30
Program diawali dengan start yang berarti rangkaian diaktifkan. Kemudian
program akan membaca nilai ADC dan menampilkannya pada display. Selanjutnya
program akan melihat apakah ada penekanan pada tombol bintang (*) atau tidak. Jika
tidak ada penekanan pada tombol bintang, maka program akan kembali membaca
ADC dan menampilkannya pada display. Namun jika ada penekanan pada tombol
bintang (*), maka program akan mengosongkan tampilan pada display.
Selanjutnya program akan membaca masukan yang diinput melalui keypad,
kemudian program akan menampilkan nilai masukan pada display. Kemudian
program akan melihat apakah tombol “D” ditekan. Tombol D merupakan tombol
reset. Jika tombol “D” tidak ditekan, maka program akan melihat apakah tombol “A”
ditekan. Namun jika tombol “D” ditekan, maka program akan kembali mengosongkan
display dan kembali menerima input dari keypad.
Tombol “A” merupakan tombol enter. Jika tombol “A” tidak ditekan, maka
program akan terus menampilkan nilai yang di inputkan dari keypad. Jika tombol “A”
ditekan, maka program akan menyimpan nilai masukan ke alamat 63H, kemudian
program akan kembali membaca nilai ADC dan menampilkannya pada display.
Selanjutnya program akan membandingkan nilai ADC dengan nilai masukan
yang diinput dari keypad (Yang ada pada alamat 63H).
1. Jika nilai ADC sama dengan nilai pada alamat 63h, maka program akan
mematikan heater dan kembali membaca ADC dan menampilkan hasil
31
2. Jika nilai ADC lebih kecil dari nilai pada alamat 63h, maka program akan
menghidupkan heater dan kembali membaca ADC dan menampilkan hasil
pembacaannya ke display.
3. Jika nilai ADC lebih besar dari nilai pada alamat 63h, maka program akan
mematikan heater dan kembali membaca ADC dan menampilkan hasil
pembacaannya ke display.
Selain membandingkan, program juga melihat apakah tombol “C”. Tombol “C”
merupakan tombol untuk menampilkan nilai yang ada pada alamat 63H. Jika tombol
“C” ini ditekan, maka program akan menampilkan nilai yanga ada pada alamat 63h ke
display, selanjutnya program akan melihat apakan ada penekanan pada tombol “B”.
Jika tombol “B” ditekan, maka program akan kembali membaca ADC,
menampilkalnya pada display kemudian membandingkannya. Namun jika tombol “B”
tidak ditekan, maka program akan melihat apakah ada penekanan pada tombol “#”.
Jika tombol “#” ditekan, maka program akan kembali ke awal untuk mengambil
masukan dari keypad. Blower akan selalu aktif walaupun heater telah berhenti
memanaskan inkubator.
3.3 Perancangan Power Supplay (PSA)
Rangkaian ini berfungsi untuk mensupplay tegangan ke seluruh rangkaian yang ada.
Rangkaian PSA yang dibuat terdiri dari dua keluaran, yaitu 5 volt dan 12 volt,
keluaran 5 volt digunakan untuk mensupplay tegangan ke seluruh rangkaian,
32
Vreg LM7805CT
IN OUT TIP32C
100ohm
100uF
330ohm 220V 50Hz 0Deg
TS_PQ4_12
2200uF 1uF
1N5392GP 1N5392GP
12 Volt
[image:42.595.80.513.72.285.2]5 Volt
Gambar 3.2 Rangkaian Power Supplay (PSA)
Trafo CT merupakan trafo stepdown yang berfungsi untuk menurunkan
tegangan dari 220 volt AC menjadi 12 volt AC. Kemudian 12 volt AC akan
disearahkan dengan menggunakan dua buah dioda, selanjutnya 12 volt DC akan
diratakan oleh kapasitor 2200 μF. Regulator tegangan 5 volt (LM7805CT) digunakan
agar keluaran yang dihasilkan tetap 5 volt walaupun terjadi perubahan pada tegangan
masukannya. LED hanya sebagai indikator apabila PSA dinyalakan. Transistor PNP
TIP 32 disini berfungsi untuk mensupplay arus apabila terjadi kekurangan arus pada
rangkaian, sehingga regulator tegangan (LM7805CT) tidak akan panas ketika
rangkaian butuh arus yang cukup besar. Tegangan 12 volt DC langsung diambil dari
keluaran 2 buah dioda penyearah.
3.4
Rangkaian Mikrokontroler AT89S51
Rangkaian ini berfungsi sebagai pusat kendali dari seluruh sistem yang ada.
Komponen utama dari rangkaian ini adalah IC mikrokontroler AT89S51. Pada IC
inilah semua program diisikan, sehingga rangkaian dapat berjalan sesuai dengan yang
33 5V VCC 5V VCC 10uF 2 1 30pF 30pF
XTAL 12 MHz
AT89S51 P0.3 (AD3) P0.0 (AD0) P0.1 (AD1) P0.2 (AD2) Vcc P1.0 P1.1 P1.2 P1.3 P1.4 P1.5 P1.6 P1.7 P0.4 (AD4) P0.5 (AD5) P0.6 (AD6) P0.7 (AD7) RST EA/VPP P3.0 (RXD) P3.1 (TXD) P3.2 (INT0) P3.3 (INT1) P3.4 (T0) ALE/PROG PSEN P2.7 (A15) P2.6 (A14) P2.5 (A13) P2.4 (A12) P2.3 (A11) P2.2 (A10) P2.1 (A9) P3.6 (WR) P3.5 (T1) P3.7 (RD) XTAL2 XTAL1
GND P2.0 (A8)
[image:43.595.242.419.73.322.2]1 2 3 4 5 6 7 8 40 39 38 37 36 35 34 33 9 10 11 12 13 14 15 32 31 30 29 28 27 26 16 17 18 19 20 25 24 23 22 21
Gambar 3.4 Rangkaian mikrokontroler AT89S51
Mikrokontroler ini memiliki 32 port I/O, yaitu port 0, port 1, port 2 dan port
3. Pin 32 sampai 39 adalah Port 0 yang merupakan saluran bus I/O 8 bit. Pin 1 sampai
8 adalah port 1. Pin 21 sampai 28 adalah port 2. Dan Pin 10 sampai 17 adalah port 3
Pin 40 dihubungkan ke sumber tegangan 5 volt, dan pin 20 dihubungkan ke ground.
Rangkaian mikrokontroler ini menggunakan komponen kristal 12 MHz sebagai
sumber clocknya. Nilai kristal ini akan mempengaruhi kecepatan mikrokontroler
dalam mengeksekusi suatu perintah tertentu.
Pada pin 9 dihubungkan dengan sebuah kapasitor 10 µF yang dihubungkan ke
positif dan sebuah resistor 10 Kohm yang dihubungkan ke ground. Kedua komponen
ini berfungsi agar program pada mikrokontroler dijalankan beberapa saat setelah
power aktif. Lamanya waktu antara aktifnya power pada IC mikrokontroler dan
aktifnya program adalah sebesar perkalian antara kapasitor dan resistor tersebut. Jika
dihitung maka lama waktunya adalah :
34
Jadi 0,1 detik setelah power aktif pada IC kemudian program aktif.
3.5 Rangkaian Sensor Temperatur dan ADC (Analog to Digital Converter)
Sensor suhu LM 35 berfungsi untuk mengubah besaran fisik yang berupa suhu
menjadi besaran elektris tegangan. Sensor ini memiliki parameter bahwa setiap
kenaikan 1 ºC tegangan keluaran naik sebesar 10mV dengan batas maksimal keluaran
sensor adalah 1,5 V pada suhu 150 º C.
Pada perancangan tugas akhir ini penulis menentukan keluaran ADC mencapai
full scale pada saat suhu 100 ºC, sehingga saat suhu 100 ºC tegangan keluaran
tranduser adalah (10 mV/ºC X 100 ºC) = 1 Volt
Dari pengukuran secara langsung saat suhu ruangan, keluaran LM 35 adalah
0,3V (300mV), tegangan ini diolah dengan menggunakan rangkaian pengkondisi
sinyal agar sesuai dengan tahapan masukan ADC.
Untuk mengetahui temperatur dalam inkubator, digunakan LM 35 yang
merupakan sensor temperatur. Output dari LM 35 ini dimasukkan sebagai input ke
35
[image:45.595.111.530.141.392.2]Rangkaiannya seperti dibawah ini:
Gambar 3.5 Rangkaian Sensor Temperatur dan ADC
Agar output yang dihasilkan oleh ADC bagus, maka tegangan refrensi ADC
harus benar-benar stabil, karena perubahan tegangan refrensi pada ADC akan
merubah output ADC tersebut. Oleh sebab itu pada rangkaian ADC di atas tegangan
masukan 12 volt dimasukkan ke dalam IC regulator tegangan 9 volt ( 7809) agar
keluarannya menjadi 9 volt, kemudian keluaran 9 volt ini dimasukkan kedalam
regulator tegangan 5 volt (7805), sehingga keluarannya menjadi 5 volt. Tegangan 5
volt inilah yang menjadi tegangan refrensi ADC. Dengan demikian walaupun
tegangan masukan turun setengahnya, yaitu dari 12 volt menjadi 6 volt, tegangan
refrensi ADC tetap 5 volt.
Output dari LM 35 di inputkan ke Op Amp LM 358. Pada Op Amp ini tidak
terjadi penguatan tegangan tetapi terjadi penguatan arus. Output dari Op Amp ini
3 2 4 8 1 LM358N 5 6 4 8 7 LM358N 5V VCC 5V VCC 50% 4.7k 330 1uF 100pF 330 LM35 + 330 D1 D0 D2 D3 D4 D5 D6 D7 VCC CLK R CS RD WR CLK IN INTR V IN (+) V IN (-) A GND V REF/2 D GND ADC0804 100pF 1.0k 100pF 100pF 10k Out Vreg LM7809CT IN OUT Gnd 1.0k 100uF 100pF Vreg LM7805CT IN OUT 100uF 100pF 330 4.7k
P0.0 (AT89S51)
36
SEVEN_SEG_DISPLAY
A B C DE F G
In Cl o c k O ut
D6 D5 D4 D3 D2 D1 D0
4094 D7 2 3 10 14 13 12 11 7 6 5 4 SEVEN_SEG_DISPLAY
A B C DE F G
In Cl o c k O ut
D6 D5 D4 D3 D2 D1 D0
4094 D7 2 3 10 14 13 12 11 7 6 5 4 SEVEN_SEG_DISPLAY
A B C DE F G
In Cl o c k O ut
D6 D5 D4 D3 D2 D1 D0
4094 D7 2 3 10 14 13 12 11 7 6 5 4
P3.0 AT89S51
P3.1 AT89S51
merupakan input pada ADC, ini berarti setiap perubahan tegangan yang terjadi pada
input ini maka akan terjadi perubahan pada output ADC.
Keluaran dari rangkaian sensor suhu dihubungkan ke rangkaian ADC untuk
diubah datanya menjadi data biner agar dapat dikenali oleh mikrokontroler AT89S51.
Output dari ADC dihubungkan ke mikrokontroler, sehingga setiap perubahan
output ADC yang disebabkan oleh perubahan inputnya (tegangan batere) akan
diketahui oleh mikrokontoler.
3.6
Rangkaian Display Seven Segmen
Rangkaian display seven segmen ini berfungsi untuk menampilkan nilai dari hasil
pengukuran intensitas. Rangkaian display seven segmen ditunjukkan pada gambar 3.6
[image:46.595.126.534.488.701.2]berikut ini :
37
Display ini menggunakan 3 buah seven segmen common anoda yang
dihubungkan ke IC 4094 yang merupakan IC serial to paralel. IC ini akan merubah 8
bit data serial yang masuk menjadi keluaran 8 bit data paralel. Rangkaian ini
dihubungkan dengan P3.0 dan P3.1 AT89S51. P3.0 merupakan fasilitas khusus
pengiriman data serial yang disediakan oleh mikrokontroler AT89S51. Sedangkan
P3.1 merupakan sinyal clock untuk pengiriman data serial.
Dengan menghubungkan P3.0 dengan IC serial to paralel (IC 4094), maka
data serial yang dikirim akan diubah menjadi data paralel. Kemudian IC 4094 ini
dihubungkan dengan seven segmen agar data tersebut dapat ditampilkan dalam bentuk
angka. Seven segmen yang digunakan adalah tipe common anoda (aktip low), ini
berarti segmen akan menyala jika diberi data low (0) dan segmen akan mati jika diberi
data high (1).
3.7 Rangkaian Relay
Relay ini berfungsi sebagai saklar elektronik yang dapat menghidupkan atau
38
[image:48.595.105.476.156.437.2]Rangkaian relay pengendali heater tampak seperti gambar di bawah ini:
Gambar 3.7 Rangkaian relay Pengendali heater 220 volt AC
Pada rangkaian di atas, untuk menghubungkan rangkaian dengan 220V AC digunakan
relay. Relay merupakan salah satu komponen elektronik yang terdiri dari lempengan
logam sebagai saklar dan kumparan yang berfungsi untuk menghasilkan medan
magnet. Pada rangkaian ini digunakan relay 12 volt, ini berarti jika positif relay (kaki
1) dihubungkan ke sumber tegangan 12 volt dan negatif relay (kaki 2) dihubungkan
ke ground, maka kumparan akan menghasilkan medan magnet, dimana medan magnet
ini akan menarik logam yang mengakibatkan saklar (kaki 3) terhubung ke kaki 4.
Dengan demikian, jika kita gunakan kaki 3 dan kaki 4 pada relay sebagai saklar untuk
menghidupkan atau mematikan lampu maka kita dapat menghidupkan atau
39
Pada rangkaian ini untuk mengaktifkan atau menon-aktifkan relay digunakan
transistor tipe NPN. Cara kerjanya sama dengan proses menghidupkan alarm yang
telah dijelaskan sebelumnya. Dari gambar dapat dilihat bahwa negatif relay
dihubungkan ke kolektor dari transistor NPN (2SC945), ini berarti jika transistor
dalam keadaan aktif maka kolektor akan terhubung ke emitor dimana emitor langsung
terhubung ke ground yang menyebabkan tegangan di kolektor menjadi 0 volt, keadaan
ini akan mengakibatkan relay aktif. Sebaliknya jika transistor tidak aktif, maka
kolektor tidak terhubung ke emiter, sehingga tegangan pada kolektor menjadi 12 volt,
keadaan ini menyebabkan tidak aktif rangkaian.
Kumparan pada relay akan menghasilkan tegangan singkat yang besar ketika
relay dinon-aktifkan dan ini dapat merusak transistor yang ada pada rangkaian
ini.Untuk mencegah kerusakan pada transistor tersebut sebuah dioda harus
dihubungkan ke relay tersebut. Dioda dihubungkan secara terbalik sehingga secara
normal dioda ini tidak menghantarkan. Penghantaran hanya terjadi ketika relay
dinonaktifkan, pada saat ini arus akan terus mengalir melalui kumparan dan arus ini
akan dialirkan ke dioda. Tanpa adanya dioda arus sesaat yang besar itu akan mengalir
ke transistor, yang mengakibatkan kerusakan pada transistor.
Rangkaian ini juga dilengkapi dengan LED indikator, dimana LED indikator
ini akan menyala, jika relay aktif dan sebaliknya, LED indikator ini akan mati jika
relay tidak aktip. LED indikator ini dikendalikan oleh sebuah transistor jenis PNP,
dimana basis transistor ini mendapatkan input dari kolektor transistor C945. Transistor
40
Pemanas ini akan diaktifkan oleh sebuah relay 5 Volt DC dimana elemen
pemanas ini mempunyai tegangan 220 volt AC melalui sebuah transistor yang
difungsikan sebagai switching. Pemanas diletakkan disamping inkubator, dan dibagian
atas inkubator tersebut di beri lubang agar udara panas dapat dikeluarkan dengan
cepat. Jika suhu yang di set telah tercapai maka, heater atau pemanas akan berhenti
bekerja tetapi jika suhu yang di set belum tercapai maka heater/pemanas akan tetap
bekerja sampai didapat suhu yang diinginkan. Heater/pemanas ini dikendalikan oleh
mikrokontroler AT89S51 setelah mendapat data dari sensor suhu LM35.
Heater/pemanas ini mulai bekerja mulai dari rentang suhu 27ºC sampai 100ºC. Pada
Rangkaian ini juga dilengkapi dengan blower yang berfungsi untuk mengeluarkan
atau mengisap udara panas dari dalam inkubator. Blower ini akan selalu hidup apapun
keadaan dari inkubator tersebut.
3.8 Perancangan rangkaian keypad
Rangkaian Keypad berfungsi sebagai tombol untuk memasukan pin. Kemudian data
yang diketikkan pada keypad akan diterima oleh mikrokontroler AT89S51 untuk
41
Rangkaian keypad ditunjukkan pada gambar berikut ini :
Tbl 1 Tbl 2 Tbl 3 Tbl A P2.0
P2.1
P2.2
P2.3
P2.4
P2.5
P2.6
[image:51.595.190.526.154.464.2]P2.7
Gambar 3.8 Rangkaian keypad
Rangkaian keypad yang digunakan adalah rangkaian keypad yang telah ada
dipasaran. Keypad ini terdiri dari 16 tombol yang hubungan antara tombol-tombolnya
seperti tampak pada gambar di atas. Rangkaian ini dihubungkan ke port 2
BAB 4
PENGUJIAN ALAT DAN PROGRAM
4.1 Pengujian Rangkaian Power Supplay (PSA)
Pengujian pada bagian rangkaian power supplay ini dapat dilakukan dengan mengukur
tegangan keluaran dari rangkaian ini dengan menggunakan voltmeter digital. Pada power
supplay ini terdapat dua keluaran. Dari hasil pengujian diperoleh tegangan keluaran
pertama sebesar + 5,1 volt. Tegangan ini dipergunakan untuk mensupplay tegangan ke
seluruh rangkaian. Mikrokontroler AT89S51 dapat bekerja pada tegangan 4,0 sampai
dengan 5,5 volt, sehingga tegangan 5,1 volt ini cukup untuk mensupplay tegangan ke
mikrokontroler AT89S51. Sedangkan tegangan keluaran kedua sebesar 11,9 volt.
Tegangan ini digunakan untuk mensupplay tegangan ke relay, dimana relay dapat aktif
pada tegangan 9 volt sampai 15 volt, sehingga tegangan ini sudah memenuhi syarat
untuk mengaktifkan relay.
4.2 Pengujian Rangkaian Mikrokontroller AT89S51
Untuk mengetahui apakah rangkaian mikrokontroler AT89S51 telah bekerja dengan baik,
maka dilakukan pengujian.Pengujian bagian ini dilakukan dengan memberikan program
43
Loop:
Setb P0.0
Acall tunda
Clr P0.0
Acall tunda
Sjmp Loop
Tunda:
Mov r7,#255
Tnd: Mov r6,#255
Djnz r6,$
Djnz r7,tnd
Ret
Program di atas bertujuan untuk menghidupkan LED yang terhubung ke P0.0
selama ± 0,13 detik kemudian mematikannya selama ± 0,13 detik secara terus menerus.
Perintah Setb P0.0 akan menjadikan P0.0 berlogika high yang menyebabkan LED mati.
Acall tunda akan menyebabkan LED ini mati selama beberapa saat. Perintah Clr P0.0
akan menjadikan P0.0 berlogika low yang menyebabkan LED akan nyala. Perintah Acall
tunda akan menyebabkan LED ini nyala selama beberapa saat. Perintah Sjmp Loop akan
menjadikan program tersebut berulang, sehingga akan tampak LED tersebut tampak
berkedip.
Lamanya waktu tunda dapat dihitung dengan perhitungan sebagai berikut :
Kristal yang digunakan adalah kristal 12 MHz, sehingga 1 siklus mesin menghasilkan 12
clock (denyut pulsa). Dengan demikian lamanya waktu yang dibutuhkan 1 siklus mesin
44
waktu = 12 1
12MHz = mikrodetik.
Mnemonic Siklus Waktu Eksekusi
MOV Rn,#data 2 2 x 1 μd = 2 μd
DJNZ 2 2 x 1 μd = 2 μd
RET 1 1 x 1 μd = 1 μd
Tunda:
mov r7,#255 2
Tnd: mov r6,#255 2
djnz r6,$ 255 x 2 = 510 x 255 = 131.070 = 131.073
djnz r7,loop3 2
ret 1
Jadi waktu yang dibutuhkan untuk mengerjakan program di atas adalah 131.073 μdetik
atau 0,131073 detik dan dapat dibulatkan menjadi 0,13 detik.
Jika program tersebut di isikan ke mikrokontroller AT89S51, kemudian
mikrokontroler dapat berjalan sesuai dengan program yang di isikan, maka rangkaian
45
4.3 Pengujian Rangkaian Display Seven Segmen
Pengujian pada rangkaian ini dapat dilakukan dengan menghubungkan rangkaian ini
dengan rangkaian mikrokontroler, kemudian memberikan data tertentu pada port serial
dari mikrokontroler. Seven segmen yang digunakan adalah common anoda, dimana
segmen akan menyala jika diberi logika 0 (low) dan sebaliknya segmen akan mati jika
diberi logika 1(high).
Dari hasil pengujian diperoleh data yang harus dikirimkan ke port serial untuk
menampilkan angka desimal adalah sebagai berikut:
Angka Data yang dikirim
1 0EDH
2 19H
3 89H
4 0C5H
5 83H
6 03H
7 0E9H
8 01h
9 81H
[image:55.612.183.371.358.600.2]0 21H
Tabel 4.3 Data yang dikirim ke mikrokontroler oleh keypad
Program yang diisikan pada mikrokontroler untuk menampilkan nilai-nilai
46
bil0 equ 21h
bil1 equ 0edh
bil2 equ 19h
bil3 equ 89h
bil4 equ 0c5h
bil5 equ 83h
bil6 equ 03h
bil7 equ 0e9h
bil8 equ 01h
bil9 equ 81h
Loop:
mov sbuf,#bil0
Jnb ti,$
Clr ti
sjmp loop
Program di atas akan menampilkan angka 0 pada semua seven segmen.
Sedangkan untuk menampilkan 3 digit angka yang berbeda pada seven segmen adalah
dengan mengirimkan ke 3 data angka yang akan ditampilkan pada seven segmen.
Programnya adalah sebagai berikut :
Loop:
mov sbuf,#bil1
Jnb ti,$
Clr ti
mov sbuf,#bil2
Jnb ti,$
Clr ti
47
Jnb ti,$
Clr ti
sjmp loop
Program di atas akan menampilkan angka 1 pada seven segmen ketiga, angka 2 pada
seven segmen kedua dan angka 3 pada seven segmen pertama.
4.4
Pengujian Rangkaian Relay
Pengujian rangkaian relay dapat dilakukan dengan memberikan tegangan 5 volt dan 0 volt
pada basis transistor C945. Transistor C945 merupakan transistor jenis NPN, transistor
jenis ini akan aktif jika pada basis diberi tegangan > 0,7 volt dan tidak aktif jika pada
basis diberi tegangan < 0,7 volt. Aktifnya transistor akan mengaktifkan relay. Pada alat
ini relay digunakan untuk memutuskan hubungan heater ke tegangan PLN, dimana
hubungan yang digunakan adalah normally open (NO), dengan demikian jika relay aktif
maka hubungan heater ke tegangan PLN akan terhubung, sehingga heater hidup,
sebaliknya jika relay tidak aktif, maka heater dengan tegangan PLN akan terputus,
sehingga heater mati.
Pengujian dilakukan dengan memberikan tegangan 5 volt pada basis transistor,
jika relay aktif dan hubungan heater dengan tegangan PLN terhubung, sehingga heater
hidup, maka rangkaian ini telah berfungsi dengan baik.
Pengujian selanjutnya dilakukan dengan menghubungkan input rangkaian ini ke
mikrokontroler pada P2.7 kemudian memberikan program sederhana pada mikrokontroler
48
Setb P2.7
. . .
Perintah di atas akan memberikan logika high pada P2.7, sehingga P2.7 akan
mendapatkan tegangan 5 volt. Tegangan 5 volt ini akan mengaktifkan transistor C945,
sehingga relay juga menjadi aktif dan hubungan heater dengan tegangan PLN terhubung,
sehingga heater hidup. Berikutnya memberikan program sederhana untuk menonaktifkan
relay. Programnya sebagai berikut:
Clr P2.7
. . .
Perintah di atas akan memberikan logika low pada P2.7, sehingga P2.7 akan mendapatkan
tegangan 0 volt. Tegangan 0 volt ini akan menonaktifkan transistor C945, sehingga relay
juga menjadi tidak aktif dan hubungan heater dengan tegangan PLN terputus, sehingga
heater mati.
4.5
Pengujian Rangkaian Keypad
Unit masukan berfungsi untuk memberikan nilai bagi parameter-parameter pengontrolan
yang digunakan seperti set point, penguatan, serta mode operasi. Sebagai unit masukan
digunakan sebuah keypad matriks 4x4.
Pengujian rangkaian tombol ini dapat dilakukan dengan menghubungkan rangkaian ini
dengan mikrokontroler AT89S51, kemudian memberikan program sederhana untuk
49
Mengecek penekanan pada 4 tombol yang paling atas, maka data awal yang dimasukkan
ke port 1 adalah FEH. Dengan demikian maka pin P1.0 akan mendapat logika low (0),
dan yang lainnya mendapat logika high (1), seperti berikut,
Tbl 1 Tbl 2 Tbl 3 Tbl 4 P1.0 0
P1.1 1
P1.2 1
P1.3 1
P1.4 1
P1.5 1
P2.6 1
P1.7 1
Jika terjadi penekanan pada Tbl 1, maka P1.0 akan terhubung ke P1.4 yang
menyebabkan P1.4 juga akan mendapatkan logika low (0). Seperti berikut:
P1.7 P1.6 P1.5 P1.4 P1.3 P1.2 P1.1 P1.0
50
Data pada port 1 akan berubah menjadi EEH. Data inilah sebagai indikasi adanya
penekanan pada tombol 1.
Jika terjadi penekanan pada Tbl 2, maka P1.0 akan terhubung ke P1.5 yang
menyebabkan P1.5 juga akan mendapatkan logika low (0). Seperti berikut,
P1.7 P1.6 P1.5 P1.4 P1.3 P1.2 P1.1 P1.0
1 1 0 1 1 1 1 0
Data pada port 2 akan berubah menjadi DEH. Data inilah sebagai indikasi adanya
penekanan pada tombol 2. Demikian seterusnya untuk tombol-tombil yang lain.
Program yang diisikan pada mikrokontroler untuk menguji rangkaian keypad
adalah sebagai berikut:
Tombol1:
Mov P1,#0FEH
Mov a,P1
Cjne a,#0EEH,Tombol2
Setb P0.0
Sjmp Tombol1
Tombol2:
Cjne a,#0DEH,Tombol1
Clr P0.0
51
Program diatas akan menunggu penekanan pada tombol 1 dan tombol 2, jika
tombol 1 ditekan, maka program akan menyalakan LED yang ada pada P0.0. Jika tombol
2 ditekan, maka program akan mematikan LED yang ada pada P0.0.
Jika rangkaian telah berjalan sesuai program yang diberikan, maka rangkaian telah
berfungsi dengan baik
.
4.6 Pengujian Rangkaian ADC
Pengujian pada bagian rangkaian ADC ini dapat dilakukan dengan
menghubungkan rangkaian ADC ini dengan rangkaian mikrokontroler. Selanjutnya
rangkaian mikrokontroler dihubungkan dengan rangkaian display seven segmen.
Mikrokontroler diisi dengan program untuk membaca nilai yang ada pada rangkaian
ADC, kemudian hasil pembacaannya ditampilkan pada display seven segmen.
Programnya adalah sebagai berikut :
mov a,p0
mov b,#100
div ab
mov 70h,a
mov a,b
mov b,#10
div ab
mov 71h,a
52
Dengan program di atas, maka akan