Anda di halaman 1dari 91

TUGAS AKHIR

RANCANG BANGUN ALAT KALIBRASI SUHU,


TEKANAN UDARA, DAN KECEPATAN PUTARAN
PADA INSTRUMEN MEDIK

Diajukan Guna Melengkapi Sebagian Syarat


Dalam mencapai Gelar Sarjana Strata Satu (S1)

Disusun Oleh :

Nama : Deddy Purnama K


NIM : 4140411 - 111
Program Studi : Teknik Elektro

PROGRAM STUDI TEKNIK ELEKTRONIKA


FAKULTAS TEKNOLOGI INDUSTRI
UNIVERSITAS MERCU BUANA
JAKARTA
2008
LEMBAR PERNYATAAN

Yang bertanda tangan di bawah ini,

Nama : Deddy Purnama Kusfernadi


N.I.M : 4140411 -111
Jurusan : Teknik Elektro
Fakultas : Teknologi Industri
Judul Skripsi : Rancang Bangun Alat Kalibrasi Suhu, Tekanan
Udara, dan Kecepatan Putaran Pada Instrumen
Medik

Dengan ini menyatakan bahwa hasil penulisan Skripsi yang telah


saya buat ini merupakan hasil karya sendiri dan benar keasliannya.
Apabila ternyata di kemudian hari penulisan Skripsi ini merupakan hasil
plagiat atau penjiplakan terhadap karya orang lain, maka saya bersedia
mempertanggungjawabkan sekaligus bersedia menerima sanksi
berdasarkan aturan tata tertib di Universitas Mercu Buana.

Demikian, pernyataan ini saya buat dalam keadaan sadar dan tidak
dipaksakan.

Penulis,

[ ]

ii
LEMBAR PENGESAHAN

RANCANG BANGUN ALAT KALIBRASI SUHU,


TEKANAN UDARA, DAN KECEPATAN PUTARAN
PADA INSTRUMEN MEDIK

Disusun Oleh :

Nama : Deddy Purnama Kusfernadi


NIM : 4140411 - 111
Jurusan : Teknik Elektro

Mengetahui
Pembimbing Koordinator TA / KaProdi

( Ir. Eko Ihsanto, M.Eng ) ( Yudhi Gunardi MT. )

iii
ABSTRAKSI

RANCANG BANGUN ALAT KALIBRASI SUHU,


TEKANAN UDARA, DAN KECEPATAN PUTARAN
PADA INSTRUMEN MEDIK

Dengan semakin meningkatnya kesejahteraan masyarakat, maka tuntutan


pelayanan di bidang kesehatan semakin meningkat pula. Hal tersebut tidak hanya
ditunjang dari kecanggihan teknologi instrumen yang dimiliki, tetapi tidak kalah
pentingnya adalah keakurasian dari instrumen yang digunakan. Peneraan atau
pengkalibrasian instrumen medik secara berkala mutlak dilakukan untuk menjaga
keakurasian pengukuran.
Tujuan penulisan adalah membuat alat yang dapat menjadi acuan untuk
melakukan peneraan alat medik yang memiliki pengukuran parameter suhu,
tekanan udara, dan kecepatan putaran. Adapun pada setiap parameter terdiri dari beberapa
satuan yang umum digunakan pada beberapa alat medik. Pada parameter suhu terdiri atas
satuan Celcius, Fahrenheit, Kelvin dan Reamur, untuk parameter tekanan terdiri atas
kiloPascal (kPa), mmHg dan Psi. Sedangkan untuk parameter kecepatan hanya
menampilkan dalam satuan RPM
Pada perancangan pembuatan alat kalibrasi dengan parameter suhu, tekanan dan
kecepatan ini, penulis membaginya kedalam beberapa blok diagram, yaitu blok sensor
suhu, blok sensor tekanan, blok sensor kecepatan, blok saklar pemilihan, blok ADC, blok
mikrokontroller dan blok display dan indikator. Satuan standar hasil pembacaan sensor
suhu dan tekanan adalah Celcius dan kPa, sedangkan untuk satuan yang lain adalah hasil
konversi yang dilakukan oleh mikrokontroller sesuai persamaan yang sudah ditetapkan
secara internasional. Untuk sensor kecepatan putaran dibuat berdasarkan resolusi yang
diinginkan dalam hal ini penulis membuat sensor yang memiliki resolusi 10.
Pengujian dilakukan dengan mengukur pada titik-titik pengukuran yang sudah
ditetapkan pada alat yang dibuat kemudian membandingkan hasil pengukuran tersebut
dengan beberapa alat standar sebagai acuan diantaranya, thermometer air raksa, DPM-3,
spygmomanometer aneroid, osiloskop, dan tachometer digital. Analisa data dilakukan
dengan dua cara yaitu membandingkan berdasarkan hasil teori atau hasil perhitungan dan
dengan membandingkan pembacaan pada alat acuan.

iv
KATA PENGANTAR

Bismillahirrahmanirrahim,
Alhamdulillah, segala puji dan syukur bagi Allah SWT yang telah
melimpahkan rahmat, hidayah dan karunia-Nya kepada hamba-hamba-Nya
terutama kepada penulis sehingga penulis dapat menyelesaikan karya tulis ini.
Tidak lupa Sholawat dan Salam penulis sampaikan kepada junjungan kita Nabi
Besar Muhammad SAW.

Penyusunan karya tulis ini merupakan salah satu syarat untuk dapat
menyelesaikan pendidikan Strata I pada Universitas Mercu Buana. Adapun judul
karya tulis ini adalah:

“RANCANG BANGUN ALAT KALIBRASI SUHU, TEKANAN UDARA,


DAN KECEPATAN PUTARAN PADA INSTRUMEN MEDIK ”

Pada kesempatan ini penulis ingin mengucapkan terima kasih kepada


semua pihak yang telah membantu baik secara materil maupun moril dalam
menyelesaikan semua tugas akhir yang salah satunya adalah karya tulis ini, antara
lain ditujukan kepada :

1. Bapak Eko Ihsanto selaku pembimbing yang telah memberikan bimbingannya


sehingga penulis dapat menyelesaikan karya tulis ini.
2. Ayahanda, Ibunda, kakak-kakak dan adik yang telah memberikan dorongan
semangat dan doa kepada penulis.
3. Rekan-rekan Universitas Mercu Buana yang telah memberikan dorongan dan
inspirasi kepada penulis

4. PT. Trikomsel Oke, yang telah meminjamkan osiloskop untuk proses


pendataan.

5. Ibu Rahma, RS MH Thamrin Salemba, yang telah meminjamkan DPM-3 dan


tachometer digitalnya untuk proses pendataan.

Dengan segenap kerendahan hati dan keterbatasan yang dimiliki, penulis


menyadari bahwa karya tulis ini jauh dari kesempurnaan, oleh karena itu penulis

v
mengharapkan segala kritik dan saran yang membangun untuk penyempurnaan
pembuatan karya tulis lainnya di masa mendatang.

Jakarta, Maret 2008

Penulis

vi
DAFTAR ISI

Halaman Judul .......................................................................................... i


Halaman Pernyataan ................................................................................. ii
Halaman Pengesahan ................................................................................ iii
Abstraksi ................................................................................................... iv
Kata Pengantar ............………………………………………………….. v
Daftar Isi ….......…………………………………………………………. vii
Daftar Gambar ….........………………………………………………….. x
Daftar Tabel .............…………………………………………………….. xii
BAB I PENDAHULUAN ………………………………………. 1
1.1 Latar Belakang Masalah …………………………….. 1
1.2 Tujuan Penulisan .. …..……………………………… 2
1.3 Pembatasan Masalah…………………………………. 2
1.4 Metode Penulisan ……………………………………. 2
1.5 Sistematika Penulisan ……………………………….. 3

BAB II TEORI DASAR …………………………………………. 5


2.1 Gambaran Umum Alat Kalibrasi Medik ………….…. 5
2.2 Sensor ..……… ………………………………….….. 6
2.2.1 Sensor Tekanan Udara MPX5050 ........... …...… 7
2.2.2 Sensor Temperatur LM35 ................…………… 9
2.2.3 Sensor Kecepatan Putaran .....................…..…… 10
2.3 Penguat Operasional (Operational Amplifier)………... 11
2.3.1 Penguat Tak Membalik …............................….. 12
2.3.2 Tapis Lolos Bawah ( Low Pass Fillter ) ………. 14
2.4 Mikrokontroller AT89C51 ………………………….. 16
2.4.1 Fungsi Penyemat Mikrokontroller AT89C51 …. 18
2.4.2 Organisasi Memori …………………………….. 20
2.4.3 Pewaktu CPU …………………………………... 20
2.4.4 Special Function Register ……………………… 21

vii
2.4.5 Sistem Penyelaan (Interupt) …………………… 24
2.5 Analog to Digital Converter 0804 ...…………………. 24
2.6 Schmitt Triger 74LS14 …………….………………… 28
2.7 Multiplexer Analog 4051 …………...……………….. 29
2.8 LCD (Liquid Crystal Display) ….…………………… 30
2.8.1 Konfigurasi Pin LCD ………………………….. 31
2.8.2 Pemrograman LCD ……………………………. 31
2.8.3 Memori Display LCD ......................................... 33

BAB III PERANCANGAN ALAT ……………………………… 34


3.1 Spesifikasi Sistem ………………………….………... 34
3.1.1 Spesifikasi Fungsional ………………………… 34
3.1.2 Spesifikasi Teknis ……………………………… 34
3.2 Perencanaan Blok Diagram …………………………. 35
3.2.1 Blok Rangkaian Sensor Tekanan Udara ……….. 36
3.2.2 Blok Rangkaian Sensor Temperatur .................... 36
3.2.3 Blok Rangkaian Sensor Kecepatan ...................... 36
3.2.4 Blok Saklar Pemilihan .......................................... 36
3.2.5 Blok Analog to Digital Converter ........................ 37
3.2.6 Blok Rangkaian Mikrokontroller .......................... 37
3.2.7 Blok Rangkaian Display dan Indikator ................ 37
3.3 Perencanaan Rangkaian Sensor …………………....... 37
3.3.1 Perencanaan Rangkaian Sensor Temperatur .….. 37
3.3.2 Perencanaan Rangkaian Sensor Tekanan ……... 39
3.3.3 Perencanaan Rangkaian Sensor Kecepatan …… 41
3.4 Perencaaan Rangkaian ADC ………………………… 42
3.5 Perencanaan Rangkaian Mikrokontroller …………… 44
3.6 Perencanaan Rangkaian Pemilihan Sensor ………….. 45
3.7 Perencanaan Rangkaian Display ……………...……... 46
3.8 Perencanaan Perangkat Lunak (Software)…………… 47

BAB IV PENGUJIAN ALAT .…………….……………………… 50

viii
4.1 Persiapan Alat Pengujian…………………………….. 50
4.2 Pengujian Alat …...………………………………….. 50
4.2.1 Pengujian Rangkaian Mikrokontroller ……….. 51
4.2.2 Pengujian Rangkaian LCD …………………… 52
4.2.3 Pengujian Rangkaian Sensor Suhu …………… 53
4.2.4 Pengujian Rangkaian Sensor Tekanan ……….. 54
4.2.5 Pengujian Rangkaian Sensor Kecepatan ……… 55
4.3. Analisa Data ………………………………………... 56
4.3.1 Analisa Pengukuran Temperatur ........................ 56
4.3.2 Analisa Pengukuran Tekanan ............................ 57
4.3.3 Analisa Pengukuran Parameter Kecepatan ........ 57
4.4 Persentase Kesalahan………………………………… 58

BAB V PENUTUP ……………………………………………… 59


5.1 Kesimpulan …………………………………………. 59
5.2 Saran-saran …………………………………………. 59

DAFTAR PUSTAKA …………………………………………………… 60


LAMPIRAN …………………………………………………………….. 61

ix
DAFTAR GAMBAR

Gambar 2.1 Universal Biometer Model DPM – III ……………...... 6


Gambar 2.2 Penggunaan sekat berongga untuk mengukur tekanan .. 7
Gambar 2.3 Proses pengukuran perbedaan tekanan menggunakan
sekat berongga …………………………………….… 8
Gambar 2.4 Sensor Suhu LM 35 ......……………….…………….. 9
Gambar 2.5 Simbol optocoupler ………………………………….. 10
Gambar 2.6 Simbol Operasional Amplifier …………………….... 11
Gambar 2.7 Op-Amp Sebagai Penguat Tak Membalik …………. 13
Gambar 2.8 Tapis Lolos Bawah ………………………………….. 14
Gambar 2.9 Kurva Tanggapan Frekuensi Tapis Lolos Bawah ....... 15
Gambar 2.10 Diagram Blok Mikrokontroler AT89C51 ………….... 17
Gambar 2.11 Konfigurasi Pin Mikrokontroler AT89C51………….. 18
Gambar 2.12 Osilator Internal sebagai Sumber Pendetak ………… 20
Gambar 2.13 Digram Blok ADC dengan Metode Succesive
Approximation …………………………………….... 26
Gambar 2.14 Konfigurasi Pena ADC 0804…….…………………... 27
Gambar 2.15 Gangguan pada sinyal digital ….…………………….. 28
Gambar 2.16 Contoh sinyal digital yang sempurna ……………….. 28
Gambar 2.17 Konfigurasi Penyemat IC 74LS14 ...………………... 29
Gambar 2.18 Konfigurasi Penyemat IC 4051 ....…………………... 29
Gambar 2.19 Konfigurasi Penyemat LCD .....……………………... 31
Gambar 3.1 Diagram Blok Instrumen Kalibrasi Tekanan Udara,
Temperatur, dan Kecepatan Putaran ……………….... 35
Gambar 3.2 Rancangan Rangkaian Sensor Temperatur …………. 38
Gambar 3.3 Rancangan Rangkaian Sensor Tekanan ...................... 39
Gambar 3.4 Rangkaian Sensor Kecepatan ..................................... 42
Gambar 3.5 Rangkaian ADC 0804 ................................................ 43
Gambar 3.6 Rangkaian Mikrokontroller ……………………….... 44
Gambar 3.7 Rangkaian Pemilihan Sensor ………………………... 45

x
Gambar 3.8 Rangkaian Display .......................………………....... 46
Gambar 3.9 Diagram Alur Program Alat Kalibrasi …………….... 48

xi
DAFTAR TABEL

Tabel 2.1 Tabel Kebenaran IC 4051 ……………..………..........….. 30


Tabel 3.1 Contoh Hasil Perhitungan Masing-Masing keluaran ........ 39
Tabel 3.2 Pemilihan Sensor .............................................................. 46
Tabel 4.1 Hasil Pendataan Suhu oC ................................................... 54
Tabel 4.2 Hasil Pendataan Satuan kPa ............................................... 54
Tabel 4.3 Hasil Pendataan Pengukuran Kecepatan ............................ 55
Tabel 4.4 Analisa Pada TP 1 ............................................................. 56
Tabel 4.5 Analisa Pada TP 2 ............................................................. 57
Tabel 4.6 Analisa Pada TP 3 ............................................................. 57

xii
BAB I
PENDAHULUAN

1.1 Latar Belakang Masalah


Dengan semakin meningkatnya kesejahteraan masyarakat, maka tuntutan
pelayanan di bidang kesehatan semakin meningkat pula. Hal tersebut tidak hanya
ditunjang dari kecanggihan teknologi instrumen yang dimiliki, tetapi tidak kalah
pentingnya adalah keakurasian dari instrumen yang digunakan.

Pada bidang kedokteran, alat-alat kesehatan penunjang medik atau yang


biasa disebut instrumen medik adalah salah satu bagian terpenting di dalam proses
pendiagnosaan atau pemeriksaan penyakit yang diderita pasien. Untuk itu peranan
instrumen medik ini di rumah sakit ataupun tempat pelayanan medik lainnya
sangatlah vital dan penggunaannya harus dilakukan secara benar sehingga akan
didapat hasil pengukuran yang tepat dan akurat.

Instrumen medik tidaklah sama dengan instrumen-instrumen lainnya.


