pembuatan multiplekser demultiplekser 24 kanal pada sistem pensaklaran lampu listrik berbasis mikrokontroler AT89S51
BAB I
PENDAHULUAN
1.1. Latar Belakang
Perkembangan teknologi chip mikrokontroler yang begitu pesat telah berkembang menjadi salah satu sistem kendali yang lebih efisien dan ekonomis digunakan dunia industri peralatan listrik. Teknologi Mikrokontroler telah menjangkau berbagai sisi bidang pekerjaan kehidupan manusia diantaranya bidang industri, hiburan dan pendidikan. Saat ini perkembangan teknologi Mikrokontroler telah mampu memberi nilai yang lebih ekonomis pada peralatan-peralatan listrik.
Mikrokontroler sebagai teknologi baru yaitu teknologi semikonduktor kehadirannya sangat membantu perkembangan dunia elektronika komputer. Dengan arsitektur yang lebih praktis dan sederhana tetapi memuat banyak kandungan transistor yang terintegrasi, sehingga mendukung dibuatnya rangkaian elektronika yang lebih portable. Salah satu penerapannya pada pembuatan multiplekser demultiplekser 24 kanal pada sistem pensaklaran lampu listrik berbasis mikrokontroler AT89S51, dimana alat ini dapat mengendalikan saklar on-off lampu listrik sebanyak 24 buah secara pararel dengan hanya memakai sepasang kabel penghubung.
Penulis tertarik membahas rancang bangun alat ini karena pada umumnya sistem pensaklaran on-off sebuah lampu listrik dibutuhkan kabel penghubung sepasang, dua lampu 3 kabel, dan 24 lampu dibutuhkan kabel penghubung 25 buah. Tetapi dengan memakai alat yang dirancang bangun penulis hanya membutuhkan sepasang kabel untuk menghubungkan saklar on-off 24 buah ke lampu listrik 24 buah juga.
Pemanfaatan mikrokontroler dalam perancangan alat ini sangat efisien dan ekonomis, selain harganya murah, rangkaian yang digunakan juga lebih simpel sehingga mudah dalam pemasangannya.
1.2. Rumusan Masalah
Dari uraian pada latar belakang, penulis merumuskan rumusan masalah sebagai berikut:
1. Bagaimana sistem pensaklaran on-off 24 lampu dihubungkan sepasang kabel
2. Bagaimana multiplekser demultiplekser digunakan pada jaringan listrik
3. Bagaimana program mikrokontroler melakukan fungsi sebagai mux demux.
1.3.Tujuan dan Manfaat Penulisan
1. Menerapkan mikrokontroler AT89S51 sebagai pengendali sistem pensaklaran on-off 24 lampu listrik secara multiplekser demultiplekser.
2. Rancang bangun mikrokontroler AT89S51 sebagai multiplekser 24 kanal atau pararel input seri output ( PISO ).
3. Rancang bangun demultiplekser dari IC 4094 atau seri input pararel output (SIPO).
4. Rancang bangun program driver mikrokontroler sebagai multiplekser demultiplekser.
5. Alat yang dirancang bangun ini bermanfaat sebagai salah satu sistem pensaklaran on-off pada instalasi listrik yang lebih ekonomis.
1.4. Batasan Masalah
Untuk memudahkan perancangan penerapan multiplekser demultiplekser 24 kanal pada pensaklaran on-off lampu listrik berbasis mikrokontroler dan keterbatasan pengetahuan yang dimiliki penulis dalam penyusunan tugas akhir ini. Maka penulis memberikan batasan masalah sebagai berikut :
1. Membahas sistem jaringan pensaklaran on-off pada lampu listrik.
2. Membahas hardware dan software yang hanya dipakai pada rancang bangun ini.
3. Tidak membahas teknik pembuatan chip mikrokontroler dan komponen pendukungnya.
4. Tidak menjabarkan asal usul persamaan rumus hanya penerapan saja.
5. Bahasa Pemrograman assembly sebagai software adalah bahasa assembly mikrokontroler keluarga MCS-51, seperlunya untuk kebutuhan.
1.5. Sistematika Penulisan.
Penulisan tugas akhir ini terdiri atas 5 bab dan masing-masing bab dibagi atas beberapa sub-bab dengan maksud agar penulisan ini lebih terperinci, mempermudah pembahasan dan pemahaman pada masing-masing bab.
Adapun isi setiap bab dan sub bab tersebut adalah sebagai berikut:
BAB I : PENDAHULUAN
1.1. Latar Belakang Masalah
1.2. Rumusan Masalah
1.3. Tujuan dan Manfaat
1.4. Batasan Masalah
1.5. Sistematika Penulisan
BAB II : LANDASAN TEORI
2.1. Multiplekser dan Demultiplekser
2.2. Mikrokontroler AT89S51
2.3. IC HEF 4094
2.4. Penguat Arus
2.5. Relay
2.6. Pemrograman Assembly MCS-51
BAB III : PERANCANGAN
3.1. Perancangan Blok Diagram Alat
3.2. Perancangan Sistem Minimum Mikrokontroler AT89S51
3.3. Perancangan Multiplekser
3.4. Perancangan Demultiplekser
3.5. Perancangan Penguat Penggerak Relay
3.6. Perancangan Perangkat Lunak
BAB IV : PENGUJIAN DAN PEMBAHASAN
4.1. Blok Diagram Pengujian Alat
4.2. Langkah-langkah Pengujian
4.3. Pembahasan
BAB V : KESIMPULAN DAN SARAN
5.1. Kesimpulan
5.2. Saran
DAFTAR PUSTAKA
LAMPIRAN
BAB II
LANDASAN TEORI
2.1. Multiplekser dan Demultiplekser
Multiplekser adalah suatu sistem yang dapat menerima data secara pararel dan mengiririmkannya secara serial. Demultiplekser adalah kebalikan dari multiolekser yaitu menerima data masukan secara serial dan mengeluarkannya secara pararl. Adapun blok diagram sistem multiplekser dan demultiplekser seperti ditunjukkan pada gambar 2.1a dan b.
|
M U X |
Saluran |
D E M U X |
|
|
| |||
|
| |||
|
|
| ||
|
| |||
|
|
a b
Gambar 2.1. a. Multipleksing dan b Demultipleksing
2.2. Mikrokontroler AT89S51
Mikrokontroler AT89S51 merupakan versi terbaru dibandingkan mikrokontroler AT89C51 yang telah banyak digunakan saat ini. Mikrokontroler AT89S51 merupakan mikrokontroler CMOS 8 bit dengan 4 Kbyte Flash Programmable and Erasable Read Only Memory (PEROM). Mikrokontroler ini berteknologi non volatile kerapatan tinggi dari Atmel yang kompatibel dengan keluaran mikrokontroler MCS-51 baik set instruksinya maupun pena-penanya.
Berikut ini adalah spesifikasi penting mikrokontroler AT89S51 :
- Kompatibel dengan keluarga mikrokontroler MCS-51,
- 4 Kbyte In-System Programming (ISP) flash memori dengan kemampuan 1000 kali tulis/hapus,
- tegangan kerja 4-5 V,
- bekerja dengan rentang frekuensi 0-33 Mhz,
- 128 x 8 bit RAM internal,
- 32 jalur I/0 yang dapat deprogram,
- tiga buah 16 bit timer / counter,
- saluran Full-duplex serial UART,
- dual data pointer,
- mode pemograman ISP yang fleksibel (byte dan page mode)
- tersedia dengan kemasan :
- 40 – Pin DIP
- 44 – Pin PICC
- 44 – Pin PQFP,
- hemat catu daya dan power down modes,
- watch dog timer,
- 6 buah sumber interupsi.
2.2.1. Pena-Pena Mikrokontroler AT89S51
Susunan pena-pena mikrokontroler AT89S51 seperti gambar 2.2 dapat dijelaskan sebagai berikut :
- Pena 1 sampai 8 adalah port 1, merupakan port parallel 8 bit dua arah (bidirectional) yang dapat digunakan untuk berbagai keperluan.
- Pena 9 (reset) adalah masukan reset (aktif tinggi). Pena ini dihubungkan dengan rangkaian power on reset yang terdiri dari sebuah resistor dan sebuah kapasitor.
- Pena 10 sampai 17 (port 3) adalah port parallel 8 bit dua arah yang memiliki fungsi pengganti. Fungsi pengganti meluputi TXD (transmitte data), RXD (Receive data), Int0 (Interupt 0), Int1 (Interrupt 1), T0 (Timer 0), T1 (Timer 1), WR (Write) dan RD (Read)
- Pena 18 (X-TAL 1) adalah pena masukan kerangkaian osilator internal sebubah osilator kristal atau sumber osilator luar dapat digunakan.
- Pena 19 (X-TAL 2) adalah pena keluar kerangkaian osilator internal. Pena ini dipakai bila menggunakan osilator Kristal.
- Pena 20 (ground) dihubungkan ke VSS atau ground.
- Pena 21 sampai 28 (port 2) adalah port parallel 8 bit dua arah (bidirectional). Port 2 ini mengirim byte alamat bila dilakukan pengaksesan memory external.
- Pena 29 adalah pena PSEN (Program Store Enable) yang merupakan sinyal pengontrolan yang membolehkan program memory external masuk ke dalam bus selama proses pemberian / pengambilan instruksi.
- Pena 30 adalah ALE (Address Latch Enable) yang digunakan untuk menahan alamat memori external selama pelaksanaan instruksi.
- Pena 31 (EA). Bila pena ini diberi logika tinggi (High) mikrokontroler melaksanakan instruksi dari ROM / PEROM ketika isi program counter kurang dari 4096. Bila diberi logika rendah (low), Mikrokontroler akan melaksanakan seluruh instruksi dari memori program luar.
- Pin 32 sampai 39 (port 0) adalah port parallel 8 bit (open drain) dua arah. Bila digunakan untuk mengakses program port ini akan memultipleks alamat memori dengan data.
- Pin 40 merupakan VCC, dihubungkan ke tegangan 4-5 V.
Konfigurasi pena-pena IC mikrokontroler AT89S51 ditunjukkan pada gambar 2.2.
Gambar 2.2 susunan pena – pena IC Mikrokontroler AT89S51
2.2.2 Blok Diagram Mikrokontroler AT89S51
Blok diagram mikrokontroler AT89S51 diperlihatkan pada gambar 2.3
Gambar 2.3 Blok diagram IC mikrokontroler AT89S51
2.2.3. Memory Program
Memory program atau ROM (Read Only memory adalah tempat penyimpanan data yang permanen. Memori program bersifat non-volatile artinya data-data yang telah disimpan dalam suatu alamat memori tidak akan hilang direset maka eksekusi dimulai dari alamat 0000h, setiap instruksi memiliki lokasi tetap dalam program. Interupsi menyebabkan CPU melompat ke lokasi tersebut dimana pada lokasi tersebut terdapat subrutin yang harus dikerjakan, gambar 2.3 menunjukkan hubungan memori external dengan mikrokontroler.
Gambar 2.4 Hubungan memori eksternal dengan mikrokontroler
Gambar 2.4 merupakan susunan perangkat keras yang menggunakan EEPROM sebagai penyimpanan data. Port 0 dan port 2 digunakan untuk menghubungkan EEPROM, bus data dan bus alamat. Port 0 memultipleks alamat dan data. Port ini menirim byte kemudian port ini akan berada pada keadaan mengambang menunggu datangnya kode byte dari memori program. Selama waktu dari PC, sunyal ALE dikirimkan sehingga port 2 mengirimkan byte tinggi PC, lalu PSEN mengirimkan sinyal ke EEPROM agar mikrokontroler dapat membaca kode bytenya.
2.2.4. Memori Data
Memori data atau RAM (Random Acces Memory) adalah tempat penyimpanan data yang bersifat sementara. Memori ini bersifat volatile yaitu data akan hilang apabila satu daya terputus. Pada memory data dapat dilakukan pembacaan maupun penulisan.
2.2.5. Registrasi AT89S51
Register merupakan penampung data sementara yang terletak di dalam CPU mikrokontroler AT89S51 mempunyai register-register sebagai berikut :
1. Accumulator (Register A)
Akumulator merupakan sebuah register 8 Bit yang menjadi pusat dari semua operasi akumulator termasuk operasi aritmatika dan operasi logika.
2. Register B
Register ini memiliki fungsi yang sam dengan register A
3. Program Counter (PC)
Pencacah program (Program Counter) merupakan sebuah register 16 Bit yang selalu menunjukkan lokasi memori dari instruksi yang akan dibaca. Pada saat reset atau Power-Up, PC selalu bernilai 0000H dan nilai tersebut akan bertambah setiap sebuah instruksi diproses.
4. Data Pointer (DPTR)
Data pointer atau DPTR merupakan register 16 Bit yang terletak dialamat 82h untuk DPL dan 83h untuk DPH dan biasanya digunakan untuk mengakses data atau Source Code yang terletak di memori eksternal.
5. Stack Pointer (SP)
Stack pointer merupakan sebuah register 8 Bit yang mempunyai fungsi khusus sebagai penunjuk alamat atau data yang berada paling atas pada operasi penumpukan (Stack) RAM.
6. Program Status Word (PSW)
Register ini berisi beberapa bit status yang mencerminkan keadaaan mikrokontroler. Defenisi dari bit-bit dalam PSW seperti ditunjukkan pada tabel 2.1.
Tabel 2.1 Bit Bit dalam Program Status Word (PSW)
CY | AC | FO | RS 1 | RS 2 | AV | - | P |
· Bit Carru Flag (CY)
· Bit Carry (bit ke 8), carry akan menunjukkann apakah operasi penjumlahan mengndung borrow. Apabila operasi ini mengandun carry, maka bit ini akan diset satu, sedangkan juka mengandung borrow, maka bit ini akan diset nol. Carry dimanfaatkan sebagai bit kedelapan untuk operasi penggeseran (Shift) atau perputaran (Rotate).
· Bit Auxiliary Carry (AC)
Bit ini menunjukkan adanya carry (sisa) dari bit ketiga menuju bit keempat pada operasi aritmatika atau dari 4 bit terendah ke 4 bit tertinggi.
· Bit Flag (FO)
Bit ini menunjukkan apakah pada hasil operasi nol atau tidak. Apabila hasil operasinya adalah 0 maka bit diset 1 dan sebaliknya apabila hasil operasinya 1, maka bit ini akan diset 0.
· Bit Register Select (RS)
RSH dan RSL digunakan untuk memilih bank register. Delapan buah register ini merupakan register serbaguna.
7. Power Control Register
Power Control Register (PCON) terdiri atas beberapa macam bit control dengan konfigurasi seperti ditunjukkan pada tabel 2.2.
Tabel 2.2 Konfigurasi bit power control register
SMOP | - | - | - | GF 1 | GFO | PD | IDL |
MSB
· SMOP bernilai 1 untuk melipat gandakan baudrate saat serial Port dijalankan.
· General Porpose Flag digunakan untuk aplikasi user.
· Power Down bernilai 1 untuk mengatifkan mode power down.
· IDL bernilai 2 utnuk mengaktifkan model idle.
2.2.6. Struktur Pengoperasian Port
a. Port Input / Output
One Chip Mikrokontroler ini memiliki 32 jalur Port yang dibagi menjadi 4 buah Port 8 Bit. Masing-masing port ini bersifat bidirectional sehingga dapat digunakan sebagai input atau output port. Pada blok diagram 89S51 dapat dilihat latch tiap bit pada keempat port : port 1, port 2, port3, 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 memori eksternal, port 0 akan mengeluarkan alamat bawah memori eksternal yang dimultipleks dengan data yang dibaca dan ditulis. Sedangkan port 2 mengeluarkan bagian atas eksternal sehingga total alamat semuanya 16 byte.
1. Port 3.0 : Port input serial, RXD.
2. Port 3.1 : Port output serial , TXD
3. Port 3.2 : Input interpsi eksternal, INT 0.
4. Port 3.3 : Input interupsi internal, INT 1.
5. Port 3.4 : Input eksternal untuk timer/counter,0, T0.
6. Port 3.5 : Input interupsi eksternal, 1, T1
7. Port 3.6 : Sinyal tulis memori eksternal,WR.
8. Port 3.7 : Sinyal baca memori eksternal,RD.
Latch yang digunakan dapat dipresentasikan dengan Dflip-flop. Data dari bus internal di latch saat CPU memberi sinyal tulis ke latch ouput 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, Port 3, mempunyai pull-up internal, sedangkan port 0 sebagai input atau ouput open drain. Masing – masing jalur I/O dapat digunakan sebagai input atau output. Bila digunakan input, port latch harus 1. Untuk port 1, 2 dan 3, pin-pin akan di pull – up tinggi oleh pull – up internet, dan bisa juga di pull – up rendah dengan sumber eksternal.
Port 0 tidak mempunyai pull – up internal. Pull – up hanya digunakan saat akses eksternal memori. Jika isi latch diatur pada keadaan 1 maka port ini akan berimpedensi 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 mempunai konfigurasi yang sama dengan yang dimiliki port 0.
Sedangkan pada port 3 yang bisa dimanfaatkan untuk kaki control mempunyai pengaturan fungsi keluar saja. Pada port ini dilengkapi dengan rangkaian pull- up internal. Pengguanaan port 3 dapat diamati langusng sebagai kontrol langsung pada tugas yang dimiliki oleh port ini.
b. Timer / Counter
One chip mikrokontroler memiliki 2 timer yang dapat dikonfigurasikan beroperasi sebagai timer atau counter. Saat berfungsi sebagai timer, isi register timer ditambahkan 1 untuk tiap siklus mesin, sedangkan untuk fungsi counter isi register akan bertambah setiap ada transisi sinyal pada pin input eksternal. Pada pemanfaatan sebagai counter, sinyal masukan yang dimaksudkan dapat berupa low level atau falling adge tregger. Counter akan mencegah setiap masukan yang ada sesuai inisialisasi harga awal ini berupa nilai present negatif counter mencegah counter yang diatur sebelum counter dijalankan.
Demikian halnya dengan pemanfaatan timer yang memerlukan inisialisasi awal berupa konstanta waktu yang menentukan sampai lama akan terjadi roll over. Penentuan harga preset ini berhubungan dengan penggunaan frekuensi clolck dai sistem waktu sampling dari counter untuk mencegah suatu pulsa masukan dari luar dengan memafaatkan kontrol interupsi yang ada serta pengaturan program. Sebagai tambahan pada pemilihan counter / timer, timer 0, dan timer 1, mempunai 4 buah modul yang dapat dipilih dnegnan mentukan pasangan bit M0 dan MI pada regeister TMOD. Untuk pemiliha timer/ counter dikontrol dengan bit C/T di TMOD.
a. Mode 0
Pada 0 ini timer register dikonfigurasi sebagai register 13 bit. Ke- 13 bit regeister tersebut terdiri dari 8 bit THI dan 6 bit TLI. Selama perhitungan roll over dari semua 1 ke semua 0, TFI ( Timer Interrupt Flag) di set. Pada dasarnya operasi mode 0 sama untuk timer 0 dan timer 1.
b. Mode 1.
Mode 1 adalah timer register 16 bit dan dapat generator boudrate. Operasi mode 1 sama dengan operasi mode 0.
c. Mode 2.
Mode 2 adalah timer register dengan konfigurasi 8 bit counter (TLI)outo reload. Overflow dari TLI tidak hanya mester TFI dapat juga mereload TLI dengan nisi THI, setelah reload isi THI tidak akan berubah. Operasi mode ini juga sama dengan timer / counter 0.
d. Mode 3.
Pada mode ini timer 1 tidak bekerja . Sedangkan timer 0 menjadi counter yang terpisah. TL 0 digunakan sebagai but kontrol untuk timer 0, C.T, GATE, TRO, INTO dan TFO seolah – olah mengontrol timer 1.
2.2.7 Sistem Interupsi.
Mikrokontoller AT 89S51 mempunyai 6 sumber interupsi. Dua sumber merupakan sumber eksternal INTO dan INTI. Kedua interupsi eksternal dapat aktif level atau aktif transisi tergantung isi IT 0 R1 dan Ti pada register TCON. Interupsi timer dan timer 1 aktif pada saat timer yang sesuai mengalami roll – over. Interupsi serial dibangkitkan dengan melakukan operasi OR dan RI dan Ti. Tiap – tiap sumber interupsi dapat enable atau disable secara software.
Tingkat prioritas semua sumber interupsi dapat diprogram sendiri – sendiri dengan set atau clear bit. Interupsi tingkat rendah dapat diinterupsi oleh interupsi yang mempunyai tingkat yang lebih tinggi, tetapi tidak untuk sebaliknya. Walaupun demikian interupsi yang mempuyai tingkat lebih tinggi tidak bisa mengintrupsi yang lain.
2.2.8. CMHMOS Power Reduction Modes.
CHMOS lebih baik dipakai sebagai standar opersi untuk aplikasi dengan konsumsi daya yang relatif kritis. Versi CHMOS reduksi daya mempunyai mode (Ideal dan power down). Untuk mode power down diaktifkan dengan men-set register PCON I dimana on chip osilator dimatikan sehingga fungsi pada sistem terhenti dengan keadaan SFRs dan RAM internal tetap dipertahankan. Reset perangkat keras merupakan cara keluar dari mode ini, dimana reset SFRs didefinisikan kembali sedangkan RAM tetap diperhatikan. Pengesetan PCONO berarti mengaktifkan mode idle, pada mode ini internet clock dilepaskan dari CPU melalui gerbang logika denga interrupt, timer dan fungsi serial lainnya tetap diperhatikan. Untuk keluar dari mode ini melalui interrupt yang menyebabkan PCONO diclearkan secara hardware.
2.2.9. Serial Interface
Selain komunikasi data Interupsi melalui port- port yang dimiliki mikrokontroler juga terdapat sama untuk komunikasi secara seeri 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 ke register SBUF.
2.3. IC Pengerak 4094
Adapun konfigurasi pin-pin IC pengerak 4094 yang terlihat pada gambar 2.5:
Gambar 2.5. konfigurasi pin-pin IC pengerak 4094
Diagram logik bagian dalam IC 4094 seperti ditunjukkan pada gambar 2.6.
Gambar 2.6. 4094 Diagram Logic IC 4094
IC 4094 adalah sebuah alat pintu gerbang CMOS yang memiliki kecepatan tingi dan mempunyai pin yang dapat dihubungkan dengna 4094 dari seri 4000B. IC 4094 ini menurut jenisnya sesuai dengan standart JEDEC No. 7A.
IC 4094 merupakan daftar perubahan serial 8 tahap yang memiliki tempat penyimpanan yang digabungkan dengan masin-masing tahap pada strobing data dari serial input (D) ke buffred paralled output 3 tahap (QP0 ke QP7). Output parallel harus dihubungkan dengan mengarahkan ke garis alamat bersama. Data dirubah pada peralihan waktu berjalan maksimal (CP).
Data tiap-tiap shift register dipindahkan ke register tempat penyimpanan ketika input strobe (STR) tinggi. Data register tempat penyimpanan muncul pada output apabila output memungkinkan sinyal input (OE) tinggi.
Dua serial output (QS1 dan QS2) dapat dipakai pada perbandingan sebuah shift dari alat 4094. Data dapat dipakai pada QS1 pada tepi waktu yang berjalan maksimal untuk memungkinkan operasi kecepatan tinggi dalam system perbandingan secara bertahap yang mana waktu otomatisnya cepat. Informasi serial yang sama dapat dipakai pada QS2 dalam tahap tepi waktu berjalan minimal lanjutan dan untuk perbandingan alat 4094 ketika waktu otomatisnya lambat.
Table 2.3. Tabel Fungsi IC 4094
Clock | Out enable | Strobe | Data | Paralel Out | Serial Output | ||
1 | 0 | X | X | OC | QN | QS | QS |
0 | 0 | X | X | OC | OC | Q7 | NC |
1 | 1 | 0 | X | NC | NC | Q7 | NC |
1 | 1 | 1 | 0 | 0 | QN-1 | Q7 | NC |
1 | 1 | 1 | 1 | 1 | QN-1 | Q7 | NC |
0 | 1 | 1 | 1 | NC | NC | NC | Q7 |
2.3. Penguat
Penguat sinyal dapat dibangun berbasis transistor, Op-Amp, trafo, dan lain-lain. Penguat digunakan untuk memperkuat sinyal masukan yang masih lemah supaya menjadi lebih kuat sesuai dengan kebutuhan.
Transistor sebagai penguat penggerak banyak jenisnya antara lain : penguat commond basis, penguat commond emitor dan penguat commond kolektor. Penguat commond kolektor pada umumnya digunakan sebagai penguat arus (penggerak).
2.3.1. Penguat Penggerak
Suatu transistor persambungan terdiri dari silicon Kristal (germanium) dimana satu silicon tipe-N diantarai dua lapisan tipe parallel, system transistor ini disebut dengan transistor P-N-P. kemungkinan lain, transistor terdiri dari satu lapisan tipe-P dan diapit oleh dua lapisan tipe-N, transistor ini disebut transistor N-P-N. system lapisan semi konduktor ini sangat kecil dan ditutup rapat terhadap uap air dalam kotak logam atau plastik. Teknik pembuatan transistor ada empat yang dikembangkan yaitu : tipe ditumbukkan, tipe campuran, tipe difusi, tipe epitaksi. Ketiga kaki transistor dikenal sebagai emitir (penyebar), basis (landasan), kolektor (pengumpul). Panah pada emitor menyatakan arah aliran arus apabila persambungan emitor-basis diberi prategangan kedepan.
Dalam kedua masalah tersebut arus emitor, basis, kolektor (IE, IB, IC) dianggap positif apabila harus mengalir pada transistor. Simbol VEB,VCB,VCE adalah berturut-turut tegangan emitor basis, kolektor basis dan kolektor emitor. Apabila tidak ada tegangan pada persambungan emitor-basis, maka semua arus-arus transistor sama dengan 0.
Transistor dapat digunakan untuk fungsi-fungsi yang berbeda seperti digunakan sebagai penguat dan juga dapat digunakan sebagai saklar elektronik tergantung rancangan kita.
Transistor berfungsi sebagai saklar artinya transistor dioperasikan pada dua titik kerja yaitu pada daerah jenuh (satu rasi) dan daerah sumbat (cut off). Pada saat transistor dalam keadaan jenuh, maka resistansi antara kolektor dan emitor sangat kecil dan secara ideal sama dengan nol. Maka transistor tersebut sama dengan saklar yang sedang menutup, sedangkan pada keadaan cut off adalah keadaan transistor pada saat normal, dimana keadaan resistansiantara kolektor dan emitornya sangat besar, pada keasaan ini transistor seperti saklar yang sedang terbuka (off). Gambar 2.5 memperlihatkan rangkaian transistor sebagai saklar dan kurva karakteristik transistor.
a.
Gambar Rangkaian Dasar Transistor Sebagai Penguat
b.
Gambar 2.5. Kurva Karakteristik Transistor
Pada gambar 2.5 a dan b dapat diperhatikan rangkaian transistor sebagai saklar dan kurva karakteristik transistor. Dari gambar dapat diturunkan rumus IC dan IB sebagai berikut :
VB = IB . Rb + VBE
Arus kolektor (Ic) didapat :
Vcc = Ic . Rc + VCE
Untuk penguatan arus didapat :
2.4. Osilator
Osilator pada dasarnya adalah sebuah penguat berisolasi tanpa eksistansi dari sinyal luar. Fungsi osilator adalah untuk membangkitkan sinyal-sinyal sinus yang memiliki frekuensi dan amplitudo yang berubah-ubah dengan waktu tertentu. Keluarannya bisa berupa sinusoidal, pulsa, segitiga dan gigi gergaji. Rangkaian-rangkaian seperti ini dipakai dalam semua peralatan elektronik.
Pada umumnya osilator dibangun dari komponen-komponen resistor, inductor, kapasitor, transistor, Op-Amp. Sebagian osilator beroperasi pada system penguat loop umpan balik positif dan umpan balik negative. Blok diagram system kerja osilator seperti gambar 2.6.
Gambar 2.6 Blok Diagram Kerja Osilator
Dari gambar 2.6 dapat diturunkan persamaan sebagai berikut :
XO = A . X
X = XB + Xi
Dimana :
Xi = input
A = Penguatan
B = Umpan balik
XO = Output
2.4.1. Osilator Kristal
Osilator kristal dibentuk dari sebuah Kristal kuarsa dan tourmaline yang dicampur dan diletakkan dalam suatu wadah untuk menghindari interferensi (pengaruh dari luar) dan tidak terpengaruh pada perubahan suhu.
Hamper semua peralatan komunikasi modern menggunakan osilator Kristal, karena osilator ini tidak akan bergeser (shift) lebih dari beberapa Heartz dari frekuensi dasarnya. Kegunaan dari Kristal ini sebagai suatu unsure pengatur frekuensi dari rangkaian osilator. Dengan hubungan LC yang ditala. Kristal dapat menggantikan suatu keseluruhan rangkaian tangki LC, atau dapat juga digunakan suatu reaktansi-reaktansi dalam sebuah rangkaian tangki. Kalau Kristal piezoelektris, biasanya kuarsa mempunyai lempengan elektroda pada permukaan yang berhadapan dan kalau suatu potensial diberi antara elektroda-elektroda gaya akan diberikan pada muatan terikat didalam Kristal. Dan suatu system elektromagnetis terbentuk yang akan menggetarkan, kalau secara cermat dirangsang. Frekuensi resonansi tergantung pada ukuran Kristal bagaimana permukaan diarahkan terhadap sumbunya dan bagaimana peralatan ini dipasang. Frekuensi berada diantara 1Khz sampai ratusan Mhz, dan Q berada diantara ribuan sampai ratus ribuan Hz sesuai dengan yang tersedia dipasaran. Harga Q yang sangat besar ini dan kenyataannya bahwa karakteristik kuarsa sangat stabil menurut waktu dan temperature mengakibatkan stabilisasi yang istimewa dari osilator Kristal. Pada gambar 2.7. ditunjukkan symbol dari komponen Kristal, dan rangkaian ekivalen dari Kristal tersebut.
Gambar 2.7. A). Simbol Osilator Kristal
B). Rangkaian Ekivalen
Frekuensi saat terjadi resonansi :
XL=XC
wL = 1/wc
2.5. Relay
Relay adalah komponen yang menggunakan magnet listrik yang dapat mengubah posisi saklar sewaktu dialiri arus listrik. Fungsi umumnya adalah sebagai saklar yang mengontrol arus lebih besar dengan menggunakan arus yang lebih kecil yang berarti kumparan sebagai pengontrol pensaklaran.
Berdasarkan inputnya, relay dibagi menjadi dua bagian, yaitu relay AC dan relay DC. Pada pemakaian relay DC dicatu oleh sumber arus searah sedangkan relay AC dicatu oleh arus bolak-balik. Pada dasarnya relay terdiri dari lilitan kawat yang digulung pada suatu inti yang diperkuat dari besi lunak, seperti gambar 2.8. sewaktu arus control kecil melewati komponen, inti besi lunak akan magnetisasi. Gerakan armature ini akan menutup posisi 1 dan 2 dan akan membuka posisi 2 dan 3 dengan kata lain, gerakan armature tadi telah mengubah posisi 1 dan 3. Posisi-posisi ini dapat dipakai untuk mengontrol arus yang lebih besar dalam rangkaian, dengan arus kontrol yang kecil lewat kumparan. NO (Normaly Open) yaitu suatu relay yang apabila pada kumparannya dialiri arus listrik, maka lengan kontak akan menutup. NC (Normaly Close) yaitu kontak-kontak akan terbuka bila dialiri listrik. CO (Change Over), relay ini mempunyai kontak tengah yang normalnya tertutup tetapi “melepas” diri dari posisi lain yang akan membuat kontak dengan yang lain tertutup bila relay dialiri arus listrik.
Bentuk relay yang digunakan dengan rangkaian driver dapat dilihat pada gambar 2.8.
Gambar 2.8. Simbol Relay
2.5. Perangkat Lunak Mikrokontroler AT89S51
Secara fisik, mikrokontroler bekerja dengan membaca instruksi yang tersimpan di dalam memory. Mikrokontroler menentukan alamat dari memori program yang akan dibacakan dan melakukan proses baca data di memori. Data yang dibaca diinterpresentasikan sebagai instruksi. Alamat instruksi disimpa oleh mikrokontroler deregister yang dikenal sebagai Program Counter (PC). Instruksi ini misalnya program aritmatika yang melibatkan dua register. Mikrokontroler
AT89S51 memiliki sekumpulan instruksi yang sangat lengkap, yang mana instruksi tersebut adalah bahasa assembly keluarga mikrokontroler MCS-51. Berikut ini adalah instruksi-instruksi penting mikrokontroler AT89S51/52 :
1. ACALL ( Absolute Call)
Instruksi ACALL digunakan untuk memanggil subrutin program.
2. ADD (Add Immediate Data)
Instruksi ini akan menambah 8 bit data langsung ke dalam isi akumulator dan menyimpan hasilnya pada akumulator.
3. ADDC (Add Carry Plus Immediate Data to Accumulator)
Instruksi ini akan menambah isi carry flag (0 atau 1) ke dalam isi akumulator. Data langsung 8 bit ditambahkan ke akumulator.
4. ANL (Logical and Memori Ke Akumulator)
Instruksi ini meng-and-kan isi alamat data dengan isi akumulator.
5. CJNE (Compare Indirect Address to Immediate Data)
Instruksi iniakan membandingkan data langsung dengan lokasi memori yang dialamati oleh register R atau akumulator A. apabila tidak sama, maka instruksi akan menuju ke alamat kode.
6. CLR (Clear Accumulator)
Instruksi ini akan mereset data mereset data akumulator menjadi 00H.
7. CPL ( Complement Accumulator)
Instruksi ini akan mengkomplemen isi akumulator.
8. DA (Decimal Adjust Accumulator)
Instruksi ini akan mengatur isi akumulator ke padanan BCD, setelah penambahan dua angka BCD.
9. DEC (Decrement Indirect Address)
Instruksi ini akan mengurangi isi lokasi memori yang ditujukan oleh register R dengan nilai 1, dan hasilnya disimpan pada lokasi tersebut.
10. DIV (Devide Accumulator By B).
Instruksi ini akan membagi isi akumulator dengan isi register B. akumulator berisi hasil bagi, register B berisi sisa pembagian.
11. DJNZ (Decrement Register And Jump ID Not Zero)
Instruksi ini akan mengurangi nilai register dengan 1 dan jika hasilnya sudah 0 maka instruksi selanjutnya akan dieksekusi. Jika belum 0 akan menuju ke alamat kode.
12. INC (Increment Indirect Address)
Instruksi ini akan menambah isi memori dengan 1 dan menyimpannya pada alamat tersebut.
13. JB (Jump If Bit Is Set)
Instruksi ini akan membaca data per satu bit, jika data tersebut adalah 1 maka akan menuju ke alamat kode dan jika 0 tidak akan menuju ke alamat kode.
14. JC (Jump If Carry Is Set)
Instruksi ini akan menguji isi carry flag. Jika berisi 1, eksekusi menuju ke alamat kode. Jika berisi 0, instruksi selanjutnya yang akan dieksekusi.
15. JNB (Jump if Carry Is Not Set)
Instruksi JNB akan membaca data per satu bit. Jika data tersebut adalah 0 maka akan menuju ke alamat kode, dan jika 1 tidak menuju ke alamat kode.
16. JMP (Jump To Sum Of Accumulator And data Pointer)
Instruksi jump memerintahkan loncat ke suatu alamat kode tertentu.
17. MOV
Instruksi ini untuk memerintahkan pemindahan isi akumulator/register atau data dari nilai luar atau alamat lain.
18. ORL (Logical OR Immediate Data To Accumulator)
Instruksi ini digunakan sebagai instruksi gerbang logika OR yang akan menjumlahkan accumulator terhadap nilai yang ditentukan.
19. RET ( Return From Subroutine)
Instruksi ini digunakan untuk kembali dari suatu subrutin program ke alamat subrutin tersebut dipanggil.
20. SETB (Set Bit)
Instruksi ini digunakan untuk memberikan logika 1 pada sebuah bit data.
21. CLRB (Clear Bit)
Instruksi ini digunakan untuk member logika 0 pada sebuah bit data.
22. MOVX (Move Accumulator To External Memory Addressed By Data Pointer)
Instruksi pop akan memindahkan isi akumulator ke memori data external yang alamatnya ditujukan oleh isi data pointer.
23. POP (Pop Stack To Memori)
Instruksi ini akan menempatkan byte yang ditunjukkan oleh stack pointer ke suatu alamat data.
24. PUSH ( Push Memori On To Stack)
Instruksi ini akan menaikkan stack pointer kemudian menyimpan isinya ke suatu alamat data pada lokasi yang ditunjuk oleh stack pointer.
25. DB ( Define Byte)
Digunakan untuk member nilai tertentu pada memori di lokasi tersebut.
26. RL (Rotate Accumulator Left)
Instruksi ini digunakan untuk memutar setiap bit pada akumulator satu posisi ke kiri.
27. RR (Rotate Accumulator Right)
Instruksi ini digunakan untuk memutar setiap bit pada akumulatro stau posisi ke kanan.
BAB III
RANCANG BANGUN PENERAPAN MUX DEMUX 24 KANAL PADA PENSAKLARAN DI INSTALASI LISTRIK
III.1. Blok Diagram Perancangan
Sistem pensaklaran catu daya 24 beban listrik berupa lampu listrik melalui tiga buah kabel penulis rancang bangun dengan memerapkan prinsip Multiplexer dan demultiplexer. Kode untuk hidup atau mati dari setiap lampu dibedakan berdasarkan letak sebuah pulsa low pada suatu daerah waktu pengiriman data per byte untuk per port mikrokontroler. Sebagai contoh untuk kode lampu 1 maka posisi pulsa 0 terletak pada awal pengiriman, sedangkan untuk lampu 8 terletak pada akhir pengiriman data pada port 0, begitu juga untuk port 1 dan 2. Jadi kode untuk menghidupkan lampu menggunakan logika bit 0 dan mematikan lampu kode bit l sesuai dengan program yang dirancang.
Rangkaian pensaklaran catu daya beban listrik ini secara garis besar dapat dibagi menjadi 3 bagian yaitu bagian pengirim data (Multiolexer), bagian penerima (Demultiplexer) dan bagian Driver (Saklar). Dari uraian diatas ini maka penulis rancanglah sistem blok diagramnya seperti ditunjukkan pada gambar 3.1.
Gambar 3.1 Blok Diagram Rancang Bangun Sistem
Tegangan dari saklar catudaya yang on sebesar 0 volt dan saklar dalam keadaan off sebesar 5 volt dikirim ke bagian multiplxer. Kemudian data pararel 24 bit tersebut diterima oleh mikrokontroler AT89S51 sebagai multiplekser dan diproses menjadi data serial. Data serial yang dikirim oleh multiplekser diterima oleh demultiplekser untuk diproses menjadi data keluaran pararel. Demultiplekser dibangun dari 3 buah IC 4094. Keluaran demultiplxer dikirim kebagian driver penggerak relay yang fungsinya sebagai saklar catu daya lampu listrik.
3.1 Saklar
Saklar adalah sebuah perangkat yang digunakan untuk memutus dan menyambungkan arus listrik , atau untuk menghubungkannya. Jadi saklar pada dasarnya adalah alat penyambung atau pemutus aliran listrik. Selain untuk jaringan listrik arus kuat, saklar berbentuk kecil juga dipakai untuk alat komponen elektronika arus lemah.
Secara sederhana, saklar terdiri dari dua bilah logam yang menempel pada suatu rangkaian, dan bisa terhubung atau terpisah sesuai dengan keadaan sambung (on) atau putus (off) dalam rangkaian itu. Material kontak sambungan umumnya dipilih agar supaya tahan terhadap korosi. Kalau logam yang dipakai terbuat dari bahan oksida biasa, maka saklar akan sering tidak bekerja. Untuk mengurangi efek korosi ini, paling tidak logam kontaknya harus disepuh dengan logam anti korosi dan anti karat.
3.2. Perancangan Multiplexer
Rangkaian multiplexer adalah rangkaian yang dapat mengubah data paralel menjadi serial. Rangkaian multiplekser ini dirancang bangun dengan memakai P0, P1, dan P2 IC mikrokontroler AT89S51 sebagai masukan data secara pararel dan P3.0 sebagai data keluaran serial ( bit data ), P3.1 sebagai bit clock dan P3.7 sebagai word clock. Semua port masukan data pararel dipasang resistor R4,7K yang berfungsi sebagai tahanan pembatas arus yang mengalir bila saklar disambungkan. Resistor yang tersambung ke P3.0, P3.1, dan P3.7 berfungsi sebagai pensuplai arus pada sinyal pulsa yang masuk ke IC 4094 ( driver, register, buffer ). Osilator kistal berfungsi sebagai pembangkit sinyal yang berfrekuensi 12 M.Hz yang dibutuhkan oleh mikrokontroler AT89S51. Kapasitor 10 uF/16V yang rangkaia dengan resistor 10K berfungsi sebagai sinyal reset pada mikrokontroler setelah selesai melakukan proses satu siklus.
Bentuk rangkaian minimum system mikrokontroler seperti yang ditujukkan pada gambar 3.3
Gambar 3.3 Rangkaian Multiplxer
3.3. Perancangan Demultiplexer
Rangkaian demultiplexer adalah rangkaian yang dapat mengubah data serial menjadi data paralel. Seperti ditunjukkan pada gambar 3.4, pin 2 ( D ) merupakan masukan data serial, pin 3 ( CP ) sebagai masukan bit clock, dan pin 15 sebagai output enable ( OE ). Pin 4, 5, 6, 7, 11, 12, 13, 14 sebagai keluaran pararel 8 bit dan pin 10 keluaran serial komplemen, pin 9 juga keluaran serial.
Gambar 3.4. Rangkaian Demultiplexer 8 bit
Untuk dapat membuat demultiplexer 24 kanal maka dibutuhkan demultiplexer 8 bit sebanyak tiga buah. Bentuk rangkaian demultiplekser 24 kanal seperti ditunjukkan pada gambar 3.5.
Gambar 3.5. Rangkaian demultiplekser 24 kanal
3.4 Perancangan Penguat Penggerak
Tegangan keluaran IC 4094 yang dihubungkan ke LED 8 buah sebesar 5 volt dan belum mampu menggerakkan relay 12 volt. Untuk dapat menggerakkan relay 12 volt DC maka dibutuhkan penguat penggerak dari transistor. Transistor sebagai saklar dapat menghubungkan dan memutuskan tegangan 12 volt DC ke relay dan lampu pijar 220 akan dapat hidup atau mati.
Sesuai dengan data sheet relay bahwa tegangan yang dibutuhkan untuk menggerakkan kumparannya adalah 12 volt. Sehingga relay belum dapat digerakkan jika menghubungkan langsung dari keluaran IC microcontroller sehingga untuk mengatasi hal tersebut dirancanglah transistor sebagai penguat penggerak. Tegangan keluaran IC microcontroller digunakan hanyalah memberikan bias basis transistor. Karena transistor yang digunakan jenis N-P-N, maka emitor harus di groundkan seperti pada gambar 3.6 jika pada keluaran demultiplexer mendapat logika satu dimana tegangan yang disuplay basis sebesar 5 volt maka arus pada basis sebesar :
= 0,93 mA
Gambar 3.6. Transistor Sebagai Penggerak
Arus basis sebesar 0,93 mA ini akan membuat transistor menjadi jenuh sehingga membuat tegangan pada VCE 0,08 volt dalam keadaan jenuh. Dengan demikian arus mengalir melalui relay dari VCC 12 volt dan relay akan menarik kontaknya pada posisi ON. Perubahan pisisi kontak ini akan membuat lampu hidup. Dan begitu juga sebaliknya jika keluaran demultipkexer mrndapat logika 0 (chanel tidak terpilih), maka arus pada basis tidak akan mengalir. Dengan demikian transistor dikatakan tidak bekerja atau dalam keadaan cut off. Transistor off membuat arus pada relay tidak dapat mengalir, dengan demikian kontaknya akan kembali ke NC, hal ini akan membuat arus pada lampu terputus sehingga lampu dalam keadaan mati.
3.5. Perancangan Software
Setelah dirancang rangkaian lengkap, maka selanjutnya dirancang software, mempermudah membuat listing program maka terlebih dahulu dibuat diagram alir seperti ditunjukkan pada gambar 3.7.
Gambar 3.7 Flowchart perancangan sistem
Perancangan Listing Program
acall reset
;----------------------------------------------------------------;
;Prosedur pembacaan isi status port dan perbandingan terhadap ;
;akumulator ;
;----------------------------------------------------------------;
mulai1:
mov a,p2
cjne a,#0feh,banding_1 ;port 2.0 yang ditekan
acall lampu_1 ;11111110b
jmp mulai1
banding_1:
mov a,p2
cjne a,#0fdh,banding_2 ;port 2.1 yang ditekan
acall lampu_2 ;11111101b
jmp mulai1
banding_2:
mov a,p2
cjne a,#0fbh,banding_3 ;port 2.2 yang ditekan
acall lampu_3 ;11111011b
jmp mulai1
banding_3:
mov a,p2
cjne a,#0f7h,banding_4 ;port 2.3 yang ditekan
acall lampu_4 ;11110111b
jmp mulai1
banding_4:
mov a,p2
cjne a,#0efh,banding_5 ;port 2.4 yang ditekan
acall lampu_5 ;11101111b
jmp mulai1
banding_5:
mov a,p2
cjne a,#0dfh,banding_6 ;port 2.5 yang ditekan
acall lampu_6 ;11011111b
jmp mulai1
banding_6:
mov a,p2
cjne a,#0bfh,banding_7 ;port 2.6 yang ditekan
acall lampu_7 ;10111111b
jmp mulai1
banding_7:
mov a,p2
cjne a,#07fh,banding_8 ;port 2.7 yang ditekan
acall lampu_8 ;01111111b
jmp mulai1
banding_8:
mov a,p0
cjne a,#07fh,banding_9 ;port 0.7 yang ditekan
acall lampu_9 ;01111111b
jmp mulai1
banding_9:
mov a,p0
cjne a,#0bfh,banding_10 ;port 0.6 yang ditekan
acall lampu_10 ;10111111b
jmp mulai1
banding_10:
mov a,p0
cjne a,#0dfh,banding_11 ;port 0.5 yang ditekan
acall lampu_11 ;11011111b
jmp mulai1
banding_11:
mov a,p0
cjne a,#0efh,banding_12 ;port 0.4 yang ditekan
acall lampu_12 ;11101111b
jmp mulai1
banding_12:
mov a,p0
cjne a,#0f7h,mulai1 ;port 0.3 yang ditekan
acall lampu_13 ;11110111b
jmp mulai1
mulai2:
mov a,p0
cjne a,#0fbh,banding_13 ;port 0.2 yang ditekan
acall lampu_14 ;11111011b
jmp mulai2
banding_13:
mov a,p0
cjne a,#0fdh,banding_14 ;port 0.1 yang ditekan
acall lampu_15 ;11111101b
jmp mulai2
banding_14:
mov a,p0
cjne a,#0feh,banding_15 ;port 0.0 yang ditekan
acall lampu_16 ;11111110b
jmp mulai2
banding_15:
mov a,p1
cjne a,#0feh,banding_16 ;port 1.0 yang ditekan
acall lampu_17 ;11111110b
jmp mulai2
banding_16:
mov a,p1
cjne a,#0fdh,banding_17 ;port 1.1 yang ditekan
acall lampu_18 ;11111101b
jmp mulai2
banding_17:
mov a,p1
cjne a,#0fbh,banding_18 ;port 1.2 yang ditekan
acall lampu_19 ;11111011b
jmp mulai2
banding_18:
mov a,p1
cjne a,#0f7h,banding_19 ;port 1.3 yang ditekan
acall lampu_20 ;11110111b
jmp mulai2
banding_19:
mov a,p1
cjne a,#0efh,banding_20 ;port 1.4 yang ditekan
acall lampu_21 ;11101111b
jmp mulai2
banding_20:
mov a,p1
cjne a,#0cfh,banding_21 ;port 1.5 yang ditekan
acall lampu_22 ;11011111b
jmp mulai2
banding_21:
mov a,p1
cjne a,#0bfh,banding_22 ;port 1.6 yang ditekan
acall lampu_23 ;10111111b
jmp mulai2
banding_22:
mov a,p1
cjne a,#07fh,mulai2 ;port 1.7 yang ditekan
acall reset ;01111111b
jmp mulai2
;----------------------------------------------------------------;
;prosedur data kendali lampu memanfaatkan mux demux 24 kanal ;
;----------------------------------------------------------------;
lampu_1:
mov a,#80h
acall kirim
mov a,#00h
acall kirim
mov a,#00h
acall kirim
ret
lampu_2:
mov a,#0C0h
acall kirim
mov a,#00h
acall kirim
mov a,#00h
acall kirim
ret
lampu_3:
mov a,#0e0h
acall kirim
mov a,#00h
acall kirim
mov a,#00h
acall kirim
ret
lampu_4:
mov a,#0f0h
acall kirim
mov a,#00h
acall kirim
mov a,#00h
acall kirim
ret
lampu_5:
mov a,#0f8h
acall kirim
mov a,#00h
acall kirim
mov a,#00h
acall kirim
ret
lampu_6:
mov a,#0fch
acall kirim
mov a,#00h
acall kirim
mov a,#00h
acall kirim
ret
lampu_7:
mov a,#0feh
acall kirim
mov a,#00h
acall kirim
mov a,#00h
acall kirim
ret
lampu_8:
mov a,#0ffh
acall kirim
mov a,#00h
acall kirim
mov a,#00h
acall kirim
ret
lampu_9:
mov a,#00h
acall kirim
mov a,#80h
acall kirim
mov a,#00h
acall kirim
ret
lampu_10:
mov a,#00h
acall kirim
mov a,#0c0h
acall kirim
mov a,#00h
acall kirim
ret
lampu_11:
mov a,#00h
acall kirim
mov a,#0e0h
acall kirim
mov a,#00h
acall kirim
ret
lampu_12:
mov a,#00h
acall kirim
mov a,#0f0h
acall kirim
mov a,#00h
acall kirim
ret
lampu_13:
mov a,#00h
acall kirim
mov a,#0f8h
acall kirim
mov a,#00h
acall kirim
ret
lampu_14:
mov a,#00h
acall kirim
mov a,#0fch
acall kirim
mov a,#00h
acall kirim
ret
lampu_15:
mov a,#00h
acall kirim
mov a,#0feh
acall kirim
mov a,#00h
acall kirim
ret
lampu_16:
mov a,#00h
acall kirim
mov a,#0ffh
acall kirim
mov a,#00h
acall kirim
ret
lampu_17:
mov a,#00h
acall kirim
mov a,#00h
acall kirim
mov a,#80h
acall kirim
ret
lampu_18:
mov a,#00h
acall kirim
mov a,#00h
acall kirim
mov a,#0c0h
acall kirim
ret
lampu_19:
mov a,#00h
acall kirim
mov a,#00h
acall kirim
mov a,#0e0h
acall kirim
ret
lampu_20:
mov a,#00h
acall kirim
mov a,#00h
acall kirim
mov a,#0f0h
acall kirim
ret
lampu_21:
mov a,#00h
acall kirim
mov a,#00h
acall kirim
mov a,#0f8h
acall kirim
ret
lampu_22:
mov a,#00h
acall kirim
mov a,#00h
acall kirim
mov a,#0feh
acall kirim
ret
lampu_23:
mov a,#00h
acall kirim
mov a,#00h
acall kirim
mov a,#0feh
acall kirim
ret
reset:
mov r4,#32
rst:
mov dptr,#clear
st1:
clr p3.7
clr a
movc a,@a+dptr
acall kirim_1
inc dptr
djnz r4,st1
setb p3.7
ret
clear:
db 0h,0h,0h,0h,0h,0h,0h,0h,0h,0h,0h,0h,0h,0h,0h,0h,
db 0h,0h,0h,0h,0h,0h,0h,0h,0h,0h,0h,0h,0h,0h,0h,0h
;---------------------------------------------------------------;
;Prosedur program pengiriman data serial ;
;---------------------------------------------------------------;
kirim:
mov sbuf,a
jnb ti,$
clr ti
acall tunda
ret
kirim_1:
mov sbuf,a
jnb ti,$
clr ti
acall delay
ret
;--------------------------------------------------------------;
;Prosedur program waktu ;
;--------------------------------------------------------------;
tunda:
mov r7,#30
tnd:
mov r6,#30
td:
mov r5,#30
djnz r5,$
djnz r6,td
djnz r7,tnd
ret
delay:
mov r7,#10
dly:
mov r6,#10
djnz r6,$
djnz r7,dly
ret
Rangkaian Lengkap
BAB IV
PENGUJIAN DAN ANALISIS
Setelah rangkaian dirangkai, maka dilakukanlah pengujian dan analisis terhadap hardware (rangkaian) secara per blok. Pengujian dilakukan untuk mengetahui napakah program dan rangkaian tersebut telah berjalan baik.
Dalam melakukan pengujian pada penerapan multiplexer dan demultiplexer pada pensaklaran listrik delapan beban basis microcontroller AT89S51, maka digunakan alat ukur yang mempunyai ketelitian yang sangat bagus.
4.1. Pengujian Rangkaian Multiplexer
Setelah rangkaian dirakit, maka terlebih dahulu kita menguji dan mengukur pada masukan multiplxer yaitu keluaran dari saklar 8 buah. Pengukuran dilakukan pada pin 12 sampai pin 19, yaitu apakah data yang sudah diberikan atau tidak yang selanjutnya kita mengukur pada keluaran pada pin 3 apakah data yang di proses menjadi data serial atau tidak. Misalnya jika saklar D0 digeser (D0 mendapat data masukan 5 volt) maka pada keluaran serial akan terjadi pulsa pada D0. Dan jika D0 pada posisi off atau data masuk 0 volt maka pada output serial tidak akan mengeluarkan pulsa.
4.2. Pengujian Rangkaian Demultiplexer
Setelah dilakukan pengujian pada output multiplxer, maka selanjutnya kita mengukur rangkaian demultiplxer yaitu pada masukan demultiplxer pada pin 2 atau sama dengan keluaran multiplxer. Untuk mengetahui apakah perancangan sudah berhasil atau tidak, maka kita harus mengukur output demultiplxer apakah data yang dikeluarkan berhasil atau tidak. Artinya jika pada D0 multiplxer mendpat logika high maka selanjutnya pada output demultiplxer harus juga high.
4.3. Pengujian dan Analisis Penguat Penggerak
Untuk menguji rangkaian penguat penggerak dilakukan seperti pada gambar 4.1.
Gambar 4.1. Pengujian Penguat Penggerak
Mengukur arus basis, kolektor dilakukan dengan cara membuat seri alat ukur amperemeter terhadap rangkaian. Mengukur tegangan dikaki kolektor dilakukan dengan cara memparalelkan alat ukur voltmeter dengan kaki kolektor dan emitor.
Table 4.1. Hasil pengukuran pada penguat penggerak
No. | VB (Volt) | IB (mA) | IC (mA) |
1. | 0 | 0 | 0 |
2. | 5 | 0,90 | 30 |
Untuk menganalisis hasil praktek, dilakukan dengan cara menggunakan rumus persamaan 1 dan 2 pada Bab II yaitu untuk mencari :
Untruk mencari persentase kesalahannya dapat dihitung yaitu ;
Hanbatan spull relay diukur dengan ohmmeter sebesar 300 Ohm sehingga :
Untuk mengetahui persentase kesalahannya dapat dihitung dengan :
4.4. Pengujian Rangkaian Lengkap
Setelah diuji rangkaian perblok maka selanjutnya yang akan dilakukan adalah pengujian rangkaian lengkap. Pengujian dilakukan pada saklar yang ditekan, jika saklar satu ditekan maka lampu satu harus hidup. Table 4.2 menunjukkan hasil pengujian rangkaian lengkap.
Table 4.2. Pengujian rangkaian lengkap posisi hidup
No | Saklar | Posisi | Lampu | Keterangan |
1 | 1 | On | 1 | Hidup |
2 | 2 | On | 2 | Hidup |
3 | 3 | On | 3 | Hidup |
4 | 4 | On | 4 | Hidup |
5 | 5 | On | 5 | Hidup |
6 | 6 | On | 6 | Hidup |
7 | 7 | On | 7 | Hidup |
8 | 8 | On | 8 | Hidup |
dst | dst | dst | dst | Dst |
Table 4.3. Pengujian rangkaian lengkap posisi mati
No | Saklar | Posisi | Lampu | Keterangan |
1 | 1 | Off | 1 | Mati |
2 | 2 | Off | 2 | Mati |
3 | 3 | Off | 3 | Mati |
4 | 4 | Off | 4 | Mati |
5 | 5 | Off | 5 | Mati |
6 | 6 | Off | 6 | Mati |
7 | 7 | Off | 7 | Mati |
8 | 8 | Off | 8 | Mati |
4.4.1. Analisis Rangkaian Lengkap
Dari hasil pengukuran pada table 4.2 dan table 4.3 dapat di analisis bahwa jika saklar posisi On, maka lampu akan hidup dan jika saklar dalam keadaan off, maka lampu akan mati. Misalnya jika saklar D0 digeser (on) maka lampi 1 akan hidup, jika saklar D0 digeser posisi off maka lampu satu akan mati. Dan jika pada D0- D7 di geser (on), maka lampu akan hidup dan begitu juga sebaliknya.
BAB V
KESIMPULAN DAN SARAN
5.1. Kesimpulan
Berdasarkan uraian teantang pembahasan pengaturan delapan beban buah pensaklaran melaluai satu fase, maka dapat diambil kesimpulan sebagai berikut :
1. Microcontroller AT89S51 dapat membuat masukan parallel delapan bit menjadi kealuaran serial dan sebaliknya.
2. Alat ini mampu mengontrol delapan buah saklar yang dinyatakan dalam satu frame : satu frame sma dengan delapan pulsa ditambah satu pulsa bit-start dengan panjang frame 20 ms.
3. Data yang dikirim pada multiplexer sama dengan keluaran demultiplexer.
5.2. Saran
Adapun saran yang disampaikan adalah :
1. Alat ini lebih efisien dipakai pada sambungan pengkabelan listrik yang panjang.
DAFTAR PUSTAKA
1. Setiawan, Sulhan. Mudah dan Menyenangkan Belajar Mikrokontroller. 2006. Penerbit Andi : Yogyakarta.
2. Malvino. Prinsip-Prinsip Elektronika. 1999. Penerbit Salemba Teknika: Jakarta
3. Robertson Sinclair, Ian. Elektonika Digital. 1993. Elex media Komputindo : Jakarta.
Comments
ada mz?
terimakasih