BAB 2 LANDASAN TEORI
2.1. Perangkat Keras 2.1.1 Arsitektur Mikrokontroler AT89S51 Mikrokontroller sebagai teknologi baru yaitu teknologi semi konduktor kehadirannya sangat membantu dunia elektronika.Dengan arsitektur yang praktis tetapi memuat banyak kandungan transistor yang terintegrasi,sehingga mendukung dibuatnya rangkaian elektronika.Mikrokontroler adalah mikrokomputer chip tunggal yang dirancang secara spesifik untuk aplikasi – aplikasi control bukan untuk aplikasaplikasi sserbaguna.Perangkat ini sering digunakan untuk kebutuhan control tertentu seperti pada sebuah penggerak motor.Pengguna mikrokontroler sangat luas,tidak hanyak untuk akuisi dan melainkan juga untuk pengendalian di pabrikpabrik,kebutuhan
peralatan
kantor,peralatan
rumah
tangga,aoutomobile
dan
sebagainya.Hal ini disebabkan mikrokontroler merupakan system mikroprosesor (yang didalamnya terdapat CPU,ROM,RAM dan I/O) yang telah terpadu dalam suatu chip,selain itu komponennya (AT89S51) mudah dan murah didapatkan di pasaran. Mikrokontroler,sebagai suatu terobosan teknologi mikroprosesor dan mikrokomputer, hadir memenuhi kebutuhan pasar (market need) dan teknologi baru.
Universitas Sumatera Utara
Sebagai teknologi baru, yaitu teknologi semikonduktor dengan kandungan transistor yang lebih banyak namun hanya membutuhkan ruang yang kecil serta dapat diproduksi secara masal (dalam jumlah banyak) membuat harganya menjadi lebih murah (dibandingkan mikroprosesor). Sebagai kebutuhan pasar, mikrokontroler hadir untuk memenuhi selera industri dan para konsumen akan kebutuhan dan keinginan alat-alat bantu bahkan mainan yang lebih baik dan canggih.
Adapun kelebihan dari mikrokontroller adalah sebagai berikut :
1. Penggerak pada mikrokontoler menggunakan bahasa pemograman assembly dengan berpatokan pada kaidah digital dasar sehingga pengoperasian sistem menjadi sangat mudah dikerjakan sesuai dengan logika sistem (bahasa assembly ini mudah dimengerti karena menggunakan bahasa assembly aplikasi dimana parameter input dan output langsung bisa diakses tanpa menggunakan banyak perintah). Desain bahasa assembly ini tidak menggunakan begitu banyak syarat penulisan bahasa pemrograman seperti huruf besar dan huruf kecil untuk bahasa assembly tetap diwajarkan.
2. Mikrokontroler tersusun dalam satu chip dimana prosesor, memori, dan I/O terintegrasi menjadi satu kesatuan kontrol sistem sehingga mikrokontroler dapat dikatakan sebagai komputer mini yang dapat bekerja secara inovatif sesuai dengan kebutuhan sistem.
3. Sistem running bersifat berdiri sendiri tanpa tergantung dengan komputer sedangkan parameter komputer hanya digunakan untuk download perintah
Universitas Sumatera Utara
instruksi atau program. Langkah-langkah untuk download komputer dengan mikrokontroler sangat mudah digunakan karena tidak menggunakan banyak perintah.
4. Pada mikrokontroler tersedia fasilitas tambahan untuk pengembangan memori dan I/O yang disesuaikan dengan kebutuhan sistem.
5. Harga untuk memperoleh alat ini lebih murah dan mudah didapat.
Arsitektur perangkat keras 89S51 mempunyai 40 kaki, 31 kaki digunakan untuk keperluan 4 buah port pararel. 1 port terdiri dari 8 kaki yang dapat di hubungkan untuk interfacing ke pararel device, seperti ADC, sensor dan sebagainya, atau dapat juga digunakan secara sendiri setiap bitnya untuk interfacing single bit septerti switch, LED, dll.
2.1.1.1 Spesifikasi penting AT89S51 :
a.
Kompatibel dengan keluarga mikrokontroler MCS51 sebelumnya
b.
8 KBytes 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 deprogram
Universitas Sumatera Utara
g.
3 buah 16 bit Timer/Counter
h.
8 sumber interrupt
i.
saluran full dupleks serial UART
j.
watchdog timer
k.
dua data pointer
l.
Mode pemrograman ISP yang fleksibel (Byte dan Page Model).
2.1.1.2 Pena – Pena Mikrokontrolerr AT89S51
Gambar 2.1 Konfigurasi Pin Mikrokontroler AT89S51
Universitas Sumatera Utara
Susunan pena – pena mikrokontroler AT89S51 dapat dijelaskan sebagai berikut :
1. Pin 1 sampai 8 (Port 1) merupakan port pararel 8 bit dua arah (bidirectional) yang dapat digunakan untuk berbagai keperluan (general purpose).
2. Pin 9 merupakan pin reset, reset aktif jika mendapat catuan tinggi.
3. Pin 10 sampai 17 (Port 3) adalah port pararel 8 bit dua arah yang memiliki fungsi pengganti sebagai berikut :
Tabel 2.1 Fungsi masing-masing pin pada port 3
Universitas Sumatera Utara
4. Pin 18 sebagai XTAL 2, keluaran osilator yang terhubung pada kristal.
5. Pin 19 sebagai XTAL 1, masukan ke osilator berpenguatan tinggi, terhubung pada kristal.
6. Pin 20 sebagai Vss, terhubung ke 0 atau ground pada rangkaian.
7. Pin 21 sampai 28 (Port 2) adalah port pararel 8 bit dua arah. Port ini mengirim byte alamat bila pengaksesan dilakukan pada memori eksternal.
8. Pin 29 sebagai PSEN (Program Store Enable) adalah sinyal yang digunakan untuk membaca, memindahkan program memori eksternal (ROM / EPROM) ke mikrokontroler (aktif low).
9. Pin 30 sebagai ALE (Address Latch Enable) untuk menahan alamat bawah selama mengakses memori eksternal. Pin ini juga berfungsi sebagai PROG (aktif low) yang diaktifkan saat memprogram internal flash memori pada mikrokontroler (on chip).
10.Pin 31 sebagai EA (External Accesss) untuk memilih memori yang akan digunakan, memori program internal (EA = Vcc) atau memori program eksternal (EA = Vss), juga berfungsi sebagai Vpp (programming supply voltage) pada saat memprogram internal flash memori pada mikrokontroler.
11.Pin 32 sampai 39 (Port 0) merupakan port pararel 8 bit dua arah. Berfungsi sebagai alamat bawah yang dimultipleks dengan data untuk mengakses program dan data memori eksternal.
12. Pin 40 sebagai Vcc, terhubung ke +5 V sebagai catuan untuk mikrokontroler.
Universitas Sumatera Utara
2.1.1.3 Struktur Pengoperasian Port
Struktur pengoperasian port terdiri atas :
1. Port Input/Output One chip mikrokontroller ini memiliki 32 jalur port yang dibagi menjadi 4 buah port 8 bit. Masing-masing port ini bersifat bidirectional sehingga dapat digunakan sebagai input port atau output port. Pada bok diagram AT89C51 dapat dilihat latch tiap bit pada keempat port : port 0, port 1, port 2, port 3. Masing-masing jalur port terdiri dari latch, output driver dan input buffer. Port 0 dan port 2 dapat digunakan sebagai saluran data dan alamat. Port 0 sebagai saluran data, sedangkan port 2 sebagai saluran data dan alamat sekaligus yang dimultipleks. Untuk mengakses memory eksternal, port 0 akan mengeluarkan alamat bawah memori eksternal yang dimultipleks dengan data yang dibaca dan ditulis. Sedangkan port 2 mengeluarkan bagian atas memory eksternal sehingga total alamat semuanya 16 bit. Khusus untuk port 3 mempunyai fungsi yang lain diluar sebagai port. Fungsi ini akan berbeda untuk tiap-tiap kaki dengan urutan sebagi berikut : -
Port 3.0
: port input serial, RXD.
-
Port 3.1
: port output serial, TXD.
-
Port 3.2
: input interupsi eksternal, INT0.
-
Port 3.3
: input interupsi internal, INT1.
-
Port 3.4
: input eksternal untuk timer /counter 0, T0.
-
Port 3.5
: input eksternal untuk timer /counter 1, T1.
Universitas Sumatera Utara
-
Port 3.6
: sinyal tulis memori eksternal, WR.
-
Port 3.7
: sinyal baca memori eksternal, RD.
Latch yang digunakan dapat dipresentasikan dengan D-FlipFlop. Data dari bus internal di-latch saat CPU memberi sinyal tulis ke latch dan output latch diberikan ke bus internal sebagai respon dari sinyal baca pin dari CPU. Beberapa instruksi yang berfungsi membaca port mengaktifkan sinyal baca latch dan yang lain mengaktifkan sinyal baca pin. Port 1, port 2, dan port 3 mempunyai pull-up internal, sedangkan port 0 dengan open drain. Masing-masing jalur I/O dapat digunakan sebagai input atau output. Bila digunakan sebagai input, port latch harus 1. Untuk port 1, 2 dan 3, pin-pin akan di pull-up tinggi oleh pull-up internal, dan bisa juga di pull-up rendah dengan sumber eksternal. Port 0 tidak mempunyai pull-up internal. Pull-up fet hanya akan digunakan saat akses memori eksternal. Jika isi latch diatur pada keadaan 1 maka port ini akan berfungsi sebagai impedansi tinggi dan jika sebagai output akan bersifat open drain. Demikian halnya dengan port 2 yang digunakan untuk multipleks data dan alamat 16 bit sebesar 16 Kbyte mempunyai konfigurasi yang sama dengan yang dimiliki port 0. Sedangkan pada port 3 yang bisa dimanfaatkan untuk kaki kontrol mempunyai pengaturan fungsi output saja. Pada port ini dilengkapi dengan rangkaian pull-up internal. Penggunaan port 3 dapat dialamati langsung sebagai kontrol langsung pada suatu tugas yang dilakukan oleh fungsi yang dimiliki oleh port ini.
Universitas Sumatera Utara
2. Timer/Counter One chip mikrokontroller ini memilik dua timer yang dapat dikonfigurasikan beroperasi sebagai timer atau counter. Saat berfungsi sebagai timer, isi register timer ditambah 1 untuk tiap siklus mesin, sedangkan untuk fungsi counter isi register akan bertambah 1 setiap ada transisi sinyal pada pin input eksternal. Pada pemanfaatan sebagai counter, sinyal input yang dimaksudkan dapat berupa low level atau falling edge trigger. Counter akan mencacah setiap masukan yang ada sesuai inisialisasi harga awal dari counter pada nilai hitungan untuk tiap sampling. Inisialisasi harga awal ini berupa nilai preset negatif counter yang diatur sebelum counter dijalankan. Demikian halnya dengan pemanfaatan timer yang memerlukan inisialisasi awal berupa konstanta waktu yang menentukan sampai berapa lama akan terjadi roll over. Penentuan harga preset ini berhubungan dengan penggunaan frekuensi clock dari sistem penentu waktu sampling dari counter untuk mencacah suatu pulsa masukan dari luar dengan memanfaatkan kontrol interupsi yang ada serta pengaturan program. Sebagai tambahan pada pemilihan countr/timer, timer 0 dan timer 1 mempunyai 4 buah modul yang dapat dipilih dengan menentukan pasangan bit M0 dan M1 pada register TMOD. Untuk pemilihan timer/counter dikontrol dengan bit C/T di TMOD.
Universitas Sumatera Utara
Mode 0
Pada mode ini timer register dikonfigurasikan sebagai register 13 bit. Ke-13 bit register tersebut terdiri dari 8 bit TH1 dan 5 bit TL1. Selama perhitungan roll over dari semua 1 ke semua 0, TF1 (Timer Interrupt Flag) di set. Pada dasarnya operasi mode 0 sama untuk timer 0 dan timer 1.
Mode 1 Mode 1 adalah timer register 16 bit dan dapat generator boudrate. Operasi mode 1 sama dengan mode 0.
Mode 2 Mode 2 adalah timer register dengan konfigurasi 8 bit counter (TL1) auto reload. Overflow dari TL1 tidak hanya menset TF1 tapi juga mereload TL1 dengan isi TH1. Setelah reload isi TH1 tidak akan berubah. Operasi mode ini juga sama dengan timer/counter 0.
Mode 3 Pada mode ini timer 1 tidak akan bekerja. Sedangkan timer 0 menjadi 2 counter yang terpisah. TL0 digunakan sebagai bit kontrol untuk timer 0; C/T, GATE, TR0, INT0, dan TF0 seolah-olah mengontrol timer 1.
Universitas Sumatera Utara
2.1.1.4 Proses Pembacaan Proses pembacaan dapat dianologikan sebagai proses membaca dari halaman tertentu dari sebuah buku dimana pada proses tersebut dibutuhkan : 1. Halaman dari tulisan yang akan dibaca = Alamat Memori
2. Perintah untuk membaca = Sinyal Read untuk Data dan Sinyal PSEN untuk kode. Pembacaan Data dari Memori Eksternal Instruksi MOV DPTR,#[address]
; Penentu lokasi data yang akan dibaca
MOVX A,@DPTR
; Perintah pembacaan data sekaligus mengambil data tersebut dan disimpan ke Akumulator A Timing
Stuktur Port dan Cara Kerja Pada dasarnya mikrokontroler Atmel keluarga 51 mempunyai dua kelompok instruksi untuk mengeluarkan data ke port parallel. •
Kelompok instruksi pertama bekerja pada port seutuhnya artinya 8 jalur dari per port bersangkutan,misalnya MOV P3,#0FFh membuat kedelapan jalur port 0 semuanya dalam kondisi logika ‘1’.
•
Kelompok instruksi kedua berpengaruh pada salah satu jalur atau bit dari port,misalnya instruksi SETB P3.4
Universitas Sumatera Utara
artinya men-set bit 4 dari port atau (bit 4 dari port 3 = 1 a xxx1 xxx) atau instruksi CLR P3.3 digunakan untuk menolkan bit 3 dari port 3 (bit dari port 3 = 0 a xxxx 0xxx). Selain itu port parallel bisa pula dipakai untuk menerima masukan sinyal digital dari luar mikrokontroler. •
Instrksi MOV A,P3 digunakan untuk membaca data digital pada seluruh bit (bit 0 hingga bit 7 = 8 bit)port 3 kemudian menyimpannya di akumlator.
Pembacaan data bisa juga dilakukan hanya pada satu bit port saja,misalnya instruksi JNBP3.7,$ digunakan untuk memantau bit P3.7,jika P3.70,mikrokontroler akan kembali melaksanakan instrksi terssebut (lompat ke label $ artinya ke lokasi tersebut lagi),mikrokontroler akan meneruskan kembali instruksi berikutnya jika P3.7= 1.
Instruksi MOVC A,@A+DPTR Insturuksi MOVC A,@A+DPTR termassuk mode penglamatan kode tidak langsung (code indirect addressing mode),mempunyai cara penyebutan data dalam memori program yang dilakukan secara tak langsung.Dalam instruksi ini MOV diganti dengan MOVC,tambahan huruf C tersebut dimaksud untuk membedakan bahwainstruksi ini digunakan untuk memori program..Tanda @ digunakan untuk menandai A+DPTR yang berfungsi untuk menyatakan lokasi memori isinya disalin ke akumolator A,dalam hal ini nilai yang tersimpan dalam DPTR (Data Pointer Register 2 byte) ditambah dengan nilai yang tersimpan dalam akumulator A (1 byte) sama dengan lokasi memori program yang ada.
Universitas Sumatera Utara
Instruksi INC DPTR Agak berbeda dengan instriksi INC A atau INC Rx (x = 0 s/d 7) instruksi ini adalah satu – satunya instruksi penaikan (increment) yang bekerja pada data 16 bit yaitu DPTR, yaitu menaikan penunjuk data sebesar 1.Suatu limpahan pada byte rendah (low order) dari DPTR atau DPL (Data Pointer Low) akan menaikann byte tinggi (high order) yaitu tersimpan di DPH (Dta Pointer High) sebesar 1.Flag tidak terpengaruh.Misalnya DPH = 12 dan DPL = Feh,maka instruksi : INC DPTR INC DPTR INC DPTR Akan menghasilkan DPH = 13h dan DPL = 01H.
2.1.1.5 Sistem Interupsi Mikrokontroller AT89C51 mempunyai 5 sumber interupsi. Dua sumber merupakan sumber eksternal INT0 dan INT1. Kedua interupsi eksternal dapat aktif level atau aktif transisi tergantung isi IT0 dan IT1 pada regiter TCON. Interupsi timer dan timer 1 aktif pada saat timer yang sesuai mengalami roll over. Interupsi serial dibangkitkan dengan melakukan operasi OR dan R1 dan T1. Tiap-tiap sumber interupsi dapat enable atau disable secara software. Tingkat prioritas semua sumber interupsi dapat diprogram sendiri-sendiri dengan set atau clear bit pada SFRs IP (Special Function Register’s Interrupt Priority). Interupsi tingkat rendah dapat diinterupsi oleh interupsi yang mempunyai tingkat lebih tinggi, tetapi tidak sebaliknya. Walaupun demikian interupsi yang mempunyai tingkat lebih tinggi tidak bisa menginterupsi sumber interupsi yang lain.
Universitas Sumatera Utara
2.1.1.6 Reset Input reset dilakukan melalui pin RST. Reset dilakukan selama 2 siklus mesin dan pin RST tinggi. Dalam hal ini CPU akan mengaktifkan internal reset, rangkaian reset dapat dilihat 2.1.1.6. Karena sinyal reset eksternal tidak sinkron dengan clock internal maka pin RST diambil pada state 5 (SS) dan fas setiap siklus mesin. Aktifis port tetap dipertahankan selama 19 priode osilator sesudah logika 1 diambil pada kaki RST.
VCC
10uF
RST
8.2kohm
Gambar 2.2 Power On Reset
2.1.1.7 Serial Interface Selain komunikasi data paralel melalui port-port yang dimiliki oleh mikrokontroler juga terdapat sarana untuk komunikasi data secara seri yaitu sebagai shift register atau sebagai universal asynchronous receiver transmitter tergantung pada pengaturan mode yang terdapat pada register SCON. Kedua register penerima dan pengirim dari port serial diakses di register SBUF.
Universitas Sumatera Utara
2.1.2 CCTV (Closed Circuit Television) CCTV (Closed Circuit Television) atau dalam bahasa Indonesianya yaitu Telivisi dengan Sirkuit Tertutup adalah perangkat peralatan pengawas (surveillance) yang memonitor keadaan sekitar melalui kamera pengintai yang terdiri dari kamera dan system DVR (Digital Video Recording). CCTV memiliki kamera yang akan mentransmisikan image video ke tempat yang spesifik dan jumlah televisi yang terbatas. Perbedaannya dengan bentuk televisi CCTV tidak dapat menerima monitor lain, bahkan jika di area yang sama sekalipun, kecuali monitor tersebut telah masuk ke dalamarea CCTV.
2.1.2.1
Bagian – Bagian Dari CCTV
Suatu CCTV SYSTEM terdiri dari beberapa komponen yang saling berkaitan untuk membantu pemiliknya memantau kejadian secara real time ataupun melakukan play-back kejadian yang telah lampau. Untuk dapat mencapai fungsi secara optimum sebuah CCTV System umumnya terdiri dari beberapa komponen seperti: •
CCTV Camera (Kamera Pemantau): alat yang yang ditempatkan pada lokasi yang akan dimonitor untuk menangkap gambar video. Gambar video yang dikirim bisa berbentuk analog ataupun digital.
•
Recorder (Alat Perekam): alat yang digunakan untuk merekam video yang dikirim oleh CCTV Camera. Perekaman dapat dilakukan secara analog ataupun digital.
Universitas Sumatera Utara
•
Monitor: alat yang dipakai melihat gambar video secara real time ataupun video hasil rekaman. Monitoring dapat dilakukan secara lokal (pada area gedung) ataupun secara remote
•
CCTV Motorized Controller: alat ini digunakan untuk menggerakkan PTZ (Pan Tilt Zoom) motor yang terdapat pada CCTV Camera.
2.1.3 Perancangan Power Supply (PSA)
Rangkaian ini berfungsi untuk mensupplay tegangan ke seluruh rangkaian yang ada. Rangkaian PSA yang dibuat terdiri dari dua keluaran, yaitu 5 volt dan 12 volt, keluaran 5 volt digunakan untuk mensupplay tegangan ke seluruh rangkaian, sedangkan keluaran 12 volt digunakan untuk mensuplay tegangan ke relay. Rangkaian power supplay ditunjukkan pada gambar 3.2 berikut ini :
Gambar 2.3 Rangkaian Power Supplay (PSA)
Universitas Sumatera Utara
Trafo CT
merupakan trafo stepdown yang berfungsi untuk menurunkan
tegangan dari 220 volt AC menjadi 12 volt AC. Kemudian 12 volt AC akan disearahkan dengan menggunakan dua buah dioda, selanjutnya 12 volt DC akan diratakan oleh kapasitor 3300 μF. Dua buah dioda berikutnya berfungsi untuk menahan arus yang ada pada regulator agar tidak balik jika terjadi penarikan arus sesaat dari tegangan 12 volt. Regulator tegangan 5 volt (7805) digunakan agar keluaran yang dihasilkan tetap 5 volt walaupun terjadi perubahan pada tegangan masukannya. LED hanya sebagai indikator apabila PSA dinyalakan. Tegangan 12 volt DC langsung diambil dari keluaran 2 buah dioda penyearah.
2.1.4 Motor Stepper
Motor stepper adalah motor listrik yang dikendalikan dengan pulsa-pulsa digital, bukan dengan memberikan tegangan yang terus-menerus. Deretan pulsa diterjemahkan menjadi putaran shaft, dimana setiap putaran membutuhkan jumlah pulsa yang ditentukan. Satu pulsa menghasilkan satu kenaikan putaran atau step, yang merupakan bagian dari satu putaran penuh. Oleh karena itu, perhitungan jumlah pulsa dapat diterapkan untuk mendapatkan jumlah putaran yang diinginkan. Perhitungan pulsa secara otomatis menujukkan besarnya putaran yang telah dilakukan, tanpa memerlukan informasi balik(feedback).Ketepatan kontrol gerak motor stepper terutama dipengaruhi oleh jumlah step tiap putaran; semakin banyak jumlah step, semakin tepat gerak yang dihasilkan.
Universitas Sumatera Utara
Untuk ketepatan yang lebih tinggi, beberapa driver motor stepper membagi step normal menjadi setengah step(half step) atau mikro step.
Pada dasarnya motor stepper dikelompokkan menjadi 3 jenis, yaitu:
a. Permanent Magnet (PM)
b. Variable Reluctance (VR)
c. Permanent Magnet – Hybrid (PM-H).
Dilihat dari lilitannya motor stepper terbagi menjadi 2 jenis yaitu :
a. Motor Stepper Unipolar
Motor stepper unipolar terdiri dari dua lilitan yang memiliki center tap. Center tap dari masing masing lilitan ada yang berupa kabel terpisah ada juga yang sudah terhubung didalamnya sehingga center tap yang keluar hanya satu kabel. Untuk motor stepper yang center tapnya ada pada masing – masing lilitan kabel inputnya ada 6 kabel. Namun jika center tapnya sudah terhubung di dalam kabel inputannya hanya 5 kabel. Center tap dari motor stepper dapat dihubungkan ke pentanahan atau ada juga yang menghubungkannya ke +VCC hal ini sangat dipengaruhi oleh driver yang digunakan. Sebagai gambaran dapat dilihat konstruksi motor stepper unipolar pada gambar berikut:
Universitas Sumatera Utara
Gbr 2.4 Konstruksi Motor Unipolar
b. Motor Stepper Bipolar
Motor stepper bipolar memiliki dua lilitan perbedaaan dari tipe unipolar adalah bahwa pada tipe bipolar lilitannya tidak memiliki center tap. Keunggulan tipe bipolar yaitu memiliki torsi yang lebih besar jika dibandingkan dengan tipe unipolar untuk ukuran yang sama. Pada motor stepper tipe ini hanya memiliki empat kabel masukan. Namun ntuk menggerakan motor stepper tipe ini lebih rumit jika dibandingkan dengan menggerakan motor stepper tipe unipolar. Sebagai gambaran dapat dilihat konstruksi motor stepper bipolar pada gambar berikut :
Gbr 2.5 Konstruksi Motor Syepper Bipolar
Universitas Sumatera Utara
2.1.5 PhotoDioda
Fotodioda adalah suatu jenis dioda yang resistansinya berubah-ubah kalau cahaya yang jatuh pada dioda berubah-ubah intensitasnya. Dalam gelap nilai tahananya sangat besar hingga praktis tidak ada arus yang mengalir. Semakin kuat cahaya yang jatuh pada dioda maka makin kecil nilai tahanannya, sehingga arus yang mengalir semakin besar. Fotodioda ini digunakan terutama sebagai saklar elektronik yang bereaksi akibat perubahan intensitas cahaya.
Fotodioda merupakan sensor cahaya semikonduktor yang dapat mengubah besaran cahaya menjadi besaran listrik. Fotodioda merupakan sebuah dioda dengan sambungan pn yang dipengaruhi cahaya dalam kerjanya. Cahaya yang dapat dideteksi oleh fotodioda ini mulai dari cahaya infra merah, cahaya tampak, ultra ungu sampai dengan sinar-X. Aplikasi fotodioda mulai dari penghitung kendaraan di jalan umum secara otomatis, pengukur cahaya pada kamera serta beberapa peralatan di bidang medis.
Gbr 2.6 Simbol Photodioda
Prinsip kerja dari fotodioda jika sebuah sambungan-pn dibias maju dan diberikan cahaya padanya maka pertambahan arus sangat kecil sedangkan jika sambungan pn dibias mundur arus akan bertambah cukup besar. Cahaya yang dikenakan pada fotodioda akan mengakibatkan terjadinya pergeseran foton yang akan
Universitas Sumatera Utara
menghasilkan pasangan electron-hole dikedua sisi dari sambungan. Ketika elektronelektron yang dihasilkan itu masuk ke pita konduksi maka elektron-elektron itu akan mengalir ke arah positif sumber tegangan sedangkan hole yang dihasilkan mengalir ke arah negatif sumber tegangan sehingga arus akan mengalir di dalam rangkaian. Besarnya pasangan elektron ataupun hole yang dihasilkan tergantung dari besarnya intensitas cahaya yang dikenakan pada fotodioda.
2.1.6 Sensor Inframerah
Sensor adalah peralatan yang digunakan untuk mengubah suatu besaran fisik menjadi besran listrik sehingga dapat dianalisa demgnan rangkain tertentu,hamper seluruh rangkaian elektronika mempunyai sensor didalamnya. Prinsip kerja dari alat ini adalah mengubah energi dari foton menjadi electron. Idelnya satu foton dapat membangkitkan satu electron. Infra merah adalah radiasi lektromagnetik dari panjang gelombang lebih panjang dari cahaya tampak, tetapi lebih pendek dari radiasi gelombang radio. Radiasi inframerah jangkuan tiga “orde” dan memiliki panjang gelombang antara 700 nm dan 1 mm.
Infra merah banyak digunakan pada komunikasi jarak dekat,contoh paling umum pemakaian IR adalah pada remote control. Gelombang IR mudah dibuat,harganya rrlatif murahdan lebih bersifat directional tak dapat menembus tembok atau benda gelap serta memiliki fluktuasi daya tinggi dan dapat diinteferensi oleh cahaya matahari.
Universitas Sumatera Utara
Pengirim dan penerima IR menggunakan Emiting Dioda (LED) dan Photo Sensitive Diode (PSD). Infra merah cukup efektif digunakan jika alat yang dikontrol terdapat pada lokasi yang sama dan tidak terlalu jauh (kuang lebih 10 meter dan tidak ada penghalang). Berneda dengan LED biasa,LED Infra merah pada penggunaanya dapat diaktifkan dengan :
1. Tegangan DC untuk transmisi/sensor jarak dekat 2. Tegangan AC (30 – 40 KHz) untuk transmisi/sensor jarak jauh.
Komponen ini akan mengubah nergi cahaya,dalam hal ini cahaya infra merah menjadi pulsa – pulsa sinyal. 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.
Prinsip utama dari rangkaian sensor ini seperti layaknya sebuah saklar yang memberikan perubahan tegangan apabila terdapat penghalang diantara tranceiver dan receiver. Sensor ini memiliki dua buah piranti yaitu rangkaian pembangkit/pengirim (Led Infra Merah) dan rangkaian penerima (Fotodioda).
Universitas Sumatera Utara
Rangkaian pembangkit/pengirim memancarkan sinar infra merah, kemudian pancarannya diterima oleh penerima (fotodioda) sehingga bersifat menghantar akibatnya tegangan akan jatuh samoai sama dengan tegangan ground (0). Dan sebaliknya apabila tidak mendapat pancaran sinar infra merah maka akan mnghasilkan tegangan.
2.17 Buzzer
Rangkain alarm adalah rangkaian yang berfungsi untuk memberikan sinyal informasi ketika terjadi sebuah kaeadaan dimana saat photodiode yang terletak disekitar etalase terganggu.Dalam proyek ini buzzer digunakan sebagai sebagai alarm.Buzzer akan mnengeluarkan suara dengan frekuensi 300 – 600 Hz.
Universitas Sumatera Utara
2.2 Perangkat Lunak 2.2.1 Bahasa Assembly Bahasa yang digunakan untuk memprogram IC mikrokontroler AT89S52 adalah bahasa assembly untuk MCS-51. angka 51 merupakan jumlah instruksi pada bahasa ini hanya ada 51 instruksi. Dari 51 instruksi, yang sering digunakan orang hanya 10 instruksi. Instruksi –instruksi tersebut antara lain : 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
Universitas Sumatera Utara
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 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.
Universitas Sumatera Utara
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 ............. TUNDA: ................. RET
Universitas Sumatera Utara
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 .................
Universitas Sumatera Utara
7. Instruksi JNB
(Jump if Not bit)
Instruksi ini merupakan perintah untuk lompat ke alamat tertentu, jika pin yang dimaksud berlogika Low (0). Contoh: 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..
Universitas Sumatera Utara
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
.............
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
.............
Universitas Sumatera Utara
2.2.2. Software 8051 Editor, Assembler, Simulator (IDE) Instruksi-instruksi yang merupakan bahasa assembly tersebut dituliskan pada sebuah editor, yaitu 8051 Editor, Assembler, Simulator (IDE). Tampilannya seperti di bawah ini.
Gambar 2.7 8051 Editor, Assembler, Simulator (IDE) Setelah program selesai ditulis, kemudian di-save dan kemudian di-Assemble (di-compile). 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.
Universitas Sumatera Utara
2.2.3. 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 berikut ini
Gambar 2.8 ISP- Flash Programmer 3.a 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 mikrokontroller
Universitas Sumatera Utara