Instrumen medik memiliki tanggung jawab moral yang besar, karena secara
langsung maupun tidak langsung berhubungan dengan manusia sebagai objeknya.
Keamanan dan keakuratan menjadikannya sangat penting dalam penggunaan.
Kesalahan pendiagnosaan seorang dokter sangat mungkin terjadi karena tidak
akuratnya instrumen yang digunakan. Hal ini tentu akan berlanjut dengan
salahnya pengambilan keputusan untuk melakukan tindakan medik yang harus
dilakukan terhadap pasien.

Hal-hal tersebut dapat saja dihindari dengan melakukan peneraan atau


pengkalibrasian alat secara berkala. Peneraan atau pengkalibrasian tersebut
dilakukan guna memastikan bahwa instrumen yang digunakan masih berada
dalam batas toleransi acuan yang telah ditetapkan.

Dari latar belakang tersebut penulis tertarik untuk membuat dan membahas
alat tersebut. Adapun judul karya tulis tersebut adalah:
2

“RANCANG BANGUN ALAT KALIBRASI SUHU, TEKANAN UDARA,


DAN KECEPATAN PUTARAN PADA INSTRUMEN MEDIK”

Dalam hal ini penulis berusaha membuat atau merancang alat kalibrasi
medik dengan parameter suhu, tekanan udara, dan kecepatan. Adapun setiap
parameter tersebut memiliki beberapa satuan yang banyak digunakan di dalam
alat-alat medik.

1.2 Tujuan Penulisan


Membuat atau merancang bangun alat kalibrasi instrumen medik dengan
parameter suhu, tekanan udara, dan kecepatan dengan menggunakan
mikrokontroller AT89C51.

Menganalisa dan menguji alat yang dibuat kemudian membandingkan hasil


pengujian dengan teori yang relevan, selain itu juga membandingkan hasil
pengukuran dari alat yang dibuat dengan alat sesungguhnya berdasarkan
parameter yang diukur.

1.3 Pembatasan Masalah


Dalam perencanaan dan penyusunan serta penyajian karya tulis ini, penulis
membatasi pokok-pokok pembahaasan yang berkaitan dengan pembahasan
rangkaian yang sesuai dengan judul yang diajukan. Hal ini dimaksudkan agar
tidak terjadi kerancuan atau penyimpangan dalam memahami uraian tentang
fungsi-fungsi komponen baik itu komponen aktif maupun komponen pasif yang
menyusun rangkaian alat kalibrasi instrumen medik.

1.4 Metode Penulisan


Dalam penulisan karya tulis ini, penulis melakukan langkah-langkah
sebagai berikut:
1. Studi pustaka
Dilaksanakan dengan mencari dan mempelajari buku-buku dari sumber
literature yang ada sebagai sumber bahan analisa yang sangat erat
kaitannya dengan perancangan modul serta penulisan karya tulis.
2. Perancangan alat
3

Perancangan dibagi menjadi dua, yaitu perancangan perangkat lunak


(software) dan perancangan perangkat keras (hardware)
3. Melakukan pembuatan modul alat kalibrasi instrumen medik dengan
mikrokontroller AT89C51
4. Uji coba
Modul yang telah jadi diuji coba agar didapat data-data untuk laporan.
5. Analisa data
Data-data yang telah didapat dari hasil uji coba akan dianalisa dan
dibandingkan dengan teori yang telah didapat berdasarkan studi literature.

1.5 Sistematika Penulisan


Untuk mempermudah dalam pemahaman karya tulis ini maka penulis
menyajikan tulisan ini dalam beberapa pokok bahasan dengan sistematika sebagai
berikut.
BAB I PENDAHULUAN
Memberikan gambaran secara umum mengenai latar
belakang masalah sebagai dasar pemilihan judul,
pembatasan masalah, motede penulisan, tujuan penulisan,
dan sistematika penulisan.

BAB II TEORI DASAR


Menguraikan tentang dasar-dasar teori dari rangkaian yang
dibahas serta komponen-komponen penunjangnya.

BAB III PERANCANGAN ALAT


Penjelasan tentang perencanaan-perencanaan yang dibuat
dalam membuat modul baik perangkat keras (hardware)
maupun perangkat lunak (software).

BAB IV PENGUJIAN ALAT


Menyajikan hasil pendataan terhadap beberapa titik
pengukuran yang telah ditetapkan sebelumnya kemudian
membandingkan hasil pengukuran dengan teori yang ada.
Pada bab ini alat juga dibandingkan dengan instrumen lain
4

yang sering digunakan untuk pengukuran parameter suhu,


tekanan udara dan kecepatan.

BAB V PENUTUP
Berisi ringkasan penting dari bab-bab sebelumnya,
kesimpulan dari hasil pembahasan secara keseluruhan, dan
saran-saran untuk pengembangan alat tersebut di masa yang
akan datang.
BAB II
TEORI DASAR

2.1 Gambaran Umum Alat Kalibrasi Medik


Secara umum alat kalibrasi berfungsi sebagai acuan dalam melakukan
peneraan terhadap alat-alat ukur. Metode yang digunakan adalah dengan cara
membandingkan hasil pengukuran antara alat kalibrasi yang bertindak sebagai
acuan dengan alat ukur yang hendak ditera. Sebuah alat ukur dapat dikatakan baik
apabila selisih nilai pengukuran dengan acuan masih berada dalam batas toleransi
yang diizinkan.

Dalam peralatan medik banyak sekali parameter-parameter yang dapat


diukur diantarannya tekanan, temperatur, kelembaban, kecepatan, dan lain-
lainnya. Dalam membuat modul ini penulis hanya mempergunakan tiga
parameter, yaitu tekanan udara, temperatur, dan kecepatan. Adapun aplikasi pada
peralatan medik dengan parameter tekanan udara antara lain Ventilator, NIBP,
Manometer Aneroid, Pressure Tranduser dan Pressure Gauge. Untuk parameter
temperatur diantaranya Temperature Monitors, Radiant Warmer, Hypo/Hyper
Thermia dan Infant Incubators. Sedangkan untuk parameter kecepatan putaran
diantaranya Centrifuge.

Ide yang didapat penulis dalam memilih judul tugas akhir ini memang
banyak diilhami dari alat kalibrasi Universal Biometer Model DPM – III yang
dibuat oleh Bio-Tek Instruments, Inc dengan penambahan parameter, yaitu
kecepatan. Gambar 2.1 memperlihatkan panel depan dari Universal Biometer
dengan delapan posisi pemilihan (selector swicth). Pembacaan dengan tampilan
LCD sebuah pengatur nol (zero knob) digunakan untuk adjusment pada tekanan
atmosfir (khusus untuk tekanan udara). Sumber tekanan udara masuk melalui luler
lock sedangkan untuk probes temperatur (700 series) melalui phono plug.
6

Gambar 2.1
Universal Biometer Model DPM – III5

Untuk pengoperasian atur swicth pada posisi on, tunggu beberapa saat
selanjutnya pilih selector swicth untuk pengukuran temperatur atau tekanan.
Untuk tekanan udara atur zero knob hingga menunjukkan “000” pada tekanan
atmosphere, kemudian pilih satuan pengukuran yang dikehendaki (mmHg,
cmH2O, inH2O, kPa atau Psi). Untuk temperatur pilih satuan pengukuran
menggunakan °C atau °F. Sumber tekanan masuk pada luer lock. Untuk
melakukan peneraan temperatur dengan memasang sensor pada phono jacks,
selanjutnya bandingkan hasil pengukuran pada DPM III dengan instrumen yang
ditera.

2.2 Sensor
Sensor merupakan sebuah piranti yang amat penting dari sebuah alat ukur.
Karena piranti ini melakukan pengindraan, yaitu dengan mendeteksi perubahan
parameter fisika dan mengkonversinya ke dalam isyarat-isyarat listrik.

5
Universal Biometer Model DPM III, User’s Guide, Bio-Tek Instruments. Inc, hal 4
7

2.2.1 Sensor Tekanan Udara MPX5050


Prinsip kerja dari sensor tekanan udara adalah dengan mengukur
pergeseran yang terjadi pada suatu sekat berongga akibat tekanan udara yang
diberikan pada sekat tersebut. Hal ini dapat dilihat pada gambar 2.2.

ρ1 A B ρ2

Gambar 2.2
Penggunaan sekat berongga untuk mengukur tekanan 2

Berdasarkan gambar 2.2, A adalah kondisi saat tekanan 1 sama dengan


tekanan 2 (ρ1 = ρ2) sedangkan B adalah kondisi saat tekanan 1 lebih besar dari
tekanan 2 (ρ1 > ρ2). Dan besarnya gaya tekan yang diterima oleh sekat
tersebut adalah:

F = ( ρ1 − ρ 2 ) ⋅ A …………………………………………… (2.1)

F = Gaya yang diterima oleh sekat (N)


A = luas sekat / diaphragm (m 2)
ρ1 - ρ2 = Tekanan (N/m2 atau Pascal)

Seperti yang telah dijelaskan sebelumnya bahwa sekat akan bergeser


apabila ada tekanan yang diberikan padanya. Pergeseran tersebut kemudian
dideteksi oleh sebuah kawat silikon yang bersifat piezoresistive sehingga
setiap pergeseran yang terjadi pada sekat akan mengakibatkan perubahan
tegangan. Sebelum dikeluarkan tegangan ini dikuatkan terlebih dahulu oleh
amplifier. Umpan balik pada keluaran amplifier ke induktor dimaksudkan
untuk menjaga agar tidak terjadi pergerakan pada sekat (diaphragm) pada saat
tekanan yang diterima adalah sama.

Perubahan antara pergeseran sekat dengan perubahan tegangan hampir


mendekati linier, dan karena perubahan pergeseran dengan perubahan

2
Curtis D. Johnson. Process Control Instrumentation Technology. Prentice Hall, 1997, hal 236.
8

tegangan (∆V) adalah linear maka antara perubahan tegangan (∆V) dengan

perubahan tekanan udara (∆ρ ) juga bisa dikatakan linear3.

Amplifier
Output

Tranduser jarak
Induktor
Titik Tumpu

ρ1 Sekat ρ2

Gambar 2.3
Proses pengukuran perbedaan tekanan menggunakan sekat berongga4

Adapun sensor tekanan yang penulis gunakan dalam pembuatan alat ini
adalah MPX 5050 yang memiliki sensitivitas 90 mV/kPa yang artinya setiap
perubahan 1 kPa akan merubah tegangan sebesar 90 mV.

Seperti yang telah kita ketahui tekanan adalah gaya yang diberikan per
satuan luas. Menurut satuan internasional didefinisikan sebagai newton per
meter persegi (N/m2) satuan ini dimanai pascal (Pa), dengan demikian 1 N/m2
= 1 Pa. Dalam sistem satuan Inggris satuan tekanan yang umum digunakan
adalan pound per square inch (lb/in2), satuan ini juga sering disebut sebagai
psi. Hubungan antara satuan pascal (Pa) dengan satuan psi diberikan pada
persamaan berikut:

1 psi = 6.895 kPa atau 1 kPa = 0,145 psi ……………………….. (2-2)

3
ibid.
4
ibid
9

Sedangkan untuk satuan mmHg diberikan oleh:

1 mmHg = 0,133 kPa atau 1 kPa = 7,5 mmHg ………………….. (2-3)

2.2.2 Sensor Temperatur LM35


Pada perancangan alat kalibrasi ini penulis menggunakan sensor suhu LM
35. LM 35 adalah sebuah piranti yang mampu untuk megindra perubahan
temperatur dan mengkonversinya kedalam sinyal listrik secara linier. Setiap
perubahan satu derajat celcius, maka tegangan keluaran akan berubah sebesar
10 mV. LM 35 dapat digunakan dengan catu daya tunggal atau dengan catu
daya ganda. Dengan konsumsi arus yang sangat kecil (60µA) menyebabkan
panas yang dihasilkan rendah (+ 0,1oC). LM 35 rata-rata digunakan sebagai
sensor temperatur dengan jangkauan antara –55oC sampai + 150oC.

Vcc
1

2
VS+

OUT V out
GND

LM35DZ
3

Gambar 2.4
Sensor Suhu LM 35

Selain satuan celcius dikenal juga beberapa satuan di dalam besaran suhu,
yaitu Fahrenheit (F), Kelvin (K), dan Reamur (R). Adapun hubungan antara
satuan celcius dengan yang lainnya adalah sebagai berikut:

Fahrenheit, F = ( 9/5 x oC ) + 32 ……..........………….................. (2-4)


Kelvin, K = 273 + oC ………………………..........……………… (2-5)
Reamur, R = 4/5 x oC ..................................................................... (2-6)
10

2.2.3 Sensor Kecepatan Putaran5


Sensor kecepatan yang penulis gunakan adalah optocoupler/optotransistor
dan roda cacah/piringan bercelah. Optocoupler merupakan salah satu jenis
komponen isolator dan dapat juga difungsikan sebagai sensor cahaya.
Optocoupler tersusun atas sebuah LED infra merah dan sebuah fototransistor.
LED infra merah berfungsi sebagai sumber cahaya dan phototransistor
berfungsi sebagai detektor cahaya. fototransistor ini sangat peka sehingga bila
terjadi perubahan sedikit saja intensitas cahaya yang mengenainya, maka akan
terjadi perubahan tegangan pada kaki kolektornya.

Gambar 2.5
Simbol optocoupler

Untuk menghasilkan sinyal digital pada kaki kolektor fototransistor makan


dirancang sebuah roda cacah/piringan bercelah. Roda cacah adalah sebuah
piringan yang ditepiannya memiliki beberapa lubang/celah yang akan
meloloskan sinar LED inframerah ke fototransistor sehingga terjadi perubahan
tegangan pada kaki kolektornya. Jumlah celah pada sekeliling motor
berpengaruh terhadap perhitungan pulsa-pulsa digital untuk menentukan
resolusi dari perhitungan kecepatan putaran motor. Semakin kecil resolusi
yang diinginkan maka semakin banyak lubang/celah yang harus dibuat.

Adapun hubungan antara jumlah lubang pada cakram dengan resolusi


pembacaan adalah sebagai berikut:

L = f ( R, Tw) ………………………………………......……… (2-7)

5
Link, Wolfgang. Pengukuran, Pengendalian, dan Pengaturan dengan PC. 1993. Gramedia,
Jakarta, hal.102
11

dimana:
L = jumlah lubang pada cakram
R = resolusi pembacaan
Tw = time window (waktu pengukuran = 0,5s)

Pulsa-pulsa cahaya yang timbul ketika motor berputar akan menghasilkan


sinyal digital pada kaki kolektor fototransistor. Sinyal digital ini yang akan
dihitung oleh mikrokontroller yang merupakan representasi dari kecepatan
yang diukur.

2.3 Penguat Operational (Operational Amplifier)


Penguat operasional (op-amp) adalah piranti elektronik yang mempunyai
dua terminal masukan dan mampu memperkuat selisih kedua sinyal masukannya.

Op-amp dirancang untuk melaksanakan operasi matematika seperti


penjumlahan, pengurangan, perkalian dan pembagian. Adapun bentuk simbol dari
op-amp dinyatakan dengan sebuah segitiga yang dapat dilihat pada gambar di
bawah ini :
+ Vcc

V2
Vout
V1

- Vcc

Gambar 2.66
Simbol Operasional Amplifier

Keterangan gambar :
- Terminal masukan non inverting ( V1 )
- Terminal masukan inverting ( V2 )
- Terminal catu daya positif ( + Vcc )
- Terminal catu daya negatif ( - Vcc )
- Terminal keluaran ( Vo )

6
Fredrick. W. Hughes, Panduan Op-Amp (terj.) Jakarta 1990, hal 3
12

Apabila sinyal diberikan pada terminal masukan inverting, maka sinyal


keluaran akan berlawanan fasa dengan sinyal masukannya. Sedangkan apabila
sinyal diberikan pada terminal masukan non inverting, maka sinyal keluaran akan
sefasa dengan sinyal masukan7.

Karakteristik dan parameter op-amp yang ideal :

a. Impedansi masukan amat tinggi, sehingga arus masukan praktis diabaikan.


