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.