SISTEM PENGENDALI LAMPU DENGAN TEKNOLOGI ...viii INTISARI Berkembangnya bidang elektronika sekarang,...
Transcript of SISTEM PENGENDALI LAMPU DENGAN TEKNOLOGI ...viii INTISARI Berkembangnya bidang elektronika sekarang,...
i
SISTEM PENGENDALI LAMPU DENGAN
TEKNOLOGI RS485 BERBASIS
MIKROKONTROLER AVR
TUGAS AKHIR
Diajukan Untuk Memenuhi Salah Satu Syarat
Memperoleh Gelar Sarjana Teknik
Program Studi Teknik Elektro
oleh :
Agustinus Robby Sulistiawan
NIM : 025114045
PROGRAM STUDI TEKNIK ELEKTRO
JURUSAN TEKNIK ELEKTRO
FAKULTAS SAINS DAN TEKNOLOGI
UNIVERSITAS SANATA DHARMA
YOGYAKARTA
2007
ii
LAMP CONTROLLER SYSTEM USING AVR
MICROCONTROLLER BASED ON RS485
TECHNOLOGY
Presented as Partial Fullfillment of the Requirements
To Obtain the Sarjana Teknik Degree
In Electrical Engineering Study Program
By :
Agustinus Robby Sulistiawan
Student Number : 025114045
ELECTRICAL ENGINEERING STUDY PROGRAM
DEPARTMENT OF ELECTRICAL ENGINEERING
FACULTY OF SCIENCE AND TECHNOLOGY
SANATA DHARMA UNIVERSITY
YOGYAKARTA
2007
iii
iv
v
HALAMAN PERNYATAAN KEASLIAN KARYA
“Saya menyatakan dengan sesungguhnya bahwa tugas akhir yang saya tulis ini tidak memuat karya atau bagian karya orang lain,
kecuali yang telah disebutkan dalam kutipan daftar pustaka, sebagaimana layaknya karya ilmiah.”
Yogyakarta, 29 November 2007
Penulis
Agustinus Robby Sulistiawan
vi
PERSEMBAHAN
Dengan tulus hati penulis mempersembahkan Tugas Akhir ini kepada :
Alm.Papa Ngadiran, Mama samini, kakakku Asmarani,
Joko dan Adikku Ardhina tercinta, yang dengan setia mendoakan, memperhatikan, membimbing, mengasihi
dan menyayangiku.
Yohana Erika Pratama yang dengan setia memberi spirit, perhatian dan kasih sayang.
Sahabat-sahabatku Teknik Elektro 2002 Yang selalu mendukung, memberi semangat serta masukkan
Konco-konco qu kost Patria
yang selalu mendukung dan memberi semangat.
Almamaterku Yang dengan sabar memberi didikan dan tuntunannya.
vii
MOTTO
“Segala perkara dapat ku tanggung didalam DIA yang memberi
kekuatan kepadaku” (Filipi 4:13)
Sukses berasal dari ”AKU BISA” gagal berasal dari ”AKUTIDAK
BISA”
Jangan takut akan tekanan INGAT, tekananlah yang membuat
batubara menjadi berlian
viii
INTISARI
Berkembangnya bidang elektronika sekarang, membuat pengendalian terhadap alat-alat elektronika dapat dilakukan dengan berbagai macam cara. Teknologi RS-485 merupakan salah satu sistem komunikasi yang dapat digunakan dalam sistem pengendalian. Dimana dengan teknologi ini dapat menghubungkan 32 unit peralatan elektronika dengan menggunakan dua kabel saja.
Dengan memanfaatkan teknologi RS-485 maka dibuat suatu alat untuk mengendalikan lampu dari jarak jauh. Pengendalian menggunakan sebuah keypad untuk menentukan kondisi lampu. Masukan data tersebut kemudian diolah oleh control unit. Pada bagian ini terdapat 3 buah mikrokontroler ATMega8535 sebagai pusat pengendali. Sebuah mikrokontroler master berfungsi untuk menampilkan pada LCD lampu ke berapa yang ingin dikendalikan. Dan dua buah mikrokontroler slave berfungsi untuk mengolah data masukan dari keypad. Tranmisi data antara mikrokontroler master dengan mikrokontroler slave menggunakan sistem komunikasi serial RS-485.
Alat pengendali lampu ini sudah dicoba dan terbukti dapat bekerja dengan baik. Keadaan kondisi lampu sudah sesuai dengan masukan dari keypad.
Kata kunci : Pengendali lampu, aplikasi mikrokontroler ATMega8535, sistem komunikasi serial RS-485.
ix
ABSTRACT
Current development in electronic engineering produce lots of method in controlling electronic apparatus. RS-485 technology is one of the communication system used in the control system. This technology can link 32 electronic apparatus with just two cable line.
By using the RS-485 technology we can construct a remote control for lamp. The control is using a keypad to determine the lamp condition. And then the input data is processed by the control unit. The unit consists of 3 ATMega8535 microcontrollers as the control central. A microcontroller master function is to display on the LCD which lamp to control. The other two microcontrollers function as a slave, the unit processed the input data from the keypad. The transmission data between the microcontroller master and the microcontroller slave is using the RS-485 serial communication system.
The lamp remote control has been tested and proved to work effectively. The lamp condition is the same with the input data from the keypad
Key word: The lamp remote control, ATMega8535 microcontroller application, RS-485 serial communication system.
x
KATA PENGANTAR
Puji syukur penulis panjatkan kepada Tuhan Yesus Kristus atas segala
kasih karunia, anugerah, dan berkat-Nya, sehingga penulis dapat menyelesaikan
penulisan tugas akhir ini dengan baik.
Penulis menyadari bahwa dalam penulisan tugas akhir ini, penulis
mendapatkan banyak bantuan dan dorongan dari berbagai pihak. Oleh karena itu,
pada kesempatan ini dengan segala kerendahan hati dan penuh hormat, penulis
ingin mengucapkan terima kasih yang sebesar-besarnya kepada:
1. Romo Ir. Greg. Heliarko SJ.,SS.,BST.,MA.,MSC Selaku Dekan
Fakultas Teknik Universitas Sanata Dharma Yogyakarta.
2. Bapak A. Bayu Primawan, S.T., M.Eng selaku Ketua Jurusan Teknik
Elektro Universitas Sanata Dharma Yogyakarta
3. Bapak B. DjokoUntoro, S.Si., M.T. selaku pembimbing atas segala
pemikiran, waktu dan tenaganya dalam membimbing dan
mengarahkan penulis dari awal hingga akhir.
4. Seluruh dosen di Fakultas Teknik Elektro yang tidak dapat di sebutkan
satu persatu, yang telah mendidik dan membimbing penulis dalam
memperdalam dunia Teknik Elektronika.
5. Seluruh Staf & Laboran Teknik Elektro Universitas Sanata Dharma:
Pak Jito, Mas Mardi, Mas Suryono, Mas Hardi, Mas Broto yang sudah
memberikan bantuan selama proses pembuatan karya tugas akhir ini.
xi
6. Orang tua penulis yang telah memberikan doa, dorongan moril
maupun material, kasih dan kesabaran yang tak pernah putus sehingga
penulis dapat menyelesaikan tugas akhir ini.
7. Kakakku Asmarani, Joko dan adikku Ardhina yang telah memberi doa
dan pengharapan dalam menyelesaikan tugas akhir ini.
8. Kekasihku Rika yang memberi dukungan doa, semangat, waktu, cinta
kasihnya dan kesabarannya.
9. My Big Family Padepokan Pomahan : Mas Gede, Mbak Nyoman,
Putu, Mas Alex, Mas Bowo, Kang Ucup dan Kang Jum.
10. Konco-konco qu PATRIA: Andis, Angga, Leo, Yosef, Gompiz, Dadit
n Tata, Ridho, Beni, Broto, Dedek, Kura2, Willy, Seul, Dedi n Anna,
Ido, Summing, Ade, Bintoro, Dimas. Ayo sukseskan tradisi Patria
KONCO.
11. Konco-konco qu teknik Elekro yang sudah membantu : Andis (thx dis
bantuannya), Briatma, Iyok, Lele, Dhani, Deri, Andex, Bhule, Andreas
PK, Tikus, Hari, Clement, Plentonx, Gepeng, Alex, Eric, Spadic,
Koten, Pandu, Dhika, Ari, Rina, Ido, Denny, Sinung. semangat
konco......!!
12. Konco-konco qu : Wisnu, Victor, Edit, Ranti. Mari kita berjuang jadi
orang yang susses.
13. Bapak kostku Pak Jarwo dan Bu Jarwo, dan segenap warga Paingan
yang sudah seperti keluarga sendiri, angkringan Agung. Terima kasih
sudah menerima penulis dan berhubungan baik dengan penulis.
xii
14. Teman-teman mahasiswa jurusan Teknik Elekro dan semua pihak
yang tidak dapat disebutkan satu persatu atas setiap bantuannya.
Penulis menyadari bahwa masih banyak kelemahan dan kekurangan
dari penulisan tugas akhir ini. Oleh karena itu segala kritik dan saran yang
bersifat membangun sangat penulis harapkan.
Akhir kata penulis berharap agar skripsi ini dapat bermanfaat bagi
penulis maupun pembaca semuanya.
Yogyakarta, November 2007
Penulis
xiii
DAFTAR ISI Halaman
JUDUL…………………………………………………………………………I
HALAMAN PERSETUJUAN………………………………………………..III
HALAMAN PENGESAHAN.......................................................................... IV
HALAMAN PERNYATAAN KEASLIAN KARYA……………………….V
HALAMAN PERSEMBAHAN …………………………………………......VI
HALAMAN MOTTO.......................................................................................VII
INTISARI..........................................................................................................VIII
ABSTRACT.......................................................................................................IX
KATA PENGANTAR.......................................................................................X
DAFTAR ISI.....................................................................................................XIII
DAFTAR GAMBAR........................................................................................XVI
DAFTAR TABEL...........................................................................................XIX
BAB 1 PENDAHULUAN
1.1 Judul..................................................................................................1
1.2 Latar Belakang..................................................................................1
1.3 Tujuan Penulisan...............................................................................2
1.4 Manfaat Penulisan.............................................................................2
1.5 Perumusan Masalah..........................................................................2
1.6 Batasan Masalah...............................................................................3
1.7 Metologi Penelitian...........................................................................3
1.8 Sistematika Penulisan.......................................................................4
BAB II. DASAR TEORI
2.1 Mikrokontroler AVR........................................................................5
2.2 Mikrokontroler AVR ATMega8535.................................................6
2.2.1 Arsitekture Mikrokontroler AVR ATMega85365.............6
2.2.2 Fitur ATMega8535............................................................7
2.2.3 Konfigurasi Pin ATMega8535..........................................8
2.2.4 Peta Memori......................................................................10
2.2.5 Status Register..................................................................11
xiv
2.2.6 Instruksi Mikrokontroler ATMega8535...........................12
2.2.7 Reset dan Osilator.............................................................13
2.3 LCD (Liquid Crystal Display)..........................................................14
2.4 Sistem RS 485……………………………….…………………….17
2.4.1 Pengaturan Impedansi Terminal……….………………...19
2.4.2 Pemberian Prasikap Pada Jaringan RS 485.......................20
2.4.3 Pengaman Jaringan RS 485 Terhadap Beda Potensial Listrik.......22
2.5 Relay..................................................................................................26
BAB III. PERANCANGAN ALAT
3.1 Diagram Blok...................................................................................27
3.2 Perancangan perangkat keras...........................................................27
3.2.1 Minimum sistem mikrokontroler AVR............................27
3.2.1.1 Mikrokontroler AVR ATMega8535..............................30
3.2.2 IC Komunikasi Serial RS 485.......................................................31
3.2.2.1 Konfigurasi Jaringan......................................................32
3.2.2.2 Komponen Penyesuai Impedansi...................................33
3.2.2.3 Pemberian Prasikap pada jaringan.................................33
3.2.2.4 Pengamanan Beda Potensial Untuk Jaringan.................36
3.2.3 Rangkaian Driver Lampu..............................................................37
3.2.4 Rangkaian Keypad........................................................................38
3.3 Perancangan perangkat lunak...........................................................39
3.3.1 Program Utama Master..................................................................39
3.3.2 Program Utama Slave....................................................................40
3.3.3 Program aktfkan LCD...................................................................41
3.3.4 Program Periksa Jalur.................................................................. 42
3.3.5 Program Kirim Data.....................................................................43
3.3.6 Program Baca Data Keypad.........................................................44
BAB IV. HASIL PENGAMATAN DAN PEMBAHASAN
4.1 Cara Penggunaan Pengendali Lampu Jarak Jauh............................48
4.2 Pengujian dengan perintah..............................................................49
4.3 Pengujian perangkat keras..............................................................50
xv
4.3.1 Rangkaian Catu daya...................................................................50
4.3.2 Rangkaian Kendali.......................................................................51
4.3.3 Pengujian Keypad........................................................................52
4.3.4 Pengamatan Rangkaian Driver....................................................53
4.3.5 Transmisi Data Serial..................................................................54
4.4 Pengaruh data kabel terhadap sinyal data......................................57
4.5 Koneksi kabel................................................................................58
BAB V. KESIMPULAN DAN SARAN
5.1 KESIMPULAN.............................................................................60
5.2 SARAN.........................................................................................60
DAFTAR PUSTAKA
LAMPIRAN
xvi
DAFTAR GAMBAR
Gambar 2.1 Tampilan Pin ATMega8535 ........................................................ 8
Gambar 2.2 Memori Data dan Memori Program AVR ATMega8535 .......... 11
Gambar 2.3 Status Register ATMega8535 .................................................... 12
Gambar 2.4 Rangkaian reset eksternal ........................................................... 13
Gambar 2.5 Rangkaian Osilator ..................................................................... 14
Gambar 2.6 Konstruksi dan cara kerja LCD .................................................. 15
Gambar 2.7 Bentuk dan bagian LCD 16 x 2 .................................................. 16
Gambar 2.7 Sinyal keluaran dari pemancar (driver)...................................... 18
Gambar 2.8 Sinyal masukan untuk penerima (receiver). ............................... 18
Gambar 2.9 (a) Rangkaian Parallel Termination ............................................. 20
Gambar 2.9 (b) Rangkaian AC-Coupled Termination ...................................... 20
Gambar 2.10 Transceiver dengan resitor prasikap .......................................... 21
Gambar 2.11 Pemisahan ground dengan isolasi optik .................................... 23
Gambar 2.12 Penyambungan ground data dan ground local dengan koneksi
Resistor ...................................................................................... 24
Gambar 2.13 Sistem proteksi shunting device dengan menggunakan dioda
zener ........................................................................................... 25
Gambar 2.14 Sistem proteksi shunting device dengan menggunakan dioda
zener dan fuse seri ...................................................................... 25
Gambar 2.15 Relay ........................................................................................... 26
Gambar 3.1 Diagram blok rancangan sistem pengendali lampu dengan
xvii
teknologi RS 485 berbasis mikrokontroler AVR ....................... 27
Gambar 3.2 Rangkaian reset eksternal .......................................................... 28
Gambar 3.3 Osilator kristal yang dihubung ke mikrokontroler AVR........... 30
Gambar 3.4 ATMega8535 ............................................................................. 31
Gambar 3.5 IC SN75176 ................................................................................ 31
Gambar 3.6 Rangkaian RS-485 dengan konfigurasi multidrop 2 kabel ........ 32
Gambar 3.7 Komponen penyesuai impedansi ............................................... 33
Gambar 3.8 Rangkaian sistem komunikasi RS 485 ....................................... 36
Gambar 3.9 Rangkaian pengaman dengan metode shunting device .............. 37
Gambar 3.10 Rangkaian Driver Lampu ........................................................... 38
Gambar 3.11 Rangkaian keypad 3X4 .............................................................. 39
Gambar 3.12 Diagram alir program utama master .......................................... 40
Gambar 3.13 Diagram alir program utama slave ............................................. 41
Gambar 3.14 Diagram alir aktifkan LCD ........................................................ 42
Gambar 3.15 Diagram alir program periksa jalur ............................................ 43
Gambar 3.16 Diagram alir program pengiriman data ...................................... 44
Gambar 3.17 Diagram alir baca data keypad ................................................... 45
Gambar 4.1 Alat pengendali lampu jarak jauh dengan teknologi RS-485..... 46
Gambar 4.2 Rangkaian Master ...................................................................... 47
Gambar 4.3 Rangkaian Slave ......................................................................... 48
Gambar 4.4 Hasil pengamatan sinyal pada line B serial RS-485 .................. 55
Gambar 4.5 Hasil pengamatan sinyal pada line A serial RS-485 .................. 56
Gambar 4.6 Sinyal masukan untuk RXD Mikrokontroler ATMega8535 ..... 56
xviii
Gambar 4.7 Sinyal data line A format RS-485 pada jarak 10 meter ............. 57
Gambar 4.8 Sinyal data line A format RS-485 pada jarak 20 meter ............. 58
Gambar 4.9 konektor RJ 45 dan kabel Twisted pair ...................................... 58
Gambar 4.10 Koneksi kabel ............................................................................. 59
xix
DAFTAR TABEL
Tabel 2.1 Pin tampilan LCD ........................................................................... 16
Tabel 4.1 Kondisi lampu dengan perintah ...................................................... 50
Tabel 4.2 Hasil pengukuran catu daya ............................................................ 51
Tabel 4.3 Level tegangan pada rangkaian driver ............................................ 54
1
BAB I
PENDAHULUAN
1.1 Judul
Sistem Pengendali Lampu dengan teknologi RS 485 berbasis
mikrokontroler AVR.
1.2 Latar Belakang
Sistem Penerangan bukanlah hal yang aneh lagi buat
masyarakat kita. Bahkan banyak yang bergantung pada penerangan. Untuk
penerangan sekarang kebanyakan orang menggunakan lampu. Tetapi
terdapat sebuah permasalahan saat semakin banyak tempat yang ingin
diterangi sehingga terdapat banyak pula lampu yang digunakan.
Penggunaan lampu dalam jumlah banyak menjadi kendala
untuk mengendalikan kondisi lampu. Ditambah juga dengan semakin
banyaknya penggunaan lampu maka secara otomatis penggunaan kabel
bertambah. Dengan begitu maka kerumitan dalam instalasi listrik akan
bertambah. Dengan latar belakang seperti ini maka penulis mencoba
membuat suatu alat yang berfungsi untuk mengendalikan lampu dari jarak
jauh dengan menggunakan dua buah kabel Twisted Pair. Hal ini akan
mengurangi penggunaan kebel, serta mempermudah pegendalian kondisi
lampu dari jarak jauh tanpa harus datang ketempat lampu berada.
2
1.3 Tujuan penelitian
Tujuan penelitian ini adalah terwujudnya suatu alat yang dapat
mengendalikan kondisi lampu dari jarak jauh melalui sistem komunikasi
RS-485.
1.4 Manfaat penelitian
Manfaat dari penulisan Laporan Tugas Akhir ini adalah :
1. Dapat dipergunakan di dalam rumah tangga, ataupun di perhotelan
untuk mengendalikan lampu dengan penggunaan kabel yang minimal.
2. Dapat menambah literatur(pustaka) tentang teknologi RS-485
menggunakan mikrokontroler seri ATMega8535 sebagai pengendali
jarak jauh.
1.5 Perumusan Masalah
Permasalahan yang dapat dirumuskan pada pembuatan alat ini
adalah sebagai berikut:
1. Bagaimana mengendalikan lampu dari jauh menggunakan
mikrokontroler dan komunikasi RS 485?
2. Apakah sistem yang dirancang dapat bekerja dengan baik?
3. Sistem dapat dikembangkan untuk jumlah lampu yang lebih banyak
maksimal 32 lampu.
3
1.6 Batasan Masalah
Agar permasalahan yang ada tidak berkembang menjadi luas,
maka perlu adanya batasan terhadap permasalahan yang akan dibuat yaitu:
1. Pengendalian lampu menggunakan 2 buah lampu.
2. Lampu yang digunakan ialah AC, 220V/5W
3. Unit masukan menggunakan tombol keypad.
4. Unit keluaran dinyatakan dengan kondisi lampu.
5. Unit komunikasi menggunakan RS 485.
6. Unit kendali menggunakan AVR dengan bahasa pemrograman
assembly
1.7 Metodologi Penelitian
Metodologi yang digunakan untuk menyelesaikan
permasalahan dalam pembuatan alat yaitu:
1. Mengumpulkan referensi dan literatur dari perpustakaan dan internet.
2. Menyusun referensi dan literatur yang ada dengan berkonsultasi
dengan dosen pembimbing.
3. Perancangan alat yang terkonsep meliputi perancangan perangkat
lunak dan perangkat keras.
4. Pembuatan alat berdasarkan pada hasil perancangan.
5. Pengujian alat dan pengambilan data.
6. Penarikan kesimpulan berdasarkan pengujian alat dan pengambilan
data.
4
7. Penyusunan laporan.
1.8 Sistematika Penulisan
BAB I PENDAHULUAN
Berisi judul, latar belakang, tujuan penulisan, manfaat
penulisan, perumusan masalah, batasan masalah, metodologi
penelitian dan sistematika penulisan.
BAB II DASAR TEORI
Berisi dasar teori mengenai mikrokontroler AVR, LCD(Liquid
Cristal Display), dan sistem RS 485.
BAB III PERANCANGAN
Beris perancangan perangkat keras (hardware) dan
perancangan perangkat lunak (software) sebelum alat dibuat.
BAB IV PEMBAHASAN
Berisi bahasan tentang hasil pengujian alat dan analisa dari data
hasil pengujian.
BAB V KESIMPULAN DAN SARAN
Berisi kesimpulan dari penelitian yang dilakukan dan saran
saran penulis.
5
BAB II
DASAR TEORI
2.1 Mikrokontroler AVR
Bagian ini akan menjabarkan Mikrokontroler AVR yang
merupakan inti rangkaian yang dibangun. Beberapa bagian yang akan
dibahas diantaranya yaitu mengenai arsitektur mikrokontroler, instruksi,
mode pengalamatan memory dan program, serta periferal-periferal
pendukung yang terdapat dalam mikrokontroler AVR .
Mikrokontroler adalah salah satu dari bagian dasar dari suatu
sistem komputer. Meskipun mempunyai bentuk yang jauh lebih kecil dari
suatu komputer pribadi dan komputer mainframe, mikrokontroler
dibangun dari elemen-elemen dasar yang sama. Secara sederhana,
komputer akan menghasilkan output spesifik berdasarkan input yang
diterima dan program yang dikerjakan.
Selain itu mikrokontroler merupakan alat yang mengerjakan
instruksi-instruksi yang diberikan kepadanya. Artinya, bagian terpenting
dan utama dari suatu sistem terkomputerisasi adalah program itu sendiri
yang dibuat oleh seorang programmer. Program ini menginstruksikan
komputer untuk melakukan jalinan yang panjang dari aksi-aksi sederhana
untuk melakukan tugas yang lebih kompleks yang diinginkan oleh
programmer. Dengan perkembangan terakhir, generasi AVR (Alf and
6
Vegard’s Risc processor), mikrokontroler ini telah memiliki kapabilitas
yang amat maju, tetapi dengan biaya ekonomis yang cukup minimal.
2.2 Mikrokontroler AVR ATmega8535
2.2.1 Arsitektur Mikrokontroler AVR ATmega8535
Mikrokontroler AVR ATmega8535 merupakan
mikrokontroler CMOS dengan daya rendah yang memiliki arsitektur AVR
RISC (Reduced Instruction Set Computer) 8 bit, di mana semua instruksi
dikemas dalam kode 16-bit (16-bits word) dan sebagian besar instruksi
dalam 1 (satu) siklus clock, berbeda dengan instruksi MCS51 yang
membutuhkan 12 siklus clock. Ini karena dalam MCS51 menggunakan
CISC (Complex Instruction Set Computing). Arsitektur ini mendukung
kemampuan untuk melaksanakan eksekusi dalam satu siklus clock
osilator. AVR memiliki fitur untuk menghemat konsumsi daya yaitu
dengan mode sleep. Mode sleep dalam mikrokontroler AVR ada dua
macam yaitu mode idle dan mode power-down .
Mikrokontroler AVR memiliki model arsitektur Harvard di
mana memori dan bus untuk program dan data dipisahkan. Dalam
arsitektur AVR ini, 32 register umum terhubung langsung ke ALU
processor. Hal ini yang membuat AVR memiliki kecepatan tinggi dalam
mengeksekusi instruksi.
Dalam satu siklus clock terdapat dua register independen yang
dapat diakses oleh satu instruksi. Teknik yang digunakan adalah fetch
7
during execution atau memegang sambil mengerjakan. Hal ini berarti, dua
operan dibaca dari dua register, dilakukan eksekusi operasi dan hasilnya
disimpan kembali dalam satu register. Proses ini dilakukan dalam satu
siklus clock.
Mikrokontroler ATmega8535 ini merupakan mikrokontroler 8
bit keluarga AVR yang memiliki beberapa fasilitas seperti :
1. Saluran I/O sebanyak 32 buah yaitu Port A, Port B, Port C dan Port D.
2. ADC 10 bit sebanyak 8 saluran.
3. Tiga buah Timer/Counter dengan kemampuan pembandingan.
4. CPU yang terdiri atas 32 buah register.
5. Watchdog Timer dengan osilator internal.
6. SRAM sebesar 512 byte.
7. Memori Flash sebesar 8Kb dengan kemampuan Read While Write.
8. Unit interupsi internal dan eksternal.
9. Port antarmuka SPI.
10. EEPROM sebesar 512 byte yang dapat diprogram saat operasi.
11. Antarmuka komparator analog.
12. Port USART untuk komunikasi serial.
2.2.2 Fitur ATmega8535
Kapabilitas detail ATmega8535 adalah sebagai berikut:
1. Sistem mikroprosesor 8 bit berbasis RISC dengan kecepatan maksimal
16 MHz.
2
2. K
E
se
3. A
4. P
M
5. E
2.2.3 Kon
Gam
ATm
Dari
a. V
b. A
Kapabilitas
EEPROM (E
ebesar 512 b
ADC interna
Portal komun
Mbps.
Enam pilihan
figurasi Pin
mbar 2.1 ber
mega8535
Gam
tampilan pin
VCC : M
AVCC : M
memori fla
Electrically
byte.
l dengan fid
nikasi seria
n mode sleep
n ATMega85
rikut ini me
mbar 2.1 Ta
n seperti dia
Merupakan p
Merupakan p
ash I8 KB,
Erasable P
delitas 10 bit
al (USART)
p menghema
536
enunjukkan
ampilan Pin
atas dapat dij
pin masukan
pin masukan
, SRAM se
Programable
sebanyak 8
dengan kec
at penggunaa
tampilan p
ATmega853
jelaskan seba
n tegangan se
n tegangan A
ebesar 512
Read Only
channel.
cepatan mak
an daya listri
pin-pin mikr
35
agai berikut
ebesar 5 volt
ADC
8
byte dan
y Memory)
ksimal 2.5
ik.
rokontroler
.
t
9
c. AREF : Merupakan pin masukan tegangan referensi ADC.
d. Reset : Merupakan pin reset, mikrokontroler akan merset program
jika pin ini berlogika low selama 50ns.
e. GND : Merupakan pin ground
f. Port A : Merupakan pin I/O dua arah kelompok 8-bit bi-directional
I/O Port (PA0 – PA7). Pada port ini juga berfungsi
sebagai 8 bit channel ADC (ADC0 – ADC7).
g. Port B : Merupakan pin I/O dua arah kelompok 8-bit bi-directional
I/O Port (PB0 – PB7). Port B memiliki beberapa fungsi
khusus yaitu T0 untuk input Timer dan T1 untuk input
counter, AIN0 dan AIN1 untuk input analog comparator.
SS, MOSI, MISO, SCK untuk komunikasi serial SPI
h. Port C : Merupakan pin I/O dua arah kelompok 8-bit bi-directional
I/O Port (PC0 – PC7). Port C memiliki beberapa fungsi
khusus yaitu TOSC1,TOSC2, OC2 untuk input Timer
Oscilator dan input komunikasi serial I2C yaitu SDA dan
SCL.
i. Port D : Merupakan pin I/O dua arah kelompok 8-bit bi-directional
I/O Port (PD0 – PD7). Port D memiliki beberapa fungsi
khusus yaitu input interupsi eksternal (INTO dan INT1),
komunikasi serial USART (TXD dan RXD) dan OC1B,
OC1A, ICP1.
j. X-TAL1 : Merupakan input dari inverting osilator
10
k. X-TAL2 : Merupakan output dari inverting osilator
2.4.1 Peta Memori
AVR ATmega8535 memiliki ruang pengalamatan memori data
dan memori program yang terpisah. Memori data yang terbagi menjadi 3
bagian, yaitu 32 buah register umum, 64 buah register I/O, dan 512 byte
SRAM Internal.
Register keperluan umum menempati space data pada
alamat terbawah, yaitu $00 sampai $1F. Sementara itu, register khusus
untuk menangani I/O dan kontrol terhadap mikrokontroler menempati 64
alamat berikutnya, yaitu mulai dari $20 hingga $5F. Register tersebut
merupakan register yang khusus digunakan untuk mengatur fungsi
terhadap berbagai periferal mikrokontroler, seperti kontrol register,
timer/counter, fungsi-fungsi I/O, dan sebagainya. Alamat memori
digunakan untuk SRAM 512 byte, yaitu pada lokasi $60 sampai dengan
$25F. Konfigurasi memori data ditunjukkan pada gambar 2.2
11
Gambar 2.2 Memori Data dan Memori Program AVR ATmega8535
Memori program yang terletak dalam Flash PEROM tersusun
dalam word atau 2 byte karena setiap instruksi memiliki lebar 16-bit atau
32-bit. AVR ATmega8535 memiliki 4KbyteX16-bit Flash PEROM
dengan alamat muai dari $000 sampai $FFF tersebut memiliki 12-bit
Program Counter (PC) sehingga mampu mengalamati Flash.
Selain itu AVR ATmega8535 juga memiliki memori data
berupa EEPROM 8-bit sebanyak 512 byte. Alamat EEPROM dumulai dari
$000 sampai $1FF.
2.4.2 Status Register (SREG)
Status register adalah register berisi status yang dihasilkan
pada setiap operasi yang dilakukan ketika suatu instruksi di eksekusi.
SREG merupakan bagian dari inti CPU mikrokontroler. Status Register
ditunjukkan pada gambar 2.3
Gambar 2.3 Status Register ATmega8535
2.4.3 Instruksi Mikrokontroler ATmega8535
12
Mikrokontroler ATmega8535 memiliki 130 macam instruksi.
Instruksi-instruksi mikrokontroler AVR dapat dibagi sebagai berikut :
a. Instruksi transfer data, instruksi ini berfungsi untuk transfer data antara
register ke register, memori ke memori, register ke memori, antarmuka
ke register, dan antarmuka ke memori.
b. Instruksi aritmatika dan logic, instruksi aritmatika meliputi
penjumlahan, pengurangan, penambahan satu (increament), dan
pengurangan satu (decreament). Instruksi logika dan manipulasi bit,
yang melaksanakan operasi AND, OR, XOR, perbandingan,
penggeseran, dan komplemen data.
c. Instruksi Bit dan Bit-Test, yaitu instruksi untuk setting kondisi tiap bit,
baik set maupun clear, bahkan ada beberapa variasi, seperti instruksi
putar, hingga watchdog reset.
d. Instruksi percabangan, yang berfungsi mengubah urutan normal
pelaksanaan suatu program menjadi sesuai yang dikehendaki. Dengan
instruksi ini program yang sedang dilaksanakan akan mencabang ke
suatu alamat tertentu. Instruksi percabangan dibedakan atas
percabangan bersyarat dan percabangan tanpa syarat.
e. Instruksi stack, I/O dan kontrol, yang digunakan untuk mengatur
penggunaan stack, membaca/menulis port I/O serta pengontrolan-
pengontrolan.
2.4.4 Reset dan Osilator
13
a. Reset Eksternal
Keadaan reset terjadi apabila pin reset mendapat logika 0
selama lebih dari 50ns. Pin reset dihubungkan dengan resistor yang
terhubung ke VCC, kapasitor, dan ground. Rangkaian reset eksternal
ditunjukkan pada gambar 2.4.
Gambar 2.4 Rangkaian reset eksternal.
Penentuan reset eksternal dapat dilakukan dengan mengatur
nilai resistor dan kapasitornya. Untuk membuat keadaan reset tegangan
maksimal yang harus diberikan pada pin ini Vc = 0,85 Vcc (datasheet
AVR ATmega8535 ). Karena )1( RCt
eVccVc−
−= maka dapat dicari nilai C1
dengan :
)1( RCt
eVccVc−
−=
Setelah ditentukan resistor yang digunakan, maka kapasitornya dapat
dicari dengan : 3105271,0 −×=RC b. Osilator
Salah satu kelebihan mikrokontroler AVR ATmega8535
adalah kecepatannya dalam melakukan eksekusi program dibandingkan
14
dengan keluarga mikrokontroler MCS-51. AVR ATmega8535
membutuhkan waktu satu siklus clock untuk melakukan eksekusi terhadap
suatu instruksi. rangkaian osilator ditunjukkan pada gambar 2.5.
Gambar 2.5 Rangkaian Osilator
2.3 LCD (Liquid Crystal Display)
LCD adalah suatu piranti keluaran yang dapat menampilkan
karakter huruf atau gambar. LCD tersusun dari 2 buah kaca dengan
penghantar (electroda) transparan yang diantaranya disisipkan kristal cair
(liquid crystal), seperti yang terlihat pada Gambar 2.6.
15
Gambar 2.6 Konstruksi dan cara kerja LCD
Kaca bagian belakang mempolarisasi cahaya secara vertikal,
sedang kaca bagian depan mempolarisasi cahaya secara horisontal. Ketika
tidak terdapat medan listrik di antara kedua elektroda, kristal cair
membentuk pola-pola yang acak, sehingga cahaya yang sudah
terpolarisasi vertikal dapat berputar dan menembus kaca bagian depan
yang terpolarisasi horisontal. Namun ketika suatu medan listrik diberikan
di antara kedua elektroda, kristal cair akan membentuk pola yang seragam
dan tidak ada cahaya yang diputar, sehingga tidak ada cahaya yang
menembus kaca bagian depan. Dengan susunan dan bentuk pola elektroda
tertentu dapat dihasilkan huruf atau gambar yang akan ditampilkan.
Elektroda-elektroda yang tersusun pembentuk karakter atau
gambar dihubungkan pada suatu pengendali. Untuk mengurangi
banyaknya koneksi, pengendali menggerakkan elektroda-elektroda secara
multipeks. Namun dengan sistem multipleks mudah terjadi crosstalk.
Level-level tegangan digunakan untuk membagi tegangan catu ke
elektroda dan membentuk waveform tegangan yang dapat mengurangi
terjadinya crosstalk. Selain itu level-level tegangan ini membangkitkan
tegangan AC murni yang dapat menghindari rusaknya layar LCD akibat
electrophoresis.
Display LCD 2 × 16 karakter,. yang artinya LCD ini memiliki
2 baris dan 16 kolom karakter. Sehingga jumlah total karakter yang dapat
ditampilkan sekaligus adalah sebanyak 32 karakter. Masing-masing
16
karakter tersebut terbentuk dari susunan dot yang berukuran 8 baris dan 5
kolom dot. Gambar 2.7 merupakan bentuk dan bagian LCD 16x2.
Sedangkan Pin pada LCD terdapat pada tabel 2.7.
Tabel 2. 1 Pin tampilan LCD
Nomor Simbol Nomor Simbol1 VEE (0V) 9 DB2 2 VCC 10 DB3 3 GND 11 DB4 4 RS 12 DB5 5 R/W 13 DB6 6 E 14 DB7 7 DB0 15 A 8 DB1 16 K
2.4 SISTEM RS 485
Sistem RS 485 merupakan standar komunikasi multidrop
dengan menggunakan transmisi berimbang yang terhubung dalam satu
jaringan. Dengan kata lain, RS 485 merupakan sistem komunikasi data
secara serial yang dipakai untuk komunikasi multipoint seperti jaringan
internet yang menggunakan kabel coaxial. Sebagian besar sistem RS 485
17
memakai arsitektur slave dengan setiap slave mempunyai keunikan alamat
dan hanya merespon paket-paket yang ditujukan kepada unit ini.
RS 485 tersedia dalam dua versi yaitu satu atau dua twisted
pair. RS 485 yang menggunakan satu twisted pair disini semua alat
dihubungkan ke twisted pair, jadi semua harus mempunyai driver dengan
tri_state. komunikasi berlangsung satu jalur di kedua arah. Sangat penting
mencegah lebih banyak alat dalam satu pengiriman. RS 485 yang
menggunakan dua twisted pair disini master harus mempunyai tri-state
output karena alat slave mengirimkan melewati twisted pair yang kedua,
yang dimaksudkan untuk mengirim data dari slave ke master. Cara ini
memungkinkan untuk melaksanakan komunikasi multipoint dalam sistem.
Sistem pentransmisian data secara serial dengan standar komunikasi serial
RS-485 dikembangkan sejak tahun 1983 dan mampu mentransmisikan
data yang cukup jauh yaitu 1,2 km.
Standar komunikasi serial RS-485 dapat diterapkan pada suatu
jaringan telepon tunggal (party line) atau pada jaringan multidrop
(jaringan yang menggunakan topologi bus). Ada sebanyak 32 pasang
pemancar (transmitter) / penerima (receiver) yang dapat disatukan pada
jaringan multidrop. Pada sisi pemancar (transmitter), akan menghasilkan
tegangan sebesar 2 sampai 6 Volt yang saling berbeda polaritasnya pada
terminal A-B dengan acuan titik tengah ground seperti ditunjukkan pada
Gambar 2.8a. Pada penerima (receiver) mampu menerima data dengan
nilai amplitudo sinyal minimal +200mV sampai –200mV hingga +6 V
18
sampai –6 V (sinyal maksimal) yang masih dapat diterima antara terminal
A-B seperti ditunjukkan pada Gambar 2.8b.
Gambar 2.8a Sinyal keluaran dari pemancar (driver)
Gambar 2.8b Sinyal masukan untuk penerima (receiver).
2.4.1 Pengaturan Impedansi Terminal
Pengaturan impedansi terminal dimaksudkan agar sinyal dapat
terserap secara penuh oleh penerima dan tidak berbalik ke saluran
transmisi kembali. Pengaturan impedansi terminal ini beracuan pada
panjang kabel penghantar dan kecepatan laju data yang digunakan sistem.
19
Pengaturan impedansi terminal dapat diabaikan bila delay propagasi
saluran data lebih rendah dari lebar satu bit data.
Sebagai contoh sebuah sistem yang menggunakan kabel
dengan panjang 600 meter, maka delay propagasi saluran dapat dihitung
dengan mengalikan panjang kabel dengan kecepatan laju propagasi yang
biasanya sebesar 66% sampai 75 % dari kecepatan cahaya (= 3 x108 m/s).
Dengan panjang kabel 600 meter maka perjalanan bolak-balik data 1200
meter dengan laju propagasi 0,66 kecepatan cahaya sehingga delay
propagasi sebesar 6,06μs. Bila perjalanan data sebanyak tiga kali bolak-
balik, pemantulan akan melemah maka sinyal akan stabil pada 18,18μs.
Padahal lebar satu bit data untuk 9600 baud adalah 104μs sehingga pada
kasus ini pengaturan impedansi terminal dapat diabaikan. Ada dua macam
pengaturan impedansi terminal, yaitu:
1. Dengan parallel termination.
Yaitu dengan menambahkan resistor yang dipasang paralel
sebagai penyesuai impedansi. Nilai resistor ini pada umumnya
sebesar 100 Ω. Nilai ini didapatkan dari nilai impedansi intrinsik
kabel penghantar transmisi seperti yang terlihat pada Gambar 2.9a
2. Dengan AC-couple termination.
Yaitu dengan menambahkan resistor yang dipasang paralel
sebagai penyesuai impedansi yang dirangkai seri dengan kapasitor
20
kecil yang berfungsi untuk menghilangkan efek pembebanan DC
seperti yang terlihat pada Gambar 2.9b.
2.4.2 Pemberian Prasikap Pada Jaringan RS-485
Ketika suatu jaringan RS-485 berada dalam keadaan idle
(menunggu), semua driver RS-485 menjadi penerima. Pada keadaan ini
tidak ada driver yang aktif pada jaringan dan semua dalam keadaan
tristate. Tanpa ada yang mengendalikan jaringan, maka sistem dalam
keadaan tidak menentu. Untuk menjaga status idle dalam keadaan jaringan
kosong, perlu dipasangkan resistor yang dirangkai pullup dengan saluran
data B terhadap VCC (umumnya bernilai +5 Volt) dan resistor pulldown
pada saluran data A terhadap ground. Gambar 2.10 memperlihatkan
rangkaian transceiver dengan resistor prasikap.
Gambar 2.9a Rangkaian Parallel Termination
Gambar 2.9b Rangkaian AC-Coupled Termination
21
Gambar 2.10 Transceiver dengan resitor prasikap
Untuk memperoleh nilai resistor prasikap adalah sebagai berikut :
1. Masing-masing nilai impedansi untuk driver RS-485 adalah 12KΩ (RS-
422 And RS-485 Application Note) dan dirangkai secara paralel,
sehingga jumlah beban (Rbeban) adalah
nbeban RRRRR1...1111
321
++++= ………………….(1)
dengan n maksimal = 32
2. Jumlah beban dirangkai paralel dengan 1 resistor penyesuai impedansi,
sehingga jumlah beban total (Rtotal) adalah
pipibebantotal RRRR1111
++= …………………….(2)
3. Nilai amplitudo sinyal minimal adalah 200mV, sehingga arus ( I )yang
dihasilkan
totalRI
310200 −×= ………………………(3)
22
4. Untuk menciptakan arus prasikap sebesar I dengan tegangan catu 5V,
sehingga resistor ( R )yang dibutuhkan sebesar
IR 5
= ………………………..(4)
5. Resistor prasikap yang dipasangkan pada dua sisi yaitu antara VCC
dengan line B dan line A dengan ground sehingga nilai resistansi
prasikap (Rprasikap) adalah
2RRprasikap = ……………………….(5)
2.4.3 Pengaman Jaringan RS-485 Terhadap Beda Potensial Listrik
Pada sistem komunikasi dengan standar RS-485 yang
menggunakan dasar sistem perbedaan potensial sinyal, perbedaan sinyal
maksimal 6 Volt, maka untuk sistem dengan jarak yang jauh besar nilai
amplitudo sinyal dapat berbeda, karena setiap sistem menggunakan acuan
ground lokal yang berbeda. Untuk itu perlu kiranya dibedakan antara
ground sinyal dengan referensi sinyal komunikasi. Ground sinyal adalah
grounding lokal yang dapat juga mempunyai beda potensial terhadap
ground referensi.
Untuk menanggulangi perbedaan ground yang dapat berakibat
berbedanya amplitudo sinyal, dapat ditempuh dua cara pencegahan:
23
1. Dengan memisahkan antara ground data dengan ground lokal /
casing / ground power. Caranya dengan menggunakan koneksi
optik (dapat berupa optocoupler atau komponen optik yang lain).
Gambar 2.11 memperlihatkan pemisahan ground dengan isolasi
optik.
2. Menyambungkan ground data dan ground lokal / ground power
dengan menggunakan konektor dengan impedansi rendah / dapat
berupa resistor dengan nilai resistansi kecil. Gambar 2.12
memperlihatkan gambar penyambungan ground data dan ground
lokal dengan koneksi resistor.
Gambar 2.11 Pemisahan ground dengan isolasi optik
24
Gambar 2.12 Penyambungan ground data dan ground local
dengan koneksi resistor.
Ada pula cara pengamanan yang lain yaitu dengan metode
shunting device. Metode ini memiliki dua cara yang memiliki kelebihan
masing-masing:
1. Cara pertama dengan memasangkan dioda zener bolak-balik
secara shunt terhadap ground ataupun terhadap masing-masing
penghantar jaringan. Kelebihan cara ini yaitu dapat memberi
proteksi terhadap yang tinggi tetapi kelemahannya memiliki batas
ambang tegangan yang tinggi dan tingkat pengamanannya lambat.
Gambar 2.13 memperlihatkan gambar sistem proteksi shunting
device dengan menggunakan dioda zener.
2 Cara kedua dengan memasangkan dioda zener bolak-balik secara
shunt dan merangkaikan fuse secara seri. Gambar 2.14
memperlihatkan sistem proteksi shunting device dengan
menggunakan dioda zener dan fuse seri.
25
(a)
(b)
Gambar 2.13 Sistem proteksi shunting device dengan menggunakan
dioda zener
Gambar 2.14 Sistem proteksi shunting device dengan menggunakan
dioda zener dan fuse seri.
26
2.5 Relay
Relay merupakan suatu saklar meka elektronis, karena relay
bekerja secara mekanis dengan membutuhkan tegangan untuk
elektronisnya. Relay mempunyai kontaktor seperti pada saklar manual
tetapi dikendalikan dengan tegangan dari luar seperti pada Gambar 2.14.
Relay mempunyai dua keadaan yaitu NC (Normally Close) dan NO
(Normally Open). Saat tidak ada tegangan yang masuk maka kondisi
untuk kaki 5 adalah NC dan kondisi untuk kaki 4 adalah NO.
Gambar 2.15 Relay
LAMPU
AC
VCC
K1
35
412
VE
27
BAB III
PERANCANGAN ALAT
3.1 Diagram Blok
Sistem pengendali lampu dengan teknologi RS 485 berbasis
mikrokontroler AVR adalah suatu alat pengendali untuk menyalakan
ataupun mematikan lampu dari jarak jauh. Diagram blok dari sistem kerja
alat ini terdapat pada Gambar 3.1
Gambar 3.1 Diagram blok rancangan sistem pengendali lampu dengan teknologi RS 485 berbasis mikrokontroler AVR
3.2 Perancangan perangkat keras
3.2.5 Minimum sistem mikrokontroler AVR
a. Reset Eksternal
Reset terjadi apabila pin reset mendapat logika 0 selama lebih
dari 50ns. Pin reset dihubungkan dengan resistor (R1) yang terhubung ke
VCC dan kapasitor (C1) yang terhubung ke ground. Rangkaian reset
eksternal ditunjukkan pada Gambar 3.2.
28
Gambar 3.2. Rangkaian reset eksternal.
Pada perancangan ini digunakan waktu 1ms untuk mereset
mikrokontroler. Penentuan reset eksternal dapat dilakukan dengan
mengatur nilai resistor dan kapasitornya. Untuk membuat keadaan reset,
tegangan maksimal yang harus diberikan pada pin ini Vc = 0,85 Vcc
(datasheet AVR ATmega8535 ). Karena )1( RCt
eVccVc−
−= maka dapat
dicari nilai C1 dengan :
)1( RCt
eVccVc−
−=
VcceVcc RCt
85,0)1( ≤−−
; t = 1ms
85,0)1(1
≤−−RC
ms
e
185,01
−≤−−RC
ms
e
15,01
−≤−−
RCms
e
C1
56nF
VCC
R1
10k
RESET
SW1
12
AVR ATMega8535
29
15,0ln1≤
−RC
ms
RCms ×≤− 15,0ln1
15,0ln1msRC −≤
3105271,0 −×=RC
Resistor yang digunakan sebesar 10kΩ, sehingga kapasitornya
dapat dicari dengan:
3105271,0 −×=RC
3105271,010 −×=×Ω Ck
Ω×
=−
kC
10105271,0 3
9107114,52 −×=C
Jadi kapasitor minimum yang dapat digunakan adalah
9107114,52 −× . Pada perancangan ini digunakan kapasitor 56 nF.
b. Osilator
Salah satu kelebihan mikrokontroler AVR adalah kecepatannya
dalam melakukan eksekusi program. AVR membutuhkan waktu satu
siklus clock untuk melakukan eksekusi terhadap suatu instruksi.
30
Pada perancangan ini digunakan kristal osilator 4 MHz sebagai
input clock dengan dua kapasitor C2 dan C3 sebesar 22pF (datasheet AVR
Hardware Design Consideration). Rangkaian osilator yang digunakan
pada perancangan ini ditunjukan pada Gambar 3.3.
Gambar 3.3. Osilator kristal yang dihubung ke mikrokontroler AVR
3.2.1.1 Mikrokontroler AVR ATmega8535
ATmega8535 berfungsi sebagai master yang mengirimkan
keadaan kondisi lampu, serta menampilkan perintah di LCD. Gambar 3.4
menunjukkan mikrokontroler AVR ATmega8535 .
Gambar 3.4 ATmega8535
AVR ATMega8535
XTAL2
C2
22pF
4 MHz
XTAL1
C3
22pF
R SN 75176D SN 75176
KOL 2 KEYPAD
DE
BRS 1 KEYPAD
RS LCD
KOL 3 KEYPAD DB1 LCDDB0 LCD
RESET
RE
E LCD
DB6 LCDBRS 3 KEYPADBRS 4 KEYPAD
DB3 LCD
DB7 LCDBRS 2 KEYPAD
DB4 LCDKOL 1 KEYPAD
XTAL
U1
ATmega8535
9
12
13
11
32
30
31
10
12345678
2223242526272829
1415161718192021
4039383736353433
RST
XTAL2
XTAL1
GN
D
AREF
AVCC
GND
VC
C
PB0 (XCK/T0)PB1 (T1)
PB2 (INT2/AIN0)PB3 (OC0/AIN1)
PB4 (SS)PB5 (MOSI)PB6 (MISO)PB7 (SCK)
PC0 (SCL)PC1 (SDA)PC2PC3PC4PC5PC6 (TOSC1)PC7 (TOSC2)
PD0 (RXD)PD1 (TXD)PD2 (INT0)PD3 (INT1)PD4 (OC1B)PD5 (OC1A)PD6 (ICP1)PD7 (OC2)
PA0 (ADC0)PA1 (ADC1)PA2 (ADC2)PA3 (ADC3)PA4 (ADC4)PA5 (ADC5)PA6 (ADC6)PA7 (ADC7)
DB2 LCD
XTAL
DB5 LCD
31
3.2.5 IC Komunikasi Serial RS-485.
Komponen utama yang digunakan pada komunikasi serial
standar RS-485 pada perancangan ini adalah SN75176 yang merupakan
seri 7517x buatan Texas Instrument. Data yang ditransmisikan oleh IC ini
dikirim dalam bentuk perbedaan tegangan yang ada pada pin A dan B.
Gambar 3.5 menunjukkan IC SN75176
Gambar 3.5 IC SN75176
SN75176 berfungsi sebagai pengirim data atau penerima data
tergantung dari kondisi kaki-kaki kontrolnya yaitu DE dan RE. Apabila
DE dan RE berlogika ‘0’, maka SN75176 berfungsi sebagai penerima
data, sedangkan bila kaki DE dan RE berlogika ‘1’, maka SN75176
berfungsi sebagai pengirim data.
3.2.2.1 Konfigurasi Jaringan
Komunikasi RS-485 memiliki kemampuan tiga keadaan
(tristate). Yaitu mengeluarkan sinyal, menerima sinyal dan keadaan
terbuka (high impedance) maka dapat dikonfigurasikan untuk komunikasi
half-duplex. Jadi setiap mikrokontroler dari masing-masing rangkaian
U2
SN75176
43
12
6
7
DDE
RRE
A
B
32
slave dapat mengirimkan data serial secara bergantian. Gambar 3.6
menunjukkan konfigurasi multidrop 2 kabel.
Gambar 3.6 Rangkaian RS-485 dengan konfigurasi multidrop 2 kabel
3.2.2.2 Komponen Penyesuai Impedansi
Penyesuai impedansi pada jaringan diperlukan agar sinyal data
yang dikeluarkan dari masing-masing mikrokontroler slave dapat diterima
dengan sempurna oleh mikrokontroler master dan menghidari terjadinya
feedback. Penyesuai impedansi yang digunakan pada rangkaian ini adalah
sistem parallel termination. Parallel termination yaitu memasangkan
resistor secara paralel pada kabel jaringan. Nilai resistansi dari resistor ini
disesuaikan dengan impedansi nominal kabel jaringan yang digunakan
yaitu 120Ω (RS-422 and RS-485 Application Note). Gambar 3.7
menunjukkan komponen penyesuai impedansi.
33
Gambar 3.7 Komponen penyesuai impedansi
3.2.2.3 Pemberian Prasikap pada Jaringan
Pemberian prasikap tegangan pada jaringan baik prasikap
positif maupun prasikap negatif dimaksudkan untuk menghindari keadaan
sinyal yang tidak menentu saat tidak ada data (keadaan menunggu / idle).
Pemberian prasikap ini dengan cara memasangkan resistor prasikap antara
line B dengan ground dan resistor antara line A dengan VCC (+5V).
Rancangan sistem komunikasi adalah sebagai berikut:
1. Memiliki 2 resistor penyesuai impedansi 120Ω, yang akan
dipasangkan paralel dengan rangkaian RS-485.
2. Impedansi tiap rangkaian komunikasi RS-485 sebesar 12KΩ ( RS-422
and RS-485 Application Note) baik untuk pengirim maupun penerima.
3. Direncanakan ada 3 rangkaian komunikasi serial RS-485 (1 buah
pengirim dan 2 buah penerima).
4. Suplai tegangan 5V dengan amplitudo sinyal minimal +200mV.
5. Besar nilai nilai resistansi prasikap dihitung sebagai berikut:
34
- Jumlah beban keseluruhan 3 rangkaian, masing-masing nilai
impedansinya 12KΩ dan dirangkai secara paralel sehingga jumlah
beban adalah
321
1111RRRRbeban
++=
333 10121
10121
101211
×+
×+
×=
bebanR
3101231
×=
bebanR
Ω= KRbeban 4
- Jumlah beban dirangkai paralel dengan 2 resistor penyesuai
impedansi 120Ω, hasilnya adalah :
pibebantotal RRR211
+=
1202
10411
3 +×
=totalR
310122031×
=totalR
2031012 3×
=totalR
Ω= 11,59totalR
- Nilai amplitudo sinyal minimal 200mV (perhitungan nilai minimal
positif) dibagi dengan nilai beban 59,11Ω menghasilkan arus
11,5910200 3−×
=I
35
mAI 38,3=
- Untuk menciptakan arus prasikap sebesar 3,38mA dengan
tegangan catu 5V, resistor yang dibutuhkan sebesar
31038,35
−×=R
Ω= 2,1479R
- Resistor prasikap yang dipasangkan pada dua sisi yaitu antara VCC
dengan line B dan line A dengan ground maka nilai resistor
prasikap adalah
22,1479
=prasikapR
6,739=prasikapR Ω
Karena nilai resistor 739,6 Ω tidak terdapat di pasaran, maka
dipilih nilai yang mendekati 739,6 Ω yaitu 560Ω diseri dengan 220Ω.
Atau harga untuk total resistor adalah 780 Ω. Gambar 3.8 menunjukkan
Rangkaian Sistem Komunikasi RS-485
Gambar 3.8 Rangkaian sistem komunikasi RS 485
D1
D4
R2
220 ohm
D2
U2
SN75176
43
12
6
7
DDE
RRE
A
B
J1
CON2
12
R5
120 ohmRDXPB3
D3
R3
560 ohm
VCC
R1
560 ohm
R4
220 ohm
PB2TDX
36
3.2.2.4 Pengamanan Beda Potensial Untuk Jaringan
Pada jaringan komunikasi yang menyambungkan antar
rangkaian yang masing-masing memiliki catu daya sendiri dibutuhkan
suatu pengaman jaringan terhadap beda potensial listrik. Metode yang
digunakan pada rangkaian ini yaitu metode shunting device. Metode
shunting device dilakukan dengan memasangkan dioda zener yang
dipasang bolak-balik antara line jaringan dan ground.
Nilai dioda zener yang digunakan merupakan nilai maksimal
tegangan untuk tiap line jaringan. Dalam hal ini nilai maksimal tegangan
tiap line jaringan adalah 6 Volt. Gambar 3.9 menunjukkan rangkaian
pengaman dengan metode shunting device.
Gambar 3.9 Rangkaian pengaman dengan metode shunting device.
3.2.5 Rangkaian Driver Lampu
Rangkaian driver lampu berguna untuk menghidupkan lampu.
Pada rangkaian ini terdapat resistor, transistor NPN, infra merah,
phototransistor dan relay. Transistor NPN berfungsi sebagai saklar yang
mengalirkan tegangan untuk mengaktifkan infra merah. Pada saat keadaan
37
terang, sinar infra merah dari LED dapat dipancarkan ke phototransistor.
Hal ini membuat phototransistor mendapat suplai arus pada basis dan
membuat phototransistor aktif. Keluarannya bernilai besar, dan dianggap
short. Pada keadaan tersebut, maka relay akan terpicu.
Pada saat keadaan gelap, LED infra merah tidak dapat
memancarkan cahaya ke phototransistor. Hal ini membuat phototransistor
tidak mendapat suplai arus ke basis yang mengakibatkan phototransistor
tidak aktif. Keluarannya bernilai kecil, pada keadaan itu terjadi threshold.
Relay tidak akan terpicu untuk menghidupkan lampu. Gambar 3.10
menunjukkan rangkaian driver lampu
Gambar 3.10 Rangkaian Driver Lampu
Dari rangkaian driver dapat diketahui besar tegangan di kaki
colector (VC) dan besar tegangan di kaki colector emitter (VCE) pada saat
lampu menyala atau transistor cut Off.
-Tegangan pada kaki colector (VC) , diketahui VLed adalah 1,4 Volt (data
sheet PC817)
3
- T
3.2.4 Kon
kabe
kone
dan k
peng
untu
VC = VC
= VC
= 5V
= 3 V
Tegangan pa
VCE = V
= 3
= 3
eksi kabel
Kabe
el Twisted pa
ektornya dig
kabel Twiste
Gambar
Dari
giriman data
uk level tegan
CC - VR3 - V
CC – I3R3 - V
V - 6mA .100
Volt
ada kaki cole
VC – VE
V – 0V
Volt
el yang digu
air (TP) yan
gunakan RJ 4
ed pair.
3.11 konekt
8 kabel ma
a, dua kabel
ngan +12 Vd
VLed
VLed
0Ω - 1,4V
ector emiter
unakan untu
g didalamny
45. gambar 3
tor RJ 45 dan
asing-masing
untuk level
dc. Gambar
(VCE)
uk pengirim
ya terdapat 8
3.11 menunj
n kabel Twis
g terbagi me
l tegangan +
3.12 menunj
man data me
8 buah kabel,
jukkan kone
sted pair
enjadi dua k
+ 5Vdc dan
jukkan kone
38
nggunakan
, dan untuk
ektor RJ 45
kabel untuk
n dua kabel
eksi kabel.
39
Gambar 3.12 Koneksi kabel
3.2.5 Rangkaian Keypad
Pada perancangan ini, keypad yang digunakan adalah keypad
3X4. Sistem kerjanya adalah dengan scanning process, yaitu dengan
melakukan pemeriksaan terus menerus yang dilakukan oleh
mikrokontroler.
Tahap pertama mikrokontroler menentukan kolom yang akan
diperiksa dengan cara mengirim data ke satu baris. Dengan demikian
hanya tedapat satu baris yang aktif. Kemudian mikrokontroler akan
membaca kolom yang ditekan secara satu persatu untuk mengetahui
tombol yang ditekan. Begitu seterusnya hingga semua kolom diperiksa.
Dengan demikian dapat dipastikan posisi tombol yang ditekan. Gambar
3.13 menunjukkan rangkaian keypad 3x4.
40
Gambar 3.13 Rangkaian keypad 3X4
3.3 Perancangan Perangkat lunak
3.3.1 Program Utama Master
Pada perancangan ini, master menggunakan mikrokontroler
ATmega8535. Yang mempunyai fungsi memberi perintah kepada slave
ATmega8535 untuk menghidupkan lampu dan memberi tampilan di LCD.
Sebelum menggunakan sistem komunikasi RS 485, jalur pada sistem
komunikasi tersebut akan diperiksa sibuk atau tidak.. Jika jalur sibuk,
mikrokontroler akan menunggu sampai jalur tidak sibuk, baru pengiriman
data dapat dilakukan. Gambar 3.14 merupakan diagram alir dari program
utama master.
PC0
1 2
1 2
R2
1K
R6 1K1 2
PC1
1 2
PC31 2
PC4
1 2
R1
1K
PC5
R3
1K
R8 1K
1 2
1 21 2
1 2
R5 1K
1 2
PC2R7 1K
1 2
PC6
41
Gambar 3.14 Diagram alir program utama master
3.3.2 Program Utama Slave
Pada perancangan ini, slave mengunakan mikrokontroler
ATmega8535 , berfungsi untuk menerima perintah dari master, untuk
mengendalikan kondisi lampu. Pada slave (ATmega8535 ), semua lampu
telah mempunyai alamat masing-masing, jadi slave (ATmega8535 ) akan
42
melihat alamat yang dikirimkan oleh master kemudian melakukan
eksekusi. Pada Gambar 3.15 merupakan diagram alir dari program utama
slave.
Gambar 3.15 Diagram alir program utama slave
3.3.3 Program Aktifkan LCD
Untuk mengaktifkan LCD, harus ada inisisalisasi, yang
berfungsi untuk mengetahui bit apa yang akan dipakai. Ada terdapat dua
pilihan 8 bit atau 4 bit. Kemudian kursor dinyalakan atau tidak, serta
bentuk tulisan yang akan digunakan, terdapat dua pilihan juga 8x10 dot
43
atau 8x7 dot. Gambar 3.16 merupakan diagram alir program untuk
mengaktifkan LCD
Gambar 3.16 Diagram alir aktifkan LCD
3.3.4 Program Periksa Jalur
Untuk melakukan komunikasi menggunakan RS 485, hal
pertama yang harus dilakukan adalah memeriksa jalur yang akan
digunakan, apakah sedang sibuk atau tidak. Jika jalur sibuk, maka akan
ditunggu dengan cara mereset timer penungguan terus menerus. Gambar
3.17 merupakan diagram alir program periksa jalur.
44
START
AKTIFKANTIMER
CEK BIT RXD
JIKA RXD=1
JALUR TIDAKSIBUK
TUNGGU SAMPAITIMER OVER FLOW
END
RESETTIMER
YA
TDK
Gambar 3.17 Diagram alir program periksa jalur
3.3.5 Program kirim data
Pengiriman data menggunakan RS 485 berlangsung secara half
duplex. Master berfungsi sebagai pengirim,. Begitu juga dengan slave
berfungsi sebagai penerima. Pada mikrokontroler ATmega8535
pengiriman data secara 8 bit. Mis: pada keypad ditekan angka 1, maka
pengiriman datanya adalah 01 dengan biner ’00000001’ . Gambar 3.18
merupakan diagram alir pengiriman data.
45
Gambar 3.18 Diagram alir program pengiriman data
3.3.6 Program Baca Data Keypad
Tahap pertama mikrokontroler menentukan kolom yang akan
diperiksa dengan cara mengirim data ke satu baris. Dengan demikian
hanya tedapat satu baris yang aktif. Kemudian mikrokontroler akan
membaca kolom yang ditekan secara satu persatu untuk mengetahui
tombol yang ditekan.
Cara ini diulang untuk baris-baris berikutnya sehingga semua
kolom diperiksa, setelah semua kolom diperiksa maka akan diulangi dari
baris pertama. Dengan demikian dapat dipastikan posisi tombol yang
ditekan. Gambar 3.19 merupakan diagram alir program baca data.
46
Gambar 3.19 Diagram alir baca data keypad
m
s
d
j
H
B
menyatakan
sesuai denga
dapat meng
jarak jauh. A
Gamba
HASIL PE
Bab ini akan
bahwa alat
an perancan
endalikan k
Alat pengend
ar 4.1 Alat p
ENGAMA
n membahas
yang telah d
ngannya. Fun
keadaaan lam
dali lampu ja
pengendali la
BAB IV
ATAN DAN
data yang te
dirancang da
ngsi utama
mpu menya
arak jauh ini
ampu jarak j
N PEMBA
elah diambil
apat bekerja
dari alat ya
ala (ON) at
ditunjukkan
auh dengan
AHASAN
l dan pembah
dengan baik
ang dibuat a
tau padam (
n pada gamb
teknologi R
47
hasan yang
k dan sudah
adalah agar
(OFF) dari
bar 4.1
RS-485
d
R
B
R
A
dua (2) slave
Rangkaian m
• Mik
• LCD
• Keyp
• Ran
• Catu
Bentuk fisik
Rangkaian s
•
•
Alat pengen
e.
master terdir
krokontroler
D berfungsi s
pad 3x4 ber
ngkaian komu
u daya denga
k rangkaian m
slave terdiri d
Mikrokontr
Rangkaian
data.
ndali lampu j
ri dari:
ATmega 85
sebagai tamp
fungsi sebag
unikasi RS-4
an level tega
master dapat
Gambar 4
dari :
roler ATmeg
komunikas
jarak jauh in
35 berfungs
pilan
gai input per
485 berfung
angan 5 Vdc
t dilihat pada
4.2 Rangkaia
ga 8535 berf
si RS-485 b
ni terdiri ata
i sebagai un
rintah ke mik
si sebagai si
dan 12Vdc
a gambar 4.2
an master
fungsi sebag
berfungsi seb
as satu (1) m
nit kontrol
krokontroler
istem transm
2.
gai unit kontr
bagai sistem
48
master dan
misi data.
rol
m transmisi
B
3
•
Bentuk fisik
3.2.4 Cara
adala
peng
deng
lamp
“Lam
Deng
tamp
deng
Rangkaian
menyala (O
k rangkaian s
a Pengguna
Dala
ah menghidu
gendalian da
gan kondisi a
Nom
pu ke satu. S
mpu 1”. Pe
gan meneka
pilan ON yan
Untu
gan meneka
driver be
ON) atau pad
slave dapat d
Gamba
aan Pengend
am menjalan
upkan powe
apat dilakuk
awal lampu a
mor satu (1)
Setelah nom
erintah selan
an tanda bin
ng menyatak
uk membuat
an kembali
erfungsi seb
dam (OFF)
dilihat pada g
ar 4.3 Rangk
dali Lampu
nkan alat ini
er supply. Se
an dengan c
adalah padam
pada keypad
mor 1 ditekan
njutnya ada
ntang (*) pad
kan bahwa la
t kondisi lam
keypad nom
bagai pengko
gambar 4.3
kaian slave
Jarak Jauh
, langkah pe
etelah tampi
cara meneka
m (OFF).
d digunakan
n, pada LCD
alah memasu
da keypad, p
ampu nomor
mpu nomor
mor satu
ondisi kead
h
ertama yang
ilan pada LC
an tombol ke
n untuk men
D akan kelua
ukkan kond
pada LCD a
r satu (1) me
r satu (1) O
(1). Setelah
49
daan lampu
g dilakukan
CD keluar,
eypad 3x4,
ngendalikan
ar tampilan
disi lampu.
akan keluar
enyala.
OFF adalah
h nomor 1
50
ditekan, pada LCD akan keluar tampilan “ Lampu 1”. Perintah selanjutnya
adalah memasukkan kondisi lampu. Dengan menekan tanda pagar (#)
pada keypad, pada LCD akan keluar tampilan OFF yang menyatakan
bahwa lampu nomor satu (1) padam.
Nomor dua (2) pada keypad digunakan untuk mengendalikan
lampu ke dua. Begitu seterusnya hingga keypad nomor sembilan (9)
digunakan untuk mengendalikan lampu ke 9. Tanda bintang (*) pada
keypad digunakan untuk menghidupkan lampu. Sedangkan untuk
memadamkan lampu menggunakan tanda pagar (#) pada keypad.
3.2.4 Pengujian dengan perintah
Sesuai perancangan pada pengendali lampu ini, terdapat dua
rangkaian slave yang dihubungkan pada rangkaian master. Pengujian ini
bertujuan untuk mengetahui bagaimana kinerja dari sistem, jika ada
rangkaian slave yang tidak dihubungkan dengan rangkaian master.
4.2.1 Pengujian dengan perintah pada satu
rangkaian slave
Pada kondisi ini menggunakan satu rangkaian master dan satu
rangkaian slave. Perintah dari keypad hanya berfungsi untuk lampu ke
satu atau untuk lampu ke dua saja. Berdasarkan hasil pengamatan dapat
dilihat pada tabel 4.1 ternyata perintah dengan menggunakan satu slave
dapat bekerja dengan baik.
51
Tabel 4.1 Kondisi lampu dengan perintah pada satu slave
Slave ke satu Tombol yang ditekan Lampu ke 1
1 * ON 1 # OFF 2 2 x 1 1 x
Slave ke dua
Tombol yang ditekan Lampu ke 2 2 * ON 2 # OFF 2 2 x 1 1 x
4.2.2 Pengujian dengan perintah pada dua rangkaian slave
Pada kondisi ini menggunakan satu rangkaian master dan dua
rangkaian slave. Perintah dari keypad berfungsi untuk lampu ke satu dan
lampu ke dua. Berdasarkan hasil pengamatan dapat dilihat pada tabel 4.2
ternyata perintah dengan menggunakan dua slave dapat bekerja dengan
baik. Hal ini membuktikan bahwa alat dapat bekerja tanpa bergantung
pada jumlah slave
Tabel 4.2 Kondisi lampu dengan perintah pada dua slave
Tombol yang ditekan Lampu ke
I Lampu ke
II 1 * ON 2 * ON 1 # OFF 2 # OFF1 1 x x * * x x
Keterangan: x: tidak ada perubahan
Keterangan: x: tidak ada perubahan
52
3.2.4 Pengujian perangkat keras
Pengujian perangkat keras ini meliputi bagian catu daya,
bagian kendali (ATMega 8535), bagian komunikasi (RS-485), bagian
keypad, dan bagian driver.
4.3.1 Rangkaian Catu Daya
Sesuai dalam perancangan, perangkat keras menggunakan satu
buah catu yang mempunyai dua level tegangan. Untuk tegangan +5Vdc
digunakan LM 7805 yang secara konsisten menyediakan suplai tegangan
+5Vdc. Level tegangan +5Vdc digunakan sebagai Vcc bagi
mikrokontroler. Sedangkan tegangan +12Vdc digunakan untuk
mengaktifkan relay pada driver.
Keluaran LM 7812 adalah 11Vdc. Dengan error sebesar E=
1211 x 100% = 8,3% tetap dapat untuk mengaktifkan relay sebesar 6Vdc.
Pada data sheet, tegangann Vcc untuk LCD sebesar 5Vdc. Tegangan dari
catu sudah memenuhi tegangan referensi LCD. Tabel 4.3 menunjukkan
hasil dari pengukuran tegangan catu daya pada tiap rangkaian. Untuk
rangkaian slave berjarak 50 cm dari master.
Tabel 4.3 Hasil pengukuran catu daya
Catu daya 5V (regulator LM7805) Hasil pengukuran
Rangkaian master 5V
Rangkaian slave 1 4,9V
Rangkaian slave 2 4,8V
53
LCD 5V
Pada tabel, pengamatan dengan mengukur keluaran dari LM
7805 tidak semuanya bernilai 5Vdc. Hal tersebut terjadi dikarenakan
pengaruh dari panjangnya kabel yang digunakan. Tabel 4.4 merupakan
hasil pengamatan jarak panjang kabel dari master ke slave.
Tabel 4.4 Pengamatan panjang kabel
Jarak Tegangan pada slave
10 Meter 4,1 Volt
20 Meter 3,5 Volt
30 Meter 3,2 Volt
40 Meter 2,9 Volt
Pada pengamatan panjang kabel, terdapat perubahan level
tegangan dengan jarak yang berbeda-beda. Semakin panjang kabel,
tegangan yang diterima oleh slave akan semakin kecil. Pada jarak 40
meter tegangan yang diterima oleh slave adalah 2,9 volt. Keadaan ini tetap
membuat slave masih bekerja, karena tegangan minimum yang dapat
diterima oleh mikrokontroler 2,7 volt. Untuk tegangan maksimum yang
dapat diterima oleh mikrokontroler 5,5 volt (data sheet microcontroller
ATmega8535).
4.3.2 Rangkaian Kendali (Mikrokontroler ATmega 8535)
Sesuai dengan perancangan, pada alat pengendali lampu jarak
jauh ini terbagi menjadi 2 bagian yaitu rangkaian master dan rangkaian
54
slave. Setiap rangkaian terdapat mikrokontroler yang menjadi
pengendalinya. Mikrokontroler pada master berfungsi sebagai control unit
dengan input masukan berupa Keypad, display unit yang berupa LCD dan
sistem komunikasi RS-485. Sedangkan mikrokontroler pada slave
berfungsi sebagai penerima data dan menjadi sumber input bagi rangkaian
driver.
4.3.3 Pengujian Keypad
Keypad merupakan sumber input bagi mikrokontroler. Data
yang masuk harus bisa dibaca oleh mikrokontroler. Dengan sistem
scanning process pemeriksaan dilakukan terus menerus oleh
mikrokontroler. Pin pada PC3 yang merupakan baris pertama, diaktifkan
dengan memberi logika high, kemudian mikrokontroler akan memberi
logika low pada pin PC0 yang merupakan kolom pertama. Jika terdapat
perubahan logika pada baris pertama, dari logika high menjadi logika low,
hal itu menunjukkan angka pada keypad yang ditekan adalah satu (1).
Mikrokontroler akan memberi logika low pada pin PC1 yang
merupakan kolom kedua jika tidak ada perubahan pada kolom pertama.
Jika terdapat perubahan logika pada baris pertama, maka angka yang
ditekan pada keypad adalah dua (2). Bila tidak terjadi perubahan juga,
maka mikrokontroler akan memberi logika low pada pin PC2 yang
merupakan kolom ketiga. Jika terdapat perubahan logika pada baris
pertama, maka angka yang ditekan pada keypad adalah tiga (3). Begitu
55
juga yang terjadi pada baris kedua, ketiga dan keempat, yang terletak pada
pin PC4, pin PC5, dan pin PC6.
• Untuk level tegangan low memiliki batas minimum dan maksimum
yaitu:
Batas minimum = 0,5V
Batas maksimum = 25,02,0 −Vcc
= 25,052,0 −×
= 0,75 Vdc
Untuk level tegangan high memiliki batas minimum dan maksimum
yaitu:
Batas minimum = 12,0 +Vcc
= 152,0 +×
= 2 Vdc
Batas maksimum = 5,0+Vcc
= 5,05 +
= 5,5 Vdc
Pada pengujian keypad didapat data level tegangan low sebesar
0Vdc sedangkan level tegangan high sebesar 4Vdc. Data level tegangan
yang didapat dari pengamatan atau pengujian dapat dibaca dengan baik
oleh mikrokontroler karena tidak melebihi batas minimum dan
maksimumnya.
4.3.4 Pengamatan Rangkaian Driver
56
Rangkaian driver berfungsi untuk memberi kondisi keadaan
lampu menyala (ON) atau padam (OFF). Masukan pada rangkaian driver
terhubung pada mikrokontroler ATmega8535 di pin PD4. Pengamatan
keluaran tegangan pada rangkaian driver dapat dilihat pada tabel 4.5.
Tabel 4.5 Data tegangan pada rangkaian driver
Tegangan Keadaan Nyala (ON) Keadaan Padam (OFF)
Vi 0,4 Volt 4,8 Volt
VCE 2,4 Volt 0,5 Volt
VC 2,8 Volt 0,5 Volt
VCE phototransistor 0,1 Vdc 10 Vdc
Sesuai dengan perancangan telah diketahui keluaran tegangan
di kaki colector (VC) dan di kaki colector emitter (VCE). Pada tabel 4.6
dapat dilihat keluaran tegangan dengan perhitungan
Tabel 4.6 Perhitungan tegangan pada rangkaian driver
Tegangan Keadaan Nyala (ON) Keadaan Padam (OFF)
Vi 0 Volt 5 Volt
VCE 3 Volt 0 Volt
VC 3 Volt 0 Volt
VCE phototransistor 0 Volt 12 Volt
57
Pada tabel 4.5 dan tabel 4.6 terdapat perbedaan tegangan
antara teori dengan perhitungan data. Tabel 4.7 merupakan hasil dari
perhitungan galat antara data teori dengan data praktek. Nilai galat yang
didapat masih masuk dalam batas toleransi. Hal itu terbukti rangkaian
driver bekerja sesuai dengan input yang diberikan untuk menghasilkan
kondisi lampu.
%100Pr% ×−
=Teori
aktekTeoriGalat
Tabel 4.7 Perhitungan galat
Tegangan Keadaan Nyala (ON) Keadaan Padam (OFF)
Vi ~ 4%
VCE 20% ~
VC 6,6% ~
VCE phototransistor ~ 16%
4.3.5 Transmisi data serial
Transmisi data serial pada alat ini adalah transmisi data antara
rangkaian master dan rangkaian slave yang menggunakan sistem
komunikasi RS-485. Dalam mentransmisikan data dihubungkan dengan
kabel twisted pair.
Pada pengamatan ini dilakukan saat rangkaian master
mengirimkan data dengan isyarat informasi 01h ke tiap-tiap rangkaian
slave. Informasi 01h oleh slave akan diterima kemudian dicocokkan
sama atau tidak dengan data yang ada pada masing-masing slave. Jika
58
sama maka pada slave akan melanjutkan proses yang berakhir dengan
keadaan kondisi lampu. Tetapi jika tidak sama akan diabaikan oleh
slave.
Dengan menggunakan osiloskop digital dapat dilihat
bentuk sinyal yang dikirimkan. Sinyal yang tampak pada gambar 4.4
merupakan sinyal pada line B atau sinyal pada saluran transmisi yang
terhubung dengan pin 7 IC SN75176 (Output inverting).
Gambar 4.4 Hasil pengamatan sinyal pada line B serial RS-485
Sinyal yang tampak pada gambar 4.5 adalah sinyal pada line A
atau sinyal pada saluran transmisi yang terhubung dengan pin 6 IC
SN75176 (Output Noninverting). Polaritas sinyal data pada saluran ini
sama dengan polaritas sinyal data dari mikrokontroler.
Gam
TTL
(RX
kelu
tiap
amp
Gamba
mbar 4.5 H
IC S
L yang berfu
D) mikroko
aran dari pe
bitnya tidak
litudonya be
ar 4.6 Siny
Hasil pengam
SN75176 ber
ungsi sebaga
ontroler AT
enerima RS-4
k berbeda de
erubah menja
yal masukan
matan sinyal
rguna untuk
ai sinyal ma
Tmega8535.
485 berupa
engan sinyal
adi 4,4V.
untuk RXD
pada line A
k mengubah
asukan untu
Dari gamb
sinyal digita
digital form
Mikrokontr
A serial RS-4
sinyal deng
uk port seria
bar 4.6 terli
al format TT
mat RS-485
roler ATmeg
59
85
gan format
al pin PD0
ihat sinyal
TL, periode
akan tetapi
ga8535
60
3.2.4 Pengaruh panjang kabel terhadap sinyal data
Pada sistem ini, dilakukan pengujian koneksi dari rangkaian
master ke rangkaian slave dengan menggunakan kabel penghantar. RS-
485 mampu mentransmisi sinyal data pada medium kabel sejauh 1,2 Km.
Pengamatan dilakukan dengan menggunakan kabel sejauh 10 meter, 20
meter, 30 meter dan 40 meter.
• Pengamatan sinyal data pada line A format RS-485 saat koneksi sejauh
10 meter, dapat dilihat pada gambar 4.7.
Gambar 4.7 Sinyal data line A format RS-485 pada jarak 10 meter
• Pengamatan sinyal data pada line A format RS-485 saat koneksi sejauh
20 meter, dapat dilihat pada gambar 4.8.
Gambar 4.8 Sinyal data line A format RS-485 pada jarak 20 meter
61
• Pengamatan sinyal data pada line A format RS-485 saat koneksi sejauh
30 meter, dapat dilihat pada gambar 4.9.
Gambar 4.9 Sinyal data line A format RS-485 pada jarak 30 meter
• Pengamatan sinyal data pada line A format RS-485 saat koneksi sejauh
40 meter, dapat dilihat pada gambar 4.10.
Gambar 4.10 Sinyal data line A format RS-485 pada jarak 40 meter
Dapat dilihat dari hasil pengamatan, semakin panjang kabel
yang digunakan terdapat nilai amplitudo yang semakin kecil juga.
Pelemahan amplitudo sinyal terjadi setiap penambahan kabel sepanjang 10
meter dengan besar 0.3 volt. Dari pengamatan pada jarak 10 meter, 20
meter, 30 meter dan 40 meter dan dengan asumsi bahwa perubahan yang
62
terjadi linier, dapat dibuat suatu grafik panjang kabel dimana dapat
diketahui maksimal panjang kabel yang dapat digunakan. Gambar 4.11
merupakan gambar grafik panjang kabel.
Gambar 4.11 Grafik panjang kabel terhadap tegangan yang dikirim
Dari grafik dapat dilihat, dengan penurunan sebesar 0.3 volt
tiap 10 meternya. Pada jarak 100 meter didapat besar amplitudo 400 mV.
Dalam hal ini sistem komunikasi serial RS-485 masih mampu untuk
menerima sinyal data. Hal itu terjadi dikarenakan pada penerima
(reciever) RS-485 secara teoritis mampu menerima data dengan nilai
amplitudo sinyal minimal +200mV sampai -200mv (data sheet SN75176).
Jarak 100 meter dapat digunakan jika tegangan minimum dan maksimum
pada slave adalah 2,7 volt dan 5,5 volt (data sheet microcontroller
ATmega8535).
Grafik panjang kabel
3.12.8
2.52.2
1.91.6
1.31
0.70.4
0.100.5
11.5
22.5
33.5
10 30 50 70 90 110
meter
volt
63
BAB V KESIMPULAN DAN SARAN
Dari pembahasan dan pengujian dari alat yang telah dibuat
berdasarkan hasil rancangan, maka pada bab ini dapat diambil kesimpulan dan
beberapa saran yang berguna untuk pengembangan alat.
5.1 KESIMPULAN
1. Alat pengendali lampu jarak jauh ini dapat bekerja dengan baik. Hal
ini terbukti dari perintah yang diberikan oleh keypad dapat
menyalakan (ON) ataupun mematikan (OFF) lampu yang
diinginkan.
2. Alat tetap bekerja dengan baik, walaupun hanya terdapat satu
rangkain slave yang terhubung pada rangkaian master.
3. Sistem komunikasi serial RS-485 pada alat ini mampu
mengendalikan sampai 9 lampu dengan kabel penghantar sejauh 40
meter.
5.2 SARAN
Alat ini dapat dikembangkan untuk mengendalikan lebih
bayak lagi lampu Untuk satu slave dapat mengendalikan 1 lampu, dengan
referensi bahwa sistem komunikasi RS-485 dapat digunakan pada 32
peralatan dengan referensi ground yang berbeda. Maka pada alat ini dapat
dikembangkan pula menjadi 32 lampu.
64
DAFTAR PUSTAKA
__________,2007, AVR Microcontroller ATmega8535 Datasheet,
http://www.atmel.com, Atmel Semiconductor.
___________, 2007, SN75176 RS 485 Datasheet,
http://www.datasheet4u.com
Wardhana Lingga,2006, Mikrokontroler AVR seri ATMega8535,
ANDI OFFSET, Yogyakarta
__________,1996, Device Specification For PHOTOCOUPLER Model No.
PC817 Datasheet,
http://www.datasheetcatalog.com
__________,1992, RS-422 and RS-485 Application Note
Robert Boylestad,1996, Electronic Device And Circuit Theory,
PRENTICE HALL Englewood Cliffs, New Jersey
___________, 1999, BC 546; BC 547 NPN general purpose transistorDatasheet,
http://www.datasheet4u.com
___________, 1999, The concise LCD data sheet,
http://www.senet.com
_________,2007, Komunikasi Data Dengan Menggunakan Teknik RS485
http://www.Delta-electronic.com
1
LAMPIRAN
1
R4
120 ohm
1 2R6
220 ohm
D3
12V
1 2
C2
22pF
SW12
SW TACT-SPST
12
1 21 2
C3
22pF
1 2
R1
10K
5 V
5V
R5
560 ohm
D4
12V
D1
12V
1 2
C1
56nF
D2
12V
1 2
4MHz
R3
560 ohm
1 2
J1
123456
5V
1 21 2
U3
SN75176
43
12
6
7
DDE
RRE
A
B
RANGKAIAN MASTER
5V
1 2
12V
1 2
R2
220 ohm
U1
ATmega8535
9
12
13
11
32
30
31
10
12345678
2223242526272829
1415161718192021
4039383736353433
RST
XTAL2
XTAL1
GN
D
AREF
AVCC
GND
VCC
PB0 (XCK/T0)PB1 (T1)
PB2 (INT2/AIN0)PB3 (OC0/AIN1)
PB4 (SS)PB5 (MOSI)PB6 (MISO)PB7 (SCK)
PC0 (SCL)PC1 (SDA)PC2PC3PC4PC5PC6 (TOSC1)PC7 (TOSC2)
PD0 (RXD)PD1 (TXD)PD2 (INT0)PD3 (INT1)PD4 (OC1B)PD5 (OC1A)PD6 (ICP1)PD7 (OC2)
PA0 (ADC0)PA1 (ADC1)PA2 (ADC2)PA3 (ADC3)PA4 (ADC4)PA5 (ADC5)PA6 (ADC6)PA7 (ADC7)
LCD 16 X 2
U2LCD
123
456789
1011121314
+VC
CG
ND
VEERS
R/WEDB0DB1DB2DB3DB4DB5DB6DB7
1
; MASTER
.nolist ;Suppress listing of include file
.include"m8535def.inc" ;Define chip particulars
.list
;
.equ fclock =4000000
.equ baud_rate =9600
.equ ubbr_value =(fclock/(16*baud_rate))-1
.def digit4 =R07
.def digit3 =R08
.def digit2 =R09
.def digit1 =R10
.def timeout =R11
.def delay1 =R12
.def delay2 =R13
.def delay3 =R14
.def temp =R16
.def frek1 =R17
.def frek2 =R18
.def data8bit =R19
.def data6bit =R20
.def temp1 =R25
;
2
.cseg
.org 0x000
rjmp RESET
;
RESET:
ldi temp,high(RAMEND)
out SPH,temp
ldi r16,low(RAMEND)
out SPL,temp
ldi temp,0xFF
out DDRA,temp
ldi temp,0b11111000
out DDRC,temp
ldi temp,0b11111111
out PORTC,temp
ldi temp,0xFF
out DDRD,temp
ldi temp,0b00000011
out DDRB,temp
sbi PortC,3
sbi PortC,4
sbi PortC,5
sbi PortC,6
3
sbi PortB,2
sbi PortB,3
rcall initlcd
rcall initUSART
ldi temp,0b00000001
rcall write_inst
ldi zl,low(Awal*2)
ldi zh,high(Awal*2)
rcall tulis
ldi temp,0b11000000
rcall write_inst
ldi zl,low(Awal1*2)
ldi zh,high(Awal1*2)
rcall tulis
rcall Ldelay
lagi:
cbi PortC,3
sbi PortC,4
sbi PortC,5
sbi PortC,6
rcall delay
sbis PinC,0
rcall satu
4
rcall delay
sbis PinC,1
rcall dua
rcall delay
sbis PinC,2
rcall tiga
sbi PortC,3
cbi PortC,4
sbi PortC,5
sbi PortC,6
rcall delay
sbis PinC,0
rcall empat
rcall delay
sbis PinC,1
rcall lima
rcall delay
sbis PinC,2
rcall enam
sbi PortC,3
sbi PortC,4
cbi PortC,5
sbi PortC,6
5
rcall delay
sbis PinC,0
rcall tujuh
rcall delay
sbis PinC,1
rcall delapan
rcall delay
sbis PinC,2
rcall sembilan
sbi PortC,3
sbi PortC,4
sbi PortC,5
cbi PortC,6
rcall delay
sbis PinC,0
rcall bintang
rcall delay
sbis PinC,1
rcall nol
rcall delay
sbis PinC,2
rcall kres
rjmp lagi
6
;
satu:
ldi temp,0b00000001
rcall write_inst
ldi temp,'L'
rcall write_data
ldi temp,'a'
rcall write_data
ldi temp,'m'
rcall write_data
ldi temp,'p'
rcall write_data
ldi temp,'u'
rcall write_data
ldi temp,' '
rcall write_data
ldi temp,'1'
rcall write_data
ldi temp,1
rcall kirimSlave
ret
dua:
ldi temp,0b00000001
7
rcall write_inst
ldi temp,'L'
rcall write_data
ldi temp,'a'
rcall write_data
ldi temp,'m'
rcall write_data
ldi temp,'p'
rcall write_data
ldi temp,'u'
rcall write_data
ldi temp,' '
rcall write_data
ldi temp,'2'
rcall write_data
ldi temp,2
rcall kirimSlave
ret
tiga:
ldi temp,0b00000001
rcall write_inst
ldi temp,'L'
rcall write_data
8
ldi temp,'a'
rcall write_data
ldi temp,'m'
rcall write_data
ldi temp,'p'
rcall write_data
ldi temp,'u'
rcall write_data
ldi temp,' '
rcall write_data
ldi temp,'3'
rcall write_data
ldi temp,3
rcall kirimSlave
ret
empat:
ldi temp,0b00000001
rcall write_inst
ldi temp,'L'
rcall write_data
ldi temp,'a'
rcall write_data
ldi temp,'m'
9
rcall write_data
ldi temp,'p'
rcall write_data
ldi temp,'u'
rcall write_data
ldi temp,' '
rcall write_data
ldi temp,'4'
rcall write_data
ldi temp,4
rcall kirimSlave
ret
lima:
ldi temp,0b00000001
rcall write_inst
ldi temp,'L'
rcall write_data
ldi temp,'a'
rcall write_data
ldi temp,'m'
rcall write_data
ldi temp,'p'
rcall write_data
10
ldi temp,'u'
rcall write_data
ldi temp,' '
rcall write_data
ldi temp,'5'
rcall write_data
ldi temp,5
rcall kirimSlave
ret
enam:
ldi temp,0b00000001
rcall write_inst
ldi temp,'L'
rcall write_data
ldi temp,'a'
rcall write_data
ldi temp,'m'
rcall write_data
ldi temp,'p'
rcall write_data
ldi temp,'u'
rcall write_data
ldi temp,' '
11
rcall write_data
ldi temp,'6'
rcall write_data
ldi temp,6
rcall kirimSlave
ret
tujuh:
ldi temp,0b00000001
rcall write_inst
ldi temp,'L'
rcall write_data
ldi temp,'a'
rcall write_data
ldi temp,'m'
rcall write_data
ldi temp,'p'
rcall write_data
ldi temp,'u'
rcall write_data
ldi temp,' '
rcall write_data
ldi temp,'7'
rcall write_data
12
ldi temp,7
rcall kirimSlave
ret
delapan:
ldi temp,0b00000001
rcall write_inst
ldi temp,'L'
rcall write_data
ldi temp,'a'
rcall write_data
ldi temp,'m'
rcall write_data
ldi temp,'p'
rcall write_data
ldi temp,'u'
rcall write_data
ldi temp,' '
rcall write_data
ldi temp,'8'
rcall write_data
ldi temp,8
rcall kirimSlave
ret
13
sembilan:
ldi temp,0b00000001
rcall write_inst
ldi temp,'L'
rcall write_data
ldi temp,'a'
rcall write_data
ldi temp,'m'
rcall write_data
ldi temp,'p'
rcall write_data
ldi temp,'u'
rcall write_data
ldi temp,' '
rcall write_data
ldi temp,'9'
rcall write_data
ldi temp,9
rcall kirimSlave
ret
nol:
ldi temp,0b00000001
rcall write_inst
14
ldi temp,'L'
rcall write_data
ldi temp,'a'
rcall write_data
ldi temp,'m'
rcall write_data
ldi temp,'p'
rcall write_data
ldi temp,'u'
rcall write_data
ldi temp,' '
rcall write_data
ldi temp,'0'
rcall write_data
ldi temp,0
rcall kirimSlave
ret
bintang:
ldi temp,0b10001000
rcall write_inst
ldi temp,'O'
rcall write_data
ldi temp,'N'
15
rcall write_data
ldi temp,' '
rcall write_data
ldi temp,'B'
rcall kirimSlave
ret
kres:
ldi temp,0b10001000
rcall write_inst
ldi temp,'O'
rcall write_data
ldi temp,'F'
rcall write_data
ldi temp,'F'
rcall write_data
ldi temp,'A'
rcall kirimSlave
ret
;
kirimSlave:
sbi PortB,2
sbi PortB,3
rcall usart_tx
16
rcall tunda
ret
initLCD:
ldi temp,255
mov timeout,temp
rcall delay
ldi temp,0x30
rcall write_inst
ldi temp,65
mov timeout,temp
rcall delay
ldi temp,0x30
rcall write_inst
ldi temp,2
mov timeout,temp
rcall delay
ldi temp,0b00000001
rcall write_inst
ldi temp,0b00000010
rcall write_inst
ldi temp,0b00000110 ;set mode untuk menaikan alamat
rcall write_inst
17
ldi temp,0b00001100 ;mengaktifkan kursor
rcall write_inst
ldi temp,0b00111000 ;inisialisasi LCD untuk 8 bit
rcall write_inst ;operasi dan dua line
ret
;
initUSART:
ldi temp,high(ubbr_value)
out UBRRH,temp
ldi temp,low(ubbr_value)
out UBRRL,temp
ldi temp,(1<<RXEN)|(1<<TXEN)
out UCSRB,temp
ldi temp,(1<<URSEL)|(3<<UCSZ0)
out UCSRC,temp
ret
;
tulis:
lpm
adiw zl,1
tst r0
breq rampung
mov temp,r0
18
rcall write_data
rjmp tulis
rampung:
ret
;
write_inst:
cbi portB,1
out portA,temp
sbi portB,0
cbi portB,0
rcall delay
ret
;
write_data:
sbi portB,1
out portA,temp
sbi portB,0
cbi portB,0
rcall delay
ret
;
usart_tx:
sbis UCSRA,UDRE
19
rjmp usart_tx
out UDR,temp
ret
;
usart_rx:
sbis UCSRA,RXC
rjmp usart_rx
in temp,UDR
ret
;
delay:
ldi temp,64
mov delay1,temp
wait:
dec delay1
brne wait
dec timeout
brne delay
ret
;
Ldelay:
ldi temp,40
mov delay3,temp
20
waitmore2:
rcall tunda
dec delay3
brne waitmore2
ret
tunda:
ldi temp,0xff
mov delay2,temp
waitsome:
ldi temp,0xff
mov delay1,temp
waitmore:
dec delay1
brne waitmore
dec delay2
brne waitsome
ret
;
Awal: .db "Pengendali Lampu",0
Awal1: .db " Robi/02-45 ",0
pesan: .db "Lampu ",0
21
; slave 1
.nolist ;Suppress listing of include file
.include"m8535def.inc" ;Define chip particulars
.list
;
.equ fclock =4000000
.equ baud_rate =9600
.equ ubbr_value =(fclock/(16*baud_rate))-1
.def timeout =R11
.def delay1 =R12
.def delay2 =R13
.def delay3 =R14
.def temp =R16 ;temporary storage register
.def temp1 =R17
;
.cseg
.org 0x0000
;
RESET:
ldi temp,high(RAMEND)
out SPH,temp
ldi r16,low(RAMEND)
out SPL,temp
22
ldi temp,0xFF
out DDRA,temp
ldi temp,0b11111000
out DDRC,temp
ldi temp,0b11111111
out PORTC,temp
ldi temp,0b11111110
out DDRD,temp
ldi temp,0xFF
out DDRB,temp
sbi PortC,3
sbi PortC,4
sbi PortC,5
sbi PortC,6
cbi PortB,2
cbi PortB,3
sbi PortD,4
;-------------------------------------------------------
; UART Initialisation
;-------------------------------------------------------
ldi temp,high(ubbr_value)
out UBRRH,temp
ldi temp,low(ubbr_value)
23
out UBRRL,temp
ldi temp,(1<<RXEN)|(1<<TXEN)
out UCSRB,temp
ldi temp,(1<<URSEL)|(3<<UCSZ0)
out UCSRC,temp
;========================================================
Mulai:
rcall usart_rx
cpi temp,1
brne Mulai
lain1:
rcall usart_rx
cpi temp,'A'
brne lain
rjmp lampuMati
lain:
cpi temp,'B'
brne lain1
rjmp lampuNyala
;
lampuMati:
sbi PORTD,4
rjmp Mulai
24
;
lampuNyala:
cbi PORTD,4
rjmp Mulai
;
delay:
ldi temp,64
mov delay1,temp
wait:
dec delay1
brne wait
dec timeout
brne delay
ret
;
Ldelay:
ldi temp,40
mov delay3,temp
waitmore2:
rcall tunda
dec delay3
brne waitmore2
ret
25
tunda:
ldi temp,0xff
mov delay2,temp
waitsome:
ldi temp,0xff
mov delay1,temp
waitmore:
dec delay1
brne waitmore
dec delay2
brne waitsome
ret
;
usart_tx:
sbis UCSRA,UDRE
rjmp usart_tx
out UDR,temp
ret
;
usart_rx:
sbis UCSRA,RXC
rjmp usart_rx
26
in temp,UDR
ret
27
;slave2
.nolist ;Suppress listing of include file
.include"m8535def.inc" ;Define chip particulars
.list
;
.equ fclock =4000000
.equ baud_rate =9600
.equ ubbr_value =(fclock/(16*baud_rate))-1
.def timeout =R11
.def delay1 =R12
.def delay2 =R13
.def delay3 =R14
.def temp =R16 ;temporary storage register
.def temp1 =R17
;
.cseg
.org 0x0000
;
RESET:
ldi temp,high(RAMEND)
out SPH,temp
ldi r16,low(RAMEND)
out SPL,temp
28
ldi temp,0xFF
out DDRA,temp
ldi temp,0b11111000
out DDRC,temp
ldi temp,0b11111111
out PORTC,temp
ldi temp,0b11111110
out DDRD,temp
ldi temp,0xFF
out DDRB,temp
sbi PortC,3
sbi PortC,4
sbi PortC,5
sbi PortC,6
cbi PortB,2
cbi PortB,3
sbi PortD,4
;-------------------------------------------------------
; UART Initialisation
;-------------------------------------------------------
ldi temp,high(ubbr_value)
out UBRRH,temp
ldi temp,low(ubbr_value)
29
out UBRRL,temp
ldi temp,(1<<RXEN)|(1<<TXEN)
out UCSRB,temp
ldi temp,(1<<URSEL)|(3<<UCSZ0)
out UCSRC,temp
;========================================================
Mulai:
rcall usart_rx
cpi temp,2
brne Mulai
lain1:
rcall usart_rx
cpi temp,'A'
brne lain
rjmp lampuMati
lain:
cpi temp,'B'
brne lain1
rjmp lampuNyala
;
lampuMati:
sbi PORTD,4
rjmp Mulai
30
;
lampuNyala:
cbi PORTD,4
rjmp Mulai
;
delay:
ldi temp,64
mov delay1,temp
wait:
dec delay1
brne wait
dec timeout
brne delay
ret
;
Ldelay:
ldi temp,40
mov delay3,temp
waitmore2:
rcall tunda
dec delay3
brne waitmore2
ret
31
tunda:
ldi temp,0xff
mov delay2,temp
waitsome:
ldi temp,0xff
mov delay1,temp
waitmore:
dec delay1
brne waitmore
dec delay2
brne waitsome
ret
;
usart_tx:
sbis UCSRA,UDRE
rjmp usart_tx
out UDR,temp
ret
;
usart_rx:
sbis UCSRA,RXC
rjmp usart_rx
32
in temp,UDR
ret
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74