b. Impedansi keluaran amat rendah, sehingga keluaran penguat tidak
0terpengaruh oleh pembebanan.
c. Penguatan loop terbuka ( AOL ) amat tinggi.
d. Lebar pita ( Band Width ) tak terhingga, artinya penguatan dari dc sampai
frekuensi tak terhingga akan tetap sama.
e. Rise time sama dengan nol, artinya waktu yang dibutuhkan untuk
mencapai harga puncak pada sinyal keluaran akan sama pada sinyal
masukan.
f. Tidak peka terhadap perubahan tegangan catu daya atau perubahan
temperatur.

Akan tetapi pada kenyataannya sebuah op-amp tidaklah sangat ideal,


karena pada umumnya :
a. Walaupun impedansi masukan relatif tinggi, tetapi terbatas antara 106
sampai 1012 Ohm.
b. Impedansi keluaran terbatas, tidak sampai sama dengan nol.
c. Band Width terbatas tidak seluruh band frekuensi.
d. Rise time tidak sama dengan nol.
e. Jika perubahan catu daya atau temperatur cukup besar, kinerja dari op-amp
akan terganggu.

2.3.1 Penguat Tak Membalik ( Non Inverting Amplifier )


Telah dijelaskan sebelumnya, bahwa sifat utama penguat tak membalik
adalah dimana sinyal keluaran akan sefasa dengan sinyal masukan. Metodenya

7
Robert. F. Coughlin & Frederick. F. Driscoll, Penguat Operasional Dan Rangkaian
Terpadu Linier ( terj. ), Jakarta ; 1992, hal 15
13

adalah dengan menempatkan sinyal masukan pada terminal tak membalik (non
inverting). Tahanan Ri dipasang pada terminal membalik (inverting),
sedangkan tahanan Rf diumpan balik ke terminal keluaran. Untuk lebih jelas
dapat dilihat pada gambar II.7

Rf
If
+ Vcc
Ri
Ii Vout

V1 - Vcc

Gambar 2.78
Op-Amp Sebagai Penguat Tak Membalik

Dengan asumsi selisih tegangan masukan ( + ) dan masukan ( - ) pada


dasarnya nol dan arus yang dialirkan oleh terminal masukan ( + ) atau ( - )
dapat diabaikan maka, dapat diturunkan persamaan sebagai berikut :
Vi
I= …………………………………………………………. ......(2.8)
Ri

Rf
Vf = I ⋅ (Rf ) = ⋅ Vi .....................................................................(2.9)
Ri
Berdasarkan gambar 2.7 di atas maka besarnya Vout (Vo) adalah
penjumlahan penurunan tegangan pada R1 dan Rf
V 0 = V 1 + Vf
Rf
Vo = Vi + ⋅ Vi atau
Ri

 Rf 
Vo = 1 +  ⋅ Vi ……………………………………………… (2.12)
 Ri 

8
Ibid, hal 47.
14

2.3.2 Tapis Lolos Bawah ( Low Pass Fillter )

Vcc
R Vout
Vin
Vcc

Gambar 2.8
Tapis Lolos Bawah

Tapis lolos bawah adalah sebuah rangkaian yang dirancang untuk


memperlemah semua isyarat di atas frekuensi cut-off tertentu dan melewatkan
semua isyarat yang frekuensinya di bawah frekuensi cut-off. Rangkaian tapis
ini menggunakan op-amp di samping penambahan komponen pasif tahanan
dan kapasitor. Rangkaian pada gambar 2.8 di atas merupakan rangkaian tapis
lolos bawah yang umum digunakan.

Perbedaan tegangan antara kedua masukan adalah nol, oleh karena itu
tegangan yang melintasi Kapasitor (C) sama dengan tegangan keluaran (Vout)
sebab rangkaian ini merupakan sebuah pengikut tegangan. Vin terbagi antara
Resistor (R) dan Kapasitor (C), tegangan Kapasitor sama dengan Vout adalah:

1 / jω C
Vout = × E1 ..................................................................(2.10)
R + 1 / jωC

dimana ω adalah frekuensi dari Vin dalam Radian / detik (ω = 2πf ) dan j

= − 1 . Dengan menuliskan kembali persamaan (2.10) untuk memperoleh


gain tegangan untaian tertutup ACL, kita mempunyai

Vout 1
ACL = = ................................................................(2.11)
Vin 1 + jωRC

Terjadinya fekuensi cut-off adalah pada saat besarnya kapasitor Xc sama


besarnya resistansi R.
15

Xc = ½ πf.c. Bila Xc = R, maka fc = ½ πRC ...............................(2.12)

Gambar 2.99
Kurva Tanggapan Frekuensi Tapis Lolos Bawah

Gambar 2.9 memperlihatkan kurva tanggapan frekuensi sebuah tapis


lolos bawah. Garis putus-putus menyatakan batas penyumbatan ideal. Namun
karena tidak efisien kurva tanggapan cenderung terjadi peluruhan / pelonjakan
diikuti peluruhan kembali. Dalam prakteknya fc diambil pada titik separuh
daya 70,7 % tergantung keluaran maksimum. Keadaan ini dapat dinyatakan
sebagai berikut :
dB = 20 log Vout / Vin
= 20 log 0,7107 V / 1 V
= 20 (- 0,15059 )
=-3

9
Ibid, hal 262-263
16

Disertakannya penyangga setelah fillter diharapkan akan menjadi


transfer beban maksimum tanpa adanya kerugian karena efek pembebanan.
Hal tersebut sesuai dengan sifat op-amp yang mempunyai impedansi masukan
yang besar dan impedansi keluaran yang kecil.

2.4 Mikrokontroller AT89C51


Mikrokontroller adalah suatu unit yang terdiri dari mikroprosessor yang
dikombinasikan dengan I/O dan memori (RAM/ROM) dalam satu kemasan.
Dengan kelengkapan-kelengkapan tersebut, maka mikrokontroller tidak
memerlukan unit pendukung seperti halnya pada mikroprosessor untuk dapat
bekerja.

Mikrokontroller AT89C51 adalah mikrokontroller yang termasuk dalam


keluarga MCS-51 yang diproduksi oleh perusahaan elektronika Atmel.
Mikrokontroller ini terdiri dari sebuah CPU (Central Processing Unit), osilator
eksternal, RAM internal 128 byte, EPROM internal 4 Kbyte, empat buah
programmable port I/O yang masing-masing terdiri dari delapan jalur I/O (8 bit),
dua buah timer counter 16 byte, sebuah port serial dengan kontrol serial full
duplex UART, lima buah jalur interupsi (dua buah interupsi eksternal dan tiga
buah interupsi internal), serta dua puluh satu register internal yang disebut sebagai
Special Function Register (SFR).

Untuk dapat bekerja dengan baik, mikrokontroler AT89C51 hanya


membutuhkan catu daya tunggal sebesar +5 Volt.
17

Gambar 2.10
Diagram Blok Mikrokontroler AT89C51
18

2.4.1 Fungsi Penyemat Mikrokontroler AT89C51

1 40
P1.0 VCC
2 39
P1.1 P0.0
3 38
P1.2 P0.1
4 37
P1.3 P0.2
5 36
P1.4 P0.3
6 35
P1.5 P0.4
7 34
P1.6 P0.5
8 33
P1.7 P0.6
9 32
RESET P0.7
10 31
RXD EA/VP
11 30
TXD ALE/P
12 29
INT0 PSEN
13 28
INT1 P2.7
14 27
T0 P2.6
15 26
T1 P2.5
16 25
WR P2.4
17 24
RD P2.3
18 23
Xtal 2 P2.2
19 22
Xtal 1 P2.1
20 21
VSS P2.0
8951

Gambar 2.11
Mikrokontroler AT8C951

Susunan penyemat mikrokontroler AT89C51 diperlihatkan pada gambar


2.11. Berikut ini adalah penjelasan dari fungsi penyemat dari mikrokontroler
AT89C51 tersebut.
a. Penyemat 1 sampai 8 (port 1) merupakan port parallel 8 bit dua arah
(bi-directional) yang dapat digunakan untuk berbagai keperluan
(general purpose).
b. Penyemat adalah masukan reset aktif tinggi. Pulsa transisi dari
rendah ke tinggi pada penyemat ini akan mereset AT89C51.
c. Penyemat 10 sampai 17 (port 3) merupakan port yang mempunyai
fungsi ganda, yakni sebagai port parallel 8 bit serbaguna, dan fungsi
lainnya meliputi TxD (Transmitt Data), RxD (Recieve Data), INT0
(interrupt 0), INT1 (interrupt 1), T0 (timer 0), T1 (timer 1), WR
(Write) dan RD (Read).
19

d. Penyamat 18 (XTAL 1) adalah masukan ke rangkaian osilator


internal. Sebuah osilator kristal atau sumber osilator luar dapat
digunakan sebagai sinyal pendetak melalui penyemat ini.
e. Penyemat 19 (XTAL 2) adalah penyemat masukan bagi rangkaian
osilator. Penyemat ini digunakan bersama penyemat XTAL 1 jika
digunakan osilator kristal.
f. Penyemat 20 adalah penghubung serpih potensial ground catu daya.
g. Penyemat 21 samapi 28 adalah port parallel 8 bit dua arah serbaguna.
Port dua ini akan berfungsi sebagai bus alamat Most Signifikan Byte
(A15 s/d A8) bila dilakukan pengaksesan memori eksternal.
h. Penyemat 29 adalah penyemat PSEN (Program Store Enable) yang
merupakan signal pengontrol yang memperbolehkan program dari
memori eksternal masuk ke dalam bus selama proses pengambilan
instruksi (fetch cycle).
i. Penyemat 30 adalah penyemat ALE (Adress Latch Enable) yang
dugunakan untuk menahan alamat bagi memori eksternal selama
pelaksanaan instrusi ( membaca atau menulis).
j. Penyemat 31 adalah penyemat (EA), penyemat ini berfungsi untuk
memilih pemakaian memori internal atau memori eksternal. Bila
pada penyemat ini akan dikenakan logika tinggi, mikrokontrolel akan
melaksanakan instruksi dari EPROM internal serta menggunakan
RAM internal. Bila penyemat ini digunaka logika rendah,
mikrokontroler akan melaksanakan instruksi dari memori eksternal.
k. Penyemat 32 sampai 39 (port 0) merupakan port parallel 8 bit open
drain dua arah serbaguna. Bila digunakan untuk mengakses memori
eksternal, maka port ini akan memultiplekskan alamat memori least
signifikan byte (AD7 s/d AD 0) dengan data 8 bit. Karena port ini
memiliki keluaran open drain, maka untuk memfungsikannya sebagai
port parallel 8 bit diperlukan resistor pull up eksternal, sedangkan
bila diperlukan untuk mengakses memori eksternal tidak diperlukan
resistor pull up internal.
20

l. Penyemat 40 merupakan penghubung serpih ke catu daya +5 volt


bagi AT89C51.

2.4.2 Organisasi Memori


Mikrokontroler AT89C51 memiliki pembagian ruang alamat (address
space) untuk program dan data. Mikrokontroler AT89C51 ini akan dapat
mengakses 64 Kbyte alamat program melalui PSPN dan 64 Kbyte alamat data
memori melalui WR dan RD bila digunakan untuk mengakses memori
eksternal sedangkan bila digunakan memori internal, mikrokontroler akan
dapat mengakses 4 Kbyte alamat program memori pada EPROM internal dan
256 Byte alamat data memori pada RAM internal yang dibagi menjadi alamat
bagi register bang (00H s/d 1FH), bit addressable RAM (20H s/d 2FH), RAM
serbaguna (30H s/d 7FH), dan special function register (80H s/d FFH).

2.4.3 Pewaktuan CPU

+5 V
C1 31 39
EA/VP P0.0
38
P0.1
19 37
X1 P0.2
33 pF 36
Y1 P0.3
35
CRYSTAL 18 P0.4
34
X2 P0.5
C2 33
P0.6
32
P0.7
17
RD
33 pF 16
WR
9
RESET
21
P2.0
13 22
INT1 P2.1
14 23
T0 P2.2
15 24
T1 P2.3
25
P2.4
1 26
P1.0 P2.5
2 27
P1.1 P2.6
3 28
P1.2 P2.7
4 29
P1.3 PSEN
5 30
P1.4 ALE/P
6 10
P1.5 RXD
7 11
P1.6 TXD
8 12
P1.7 INT0
8951

Gambar 2.12
Penggunaan Osilator Internal sebagai Sumber Pendetak
21

Mikrokontroler AT89C51 memiliki sebuah osilator internal (on chip


osilator) yang dapat digunakan sebagai sumber pendetak 1 clock bagi CPU.
Untuk menggunakan osilator internal diperlukan sebuah kristal antara
penyemat XTAL1 dan XTAL2 serta kapasitor yang terhubung ke ground
seperti yang terlihat pada gambar 2.12 di atas.

Frekuensi kristal yang dapat digunakan adalah antara 6 samapai dengan


12 Mhertz. Kapasitor di atas berfungsi untuk menstabilkan frekuensi kristal
dari gangguan luar, nilai kapasitansi yang dapat digunakan adalah antara 27 pf
sampai 33pf.

2.4.4 Special Function Register


Mikrokontroler AT89C51 memiliki register-register internal yang
dinamakan dengan special function register (SFR). Ada 21 buah SFR pada
mikrokontroler AT89C51 yang terletak pada internal RAM pada alamat
memori 80H sampai FFH. Karena register-register SFR terletak pada RAM,
maka ke semua register tersebut akan dapat diakses melalui pengalamatan
langsung. Dan beberapa SFR dapat diakses baik melalui pengalamatan bit
maupun pengalamatan byte. Berikut ini adalah penjelasan mengenai special
function register tersebut.

a. Program Status Word (PSW)


Program status word adalah sebuah register yang menyimpan
status dari proses pada unit aritmatika dan logika (ALU). Untuk
menyimpan status tersebut maka dalam register PSW ini terdapat bit-
bit status yang tergambar sebagai berikut :
Nomer Bit

7 6 5 4 3 2 1 0
CY AC F0 RSI RSO OV - P

CY adalah Carry Flag. AC adalah Auxiliary Carry. F0 adalah


Flag 0, RSI dan RSO adalah bit-bit pemilih register bank. OV adalah
Over Vlow Flag dan P adalah Parity Flag. Bit satu pada PSW ini
22

tidak digunakan (-). Karena setiap bit pada register ini berfungsi
untuk menunjukkan status dari hasil proses aritmatika dan logika
maka register ini disebut juga sebagai register flag.
Berikut ini adalah penjelasan mengenai fungsi dari setiap bit dalam
register PSW :

Bit Carry (C)


Bit Carry (bit ke 8) berfungsi ganda, yakni menunjukan apakah
operasi penjumlahan menghasilkan pindahan dari pin 7 (carry) atau
pada opersi pengurangan menghasilkan pinjaman (borrow). Selain
itu bit ini juga berfungsi sebagai 1 bit register untuk melaksanakan
instruksi Boolean.

Bit Auxilliary Carry (AC)


Bit AC adalah bit yang berfungsi untuk menunjukkan adanya
pindahan (carry) dari bit 3 menuju bit 4 pada operasi penambahan
bilangan BCD.

Bit Flag 0 (F0)


Merupakan bit yang dapat dipakai untuk pemakaian serbaguna.

Bit Pemilih Register bank (RS0 dan RS1)


Merupakan bit-bit pemilih register bank mana yang aktif dari
empat buah register bank yang tersedia, yakni bank 0, bank 1, bank 2
serta bank 3

Bit Overlow (OV)


Merupakan bit yang menunjukkan adanya pindahan (carry) atau
pinjaman (borrow) pada saat dilakasanakan operasi penambahan atau
pengurangan bilangan bertanda.

Bit Parity (P)


Merupakan bit yang menunjukkan paritas dari bit-bit di dalam
accumulator. Bit ini akan di set bila bit-bit di dalam accumulator
23

memiliki jumlah bit-bit logika tinggi yang ganjil dan direset bila
sebaliknya.

b. B Register
Register B ini digunakan bersama accumulator untuk
melaksanakan opersi pengalian dan pembagian.

