BAB II. LANDASAN TEORI II.1 Perangkat Keras II.1.1 Mikrokontroler AT89C2051 II.1.1.1 Deskripsi Mikrokontroler AT89C2051 Mikrokontroler jenis AT89C2051 adalah sebuah CMOS mikrokomputer 8-bit bervoltase rendah yang memiliki performa tinggi dengan 2 Kilo byte Flash Programmable Eraseable Read Only Memory(PEROM). Perangkat ini dihasilkan oleh teknologi high density nonvolatile memory techonology yang terus dikembangkan pabrik ATMEL. II.1.1.2 Fasilitas Mikrokontroler AT89C2051 Dimana Fasilitas yang dimiliki oleh mikrokontroler AT89C2051 adalah sebagai berikut: 1. Memiliki 2 Kbytes Flash PEROM 2. 128x8 bit Byte Internal RAM 3. Memiliki 15 programable I/O lines 4. Memiliki dua buah bit 16 bit Timer/Counter 5. Mempunyai channel UART(Universal Asynchronous Receiver-Transmitter) 6. Memiliki Analog Comparator 7. Memiliki 5 sumber interrupsi Universitas Sumatera Utara II.1.1.3 Deskripsi Pin AT89C2051 Mikrokontroler AT89C2051 memiliki 20 pin, 15 pin diantaranya adalah directional I/O yang terbagi dalam 2 port. Berikut adalah penjelasan dari konfigurasi dari pin-pin AT89C2051, yaitu: Gambar 2.1 IC Mikrokontroler AT89C2051 1. Vcc (pin 20), merupakan pin supply tegangan sebesar +5 volt. 2. GND (pin 10), merupakan pin tegangan referensi 0 volt (ground). 3. RST (pin1), sebagai masukan reset, yaitu jika pada saat diberi tegangan +5 volt, maka seluruh isi dari internal memori dan register-register yang dimiliki AT89C2051 akan kembali ke kondisi reset. Program Counter dari IC tersebut berada pada alamat 0000H. Jika dihubungkan dengan ground, maka AT89C2051 akan beroperasi sesuai dengan program yang telah diisi di dalam internal ROM atau external ROM. 4. XTAL1 (pin 5), sebagai masukan ke invertingoscillator amplifier dan masukan ke external clock operating circuit. Universitas Sumatera Utara 1. Port 1 (pin port P1.0 sampai P1.7), merupakan port yang berfungsi sebagai port I/O dengan 8 bit bidirectional. Port pin P1.2 samapi P1.7 menyediakan internal pullup. Sedangkan pada port pin P1.0 dan P1.1 membutuhkan external pullup. Pin P1.0 dan P1.1 juga bertindak sebagai input positif(AIN0) dan input negatif(AIN1), pada suatu precision comparatoe analog. Port1 juga menerima code data pada waktu flash programming dan program verification. Ouput port1 mempunyai kemampuan buffer sink 20 mA dan dapat langsung mendrive LED. 2. Port 3 (pin port P3.0 samapi P3.7), merupakan port yang berfungsi sebagai port I/O dengan 7 bit bidirectional yang juga dilengkapi dengan internal pullup. Pada port P3.6 tidak dapat diterima sebagai suatu general purpose pin I/O dan P3.6 adalah hard-wired suatu inputan untuk keluaran pada on-chip comparator. Output port 3 mempunyai kemampuan buffer sink 20 mA. Port 3 juga melayani fungsi-fungsi lain yang terdapat pada microcontroller AT89C2051, antara lain: Tabel 2.1 Fungsi alternatif Port 3 Port Pin Alternate Functions P3.0 RxD (serial input port) P3.1 TxD (serial output port) P3.2 INT0 (external interrupt 0) P3.3 INT1 (external interrupt 1) P3.4 T0 (timer 0 external input) P3.5 T1 (timer 1 external input) Universitas Sumatera Utara Gambar 2.2 Blok Diagram Mikrokontroler AT89C2051 II.1.1.4 Prinsip Kerja Mikrokontroler AT89C2051 IC AT89C2051 hanya memerlukan tambahan 3 kapasitor, 1 resistor dan 1 Xtal serta catu daya 5 volt. Kapasitor 10 mikro-Farad dan resirstor 10 Kilo Ohm dipakai untuk membentuk rangkaian reset. Xtal dengan frekuensi maksimum 24 Mhz dan 2 kapasitor 30 pico-Farad dipakai untuk melengakapi rangkaian osilator pembentuk clock yang menentukan kecepatan kerja mikrokontroler. Universitas Sumatera Utara Mikrokontroler memerlukan 2 macam memori yang berbeda sifatnya, yaitu: 1. Read Only Memory(ROM), yang isinya tidak akan berubah meskipun IC kehilangan catu daya, dipakai untuk menyimpan program. Begitu di-reset, mikrokontroler akan langsung bekerja dengan program dalam ROM tersebut. Dalam susunan MCS51, memori penyimpan program ini disebut Memori Program. 2. Random Access Memory (RAM), yang isinya akan hilang begitu IC kehilangan catu daya, dipakai untuk menyimpan data pada saat program bekerja. RAM yang dipakainuntuk menyimpan data disebut Memori Data. Jenis memori yang dipakai untuk memori program AT89C2051 adalah Flash PEROM. Program untuk mengendalikan mikrokontroler diisikan ke memori lewat bantuan alat yang dinamakan AT89C2x51. Memori Data yang disediakan Chip AT89C2051 sebesar 128 byte. Sarana Input/Output yang disediakan cukup banyak dan bervariasi. AT89C2051 mempunyai 17 jalur Input/Output paralel. Jalur Input/Output paralel ini dikenal sebagai Port 1(P1.0 sampai P1.7) dan Port 3(P3.0 sampai P3.5 dan P3.7). AT89C2051 sudah dilengkapi dengan UART(Universal Asynchronous Receiver/Transmitter) yang biasa dipakai dalam komunikasi secara seri. Jalur untuk komunikasi data seri (RXD dan TXD) diletakkan berhimpitan dengan P1.0 dan P1.1. Oleh karena itu, jika sarana UART ini dipakai maka P1.0 dan P1.1 tidak llagi bisa dipakai untuk jalur input/output paralel. Universitas Sumatera Utara Timer 0 dan Timer 1 masing-masing adalah untaian pencacah biner 16 bit di dalam chip yang dipakai sebagai sarana input/output yang bekerja menurut fungsi waktu. Clock penggerak untaian pencacah ini dapat berasal dari osilator kristal atau clock yang diumpankan dari luar lewat T0 dan T1. T0 dan T1 berhimpitan dengan P3.4 dan P3.5 sehingga P3.4 dan P3.5 tidak bisa dipakai untuk jalur input/output paralel kalau T0 dan T1 dipakai. AT89C2051 mempunyai 5 sumber pembangkit interupsi, 2 diantaranya adalah sinyal interupsi yang diumpankan ke kaki INT0 dan INT1. Kedua kaki ini berhimpitan dengan P3.2 dan P3.3 sehingga tidak bisa dipakai sebagai jalur input/output paralel kalau INT0 dan INT1 dipakai untuk menerima sinyal interupsi, 3 sumber interupsi lainnya berasal dari sarana komnukasi data seri dan sistem Timer 0 dan Timer 1. Port 1, Port 2, UART, Timer 0, dan Timer 1 dan sarana lainnya merupakan register yang secara fisik merupakan RAM khusus, yang ditempatkan di Special Funcion Register (SRF). Program untuk mengendalikan kerja mikrokontroler disimpan dalam memori program. Program pengendali tersebut merupakan kumpulan instruksi kerja mikrokontroler. Sepanjang mikrokontroler bekerja, instruksi tersebut byte demi byte diambil ke CPU dan selanjutnya dipakai untuk mengatur kerja mikrokontroler. Proses pengambilan instruksi dari memori program disebut sebagai fetch cycles dan saat CPU melaksanakan insruksi disebut sebagai execute cycles. Semua mikrokontroler maupun mikroprosesor dilengkapi sebuah register yang berfungsi khusus mengatur fetch cycles. Register tersebut dinamakan Program Universitas Sumatera Utara Counter. Nilai Program Counter secara otomatis akan bertambah satu setiap kali selesai mengambil 1 byte isi memori program. Sehingga isi memori program dapat secara berurutan diumpankan ke CPU. II.1.2 Resistor Resistor adalah komponen dasar elektronika yang digunakan untuk membatasi jumlah arus yang mengalir dalam satu rangkaian. Sesuai dengan namanya resistor bersifat resistif dan umumnya terbuat dari bahan karbon. Tipe resistor yang umum berbentuk tabung porselen kecil dengan dua kaki tembaga dikiri dan kanan. Pada badannya terdapat lingkaran membentuk gelang kode warna untuk memudahkan pemakai mengenali besar resistansi tanpa mengukur besarnya dengan ohm meter. Kode warna tersebut adalah standar menufaktur yang dikeluarkan oleh ELA (Electronic Industries Association). Gambar 2.3 Resistor karbon Universitas Sumatera Utara Tabel 2.2 Gelang Resistor WARNA GELANG I GELANG II GELANG III GELANG IV Hitam 0 0 1 - Coklat 1 1 10 - Merah 2 2 100 - Jingga 3 3 1000 - Kuning 4 4 10000 - Hijau 5 5 100000 - Biru 6 6 1000000 - Violet 7 7 10000000 - Abu-abu 8 8 100000000 - Putih 9 9 1000000000 - Emas - - 0,1 5% Perak - - 0,01 10% Tanpa Warna - - - 20% Resistansi dibaca dari warna gelang yang paling depan ke arah gelang toleransi berwarna coklat, emas, atau perak. Biasanya warna gelang toleransi ini berada pada bahan resistor yang paling pojok atau juga dengan lebar yang lebih menonjol, sedangkan warna gelang yang keempat agak sedikit ke dalam. Dengan demikian pemakai sudah langsung mengetahui berapa toleransi dari resitor Universitas Sumatera Utara tersebut. Kalau anda telah bisa menentukan mana gelang pertama selanjutnya adalah membaca nilai resistansinya. Biasanya resistor dengan toleransi 5%, 10% atau 20% memiliki gelang (tidak termasuk gelang toleransi). Tetapi resistor dengan toleransi 1% atau 2% (toleransi kecil) memiliki 4 gelang (tidak termasuk gelang toleransi). Gelang pertama dan seterusnya berturut-turut menunjukkan besar nilai satuan, dan gelang terakhir adalah faktor penggalinya. II.1.3 Kapasitor Kapasitor adalah komponen elektronika yang dapat menyimpan muatan listrik. Struktur sebuah kapasitor terbuat dari 2 buah plat metal yang dipisahkan oleh suatu bahan dielektrik. Bahan-bahan dielektrik yang umum dikenal misalnya udara vakum, keramik, gelas dan lain-lain. Jika kedua ujung plat metal diberi tegangan listrik, maka muatan-muatan positif akan mengumpul pada salah satu kaki elektroda metalnya dan pada saat yang sama muatan-muatan negatif terkumpul pada ujung metal yang satu lagi. Muatan positif tidak dapat mengalir menuju ujung kutup negatif dan sebaliknya muatan negatif tidak bisa menuju ke ujung kutup positif karena terpisah oleh bahan elektrik yang non-konduktif. Muatan elektrik ini “tersimpan” selama tidak ada konduktif pada ujung- ujung kakinya. Di alam bebas phenomena kapasitor terjadi pada saat terkumpulnya muatan-muatan positif dan negatif diawan. Universitas Sumatera Utara dielektrik Elektroda Elektroda Gambar 2.4 Skema kapasitor. Kapasitor merupakan komponen pasif elektronika yang sering dipakai didalam merancang suatu sistem yang berfungsi untuk mengeblok arus DC, Filter, dan penyimpan energi listrik. Didalamnya 2 buah pelat elektroda yang saling berhadapan dan dipisahkan oleh sebuah insulator. Sedangkan bahan yang digunakan sebagai insulator dinamakan dielektrik. Ketika kapasitor diberikan tegangan DC maka energi listrik disimpan pada tiap elektrodanya. Selama kapasitor melakukan pengisian, arus mengalir. Aliran arus tersebut akan berhenti bila kapasitor telah penuh. Yang membedakan tiap - tiap kapasitor adalah dielektriknya. Berikut ini adalah jenis– jenis kapasitor yang dipergunakan dalam perancangan ini. II.1.3.1 Elektrolik Kapasitor (ELCO) Gambar 2.5 Elektrolik kapasitor (ELCO) Universitas Sumatera Utara Elektroda dari kapasitor ini terbuat dari alumunium yang menggunakan membrane oksidasi yang tipis. Karakteristik utama dari Electrolytic Capacitor adalah perbedaan polaritas pada kedua kakinya. Dari karakteristik tersebut kita harus berhati - hati di dalam pemasangannya pada rangkaian, jangan sampai terbalik. Bila polaritasnya terbalik maka akan menjadi rusak bahkan “meledak”. Biasanya jenis kapasitor ini digunakan pada rangkaian power supply. Kapasitor ini tidak bisa digunakan pada rangkaian frekuensi tinggi. Biasanya tegangan kerja dari kapasitor dihitung dengan cara mengalikan tegangan catu daya dengan 2. Misalnya kapasitor akan diberikan catu daya dengan tegangan 5 Volt, berarti kapasitor yang dipilih harus memiliki tegangan kerja minimum 2 x 5 = 10 Volt II.1.3.2 Kapasitor Keramik Kapasitor menggunakan bahan titanium acid barium untuk dielektriknya. Karena tidak dikonstruksi seperti koil maka komponen ini dapat digunakan pada rangkaian frekuensi tinggi. Biasanya digunakan untuk melewatkan sinyal frekuensi tinggi menuju ke ground. Kapasitor ini tidak baik digunakan untuk rangkaian analog, karena dapat mengubah bentuk sinyal. Jenis ini tidak mempunyai polaritas dan hanya tersedia dengan nilai kapasitor yang sangat kecil dibandingkan dengan kedua kapasitor diatas. Gambar 2.6 Kapasitor keramik Universitas Sumatera Utara Untuk mencari nilai dari kapasitor biasanya dilakukan dengan melihat angka/kode yang tertera pada badan kapasitor tersebut. Untuk kapasitor jenis elektrolit memang mudah, karena nilai kapasitansinya telah tertera dengan jelas pada tubuhnya. Sedangkan untuk kapasitor keramik dan beberapa jenis yang lain nilainya dikodekan. Biasanya kode tersebut terdiri dari 4 digit, dimana 3 digit pertama merupakan angka dan digit terakhir berupa huruf yang menyatakan toleransinya. Untuk 3 digit pertama angka yang terakhir berfungsi untuk menentukan 10nF, nilai n dapat dilihat pada tabel dibawah. Tabel 2.3 Nilai Kapasitor 3rd Digit Multiplier Letter Tolerance 0 1 D 0.5 pF 1 10 F 1% 2 100 G 2% 3 1,000 H 3% 4 10,000 J 5% 5 100,000 K 10 % 6,7 Not Used M 20 % 8 .01 P +100, -0 % 9 1 Z +80, -20 % Misalnya suatu kapasitor pada badannya tertulis kode 474J, berarti nilai kapasitansinya adalah 47 + 104 = 470.000 pF = 0.47µF sedangkan toleransinya 5%. Yang harus diingat didalam mencari nilai kapasitor adalah satuannya dalam pF (Pico Farad) Universitas Sumatera Utara II.1.4 Transistor Transistor adalah komponen elektronika yang mempunyai tiga buah terminal. Terminal itu disebut emitor, basis, dan kolektor. Transistor seakan-akan dibentuk dari penggabungan dua buah dioda. Dioda satu dengan yang lain saling digabungkan dengan cara menyambungkan salah satu sisi dioda yang senama. Dengan cara penggabungan seperti dapat diperoleh dua buah dioda sehingga menghasilkan transistor NPN. Bahan mentah yang digunakan untuk menghasilkan bahan N dan bahan P adalah silikon dan germanium. Oleh karena itu, dikatakan : 1. Transistor germanium PNP. 2. Transistor silikon NPN. 3. Transistor silikon PNP. 4. Transistor germanium NPN. Semua komponen di dalam rangkaian transistor dengan simbol. Anak panah yang terdapat di dalam simbol menunjukkan arah yang melalui transistor. C C B B E NPN E PNP Universitas Sumatera Utara Gambar 2.7 simbol tipe transistor Keterangan : C = kolektor E = emiter B = basis Didalam pemakaiannya transistor dipakai sebagai komponen saklar (switching) dengan memanfaatkan daerah penjenuhan (saturasi) dan daerah penyumbatan (cut off) yang ada pada karakteristik transistor. Pada daerah penjenuhan nilai resistansi persambungan kolektor emiter secara ideal sama dengan nol atau kolektor dan emiter terhubung langsung (short). Keadaan ini menyebabkan tegangan kolektor emiter (V CE) = 0 Volt pada keadaan ideal, tetapi pada kenyataannya VCE bernilai 0 sampai 0,3 Volt. Dengan menganalogikan transistor sebagai saklar, transistor tersebut dalam keadaan on seperti pada gambar 2.8 berikut : Vcc Vcc IC R RB Saklar On VCE VB IB VBE Gambar 2.8 Transistor sebagai Saklar ON Universitas Sumatera Utara Saturasi pada transistor terjadi apabila arus pada kolektor menjadi maksimum dan untuk mencari besar arus basis agar transistor saturi adalah : Vcc I max = ……………………………………………..…………….(2.1) Rc Vcc hfe . I B = ………………………………………….…………….(2.2) Rc Vcc I B = ………………………………………………………….(2.3) hfe . Rc Hubungan antara tegangan basis (V B) dan arus basis (IB) adalah : VB VBE IB = ……………………………………………………….(2.4) RB V B = IB . RB + VBE…………………………………………………..(2.5) Vcc . R VB = B + VBE …………………………………………………(2.5) hfe. Rc Vcc. R VBE , maka transistor akan Jika tegangan VB telah mencapai VB = B + hfe. Rc saturasi, dengan Ic mencapai maksimum. Gambar 2.9 dibawah ini menunjukkan apa yang dimaksud dengan V CE (sat) adalah harga VCE pada beberapa titik dibawah knee dengan posisi tepatnya ditentukan pada lembar data. Biasanya VCE (sat) hanya beberapa perpuluhan volt, walaupun pada arus kolektor sangat besar bisa melebihi 1 volt. Bagian dibawah knee pada gambar 2.10 dikenal sebagai daerah saturasi. Universitas Sumatera Utara IC Penjenuhan (saturation) I B > IB (sat) I B = IB (sat) Vcc Rc IB Titik Sumbat (Cut off) IB = 0 VCE Gambar 2.9 Karakteristik daerah saturasi pada transistor Pada daerah penyumbatan,nilai resistansi persambungan kolektor emiter secara ideal sama dengan tak terhitung atau terminal kolektor dan emiter terbuka (open). Keadaan ini menyebabkan tegangan (V CB ) sama dengan tegangan sumber (Vcc). Tetapi pada kenyataannya Vcc pada saat ini kurang dari Vcc karena terdapat arus bocor dari kolektor ke emiter. Dengan menganalogikan transistor sebagai saklar, transistor tersebut dalam keadaan off seperti gambar 2.10 dibawah Vcc Vcc IC R RB Saklar Off V CE VB IB VBE Gambar 2.10 Transistor Sebagai Saklar OFF Keadaan penyumbatan terjadi apabila besar tegangan habis (VB ) sama dengan tegangan kerja transistor (V BE) sehingga arus basis (IB ) = 0 maka : IC ……………………………………………………………(2.6) IB = hfe IC = IB . hfe ….………………………………………………………(2.7) IC = 0 . hfe ………..…………………………………………………(2.8) IC = 0 ………………………………………………………………..(2.9) Universitas Sumatera Utara Hal ini menyebabkan V C E sama dengan Vcc dapat dibuktikan dengan rumus : V cc = V c + V C E ………..… ………………………………………(2.10) V CE = V cc – (Ic . Rc) .… …………………………………………(2.11) V CE = V cc … ..…………………………………………………(2.12) II.1.5 Kristal Kristal adalah komponen yang dibuat dari bahan alam yang menunjukkan efek piezoelektrik, sehingga sering disebut Kristal Piezoelektrik. B ahan utama kristal yang dapat menimbulkan efek Piezoelektrik adalah garam rachelle, tourmaline dan qualte. Dalam sebuah kristal Piezoelektrik, biasanya qualeze, mempunyai elektroda-elektroda yang dilapiskan pada permukaan yang berhadapan, dan apabila diberikan suatu potensial pada elektroda-elektroda nya maka gaya akan bekerja pada muatan-muatan yang terikat pada kristal. Apabila komponen ini dipasang dengan benar, maka dalam kristal akan terjadi deformasi-deformasi sehingga terbentuk suatu sistem elektromekanik yang akan bergetar bila dibandingkan dengan benar. Frekuensi, resonansi dan nilai Qnya tergantung pada dimensi kristal, orientasi permukaan pada sumbu-sumbu kristal dan bagaimana komponen tersebut dipasang (Mountet). Jangkauan frekuensinya dari beberapa K Hz sampai beberapa MHz. dan jangkauan nilai Q (resonansi pararel)-nya yang beberapa ribu sampai beberapa ratus ribu data diperoleh secara komersial. Dengan nilai Q yang sangat tinggi dan dari kenyataan bahwa karakteristik quartz sangat stabil terhadap waktu dan temperature, maka kristal akan menghasilkan stabilitas frekuensi pada osilator-osilator yang dibangun dengan menggunakan kristal. Universitas Sumatera Utara Pada hakikatnya frekuansi dari suatu osilator kristal hanya ditentukan oleh kristalnya dan tidak oleh komponen lainnya. Gambar 2.11 Lambang Kristal II.1.6 Dioda Dioda adalah merupakan jenis komponen pasif. Dioda memiliki dua kutub yaitu anoda dan katoda . Dioda terbuat dari bahan semi konduktor tipe P dan semi konduktor tipe N yang di sambungkan. Semi konduktor tipe P berfungsi sebagai Anoda dan semi konduktor tipe N berfungsi sebagai katoda. Dioda bersifat menghantarkan arus listrik hanya pada satu arah saja, yaitu jika kutub anoda dihubungkan pada tegangan positif dan kutub katoda dihubungkan dengan tegangan negatif, maka akan mengalir arus listrik dari anoda ke katoda atau dioda bersifat konduktor. Jika polaritasnya dibalik, maka arus yang mengalir hampir nol atau dioda akan bersifat sebagai isolator. Karena sifat dioda yang bekerja sebagai konduktor jika jika kutub anoda dihubungkan pada tegangan positif dan kutub katoda dihubungkan dengan tegangan negatif dan bekerja sebagai isolator jika polaritasnya dibalik, maka dioda sering digunakan sebagai penyearah arus bolak-balik. Contoh penggunaannya adalah pada rangkaian adaptor, DC power supply (Catu Daya DC). Jenis-jenis dioda dan penggunaannya : Universitas Sumatera Utara Gambar 2.12 simbol dioda II.1.7 Photodioda Photodioda adalah piranti semikonduktor dengan struktur p-n atau p-i-n untuk mendeteksi cahaya. Photodioda biasanya digunakan untuk mendeteksi cahaya. Photodioda adalah piranti semikonduktor yang mengandung sambungan p-n, dan biasanya terdapat lapisan intrinsik antara lapisan n dan p. Piranti yang memiliki lapisan intrinsik disebut p-i-n atai PIN photodioda. Cahaya diserap di daerah pengambungan atau daerah intrinsik menimbulkan pasangan elektron-hole, kebanyakan pasangan tersebut menghasilkan arus yang berasal dari cahaya. Photodioda dapat dioperasikan dalam 2 mode yang berbeda: 1. Mode potovoltaik: seperti solar sel, penyerapan pada photodioda menghasilkan tegangan yang dapat diukur. Bagaimanapun, tegangan yang dihasilkan dari tenaga cahaya ini sedikit tidak linier, dan range perubahannya sangat kecil. mode potokonduktivitas : disini, photodioda diaplikasikan sebagai tegangan revers (tegangan balik) dari sebuah dioda (yaitu tegangan pada arah tersebut pada dioda tidak akan menhantarkan tanpa terkena cahaya) dan pengukuran menghasilkan arus poto. ( hal ini juga bagus untuk Universitas Sumatera Utara 1. mengaplikasikan tegangan mendekati nol). Ketergantungan arus poto pada kekuatan cahaya dapat sangat linier . Karakteristik bahan photodioda: 1. silikon (Si) : arus lemah saat gelap, kecepatan tinggi, sensitivitas yang bagus antara 400 nm sampai 1000 nm ( terbaik antara 800 sampai 900 nm). 2. Germanium (Ge): arus tinggi saat gelap, kecepatan lambat, sensitivitas baik antara 600 nm sampai 1800 nm (terbaik 1400 sampai 1500 nm). 3. Indium Gallium Arsenida (InGaAs): mahal, arus kecil saat gelap, kecepatan tinggi sensitivitas baik pada jarak 800 sampai 1700nm (terbaik antara 1300 sampai 1600nm). Gambar Photodioda ditunjukkan pada gambar berikut: Gambar 2.13 Gambar Photodioda dan Simbolnya, Serta Grafik Karakteristiknya Universitas Sumatera Utara II.1.8 Dioda Pemancar Cahaya Infra merah (LED infra merah) LED adalah dioda yang menghasilkan cahaya saat diberi energi listrik. Dalam bias maju sambungan p-n terdapat rekombinasi antara elektron bebas dan lubang (hole). Energi ini tidak seluruhnya diubah kedalam bentuk energi cahaya atau photon melainkan dalam bentuk panas sebagian. Proses pemancara cahaya akibat adanya energi listrik yang diberikan terhadap suatu bahan disebut dengan sifat elektroluminesensi. Material lain misalnya Galium Arsenida Pospat (GaAsP) atau Galium Pospat (GaP): photon energi cahaya dipancarkan untuk menghasilkan cahaya tampak. Jenis lain dari LED digunakan untuk menghasilkan energi tidak tampak seperti yang dipancarkan oleh pemancar laser atau inframerah. VCC 5V 330W Gambar 2.14 Simbol dan rangkaian dasar sebuah LED Pemancar inframerah adalah dioda solid state yang terbuat dari bahan Galium Arsenida (GaAs) yang mampu memancarkan fluks cahaya ketika dioda ini dibias maju. Bila diberi bias maju elektron dari daerah-n akan menutup lubang elektron yang ada didaerah-p. Selama proses rekombinasi ini, energi dipancar Universitas Sumatera Utara keluar dari permukaan p dan n dalam bentuk photon. Photon-photon yang dihasilkan ini ada yang diserap lagi dan ada yang meninggalkan permukaan dalam betuk radiasi energi. II.1.9 LCD 2 x 16 LCD liquid cell display merupakan suatu alat yang dapat menampilkan karakter ASCI sehingga kita bisa menampilkan campuran huruf dan angka sekaligus. LCD didalamnya terdapat sebuah mikroprosesor yang mengendalikan tampilan, kita hanya perlu membuat program untuk berkomunikasi ukuran lcd ada berbagai macam seperti : · lcd 16 x 2 ada 16 colom dan 2 baris · lcd 16 x 4 ada 16 colom dan 4 baris Gambar 2.15 LCD 16 x 2 Dalam antarmuka lcd dengan mcs maka kita harus menembakan command yang berisi perintah dan data yaitu berupa text yang kita ingin tampilkan. Supaya lcd dapat menampilkan text maka yang perlu dilakukan adalah mengirimkan Universitas Sumatera Utara format hex data dalam bentuk asci. Misal 0 dengan mengirimkan 48 desimal dan A mengirimkan 65 desimal. Untuk mengunakan lcd pertama kali kita harus mengkonfigurasi lcd itu seperti keinginan kita. konfigurasi berarti ktia harus menembakan command PIN PIN LCD 1. Ground 2. VCC 3. Contrast 4. RS 5. RW 6. EN 7. D0 – D7 8. Anoda (untuk backlight, lampu background) 9. Katoda Universitas Sumatera Utara Pin RS memberi informasi apakah kirim data atau instruksi 0 = instruksi 1 = data Pin RW 0 = Write (tulis ke lcd) 1 = Read (baca dari lcd) D0 -D7 = pin komunikasi Anoda = supply VCC untuk background, katoda = berikan ground Kombinasi dari pin RS dan RW RS / RW 0 0 0 1 1 0 1 1 : Operation IR Write Command IR Read ……… DR write data DR read ……… Universitas Sumatera Utara II.2 Perangkat Lunak II.2.1 Instruksi-instruksi AT89C2051 Beberapa instruksi yang sering digunakan dalam pemrograman IC mikrokontroler AT89C2051 antara lain adalah: II.2.2 Karakter dalam BASCOM Dalam program BASCOM, karakter dasarnya terdiri atas karakter alphabet (A-Z dan a-z), karakter numeric (0-9), dan karakter spesial. Tabel 2.4 Karakter Spesial karakter Nama Blank ‘ Apostrophe * Asterisk (symbol perkalian) + Plus sign , Comma - Minus sign . Period (decimal point) / Slash (division symbol) will be handled as\ : Colon “ Double quotation mark ; Semicolon < Less than = Equal sign (assignment symbol or relational operator) > Greater than \ Backspace (integer or word division symbol) Universitas Sumatera Utara II.2.3 Tipe Data Setiap variabel dalam BASCOM memiliki tipe data yang menunjukkan daya tampungnya. Hal ini berhubungan dengan penggunaan memori mikrokontroler. Tabel 2.10 berikut adalah tipe data pada BASCOM berikut keterangannya. Tabel 2.5 Tipe data BASCOM Tipe Data Ukuran (byte) Range Bit 1/8 - Byte 1 0 – 255 Integer 2 -32,768 - +32,767 Word 2 0 – 65535 Long 4 -214783648 - +2147483647 Single 4 - String hingga 254 byte - II.2.4 Variabel Variabel dalam sebuah pemrograman berfungsi sebagai tempat penyimpanan data atau penampungan data sementara, misalnya menampung hasil perhitungan, menampung data hasil pembacaan register, dan lainnya. Variabel merupakan pointer yang menunjukkan pada alamat memori fisik dan mikrokontroler. Universitas Sumatera Utara Dalam BASCOM, ada beberapa aturan dalam penamaan sebuah variable: 1. Nama variabel maksimum terdiri atas 32 karakter. 2. Karakter biasa berupa angka atau huruf. 3. Nama variabel harus dimulai dengan huruf. 4. Variabel tidak boleh menggunakan kata-kata yang digunkan oleh BASCOM seagai perintah, pernyataan, internal register, dan nama operator (AND, OR, DIM, dan lain-lain). Sebelum digunakan, maka variable harus dideklarasikan terlebih dahulu. Dalam BASCOM, ada beberapa cara untuk mendeklarasikan sebuah variable (data). Cara pertama adalah menggunakan pernyataan ‘DIM’ (dimensi) diikuti nama tipe datanya. Contoh pendeklarasian menggunakan DIM sebagai berikut: Dim nama as byte Dim tombol1 as integer Dim tombol2 as word Dim tombol3 as word Dim tombol4 as word Dim Kas as string*10 II.2.5 Alias Dengan menggunakan alias, variable yang sama dapat diberikan nama yang lain. Tujuannya adalah mempermudah proses pemrograman. Umumnya, alias digunakan untuk mengganti nama variable yang telah baku, seperti port mikrokontroler. Universitas Sumatera Utara LEDBAR alias PortA.1 Tombol1 alias PinB.1 Tombol2 alias PinB.2 Dengan deklarasi seperti diatas, perubahan pada tombol akan mengubah kondisi PortA.1. Selain mengganti nama port, kita dapat pula menggunakan alias untuk mengakses bit tertentu dari sebuah variable yang telah dideklarasikan. Dim LedBar as byte Led1 as LedBar.0 Led2 as LedBar.1 Led3 as LedBar.2 II.2.6 Konstanta Dalam BASCOM, selain variabel kita mengenal pula konstanta. Konstanta meruupakan variabel pula. Perbedaannya dengan variable biasa adalah nilai yang dikandung tetap. Dengan konstanta, kode program yang kita buat akan lebih mudah dibaca dan dapat mencegah kesalahan penulisan pada program kita. Misalnya, kita akan lebih mudah menulis phi daripada menulis 3,14159867. Sama seperti variable, agar konstanta bisa dikenali oleh program, maka harus dideklarasikan terlebih dahulu. Berikut adalah cara pendeklarasian sebuah konstanta. Dim A As Const 5 Dim B1 As Const &B1001 Cara lain yang paling Mudah: Const Cbyte = &HF Universitas Sumatera Utara Const Cint = -1000 Const Csingle = 1.1 Const Cstring = “test” II.2.7 Array Dengan array, kita dapat menggunakan sekumpulan variable dengan nama dan tipe yang sama. Untuk mengakses variable tertentu dalam array, kita harus menggunakan indeks. Indeks harus berupa angka dengan tipe data byte, integer, atau word. Artinya, nilai maksimum sebuah indeks sebesar 65535. Proses pendeklarasian sebuah array variabel sama dengan variabel, namun perbedaannya kita pun mengikutkan jumlah elemennya. Berikut adalah contoh pemakaian array: Dim kelas(10) as byte Dim c as Integer For C = 1 To 10 a© = c PortA.1 = a© Next Program diatas membuat sebuah array dengan nama ‘kelas’ yang berisi 10 elemen (1-10) dan kemudian seluruh elemennya diisikan dengan nilai c yang berurutan. Untuk membacanya, kita menggunakan indeks dimana elemen disimpan. Pada program diatas, elemen-elemen arraynya dikeluarkan ke PortA.1 dari mikrokontroler. Universitas Sumatera Utara II.2.8 Operasi-operasi Dalam BASCOM Pada bagian ini akan dibahas tentang cara menggabungkan, memodifikasi, membandingkan, atau mendapatkan informasi tentang sebuah pernyataan dengan menggunakan operator-operator yang tersedia di BASCOM dan bagaimana sebuah pernyataan terbentuk dan dihasilkan dari operator-operator berikut: a. Operator Aritmatika Operator digunakan dalam perhitungan. Operator aritmatika meliputi + (tambah), - (kurang), / (bagi), dan * (kali). b. Operator Relasi Operator berfungsi membandingkan nilai sebuah angka. Hasilnya dapat digunakan untuk membuat keputusan sesuai dengan program yang kita buat. Operator relasi meliputi: Tabel 2.6 Operator Relasi Operator Relasi Pernyataan = Sama dengan X=Y <> Tidak sama dengan X <> Y < Lebih kecil dari X<Y > Lebih besar dari X>Y <= Lebih kecil atau sama dengan X <= Y >= Lebih besar atau sama dengan X >= Y Universitas Sumatera Utara C. Operator Logika Operator digunakan untuk menguji sebuah kondisi atau memanipulasi bit dan operasi bolean. Dalam BASCOM, ada empat buah operator logika, yaitu AND, OR, NOT, dan XOR. Operator logika bisa pula digunakan untuk menguji sebuah byte dengan pola bit tertentu, sebagai contoh: Dim A As Byte A = 63 And 19 Print A A = 10 or 9 Print A Output 16 11 D. Operator Fungsi Operasi fungsi digunakan untuk melengkapi operator yang sederhana. Universitas Sumatera Utara