Karya Tulis

advertisement
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 lainlainnya. 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
4
ibid.
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.
VS+
GND
1
Vcc
3
OUT
2
V out
LM35DZ
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) ………………………………………......………
5
(2-7)
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 :
6
-
Terminal masukan non inverting ( V1 )
-
Terminal masukan inverting ( V2 )
-
Terminal catu daya positif ( + Vcc )
-
Terminal catu daya negatif ( - Vcc )
-
Terminal keluaran ( Vo )
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
Vout
Ii
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 :
I=
Vi
…………………………………………………………. ......(2.8)
Ri
Vf = I ⋅ (Rf ) =
Rf
Ri
⋅ Vi .....................................................................(2.9)
Berdasarkan gambar 2.7 di atas maka besarnya Vout (Vo) adalah
penjumlahan penurunan tegangan pada R1 dan Rf
V 0 = V 1 + Vf
Vo = Vi +
Rf
Ri
⋅ Vi atau
 Rf 
 ⋅ Vi
Vo = 1 +
Ri 

8
Ibid, hal 47.
……………………………………………… (2.12)
14
2.3.2 Tapis Lolos Bawah ( Low Pass Fillter )
Vcc
Vin
R
Vout
Vcc
C
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:
Vout =
1 / jω C
× 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
ACL =
Vout
1
=
................................................................(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
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
P1.0
P1.1
P1.2
P1.3
P1.4
P1.5
P1.6
P1.7
RESET
RXD
TXD
INT0
INT1
T0
T1
WR
RD
Xtal 2
Xtal 1
VSS
VCC
P0.0
P0.1
P0.2
P0.3
P0.4
P0.5
P0.6
P0.7
EA/VP
ALE/P
PSEN
P2.7
P2.6
P2.5
P2.4
P2.3
P2.2
P2.1
P2.0
40
39
38
37
36
35
34
33
32
31
30
29
28
27
26
25
24
23
22
21
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
C1
+5 V
31
19
33 pF
Y1
CRYSTAL 18
C2
EA/VP
X1
X2
33 pF
9
13
14
15
1
2
3
4
5
6
7
8
P0.0
P0.1
P0.2
P0.3
P0.4
P0.5
P0.6
P0.7
RD
WR
RESET
INT1
T0
T1
P1.0
P1.1
P1.2
P1.3
P1.4
P1.5
P1.6
P1.7
P2.0
P2.1
P2.2
P2.3
P2.4
P2.5
P2.6
P2.7
PSEN
ALE/P
RXD
TXD
INT0
8951
Gambar 2.12
Penggunaan Osilator Internal sebagai Sumber Pendetak
39
38
37
36
35
34
33
32
17
16
21
22
23
24
25
26
27
28
29
30
10
11
12
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 bitbit 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 masingmasing 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
+
_
MSB
Vout
Mulai konversi
CLK
Selesai konversi
Kendali
Konverter
D/A
8-bit
LSB
Register
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:
f CLK =
1
…………….........………………………………… (2.19)
1,1 ⋅ RC
1
2
3
4
5
6
7
8
9
10
CS
VccREF
RD
CLK-R
WR
lsbDB0
CLK-IN
DB1
INTR
DB2
Vin(+)
DB3
Vin(-)
DB4
A-GND
DB5
Vref/2
DB6
GND
msbDB7
20
19
18
17
16
15
14
13
12
11
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.
Resolusi ADC 0804 =
Jangkauan Tegangan
∑ Variasi Bit − 1
……………………. (2.20)
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
2
3
4
5
6
7
8
X4
VCC
X6
X2
X
X1
X7
X0
X5
X3
INH
A
VEE
B
GND
C
16
15
14
13
12
11
10
9
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
2.8
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
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
8
9
10
11
12
13
14
DB0
DB1
DB2
DB3
DB4
DB5
DB6
DB7
4
6
5
RS
EN
R/W
Vcc
2
Vee
3
Vss
1
BPL
15
GND
16
Liquid Crystal Display
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
0
R/W DB7 DB6 DB5 DB4 DB3 DB2 DB1 DB0
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.
Download