c. Stack Pointer
Stack pointer (SP) adalah register 8 bit yang mengandung alamat
dari data yang disimpan pada tumpukan (stack) di dalam memori.

d. Data Pointer
Data pointer (DPTR) adalah register 16 bit yang digunakan untuk
mengakses program atau data pada memori eksternal.

e. Port Register
Pada mikrokontroler AT89C51 terdapat 4 buah port register yang
berjumlah sama dengan port I/O pada mikrokontroler ini, yakni port
0, port 1, port 2 dan port 3. Port register tersebut digunakan untuk
mengakses keempat port I/O tersebut untuk melaksanakan instruksi
penulisan data atau pembacaan data pada port-port I/O tersebut.
Namun bila digunakan memori eksternal maupun fungsi khusus
seperti interupsi, port serial, maka port 0,2 dan 3 tidak dapat diakses
melalui port register tersebut.

f. Register Timer
Register timer ini terdiri dari register kontrol timer (TCON) dan
register timer mode (TMOD) yang berfungsi untuk mengontrol dan
mengatur mode operasi dari dua buah timer/counter 16 bit di dalam
mikrokontroler AT89C51.

g. Register Port Serial


Register ini terdiri dari register serial data buffer (SBUF) yang
berfungsi untuk menerima dan mengeluarkan data serial, serta
24

register kontrol port serial (SCON) untuk mengatur mode


pemindahan dan penerimaan data serial.

h. Register Interupsi
Register ini terdiri dari register interrupt enable (IE) yang
berfungsi untuk mengaktifkan atau menonaktifkan suatu sinyal
interrupsi, serta register interrupt priority yang berfungsi untuk
mengontrol prioritas sinyal-sinyal interupsi.

i. Register Power Control (PCON)


Register ini berfungsi untuk mengontrol kondisi dari
mikrokontroler apakah mikrokontroller akan berada pada mode
power down atau mode idle. Selain itu register ini juga digunakan
untuk mengalirkan baundrate dari timer 1 ketika port serial
digunakan dalam mode 1, 2, dan 3.

2.4.5 Sistem Penyelaan (Interrupt)


Apabila CPU pada mikrokontroller AT89C51 sedang mengeksekusi
suatu program, pelaksaan program tersebut dapat secara sementara dihentikan
melalui permintaan interupsi. Apabila CPU mendapat perintah interupsi,
pencacah program (PC) akan diisi alamat dari vektor interupsi CPU kemudian
akan melaksanakan rutin pelayanan interupsi mulai dari alamat tersebut. Bila
rutin pelayanan interupsi selesai dilaksanakan, CPU AT89C51 akan kembali
kepelaksanaan program utama yang dihentikan sementara tersebut.

AT89C51 memiliki sistem interrupt yang berasal dari lima sumber, dua
dari luar atau sumber eksternal melalui pin INT0 dan INT1, satu dari masing-
masing counter internal (dua buah) dan satu dari serial I/O port. Kelima sistem
Interrupt tersebut dapat diaktifkan sendiri-sendiri.

2.5 Analog to Digital Converter 0804


Konverter analog ke digital digunakan untuk mengkonversi sinyal-sinyal
analog ke dalam format digital agar dapat dibaca dan diolah oleh rangkaian digital
termasuk di dalamnya mikrokontroller.
25

Proses pengubahan sinyal analog menjadi sinyal digital ini dapat dilakukan
dengan berbagai cara atau metode antara lain :
• Succesive Aproximation (pendekatan beruntun)
• Tracking Converter (perbandingan langsung)
• Counter Comparator
• Paralel Conversion

Dari ke-4 metode di atas, metode pendekatan beruntun merupakan metode


yang paling sering digunakan dengan mikroprosessor, karena metode ini
mempunyai kecepaatan tinggi dan resolusi yang tinggi serta harga yang relatif
murah. Metode ini mirip dengan metode pencacah, perbedaannya terletak pada
proses yang ditempuh register SAR (Succesive Approximation Register) dalam
mencapai nilai ekivalen digitalnya.

Apabila sinyal mulai konversi menjadi rendah, register SAR akan


dikosongkan dan Vout menurun menjadi nol. Ketika sinyal mulai konversi
kembali pada tegangan tinggi, maka operasi konversi segera dimulai. Pada pulsa
detak pertama rangkaian kendali akan mengisi nilai Most Significant Bit (MSB)
tinggi kedalam register SAR sehingga bit keluaran akan menjadi 1000 0000.
Segera setelah nilai keluaran muncul maka DAC akan mengkonversi menjadi nilai
Vout (128/255 dikali skala penuh). Kemudian nilai Vout ini akan dibandingkan
dengan nilai Vin pada komparator. Bila ini lebih besar dari Vin maka keluaran
negatif dari komparator akan mereset MSB dan mengeset bit D6 kemudian
dibandingkan lagi, demikian seterusnya hingga nilainya sama.

Di pihak lain jika Vout kurang dari Vin maka keluaran positif dari
pembanding akan menunjukan bahwa MSB tetap diset dan mengeset bit D6
untuk dibandingkan lagi. Dalam beberapa desain konverter ini, pemasangan dan
pemeriksaan MSB berlangsung dalam pulsa detak yang pertama menyusul sinyal
mulai konversi. Dalam desain-desain yang lain diperlihatkan beberapa pulsa detak
untuk mereset MSB.
26

Pembanding
Vin
Mulai konversi
+
_ Kendali CLK
Selesai konversi
MSB LSB

Konverter
Register
Vout D/A
8-bit SAR

Register buffer

D7D6D5D4D3D2D1D0

Gambar 2.1310
Digram Blok ADC dengan Metode Succesive Approximation

Jika diandaikan dalam operasi A/D tersebut didapat nilai MSB yang tidak
direset, maka register SAR Sekarang akan mengandung isi 1000 0000. Pulsa
detak yang berikutnya akan memasang bit D6 dan memberikan keluaran digital
1100 000. Sehingga Vout akan melangkah pada harga 192/255 dikalikan skala
penuh. Kemudian nilai Vout dibandingkan dengan Vin untuk menguji apakah
nilai bit D6 tetap diset atau akan direset.

Dalam pulsa detak selanjutnya, secara berturut-turut bit-bit yang lain akan
diset dan diuji. Untuk rangkaian yang paling cepat, konversi akan selesai setelah
delapan pulsa detak dan keluaran D/A merupakan nilai analog yang ekivalen dari
isi register. Desain rangkaian yang lebih lambat memerlukan waktu yang lebih
lama, oleh karena lebih banyak pulsa yang diperlukan guna mengeset, menguji
dan mereset setiap bit.

Apabila konversi telah selesai dilaksanakan, rangkaian kendali akan


mengirim sinyal selesai konversi yang rendah. Tepi turun sinyal ini akan

10
Albert Paul Malvino, Elektronika Komputer Digital (terj.) Erlangga 1993 hal 344
27

mengisikan data digital yang ekivalen ke dalam register buffer. Dengan demikian
keluaran digital akan tetap tersimpan sekalipun kita memulai siklus konversi baru.

Frekuensi clock internal ADC 0804 dapat ditentukan dengan cara


menghubungkan komponen pewaktuan eksternal (R dan C) pada pin 4 dan pin 19.
Nilai R dan C eksternal menentukan frekuensi osilasi yang besarnya ditentukan
oleh persamaan berikut:

1
f CLK = …………….........………………………………… (2.19)
1,1 ⋅ RC

1 20
CS VccREF
2 19
RD CLK-R
3 18
WR lsbDB0
4 17
CLK-IN DB1
5 16
INTR DB2
6 15
Vin(+) DB3
7 14
Vin(-) DB4
8 13
A-GND DB5
9 12
Vref/2 DB6
10 11
GND msbDB7
ADC0804

Gambar 2.14
Konfigurasi Pena ADC 0804

Tegangan referensi untuk ADC 0804 dapat menggunakan tegangan acuan


(Vref) yang secara internal terhubung ke Vcc atau dengan memberikan tegangan
acuan eksternal (Vref/2) sesuai dengan kebutuhan jangkauan tegangan dan
resolusi yang diinginkan.

Jangkauan Tegangan
Resolusi ADC 0804 = ……………………. (2.20)
∑ Variasi Bit − 1
Dimana resolusi adalah nilai perubahan tegangan terkecil pada masukan
yang menyebabkan perubahan nilai data digital sebesar satu langkah pada
28

keluaran, jangkauan tegangan merupakan besar tegangan masukan maksimal yang


menyebabkan hasil data keluaran digital 1111 1111 yaitu sebesar tegangan acuan
(Vref atau Vref/2 x 2).

2.6 Schmitt Triger 74LS14


Bila sinyal digital dikirimkan dan kemudian diterima oleh pihak lain,
kadang-kadang sinyal tersebut terganggu oleh derau, ripple, atenuasi, atau faktor
lain dan berakhir dalam bentuk gelombang gerigi saperti terlihat pada gambar
2.15.

Gambar 2.15
Gangguan pada sinyal digital

Untuk menghilangkan gangguan tersebut maka diperlukan suatu rangkaian


lagi yang dapat membersihkan gerigi sehingga menghasilkan transisi hampir
vertikal antara keadaan rendah dan tinggi, seperti pada gambar berikut :

Gambar 2.16
Contoh sinyal digital yang sempurna

Oleh karena itu digunakan IC Schmit Triger 74LS14 pada sistem ini yang
terdiri dari enam buah inverter pemicu Schmitt dalam satu kemasan seperti terlihat
pada gambar di bawah ini.
29

Gambar 2.17
Konfigurasi Penyemat IC 74LS14

2.7 Multiplexer Analog 4051


Multiplexer atau disebut juga data selector adalah suatu rangkaian logika
yang mampu memilih sebuah data/bit masukan dari sejumlah sumber yang
berlainan dan mengarahkan data/bit yang terpilih ini ke suatu keluaran. Data/bit
yang terpilih ditentukan oleh saluran-saluran pengendali yang sesuai. IC 4051
adalah IC multiplexer yang mampu memilih satu diantara delapan data analog
yang ada dengan tiga buah saluran pengendali.

1 16
X4 VCC
2 15
X6 X2
3 14
X X1
4 13
X7 X0
5 12
X5 X3
6 11
INH A
7 10
VEE B
8 9
GND C
4051

Gambar 2.18
Konfigurasi Penyemat IC 4051
30

Gambar 2.18 menggambarkan konfigurasi penyemat IC 4051 dan tabel


2.1 adalah tabel kebenaran IC 4051.

Tabel 2.1 Tabel Kebenaran IC 4051

INPUT SALURAN YANG


TERHUBUNG
INH C B A
L L L L X0 – X
L L L H X1 – X
L L H L X2 – X
L L H H X3 – X
L H L L X4 – X
L H L H X5 – X
L H H L X6 – X
L H H H X7 – X
H X X X None

2.8 LCD (Liquid Crystal Display)


Display merupakan indikator yang sering digunakan pada peralatan sistem
digital. Salah satu contohnya yaitu LCD, tampilan yang dapat digunakan untuk
menampilkan angka atau karakter.

LCD pertama ditemukan oleh Friedrich Reinitzer, seorang ahli botani dari
Austria, pada tahun 1888. Pada saat itu ia melelehkan suatu zat yang msih belum
umum saat itu, cholesteryl benzoate, yang menjadi keruh kemudian bening ketika
temperatur naik. Ketika proses pendinginan, cholesteryl benzoate menjadi
berwarna biru sebelum akhirnya mengkristal.

Pada aplikasi mikroprosessor LCD sangat diminati karena tampilannya yang


menarik tetapi dikarenakan LCD memiliki sudut pandang (paralaks) yang cukup
sempit, pada aplikasi tertentu tampilan seven segment lebih disukai.
31

2.8.1 Konfigurasi Pin LCD


Pada umumnya LCD memiliki 16 pin, adapun fungsi dari masing-masing
pin adalah sebagai berikut.
7 DB0 Vcc 2
8 DB1
9 DB2 Vee 3
10 DB3
11 DB4 Vss 1
12 DB5
13 DB6 Liquid Crystal Display
14 DB7
4 RS BPL 15
6 EN
5 R/W GND 16

Gambar 2.19
Konfigurasi Penyemat LCD

VSS : Tegangan Ground dari modul


VCC : Tegangan +5 Volt
VEE : Tegangan kontras, berfungsi mengatur kekontrasan LCD
RS : Register Select
0 = Data DB0-DB7 akan dianggap sebagai instruksi untuk
inisialisasi LCD
1 = Data akan DB0-DB7 akan dianggap sebagai data yang
akan ditampilkan.
R/W : 0 = Data DB0-DB7 akan dituliskan pada LCD
1 = Data dari memori LCD akan dikirim ke DB0-DB7
EN : 0 = Data DB0-DB7 dilacth pada LCD
1 = LCD akan non aktif
DB0-DB7 : Jalur data 8 bit
BPL : Back Plane Light
GND : Tegangan Ground

2.8.2 Pemrograman LCD


Sebelum digunakan untuk menampilkan angka atau karakter yang dapat
dilihat pada LCD maka LCD harus diberikan instruksi-instruksi awal sebelum
mikroprosessor mengirimkan data yang ingin ditampilkan ke LCD.
32

Display karakter pada LCD diatur oleh pin EN, RS dan RW. Melalui
ketiga pin ini LCD akan membedakan mana instruksi untuk inisialisasi dan
mana instruksi untuk menampilkan karakter. Beberapa perintah dasar yang
sering digunakan untuk inisialisasi LCD adalah sebagai berikut:
a) Set Fungsi
Instruksi ini berfungsi untuk mengatur lebar data, jumlah baris dan ukuran
font karakter

RS R/W DB7 DB6 DB5 DB4 DB3 DB2 DB1 DB0


0 0 0 0 1 DL N F X X

b) EntryMode Set
Instruksi ini berfungsi untuk mengatur increment atau decrement dan
mode geser

RS R/W DB7 DB6 DB5 DB4 DB3 DB2 DB1 DB0


0 0 0 0 0 0 0 1 I/D S

c) Display On/Off Cursor


Instruksi ini berfungsi untuk mengatur status display ON atau OFF,
cursor ON/OFF dan fungsi Cursor Blink.

RS R/W DB7 DB6 DB5 DB4 DB3 DB2 DB1 DB0


0 0 0 0 0 0 1 D C B

d) Clear Display
Instruksi ini digunakan untuk menghapus layar

RS R/W DB7 DB6 DB5 DB4 DB3 DB2 DB1 DB0


0 0 0 0 0 0 0 0 0 1

e) Geser Kursor dan Display


Instruksi ini berfungsi untuk menggeser posisi kursor atau display ke
kanan atau ke kiri tanpa menulis atau membaca data display. Fungsi ini
digunakan untuk koreksi atau pencarian display.
33

RS R/W DB7 DB6 DB5 DB4 DB3 DB2 DB1 DB0


0 0 0 0 0 1 S/C R/L X X

f) Set Alamat Memori


Instruksi ini berfungsi untuk menentukan alamat RAM yang akan dipilih
yaitu dari 00 sampai dengan 7fh

RS R/W DB7 DB6 DB5 DB4 DB3 DB2 DB1 DB0


0 0 A A A A A A A A

2.8.3 Memory Display LCD


Modul LCD terdiri sejumlah memory yang digunakan untuk display,
semua text yang dituliskan tersimpan dalam memory ini. Berikut adalah peta
memory untuk LCD 16x2

00 01 02 03 04 05 06 07 08 09 0A 0B 0C 0D 0E 0F

40 41 42 43 44 45 46 47 48 49 4A 4B 4C 4D 4E 4F

Untuk mengatur letak posisi kursor pada LCD kita harus menuliskan
sebuah instruksi. Instruksi set posisi kursor adalah 80h. untuk itu kita perlu
menambhakan alamat dimana kita akan menempatkan posisi kursor. Sebagai
contoh jika kita ingin menempatkan kursor pada baris pertama kolom ketiga
atau alamat 02h maka instruksi yang dikirimkan adalah 80h + 04h = 84h.
Sehingga dengan mengirimkan perintah 84h, kursor akan ditempatkan pada
LCD baris pertama kolom ketiga.
BAB III
PERANCANGAN ALAT

