Bestly J.H Sianga : Pembuatan Running Text Untuk Display Jembatan Angkat Otomatis Berbasis Mikrokontroler AT89S51, 2010.
PEMBUATAN RUNNING TEXT UNTUK DISPLAY JEMBATAN
ANGKAT OTOMATIS BERBASIS MIKROKONTROLER
AT89S51
TUGAS AKHIR
BESTLY J.H SINAGA
062408003
PROGRAM STUDI FISIKA INSTRUMENTASI D-3
DEPARTEMEN FISIKA
FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM
UNIVERSITAS SUMATERA UTARA
MEDAN
2008
Bestly J.H Sianga : Pembuatan Running Text Untuk Display Jembatan Angkat Otomatis Berbasis Mikrokontroler AT89S51, 2010.
PEMBUATAN RUNNING TEXT UNTUK DISPLAY JEMBATAN
ANGKAT OTOMATIS BERBASIS MIKROKONTROLER
AT89S51
TUGAS AKHIR
Diajukan untuk melengkapi tugas dan memenuhi syarat mencapai gelar Ahli Madya
BESTLY J.H SINAGA
062408003
PROGRAM STUDI FISIKA INSTRUMENTASI D-3
DEPARTEMEN FISIKA
FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM
UNIVERSITAS SUMATERA UTARA
MEDAN
2008
Bestly J.H Sianga : Pembuatan Running Text Untuk Display Jembatan Angkat Otomatis Berbasis Mikrokontroler AT89S51, 2010.
PERSETUJUAN
Judul : PEMBUATAN RUNNING TEXT UNTUK DISPLAY
JEMBATAN ANGKAT OTOMATIS BERBASIS MIKROKONTROLER AT89S51
Kategori : LAPORAN PROYEK
Nama : BESTLY J.H SINAGA
Nomor Induk Mahasiswa : 062408003
Program Studi : DIPLOMA III FISIKA INSTRUMENTASI
Departemen : FISIKA
Fakultas : MATEMATIKA DAN ILMU PENGETAHUAN
ALAM (FMIPA) UNIVERSITAS SUMATERA
UTARA
Disetujui di Medan, Juni 2009
Diketahui oleh
Departemen Fisika FMIPA USU Pembimbing
Ketua Program Studi
Dr. Syahrul Humaidi, Msi Drs. Bisman P, M. Eng.Sc
Bestly J.H Sianga : Pembuatan Running Text Untuk Display Jembatan Angkat Otomatis Berbasis Mikrokontroler AT89S51, 2010.
PERNYATAAN TUGAS AKHIR
Saya mengakui bahwa tugas akhir ini hasil kerja saya sendiri, kecuali beberapa kutipan dan ringkasan yang masing-masing disebutkan sumbernya.
Medan, Juni 2009
BESTLY J.H SINAGA 062408003
Bestly J.H Sianga : Pembuatan Running Text Untuk Display Jembatan Angkat Otomatis Berbasis Mikrokontroler AT89S51, 2010.
PENGHARGAAN
Puji dan syukur penulis panjatkan kehadirat Tuhan Yang Maha Esa karena berkat rahmat dan karuniaNYa penulis dapat menyelesaikan Tugas akhir ini.
Laporan tugas akhir ini yang berjudul PEMBUATAN RUNNING TEXT UNTUK DISPLAY JEMBTAN ANGKAT OTOMATIS BERBASIS MIKROKONTROLER AT89S51. Meskipun dalam proses penulisan banyak menemui hambatan dan rintangan namun dengan usaha dan kerja keras yang dilakukan oleh penulis serta bantuan dari berbagai pihak, akhirnya laporan Tugas Akhir ini dapat selesai. Atas bantuan dan motivasi yang diberika, maka penulis mengucapkan banyak terimakasih kepada :
Bapak DR.EDI MARLIANTO,M.Sc selaku Dekan FMIPA USU,
Bapak Drs. Syahrul Humaidi,MSc selaku ketua jurusan Program Studi D3 Fisika Instrumentasi. Bapak Drs Bisman P, M.Eng, Sc selaku dosen pembimbing penulis, seluruh Dosen yang telah memberikan ilmu pengetahuan selama perkuliahan, serta pegawai tata usuaha yang ikut mensukseskan program belajar mengajar.
Pada kesempatan ini penuis mengucapkan terimakasih yang sebesar-besarnya kepada orang tua penulis Ayah Aston sinaga dan Ibu Elseria br Sitanggang yang tercinta, yang telah memberikan bimbinga serta doa kepada penulis dari kecil hingga sampai sekarang ini. Juga kepada saudara-saudara penulis, terimaksih atas dukungan baik morilmaupun material, yang telah dibikan kepada penulis.Sahabat-sahat penulis Esen Hawer, Willy, Alex, David, Sony, Fregki,Giat, Mangasi, dan rekan-rekan BIOS CORP di Fisika Instrumentasi yang telah memberikan motivasi saat penulis
Bestly J.H Sianga : Pembuatan Running Text Untuk Display Jembatan Angkat Otomatis Berbasis Mikrokontroler AT89S51, 2010.
menyelesaikan tugas akhir ini terimakasih atas bantuannnya dan dukungannya. Penulis menyadari bahwa dalam penyusuna tugas akhir ini masih terdapat kekurangan dan masih jauh dari kesempurnaan. Oleh karena itu penulis sangat terbuka terhadap saran dan kritikan dalam sebuah diskusi yang membangun dari pembaca.
Akhir kata penulis mengharapkan semoga laporan tugas akhir ini dapat bermanfaat bagi pembaca.
Bestly J.H Sianga : Pembuatan Running Text Untuk Display Jembatan Angkat Otomatis Berbasis Mikrokontroler AT89S51, 2010.
ABSTRAK
Telah dirancang dan direalisasikan running text untuk display jembatan angkat otomatis berbasis mikrokontroler AT89S51. Pada perancangan digunakan Mikrokontroller AT89S51 yang merupakan otak dari keseluruhan system berfungsi untuk mengolah semua data yang masuk. IC buffer 4094 merupakan IC register geser yang melakukan proses penggeseran data.Lampu LED yang menghasilkan cahaya saat diberi energi listrik dn berfungsi sebagai display. Pada pembuatan running text untuk display jembatan angkat otomatis berbasis mikrokontroler AT89S51 ini, Program ditulis atau dibuat dengan menggunakan bahasa assembler.
Bestly J.H Sianga : Pembuatan Running Text Untuk Display Jembatan Angkat Otomatis Berbasis Mikrokontroler AT89S51, 2010.
DAFTAR ISI
Halaman Persetujuan ii Peryataan iii Penghargaan iv Abstarak viDaftar Isi vii
Daftar Tabel x
Daftar gambar xi
Bab I Pendahuluan 1
1.1 Latar Belakang Masalah 1
1.2 Rumusan Masalah 2
1.3 Tujuan Penulisan 2
1.4 Metode Pengumpulan Data 3
1.5 Batasan Masalah 4
1.6 Sistematika Penulisan 5
Bab II Landasan Teori 7
2.1 Perangkat Keras 7
2.1.1 Arsitektur Mikrokontoler AT89S51 7
2.1.2 Konstruksi AT89S51 9
2.1.3 SFR (Register Fungsi Khusus) Pada Keluarga 51 11
2.1.4 Konfigurasi IC 4094 (Shift Register) 17
2.1.5 Light Emiting Diode (LED) 20
2.1.6 Transistor Sebagai Saklar 20
Bestly J.H Sianga : Pembuatan Running Text Untuk Display Jembatan Angkat Otomatis Berbasis Mikrokontroler AT89S51, 2010.
2.2 Perangkat Lunak 26
2.2.1 Bahasa Assembly MCS-51 26
2.2.2 Software 8051 Editor,Assembler,Simulator ( IDE ) 29
2.2.3 Software Downloader 31
Bab III Perancangan Alat dan Cara Kerja Rangkaian 32
3.1 Diagram Blok 32 3.1.1 Bahasa Assembly MCS-51 32 3.1.2 Relay 32 3.1.3 MC AT89S51 32 3.1.4 Shift Register 32 3.1.5 Running Text 32
3.2 Perancangan Power Supply (PSA) 33
3.3 Perancangan Program Mikrokontroler AT89S51 34
3.4 Perancangan Algoritma Program 36
3.5 Perancangan Program Utama 37
3.5.1 Perancangan Flowchart Program 38
3.5.2 Sub Program Untuk Aba-Aba Menunggu 38
3.5.3 Sub Program Aba-Aba Untuk Lewat Kembali 45
3.5.4 Sub Program Delay (jeda) 52
3.5.5 Rangkaian Lengkap Simulasi Running Text 54
Bab IV Pengujian Alat Dan Program 56
4.1 PengujiaRangkaian Power Supply ( PSA ) 56
4.2 Pengujian Rangkaian Mikrokontroler AT89S51 57
4.3 Pengujian Rangkaian Running Text 59
4.4 Desain Tampilan Huruf Pada Running Text 61
4.5 Skematik Running Text 68
Bab V Kesimpulan dan Saran 69
Bestly J.H Sianga : Pembuatan Running Text Untuk Display Jembatan Angkat Otomatis Berbasis Mikrokontroler AT89S51, 2010. 5.2 Saran 70 Daftar Pustaka Lampiran
Bestly J.H Sianga : Pembuatan Running Text Untuk Display Jembatan Angkat Otomatis Berbasis Mikrokontroler AT89S51, 2010.
DAFTAR TABEL
Halaman Tabel 2.1 Peta Register Khusus SFR (Special Function Register) 11 Tabel 2.2 Fungsi PIN AT89S51 16
Bestly J.H Sianga : Pembuatan Running Text Untuk Display Jembatan Angkat Otomatis Berbasis Mikrokontroler AT89S51, 2010.
DAFTAR GAMBAR
Halaman
Gambar 2.1 IC Mikrokontroler AT89S51 14
Gambar 2.2 IC 4094 18
Gambar 2.3 Konfigurasi blok diagram IC 4094 19
Gambar 2.4 Konfigurasi Timeing clok IC 4094 19
Gambar 2.5 Simbol dan rangkaian dasar sebuah LED 20
Gambar 2.6 Aplikasi Transistor 21
Gambar 2.7 Transistor TIP 122 22
Gambar 2.8 Transistor sebagai saklar ON 22
Gambar 2.9 Karakteristik daerah satu rasi pada transistor 24
Gambar 2.10 Transistor sebagai saklar OFF 24
Gambar 2.11 Tampilan editor 8051 30
Gambar 2.11 ISP-flas Programmer 31
Gambar 3.1 Diagram blok 32
Gambar 3.2 Rangkaian Power Supplay (PSA) 34
Gambar 3.3 Rangkaian Mikrokontroler AT89S51 34
Gambar 3.4 Perancangan Flowchart Program 38
Gambar 3.2 Sub program aba-aba untuk menunggu 44
Gambar 3.3 Sub program aba-aba untuk lewat kembali 52
Gambar 3.4 Tampilan sub program delay 53
Gambar 3.5 Rangkaian lengkap simulasi running text 54
Gambar 4.1 Rangkaian power supply (PSA) 57
Bestly J.H Sianga : Pembuatan Running Text Untuk Display Jembatan Angkat Otomatis Berbasis Mikrokontroler AT89S51, 2010.
BAB 1 PENDAHULUAN
1.1. Latar Belakang Masalah
Perkembangan dunia teknologi dari tahun ke tahun semakin maju dan canggih. Penerapan teknologi terhadap peralatan dalam berbagai bidang juga semakin maju. Perkembangan ini didukung juga dengan semakin berkembangnya komponen-komponen elektronika yang digunakan untuk membuat peralatan tersebut. Salah satu peralatan elektronika yang saat ini juga banyak digunakan oleh masyarakat adalah RUNNING TEXT. RUNNING TEXT ini pada umumnya digunakan sebagai
papan iklan atau sekedar untuk menampilkan suatu kalimat yang biasanya dipasang pada pintu masuk pertokoan atau tempat lainnya.
Sangat beda dengan spanduk yang sifatnya hanya nonpermanen (karena cepat rusak). Runing text bisa diubah tampilannya sewaktu-waktu menggunakan komputer sehingga sangat praktis. Ukuran dan jumlah titik LED dapat disesuaikan dengan kebutuhan yang diperlukan.
Kebutuhan manusia terhadap peralatan yang cerdas dan dapat bekerja secara otomatis semakin meningkat. Selain sistem kerjanya yang teliti juga peralatan ini tidak perlu dipantau setiap saat sebab peralatan otomatis dapat melakukan pekerjaannya sendiri tanpa harus dikendalikan oleh pengguna. Penggunaan peralatan otomatis sangatlah efisien, dibandingkan dengan penggunaan peralatan yang manual. Peralatan manual harus dikendalikan oleh beberapa orang dan memerlukan waktu yang cukup
Bestly J.H Sianga : Pembuatan Running Text Untuk Display Jembatan Angkat Otomatis Berbasis Mikrokontroler AT89S51, 2010.
lama, ini sangatlah tidak efisien. Berbeda dengan peralatan otomatis, dimana satu orang dapat mengendalikan beberapa peralatan otomatis sekaligus, hanya butuh waktu yang sedikit untuk memantau peralatan tersebut, apakah bekerja dengan benar atau tidak.
1.2. Rumusan Masalah
Berdasarkan uraian yang terdapat dalam latar belakang di atas, maka dalam tugas akhir ini akan dibuat sebuah PEMBUATAN RUNNING TEXT UNTUK DISPLAY JEMBATAN ANGKAT OTOMATIS BERBASIS MIKROKONTROLER AT89S51. Dalam tugas ahir ini, akan dibahas mengenai cara kerja running text sebagai display untuk aba-aba pada saat jembatan teragkat dan tertutup kembali. Jika ada kapal yang akan lewat melaui jembatan tersebut maka palang jalan akan turun, jembatan akan membuka secara otomatis,disini running text akan membuat aba-aba untuk menunggu dan akan menutup kembali apabila kapal telah melewati jembatan tersebut, dan running text akan membuat aba-aba untuk lewat kembali.
Pada ranning text alat yang digunakan adalah, dua buah mikrokontroler AT89S51, IC buffer 4094 (shift register) , lampu LED.
1.3 Tujuan Penulisan
Adapun tujuan penulisan tugas akhir ini adalah sebagai berikut :
1. Memanfaatkan running text sebagai tampilan display secara otomatis, jika ada kapal yang akan melewati jembatan tersebut runnig text akan
Bestly J.H Sianga : Pembuatan Running Text Untuk Display Jembatan Angkat Otomatis Berbasis Mikrokontroler AT89S51, 2010.
menampilkan aba-aba untuk berhenti kepada pengemudi yang akan melewati jembatan.
2. Memanfaatkan running text sebagai tampilan display secara otomatis, jika ada kapal yang sudah melewati jembatan tersebut running text akan menampilkan aba-aba untuk lewat kembali kepada penemudi atau setelah jembatan telah tertutup kembali.
1.4 Metode Pengumpulan Data
Data-data yang dikumpulkan dalam penulisan tugas akhir ini diperoleh melalui beberapa metode. Adapun metode yang digunakan penulis dalam pengumpulan data adalah sebagai berikut :
1. Studi kepustakaan.
Pada metode ini, penulis mengumpulkan data dan teori yang dibutuhkan dalam penulisan tugas akhir melalui buku-buku dan berbagai referensi lainnya yang berkaitan dengan tugas akhir ini.
2. Lembar data (Datasheet) komponen yang digunakan pada peralatan.
Lembar data (Datasheet) merupakan data-data yang diperlukan oleh produsen komponen elektronika mengenai fungsi, karakteristik mengenai data-data penting lainnya tentang suatu komponen hasil produksi dari produsen komponen elektronika yang bersangkutan.
3. Pengujian Alat.
Data yang diperoleh melalui metode ini dapat setelah alat yang dibuat diuji dan diambil kesimpulan setelah dilakukan pengujian tersebut.
Bestly J.H Sianga : Pembuatan Running Text Untuk Display Jembatan Angkat Otomatis Berbasis Mikrokontroler AT89S51, 2010.
Pada metode ini, penulis melakukan konsultasi dengan berdiskusi dan bertanya secara langsung pada dosen pembimbing penulis mengenai segala permasalahan dalam penulisan tugas akhir ini.
1.5 Batasan Masalah
Penulisan tugas akhir ini dibatasi pada:
Studi cara kerja rangkaian yang meliputi diagram blok dan menguraikan secara umum fungsi dari masing-masing komponen utama dalam blok tersebut Mikrokontroler yang digunakan yaitu AT89S51, baik untuk kontrol jembatan
maupun kontrol running text, jadi hanya mikrokontroler ini yang akan diuaraikan cara kerjanya dan cara pemrogramannya
IC Buffer 4094 yang merupkan IC register geser yang melakukan proses penggeseran data. Penggeseran data diperlukan baik dalam pengiriman data secara berderet (serial) maupun dalam perhitungan aljabar perkalian dan pembagian. Data dikirim melalui saluran komunikasi bit demi bit. Data yang disimpan/diolah dalam komputer selalu bersipat parallel. Agar dapat dikirim melalui satu saluran komunikasi, maka data beberapa bit itu harus digeser keluar satu demi satu
Lampu LED yang menghasilkan cahaya saat diberi energi listrik dan berfungsi sebagai display. Dalam bias maju sambungan p-n terdapat rekombinasi antara elektron bebas dan lubang (hole). Energi ini tidak seluruhnya diubah kedalam bentuk energi cahaya atau photon melainkan dalam bentuk panas sebagian.
Bestly J.H Sianga : Pembuatan Running Text Untuk Display Jembatan Angkat Otomatis Berbasis Mikrokontroler AT89S51, 2010.
Trnsistor TIP 122 sebagai driver atau sebagai komponen saklar (switching) dengan memanfaatkan daerah penjenuhan (saturasi) dan daerah penyumbatan (cut off) yang ada pada karakteristik transistor.
Resistor untuk membatasi atau menghambat jumlah arus yang mengalir dalam satu rangkaian.
Kapasitor merupakan komponen elektronika yang dapat menyimpan muatan listrik.
1.6 Sistematika Penulisan
Untuk mempermudah pembahasan dan pemahaman maka penulis membuat sistematika pembahasan bagaimana sebenarnya prinsip kerja dari simulasi jembatan angkat dengan display running text ,maka penulis menulis laporan ini sebagai berikut:
BAB 1. PENDAHULUAN
Dalam bab ini berisikan mengenai latar belakang, tujuan penulisan, batasan masalah, serta sistematika penulisan.
BAB 2. LANDASAN TEORI
Landasan teori, dalam bab ini dijelaskan tentang teori pendukung yang digunakan untuk pembahasan dan cara kerja dari rangkaian Teori pendukung itu antara lain tentang mikrokontroler AT89S51 (hardware
Bestly J.H Sianga : Pembuatan Running Text Untuk Display Jembatan Angkat Otomatis Berbasis Mikrokontroler AT89S51, 2010.
dan software), bahasa program yang digunakan, serta cara kerja dari dari IC 4094 (sifh register).
BAB 3. ANALISA RANGKAIAN DAN KERJA SISTEM
Analisa rangkaian dan sistem kerja, dalam bab ini dibahas tentang diagram blok dari rangkaian, cara kerja IC 4094(shift register) dan diagram aliran dari program yang akan diisikan ke mikrokontroler AT89S51.
BAB 4. PENGUJIAN ALAT DAN PROGRAM
Pada bab ini akan dibahas hasil analisa dari rangkaian dan sistem kerja alat, penjelasan mengenai rangkaian-rangkaian yang digunakan, penjelasan mengenai program yang diisikan ke mikrokontroler.
BAB 5. KESIMPULAN DAN SARAN
Bab ini merupakan penutup yang meliputi tentang kesimpulan dari pembahasan yang dilakukan dari laporan proyek ini serta saran apakah rangkaian ini dapat dibuat lebih efisien dan dikembangkan perakitannya pada suatu metode lain yang mempunyai sistem kerja yang sama.
Bestly J.H Sianga : Pembuatan Running Text Untuk Display Jembatan Angkat Otomatis Berbasis Mikrokontroler AT89S51, 2010.
BAB 2
LANDASAN TEORI
2.1 Perangkat Keras.
2.1.1 Arsitektur Mikrokontroler AT89S51
Mikrokontroler, sebagai suatu terobosan teknologi mikrokontoler dan mikrokomputer, hadir memenuhi kebutuhan pasar (market need) dan teknologi baru. Sebagai teknologi baru, yaitu teknologi semikonduktor dengan kandungan transistor yang lebih banyak namun hanya membutuhkan ruang kecil serta dapat diproduksi secara massal (dalam jumlah banyak) sehingga harga menjadi lebih murah (dibandingkan mikroprosesor). Sebagai kebutuhan pasar, mikrokontroler hadir untuk memenuhi selera industri dan para konsumen akan kebutuhan dan keinginan alat-alat bantu dan mainan yang lebih canggih.
Ilustrasi yang mungkin bisa memberikan gambaran yang jelas dalam penggunaan mikrokontroler adalah aplikasi mesin tiket dalam arena permainan yang saat ini terkenal di Indonesia. Jika kita sudah selesai bermain, maka akan diberikan
Bestly J.H Sianga : Pembuatan Running Text Untuk Display Jembatan Angkat Otomatis Berbasis Mikrokontroler AT89S51, 2010.
suatu nilai, nilai inilah yang menentukan berapa jumlah tiket yang bisa diperoleh dan jika dikumpulkan dapat ditukar dengan berbagai macam hadiah. Sistem tiket ini ditangani dengan mikrokontroler, karena tidak mungkin menggunakan computer PC yang harus dipasang disamping (atau di belakang) mesin permainan yang bersangkutan.
Selain system tiket, kita juga dapat menjumpai aplikasi mikrokontroler dalam bidang pengukuran jarak jauh atau yang dikenal dengan system telemetri. Misalnya pengukuran disuatu tempat yang membahayakan manusia, maka akan lebih nyaman jika dipasang suatu system pengukuran yang bisa mengirimkan data lewat pemancar dan diterima oleh stasiun pengamatan dari jarak yang cukup aman dari sumbernya. Sistem pengukuran jarak jauh ini jelas membutuhkan suatu system akuisisi data sekaligus system pengiriman data secara serial (melalui pemancar), yang semuanya itu bisa diperoleh dari mikrokontroler yang digunakan.
Tidak seperti system komputer, yang mampu menangani berbagai macam program aplikasi (misalnya pengolah kata, pengolah angka dan lain sebagainya), mikrokontroler hanya bisa digunakan untuk satu aplikasi tertentu saja. Perbedaan lainnya terletak pada perbandingan RAM-nya dan ROM. Pada system computer perbandingan RAM dan ROM-nya besar, artinya program-program pengguna disimpan dalam ruang RAM yang relative besar, sedangkan rutin-rutin antarmuka perangkat keras disimpan dalam ruang ROM yang kecil. Sedangkan pada mikrokontroler, perbandingan ROM dan RAM-nya yang besar artinya program control disimpan dalam ROM (bisa Masked ROM atau Flash PEROM) yang ukurannya relatif lebih besar, sedangkan RAM digunakan sebagai tempat
Bestly J.H Sianga : Pembuatan Running Text Untuk Display Jembatan Angkat Otomatis Berbasis Mikrokontroler AT89S51, 2010.
penyimpanan sementara, termasuk register-register yang digunakan pada mikrokontroler yang bersangkutan.
2.1.2 Kontruksi AT89S51
Mikrokontrol AT89S51 hanya memerlukan tambahan 3 kapasitor, 1 resistor dan 1 kristal serta catu daya 5 Volt. Kapasitor 10 mikro-Farad dan resistor 1 Kilo Ohm dipakai untuk membentuk rangkaian reset. Dengan adanya rangkaian reset ini AT89S51 otomatis direset begitu rangkaian menerima catu daya. Kristal dengan frekuensi maksimum 24 MHz dan kapasitor 30 piko-Farad dipakai untuk melengkapi rangkaian oscilator pembentuk clock yang menentukan kecepatan kerja mikrokontroler.
Memori merupakan bagian yang sangat penting pada mikrokontroler. Mikrokontroler memiliki dua macam memori yang sifatnya berbeda.
Read Only Memory (ROM) yang isinya tidak berubah meskipun IC kehilangan catu
daya. Sesuai dangan keperluannya, dalam susunan MCS-51 memori penyimpanan progam ini dinamakan sebagai memori progam.
Random Access Memori (RAM) isinya akan sirna begitu IC kehilangan catu daya,
dipakai untuk menyimpan data pada saat progam bekerja. RAM yang dipakai untuk menyimpan data ini disebut sebagai memori data.
Ada berbagai jenis ROM. Untuk mikrokontroler dengan progam yang sudah baku dan diproduksi secara masal, progam diisikan ke dalam ROM pada saat IC mikrokontroler dicetak di pabrik IC. Untuk keperluan tertentu mikrokontroler
Bestly J.H Sianga : Pembuatan Running Text Untuk Display Jembatan Angkat Otomatis Berbasis Mikrokontroler AT89S51, 2010.
mengunakan ROM yang dapat diisi ulang atau Programble-Eraseable ROM yang disingkat menjadi PEROM atau PROM. Dulu banyak dipakai UV-EPROM (Ultra
Violet Eraseable Progamble ROM) yang kemudian dinilai mahal dan ditinggalkan
setelah ada flash PEROM yang harganya jauh lebih murah.
Jenis memori yang dipakai untuk Memori Program AT89S51 adalah Flash PEROM, program untuk mengendalikan mikrokontroler diisikan ke memori itu lewat bantuan alat yang dinamakan sebagai AT89S51 Flash PEROM Programmer.
Memori Data yang disediakan dalam chip AT89S51 sebesar 128 byte,
meskipun hanya kecil saja tapi untuk banyak keperluan memori kapasitas itu sudah cukup.Sarana Input/Ouput yang disediakan cukup banyak dan bervariasa. AT89S51 mempunyai 32 jalur Input/Ouput. Jalur Input/Ouput paralel dikenal sebagai Port 1 (P1.0..P1.7) dan Port 3 (P3.0..P3.5 dan P3.7).
AT89S51 dilengkapi UART (Universal Asyncronous Receiver/Transmiter) yang biasa dipakai untuk komunikasi data secara seri. Jalur untuk komunikasi data seri (RXD dan TXD) diletakan berhimpitan dengan P1.0 dan P1.1 di kaki nomor 2 dan 3, sehingga kalau sarana input/ouput yang bekerja menurut fungsi waktu. Clock penggerak untaian pencacah ini bisa berasal dari oscillator kristal atau clock yang diumpan dari luar lewat T0 dan T1. T0 dan T1 berhimpitan dengan P3.4 dan P3.5, sehingga P3.4 dan P3.5 tidak bisa dipakai untuk jalur input/ouput parelel kalau T0 dan T1 dipakai.
AT89S51 mempunyai enam sumber pembangkit interupsi, dua diantaranya adalah sinyal interupsi yang diumpankan ke kaki INT0 dan INT1. Kedua kaki ini berhimpitan dengan P3.2 dan P3.3 sehingga tidak bisa dipakai sebagai jalur input/output parelel kalau INT0 dan INT1 dipakai untuk menerima sinyal interupsi.
Bestly J.H Sianga : Pembuatan Running Text Untuk Display Jembatan Angkat Otomatis Berbasis Mikrokontroler AT89S51, 2010.
Port1 dan 2, UART, Timer 0,Timer 1 dan sarana lainnya merupakan register yang secara fisik merupakan RAM khusus, yang ditempatkan di Special Functoin
Regeister (SFR).
2.1.3 SFR (Register Fungsi Khusus ) Pada Keluarga 51
Sekumpulan SFR atau Special Function Register yang terdapat pada Mikrokontroler Atmel Keluarga 51 ditunjukan pada tabel 2.1, pada bagian sisi kiri dan kanan dituliskan alamat-alamatnya dalam format heksadesimal.
Tidak semua alamat pada SFR digunakan, alamat-alamat yang tidak digunakan diimplementasikan pada chip. Jika dilakukan usaha pembacaan pada alamat-alamat yang tidak terpakai tersebut akan menghasilkan data acak dan penulisannya tidak menimbulkan efek sama sekali. Pengguna perangkat lunak sebaiknya jangan menuliskan ‘1’ pada lokasi-lokasi ‘tak berurutan’ tersebut, karena dapat digunakan untuk mikrokontroler generasi selanjutnya. Dengan demikian, nilai-nilai reset atau non-aktif dari bit-bit baru ini akan selalu ‘O’ dan nilai aktifnya adalah ‘1’. Berikut akan dijelaskan secara singkat SFR-SFR beserta fungsinya:
8 Bytes F8 FF F0 B F7 E8 EF E0 ACC E7 D8 DF D0 PSW D7
C8 (T2CON) (T2MOD) (RCAP2L) (RCAP2H) (TL2) (TH2) CF
C0 C7
B8 IP BF
Bestly J.H Sianga : Pembuatan Running Text Untuk Display Jembatan Angkat Otomatis Berbasis Mikrokontroler AT89S51, 2010. A8 IE AF A0 P2 A7 98 SCON SBUF 9F 90 P1 97
88 TCON TMOD TLO TL1 THO TH1 8F
80 PO SP DPL DPH PCON 87
Tabel 2.1. Peta Register Fungsi Khusus – SFR (Special Function Register) Tanda (…) untuk SFR yang dijumpai di keluarga 51 dengan 3 Timer
Akumulator
ACC atau akumulator yang menempati lokasi E 0h digunakan sebagai register untuk penyimpanan data sementara, dalam program, instruksi mengacunya sebagai register A (bukan ACC).
Register B
Register B (lokasi F 0) digunakan selama operasi perkalian dan pembagian, untuk instruksi lain dapat diperlakukan sebagai register scratch pad (“papan coret-coret”).
Program Status Word (PSW)
Register PSW (lokasi D 0h) mengandung informasi status program.
Stack Pointer
Register SP atau Stack Pointer (lokasi 8 0h) merupakan register dengan panjang 8-bit, digunakan dalam proses simpan menggunakan instruksi PUSH dan CALL. Walau
Stack bisa menempati lokasi dimana saja dalam RAM, register SP akan selalu
diinisialisasi ke 07h setelah adanya reset, hal ini menyebabkan stack berawal di lokasi
08h.
Bestly J.H Sianga : Pembuatan Running Text Untuk Display Jembatan Angkat Otomatis Berbasis Mikrokontroler AT89S51, 2010.
Register Data Pointer atau DPTR mengandung DPTR untuk byte tinggi (DPH) dan byte rendah (DPL) yang masing-masing berada dilokasi 83h dan 82h, bersama-sama membentuk register yang mampu menyimpan alamat 16-bit. Dapat dimanipulasi sebagai register 16-bit atau ditulis dari/ke port, untuk masing-masing Port 0,Port 1, Port2 dan Port 3.
Serial Data Buffer
SBUF atau Serial Data Buffer (lokasi 99h) sebenarnya terdiri dari dua register yang terpisah, yaitu register penyangga pengirim (transmit buffer) dan penyangga penerima
(receive buffer). Pada saat data disalin ke SBUF, maka data sesungguhnya dikirim ke
penyangga pengirim dan sekaligus mengawali transmisi data serial. Sedangkan pada saat data disalin dari SBUF, maka sebenarnya data tersebut berasal dari penyangga penerima.
Time Register
Pasangan register (TH0, TL0) dilokasi 8Ch dan 8Ah,(TH1, TL1) dilokasi 8Dh dan 8Bh serta (TH2, TL2) dilokasi CDh dan CCH merupakan register-register pencacah 16-bit untuk masing-masing Timer 0, Timern 1 dan Timer 2.
Capture Register
Pasangan register (RCAP2H, RCAP21) yang menempati lokasi CBh dan CAh merupakan register capture untuk mode Timer 2 capture. Pada mode ini, sebagai tanggapan terjadinya suatu transisi sinyal di kaki (pin) T2EX (pada AT89C52/55), TH2 dan TL2 disalin masing-masing ke RCAP2H dan RCAP2L. Timer 2 juga
Bestly J.H Sianga : Pembuatan Running Text Untuk Display Jembatan Angkat Otomatis Berbasis Mikrokontroler AT89S51, 2010.
memiliki mode isi-ulang-otomatis 16-bit dan RCAP2H serta RCAP2L digunakan untuk menyimpan nilai isi-ulang tersebut.
Control Register
Register-register IP, IE, TMOD, TCON, T2CON, T2MOD, SCON dan PCON berisi bit-bit control dan status untuk system interupsi, pencacah/pewaktu dan port serial. Berikut ini merupakan spesifikasi dari IC AT89C51 :
• Kompatible dengan produk MCS-51
• Empat K byte In-Sistem Reprogammable Flash Memory • Daya tahan 1000 kali baca/tulis
• Fully Static Operation : 0 Hz sampai 24 MHz • Tiga level kunci memori progam
• 128x8 bit RAM internal • 32 jalur I/O
• Tiga 16 bit Timer/Counter • Enam sumber interupt • Jalur serial dengan UART
Bestly J.H Sianga : Pembuatan Running Text Untuk Display Jembatan Angkat Otomatis Berbasis Mikrokontroler AT89S51, 2010.
Gambar 2.1. IC Mikrokontroler AT89S51
Deskripsi pin-pin pada mikrokontroler AT89S51 :VCC (Pin 40) Suplai tegangan
GND (Pin 20)
Ground
Port 0 (Pin 39-Pin 32)
Port 0 dapat berfungsi sebagai I/O biasa, low order multiplex address/data ataupun penerima kode byte pada saat flash progamming Pada fungsi sebagai I/O biasa port ini dapat memberikan output sink ke delapan buah TTL input atau dapat diubah sebagai input dengan memberikan logika 1 pada port tersebut. Pada fungsi sebagai low order multiplex address/data, port ini akan mempunyai internal pull up. Pada saat flash progamming diperlukan eksternal pull up, terutama pada saat verifikasi program.
Port 2 (Pin 21 – pin 28)
Port 2 berfungsi sebagai I/O biasa atau high order address, pada saat mengakses memori secara 16 bit. Pada saat mengakses memori 8 bit, port ini akan mengeluarkan
Bestly J.H Sianga : Pembuatan Running Text Untuk Display Jembatan Angkat Otomatis Berbasis Mikrokontroler AT89S51, 2010.
isi dari P2 special function register. Port ini mempunyai internal pull up dan berfungsi sebagai input dengan memberikan logika 1. Sebagai output, port ini dapat memberikan output sink keempat buah input TTL.
Port 3 (Pin 10 – pin 17)
Port 3 merupakan 8 bit port I/O dua arah dengan internal pullup. Port 3 juga mempunyai fungsi pin masing-masing, yaitu sebagai berikut :
Nama pin Fungsi
P3.0 (pin 10) RXD (Port input serial)
P3.1 (pin 11) TXD (Port output serial)
P3.2 (pin 12) INTO (interrupt 0 eksternal)
P3.3 (pin 13) INT1 (interrupt 1 eksternal)
P3.4 (pin 14) T0 (input eksternal timer 0)
P3.5 (pin 15) T1 (input eksternal timer 1)
P3.6 (pin 16) WR (menulis untuk eksternal data memori)
P3.7 (pin 17) RD (untuk membaca eksternal data memori)
Tabel 2.2. Fungsi pin AT89S51
RST (pin 9)
Reset akan aktif dengan memberikan input high selama 2 cycle.
ALE/PROG (pin 30)
Address latch Enable adalah pulsa output untuk me-latch byte bawah dari alamat selama mengakses memori eksternal. Selain itu, sebagai pulsa input progam (PROG) selama memprogam Flash.
Bestly J.H Sianga : Pembuatan Running Text Untuk Display Jembatan Angkat Otomatis Berbasis Mikrokontroler AT89S51, 2010.
Progam store enable digunakan untuk mengakses memori progam eksternal.
EA (pin 31)
Pada kondisi low, pin ini akan berfungsi sebagai EA yaitu mikrokontroler akan menjalankan progam yang ada pada memori eksternal setelah sistem direset. Jika kondisi high, pin ini akan berfungsi untuk menjalankan progam yang ada pada memori internal. Pada saat flash progamming, pin ini akan mendapat tegangan 12 Volt.
XTAL1 (pin 19)
Input untuk clock internal.
XTAL2 (pin 18)
Output dari osilator.
2.1.4 Konfigurasi IC 4094 (shift register)
IC 4094 merupakan IC register geser yang melakukan proses penggeseran data. Penggeseran data diperlukan baik dalam pengiriman data secara berderet (serial) maupun dalam perhitungan aljabar perkalian dan pembagian. Data dikirim melalui saluran komunikasi bit demi bit. Data yang disimpan/diolah dalam komputer selalu bersipat parallel. Agar dapat dikirim melalui satu saluran komunikasi, maka data beberapa bit itu harus digeser keluar satu demi satu. Begitu juga disisi penerima, bit demi bit data yang diterima dari saluran komunikasi harus digeser sampai membentuk satu satuan data parallel agar dapat disimpan/diolah dalam register komputer. Jadi dalam komunikasi data , regisrer geser memegang peranan yang sangat penting.
Bestly J.H Sianga : Pembuatan Running Text Untuk Display Jembatan Angkat Otomatis Berbasis Mikrokontroler AT89S51, 2010.
Dalam perhitungan aritmatika(aljabar), komputer selalu melaksanakan operasi perkalian dan pembagian dengan melakukan penambahan/pengurangan disertai penggeseran kekiri/kanan secara berulang ulang. Perlu dicatat bahwa bila suatu data bilangan yang digeser ke kiri maka harga bilangan itu akan digandakan menjadi dua kali harga semula dan bila satu bilangan biner digeser ke kanan, maka harga menjadi setengah dari harga sebelum digeser. Sebagai contoh, kalau biner 0110, yang setara dalam decimal adalah 6, digeser kekanan satu kedudukan maka harga menjadi 0011 (310) sedangkan digeser ke kiri, harganya menjadi 1100 (1210) perhatikan bahwa
penggeseran yang normal dilakukan dengan menambahkan bit 0 pada posisi paling kanan pada pergeseran ke kiri dan pada kekdudukan paling kiri pada penggeseran kekanan. Karena cacah bit yang dapat ditampung oleh satu register sudah tertentu, maka bit diujung lain akan hilang, yaitu bit yang paling kanan pada penggeseran ke kanan dan bit paling kiri pada penggeseran kekiri.
Register atau disebut dengan memori adalah suatu rangkaian logika yang mampu menyimpan data dalam bentuk bilangan biner. Fungsi dari register , selain sebagai penyimpanan data juga untuk menghindari berkedipnya angka yang ditunjukkan oleh display (seven segment) pada saat menerima pulsa-pulsa yang diberikan oleh dekoder. Register dapat memindahkan bit-bit yang tersimpan ke kiri. Register geser dikelompokkan sebagai urutan rangkaian logika, sehingga register geser disusun dari beberapa rangkaian flip-flop. Selain untuk pergeseran data, register geser juga dapat digunakan untuk mengubah data seri ke paralel atau data paralel ke seri.Register geser (shift register) merupakan salah satu piranti fungsional yang banyak digunakan dalam sistem digital. Tampilan pada layar kalkulator dimana angka bergeser ke kiri setiap kali ada angka baru yang diinputkan menggambarkan
Bestly J.H Sianga : Pembuatan Running Text Untuk Display Jembatan Angkat Otomatis Berbasis Mikrokontroler AT89S51, 2010.
karakteristik register geser tersebut. Register geser ini terbangun dari flip-flop. Register geser dapat digunakan sebagai memori sementara, dan data yang tersimpan didalamnya dapat digeser ke kiri atau ke kanan. Register geser juga dapat digunakan untuk mengubah data seri ke paralel atau data paralel ke seri.
Bestly J.H Sianga : Pembuatan Running Text Untuk Display Jembatan Angkat Otomatis Berbasis Mikrokontroler AT89S51, 2010.
Gambar 2.3 Konfigurasi blok diagram IC 4094
Gambar 2.4 Konfigurasi Timeing clok IC 4094
2.1.5 L ight Emiting Dioda (LED)
LED adalah dioda yang menghasilkan cahaya saat diberi energi listrik. Dalam bias maju sambungan p-n terdapat rekombinasi antara elektron bebas dan lubang (hole). Energi ini tidak seluruhnya diubah kedalam bentuk energi cahaya atau photon melainkan dalam bentuk panas sebagian.
Proses pemancaran cahaya akibat adanya energi listrik yang diberikan terhadap suatu bahan disebut dengan sifat elektroluminesensi. Material lain misalnya Galium Arsenida Pospat (GaAsP) atau Galium Pospat (GaP): photon energi cahaya dipancarkan untuk menghasilkan cahaya tampak. Jenis lain dari LED digunakan untuk menghasilkan energi tidak tampak seperti yang dipancarkan oleh pemancar laser atau inframerah. 330 VCC 5V 330 VCC 5V
Bestly J.H Sianga : Pembuatan Running Text Untuk Display Jembatan Angkat Otomatis Berbasis Mikrokontroler AT89S51, 2010.
Gambar 2.5 Simbol dan rangkaian dasar sebuah LED
2.1.6 Transistor Sebagai Saklar
Dari gambar 2.6. memperlihatkan sebuah ascilator yang mempunyai delapan frekuensi kerja. Frekuensi kerja oscilator disesuaikan dengan tombol telepon yang ditekan.
Gambar 2.6: Applikasi transistor EC T R ANS M ISSI O N N ETWO R TRAC KS R1 697 Hz S1 R2 D1 S1 R3 DIODA RECTIF RINGE R CO S2 770 Hz 852 Hz 941 Hz 1633 Hz 1477 Hz 1366 H 1 2 3 4 4 3 2 1 L1 L2
Bestly J.H Sianga : Pembuatan Running Text Untuk Display Jembatan Angkat Otomatis Berbasis Mikrokontroler AT89S51, 2010.
Didalam pemakaiannya transistor dipakai sebagai komponen saklar (switching) dengan memanfaatkan daerah penjenuhan (saturasi) dan daerah penyumbatan (cut off) yang ada pada karakteristik transistor.
2.1.7 Transistor TIP 122 Sebagai Driver
Didalam pemakaiannya transistor dipakai sebagai komponen saklar (switching) dengan memanfaatkan daerah penjenuhan (saturasi) dan daerah penyumbatan (cut off) yang ada pada karakteristik transistor.Gambar transisror TIP 122:
Gambar 2.7. Transistor TIP 122
Pada daerah penjenuhan nilai resistansi persambungan kolektor emiter secara ideal sama dengan nol atau kolektor dan emiter terhubung langsung (short). Keadaan ini menyebabkan tegangan kolektor emiter (VCE) = 0 Volt pada keadaan ideal, tetapi
Bestly J.H Sianga : Pembuatan Running Text Untuk Display Jembatan Angkat Otomatis Berbasis Mikrokontroler AT89S51, 2010.
pada kenyataannya VCE bernilai 0 sampai 0,3 Volt. Dengan menganalogikan transistor
sebagai saklar, transistor tersebut dalam keadaan on seperti pada gambar 2.8.
Gambar 2.8. Transistor sebagai Saklar ON
Saturasi pada transistor terjadi apabila arus pada kolektor menjadi maksimum dan untuk mencari besar arus basis agar transistor saturasi adalah : Rc Vcc Imax= ………..……….(2.13) Rc Vcc I . hfe B = ……….……….(2.14) Rc . hfe Vcc IB= ……….(2.15)
Hubungan antara tegangan basis (VB) dan arus basis (IB) adalah :
B BE B B R V V I = − ……….(2.16) VB = IB . RB + VBE……….…………..(2.17) Saklar On Vcc Vcc IC R RB VB IB VBE VCE
Bestly J.H Sianga : Pembuatan Running Text Untuk Display Jembatan Angkat Otomatis Berbasis Mikrokontroler AT89S51, 2010. BE B B V Rc . hfe R . Vcc V = + ………(2.13)
Jika tegangan VB telah mencapai BE
B B V Rc . hfe R . Vcc
V = + , maka transistor akan
saturasi, dengan Ic mencapai maksimum.
Gambar 2.9 dibawah ini menunjukkan apa yang dimaksud dengan VCE (sat) adalah harga VCE pada beberapa titik dibawah knee dengan
posisi tepatnya ditentukan pada lembar data. Biasanya VCE (sat) hanya beberapa
perpuluhan volt, walaupun pada arus kolektor sangat besar bisa melebihi 1 volt. Bagian dibawah knee pada gambar 2.9 dikenal sebagai daerah saturasi.
Gambar 2.9. Karakteristik daerah saturasi pada transistor
Titik Sumbat (Cut off) IB > IB(sat) IB = IB(sat) IB Penjenuhan (saturation) IC Rc Vcc IB 0 VCE
Bestly J.H Sianga : Pembuatan Running Text Untuk Display Jembatan Angkat Otomatis Berbasis Mikrokontroler AT89S51, 2010.
Pada daerah penyumbatan, nilai resistansi persambungan kolektor emiter secara ideal sama dengan tak terhitung atau terminal kolektor dan emiter terbuka (open).
Keadaan ini menyebabkan tegangan (VCB) sama dengan tegangan sumber (Vcc).
Tetapi pada kenyataannya Vcc pada saat ini kurang dari Vcc karena terdapat arus bocor dari kolektor ke emiter. Dengan menganalogikan transistor sebagai saklar, transistor tersebut dalam keadaan off seperti gambar dibawah ini.
Gambar 2.10.Transistor Sebagai Saklar OFF
Keadaan penyumbatan terjadi apabila besar tegangan habis (VB) sama dengan
tegangan kerja transistor (VBE) sehingga arus basis (IB) = 0 maka :
hfe I IB = C ………(2.19) IC = IB . hfe ….………(2.20) IC = 0 . hfe ………..………(2.21) IC = 0 ………..(2.22)
Hal ini menyebabkan VCE sama dengan Vcc dapat dibuktikan dengan rumus :
Saklar Off Vcc Vcc IC R RB VB IB VBE VCE
Bestly J.H Sianga : Pembuatan Running Text Untuk Display Jembatan Angkat Otomatis Berbasis Mikrokontroler AT89S51, 2010. Vcc = Vc + VCE ………..………(2.23) VCE = Vcc – (Ic . Rc) ..………(2.24) VCE = Vcc ..………(2.25) Perangkat Lunak 2.2.1Bahasa Assembly MCS-51
Bahasa yang digunakan untuk memprogram IC mikrokontroler AT89S51 adalah bahasa assembly untuk MCS-51. angka 51 merupakan jumlah instruksi pada
Bestly J.H Sianga : Pembuatan Running Text Untuk Display Jembatan Angkat Otomatis Berbasis Mikrokontroler AT89S51, 2010.
bahasa ini hanya ada 51 instruksi. Dari 51 instruksi, yang sering digunakan orang hanya 10 instruksi. Instruksi –instruksi tersebut antara lain :
1. Instruksi MOV
Perintah ini merupakan perintah untuk mengisikan nilai ke alamat atau register tertentu. Pengisian nilai dapat secara langsung atau tidak langsung.
Contoh pengisian nilai secara langsung
MOV R0,#20h
Perintah di atas berarti : isikan nilai 20 Heksadesimal ke register 0 (R0). Tanda # sebelum bilangan menunjukkan bahwa bilangan tersebut adalah nilai. Contoh pengisian nilai secara tidak langsung
MOV 20h,#80h ...
... MOV R0,20h
Perintah di atas berarti : isikan nilai yang terdapat pada alamat 20 Heksadesimal ke register 0 (R0).
Tanpa tanda # sebelum bilangan menunjukkan bahwa bilangan tersebut adalah alamat.
2. Instruksi DJNZ
Decreament Jump If Not Zero (DJNZ) ini merupakan perintah untuk mengurangi nilai register tertentu dengan 1 dan lompat jika hasil pengurangannya belum nol. Contoh ,
MOV R0,#80h Loop: ...
Bestly J.H Sianga : Pembuatan Running Text Untuk Display Jembatan Angkat Otomatis Berbasis Mikrokontroler AT89S51, 2010.
...
DJNZ R0,Loop ...
R0 -1, jika belum 0 lompat ke loop, jika R0 = 0 maka program akan meneruskan ke perintah pada baris berikutnya.
3. Instruksi ACALL
Instruksi ini berfungsi untuk memanggil suatu rutin tertentu. Contoh :
... ACALL TUNDA ... TUNDA: ... 4. Instruksi RET
Instruksi RETURN (RET) ini merupakan perintah untuk kembali ke rutin pemanggil setelah instruksi ACALL dilaksanakan. Contoh,
ACALL TUNDA ... TUNDA: ... RET 5. Instruksi JMP (Jump)
Instruksi ini merupakan perintah untuk lompat ke alamat tertentu. Contoh,
Loop:
... ...
Bestly J.H Sianga : Pembuatan Running Text Untuk Display Jembatan Angkat Otomatis Berbasis Mikrokontroler AT89S51, 2010.
JMP Loop
6. Instruksi JB (Jump if bit)
Instruksi ini merupakan perintah untuk lompat ke alamat tertentu, jika pin yang dimaksud berlogika high (1). Contoh,
Loop:
JB P1.0,Loop ...
7. Instruksi JNB (Jump if Not bit)
Instruksi ini merupakan perintah untuk lompat ke alamat tertentu, jika pin yang dimaksud berlogika Low (0). Contoh,
Loop:
JNB P1.0,Loop ...
8. Instruksi CJNZ (Compare Jump If Not Equal)
Instruksi ini berfungsi untuk membandingkan nilai dalam suatu register dengan suatu nilai tertentu. Contoh,
Loop:
...
CJNE R0,#20h,Loop ...
Jika nilai R0 tidak sama dengan 20h, maka program akan lompat ke rutin Loop. Jika nilai R0 sama dengan 20h,maka program akan melanjutkan instruksi selanjutnya..
Bestly J.H Sianga : Pembuatan Running Text Untuk Display Jembatan Angkat Otomatis Berbasis Mikrokontroler AT89S51, 2010.
Instruksi ini merupakan perintah untuk mengurangi nilai register yang dimaksud dengan 1. Contoh,
MOV R0,#20h R0 = 20h ...
DEC R0 R0 = R0 – 1 ...
10. Instruksi INC (Increament)
Instruksi ini merupakan perintah untuk menambahkan nilai register yang dimaksud dengan 1. Contoh,
MOV R0,#20h R0 = 20h ...
INC R0 R0 = R0 + 1 ...
11. Dan lain sebagainya
2.2.2 Software 8051 Editor, Assembler, Simulator (IDE)
Instruksi-instruksi yang merupakan bahasa assembly tersebut dituliskan pada sebuah editor, yaitu 8051 Editor, Assembler, Simulator (IDE). Tampilannya seperti di bawah ini.
Bestly J.H Sianga : Pembuatan Running Text Untuk Display Jembatan Angkat Otomatis Berbasis Mikrokontroler AT89S51, 2010.
Gambar 2.6 8051 Editor, Assembler, Simulator (IDE)
Gambar 2.11 Tamian eitor 8051
Setelah program selesai ditulis, kemudian di-save dan kemudian di-Assemble (di-compile). Pada saat di-assemble akan tampil pesan peringatan dan kesalahan. Jika masih ada kesalahan atau peringatan, itu berarti ada kesalahan dalam penulisan perintah atau ada nama subrutin yang sama, sehingga harus diperbaiki terlebih dahulu sampai tidak ada pesan kesalahan lagi.
Software 8051IDE ini berfungsi untuk merubah program yang kita tuliskan ke dalam bilangan heksadesimal, proses perubahan ini terjadi pada saat peng-compile-an. Bilangan heksadesimal inilah yang akan dikirimkan ke mikrokontroller.
Bestly J.H Sianga : Pembuatan Running Text Untuk Display Jembatan Angkat Otomatis Berbasis Mikrokontroler AT89S51, 2010.
Untuk mengirimkan bilangan-bilangan heksadesimal ini ke mikrokontroller digunakan software ISP- Flash Programmer 3.0a yang dapat didownload dari internet. Tampilannya seperti gambar di bawah ini
Gambar 2.12 ISP- Flash Programmer
Cara menggunakannya adalah dengan meng-klik Open File untuk mengambil file heksadesimal dari hasil kompilasi 8051IDE, kemudian klik Write untuk mengisikan hasil kompilasi tersebut ke mikrokontroller.
Bestly J.H Sianga : Pembuatan Running Text Untuk Display Jembatan Angkat Otomatis Berbasis Mikrokontroler AT89S51, 2010. Mikrokontroller AT89S51 Penguat sinyal Sensor 2 Penguat sinyal
Sensor 1 Driver motor
stepper Driver motor stepper jembatan palang alarm BAB 3
PERANCANGAN ALAT DAN CARA KERJA RANGKAIAN
3.1 Diagram blok
MCS1 MCS1
Gambar 3.1. Diagaram blok
Relay MC Relay AT 8 9 S 5 1 MC AT 8 9 S 5 1 MC AT 8 9 S 5 Running Tex Running Tex Shift Register Shift Register
Bestly J.H Sianga : Pembuatan Running Text Untuk Display Jembatan Angkat Otomatis Berbasis Mikrokontroler AT89S51, 2010.
Pada pembuatan diplay running text ini terdapat 8 blok rangkaian utama. Sensor relay1 berfungsi untuk mengaktifkan logika ke mikrokontroler 1. Relay 2 berfungsi untuk mengaktifkan logika ke mikrokontroler 2. Mikrokontroler berfungsi sebagai otak atau pengendali running text. Shift register berfungsi sebagi IC pergeseran data serial yang diterima dari mikrokontroler. Kemudian keluaran logika dari shift register akan di tampilkan ke LED yang menyala menurut logika yang diterimanya Output dari sensor akan dikuatkan kembali oleh penguat sinyal sebelum masuk ke mikrokontroller.
Sedangkan relay 1 dan 2 berfungsi untuk mengaktifkan mikrokontroller untuk display running text 1 dan 2. Mikrokontroller 1 akan bekerja jika ia menerima logika 1 (high) dan otomatis running text 1 dan lampu merah aktif. Sedangkan mikrokontroller 2 bekerja jika menerima logika 0 (Low) dan otomatis Running text dan lampu hijau aktif dan mikrokontroller 1 akan mendapat logika 0 (Low) ysng berarti padam dan sebaliknya.oller AT89S51 yang merupakan otak dari keseluruhan system berfungsi untuk mengolah semua data yang masuk.
3.2 Perancangan Power Supplay (PSA)
Rangkaian ini berfungsi untuk mensupplay tegangan ke seluruh rangkaian yang ada. Rangkaian PSA yang dibuat terdiri dari dua keluaran, yaitu 5 volt dan 12 volt, keluaran 5 volt digunakan untuk mensupplay tegangan ke seluruh rangkaian, sedangkan keluaran 12 volt digunakan untuk mensuplay tegangan ke motor stepper. Rangkaian power supplay ditunjukkan pada gambar 3.2 berikut ini
Bestly J.H Sianga : Pembuatan Running Text Untuk Display Jembatan Angkat Otomatis Berbasis Mikrokontroler AT89S51, 2010. 5V VCC 10uF 5V VCC 2 1 30pF 30pF XTAL 12 MHz AT89S51 P0.3 (AD3) P0.0 (AD0) P0.1 (AD1) P0.2 (AD2) Vcc P1.0 P1.1 P1.2 P1.3 P1.4 P1.5 P1.6 P1.7 P0.4 (AD4) P0.5 (AD5) P0.6 (AD6) P0.7 (AD7) RST EA/VPP P3.0 (RXD) P3.1 (TXD) P3.2 (INT0) P3.3 (INT1) P3.4 (T0) ALE/PROG PSEN P2.7 (A15) P2.6 (A14) P2.5 (A13) P2.4 (A12) P2.3 (A11) P2.2 (A10) P2.1 (A9) P3.6 (WR) P3.5 (T1) P3.7 (RD) XTAL2 XTAL1 GND P2.0 (A8) 1 2 3 4 5 6 7 8 40 39 38 37 36 35 34 33 9 10 11 12 13 14 15 32 31 30 29 28 27 26 16 17 18 19 20 25 24 23 22 21 4.7k 2SA733 5V VCC LED1
Gambar 3.2 Rangkaian Power Supplay (PSA)
3.3. Perancangan Rangkaian Mikrokontroler AT89S51
Rangkaian ini berfungsi sebagai pusat kendali dari seluruh system yang ada. Rangkaian mikrokontroler ditunjukkan pada gambar berikut ini:
Gambar 3.3. Rangkaian Mikrokontroller AT89S51 Vreg LM7805CT IN OUT TIP32C 100ohm 100uF 330ohm 220V 50Hz 0Deg TS_PQ4_12 2200uF 1uF 1N5392GP 1N5392GP 12 Volt 5 Volt
Bestly J.H Sianga : Pembuatan Running Text Untuk Display Jembatan Angkat Otomatis Berbasis Mikrokontroler AT89S51, 2010.
Pin 31 External Access Enable (EA) diset high (H). Ini dilakukan karena mikrokontroller AT89S51 tidak menggunakan memori eskternal. Pin 18 dan 19 dihubungkan ke XTAL 12 MHz dan capasitor 33 pF. XTAL ini akan mempengaruhi kecepatan mikrokontroller AT89S51 dalam mengeksekusi setiap perintah dalam program. Pin 9 merupakan masukan reset (aktif tinggi). Pulsa transisi dari rendah ke tinggi akan me-reset mikrokontroller ini. Pin 32 sampai 39 adalah Port 0 yang merupakan saluran/bus I/O 8 bit open collector dapat juga digunakan sebagai multipleks bus alamat rendah dan bus data selama adanya akses ke memori program eksternal. Pada port 0 ini masing masing pin dihubungkan dengan resistor 4k7 ohm. Resistor 4k7 ohm yan dihubungkan ke port 0 befungsi sebagai pull up( penaik tegangan ) agar output dari mikrokontroller dapat mentrigger transistor. Pin 1 sampai 8 adalah port 1. Pin 21 sampai 28 adalah port 2. Dan Pin 10 sampai 17 adalah port 3. Pin 39 yang merupakan P0.0 dihubungkan dengan sebuah resistor 330 ohm dan sebuah LED. Ini dilakukan hanya untuk menguji apakah rangkaian minimum mikrokontroller AT89S52 sudah bekerja atau belum. Dengan memberikan program sederhana pada mikrokontroler tersebut, dapat diketahui apakah rangkaian minimum tersebut sudah bekerja dengan baik atau tidak. Jika LED yang terhubug ke Pin 39 sudah bekerja sesuai dengan perintah yang diberikan, maka rangkaian minimum tersebut telah siap digunakan. Pin 20 merupakan ground dihubungkan dengan ground pada power supplay. Pin 40 merupakan sumber tegangan positif dihubungkan dengan + 5 volt dari power supply.
Bestly J.H Sianga : Pembuatan Running Text Untuk Display Jembatan Angkat Otomatis Berbasis Mikrokontroler AT89S51, 2010.
3.4 Perancangan Algoritma Program
Perancangan tugas akhir ini terbagi dua bagian, yaitu perancangan hardware dan perancangan software. Pada bab 3 ini penulis hanya membahas perancangan software dan hardware. Perancangan program ( software ) perlu dilakukan perancangan algoritma dari program yang akan dibuat. Algoritma program adalah kerangka atau garis – garis besar dari program yang akan dibuat agar dapat diketahui proses – proses yang terjadi di dalam program. Adapun algoritma dari program simulasi jembatan angkat berbasis mikrokontroller AT9S51 adalah sebagai berikut :
a. Bagian Input atau Masukan Program
Bagian input atau masukan dari program diperoleh dari sinyal ( data ) yang masuk dari relay ke mikro running text. Relay ini terhubung ke mikrokontroller AT89S51 melalui port 2.7 dan port 2.6 serial
b. Bagian Pemrosesan
Pada program terjadi pemrosesan data input yang dibaca, jika ada data atau logika dari MCS utama maka relay 1, dan relay 2 akan aktif sesuai logika yang dikirimkan, maka logika ini lah yang mengaktifkan mikro running text untuk di proses.
c. Keluaran Program ( output )
Pada program ini keluaran yang dihasilkan adalah :
o Display running text akan hidup apabila ada input dari relay masuk dari port 3.0 untuk data, 3.1 untuk data.
Bestly J.H Sianga : Pembuatan Running Text Untuk Display Jembatan Angkat Otomatis Berbasis Mikrokontroler AT89S51, 2010.
o Display running text akan hidup apabila ada input dari relay keluar atau tidak ada input dari relay sama sekali keluaran data dari port 3.0 untuk data, 3.1 untuk data.
3.5 Perancangan Program Utama.
Pada perancangan program running text berbasis mikrokontroller AT89S51 ini, Program ditulis atau dibuat dengan menggunakan bahasa assembler. Bahasa assembler sebenarnya tidak ada batasan antara sub program dengan program utama. Karena dalam sistem pemrogramannya sub – sub program ini akan langsung dijalankan jika terjadi suatu aksi pada program misalnya pada saat aba-aba untuk berheti atau menunngu dan pada aba-aba untuk lewat kembali. Pada perancangan ini, sub – sub program yang harus dibuat adalah :
1. Sub program untuk perintah atau aba-aba menunggu 2. Sub program untuk perintah atau aba-aba lewat kembali. Adapun sub – sub program diatas akan dijelaskan sebagai berikut :
Bestly J.H Sianga : Pembuatan Running Text Untuk Display Jembatan Angkat Otomatis Berbasis Mikrokontroler AT89S51, 2010.
3.5.1 Perancangan Flowchart Program
3.5.2. Sub program untuk aba-aba menunggu.
Initialisasi port untuk running text1.
sensor_masuk bit p2.6 sensor_keluar bit p2.7 alarm bit p2.5
Bestly J.H Sianga : Pembuatan Running Text Untuk Display Jembatan Angkat Otomatis Berbasis Mikrokontroler AT89S51, 2010. lampu_hijau bit p2.3 batas_tutup bit p2.2 batas_buka bit p2.0 batas_tutup1 bit p3.2 batas_buka1 bit p3.1 Running_text1 bit 3.3 Running_text1 bit 3.4 utama: setb lampu_hijau clr lampu_ merah clr alarm mov p0,#0h mov a,#11h mulai: jnb sensor_masuk,cek_keluar setb alarm setb lampu_merah setb running_text1 call tutup_palang call angkat_jembatan jmp cek_keluar cek_keluar: jnb sensor_keluar,mulai setb alarm setb lampu_merah setb running_text2 call turun_jembatan call buka_palang sjmp utama
Bestly J.H Sianga : Pembuatan Running Text Untuk Display Jembatan Angkat Otomatis Berbasis Mikrokontroler AT89S51, 2010. angkat_jembatan: mov p0,a call delay rr a jb batas_buka1,angkat_jembatan ret turun_jembatan: mov p0,a call delay rl a jb batas_tutup1,turun_jembatan ret hidup_alarm: setb alarm call tunda_alarm clr alarm call tunda_alarm setb alarm call Tunda_alarm clr alarm call tunda_alarm ret stop: mov p1,00h buka_palang: mov p1,a
Bestly J.H Sianga : Pembuatan Running Text Untuk Display Jembatan Angkat Otomatis Berbasis Mikrokontroler AT89S51, 2010. call delay1 rr a jb batas_buka,buka_palang ret tutup_palang: mov p1,a call delay1 rl a jb batas_tutup,tutup_palang ret tunda_alarm: mov r3,#200 tnd_alr: mov r2,#60 td: mov r1,#10 djnz r1,$ djnz r2,td djnz r3,tnd_alr ret delay: mov r7,#45 dly: mov r6,#45 djnz r6,$ djnz r7,dly ret delay1:
Bestly J.H Sianga : Pembuatan Running Text Untuk Display Jembatan Angkat Otomatis Berbasis Mikrokontroler AT89S51, 2010. mov r5,#45 rojan: mov r4,#45 djnz r4,$ djnz r5,rojan ret end
Untuk sub routine running text untuk perintah ataupun aba-aba menunggu, adapun program yang diisikan adalah sebagai berikut:
ulang:
mov dptr,#d3fin : isikan ke dalam register dptr nilai d3fin acall lagi : panggil lagi
lagi: clr a : bersihkan isi register a
mov a,@a+dptr : isikan register a jika 1 tambah ke daftar
cjne a,#55h,lanjut : kurangi isi register a jika 55 heksa maka lanjut sjmp ulang : lompat ke ulang
lanjut:
acall kirim : panggil untuk kirim
acall tunda : pangil tunda
inc dptr : tambahkan nilai register dptr
sjmp lagi
kirim: mov sbuf,a : isikan buffer dengan nilai a
jnb ti,$ : lompat jika tidak ada bit
Bestly J.H Sianga : Pembuatan Running Text Untuk Display Jembatan Angkat Otomatis Berbasis Mikrokontroler AT89S51, 2010.
ret : mengakhiri sub rutin
tunda: mov R7,#90h : tunda isikan ke dalam register r7 nilai 90 heksa
tnd: mov R6,#90h : isikan ke dalam register r6 nilai 90 heksa
djnz R6,$ : kurangi lompatan jika tidak nol, isikan nilai yang terdapat pada register dengan $
djnz r7,tnd : kurangi lompatan jika tidak nol
ret d3fin: db 80h,7fh,7fh,0eh,1ch,0eh,7fh,7fh,80h ;M db 80h,3eh,7fh,63h,63h,7fh,3eh,80h ;O db 80h,7fh,7fh,08h,08h,7fh,7fh,80h ;H db 80h,3eh,7fh,63h,63h,7fh,3eh,80h ;O db 80h,7fh,7fh,0eh,18h,7fh,7fh,80h ;N db 00h,00h,00h db 80h,7fh,7fh,0eh,1ch,0eh,7fh,7fh,80h ;M db 80h,7fh,7fh,49h,49h,49h,80h ;E db 80h,7fh,7fh,0eh,18h,7fh,7fh,80h ;N db 3fh,7fh,40h,40h,40h,7fh,3fh, ;U db 80h,7fh,7fh,0eh,18h,7fh,7fh,80h ;N db 80h,7fh,7fh,49h,49h,79h,80h ;G db 80h,7fh,7fh,49h,49h,79h,80h ;G db 3fh,7fh,40h,40h,40h,7fh,3fh, ;U db 00h,00h,00h db 80h,7fh,7fh,1ch,36h,63h,41h,80h ;K
Bestly J.H Sianga : Pembuatan Running Text Untuk Display Jembatan Angkat Otomatis Berbasis Mikrokontroler AT89S51, 2010. db 80h,7ch,7eh,19h,19h,7eh,7ch,80h ;A db 80h,7fh,7fh,09h,09h,06h,80h ;P db 80h,7ch,7eh,19h,19h,7eh,7ch,80h ;A db 80h,7fh,7fh,60h,60h,60h,80h ;L db 00h,00h,00h db 80h,26h,67h,49h,49h,73h,32h,80h ;S db 80h,7fh,7fh,49h,49h,49h,80h ;E db 80h,7fh,7fh,41h,41h,3eh,80h ;D db 80h,7ch,7eh,19h,19h,7eh,7ch,80h ;A db 80h,7fh,7fh,0eh,18h,7fh,7fh,80h ;N db 80h,7fh,7fh,49h,49h,79h,80h ;G db 00h,00h,00h db 80h,7fh,7fh,60h,60h,60h,80h ;L db 80h,7fh,7fh,49h,49h,49h,80h ;E db 80h,7fh,7fh,38h,1ch,38h,7fh,7fh,80h ;W db 80h,7ch,7eh,19h,19h,7eh,7ch,80h ;A db 80h,03h,03h,7fh,7fh,03h,03h,80h ;T db 00h,00h,00h,55
jika kita menuliskan program di atas tersebut maka akan tampil tampilan seperti gambar dibawah ini:
Bestly J.H Sianga : Pembuatan Running Text Untuk Display Jembatan Angkat Otomatis Berbasis Mikrokontroler AT89S51, 2010.
Gambar 3.4 Sub program aba-aba untuk menunggu.
Setelah program selesai ditulis, kemudian di-save dan kemudian di-Assemble (di-compile). Pada saat di-assemble akan tampil pesan peringatan dan kesalahan. Pesan kesalahan akan ditampilkan pada task bar output ( dapat dilihat dar gambar ) jika masih terdapat kesalahan pada program maka akan terlihat pesan Error pada task
bar out put , jika benar maka pesan error tidak akan ditampilkan pada task bar out put
dan program siap dijalankan. Program dapat dijalankan dengan simulasi , jika kita menjalankan program dengan cara simulasi maka akan terlihat beberapa perubahan yang tampak pada taskbar register dan taskbar port. Pada taskbar register memperlihatkan register mana yang sedang kita pakai ( jalankan ) sedangkan pada taskbar port memperlihatkan port mana yang kita pakai.
3.5.3. Sub program untuk aba-aba untuk lewat kembali
Bestly J.H Sianga : Pembuatan Running Text Untuk Display Jembatan Angkat Otomatis Berbasis Mikrokontroler AT89S51, 2010. sensor_masuk bit p2.6 sensor_keluar bit p2.7 alarm bit p2.5 lampu_merah bit p2.4 lampu_hijau bit p2.3 batas_tutup bit p2.2 batas_buka bit p2.0 batas_tutup1 bit p3.2 batas_buka1 bit p3.1 Running_text1 bit 3.3 Running_text1 bit 3.4 utama: setb lampu_hijau clr lampu_ merah clr alarm mov p0,#0h mov a,#11h mulai: jnb sensor_masuk,cek_keluar setb alarm setb lampu_merah setb running_text1 call tutup_palang call angkat_jembatan jmp cek_keluar cek_keluar: jnb sensor_keluar,mulai setb alarm setb lampu_merah
Bestly J.H Sianga : Pembuatan Running Text Untuk Display Jembatan Angkat Otomatis Berbasis Mikrokontroler AT89S51, 2010. setb running_text2 call turun_jembatan call buka_palang sjmp utama angkat_jembatan: mov p0,a call delay rr a jb batas_buka1,angkat_jembatan ret turun_jembatan: mov p0,a call delay rl a jb batas_tutup1,turun_jembatan ret hidup_alarm: setb alarm call tunda_alarm clr alarm call tunda_alarm setb alarm call Tunda_alarm clr alarm call tunda_alarm ret stop:
Bestly J.H Sianga : Pembuatan Running Text Untuk Display Jembatan Angkat Otomatis Berbasis Mikrokontroler AT89S51, 2010. mov p1,00h buka_palang: mov p1,a call delay1 rr a jb batas_buka,buka_palang ret tutup_palang: mov p1,a call delay1 rl a jb batas_tutup,tutup_palang ret tunda_alarm: mov r3,#200 tnd_alr: mov r2,#60 td: mov r1,#10 djnz r1,$ djnz r2,td djnz r3,tnd_alr ret delay: mov r7,#45 dly: mov r6,#45
Bestly J.H Sianga : Pembuatan Running Text Untuk Display Jembatan Angkat Otomatis Berbasis Mikrokontroler AT89S51, 2010. djnz r6,$ djnz r7,dly ret delay1: mov r5,#45 rojan: mov r4,#45 djnz r4,$ djnz r5,rojan ret end
Untuk sub routine running text untuk perintah ataupun aba-aba lewat kembali, adapun program yang diisikan adalah sebagai berikut:
ulang:
mov dptr,#d3fin : isikan ke dalam register dptr nilai d3fin acall lagi : panggil lagi
lagi: clr a : bersihkan isi register a
mov a,@a+dptr : isikan register a jika 1 tambah ke daftar
cjne a,#55h,lanjut : kurangi isi register a jika 55 heksa maka lanjut sjmp ulang : lompat ke ulang
lanjut:
acall kirim : panggil untuk kirim
acall tunda : pangil tunda
inc dptr : tambahkan nilai register dptr
sjmp lagi
Bestly J.H Sianga : Pembuatan Running Text Untuk Display Jembatan Angkat Otomatis Berbasis Mikrokontroler AT89S51, 2010.
jnb ti,$ : lompat jika tidak ada bit
clr ti : hapus ti
ret : mengakhiri sub rutin
tunda: mov R7,#90h : tunda isikan ke dalam register r7 nilai 90 heksa
tnd: mov R6,#90h : isikan ke dalam register r6 nilai 90 heksa
djnz R6,$ : kurangi lompatan jika tidak nol, isikan nilai yang terdapat pada register dengan $
djnz r7,tnd : kurangi lompatan jika tidak nol
ret : mengakhiri sub rutin
d3fin: db 80h,03h,03h,7fh,7fh,03h,03h,80h ;T db 80h,7fh,7fh,49h,49h,49h,80h ;E db 80h,7fh,7fh,19h,29h,66h,40h,80h ;R db 80h,41h,7fh,7fh,41h,80h ;I db 80h,7fh,7fh,0eh,1ch,0eh,7fh,7fh,80h ;M db 80h,7ch,7eh,19h,19h,7eh,7ch,80h ;A db 80h,7fh,7fh,1ch,36h,63h,41h,80h ;K db 80h,7ch,7eh,19h,19h,7eh,7ch,80h ;A db 80h,26h,67h,49h,49h,73h,32h,80h ;S db 80h,41h,7fh,7fh,41h,80h ;I db 80h,7fh,7fh,08h,08h,7fh,7fh,80h ;H db 00h,00h,00h db 80h,03h,03h,7fh,7fh,03h,03h,80h ;T
Bestly J.H Sianga : Pembuatan Running Text Untuk Display Jembatan Angkat Otomatis Berbasis Mikrokontroler AT89S51, 2010. db 80h,7fh,7fh,49h,49h,49h,80h ;E db 80h,7fh,7fh,60h,60h,60h,80h ;L db 80h,7ch,7eh,19h,19h,7eh,7ch,80h ;A db 80h,7fh,7fh,08h,08h,7fh,7fh,80h ;H db 00h,00h,00h db 80h,7fh,7fh,0eh,1ch,0eh,7fh,7fh,80h ;M db 80h,7fh,7fh,49h,49h,49h,80h ;E db 80h,7fh,7fh,0eh,18h,7fh,7fh,80h ;N db 3fh,7fh,40h,40h,40h,7fh,3fh, ;U db 80h,7fh,7fh,0eh,18h,7fh,7fh,80h ;N db 80h,7fh,7fh,49h,49h,79h,80h ;G db 80h,7fh,7fh,49h,49h,79h,80h ;G db 3fh,7fh,40h,40h,40h,7fh,3fh, ;U db 00h,00h,00h db 80h,26h,67h,49h,49h,73h,32h,80h ;S db 80h,41h,7fh,7fh,41h,80h ;I db 80h,7fh,7fh,60h,60h,60h,80h ;L db 80h,7ch,7eh,19h,19h,7eh,7ch,80h ;A db 80h,7fh,7fh,08h,08h,7fh,7fh,80h ;H db 80h,7fh,7fh,1ch,36h,63h,41h,80h ;K db 80h,7ch,7eh,19h,19h,7eh,7ch,80h ;A db 80h,7fh,7fh,0eh,18h,7fh,7fh,80h ;N db 00h,00h,00h db 80h,7fh,7fh,60h,60h,60h,80h ;L
Bestly J.H Sianga : Pembuatan Running Text Untuk Display Jembatan Angkat Otomatis Berbasis Mikrokontroler AT89S51, 2010. db 80h,7fh,7fh,49h,49h,49h,80h ;E db 80h,7fh,7fh,38h,1ch,38h,7fh,7fh,80h ;W db 80h,7ch,7eh,19h,19h,7eh,7ch,80h ;A db 80h,03h,03h,7fh,7fh,03h,03h,80h ;T db 00h,00h,00h db 80h,7fh,7fh,1ch,36h,63h,41h,80h ;K db 80h,7fh,7fh,49h,49h,49h,80h ;E db 80h,7fh,7fh,0eh,1ch,0eh,7fh,7fh,80h ;M db 80h,7fh,7fh,49h,49h,3eh,80h ;B db 80h,7ch,7eh,19h,19h,7eh,7ch,80h ;A db 80h,7fh,7fh,60h,60h,60h,80h ;L db 80h,41h,7fh,7fh,41h,80h ;I db 00h,00h,00h,55h
jika kita menuliskan program di atas tersebut maka akan tampil tampilan seperti gambar dibawah ini:
Bestly J.H Sianga : Pembuatan Running Text Untuk Display Jembatan Angkat Otomatis Berbasis Mikrokontroler AT89S51, 2010.
Gambar 3.5 Sub program aba-aba untuk lewat kembali
3.5.4 Sub program delay ( jeda )
Untuk sub routine program delay, adapun program yang diisikan adalah sebagai berikut
delay:
mov r7,#100 : isikan kedalam register 7 nilai 100 dly:
mov r6,#90 : isikan kedalam register 6 nilai 90 djnz r6,$ : kurangi nilai pada register 6 sampai 0
djnz r7,dly : jika nilai register 6 = 0 maka kurangi 1 nilai pada register 7
: kembali kurangi register 6
Ret : ke routine pemanggil
End : selesai
Bestly J.H Sianga : Pembuatan Running Text Untuk Display Jembatan Angkat Otomatis Berbasis Mikrokontroler AT89S51, 2010.
Gambar 3.6 Tampilan sub program delay
Program di atas gunanya untuk memberikan jeda waktu perpindahan satu perintah ke perintah yang lainnya, nilai 255 berarti kita telah memberikan waktu jeda selama 255 mdet. Pada program delay di atas kita mengguakan nilai 255 sebanyak dua kali ( pada r7 dan r6 ) dengan demikian kita telah menunda perpindahan satu perintah yang lainnya selama 650 mdet.
Bestly J.H Sianga : Pembuatan Running Text Untuk Display Jembatan Angkat Otomatis Berbasis Mikrokontroler AT89S51, 2010.
Bestly J.H Sianga : Pembuatan Running Text Untuk Display Jembatan Angkat Otomatis Berbasis Mikrokontroler AT89S51, 2010.