BAB II DASAR TEORI
2.1 Jantung dan Sistem Peredaran Darah Jantung adalah berupa otot, berbentuk kerucut, berongga dan dengan basisnya diatas dan puncaknya dibawah, jantung juga berfungsi untuk memompa darah ke seluruh tubuh manusia melalui pembuluh darah yang disebut Arteri dan Vena. Arteri membawa darah dari jantung, sedangkan Vena membawa darah ke jantung. Jantung terbagi oleh sebuah septum (sekat) menjadi dua belah, yaitu kiri dan kanan. Setiap belahan dibagi menjadi dua ruang yang diatas disebut atrium dan yang bawah disebut ventrikel, maka dikiri terdapat 1 atrium dan 1 ventrikel, dan dikanan juga 1 atrium dan 1 ventrikel, sehingga jantung memiliki empat ruang yaitu atrium kanan, atrium kiri, ventrikel kanan dan ventrikel kiri. Disetiap sisi ada hubungan antara atrium dan ventrikel melalui lubang atrioventrikuler dan pada setiap lubang tersebut terdapat katup yang kanan bernama katup (valvula) trikuspidalis dan yang kiri katup mitral atau katup bikuspidalis. Katup-katup ini berfungsi untuk mengalirkan darah dalam satu arah yaitu dari atrium ke ventrikel dan mencegah darah mengalir kembali dari ventrikel ke atrium.
6
7
Pembuluh-pembuluh darah yang tersambung pada jantung adalah vena cava inverior dan superior arteri pulmonalis dan aorta.
Gambar 2.1Gambar Jantung Dari gambar diatas terlihat bahwa jantung tersusun atas otot yang bersifat khusus dan terbungkus oleh sebuah membrane yang disebut perikardium, yang terdiri dari dua lapis. Lapisan sebelah dalam disebut perikardium visceral dan sebelah luar disebut pericardium parietal. Kedua lapisan ini dipisahkan oleh cairan pelumas, yang berfungsi untuk mengurangi gesekan yang disebabkan oleh jantung pada saat memompa darah. Jantung itu sendiri terdiri dari tiga lapisan, lapisan
luar
(epikardium),
lapisan
tengah
merupakan
lapisan
(miokardium), lapisan tengah merupakan lapisan terdalam (endokardium).
berotot
8
2.1.1 Denyut Nadi Denyut arteri adalah suatu gelombang yang teraba pada arteri bila darah dipompa keluar keluar jantung. Denyut ini mudah diraba disuatu tempat dimana arteri melintasi sebuah tulang yang terletak dekat pemukaan. Seperti arteri radialis disebelah depan pergelangan tangan, arteri temporalis diatas tulang temporal, atau arteri dorsalis pedis dibelokan mata kaki. Sebenarnya yang teraba bukanlah darah yang dipompa oleh jantung masuk kedalam aorta melainkan gelombang tekanan yang dialihkan dari aorta dan merambat lebih cepat dari pada darah itu sendiri. Denyut nadi biasa dirasakan pada pergelangan tangan inilah yang akan dimanfaatkan untuk menghitung rata-rata detak jantung karena denyut nadi manusia pada pergelangan tangan mencerminkan laju denyut jantung. Jari tangan manusia mempunyai bentuk tekstur tulang yang lebih tipis dibandingkan dengan tulang ditempat lain. Volume darah yang mengalir dari jantung menuju tubuh manusia yang dibawa oleh arteri lebih banyak dibandingkan volume darah yang dari seluruh tubuh dibawa oleh vena kembali ke jantung. Oleh karena itu apabila cahaya sebuah infrared LED dipancarkan dan melewati jari tangan kemudian cahaya tersebut diterima oleh sebuah detector yang peka terhadap cahaya yang ditaruh berlawanan pada permukaan jari (menjepit jari) sehingga dapat mengukur cahaya pancaran dari infrared LED yang diserap dengan baik oleh darah maupun cahaya yang dilewatkan. Setiap perubahan pada volume darah akan menyebabkan perubahan intensitas cahaya, dan inilah yang akan dimanfaatkan untuk menghitung jumlah rata-rata denyut nadi tersebut. Saat jantung berkontraksi tekanan darah dalam aorta besar, hal inilah yang menyebabkan arteri pada jari memiliki volume darah yang banyak,
9
sehingga terjadi penyerapan yang banyak pula, dan apabila jantung bereaksi tekanan aorta kembali normal, sehingga volume darah menjadi lebih sedikit, hal ini mengakibatkan sedikit cahaya yang diserap.
2.1.2 Jumlah Denyut Nadi Jumlah denyut nadi setiap manusia berbeda-beda, hal tersebut dipengaruhi oleh berberapa faktor antara lain penghidupan, pekerjaan, makanan, umur dan emosi. Berdasarkan umur dapat dilihat melalui tabel dibawah ini. Tabel 2.1 Kecepatan Normal Denyut Nadi Dipengaruhi Faktor Umur
Umur Bayi Tahun Pertama Tahun Kedua Usia 5 Tahun Usia 10 Tahun Dewasa
BPM 140 120 110 96 - 100 80 - 90 60 - 80
Pada orang yang sedang beristirahat, jantung berdebar sekitar 70 kali permenit. Sewaktu banyak bergerak kecepatan jantung bisa menjadi 150 kali permenit ( 150 BPM ).
2.2 Plethysmograph Ada banyak cara dalam pengukuran jantung, ada cara langsung maupun cara tidak langsung. Pengukuran menggunakan metode plethysmograph adalah salah satu cara pengukuran secara tidak langsung. Cara umum plethysmograph dapat didefinisikan sebagai pulsa perekaman dari hasil perubahan volume aliran yang dipompa oleh jantung. Dalam pompa darah,
10
jantung melakukan gerakan yaitu: kontraksi atau systole dan pengenduran atau dyastole. Ketika darah dipompa keluar dari jantung, pada arteri teraba suatu gelombang kejut. Denyut ini dapat teraba pula pada tempat dimana pembuluh darah arteri melintas pada sebuah tulang yang terletak dekat permukaan. Dengan makin majunya perkembangan alat-alat kedokteran, maka denyut nadi dapat dideteksi oleh sensor yang dipasang pada ujung jari dimana banyak terdapat arteriola. Walaupun denyut nadi pada ujung jari tidak terasa, tetapi gelombang aliran darah dapat dideteksi oleh sensor yang berupa sensor cahaya. Dalam kondisi normal plethysmograph merupakan penggambaran dari gelombang tekanan darah arteri. Bentuk gelombang plethysmograph yang umum dapat dilihat pada gambar 2.2.
Gambar 2.2 Bentuk Gelombang Plethysmograph Pada perkembangan Plethysmograph terdiri dari bermacam-macam metode yaitu impedansi Plethysmograph, induktansi dan konduktansi Plethysmograph serta, Photo Plethysmograph. Dalam perancangan ini dipilih metode Photo Plethysmograph. Photo Plethysmograph adalah metode Splethysmograph yang menggunakan sumber cahaya dan detektor. Biasanya digunakan infrared LED sebagai sumber
11
cahaya dan phototransistor sebagai detektor. Rangkaian dasar dari Photo Plethysmograph dapat dilihat pada gambar.
R R
+ Power Supply
Gambar 2.3 Rangkaian Dasar Photo Plethysmograph Perubahan intesitas cahaya yang dipancarkan oleh infrared LED sebagai sumber cahaya akan mempengaruhi arus balik yang dihasilkan
oleh
phototransistor. Makin terang cahaya infrared LED makin besar arus balik yang dihasilkan oleh phototransistor. Sumber cahaya pada sensor ini dibuat konstan, artinya arus dan tegangannya dibuat stabil sehingga intensitas cahaya yang dihasilkan selalu tetap. Sedangkan yang membuat terjadinya perubahan intensitas cahaya yang sampai ke photodetektor adalah aliran darah dalam jari yang ditempatkan
diantara
sumber
cahaya
dan
photodetektor.
Denyut
nadi
menyebabkan perubahan volume darah yang melewatinya, perubahan volume ini menyebabkan perubahan densitas dari darah. Perubahan densitas atau kepekatan darah inilah yang mempengaruhi intensitas cahaya yang sampai pada photodetektor.
12
2.3 LED ( Light Emiting Diode ) Light Emitted Diode (LED) ialah alat aplikatif dari cahaya tampak yang bersifat monokromatik. Cara bekerja alat ini dengan mengubah eleckron menjadi foton. Elektron yang dialiri oleh sumber tegangan akan mengalami medan elektromagnetik hingga menimbulkan arus listrik. Arus listrik ini kemudian akan menghidupkan dioda (LED) hingga foton dalam LED akan memancarkan energi dalam bentuk cahaya LED. LED dapat dipandang sebagai sebuah kristal. Kristal ini terdiri dari lubang (hole) dan elektron (ion), setiap elektron akan mengisi lubang yang kosong yang disebabkan oleh hantaran arus listrik dari sumber tegangan. Ketika elektron telah mengisi lubang yang kosong, maka menyebabkan elektron terlepas dari energi ikatnya. peristiwa ini menghasilkan energi yang terlepas dari elektron. Energi yang terlepas inilah digunakan untuk memancarkan foton, sebagian lain digunakan untuk memanaskan partikel-partikel. Pancaran cahaya ini merupakan cahaya sebuah LED. Vs
Rs
LED
Gambar 2.4 LED
Arus yang diberikan pada LED dapat diketahui melalui rumus: ILED =
VS - VLED RS
13
2.4
Phototransistor Phototransistor disini digunakan sebagai Infrared receiver (penerima cahaya
dari Infrared LED), Sebelum ada cahaya yang mengenai persambungan kolektorbasis, kolektor basis diberi sedikit tegangan maju, hal ini disebabkan karena basis harus lebih positif dibanding emitor. Akibatnya elektron-elektron diinjeksikan dari emitor ke basis yang mengakibatkan daerah kosong kolektor-basis menjadi lebih besar. Ketika
cahaya
mengenai
persambungan
kolektor-basis
maka
akan
menghasilkan elektron bebas. Makin kuat cahaya yang diterima, maka semakin besar arus baliknya. Karena kaki basis terbuka maka semua arus balik diperkuat kedalam kolektor transistor. Jadi setiap perubahan intensitas cahaya yang diterima oleh phototransistor akan menyebabkan perubahan arus pada phototransistor, sehingga terjadi perubahan tegangan pada terminal kolektor-emitor.
c
e
Gambar 2.5 Simbol Phototransistor 2.5
IC OP AMP Penguat operasional atau Operating Amplifier (Op-Amp) yang lebih dikenal
dengan Op-Amp adalah suatu jenis komponen elektronika terintegrasi yang luas
14
sekali penggunaanya pada berbagai keperluan rangkaian elektronika. Adapun bentuk dan symbol dari Op-Amp dinyatakan dengan sebuah segitiga yang dapat dilihat pada Gambar 2.6
+
LM358 V2
V1
+
V0
-
Gambar 2.6 Simbol Operasional Amplifier (Op-Amp) Keterangan gambar: Terminal masukan non inverting (V1) Terminal masukan inverting (V2) Terminal catu daya positif (+Vcc) Terminal catu daya negative (-Vcc) Terminal keluaran (V0) Keluaran dari op-amp tergantung sinyal masukannya, jika sinyal masukan ke terminal masukan non inverting maka keluaran dari penguat akan sefasa dengan sinyal masukannya, apabila sinyal masukannya ke kaki terminal masukan inverting maka keluarannya akan berlawanan fasa dengan sinyal masukannya.
15
Sebuah penguat operasional yang ideal memiliki karakteristik sebagai berikut: a. Impedansi masukan (Zin) amat tinggi, sehingga arus masukan diabaikan b. Impedansi keluaran rendah (Zo=0), sehingga keluaran penguat tidak terpengaruh oleh pembebanan. c. Tidak terpengaruh terhadap perubahan temperatur. d. Open loop gain sangat besar atau tak hingga e. Bandwitdh tak hingga
2.5.1
Rangkaian Penguat Tak Membalik
Salah satu dari rangkaian penguat operasional yang banyak dipakai adalah rangkaian penguat tak membalik atau non inverting amplifier. Dikarenakan non inverting amplifier adalah sebuah penguat yang dapat menguatkan sinyal AC atau sinyal DC. Non inverting amplifier ini dianggap ideal apabila tegangan Vout antara masukan (+) dan (-) pada dasarnya adalah nol, arus yang mengalir pada terminal masukan (+) dan (-) dapat diabaikan, karena impedansi masukannya sangat tinggi
pada terminal keluarannya. Sinyal yang diperkuat akan sefasa
dengan sinyal pada terminal masukannya. Op-Amp Non Inverting Amplifier mempunyai cirri-ciri: 1. Tegangan keluaran (Vout) mempunyai polaritas yang sama dengan tegangan masukannya (Vin). 2. Inputannya selalu di non inverting. 3. Mempunyai umpan balik negatif.
16
Untuk memahami cara kerja Op-Amp sebagai rangkaian non inverting amplifier dapat digambarkan seperti gambar:
R1
R2 + out
in
Gambar 2.7 Penguat Tak Membalik Nilai penguat dari rangkaian tergantung dari nilai Rf dan Ri sehingga besarnya tegangan keluaran penguat tak membalik dapat dicari dengan persamaan rumus:
2.5.2
Vout =
1+
acl =
Vout Vin
Rf Ri
.Vin
1
Rf Ri
Rangkaian Komparator
Komparator atau sebagai pembanding adalah rangkaian elektronika yang membandingkan satu nilai tegangan dengan nilai tegangan lainnya.
17
VCC_9V VCC_9V
8
10K INPUT +
2
-
OUTPUT 1 LM358
4
3
10K
Gambar 2.8 LM 358 Sebagai Komparator Untuk mencari besarnya tegangan referensi dari rangkaian pada gambar diatas maka mengikuti persamaan sebagai berikut: Vref =
R2 .Vcc R2 R1
Jika tegangan masukan lebih besar daripada tegangan referensi maka keluaran dari komparator akan bernilai +Vsat, dan apabila tegangan masukan lebih kecil dari pada tegangan referensi maka maka keluaran dari komparator akan bernilai –Vsat.
2.6 Gerbang AND Gerbang logika AND adalah suatu gerbang logika yang keluarannya akan berlogika 1 (high) jika semua inputannya berlogika high, dan apabila salah satu inputnya berlogika 0 (low) maka keluarannya akan 0 (low).
18
Gerbang ini dapat diilustrasikan dengan saklar seperti di bawah ini.
SW1
SW2
+
D1 LED1
-
Gambar 2.9 Ilustrasi Gerbang AND Pada ilustrasi tersebut lampu akan menyala jika dan hanya jika ketiga saklar tersebut dalam kondisi ON (1), jika ada satu saja saklar yang terbuka maka lampu akan padam. Hasil dari seluruh kemungkinan kombinasi input dari gerbang AND dua tabel input dapat di lihat pada tabel kebenaran.
Tabel 2.2 Tabel Kebenaran Gerbang AND
masukan
keluaran
A
B
Y
0
0
0
0
1
0
1
0
0
1
1
1
Pada desain/gambar rangkaian gerbang logika AND disimbolkan sebagai berikut : Notasi boolean : y = A.B
A B
Out
Gambar 2.10 Simbol Gerbang AND
19
2.7 Mikrokontroler AT89S52 Kata Mikrokontroler, jika diterjemahkan secara harfiah, berarti pengendali yang
berukuran
mikro,
sekilas
mikrokontroler
hampir
sama
dengan
mikroprosesor. Namun mikrokontroler memiliki banyak komponen yang terintergrasi didalamnya, misalnya timer atau counter. Sedangkan pada mikroprosesor umumnya kita jumpai pada komputer dimana tugas dari mikroprosesor adalah memproses berbagai macam data input maupun output dari berbagai sumber, mikrokontroler lebih sesuai untuk tugas-tugas yang lebih spesifik. Salah satu keuntungan utama penggunaan mikrokontroler adalah pada saat realisasi sistem kontrol cenderung membutuhkan komponen tambahan yang lebih sedikit. Pin mikrokontroler AT89S52 diperlihatkan pada Gambar 2.11.
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 RST P3.0 (RXD) P3.1 (TXD) P3.2 (INT0) P3.3 (INT1) P3.4 (T0) P3.5 (T1) P3.6 (WR) P3.7 (RD) XTAL 2 XTAL 1 GND
VCC P0.0 (AD0) P0.1 (AD1) P0.2 (AD2) P0.3 (AD3) P0.4 (AD4) P0.5 (AD5) P0.6 (AD6) P0.7 (AD7) EA / VPP ALE / PRG PSEN P2.7 (A15) P2.6 (A14) P2.5 (A13) P2.4 (A12) P2.3 (A11) P2.2 (A10) P2.1 (A9) P2.0 (A8)
40 39 38 37 36 35 34 33 32 31 30 29 28 27 26 25 24 23 22 21
Gambar 2.11 Konfigurasi Pin Mikrokontroler AT89S52
20
2.7.1
Unit Pengolahan Utama (CPU)
Mikrokontroler AT89S52 memiliki satu buah CPU 8 bit, yang memiliki karakteristik: 1.
Frekuensi kerja 0 Mhz hingga 33 Mhz.
2.
Satu siklus Mesin menggunakan 12 perioda osilator.
3.
Lama pelaksanaan satu intruksi berkisar antara 1 hingga 4 siklus mesin.
4. Tegangan kerja sebesar 4-5Volt 5. 8Kbyte reprogammable flash memory ( internal) 6. RAM internal sebesar 256Byte 7. Dua buah timer/counter 16 bit
2.7.2
Sinyal-sinyal Penting
Beberapa fungsi sinyal I/O pada mikrokontroler AT89S52 yang digunakan ketika membaca memori (memori data dan memori program) dijelaskan secara singkat berikut ini: 1. EA (External Access) berfungsi sebagai pemilih jenis memori program. 2. EA = 0 menandakan pembacaan memori program external. 3. EA = 1 Menandakan pembacaan memori program internal. 4. PSEN (Program Store Enable) berfungsi sebagai sinyal kontrol pembacaan memori program eksternal (MPE). 5. RD (Read) berfungsi sebagai sinyal kontrol pembacaan memori data eksternal (MDE). 6. WR (Write) berfungsi sebagai sinyal kontrol penulisan memori data eksternal (MDE).
21
7. RST (Reset) digunakan untuk mereset CPU.
2.7.3
Register Fungsi Khusus (SFR)
Mikrokontroler AT89S52 memiliki 21 buah register dengan fungsi khusus (SFR). Simbol alamat dan nama ke-21 SFR tersebut, diperlihatkan pada tabel 2.3. Semua SFR dapat dialamati dengan pengalamatan langsung. SFR dengan alamat kelipatan 0BH dapat dialamati sebagai register satu bit. Model pemprograman AT89S52 terdiri dari 6 buah register utama, adalah akumulator, register B, DPTR, PC, SP dan PSW. Tabel 2.3 Simbol, alamat dan nama SFR AT89S52 Simbol ACC B PSW SP DPTR DPH DPL P0 P1 P2 P3 IP IE TMOD TCON TM0 TH0 TL0 TM1 TH1 TL1
Nama AKUMULATOR REGISTER B PROGAM STATUS WORD STACK POINTER DATA POINTER MSB DPTR LSB DPTR PORT 0 PORT 1 PORT 2 PORT 3 INTERUPT PRIORITY INTERUPT ENABLE T/CMODE CONTROL T/C CONTROL REGISTER T/C 0 MSB T/C 0 LSB T/C 0 REGISTER T/C 1 MSB T/C 0 LSB T/C 0
Alamat 0E0H 0F0H 0D0H 081H 082H 083H 080H 090H 0A0H 0B0H 0B8H 0ABH 089H 088H 08CH 00AH 08DH 08CH 08BH
22
Tabel 2.3 Simbol, alamat dan nama SFR AT89S52 lanjutan Simbol SCON SBUF PCON
Nama SERIAL CONTROL SERIAL DATA BUFFER POWER CONTROL
Alamat 09BH 099H 087H
Fungsi ke-6 register pembentuk memori pemprograman pada AT89S52 dijelaskan secara singkat berikut ini: 1. Akumulator merupakan register serbaguna (general purpose register) 8 bit yang digunakan untuk menyimpan data sementara dari pengolahan aritmetika atau logika. Selain itu, akumulator juga digunakan sebagai media pada pengalamatan tidak langsung dan pengalamatan berindeks. 2. Register B merupakan register 8 bit yang digunakan untuk menyimpan sementara data pada operasi perkalian dan pembagian. 3. DPTR (Data Pointer) adalah register 16 bit yang berfungsi sebagai penunjuk alamat base pada pengalamatan berindeks. Register ini dapat diakses sebagai satu buah register 16 bit atau dua buah register 8 bit, yaitu DPL dan DPH. 4. PC adalah register 16 bit yang berisi alamat intruksi berikutnya yang harus dilaksanakan. 5. SP merupakan register 8 bit yang digunakan sebagai penunjuk alamat stack. Isi SP dikurangi jika ada pemasukan data dari stack, dan ditambah jika ada pemasukan data ke stack. Pada saat AT 89S52 di-reset, SP berisi alamat 07H. 6. PSW merupakan register 8 bit yang digunakan untuk menyatakan keadaan CPU setelah melaksanakan suatu operasi. Semua bit pada PSW dapat dialamati sebagai register 1 bit.
23
Kondisi logika bit-bit pada PSW adalah sebagai berikut : a.
Bit C, C = 1, jika pada operasi aritmatika yang terakhir dilaksanakan di ALU, muncul carry atau borrow. Bit ini juga digunakan sebagai penyimpan data 1 bit pada operasi SHIEF dan ROTATE.
b.
Bit AC, Bit AC berfungsi sebagai bit carry atau borrow pada operasi BCD (antara juga berfungsi sebagai akumulator pada operasi logika 1 bit, bit ke-3 dan bit ke-4)
c. Bit FO, Bit disediakan sebagai petunjuk bank register yang aktif. d. Penentuan bank register yang aktif berdasarkan kombinasi bit RS0 dan RS1 diperlihatkan pada tabel 2.2. e. Bit OV, Bit OV berfungsi sebagai bit overflow. Tabel 2.4 Penentu Bank Register Berdasarkan Kombinasi Bit RS0 dan RS1
2.7.4
RS1
RS0
BANK
Alamat
0
0
0
00H-07H
0
1
1
08H-0FH
1
0
2
10H-17H
1
1
3
18H-1FH
Organisasi Memori
Mikrokontroler AT89S52 memiliki peta memori terpisah antara program dengan memori data. Memori program terdiri dari memori program internal sebanyak 8 Kbyte dan memori program eksternal sebesar 64 Kbyte. Memori data terdiri dari memori data internal sebanyak 256 Kbyte dan memori data eksternal sebesar 64 Kbyte. Internal data memori meliputi Register Banks, Bit-addressable RAM, General Purpose RAM (Scartch Pad Area) dan Special Function Register (SFR) konfigurasi memori program dan memori data diatur melalui pin EA dari
24
mikrokontroler. Struktur memori mikrokontroler AT89S52 diperlihatkan pada gambar 2.12.
FFFFH FFFFH
MPE 1000H
0FFFH EA = 0
007FH EA = 1
MPE
MDI
MPI 0000H MEMORI PROGRAM
0000H MEMORI DATA
Gambar 2.12 Struktur Memori Mikrokontroler AT89S52
2.7.4.1 Memori Program Memori progam berfungsi untuk menyimpan kode progam user yang akan dijalankan. User dapat menggunakan internal progam memori yang tertanam dala IC Mikrokontroler dan eksternal progam memori, internal progam memory, selain berisi intruksi user, juga memiliki beberapa alamat khusus yang ditujukan untuk reset addres (alamat yang dituju pada saat pertama kali mikrokontroler bekerja).
2.7.4.2 Memori Data Data memori berfungsi untuk menyimpan data, berdasarkan lokasinya, data memori dibagi menjadi dua: internal data memori yang terdapat dalam IC Mikrokontroler dan eksternal data memori yang berada di luar data memori. Mikrokontroler AT89S52 memiliki MDI berkapasitas 256 Kbyte dan mampu mengakses MDE sebesar 64 Kbyte. Semua MDI dapat dialamati dengan pengalamatan langsung dan tidak langsung. Sebagian MDI dapat diamati dengan
25
pengalamatan register dan sebagian lagi dapat dialamati sebagai memori satu bit. Pembagian MDI berdasarkan mode pengalamatan yang dapat dilakukan. MDI dengan alamat 00H hingga 1FH dapat dialamati dengan pengalamatan register. Ke-32 memori ini dibagi menjadi 4 bank, yang masing-masing terdiri dari 8 buah register (R0 hingga R7). Penentuan bank register yang aktif dilakukan berdasarkan kombinasi bit RS0 dan RS1 pada Program Status Word (PSW). MDI yang dapat dialamati sebagai memori 1 bit adalah MDI yang menggunakan alamat dari 20H hingga 2FH. MDI dengan alamat 30H hingga 7FH hanya dapat dialamati dengan pengalamatan langsung dan tidak langsung. Memori Data Eksternal (MDE) dapat dialamati 8 bit atau 16 bit. MDE hanya dapat dialamati dengan pengalamatan tidak langsung.
2.7.5
Struktur dan Operasi Port
Mikrokontroler AT89S52 memiliki 4 buah port. Setiap port memiliki 8 buah jalur I/O yang bersifat bidirectional dan memiliki rangkaian internal tersendiri yang berbeda satu sama lainnya. Namun semua port memiliki latch yang diwakili oleh flip-flop ini akan memasukan nilai dan internal bus kedalam port latch saat ada sinyal dari CPU untuk menuliskan data ke latch. Beberapa karakteristik port AT 89S52 dijelaskan secara singkat berikut ini: 1. Unit I/O dapat dialamati per jalur atau per port. 2. Setiap Jalur I/O memiliki buffer, penahan (latch), kemudi input dan kemudi output.
26
3. Port 0 memiliki output-drain, dan dapat dihubungkan langsung dengan 8 gerbang TTL (Transistor – Transistor logic) jenis LS (Low Power Schotky) 4. Port 1,2 dan 3 menggunakan resistor pull-up pada bagian outputnya. Ketiga port ini dapat dihubungkan langsung dengan 4 gerbang TTL jenis LS.
Pengaksesan memori eksternal, port 0 dan port 2 berfungsi sebagai saluran alamat atau data, yaitu: a. Port 0 : saluran alamat dan data AD0 hingga AD7 b. Port 2 : saluran alamat A8 hingga A15. Port 3 memiliki beberapa fungsi tambahan, seperti yang diperlihatkan pada Tabel 2.5. Tabel 2.5 Fungsi Tambahan pada Jalur Port 3 Jalur
Fungsi Tambahan
P3.0
INPUT DATA SERIAL RXD
P3.1
OUTPUT DATA SERIAL TXD
P3.2
INPUT INTERUPSI EKSTERNAL INT 0
P3.3
INPUT INTERUPSI EKSTERNAL INT 1
P3.4
INPUT COUNTER T0
P3.5
INPUT COUNTER T1
P3.6
OUTPUT SINYAL CONTROL WR
P3.7
OUTPUT SINYAL CONTROL RD
2.8 Transistor Sebagai Saklar Analogi transistor yang digunakan sebagai saklar adalah ketika transistor pada daerah saturasi akan dianggap sebagai saklar tertutup dan jika transistor berada pada daerah cut off akan dianggap sebagai saklar terbuka. Pada pembahasan dibawah merupakan kerja transistor pada daerah saturasi dan cut off
27
2.8.1
Transistor dalam Kondisi Terbuka
Pada transistor jenis PNP, bila arus basisnya lebih positif dari emiter maka transistor tersebut dalam keadaan cut-off atau dianggap sebagai saklar tebuka, dimana tegangan kolektor dan emitter adalah mendekati atau sama dengan tegangan catu daya. maka arus basis sama dengan nol dan arus kolektor sangat kecil sehingga dapat diabaikan. Penjumlahan tegangan disekitar loop input adalah: ( IB x RB ) + VBE – VBB = 0
(2.7)
Karena IB = 0, maka tegangan basis emiter adalah : VBE = VBB
(2.8)
Karena VBE = VBB, maka diode emiter tidak lagi dibias maju dan transistor kehilangan kerja normalnya. Tegangan kolektor emiter dapat dituliskan : VCE = VCC – IC . RC
(2.9)
Karena IC = 0, maka tegangan kolektor emiter adalah : VCE
VCC
(2.10)
VCC VCC
Ic.Rc = 0
Rc
R
Rb Vce saklar Vbb
Vcc = Vce
Gambar 2.13 Transistor Dalam Kondisi Terbuka
28
2.8.2
Transistor dalam Kondisi Tertutup
Pada transistor jenis PNP, apabila basis lebih negatif dari emitter, maka arus akan mengalir dari kolektor ke emitter. Dengan kata lain transistor pada daerah saturasi atau dianggap sebagai sebuah saklar tertutup, sehingga idealnya tidak ada perbedaan tegangan antara kolektor dan emitter (VCE= 0). Besarnya arus yang mengalir ke kolektor saat saturasi : IC = (VCC – VCE) / RC
(2.5)
Karena VCE = 0, maka besarnya arus kolektor dapat ditulis : IC = VCC / RC
(2.6)
Pada gambar 2.10 diperlihatkan rangkaian transistor dalam keadaan saturasi. Besar arus basisnya adalah :
Ib
Vbb Vbe Rb
(2.7)
Kemudian besarnya arus emitter (Ie) ditunjukkan pada persaman :
Ie
Ic Ib
(2.8)
Transistor sebagai saklar tertutup seperti pada gambar 2.14. VCC VCC
Ic.Rc = 0
Rc
R
Rb Vce
saklar Vbb
Gambar 2.14 Transistor Sebagai Saklar Tertutup
29
2.9 Modul LCD (Liquid Crystal Display) LCD yang digunakan adalah jenis LCD M1632, yang merupakan modul LCD dengan tampilan 16 x 2 baris dengan konsumsi daya rendah. Modul tersebut dilengkapi dengan desain mikrokontroler yang didesain khusus untuk mengendalikan LCD. Berikut bagian-bagian dari LCD M1632. 1. DDRAM (Display data Random Accsee Memory) merupakan memori tempat karakter yang ditampilkan berada. Contoh untuk karakter „L‟ atau 4CH yang ditulis pada alamat 00, karakter tersebut akan tampil pada baris pertama dan kolom pertama dari LCD. Apabila karakter tersebut ditulis pada alamat 40, maka karakter tersebut akan tampil pada baris kedua kolom pertama dari LCD. 2. CDRAM (Character Generator Random Acces Memory) merupakan memori untuk menggambarkan pola sebuah karakter dimana bentuk dari karakter dapat diubah-ubah sesuai keinginan. Namun, memori akan hilang saat power supply tidak aktif sehingga pola karakter akan hilang. 3. CGROM (Character Generator Read Only Memory) merupakan memori untuk menggambarkan pola sebuah karakter dimana pola tersebut sudah ditentukan secara permanen dari HD44780 sehingga pengguna tidak dapat mengubahnya lagi. Namun, karena ROM bersifat permanent, pola karakter tersebut tidak akan hilang walaupun power supply tidak aktif.
30
2.9.1 Konfigurasi Pin LCD Untuk keperluan antarmuka suatu komponen elektronik dengan mikrokontroler, perlu diketahui fungsi dari setiap kaki pada LCD.
Gambar 2.15 Modul LCD Karakter 2x16 Dari gambar diatas dapat dijelasakan fungsi dari setiap kaki pada LCD, sebagai berikut: 1. Kaki 1 (GND) Kaki ini dihubungkan dengan tegangan +5 Volt yang merupakan tegangan untuk sumber daya dari LCD 2. Kaki 2 (VCC) Kaki ini dihubungkan dengan tegangan 0 volt (ground) dan modul LCD 3. Kaki 3 (VEE/VLCD) Tegangan pengatur kontras LCD, kaki ini terhubung pada V5. Kontras mencapai nilai maksimum pada saat kondisi kaki ini pada tegangan 0 volt. 4. Kaki 4 (RS) Register Select, kaki pemilih register yang akan diakses. Untuk akses ke register data, logika dari kaki ini adalah 1 dan untuk akses ke register perintah, logika dari kaki ini adalah 0.
31
5. Kaki 5 (R/W) Logika 1 pada kaki ini menunjukkan bahwa modul LCD sedang pada mode pembacaan dan logika 0 menunjukkan bahwa modul LCD sedang pada mode penulisan. Untuk aplikasi yang tidak memerlukan pembacaan data pada modul LCD, kaki ini dapat dihubungkan langsung ke ground. 6. Kaki 6 (E) Enable Clock LCD, kaki ini mengaktifkan clock LCD. Logika 1 pada kaki ini diberikan pada saat penulisan atau pembacaan data. 7. Kaki 7-14 (D0-D7) Data bus, kedelapan kaki modul LCD ini adalah bagian dimana aliran data sebanyak 4 bit atau 8 bit mengalir saat proses penulisan maupun pembacaan data. 8. Kaki 15 (Anoda) Berfungsi untuk tegangan positif dari backlight modul LCD sekitar 4,5 volt 9. Kaki 16 (Katoda) Tegangan negatif backlight modul LCD sebesar 0 volt. Display karakter pada LCD diatur oleh pin EN, RS dan R/W, jalur EN dinamakan Enable. Jalur ini digunakan untuk memberitahu LCD bahwa data sedang dikirimkan. Untuk mengirimkan data ke LCD, maka melalui program EN harus dibuat logika low “0” dan set pada dua jalur kontrol yang lain RS dan RW. Ketika dua jalur yang lain telah siap, set EN dengan logika “1” dan tunggu untuk sejumlah waktu tertentu (sesuai dengan datasheet dari LCD tersebut) dan berikutnya set EN ke logika low “0” lagi.
32
Jalur RS adalah jalur Register Select. Ketika RS berlogika low “0”, data akan dianggap sebagai sebuah perintah atau instruksi khusus (seperti clear screen, posisicursor, dll). Ketika RS berlogika high “1”, data yang dikirim adalah data text yang akan ditampilkan pada display LCD. Sebagai contoh, untuk menampilkan huruf “1” pada layer LCD maka RS harus diset logika high “1”, jalur R/W adalah jalur control Read/Write. Ketika RW berlogika low (0), maka informasi pada bus data akan dituliskan pada layar LCD. Ketika RW berlogika high ”1”, maka program akan melakukan pembacaan memori dari LCD. Sedangkan pada aplikasi umum pin R/W selalu diberi logika low “0”. Pada akhirnya, bus data terdiri dari 4 atau 8 jalur (bergantung pada mode operasi yang dipilih oleh user). Pada kasus bus data 8 bit, jalur diacukan sebagai DB0 s/d DB7. Beberapa perintah dasar yang harus dipahami adalah inisialisasi LCD Character: 1. Function Set berfungsi untuk mengatur interface lebar data, jumlah dari baris dan ukuran font karakter. Tabel 2.6 Konfigurasi Pin LCD untuk Function Set RS
R/W
DB7
DB6
DB5
DB4
DB3
DB2
DB1
DB0
0
0
0
0
1
DL
N
F
X
X
Dimana: X
: Don’t care
DL : Mengatur lebar data interface 8 bit (DB7 sampai DB0) DL=0, Lebar data interface 4 bit ( DB7 sampai DB4) ketika menggunakan lebar data 4 bit, data harus dikirimkan dua kali N
: Pengaktifan baris
33
F
: Penentuan ukuran font karakter 0, 5x7, 1, 5x8.
2. Entry Mode Set berfungsi untuk mengatur increment atau decrement dan mode geser Tabel 2.7 Konfigurasi Pin LCD untuk Entry Mode Set RS
R/W
DB7
DB6
DB5
DB4
DB3
DB2
DB1
DB0
0
0
0
0
0
0
0
1
I/D
S
Dimana: I/D
: increment atau decrement dari alamat DDRAM dengan 1 ketika kode karakter dituliskan ke DDRAM. I/D = “0”, decrement dan I/D = “1”, increment
S
: Geser keseluruhan display kekanan dan kekiri S=1, geser kekiri atau kekanan bergantung pada I/D S = 0, display tidak bergeser
3. Display On atau Off Cursor berfungsi untuk mengatur status display ON atau OFF, Cursor On atau Off dan fungsi Cursor Blink Tabel 2.8 Konfigurasi Pin LCD untuk Display On atau Off RS R/W 0 0 Dimana: D
DB7 0
DB6 0
DB5 0
DB4 0
DB3 1
DB2 D
DB1 C
DB0 B
: Mengatur display D = 1, Display is ON D = 0, Display is OFF Pada kasus ini data display masih tetap berada di DDRAM, dan dapat ditampilkan kembali secara langsung dengan mengatur D=1.
C
: Menampilkan cursor jika C = 1, cursor ditampilkan, apabila C = 0, cursor tidak ditampilkan
B
: Karakter ditunjukkan dengan cursor yang berkedip jika B=1, cursor blink
34
4. Clear Display berfungsi sebagi perintah untuk menghapus layar Tabel 2.9 Konfigurasi Pin LCD untuk Clear Diplay RS 0
R/W 0
DB7 0
DB6 0
DB5 0
DB4 0
DB3 0
DB2 0
DB1 0
DB0 1
5. Geser Cursor dan display berfungsi untuk menggeser posisi cursor atau display ke kanan atau kekiri tanpa menulis atau baca data display. Fungsi ini digunakan untuk koreksi atau pencarian display. Tabel 2.10 Konfigurasi Pin LCD untuk Geser Cursor RS
R/W
DB7
DB6
DB5
DB4
DB3
DB2
DB1
DB0
0
0
0
0
0
1
S/C
R/L
X
X
Catatan : x = Dont care Tabel 2.11 Perintah Geser Cursor dan Display S/C
R/L
Note
0
0
Shift cursor position to the left
0
1
Shift cursor position to the right
1
0
Shift the entire display to the left
1
1
Shift the entire display to the right
2.5.2 Posisi Cursor Modul LCD terdiri dari sejumlah memori yang digunakan untuk display. Semua tulisan yang kita tuliskan ke modul LCD adalah disimpan didalam memori ini, dan modul LCD secara berurutan membaca memori ini untuk menampilkan tulisan ke modul LCD itu sendiri.
Gambar 2.16 Peta Memori LCD
35
Pada peta memori tersebut, daerah yang berwarna biru (00 sampai 0F dan 40 sampai 4F) adalah tampilan yang kelihatan. Sebagaimana yang dilihat, jumlahnya sebanyak 16 karakter perbaris dengan dua baris. Angka pada setiap kotak adalah alamat memori yang bersesuaian dengan posisi dari layar. Demikianlah karakter pertama di sudut kiri atas adalah menempati alamat 00h. Posisi karakter berikutnya adalah alamat 01h dan seterusnya. Akan tetapi, karakter pertama dari baris 2 sebagaimana yang ditunjukkan pada peta memori adalah pada alamat 40h. Demikianlah kita perlu untuk mengirim sebuah perintah ke LCD untuk mangatur letak posisi cursor pada baris dan kolom tertentu. Instruksi Set Posisi Cursor adalah 80h. Untuk ini kita
perlu
menambahkan
alamat lokasi
dimana
kita
berharap
untuk
menempatkan cursor. Sebagai contoh, kita ingin menampilkan kata ”World” pada baris ke dua pada posisi kolom ke sepuluh. Sesuai peta memori, posisi karakter pada kolom 11 dari baris ke dua, mempunyai alamat 4Ah, sehingga sebelum kita tulis kata ”World” pada LCD, kita harus mengirim perintah set posisi cursor, dan perintah untuk instruksi ini adalah 80h ditambah dengan alamat 80h+4Ah = 0Cah. Sehingga dengan mengirim perintah Cah ke LCD, akan menempatkan cursor pada baris kedua dan kolom ke 11 dari DDRAM. Set alamat memori DDRAM: Tabel 2.12 Konfigurasi Pin LCD untuk Set Alamat Memori DDRAM RS
R/W
DB7
DB6
DB5
DB4
DB3
DB2
DB1
DB0
0
0
1
A
A
A
A
A
A
A
36
Dimana: A : Alamat RAM yang akan dipilih, sehingga alamat RAM LCD adalah 000 0000 sampai 111 1111b atau 00 sampai 7Fh.