Pada bab ini akan dijelaskan langkah-langkah yang digunakan dalam


merealisasikan dan merencanakan dari karya ilmiah yang dibuat. Adapun
pelaksanaannya adalah dengan menentukan spesifikasi secara umum dan
mengimplementasikan dari hasil perencanaan secara terperinci.

3.1 Spesifikasi Sistem


Spesifikasi sistem yang dirancang dan direalisasikan dibagi menjadi
spesifikasi fungsional dan spesifikasi teknis.

3.1.1 Spesifikasi Fungsional


Instrumen kalibrasi adalah instrumen yang berfungsi sebagai standar acuan
dalam melakukan peneraan alat-alat ukur. Parameter yang direncanakan
adalah, tekanan udara, temperatur, dan kecepatan. Tekanan udara akan
dibatasi pada satuan kPa, mmHg, dan Psi. Untuk temperatur satuan yang
dimunculkan adalah oC, K, R dan F. Dan untuk kecepatan satuan yang
dimunculkan adalah RPM (Rotation Per Minutes). Karena terbatasnya
kemampuan piranti sensor tekanan maka jangkauannya pun disesuaikan
dengan kemampuannya.

3.1.2 Spesifikasi Teknis


Adapun spesifikasi teknis dari karya ilmiah yang dibuat adalah sebagai
berikut:

Tekanan Udara
Jangkauan : 0 kPa sampai + 50 kPa
Sensitifitas : 90 mV / kPa

Temperatur
Jangkauan : 0 oC sampai 100 oC
Sensitifitas : 10 mV / oC
35

Kecepatan
Jangkauan : 0 – 9990 RPM
Resolusi :10

3.2 Perencanaan Blok Diagram


Blok diagram ini dimaksudkan untuk dapat memudahkan penulis dalam
melakukan perancangan dari karya ilmiah yang dibuat. Secara umum blok
diagram dari alat kalibrasi tekanan udara, temperatur, dan kecepatan putaran
adalah seperti pada gambar 3.1.

Diagram blok di bawah dipandang dari satuan parameter dapat


diklasifikasikan menjadi tiga rangkaian blok besar. Pertama adalah rangkaian blok
pengukur tekanan udara, kedua adalah rangkaian blok pengukur temperatur dan
ketiga adalah rangkaian pengukur kecepatan. Selain itu terdapat pula blok
pemilihan sensor, yang mana akan memilih hasil pengukuran mana yang akan
masuk ke ADC untuk diproses di mikroprosessor dan ditampilkan ke LCD.

RANGKAIAN
SENSOR
TEKANAN

Multiplexer A/D MIKRO DISPLAY DAN


Analog KONVERTER KONTROLLER INDIKATOR

RANGKAIAN SENSOR
SENSOR SUHU KECEPATAN

Gambar 3.1
Diagram Blok Rancangan Instrumen Kalibrasi
Tekanan Udara, Temperatur, dan Kecepatan Putaran
36

Adapun prinsip kerja dari ketiga rangkaian blok besar ini adalah.

3.2.1 Blok Rangkaian Sensor Tekanan Udara


Sensor tekanan udara akan mendeteksi setiap perubahan tekanan yang
terjadi kemudian mengkonversikannya ke dalam sinyal listrik. Sinyal tersebut
akan masuk ke low pass filter untuk menekan seluruh frekuensi yang masuk
dalam rangkaian. Sebelum masuk ke blok saklar pemilihan sinyal yang keluar
dari low pass filter terlebih dahulu dikondisikan sehingga memiliki sensitivitas
yang sama dengan rangkaian blok pengukur suhu, rangkaian pengondisi ini
terdiri dari rangkaian penguat tegangan dan rangkaian pembagi tegangan.

3.2.2 Blok Rangkaian Sensor Temperatur


Sensor temperatur akan mendeteksi setiap perubahan temperatur yang
terjadi dan mengkonversikannya ke dalam sinyal listrik. Untuk menekan
seluruh frekuensi asing yang masuk kedalam rangkaian digunakan low pass
filter. Sinyal kemudian akan melewati penguat non inverting dan pembagi
tegangan sebagai pengkondisi sinyal sebelum masuk ke blok saklar pemilihan.

3.2.3 Rangkaian Blok Pengukur Kecepatan


Sensor kecepatan yang menggunakan optocoupler celah akan
menghasilkan sinyal digital yang kemudian akan masuk ke dalam blok
mikrokontroller untuk dicacah dan hasil cacahan akan ditampilkan pada
display dalam satuan RPM. Sebelum masuk ke dalam mikrokontroller sinyal
digital yang dihasilkan oleh optocoupler celah akan masuk ke dalam IC
Schmitt trigger agar dihasilkan sinyal digital yang sempurna.

3.2.4 Rangkaian Blok Saklar Pemilihan


Rangkaian saklar pemilihan berfungsi untuk memilih hasil pengukuran
yang akan masuk ke ADC untuk diproses dalam hal ini berasal dari sensor
sensor tekanan atau blok sensor suhu. Untuk memilih hasil pengukuran mana
yang akan masuk ke ADC, rangkaian pada blok saklar pemilihan ini mendapat
sinyal kontrol dari mikrokontroller.
37

3.2.5 Blok Analog to Digital Converter


Pada blok ini sinyal analog akan dirubah menjadi sinyal digital agar dapat
dibaca oleh rangkaian mikrokontroller.

3.2.6 Blok Rangkaian Mikrokontroller


Pada blok ini sinyal digital yang masuk dari ADC atau sensor kecepatan
diolah untuk dapat ditampilkan ke LCD, termasuk didalamnya proses
aritmatika untuk mendapatkan berbagai macam satuan pengukuran.

3.2.7 Blok Rangkaian Display dan Indikator


Blok display dan indikator terdiri dari LCD dan LED. LCD berfungsi
untuk menampilkan hasil pengukuran yang sudah diolah oleh mikrokontroller
dan led digunakan sebagai indikator berfungsi untuk menandakan sensor mana
yang sedang dibaca.

3.3 Perencanaan Rangkaian Sensor


Sensor yang digunakan dalam pembuatan alat ini terdiri dari 3 macam, yaitu
sensor temperatur, sensor tekan dan sensor kecepatan putaran

3.3.1 Perencanaan Rangkaian Sensor Temperatur


Sensor temperatur yang digunakan pada karya ilmiah ini adalah LM 35
DZ. Dipilihnya LM 35 DZ karena mudah didapat, mudah untuk diaplikasikan
serta memiliki tingkat kepresisian yang baik. Penjelasan lebih rinci mengenai
sensor ini dapat dilihat pada teori dasar.

Sensor temperatur LM 35 DZ memiliki kepekaan sebesar 10 mV/oC


sehingga keluaran dari LM 35 DZ dapat langsung masuk ke dalam ADC 0804
karena resolusi keluaran LM 35 sama dengan resolusi ADC. Namun dalam
pembuatan rangkaian sensor temperature, penulis akan merancang sebuah
rangkaian yang dapat menjadi toleransi agar dapat dilakukan penyesuaian
pada saat kalibrasi. Rangkaian ini terdiri atas penguat operasional (operational
amplifier) dan pembagi tegangan (voltage devider)
38

+5 V +5 V

7
U1 U1
2 R1 R2 3
VS+
OUT
6
GND
100 K 100 K
2 VR2
10 K
LM35DZ(3) LF356
3

4
1

5
C1 C2
10 10 -5 V +5 V
Multiplexer

VR1
10 K R5
10 K
R4
10 K
R3
10 K

Gambar 3.2
Rancangan Rangkaian Sensor Temperatur (0C)

Sinyal yang didapat dari sensor LM 35 DZ akan masuk pada rangkaian


Low Pass Fillter kemudian dikuatkan sebesar dua kali, sehingga pada
keluaran U2 kepekaan sensor menjadi 20 mV / oC. Selanjutnya akan dibagi
dua dengan toleransi VR2. Penjabaran secara matematis dari hal tersebut
adalah sebagai berikut :

R4
ACL = 1 +
R3

10ΚΩ
ACL= 1 + =1+1 =2
10ΚΩ

Berikutnya sinyal tersebut akan masuk pada rangkaian pembagi tegangan,


untuk dibagi dua.
R5 Vout R5 1
Vout = ⋅ V1 ==> = =
VR2 + R5 Vi VR2 + R5 2

470Ω 1 470Ω
1= ⋅2 ==> =
VR2 + 470Ω 2 VR2 + 470Ω
470Ω ⋅ 2
VR2 + 470Ω = ==> VR2 + 470Ω = 940Ω
1
VR2 = 940Ω - 470 Ω ==> VR2 = 470Ω (untuk Vout ½ dariVin)
39

Tabel 3.1 Contoh Perhitungan Untuk Masing-Masing Keluaran

Suhu Vout SENSOR Vout PENGUAT Vout PEMBAGI TEGANGAN

32 320 mV 640 mV 320 mV


35 350 mV 700 mV 350 mV
37 370 mV 740 mV 370 mV

40 400 mV 800 mV 400 mV

3.3.2 Perencanaan Rangkaian Sensor Tekanan


Sensor tekanan yang digunakan pada karya ilmiah yang dibuat adalah
MPX5050. Dipilihnya sensor tersebut karena keluarannya langsung
bereferensi terhadap ground bukan tegangan diferensial. Sensor tekanan yang
penulis gunakan memiliki sensitifitas 90 mV/kPa, artinya setiap kenaikan
tekanan sebesar 1 kPa maka tegangan output akan naik 90 mV.

+5 V
+5 V
7

U2
7

R6 R7 3 U3
Sen sor
1 00 K 1 00 K 6 3
2 6
2 VR6
C4 C5 LF35 6 25 K
1 uF 1 uF LF3 56
4
1

4
1

-5 V +5 V
-5 V Multip lexer
+5 V
R10
VR4 10 K
10 K VR5
10 K
R9

R8 1K
10 K

Gambar 3.3
Rancangan Rangkaian Sensor Tekanan (kPa)

Untuk menyesuaikan sensitivitas sensor tekanan dengan resolusi pada


ADC, maka sebelum masuk ke ADC 0804 tegangan akan masuk ke dalam
rangkaian pengkodisi signal yang akan membuat sensitivitas tekanan sensor
90 mV/kPa menjadi 10 mV/kPa. Rangkaian ini terdiri atas rangkaian penguat
(operational amplifier) dan rangkaian pembagi tegangan (voltage devider). Di
bawah ini adalah perhitungan untuk menentukan nilai resistor yang akan
dipakai dalam rangkaian penguat dan pembagi tegangan
40

R 
VOUT =  F + 1VIN
 R IN 
2 
VOUT =  + 1VIN
 10 
VOUT = 1, 2 ⋅ VIN

VOUT = 1, 2 ⋅ 90mV

VOUT = 108mV

Setelah keluaran MPX5050 dikuatkan 1,2 kali maka agar didapatkan


sensitivitas sebesar 10 mV/kPa maka keluaran Vout akan masuk ke pembagi
tegangan agar didapat keluaran yang akan masuk ke ADC sebesar 10 mV
untuk setiap kPa., Di bawah ini adalah perhitungan nilai Resistansi untuk
mendapatkan keluaran yang diinginkan.

VOUT R10
=
VIN R10 + VR6

VOUT 10kΩ
=
VIN 10kΩ + VR6
1 10kΩ
=
10,8 10kΩ + VR6

VR6 = 108kΩ − 10kΩ

VR6 = 98kΩ

VR6 ≈ 100kΩ

Dari perhitungan di atas untuk menghasilkan keluaran pembagi tegangan


sebesar 10 mV dari keluaran sensor sebesar 90 mV diperlukan resistor 10 kΩ
dan variabel resistor 100 kΩ.

Penyertaan rangkaian tapis lolos bawah pada rangkaian sensor tekanan ini
diharapkan agar frekuensi-frekuensi yang menginterfensi rangkaian di atas fc
(cut off) dapat ditekan semaksimal mungkin. Pada modul yang dibuat kita
menghendaki meredam seluruh frekuensi yang lewat, sehingga memerlukan fc
41

yang kecil. Diharapkan pula agar sinyal tetap terjaga dengan baik, tidak
terpengaruh akibat pembebanan.

Dari rancangan di atas, perancangan dengan menggunakan jenis fillter


aktif. Ini ditandai dengan adanya penyangga (buffer) setelah komponen pasif
R dan C. Hal ini diperlukan sebagai transfer beban maksimum tanpa adanya
kerugian karena adanya efek pembebanan. Kita tetapkan saja frekuensi
pancung sebesar + 1 Hz (hanya sinyal dc yang akan dilewatkan) dan R
(resistor) sebesar 100 KΩ, maka dibutuhkan C (kapasitor) sebesar :

1
1
fc = RC =
6,28 2πRC
1
C=
6, 28.R. fc
1
C=
6, 28.(100.10 3 ).1
C = 1,592.10-6 ( digunakan C yang ada dipasaran sebesar 1 µF )

Filter orde dua dengan dua buah resistor dan kapasitor akan membantu
frekuensi pancung semakin mendekati ideal.

3.3.3 Perencanaan Rangkaian Sensor Kecepatan


Pada perancangan sensor kecepatan putaran digunakan roda cacah/cakram
dengan lubang-lubang pada tepiannya sebagai sensor putaran dan optocoupler
yang berfungsi untuk menghasilkan pulsa digital hasil pembacaan dari putaran
roda cacah/cakram yang diputar oleh poros benda yang akan diukur
kecepatannya.

Pada perencaan pengukuran kecepatan, resolusi yang digunakan adalah 10


RPM, artinya setiap pulsa yang dicacah oleh optocoupler dihargai 10 RPM,
dengan demikian jumlah lubang yang harus dibuat pada roda cacah akan
mengikuti persaman berikut:

L = f ( R, Tw)
42

Dimana:
L = jumlah lubang pada cakram
R = resolusi pembacaan
Tw = time window (waktu pengukuran = 0,5s)

60
L=
R ⋅ Tw
60
L= = 12
10 ⋅ 0,5

+5 V +5 V

R10 R11
330 330
U3A
U6
1 2
Port 3.4

74LS14
Optocoupler

Gambar 3.4
Rangkaian Sensor Kecepatan Putaran

Sebelum masuk ke rangkaian mikrokontroller, sinyal digital yang


dihasilkan oleh optocoupler sebagai hasil pembacaan dari roda cacah yang
berputar akan terlebih dahulu masuk kedalam rangkaian penghalus pulsa
schmitt trigger 7414. IC ini akan menyempurnakan bentuk sinyal digital yang
akan masuk ke mikrokontroller sehingga proses penghitungan pulsa yang
dilakukan oleh counter T0 akurat.

3.4 Perencanaan Rangkaian ADC


Rangkain ini berfungsi mengubah sinyal-sinyal yang telah dikuatkan oleh
rangkaian penguat menjadi data digital untuk dapat diproses oleh rangkaian
mikrokontroller AT89C51. rangkaian ini menggunakan IC 0804 yang merupakan
konverter 8 bit.
43

+5 V
+5 V R2
R1 Rref R3

20
To Mikrokontroler Rref Rref
18 9

VccREF
lsbDB0 Vref/2
17
DB1
16
DB2
15 6
DB3 Vin(+) Input
14
DB4
13
DB5
12 C1
DB6 R4
11 19
msbDB7 CLK-R
10 K
5 150 pF
INTR
4
CLK-IN
3

A- GND
WR
1
CS
2 7
RD Vin(-)
U4
ADC0804 8

Gambar 3.5

Rangkaian ADC 0804

Sesuai dengan karakteristik ADC 0804 yang penulis telah terangkan pada
bab II, maka tegangan referensi ADC 0804 mengacu pada persamaan dibawah:

Jangkauan Tegangan = Resolusi ADC 0804 x (Σ Variasi bit – 1)


= 10 mV . 255
= 2550 mV = 2,55 V

Vref = Jangkauan tegangan / 2


= 2,55 / 2
= 1,275 Volt

