BAB II TINJAUAN TEORITIS 2.1. Mikrokontroler AT89S52 Mikrokontroler, sebagai suatu terobosan teknologi mikrokontroler dan microkomputer, hadir memenuhi kebutuhan pasar (market need) dan teknologi baru. Sebagai teknologi baru, yaitu teknologi semi konduktor dengan kandungan transistor yang lebih banyak namun hanya membutuhkan ruang kecil serta dapat diproduksi secara massal (dalam jumlah banyak) sehingga harga menjadi lebih murah (dibandingkan microprocessor). Sebagai kebutuhan pasar, mikrokontroler hadir untuk memenuhi selera industri dan para konsumen akan kebutuhan dan keinginan alat-alat bantu dan mainan yang lebih canggi serta dalam bidang pendidikan. Tidak seperti sistem komputer, yang mampu menangani berbagai macam program aplikasi (misalnya pengolah kata, pengolah angka, dan lain sebagainya), Universitas Sumatera Utara Microkontroler hanya bisa digunakan untuk satu aplikasi tertentu saja. Perbedaan lainnya terletak pada perbandingan RAM dan ROM-nya. Pada sistem komputer perbandingan RAM dan ROM-nya besar, artinya program-program pengguna disimpan dalam ruang RAM yang relatif besar, sedangkan rutin-rutin antar muka perangkat keras disimpan dalam ruang ROM yang kecil. Sedangkan pada mikrokontroler, perbandingan ROM dan RAM-nya yang besar artinya program control disimpan dalam ROM yang ukurannya relatif lebih besar, sedangkan RAM digunakan sebagai tempat penyimpanan sederhana sementara, termasuk registerregister yang digunakan pada microkontroler yang bersangkutan. Mikrokontroler AT89S52 ialah mikrokomputer CMOS 8 bit dengan 8KB Flash Programmable dan Erasable Read Only Memory (PEROM). Mikrokontroler berteknologi memori non volatile kerapatan tingi dari Atmel ini kompatibel dengan mikrokontroler standar industri MCS-51 baik pin kaki IC maupun set instruksinya serta harganya yang cukup murah. Oleh karena itu, sangatlah tepat jika kita mempelajari mikrokontroler jenis ini. Anda juga diharapkan mempelajari versi lainnya yang berdasarkan pengalaman penulis lebih cepat di dalam pengisian program yaitu AT89S8252. Spesifikasi penting AT89S52 : a. Kompatibel dengan keluarga mikrokontroler MCS51 sebelumnya Universitas Sumatera Utara b. 8 K Bytes In system Programmable (ISP) flash memori dengan kemampuan 1000 kali baca/tulis c. tegangan kerja 4-5.0V d. Bekerja dengan rentang 0 – 33MHz e. 256x8 bit RAM internal f. 32 jalur I/0 dapat diprogram g. 3 buah 16 bit Timer/Counter h. 8 sumber interrupt i. saluran full dupleks serial UART j. watchdog timer k. dual data pointer l. Mode pemrograman ISP yang fleksibel (Byte dan Page Mode) 2.1.1 Kontruksi AT89S52 Mikrokontroler AT89S52 hanya memerlukan tambahan 3 kapasitor, 1 resistor dan 1 kristal serta catu daya 5 volt. Kapasitor 10 micro-fard dan resistor 10 kilo Ohm dipakai untuk membentuk rangkaian riset. Dengan adanya rangkaian riset ini AT89C4051 otomatis diriset begitu rangkaian menerima catu daya. Kristal dengan frekuensi maksimum 24 MHz dan kapasitor 30 mikro-farad dipakai untuk melengkapi Universitas Sumatera Utara rangkaian oscilator pembentuk clock yang menentukan kecepatan kerja Mikrokontroler. Memori merupakan bagian yang sangat penting pada Mikrokontroler. Mikrokontroler memiliki dua macam memori yang sifatnya berbeda. Read Only Memory (ROM) yang isinya tidak berubah meskipun IC kehilangan catu daya. Sesuai dengan keperluannya, dalam susunan MCS-51 memori penyimpanan program ini dinamakan sebagai memori program. Random Access Memory (RAM) isinya akan sirna begitu IC kehilangan catu daya, dipakai untuk menyimpan data pada saat program bekerja. RAM yang dipakai untuk menyimpan data ini disebut sebagai memori data. Ada berbagai jenis ROM. Untuk Mikrokontroler dengan program yang sudah baku dan diproduksi secara masal, program diisikan kedalam ROM pada saat IC Mikrokontroler dicetak dipabrik IC. Untuk keperluan tertentu Mikrokontroler menggunakan ROM yang dapat diisi ulang atau Programble-Eraseable ROM yang disingkat menjadi PROM (PEROM). Dulu banyak UV-EPROM (Ultra Violet Eraseable Programble ROM) yang kemudian dinilai mahal dan ditinggalkan setelah ada flash PEROM yang harganya jauh lebih murah. Universitas Sumatera Utara Jenis memori yang dipakai untuk memori program AT89S52 adalah flash PEROM, program untuk mengendalikan Mikrokontroler diisikan ke memori itu lewat bantuan alat yang dinamakan sebagai AT89C4051 flash PEROM Programmer. Memori data yang disediakan dalam chip AT89s52 sebesar 128 kilo byte meskipun hanya kecil saja tapi untuk banyak keperluan memori kapasitas itu sudah cukup. AT89S52 dilengkapi UART (Universal Asyncronous Receiver/Transmiter) yang biasa dipakai untuk komunikasi data secara seri. Jalur untuk komunikasi data seri (RXD dan TXD) diletakkan berhimpitan dengan P1.0 dan P1.1. pada kaki nomor 2 dan 3, sehingga kalau sarana input/output bekerja menurut fungsi waktu. Clock penggerak untaian pencacah ini bisa berasal dari oscillator kristal atau clock yang diumpan 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. AT89S52 mempunyai enam sumber pembangkit interupsi, dua diantaranya adalah sinyal interupsi yang diumpankan ke kaki INT0 dan INT1. Kedua kaki ini berhimpitan dangan P3.2 dan P3.3 sehingga tidak bisa dipakai sebagai jalur input/output paralel kalau INT0 dan INT1 dipakai untuk menerima sinyal interupsi. Universitas Sumatera Utara Port1 dan 2, UART, Timer 0, Timer 1 dan sarana lainnya merupakan yang secara fisik merupakan RAM khusus, yang ditempatkan di Special Function Register (SFR). 2.1.2. Pin-Pin pada Microcontroller AT89S52 Mikrokontroler tersebut mempunyai 40 kaki, 32 kaki di antaranya adalah kaki untuk keperluan port paralel. Tiap port paralel terdiri dari 8 kaki, dengan demikian 32 kaki tersebut membentuk 4 buah port paralel, yang masing–masing dikenal sebagai Port 0, Port 1, Port 2 dan Port 3. Nomor dari masing–masing jalur (kaki) dari port paralel mulai dari dari 0 sampai 7, jalur (kaki) pertama Port 0 disebut sebagai P0.0 dan jalur terakhir untuk Port 3 adalah P3.7. Universitas Sumatera Utara Gambar 2.1 Pinout AT89S52 Fungsi-fungsi pin AT89S52 adalah: a. VCC : Sumber tegangan b. GND : Ground atau pentanahan c. RST : Masukan reset. Kondisi '1' selama 2 siklus mesin selama osilator bekerja akan mereset mikrokontroler yang bersangkutan Universitas Sumatera Utara d. ALE / PROG : Keluaran ALE atau Adreess Latch Enable menghasilkan pulsa– pulsa untuk mengancing byte rendah (low byte) alamat selama mengakses memori eksternal. Kaki ini juga berfungsi sebagai masukan pulsa program (the program pulse input) atau PROG selama pemrograman flash . Pada operasi normal, ALE akan berpulsa dengan laju 1/6 dari frekuensi kristal dan dapat digunakan sebagai pewaktuan (timing) atau pendetakan (clocking) rangkaian eksternal. Catatan, ada satu pulsa yang dilompati selama selama pengaksesan memori data eksternal. Jika dikehendaki, operasi ALE bisa dimatikan dengan cara mengatur bit 0 dari SFR lokasi 8Eh. Jika isinya '1', ALE hanya akan aktif selama dijumpai instruksi MOVX atau MOVC. Selain itu, kaki ini akan secara lemah di-pulled high . Mematikan bit ALE tidak akan ada efeknya jika mikrokontroler mengeksekusi program secara eksternal. e. PSEN : Program Store Enable merupakan sinyal baca untuk memori program eksternal. Saat mikrokontroler menjalankan program dari memori eksternal, PSEN akan diaktifkan dua kali per siklus mesin, kecuali dua aktivasi PSEN dilompati (diabaikan) saat mengakses memori data eksternal. f. EA/VPP : External Access Enable . EA harus selalu dihubungkan ke- ground , jika mikrokontroler akan mengeksekusi program dari memori eksternal lokasi 0000h hingga FFFFh. Selain dari itu, EA harus dihubungkan ke VCC agar mikrokontroler mengakses program secara internal, yaitu pada lokasi 0000h sampai 1FFFh sedangkan Universitas Sumatera Utara lokasi 2000h sampai FFFFh pada memori eksternal. Kaki ini juga berfungsi menerima tegangan 12 Volt (VPP) selama pemrograman flash, khususnya untuk tipe mikrokontroler 12 Volt VPP. Spesifikasi Masing-masing Port Keempat port pada mikrokontroler bersifat dwi-arah dan masing-masing memiliki sebuah pengancing (latch), yang diacu dalam program sebagai Register Fungsi Khusus (RFK atau SFR) sebagai P0, P1, P2 dan P3. Selain itu juga memiliki sebuah penggerak keluaran (output driver) dan sebuah penyangga masukan (input buffer) pada masing-masing kaki port. Penggerak–penggerak keluaran Port 0 dan 2 serta penyangga masukan dari Port 0 digunakan dalam pengaksesan memori eksternal. Pada aplikasi semacam ini, Port 0 mengeluarkan byte rendah alamat memori eksternal, dimultipleks secara waktu dengan byte yang akan dituliskan atau dibaca (ke/dari memori eksternal). Port 2 mengeluarkan byte tinggi dari alamat memori eksternal jika lebar alamatnya 16-bit, selain itu kaki–kaki Port 2 tetap meneruskan menghasilkan isi SFR dari P2. Berikut ini akan dijelaskan masing–masing port pada mikrokontroler. Port 0 Universitas Sumatera Utara Port 0 merupakan keluaran/masukan (I/O) bertipe open drain bidirectional . Sebagai port keluaran, masing–masing kaki dapat menyerap arus (sink) delapan masukan TTL (sekitar 3,8 mA). Pada saat '1' dituliskan ke kaki– kaki Port 0 ini, maka kaki–kaki Port 0 dapat digunakan sebagai masukan– masukan berimpedansi tinggi. Jika Port 0 dapat dikonfigurasikan sebagai bus alamat/data bagian rendah (low byte) selama proses pengaksesan memori data dan program eksternal. Jika digunakan dalam mode ini Port 0 memiliki pullup internal. Port 0 juga menerima kode–kode yang dikirim kepadanya selama proses pemrograman dan mengeluarkan kode–kode selama proses varifikasi program yang telah tersimpan dalam flash. Dalam hal ini dibutuhkan pullup eksternal selama proses verifikasi program. Port 1 Port 1 merupakan I/O dwi–arah yang dilengkapi dengan pullup internal. Penyangga keluaran Port 1 mampu memberikan/menyerap arus empat masukan TTL (sekitar 1,6 mA). Universitas Sumatera Utara Jika '1'dituliskan ke kaki–kaki Port 1, maka masing–masing kaki akan di-pulled high dengan pullup internal sehingga dapat digunakan sebagai masukan. Sebagai masukan, jika kaki–kaki Port 1 dihubungkan ke ground (di-low pulled), maka masing–masing kaki akan memberikan arus (source) karena di-pulled high secara internal. Port 1 juga menerima alamat bagian rendah (low byte) selama pemrograman dan verifikasi flash. Port 2 Port 2 merupakan I/O dwi–arah yang dilengkapi dengan pullup internal. Penyangga keluaran port 1 mampu memberikan/menyerap arus empat masukan TTL (sekitar 1,6 mA). Jika '1' dituliskan ke kaki–kaki Port 2, maka masing–masing kaki akan di-pulled high dengan pullup internal sehingga dapat digunakan sebagai masukan. Sebagai masukan, jika kaki–kaki Port 2 dihubungkan ke ground (di-pulled low), maka masing–masing kaki akan memberikan arus (source) karena di-pulled high secara internal. Port 2 akan memberikan byte alamat bagian tinggi (high byte) selama pengambilan instruksi dari memori program eksternal dan selama pengaksesan memori data eksternal yang menggunakan perintah dengan alamat 16-bit. Dalam aplikasi ini, jika Universitas Sumatera Utara ingin mengirimkan '1', maka digunakan pullup internal yang sudah disediakan. Selama pengaksesan memori data eksternal yang menggunakan perintah dengan alamat 8-bit, Port 2 akan mengirimkan isi dari SFR P2. Port 2 juga menerima alamat bagian tinggi selama pemrograman dan verifikasi flash. Port 3 Port 3 merupakan port I/O dwi–arah dengan dilengkapi pullup internal. Penyangga keluaran Port 3 mampu memberikan/menyerap arus empat masukan TTL (sekitar 1,6 mA). Jika '1' dituliskan ke kaki–kaki port 3, maka masing–masing kaki akan di-pulled high dengan pullup internal sehingga dapat digunakan sebagai masukan. Sebagai masukan, jika kaki–kaki port 3 dihubungkan ke ground (di-pulled low), maka masing–masing kaki akan memberikan arus (source) karena di-pulled high secara internal. Port 3, sebagaimana Port 1, memiliki fungsi–fungsi alternatif antara lain menerima sinyal–sinyal kontrol (P3.6 dan P3.7), bersama–sama dengan port 2 (P2.6 dan P2.7) selama pemrograman dan verifikasi flash. Timer/Counter Universitas Sumatera Utara Keluarga mikrokontroler MCS51 dilengkapi dengan tiga perangkat Timer/Counter, masing-masing dinamakan sebagai Timer/Counter 0, Timer/Counter 1, dan Timer 2. Untuk mengakses Timer/Counter tersebut digunakan register khusus yang tersimpan dalam Special Function Register (SFR). Pencacah biner Timer 0 diakses melalui register TL0 (Timer 0 Low Byte , memori internal alamat 6Ah) dan register TH0 (Timer 0 High Byte , memori internal alamat 6Ch). Pencacah biner Timer 1 diakses melalui register TL1 (Timer 1 Low Byte , memori internal alamat 6Bh) dan register TH1 (Timer 1 High Byte , memori internal alamat 6Dh). Pencacah biner Timer/Counter pada MCS51 merupakan pencacah biner 16 bit naik (count up binary counter) yang mencacah 0000h sampai FFFFh, saat kondisi pencacah berubah dari FFFFh kembali ke 0000h akan timbul sinyal berlebihan (overflow ). Untuk mengatur kerja Timer/Counter tersebut digunakan 2 register tambahan, yaitu register TCON (Timer Control Register), memori data internal alamat 88h, bisa diberi alamat per bit). Dan register TMOD (Timer Mode Register , memori data internal alamat 89h, tidak bisa diberi alamat per bit). Universitas Sumatera Utara Bit 7 Bit 6 Bit 5 Bit 4 Bit 3 Bit 2 Bit 1 Bit 0 TF1 TR1 TF0 TR0 1E1 1T1 1E0 1T0 Tabel 2.1. Susunan bit dalam register TCON a. TF1 : overflow flag Timer 1/Counter 1 (1 = overflow) b. TR1 : Enable Timer 1/Counter 1 c. TF0 : overflow flag Timer 0/Counter 0 (1 = overflow) d. TR0 : Enable Timer 0/Counter 0 e. IE1 : External Interrupt 1 edge flag f. IT1 : Interrupt 1 type control bit . Set/clear oleh program untuk menspesifikasi sisi turun/level rendah trigger dari interupsi eksternal. g. IE0 : External Interrupt 0 edge flag h. IT0 : Interrupt 0 type control bit . Set/clear oleh program untuk menspesifikasi sisi turun/level rendah trigger dari interupsi eksternal. Bit 7 Bit 6 Bit 5 Bit 4 Bit 3 Bit 2 Bit 1 Bit 0 GATE CT M1 M0 GATE CT M1 M0 Tabel 2.2 Susunan bit dalam register TMOD Universitas Sumatera Utara a. GATE : merupakan bit pengatur sinyal detak. Jika GATE = 0, Timer/Counter akan berjalan saat TR0 atau TR1 pada register TCON (TRx) = 1. Jika GATE = 1, Timer/Counter akan berjalan saat TRx = 1 atau INT1 untuk Timer 1 dan INT0 untuk Timer 0 (INTx) = 1. b. C/T : dipakai untuk mengatur sumber sinyal detak yang diberikan kepada pencacah biner. Jika C/T = 0, maka Timer akan aktif dengan sinyal detak diperoleh dari osilator kristal yang frekuensinya sudah dibagi 12. Jika C/T = 1, maka Counter akan aktif dengan sinyal detak diperoleh dari kaki T0 (untuk Timer 0) dan kaki T1 (untuk Timer 1). c. M0 dan M1 : dipakai untuk menentukan Mode Timer/Counter. MI M0 Mode Operasi 0 0 0 Timer Counter 13 bit 0 1 1 Timer Counter 16 bit 1 0 2 Timer auto reload 8 bit 1 1 3 TL0 adalah timer Counter 8 bit yang dikontrol oleh control bit Timer 0 (TF0) TH0 adalah timer counter 8 bit yang dikontrol oleh control bit Universitas Sumatera Utara timer 1 (TF1) Tabel 2.3 Mode Operasi Timer/Counter Untuk menghitung clock frequency adalah menggunakan perhitungan berikut : Sehingga, dengan menggunakan Mode 1 dapat dihitung waktu tunda yang diperlukan dengan perhitungan berikut : Delay = ( 65536 - n ) x T 2.2 Bahasa Assembly MCS-51 Universitas Sumatera Utara Bahasa yang digunakan untuk memprogram IC mikrokontroler AT89C4051 adalah bahasa assembly untuk MCS-51. angka 51 merupakan jumlah instruksi pada bahasa ini hanya ada 51 instruksi, antara lain yaitu : 1. Instruksi MOV Perintah ini merupakan perintah untuk mengisikan nilai ke alamat atau register tertentu. Pengisian nilai dapat secara langsung atau tidak langsung. Contoh pengisian nilai secara langsung MOV R0,#20h Perintah di atas berarti : isikan nilai 20 Heksadesimal ke register 0 (R0). Tanda # sebelum bilangan menunjukkan bahwa bilangan tersebut adalah nilai. Contoh pengisian nilai secara tidak langsung MOV 20h,#80h ........... ............ MOV R0,20h Perintah di atas berarti : isikan nilai yang terdapat pada alamat 20 Heksadesimal ke register 0 (R0). Tanpa tanda # sebelum bilangan menunjukkan bahwa bilangan tersebut adalah alamat. 2. Instruksi DJNZ Universitas Sumatera Utara Decreament Jump If Not Zero (DJNZ) ini merupakan perintah untuk mengurangi nilai register tertentu dengan 1 dan lompat jika hasil pengurangannya belum nol. Contoh , MOV R0,#80h Loop: ........... ............ DJNZ R0,Loop ............ R0 -1, jika belum 0 lompat ke loop, jika R0 = 0 maka program akan meneruskan ke perintah pada baris berikutnya. 3. Instruksi ACALL Instruksi ini berfungsi untuk memanggil suatu rutin tertentu. Contoh : ............. ACALL TUNDA ............. TUNDA: ................. 4. Instruksi RET Instruksi RETURN (RET) ini merupakan perintah untuk kembali ke rutin pemanggil setelah instruksi ACALL dilaksanakan. Contoh, ACALL TUNDA Universitas Sumatera Utara ............. TUNDA: ................. RET 5. Instruksi JMP (Jump) Instruksi ini merupakan perintah untuk lompat ke alamat tertentu. Contoh, Loop: ................. .............. JMP Loop 6. Instruksi JB (Jump if bit) Instruksi ini merupakan perintah untuk lompat ke alamat tertentu, jika pin yang dimaksud berlogika high (1). Contoh, Loop: JB P1.0,Loop ................. 7. Instruksi JNB (Jump if Not bit) Instruksi ini merupakan perintah untuk lompat ke alamat tertentu, jika pin yang dimaksud berlogika Low (0). Contoh, Universitas Sumatera Utara Loop: JNB P1.0,Loop ................. 8. Instruksi CJNZ (Compare Jump If Not Equal) Instruksi ini berfungsi untuk membandingkan nilai dalam suatu register dengan suatu nilai tertentu. Contoh, Loop: ................ CJNE R0,#20h,Loop ................ Jika nilai R0 tidak sama dengan 20h, maka program akan lompat ke rutin Loop. Jika nilai R0 sama dengan 20h,maka program akan melanjutkan instruksi selanjutnya.. 9. Instruksi DEC (Decreament) Instruksi ini merupakan perintah untuk mengurangi nilai register yang dimaksud dengan 1. Contoh, MOV R0,#20h R0 = 20h ................ DEC R0 R0 = R0 – 1 ............. Universitas Sumatera Utara 10. Instruksi INC (Increament) Instruksi ini merupakan perintah untuk menambahkan nilai register yang dimaksud dengan 1. Contoh, MOV R0,#20h R0 = 20h ................ INC R0 R0 = R0 + 1 ............. 11. Dan lain sebagainya 2.3 Software 8051 Editor, Assembler, Simulator Instruksi-instruksi yang merupakan bahasa assembly tersebut dituliskan pada sebuah editor, yaitu 8051 Editor, Assembler, Simulator. Tampilannya seperti di bawah ini. Universitas Sumatera Utara Gambar 2.2 8051 Editor, Assembler, Simulator Setelah program selesai ditulis, kemudian di-save dan kemudian di-Assemble (dicompile). Pada saat di-assemble akan tampil pesan peringatan dan kesalahan. Jika masih ada kesalahan atau peringatan, itu berarti ada kesalahan dalam penulisan perintah atau ada nama subrutin yang sama, sehingga harus diperbaiki terlebih dahulu sampai tidak ada pesan kesalahan lagi. Software 8051IDE ini berfungsi untuk merubah program yang kita tuliskan ke dalam bilangan heksadesimal, proses perubahan ini terjadi pada saat peng-compile-an. Bilangan heksadesimal inilah yang akan dikirimkan ke mikrokontroller. 2.4 Software Downloader Untuk mengirimkan bilangan-bilangan heksadesimal ini ke mikrokontroller digunakan software ISP- Flash Programmer 3.0a yang dapat didownload dari internet. Tampilannya seperti gambar di bawah ini Universitas Sumatera Utara Gambar 2.3 ISP- Flash Programmer 3.0a Cara menggunakannya adalah dengan meng-klik Open File untuk mengambil file heksadesimal dari hasil kompilasi 8051IDE, kemudian klik Write untuk mengisikan hasil kompilasi tersebut ke mikrokontroler. 2.5 Sensor Infra Red Sinar infra merah yang dipancarkan oleh pemancar infra merah tentunya mempunyai aturan tertentu agar data yang dipancarkan dapat diterima dengan baik di receiver. Oleh karena itu baik di transmitter infra merah maupun receiver infra merah harus mempunyai aturan yang sama dalam mentransmisikan (bagian transmitter) dan Universitas Sumatera Utara menerima sinyal tersebut kemudian mendekodekannya kembali menjadi data biner (bagian receiver). Komponen yang dapat menerima infra merah ini merupakan komponen yang peka cahaya yang dapat berupa dioda (photodioda) atau transistor (phototransistor). Komponen ini akan merubah energi cahaya, dalam hal ini energi cahaya infra merah, menjadi pulsa-pulsa sinyal listrik. Komponen ini harus mampu mengumpulkan sinyal infra merah sebanyak mungkin sehingga pulsa-pulsa sinyal listrik yang dihasilkan kualitasnya cukup baik. Semakin besar intensitas infra merah yang diterima maka sinyal pulsa listrik yang dihasilkan akan baik jika sinyal infra merah yang diterima intensitasnya lemah maka infra merah tersebut harus mempunyai pengumpul cahaya (light collector) yang cukup baik dan sinyal pulsa yang dihasilkan oleh sensor infra merah ini harus dikuatkan. Pada prakteknya sinyal infra merah yang diterima intensitasnya sangat kecil sehingga perlu dikuatkan. Selain itu agar tidak terganggu oleh sinyal cahaya lain maka sinyal listrik yang dihasilkan oleh sensor infra merah harus difilter pada frekuensi sinyal carrier yaitu pada 30 KHz sampai 40 KHz. Selanjutnya baik photodioda maupun phototransistor disebut sebagai photodetector. Dalam penerimaan infra merah, sinyal ini merupakan sinyal infra merah yang termodulasi. Pemodulasian sinyal data dengan sinyal carrier dengan frekuensi tertentu akan dapat memperjauh trasnmisi data sinyal infra. Universitas Sumatera Utara Sebuah photodioda, biasanya mempunyai karakteristik yang lebih baik daripada phototransistor dalam responnya terhadap cahaya infra merah. Biasanya photo dioda mempunyai respon 100 kali lebih cepat daripada phototransistor. Oleh sebab itulah para designer cenderung menggunakan photodioda daripada menggunakan phototransistor. Tetapi sebuah phototransistor tetap mempunyai keunggulan yaitu mempunyai kemampuan untuk menguatkan arus bocor menjadi ratusan kali jika dibandingkan dengan photodiode. Faktor lain yang juga berpengaruh pada kemampuan penerima infra merah adalah ‘active area’ dan ‘respond time’. Semakin besar area penerimaan suatu dioda infra merah maka semakin besar pula intensitas cahaya yang dikumpulkannya sehingga arus bocor yang diharapkan pada teknik ‘reserved bias’ semakin besar. Selain itu semakin besar area penerimaan maka sudut penerimaannya juga semakin besar. Kelemahan area penerimaan yang semakin besar ini adalah noise yang dihasilkan juga semakin besar pula. Begitu juga dengan respon terhadap frekuensi, semakin besar area penerimaannya maka respon frekuansinya turun dan sebaliknya jika area penerimaannya kecil maka respon terhadap sinyal frekuensi tinggi cukup baik. 2.5.1 Dioda Pemancar Infra Merah ( LED Infra merah) Universitas Sumatera Utara Untuk memperoleh jarak yang cukup jauh, Diode Infrared memerlukan sinyal dengan frekwensi 30 hingga 50 KHz. Berbeda dengan Diode LED yang hanya memerlukan level tegangan DC saja untuk mengaktifkan LED, Diode Infrared memerlukan sinyal AC dengan frekwensi 30 hingga 50 KHz untuk mengaktifkannya. Cahaya infrared tersebut tidak dapat ditangkap oleh mata manusia, sehingga diperlukan phototransistor untuk mendeteksinya 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 dirubah kedalam bentuk energi cahaya atau photon melainkan dalam bentuk panas sebagian. Proses pemancaran cahaya akibat adanya energi listrik yang diberikan terhadap sustu bahan disebut dengan sifat elektroluminesensi. Material lain adalah 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 pamancar laser atau infra merah. Universitas Sumatera Utara Pemancar infra merah 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 di daerah-p. Selama proses rekombinasi ini, energi dipancar keluar dari permukaan p dan n dalam bentuk photon. Photon-photon yang dihasilkan ini ada yang diserap lagi dan ada yang meninggalkan permukaan dalam bentuk radiasi energi. VCC 5V 330Ω Gambar 2.4 Simbol dan rangkaian sebuah LED Dengan menggunakan unsur-unsur diatas, pabrik dapat membuat LED yang memancarkanwarna merah, kuning dan infra merah. LED yang menghasilkan pancaran yang kelihatan dapat beguna pada display peralatan, mesin hitung, jam Universitas Sumatera Utara digital, dan lain-lain. LED infra merah dapat digunakan dalam sistem tanda bahaya pencuri dan ruang ligkup lain yang membutuhkan pancaran yang tak kelihatan. Keuntungan dari LED dibandingkan dengan lampu pijar yaitu umurnya yang lebih panjang, teganganya rendah dan saklar nyala matinya cepat. Gelombang infra merah yang dihasilkan oleh elektron-elektron dalam molekul yang bergetar karena benda dipanaskan. Selain tidak dapat dilihat secara langsung sinar infra merah juga dapat menembus kabut dan awan tebal. Dengan ciri-ciri yang spesifiktersebut, pesawat udara yang terbang tinggi atau pun satelit-satelit dapat membuat photo permukaan bumi yang tidak diperoleh dengan menggunakan cahaya infra merah. Radiasi sinar infra merah dapat getaran-getaran atom pada suatu molekul. Getaran atom pada suatu molekul dapat memancarkan gelombang elektromagnetik. Pada frekuensi-frekuensi yang khas dalam infra merah sehingga spektroskopi. Infra merah merupakan salah satu alat penting untuk mempelajari spektrum molekul. Energi yang terkandung dalam radiasi sinar ini tampak seperti energi panas termasuk cahaya yang diterima dari matahari sejumlah besar mengandung radiasi ini. 2.6 Pencacah Universitas Sumatera Utara Penghitung atau pencacah (counter) adalah rangkaian sirkuit digital atau kadang-kadang berbentuk chip yang bisa dipakai untuk menghitung pulsa atau sinyal digital yang umumnya dihasilkan dari osilator. Penghitung ini bisa menghitung pulsa secara biner murni (binary counter) ataupun secara desimal-terkodekan-secara-biner (decimal counter). Dalam penghitung biner murni, angka 9 dinyatakan dalam bentuk bilangan biner 1001, dan berikutnya angka 10 dinyatakan dalam bentuk biner 1010. Sedangkan dalam penghitung desimal-terkodekan-secara-biner, angka 9 adalah biner 1001, tetapi angka 10 dinyatakan dalam bentuk: 0001 0000. Angka desimal 100 dalam biner murni adalah 1100100, sedangkan dalam BCD adalah 0001 0000 0000 (3 buah digit desimal masing-masing dari kelompok 4 bit). Untuk jelasnya, angka desimal 0 sampai 17 (yang kita kenal sehari-hari), jika dinyatakan dalam bilangan biner murni dan biner BCD ( dengan 5 bit), akan nampak seperti di bawah ini. Angka 0 sampai 9 mempunyai bentuk biner murni dan biner BCD yang sama, tetapi mulai dari angka 10 keduanya belainan. Biner murni Biner BCD Universitas Sumatera Utara 0 0000 0 0000 0 0001 0 0001 0 0010 0 0010 0 0011 0 0011 0 0100 0 0100 0 0101 0 0101 0 0110 0 0110 0 0111 0 0111 0 1000 0 1000 0 1001 0 1001 0 1010 1 0000 0 1011 1 0001 0 1100 1 0010 0 1101 1 0011 0 1110 1 0100 0 1111 1 0101 1 0000 1 0110 1 0001 1 0111 Universitas Sumatera Utara dst... Tabel 2.4 Konversi Biner Murni dan Biner BCD Rangkaian penghitung ini kebanyakan dipakai dalam alat penghitung pulsa putaran mesin, atau putaran roda kendaraan. Berdasarkan jumlah pulsa yang terhitung per detik atau per menit, kita dapat menentukan kecepatan putaran mesin, kecepatan jalannya kendaraan, jarak yang ditempuh, dll. Misalnya, kalau jumlah putaran per detik dari roda kendaraan adalah 10, dan panjang busur lingkaran (keliling) roda ban itu = 1 meter, maka kendaraan itu berjalan sepanjang 10 meter per detik. Dengan kata lain jika dinyatakan dalam km/jam, kecepatan kendaraan itu menjadi 10*60*60 = 36.000 meter per jam, atau 36 km/jam. Alat penghitung ini (baik yang biner maupun desimal BCD) merupakan bagian penting dalam sistem peralatan digital dan penggunaannya dalam bidang industri. Selain untuk menghitung pulsa putaran, penghitung/pencacah juga dipakai untuk menghitung pulsa waktu, alat yang penting dalam bidang telekomunikasi yaitu untuk mencatat lama pembicaraan. Penghitung bisa dipakai juga untuk mengontrol robot kapan harus aktif (pada jam berapa, atau setelah berapa menit lagi). Banyak contoh lain yang bisa disebutkan mengenai penggunaan penghitung ini dalam bidang kontrol dan elektronika digital. Universitas Sumatera Utara Gambar 2.5 Pencacah dengan menggunakan flip-flop JK Bagi masyarakat awam, penghitung bisa diartikan sebagai kalkulator yang dipakai untuk menghitung untuk keperluan sehari-hari. Ada dua macam kalkulator: penghitung sederhana, dan penghitung ilmiah (scientific calculator). Dalam penghitung sederhana, kita hanya bisa menghitung: + - * / % kwadrat, 1/x, dan operasi memori saja (cukup untuk keperluan penghitung rumah tangga sehari-hari). Sedangkan pada scientific calculator, kita bisa menghitung rumus matematika yang lebih rumit, seperti: pangkat, exp, ln, sin, cosin, tg, dll. Kebanyakan dari kita sekarang tidak perlu membeli kalkulator ini, karena dalam komputer PC kita (MS Windows dan MS Office) di dalamnya sudah disediakan kalculator. Universitas Sumatera Utara