Sedangkan frekuensi clock yang diperlukan untuk mengaktifkan ADC 0804


dapat dicari dengan menggunakan persamaan dibawah:

1
f CLK =
1,1 ⋅ RC
1
f CLK =
1,1 ⋅ 10k ⋅ 150 pF
f CLK = 606kHz
44

3.5 Perencanaan Rangkaian Mikrokontroller

LCD
+5 V U1
C1 31 39
EA/VP P0.0
38
P0.1
19 37
X1 P0.2
33 pF 36
Y1 P0.3
+5 V 35
CRYSTAL 18 P0.4
34
X2 P0.5
C2 33
P0.6
32
P0.7
R9 17
RD
1K 33 pF 16
WR ADC
9
RESET
S2 21
P2.0
13 22
INT1 P2.1
pilih parameter 14 23
T0 P2.2
15 24
Sensor Kecepatan T1 P2.3
C12 25
P2.4
1 26
P1.0 P2.5
2 27
100 nF P1.1 P2.6
3 28
P1.2 P2.7
4 29
P1.3 PSEN Multiplexer
5 30
P1.4 ALE/P
R570 R57 R59 6 10
P1.5 RXD
330 330 330 7 11
P1.6 TXD
8 12
P1.7 INT0
87C51

led 1 led 2 led 3


suhu tekanan kec

+5 V

Gambar 3.6
Rangkaian Mikrokontroller

Rangkaian utama dari modul ini adalah rangkaian mikrokontroller


AT89C51. Penulis menggunakan mikrokontroller AT89C51 agar dapat
meminimalisasi rangkaian pendukungnya selain itu dalam penggunaannya
mikrokontroller ini cukup mudah dan harganya pun relatif murah.

Untuk mengaktifkan mikrokontroller AT89C51 ini penulis menggunakan


sumber clock internal dengan menngunakan kristal yang memiliki frkuensi 12
MHz. Penulis juga hanya menggunakan program memori internal karena sudah
mecukupi untuk menampung semua program yang dibuat untuk menjalankan alat.
Karena penulis hanya menggunakan program memori internal maka pin 31 diberi
logika tinggi sehingga mikrokontroller hanya akan mengeksekusi program
memori internal.
45

Berikut ini adalah pengalokasian jalur-jalur data P0, P1, P2, dan P3 pada
mikrokontroller seperti terlihat pada gambar diatas.

P0.0 – P0.7 : Digunakan sebagai jalur data ke LCD


P2.0 – 2.7 : Digunakan sebagai jalur data dari ADC 0804
P3.6 dan P3.7 : Digunakan sebagai jalur kontrol LCD
P3.0 – P3.2 : Digunakan sebagai jalur kontrol multiplexer analog 4051
P3.3 : Digunakan untuk membaca tombol pemilihan
P3.4 : Digunakan untuk input sensor kecepatan (T0)
P1.0 – P1.2 : Digunakan untuk menyalakan indikator pemilihan sensor

3.6 Perencanaan Rangkaian Pemilihan Sensor


Rangkaian pemilihan sensor ini berfungsi untuk memilih data mana yang
akan dibaca oleh ADC, apakah dari pembacaan sensor temperature atau sensor
tekanan. Rangkaian ini menggunakan multiplexer analog 4051 yang akan
memasukkan data antara X0 dengan X1 sesuai dengan data pada kontrolnya A, B,
dan C.

U7
3 13
ADC 0804 X X0 Sensor Suhu
14
X1 Sensor Tekanan
15
X2
12
X3
1
X4
5
X5
2
X6
4
X7

11 7
Port 3. 0 A VEE
10
Port 3. 1 B
9
Port 3. 2 C
6
INH
4051

Gambar 3.7
Rangkaian Pemilihan Sensor

Tabel dibawah menjelaskan kontrol yang harus diberikan ke IC 4051 untuk


memilih sensor yang akan masuk ke ADC 0804
46

Tabel 3.2 Pemilihan Sensor

Input

C B A Sensor yang dipilih


INH
(P3.2) (P3.1) (P3.0)
L L L L Sensor Suhu
L L L H Sensor Tekanan

3.7 Perencanaan Rangkaian Display

Rangkaian display menggunakan LCD yang berfungsi menampilkan hasil


pembacaan dari tiap-tiap sensor dan juga satuan pengukurannya. LCD yang
digunakan adalah LCD 16 x 2 yang menggunakan kontroler HD44780U buatan
Hitachi.

+5V
LCD1
Port 0
7 DB0 Vcc 2
8 DB1 R1
9 DB2 Vee 3 1K
10 DB3
11 DB4 Vss 1
12
DB5
13 DB6 Liquid Crystal Display
14 DB7

4 RS BPL 15
Port 3.6
6 EN
Port 3.7
5 R/W GND 16

Gambar 3.8
Rangkaian Display

Untuk menghubungkan mikrokontroller dengan LCD maka P0.0 – P0.7 pada


mikrokontroller digunakan sebagai jalur data 8 bit yang akan mengirimkan data ke
LCD (DB0 – DB7), sedangkan port 3.6 dan 3.7 pada mikrokontroller digunakan
sebagai jalur kendali RS dan EN sedangkan pin R/W pada LCD diberi tegangan
ground karena LCD hanya digunakan untuk menampilkan data dari
mikroprosessor.
47

Sebelum dapat digunakan maka LCD harus terlebih dahulu di inisialisasi


oleh mikrokontroller agar dapat menampilkan sesuai dengan yang diinginkan.
Pada perancangan rangkaian LCD penulis menginginkan penggunaan kedua baris
LCD dengan 8 bit jalur data, sehingga data yang harus dikirimkan adalah:

clr RS
mov P0,#38h
setb EN
lcall tunda3
clr EN
Penulis juga menginginkan display selalu On dan tidak menampilkan kursor,
sehingga data yang dikirmkan adalah sebagai berikut:

clr RS
mov P0,#0Ch
setb EN
lcall tunda3
clr EN

Dan untuk inisialisasi yang terakhir penulis menginginkan agar kursor


otomatis bergeser ke kanan setelah menuliskan data pada kolom tertentu, sehingga
data yang dikirimkan adalah sebagai berikut:

clr RS
mov P0,#06h
setb EN
lcall tunda3
clr EN
ret

3.8 Perencanaan Perangkat Lunak


Di dalam proses pembuatan program ini penulis terlebih dahulu membuat
diagram alur (flow chart), hal ini dilakukan agar dalam pembuatan program tidak
48

terjadi kerumitan hal ini dikarenakan telah adanya acuan dalam pembuatan
program yaitu dengan bantuan diagram alir tersebut.

START

INISIALISASI

Switch Y Pilih Sensor Apakah Y Pilih Sensor


Aktif R1 ≥ 03d Suhu

Sensor Suhu Y Nyalakan Baca ADC Konversi


indikator suhu satuan
F, K, R
T

Sensor Y Nyalakan Baca ADC Konversi


Tekanan indikator Tekanan satuan
Psi, mmHg

Sensor Y Nyalakan Baca


Kecepatan indikator kec Sensor
Kec
T

Tampilkan
hasil
pengukuran
Gambar 3.9
Diagram Alur Program Alat Kalibrasi

Diagram tersebut menggambarkan cara kerja dari pesawat keseluruhan. Cara


kerja pesawat menurut diagram alir tersebut yaitu ketika pesawat dihubungkan
dengan catu daya dari tegangan jala-jala, maka mikrokontroler AT89C51 akan
melakukan program reset secara otomatis. Pada proses inisialisasi penulis
49

memberikan instruksi kepada mikrokontroler untuk menginisialisasi LCD dan


menampilkan STAND BY.

Setelah itu mikrokontroller akan mengecek status R1 yang digunakan


sebagai tanda parameter yang akan diukur. Nilai Register 1 (R1) akan ditambah
satu apabila saklar pemilihan ditekan dan apabila nilai R1 sama dengan 4h, maka
R1 akan diisi dengan 0h. Adapun hubungan nilai R1 dengan satuan parameter
yang diukur adalah sebagai berikut:

1. R1 = 0 adalah nilai untuk menyatakan kondisi stand by


2. R1 = 1h adalah nilai untuk pengukuran suhu
3. R1 = 2h adalah nilai untuk pengukuran tekanan
4. R1 = 3h adalah nilai untuk pengukuran kecepatan

Pada saat nilai R1 = 1h maka mikrokontroller akan memilih sensor suhu


untuk masuk ke ADC yang kemudian dibaca oleh mikrokontroller. Sebelum
ditampilkan hasil pembacaan tersebut dikonversikan kedalam berbagai satuan (oF,
o
R, dan K) kemudian hasil konversi tersebut ditampilkan ke LCD

Pada saat nilai R1 = 2h maka mikrokontroller akan memilih sensor tekanan


untuk masuk ke ADC yang kemudian dibaca oleh mikrokontroller. Sebelum
ditampilkan hasil pembacaan tersebut dikonversikan kedalam berbagai satuan
(mmHg dan Psi) kemudian hasil konversi tersebut ditampilkan ke LCD

Pada saat nilai R1 = 3h maka mikrokontroller akan memilih sensor


kecepatan dan mulai menghitung pulsa yang masuk pada P3.4 (timer 0). Hasil
penghitungan tersebut kemudian di tampilkan ke LCD.
BAB IV
PENGUJIAN ALAT

Pada bab ini penulis akan memaparkan hasil pengujian berdasarkan


perancangan yang telah dibuat dan pengujian alat secara keseluruhan. Hasil
pengukuran ini disusun dalam bentuk tabel pendataan dengan beberapa kondisi
perlakuan yang diberikan pada rangkaian sesuai dengan permasalahan yang akan
dibahas. Hal ini bertujuan untuk lebih memperlihatkan sejauh mana pengaruh
perlakuan atau masukan yang berbeda terhadap kerja rangkaian secara
keseluruhan.

Pendataan yang dilakukan penulis dilaksanakan secara berulang-ulang agar


didapat hasil data yang lebih presisi. Keakuratan hasil pendataan banyak
dipengaruhi oleh beberapa hal antara lain dari komponen yang kita rakit maupun
alat penunjang yang digunakan dalam pendataan.

4.1 Persiapan Alat Pengujian


Sebagai penunjang dalam melakukan pendataan, penulis menggunakan
beberapa peralatan sebagai berikut :
a. Multimeter Analog Sanwa YX-360 TRD
b. Multimeter Digital Sanwa CS721
c. Digital Storage Oscilloscope Instek GDS-810S
d. Termometer Air Raksa
e. Motor Gear Box DC 12 VDC
f. Spygmomanometer Aneroid
g. Tachometer Digital Sanwa SE-100
h. Universal Biometer DPM-III, BioTek Instrumens
i. Power Supply Protek 0 – 24 Vdc

4.2 Pengujian Alat


Sebelum melakukan pengujian alat secara keseluruhan terlebih dahulu
dilakukan pengujian alat per bagian sesuai dengan perancangan pada Bab III.
Penulis juga menentukan beberapa titik pengukuran (TP), yaitu sebagai berikut.
51

TP 1 : Pin 13 dari IC 4051 yang merupakan tegangan keluaran dari pengukuran


temperatur
TP 2 : Pin 14 dari IC 4051 yang merupakan tegangan keluaran dari pengukuran
tekanan
TP 3: Pin 14 dari IC AT89C51 yang merupakan keluaran dari pengukuran
kecepatan

4.2.1 Pengujian Rangkaian Mikrokontroller


Untuk menguji rangkaian mikrokontroller maka penulis membuat
program sederhana untuk membaca saklar dan menyalakan led. Adapun saklar
yang dimaksud adalah saklar yang digunakan untuk memilih parameter yang
akan diukur sedangkan lednya adalah indikator parameter yang sedang diukur.
Berikut ini adalah program sederhana yang dibuat

baca: jb p3.3, ready


ljmp switch
switch: lcall tunda
jnb p3.3,baca
inc R1 ;ganti tanda R1
cjne R1,#03h, ready
mov R1,#00h
ljmp ready
ready: cjne R1,#00h,cek_1
mov A,#11111110
mov P1,A
ljmp baca
cek_1: cjne R1,#01h,cek_2
mov A,#11111101
mov P1,A
ljmp baca
cek_2: cjne R1,#02h,baca
mov A,#11111011
mov P1,A
ljmp baca
52

Dari potongan program diatas bahwa mikrokontroller akan mengecek


apakah saklar di P3.3 ditekan, setiap penekanan saklar akan menambah nilai
pada register 1 (R1) mikrokontroller, apabila nilai R1 = 0h maka led yang
berada pada P1.0 akan menyala, jika R1=1h maka led yang berada pada P1.1
akan menyala sedangkan jika R1=2h maka led yang berada pada P1.2 akan
menyala. Jika R1=3h maka nilai R1 akan direset kembali menjadi 0h.

4.2.2 Pengujian Rangkaian LCD


Untuk menguji apakah rangkaian LCD dapat menampilkan data dari
mikrokontroller maka penulis membuat program untuk menampilkan huruf A
pada seluruh kolom baris pertama dan huruf B pada seluruh kolom baris
kedua. Berikut adalah potongan program sederhana untuk pengujian LCD

init_lcd: clr RS ; Display 8 bit, 2 baris


mov P0,#38h
setb EN
lcall tunda
clr EN
clr RS ; Display=On, Cursor=off
mov P0,#00001100b
setb EN
lcall tunda
clr EN
clr RS ; Automatic geser kanan
mov P0,#06h
setb EN
lcall tunda
clr EN
clr RS ; clear LCD
mov P0,#01h
setb EN
lcall tunda
clr EN
tampil_1: mov R1, #0Fh
53

lcall baris_1
huruf_A: mov A,#'A'
lcall write_lcd
djnz R1, huruf_A
mov R1, #0Fh
lcall baris_2
huruf_B: mov A,#'B'
lcall write_lcd
djnz R1, huruf_B
ljmp tampil_1
write_lcd: setb RS
mov P0,A
setb EN
lcall tunda
clr EN
ret
baris_1: mov p0,#80h
clr RS
setb EN
lcall tunda
clr EN
ret
baris_2: mov p0,#0C0h
clr RS
setb EN
lcall tunda
clr EN
ret

4.2.3 Pengujian Rangkaian Sensor Suhu


Untuk pendataan satuan temperatur penulis menggunakan alat bantu
berupa thermometer air raksa dan DPM-III sebagai standar pengukuran.
54

Penulis mengukur pada titik pengukuran 1 (TP 1) guna mendapatkan


tegangan masukan ADC pada saat pembacaan suhu tertentu.oleh alat yang
dijadikan refernsi dan membandingkannya dengan tampilan alat yang dibuat..

Tabel 4.1 Hasil Pendataan Suhu (oC)


Suhu Tampilan Tampilan Tampilan Tampilan
TP 1 (mV)
(oC) C K F R
9 96,8 9 282 48,2 7,2
19 192,8 19 292 66,2 15,2
25 254,5 25 297 77 20
31 315 31 304 87,8 24,8
42 425 42 315 107,6 33,6

4.2.4 Pengujian Rangkaian Sensor Tekanan


Untuk pengujian rangkaian sensor tekanan penulis menggunakan alat
bantu yaitu spygmomanometer aneroid dan DPM-III sebagai pembanding
antara alat yang dibuat dengan alat yang umum dipakai untuk melakukan
pengukuran tekanan udara pada instrument medik.

Penulis mengukur pada titik pengukuran 2 (TP 2) guna mendapatkan


tegangan masukan ADC pada saat pembacaan tekanan tertentu.oleh alat yang
dijadikan refernsi dan membandingkannya dengan tampilan alat yang dibuat

Tabel 4.2 Hasil Pendataan Tekanan (kPa)


Tekanan Tampilan Tampilan Tampilan
TP 2 (mV)
(kPa) kPa mmHg Psi
5 57,3 5 37,5 0,725
8 84,4 8 60 1,160
10 102,7 10 75 1,450
12 123,2 12 90 1,740
16 158,7 15 120 2,320
55

4.2.5 Pengujian Rangkaian Sensor Kecepatan


Untuk pendataan satuan kecepatan penulis menggunakan alat Bantu
berupa motor gearbox DC dengan power supply yang dapat diatur
keluarannya sehingga akan menghasilkan kecepatan putaran yang berbeda-
beda. Sebagai acuan pengukuran penulis mempergunakan osiloskop dan
tachometer digital untuk membandingkan antara alat yang dibuat dengan alat
yang umum dipakai untuk melakukan pengukuran kecepatan putaran.

Penulis mengukur pada titik pengukuran 3 (TP 3) guna mendapatkan


pulsa digital hasil pembacaan sensor dan membandingkan antara alat yang
dijadikan refernsi dan membandingkannya dengan tampilan alat yang dibuat.

Tabel 4.3 Hasil Pendataan Pengukuran Kecepatan Putaran


Tegangan
Bentuk Pulsa (TP 3) Keterangan
Motor

8V
time/div : 25 ms
volt/div :2V
frekuensi : 25,64 Hz
display : 120 RPM
tacho : 125 RPM

10 V
time/div : 25 ms
volt/div :2V
frekuensi : 32,27 Hz
display : 160 RPM
tacho : 158RPM
56

12 V
time/div : 25 ms
volt/div :2V
frekuensi : 38,46 Hz
display : 190 RPM
tacho : 197 RPM

14 V
time/div : 25 ms
volt/div :2V
frekuensi : 45,42 Hz
display : 220 RPM
tacho : 219 RPM

16 V
time/div : 25 ms
volt/div :2V
frekuensi : 49,99 Hz
display : 250 RPM
tacho : 245 RPM

4.3 Analisa Data


Pada bagian ini akan diuraikan data-data yang dianalisa berdasarkan dari
hasil pengujian dengan perhitungan secara teori dan juga pembacaan alat
standar.

hasil teori – hasil data


Kesalahan ( % ) = x 100 %
hasil teori
57

4.3.1 Analisa Pengukuran Temperatur (TP1)

VTP1 = 10 mV /o C . Temperatur

Tabel 4.4 Analisa Pada TP 1


Temperatur Teori Data Selisih Kesalahan
o
( C) ( mV ) ( mV ) ( mV ) (%)
9 90,0 93,2 3,2 3,5
19 190,0 192,8 2,8 1,4
25 250,0 254,5 4,5 1,8
31 310 315 5 1,6
42 420 425 5 1,1

3,5 + 1,4 + 1,8 + 1,6 + 1,1


Rata-rata kesalahan =
5
= 1,8%

4.3.2 Analisa Pengukuran Tekanan (TP2)

VTP1 = Sensitifitas . Tekanan

Tabel 4.5 Analisa Pada TP 2

Tekanan (kPa) Teori (mV) Data (mV) Selisih (mV) Kesalahan ( % )

5 50 57,3 7,3 14,6


8 80 84,4 4,4 5,5
10 100 102,7 2,7 2,7
12 120 123,2 3,2 2,6
16 160 157,7 2,3 1,4

14,6 + 5,5 + 2,7 + 2,6 + 1,4


Rata-rata kesalahan =
5
= 5,3%
58

4.3.3 Analisa Pengukuran Kecepatan Putaran (TP3)

Tabel 4.6 Analisa Pada TP 3


Tegangan Kesalahan
Tachometer Alat Selisih
Adaptor (%)
8 125 120 5 4
10 158 160 2 1,2
12 197 190 7 3,5
14 219 220 1 0,4
16 245 250 5 2

4 + 1,2 + 3,5 + 0,4 + 2


Rata-rata kesalahan =
5
= 2,22%

4.4 Persentase Kesalahan Per Parameter


a. Persentase kesalahan pada pengukuran temperatur
% Kesalahan = 1,8%
b. Persentase kesalahan pada pengukuran tekanan:
% Kesalahan = 5,3%
c. Persentase kesalahan pada pengukuran kecepatan:
% Kesalahan = 2,22%
BAB V
PENUTUP

5.1 Kesimpulan
Dari hasil perancangan dan realisasi instrumen kalibrasi tekanan udara,
temperatur dan kecepatan, maka pada bagian penutup dari karya tulis ini penulis
dapat menarik kesimpulan antara lain :
1. Hasil realisasi pembuatan alat acuan kalibrasi suhu, tekanan udara, dan
kecepatan putaran, secara umum telah dapat berjalan sesuai dengan yang
direncanakan.
2. Adapun persentase kesalahan untuk tiap-tiap satuan pengukuran adalah
sebagai berikut:
a. Persentase kesalahan pada pengukuran tekanan : 5,3 %
b. Persentase kesalahan pada pengukuran temperatur : 1,8 %
c. Persentase kesalahan pada pengukuran kecepatan : 2,22 %
Penyimpangan-penyimpangan tersebut di atas dimungkinkan terjadi karena
penggunaan komponen-komponen yang kurang presisi, penggunaan alat ukur
yang digunakan sebagai acuan atau kurang sempurnanya perancangan alat yang
dibuat.

5.2 Saran
Implementasi dari karya ilmiah yang dibuat masih dapat dikembangkan
lebih lanjut, yaitu dengan memberikan pilihan-pilihan yang lebih banyak pada
satuan pengukuran, disesuaikan dengan parameter-parameter yang dikehendaki
oleh instrumen medik atau dapat juga dengan menambah parameter yang akan
ditera seperti kelembaban, arus, tegangan, dan lain-lain

59
DAFTAR PUSTAKA

Link, Wolfgang alih bahasa Margunadi. 1993. Pengukuran, Pengendalian, Dan

Pengaturan Dengan PC. Jakarta: Elex Media Komputindo.

Malvino, Albert Paul. 1994. Elektronika Komputer Digital (Pengantar

Mikroprosessor). Edisi Kedua, Jakarta: Erlangga.

Moh. Ibnu Malik dan Anistardi. 1999. Bereksperimen Dengan Mikrokontroller

8031. Jakarta: Elex Media Komputindo.

Robert F Coughlin, Frederick F. Oriscoll. 1994. Penguat Operasional dan

Rangkaian Terpadu Linier.

Steeman J.P.M. 1996. Data Sheet Book 2. Jakarta: Elex Media Komputindo.

Universal Biometer DPM – III. 1989. User’s Guide. Winooski: Biotek Instrumen.

Incorporation

Wasito. 1985. Data Sheet Book 1. Jakarta: PT Multimedia.

Webster. G. john. 1992. Medical Instrumentation Application and Design. Boston

www.mytutorialcafe.com
START

INISIALISASI

Switch Y Pilih Sensor Apakah


Y Stand By
Aktif R1 ≥ 04d
Aktif
T

Sensor Suhu
Y Nyalakan Baca ADC Konversi satuan
indikator suhu suhu F, K, R

Y Nyalakan Baca ADC Konversi satuan


Sensor
Tekanan indicator tek Tekanan Psi, mmHg

Sensor
Y Nyalakan Baca Konversi satuan
Kecepatan indikator kec Sensor Kec RPS -RPM

Tampilkan hasil
pengukuran

Diagram Alur Program Alat Kalibrasi


1 2 3 4 5 6

D D

+5 V U1 J77
C1 31 39
EA/VP P0.0 1
38
P0.1 2
+5 V 19 37
X1 P0.2 3
33 pF 36 +5 V C5
Y1 P0.3 4
C11 35
CRYSTAL P0.4 5
18 34
X2 P0.5 6 10 uF
C2 33 +5 V
P0.6 7 R7
100 nF 32
P0.7 8 R5 Rref R6
17

20
RD 9
S1 33 pF 16 Rref Rref
WR 10
9
RESET
reset 21 LCD 18 9

VccREF
C R8 P2.0 lsbDB0 Vref/ 2 C
13 22 17
INT1 P2.1 DB1
1K 14 23 16 U7
T0 P2.2 DB2
+5 V 15 24 15 6 3 13
T1 P2.3 DB3 Vin(+) X X0 Sensor Suhu
25 14 14
P2.4 DB4 X1 Sensor Tekanan
1 26 13 15
P1.0 P2.5 DB5 X2
2 27 12 C4 12
P1.1 P2.6 DB6 R4 X3
R9 3 28 11 19 1
P1.2 P2.7 msbDB7 CLK-R X4
1K 4 29 10 K 5
P1.3 PSEN X5
5 30 5 150 pF 2
P1.4 ALE/ P INTR X6
S2 6 10 4 4
P1.5 RXD CLK-IN X7
7 11 3

A- GND
P1.6 TXD WR
pilih parameter 8 12 1
P1.7 INT0 CS
2 7 11 7
RD Vin (-) A VEE
C12 87C51 10
U4 B
9
ADC080 4 C

8
100 nF 6
INH
4051
U3A
1 2
Sens or Kecepatan

B 74LS14 B

R570 R5 80 R57 R58 R59 R60 R61 R62


330 330 330 330 330 330 330 330

D100 D200 D1 D6
kmr 1 kmr 2 kamar 3 kmr 8

+5 V

A A

1 2 3 4 5 6
1 2 3 4 5 6

D D

+5 V +5 V

7
U1 U2
2 R1 R2 3

VS+
OUT
6

GND
100 K 100 K
2 VR2

LM3 5DZ(3) LF356

4
1

5
C1 C2 VR1 RPOT_2
10 10 -5 V +5 V
To ADC

RPOT_ 2 R5
10 K
R4
10 K
C R3 C
10 K

+5 V
+5 V

7
U4
R1 0 R11 3 U5
Sen sor
B 100 K 1 00 K 6 3 B
2 6
2 VR6
C4 C5 LF35 6
1 uF 1 uF LF356

4
1

4
1

5
VR4
-5 V +5 V VR5 25 K
To ADC
-5 V +5 V
R1 4
22 K
10 K
10 K
R13

R12 1K
10 K

A A

1 2 3 4 5 6
DPM-III Universal
Biometer

Measure pressure and temperature


with a device that fits in your pocket.
SPECIFICATIONS

OVERVIEW
• Pressure Ranges
-698 to 776 mmHg (±1% of
The Universal Biometer provides
reading)
pressure and temperature
-949 to 1055 cmH2O (±1% of
measurements. It is a unique test
reading)
instrument able to measure pneumatic
-374 to 415 in. H2O (±1% of
or hydraulic pressures (both positive or
reading)
negative) in a variety of ranges
-93 to 103 kPa (±1% of
including: millimeters of mercury,
reading)
centimeters of water, inches of water,
-13.5 to 15 psi (±1% of
kilopascals, and pounds per square
reading)
inch. We've also added the ability to
-13.5 to 100 psi (±2% of
measure temperature in degrees
reading)
Centigrade and Fahrenheit accurately
• Over Pressure 150 psi
and fast.
• Temperature Range
0 to 50oC (32 to 122oF ± 1.5oC
Some possible applications:
or ±1 LSD, whichever is
greater)
Pressure:
• Resolution 0.1oC/oF

• Opthamological lasers • Temperature Probe Jack

• Dialysis machines 1/4 inch phone jack, designed


• Automatic tourniquets for use with Yellow Springs
• Drainage devices 700 series probes.
• IV pumps • High Level Output
• Diagnostic, surgical suction 1/4 inch phone jack, full range
• Ventilators = 1 v for temperature and
• Pressure gauges pressure
• Operating Temperature 10 to
40oC
• Power
Temperature:
One 9 v alkaline battery
(lifetime 35 hour continuous)
• Temperature monitors
• Weight 10 oz (280 g)
• Electronic thermometers
• Dimensions
• Humidifiers/nebulizers
5.7 x 3.5 x 2.1 in. (14.6 x 8.9 x
• Blood warmers
5.4 cm)
• Hypo/hyperthermia machines
• Infant incubator
• Radiant warmers
• Hemodialysis machines
piece of software rev7
;===============================================================================
====
;Program Alat Kalibrasi Instrumen Medik Parameter Temperatur,Tekanan,Dan
Kecepatan
;===============================================================================
====
$MOD51
RS EQU P3.7
EN EQU p3.6
Window EQU 10 ;setara dgn 500 ms
Slot EQU R6 ;setara dgn 50 ms
;*****************************************************
DSEG
ORG 30H
Loop: DS 2 ;untuk DJNZ bersarang
Angka: DS 4 ;4 digit angka
Pulsa: DS 2 ;menampung 16-bit
index: DS 1
ADC1: DS 1
ADC_: DS 3
var4: DS 1
satuan: DS 1
puluhan: DS 1
ratusan: DS 1
ribuan: DS 1
vara: DS 1
varb: DS 1
varc: DS 1
vard: DS 1
vare: DS 1
varf: DS 1
;*****************************************************
CSEG
LJMP Start
ORG 1BH
LJMP Timer1_ISR
ORG 30H
start: lcall init_lcd
mov A,#11111111b
mov P1,A
mov R1,#00h ;set reg 1 pada 00
mov R2,#00h
mov R3,#00h
mov R4,#00h
mov R5,#00h
lcall kosong
setb p3.0
setb p3.1
setb p3.2
ljmp ready
;====================Baca
Saklar===================================================
baca: jb p3.3, ready ;cek apakah saklar ditekan
ljmp switch

switch: lcall tunda2


jnb p3.3,baca
inc R1 ;ganti tanda R1
cjne R1,#04h,ready
mov R1,#00h
ljmp ready

ready: cjne R1,#00h,cek_1


mov A,#11111111b ;matikan indikator
mov P1,A
mov R2,#00h
mov R3,#00h
mov R4,#00h
Page 1
piece of software rev7
cjne R5,#01h,terus4
sjmp jez4
terus4: lcall clear_lcd
jez4: lcall welcome ;tampilkan stand by
inc R5
cjne R5,#02h,set4
mov R5,#01h
set4: ljmp baca
cek_1: cjne R1,#01h,cek_2 ;cek apakah tanda pengukuran celcius
mov IE,#00h
mov A,#11111110b
mov P1,A
mov R3,#00h
mov R4,#00h
mov R5,#00h
lcall pilih_suhu ;pilih sensor temperatur
lcall tunda
lcall baca_ADC ;baca ADC
cjne R2,#01h,terus1
sjmp jez1
terus1: lcall clear_lcd
lcall tampil_1
lcall tampil_12
lcall tampil_13
lcall tampil_14

jez1: lcall copy


lcall angka_1
lcall rubahf
lcall angka_12
lcall rubahk
lcall angka_13
lcall rubahr
lcall angka_14
inc R2
cjne R2,#02h,set1
mov R2,#01h

set1: ljmp baca

cek_2: cjne R1,#02h,cek_3 ;cek apakah tanda pengukuran tekanan


mov IE,#00h
mov A,#11111011b
mov P1,A
mov R2,#00h
mov R4,#00h
mov R5,#00h
lcall pilih_tekanan ;pilih sensor tekanan
lcall tunda
lcall baca_ADC ;baca ADC
cjne R3,#01h,terus2
sjmp jez2
terus2: lcall clear_lcd
lcall tampil_2
lcall tampil_22
lcall tampil_23
jez2: lcall copy
lcall angka_2
lcall rubahm
lcall angka_22
lcall rubahp
lcall angka_23
Page 2
piece of software rev7
inc R3
cjne R3,#02h,set2
mov R3,#01h
set2: ljmp baca

cek_3: cjne R1,#03h,loncat1 ;cek apakah tanda RPM


lcall pilih_kec
mov A,#11101111b
mov P1,A
mov R2,#00h
mov R3,#00h
mov R5,#00h
lcall clear_lcd
ljmp start_kec
loncat1: ljmp baca

;=====================Pemilihan sensor dan pembacaan


ADC===========================

pilih_suhu: clr p3.0 ;pilih input sensor suhu C


clr p3.1
clr p3.2
ret

pilih_tekanan: clr p3.1 ;pilih input sensor tekanan kPa


clr p3.2
setb p3.0
ret

pilih_kec: setb p3.0


setb p3.1
setb p3.2
ret

baca_ADC: mov A,P2 ;baca ADC


mov ADC1,A
mov B,#100d
div AB
mov ADC_+2,A
mov A,B
mov B,#10d
div AB
mov ADC_+1,A
mov ADC_,B
ret
;======================== konversi satuan pengukuran
==============================

rubahm: mov A,ADC_ ; kPa --> mmHg = 7,5 x kPa


mov B,#5d
mul AB
mov B,#10d
div AB
mov var4,A
mov satuan,B ;alamat satuan
mov A,ADC_+1
mov B,#5d
mul AB
add A,var4
mov B,#10d
div AB
mov vara,A
mov varb,B
Page 3
piece of software rev7
mov A,ADC_
mov B,#7d
mul AB
mov B,#10d
div AB
mov varc,A
mov A,B
add A,varb
mov B,#10d
div AB
mov vard,A
mov puluhan,B ;alamat puluhan
mov A,ADC_+1
mov B,#7d
mul AB
add A,vara
add A,vard
add A,varc
mov B,#10d
div AB
mov ribuan,A ;alamat ribuan
mov ratusan,B ;alamat ratusan
ret
rubahp: mov A,ADC_ ; kPa --> Psi = 0,145 x kPa
mov B,#5d
mul AB
mov B,#10d
div AB
mov var4,A
mov satuan,B ;alamat satuan
mov A,ADC_
mov B,#4d
mul AB
add A,var4
mov B,#10d
div AB
mov vara,A
mov varb,B
mov A,ADC_
add A,vara
mov B,#10d
div AB
mov vard,A
mov varc,B
mov A,ADC_+1
mov B,#5d
mul AB
add A,varb
mov B,#10d
div AB
mov vare,A
mov puluhan,B ;alamat puluhan
mov A,ADC_+1
mov B,#4d
mul AB
add A,vare
add A,varc
mov B,#10d
div AB
mov ratusan,B ;alamat ratusan
mov varf,A
mov A,ADC_+1
add A,vard
add A,varf
mov B,#10d
div AB
mov ribuan,B ;alamat ribuan
ret
Page 4
piece of software rev7
rubahf: mov A,ADC_ ; Celcius --> Fahrenheit = (1,8 x C) +
32
mov B,#8d
mul AB
mov B,#10d
div AB
mov satuan,B ;alamat satuan
mov var4,A
mov A,ADC_+1
mov B,#8d
mul AB
add A,var4
add A,ADC1
add A,#32d
mov b,#100d
div AB
mov ribuan,A ;alamat ribuan
mov A,B
mov B,#10d
div AB
mov ratusan,A ;alamat ratusan
mov puluhan,B ;alamat puluhan
ret

rubahk: mov A,ADC_ ; Celcius --> Kelvin = 273 + C


add A,#3d
mov B,#10d
div AB
mov satuan,B ;alamat satuan
mov var4,A
mov A,ADC_+1
add A,#7h
add A,var4
mov B,#10d
div AB
mov puluhan,B ;alamat puluhan
mov var4,A
mov A,ADC_+2
add A,#2d
add A,var4
mov ratusan,A ;alamat ratusan
ret

rubahr: mov A,ADC_ ; Celcius --> Reamur = 0,8 x C


mov B,#8d
mul AB
mov B,#10d
div AB
mov satuan,B ;alamat satuan
mov var4,A
mov A,ADC_+1
mov B,#8d
mul AB
add A,var4
mov b,#100d
div AB
mov ribuan,A ;alamat ribuan
mov A,B
mov B,#10d
div AB
mov ratusan,A ;alamat ratusan
mov puluhan,B ;alamat puluhan
ret
copy: mov ratusan,ADC_+2
mov puluhan,ADC_+1
Page 5
piece of software rev7
mov satuan,ADC_
mov ribuan,#00h
ret
kosong: mov ribuan,#00h
mov ratusan,#00h
mov puluhan,#00h
mov satuan,#00h
ret

;====================== Display LCD ================================


init_lcd: clr RS ; Display 8 bit, 2 baris
mov P0,#38h
setb EN
lcall tunda3
clr EN
clr RS ; Display=On, Cursor=off
mov P0,#00001100b
setb EN
lcall tunda3
clr EN

clr RS ; Automatic geser kanan


mov P0,#06h
setb EN
lcall tunda3
clr EN
ret

clear_LCD: clr RS
mov P0,#01h
setb EN
lcall tunda3
clr EN
ret

write_lcd: setb RS
mov P0,A
setb EN
lcall tunda3
clr EN
ret

baris_suhu1: mov p0,#80h


clr RS
setb EN
lcall tunda3
clr EN
ret

angka_suhu1: mov p0,#83h


clr RS
setb EN
lcall tunda3
clr EN
ret

baris_suhu2: mov p0,#87h


clr RS
setb EN
lcall tunda3
clr EN
ret

Page 6
piece of software rev7
angka_suhu2: mov p0,#8Ah
clr RS
setb EN
lcall tunda3
clr EN
ret
baris_suhu3: mov p0,#0C0h
clr RS
setb EN
lcall tunda3
clr EN
ret
angka_suhu3: mov p0,#0C3h
clr RS
setb EN
lcall tunda3
clr EN
ret
baris_suhu4: mov p0,#0C7h
clr RS
setb EN
lcall tunda3
clr EN
ret

angka_suhu4: mov p0,#0CAh


clr RS
setb EN
lcall tunda3
clr EN
ret

baris_tek1: mov p0,#82h


clr RS
setb EN
lcall tunda3
clr EN
ret

baris_tek2: mov p0,#8Ch


clr RS
setb EN
lcall tunda3
clr EN
ret

baris_tek3: mov p0,#0CCh


clr RS
setb EN
lcall tunda3
clr EN
ret
baris_rpm: mov P0,#0C4h
clr RS
setb EN
lcall tunda3
clr EN
ret

;======================== menampilkan hasil pengukuran suhu =============


asci: orl satuan,#30h
orl puluhan,#30h
orl ratusan,#30h
orl ribuan,#30h
Page 7
piece of software rev7
ret

tampil_1: lcall baris_suhu1


mov A,#'C'
lcall write_lcd
mov A,#'='
lcall write_lcd
ret
angka_1: lcall angka_suhu1
lcall asci
mov A,ratusan
lcall write_lcd
mov A,puluhan
lcall write_lcd
mov A,satuan
lcall write_lcd
ret
tampil_12: lcall baris_suhu2
mov A,#'F'
lcall write_lcd
mov A,#'='
lcall write_lcd
ret

angka_12: lcall angka_suhu2


lcall asci
mov A,ribuan
lcall write_lcd
mov A,ratusan
lcall write_lcd
mov A,puluhan
lcall write_lcd
mov A,#','
lcall write_lcd
mov A,satuan
lcall write_lcd
ret

tampil_13: lcall baris_suhu3


mov A,#'K'
lcall write_lcd
mov A,#'='
lcall write_lcd
ret
angka_13: lcall angka_suhu3
lcall asci
mov A,ratusan
lcall write_lcd
mov A,puluhan
lcall write_lcd
mov A,satuan
lcall write_lcd
ret

tampil_14: lcall baris_suhu4


mov A,#'R'
lcall write_lcd
mov A,#'='
lcall write_lcd
ret

angka_14: lcall angka_suhu4


lcall asci
mov A,ratusan
lcall write_lcd
Page 8
piece of software rev7
mov A,puluhan
lcall write_lcd
mov A,#','
lcall write_lcd
mov A,satuan
lcall write_lcd
ret

;======================== menampilkan hasil pengukuran tekanan =============


angka_2: lcall baris_suhu1
lcall asci
mov A,puluhan
lcall write_lcd
mov A,satuan
lcall write_lcd
ret
tampil_2: lcall baris_tek1
mov A,#'k'
lcall write_lcd
mov A,#'P'
lcall write_lcd
mov A,#'a'
lcall write_lcd
ret

angka_22: lcall baris_suhu2


lcall asci
mov A,ribuan
lcall write_lcd
mov A,ratusan
lcall write_lcd
mov A,puluhan
lcall write_lcd
mov A,#','
lcall write_lcd
mov A,satuan
lcall write_lcd
ret

tampil_22: lcall baris_tek2


mov A,#'m'
lcall write_lcd
mov A,#'m'
lcall write_lcd
mov A,#'H'
lcall write_lcd
mov A,#'g'
lcall write_lcd
ret
angka_23: lcall baris_suhu4
lcall asci
mov A,ribuan
lcall write_lcd
mov A,#','
lcall write_lcd
mov A,ratusan
lcall write_lcd
mov A,puluhan
lcall write_lcd
mov A,satuan
lcall write_lcd
ret

tampil_23: lcall baris_tek3


mov A,#'P'
Page 9
piece of software rev7
lcall write_lcd
mov A,#'s'
lcall write_lcd
mov A,#'i'
lcall write_lcd
ret
tampil_3: lcall baris_rpm
mov A,angka+3
lcall write_lcd
mov A,angka+2
lcall write_lcd
mov A,angka+1
lcall write_lcd
mov A,angka
lcall write_lcd
mov A,#' '
lcall write_lcd
mov A,#'R'
lcall write_lcd
mov A,#'P'
lcall write_lcd
mov A,#'M'
lcall write_lcd
ret

welcome: mov P0, #0C4h


clr RS
setb EN
lcall tunda3
clr EN
mov A,#'S'
lcall write_lcd
mov A,#'T'
lcall write_lcd
mov A,#'A'
lcall write_lcd
mov A,#'N'
lcall write_lcd
mov A,#'D'
lcall write_lcd
mov A,#' '
lcall write_lcd
mov A,#'B'
lcall write_lcd
mov A,#'Y'
lcall write_lcd
ret
;=========================program tunda============================

tunda: mov 20h,#5d ;program tunda 1


delay: mov 21h,#20d
lagi1: djnz 21h,lagi1
djnz 20h,delay
ret
tunda2: mov 22h,#40d ;program tunda 2
delay2: mov 23h,#15d
lagi2: djnz 23h,lagi2
djnz 22h,delay2
ret
tunda3: mov 20h,#15d ;program tunda 3
delay3: mov 21h,#50d
lagi3: djnz 21h,lagi3
djnz 20h,delay3
ret

Page 10
piece of software rev7
tunda4: mov 20h,#5d ;program tunda 4
delay4: mov 21h,#8d
lagi4: djnz 21h,lagi4
djnz 20h,delay4
ret
;========================== Kecepatan ===============================
loncat2: ljmp baca
start_kec: MOV TMOD,#00010101B ; set mode timer 1 = timer 16 bit, timer
0 = counter 16 bit
MOV IE,#88H ;Timer1 interrupt
MOV SLOT,#0
MOV A,#'0' ;Angka '0'
MOV Angka,A
MOV Angka+1,A
MOV Angka+2,A
MOV Angka+3,A
CLR TR0
MOV TH0,#0 ;counter1 = 0
MOV TL0,#0
SETB TR0 ;buka counter1
CLR TR1
MOV TH1,#HIGH -50000
MOV TL1,#LOW -50000
CLR TF1
SETB TR1
ScanDisplay: lcall tampil_3
JNB P3.3, loncat2
SJMP ScanDisplay ;Ulangi Scan
;******************************************************
Timer1_ISR:
PUSH ACC
PUSH PSW
PUSH 0
CLR TR1
MOV TH1,#HIGH -50000
MOV TL1,#LOW -50000
CLR TF1
SETB TR1

INC slot
MOV A,slot
CJNE A,#window,end_ISR
MOV slot,#0

CLR EA
CLR TR0
MOV pulsa,TL0
MOV pulsa+1,TH0
MOV TL0,#0
MOV TH0,#0
CLR TF0
SETB TR0
ACALL calculate_speed ;4-digit speed to LCD_buffer
SETB EA
end_ISR:
POP 0
POP PSW
POP ACC
RETI
;*****************************************
calculate_speed:
PUSH 0
MOV HasilBagi,Pulsa
MOV HasilBagi+1,Pulsa+1
MOV HasilBagi+2,#0
MOV Pembagi,#10
MOV Pembagi+1,#0
MOV Pembagi+2,#0
MOV index,#Angka+1 ;puluhan
Page 11
piece of software rev7
MOV Loop,#3
NextDigit: MOV Operand,HasilBagi
MOV Operand+1,HasilBagi+1
MOV Operand+2,HasilBagi+2
ACALL Pembagian
ORL sisabagi,#30h ;string
MOV R0,index
MOV @R0,sisabagi
INC index ;index
DJNZ Loop,NextDigit
POP 0
RET
;*****************************************
;***** Multi Byte Arithmatic routine *****
;*****************************************
SizeX EQU 3 ;16-bit
DSEG
Operand: DS SizeX
Pembagi: DS SizeX
HasilBagi: DS SizeX
SisaBagi: DS SizeX
Pengali: DS SizeX
HasilKali: DS 2*SizeX+1
LoopX: DS 4
;****** Multi Byte divider ***************
;Operand/pembagi = HasilBagi*Pembagi + SisaBagi
;*****************************************
CSEG
Pembagian: PUSH 00
PUSH 01
MOV R0,#HasilBagi
ACALL HapusNilai
MOV R0,#SisaBagi
ACALL HapusNilai
MOV LoopX+1,#SizeX*8
LoopPembagian: CLR C
MOV R0,#Operand
ACALL GeserKiri1X
MOV R0,#SisaBagi
ACALL GeserKiri1X
MOV R0,#SisaBagi
MOV R1,#Pembagi
ACALL Perbandingan
JC JanganDikurangi
MOV R0,#SisaBagi
MOV R1,#Pembagi
ACALL Pengurangan
JanganDikurangi: CPL C
MOV R0,#HasilBagi
ACALL GeserKiri1X
DJNZ LoopX+1,LoopPembagian
POP 01
POP 00
RET
GeserKiri1X: MOV LoopX,#SizeX
LeftShift: MOV A,@R0
RLC A
MOV @R0,A
INC R0
DJNZ LoopX,LeftShift
RET
;****** Multi Byte Multiplier ************
;Operand*Pengali = HasilKali
;*****************************************
Perkalian: PUSH 00
PUSH 01
MOV R0,#HasilKali
ACALL HapusNilai
MOV LoopX+1,#SizeX*8
Page 12
piece of software rev7
LoopPerkalian: CLR C
MOV R0,#Pengali+SizeX-1
MOV LoopX,#SizeX
GeserKanan_: MOV A,@R0
RRC A
MOV @R0,A
DEC R0
DJNZ LoopX,GeserKanan_
JNC JanganDitambah
MOV R0,#HasilKali
MOV R1,#Operand
ACALL Penambahan
JanganDitambah: CLR C
MOV R0,#Operand
ACALL GeserKiri1X
DJNZ LoopX+1,LoopPerkalian
POP 01
POP 00
RET
;********** Multi Byte Adder *************
; @R0 = @R0 + @R1
;*****************************************
Penambahan: CLR C
MOV LoopX,#SizeX
LoopPenambahan: MOV A,@R0
ADDC A,@R1
MOV @R0,A
INC R0
INC R1
DJNZ LoopX,LoopPenambahan
RET
;******** Multi Byte Comparator **********
;@R0 banding @R1, jika carry flag = 0 berarti sama
;*****************************************
Perbandingan: CLR C
MOV LoopX,#SizeX
LoopPerbandingan: MOV A,@R0
SUBB A,@R1
INC R1
INC R0
DJNZ LoopX,LoopPerbandingan
RET
;******** Multi Byte Substractor *********
; @R0 = @R0 - @R1
;*****************************************
Pengurangan: CLR C
MOV LoopX,#SizeX
LoopPengurangan: MOV A,@R0
SUBB A,@R1
MOV @R0,A
INC R0
INC R1
DJNZ LoopX,LoopPengurangan
RET
;********** Multi Byte Eraser ************
;@R0 = 0
;*****************************************
HapusNilai: MOV LoopX,#SizeX
CLR A
LoopHapus: MOV @R0,A
INC R0
DJNZ LoopX,LoopHapus
RET
;********** Multi Byte Copier ************
;@R1 = @R0
;*****************************************
Copy_: MOV LoopX,#SizeX
LoopCopy: MOV A,@R0
MOV @R1,A
Page 13
piece of software rev7
INC R0
INC R1
DJNZ LoopX,LoopCopy
RET
END

Page 14

Anda mungkin juga menyukai