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
86
Embed
PEMBUATAN RUNNING TEXT UNTUK DISPLAY JEMBATAN …repository.usu.ac.id/bitstream/123456789/14222/1/10E00468.pdf · 4.3 Pengujian Rangkaian Running Text 59 4.4 Desain Tampilan Huruf
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
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
NIP. 132 050 870 NIP. 131459465
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
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.
2.2.3.Software Downloader
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 AT89S51Penguat sinyalSensor 2
Penguat sinyalSensor 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 Relay
MC 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.
5VVCC
10uF
5VVCC
21
30pF30pF
XTAL 12 MHz
AT89S51
P0.3 (AD3)
P0.0 (AD0)
P0.1 (AD1)
P0.2 (AD2)
VccP1.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/VPPP3.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
2616
17
18
19
20
25
24
23
22
21
4.7k2SA733
5VVCC
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
lampu_merah bit p2.4
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
clr ti : hapus ti
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
Initialisasi port untuk running text2.
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
kirim: mov sbuf,a : isikan buffer dengan nilai a
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 jika di eksekusi akan tampil hasilnya sebagai berikut:
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.
3.5.5 Rangkaian lengkap simulasi running text
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.
Ke MCU1 P.3.3 Ke MCU1 P.3.4
Bestly J.H Sianga : Pembuatan Running Text Untuk Display Jembatan Angkat Otomatis Berbasis Mikrokontroler AT89S51, 2010.
BAB 4
PENGUJIAN ALAT DAN PROGRAM
4.1 Pengujian Rangkaian Power Supplay (PSA)
Pengujian pada bagian rangkaian power supplay ini dapat dilakukan dengan
mengukur tegangan keluaran dari rangkaian ini dengan menggunakan voltmeter
digital. Dari hasil pengujian diperoleh tegangan keluaran sebesar + 5,1 volt.dan +12,2
volt Tegangan ini dipergunakan untuk mensupplay tegangan ke seluruh rangkaian.
Mikrokontroler AT89S51 dapat bekerja pada tegangan 4,0 sampai dengan 5,5 volt,
sehingga tegangan 5,1 volt ini cukup untuk mensupplay tegangan ke mikrokontroler
AT89S51. Dengan demikian rangkaian ini sudah dapat bekerja dengan baik.
Rangkaian ini berfungsi untuk mensupplay tegangan ke seluruh rangkaian
yang ada. Rangkaian PSA yang dibuat terdiri dari dua keluaran, yaitu 5 volt dan 12
volt, keluaran 5 volt digunakan untuk mensupplay tegangan ke seluruh rangkaian,
sedangkan keluaran 12 volt digunakan untuk mensuplay tegangan ke relay. Rangkaian
power supplay ditunjukkan pada gambar 3.2 berikut ini :
Bestly J.H Sianga : Pembuatan Running Text Untuk Display Jembatan Angkat Otomatis Berbasis Mikrokontroler AT89S51, 2010.
Gambar 4.1. Rangkaian Power Supply (PSA)
4.2 Pengujian Rangkaian Mikrokontroller AT89S51
Untuk mengetahui apakah rangkaian mikrokontroller AT89S51 telah bekerja
dengan baik, maka dilakukan pengujian.Pengujian bagian ini dilakukan dengan
memberikan program sederhana pada mikrokontroller AT89S51. Programnya adalah
sebagai berikut:
Loop:
Setb P3.0
Acall tunda
Clr P3.0
Acall tunda
Sjmp Loop
Tunda:
Mov r7,#255
Tnd: Mov r6,#255
Djnz r6,$
Djnz r7,tnd
Ret
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.
Program di atas bertujuan untuk menghidupkan LED yang terhubung ke P3.0
selama ± 0,13 detik kemudian mematikannya selama ± 0,13 detik secara terus
menerus. Perintah Setb P3.0 akan menjadikan P3.0 berlogika high yang menyebabkan
LED menyala. Acall tunda akan menyebabkan LED ini hidup selama beberapa saat.
Perintah Clr P3.0 akan menjadikan P3.0 berlogika low yang menyebabkan LED akan
mati. Perintah Acall tunda akan menyebabkan LED ini mati selama beberapa saat.
Perintah Sjmp Loop akan menjadikan program tersebut berulang, sehingga akan
tampak LED tersebut tampak berkedip.
Lamanya waktu tunda dapat dihitung dengan perhitungan sebagai berikut :
Kristal yang digunakan adalah kristal 12 MHz, sehingga 1 siklus mesin
membutuhkan waktu = 12 112 MHz
= mikrodetik.
Mnemonic Siklus Waktu Eksekusi
MOV Rn,#data 2 2 x 1 μd = 2 μd
DJNZ 2 2 x 1 μd = 2 μd
RET 1 1 x 1 μd = 1 μd
Tunda:
mov r7,#255 2
Tnd: mov r6,#255 2
djnz r6,$ 255 x 2 = 510 x 255 = 130.054 = 130.058 = 130.059 μd
djnz r7,loop3 2
Bestly J.H Sianga : Pembuatan Running Text Untuk Display Jembatan Angkat Otomatis Berbasis Mikrokontroler AT89S51, 2010.
djnz r2,loop8 2
ret 1
Jadi waktu yang dibutuhkan untuk mengerjakan program di atas adalah 130.059 μdetik
atau 0,130059 detik dan dapat dibulatkan menjadi 0,13 detik.
Jika program tersebut diisikan ke mikrokontroller AT89S51, kemudian
mikrokontroller dapat berjalan sesuai dengan program yang diisikan, maka rangkaian
minimum mikrokontroller AT89S51 telah bekerja dengan baik
4.3 Pengujian Rangankaian Running Text
Pengujian pada rangkaian running text ini dapat dilakukan dengan cara
menghubungkan rangkaian ini dengan sumber tegangan 5 volt, kemudian memberikan
logika 1 ke data dari IC 4094 . Ketika diberi logika maka lampu dari let akan
bergeser, sehingga menyebabkan LED pada papan running text menyala, secara
bergeser karena pengiriman datanya adalah serial.
Ketika logika di kirimkan ke kaki data dari port 3.0 dan clok daro port 3.1
maka data akan dikirim secara serial sesuai dengan program yang dikirimkan. Seperti
dibawah:
ulang:
mov dptr,#d3fin
acall lagi
lagi: clr a
Bestly J.H Sianga : Pembuatan Running Text Untuk Display Jembatan Angkat Otomatis Berbasis Mikrokontroler AT89S51, 2010.
movc a,@a+dptr
cjne a,#55h,lanjut
sjmp ulang
lanjut:
acall kirim
acall tunda
inc dptr
sjmp lagi
kirim: mov sbuf,a
jnb ti,$
clr ti
ret
tunda: mov R7,#90h
tnd: mov R6,#90h
djnz R6,$
djnz r7,tnd
ret
Bestly J.H Sianga : Pembuatan Running Text Untuk Display Jembatan Angkat Otomatis Berbasis Mikrokontroler AT89S51, 2010.
4.4. Desain Tampilan Huruf Pada Running Text Dari Huruf A sampai dengan huruf z
HURUF A B 1 1 I 1 1 N 1 1 1 1 E 1 1 1 1 R 1 1 1 1 1 1 1 1 1 1 1 1 1 1 HEXA 73H 77H 18H 18H 77H 73H HURUF B B 1 1 1 1 1 I 1 1 1 N 1 1 1 E 1 1 1 1 1 R 1 1 1 1 1 1 1 1 1 1 1 HEXA 7FH 7FH 49H 49H 49H 36H HURUF C B 1 1 1 1 1 I 1 1 1 1 1 1 N 1 1 E 1 1 R 1 1 1 1 1 1 1 1 1 1 1 1 1 HEXA 37H 7FH 6CH 6CH 6CH 6CH
Bestly J.H Sianga : Pembuatan Running Text Untuk Display Jembatan Angkat Otomatis Berbasis Mikrokontroler AT89S51, 2010.
HURUF D B 1 1 1 1 1 I 1 1 1 1 N 1 1 1 1 E 1 1 1 1 R 1 1 1 1 1 1 1 1 1 1 1 1 1 HEXA 7FH 7FH 48H 48H 7FH 37H HURUF E B 1 1 1 1 1 1 I 1 1 1 N 1 1 1 E 1 1 1 1 R 1 1 1 1 1 1 1 1 1 1 1 1 HEXA 7FH 7FH 49H 5BH 48H 6CH HURUF F B 1 1 1 1 1 1 I 1 1 1 N 1 1 1 E 1 1 1 1 R 1 1 1 1 1 1 1 HEXA 7FH 7FH 09H 1BH 08H 0CH HURUF G B 1 1 1 1 1 I 1 1 1 N 1 1 E 1 1
Bestly J.H Sianga : Pembuatan Running Text Untuk Display Jembatan Angkat Otomatis Berbasis Mikrokontroler AT89S51, 2010.
R 1 1 1 1 1 1 1 1 1 1 1 1 1 HEXA 37H 7FH 48H 58H 78H 3CH HURUF H B 1 1 1 1 I 1 1 1 1 N 1 1 1 1 E 1 1 1 1 1 1 R 1 1 1 1 1 1 1 1 1 1 1 1 HEXA 7FH 7FH 01H 01H 7FH 7FH HURUF I B 1 1 1 1 I 1 1 N 1 1 E 1 1 R 1 1 1 1 1 1 1 1 HEXA 48H 7FH 7FH 48H HURUF J B 1 1 1 1 I 1 1 N 1 1 E 1 1 R 1 1 1 1 1 1 1 1 1 HEXA 11H 38H 7FH 3FH 08H HURUF K B 1 1 1 1 I 1 1 1 1
Bestly J.H Sianga : Pembuatan Running Text Untuk Display Jembatan Angkat Otomatis Berbasis Mikrokontroler AT89S51, 2010.
N 1 1 1 1 E 1 1 1 R 1 1 1 1 1 1 1 1 1 1 1 1 HEXA 7FH 7FH 13H 36H 6CH 48H HURUF L B 1 1 I 1 1 N 1 1 E 1 1 R 1 1 1 1 1 1 1 1 1 1 1 HEXA 3FH 7FH 60H 60H 60H HURUF M B 1 1 1 1 I 1 1 1 1 1 1 N 1 1 1 1 1 E 1 1 1 1 1 R 1 1 1 1 1 1 1 1 1 1 1 1 HEXA 7FH 7FH 04H 03H 04H 7FH 7FH HURUF N B 1 1 1 1 I 1 1 1 1 N 1 1 1 1 1 E 1 1 1 1 1 1 R 1 1 1 1 1 1 1 1 1 1 1 1 1 HEXA 7FH 7FH 03HY 11H 7FH 7FH HURUF 0 B 1 1 1 1
Bestly J.H Sianga : Pembuatan Running Text Untuk Display Jembatan Angkat Otomatis Berbasis Mikrokontroler AT89S51, 2010.
I 1 1 1 1 1 1 N 1 1 1 1 E 1 1 1 1 R 1 1 1 1 1 1 1 1 1 1 1 1 1 1 HEXA 37H 7FH 6CH 6CH 7FH 37H HURUF P B 1 1 1 1 1 I 1 1 1 1 N 1 1 1 1 E 1 1 1 1 1 R 1 1 1 1 1 1 HEXA 7FH 7FH 09H 09H 0FH 06H HURUF Q B 1 1 I 1 1 1 1 N 1 1 1 1 E 1 1 1 1 R 1 1 1 1 1 1 1 1 1 1 1 HEXA 13H 37H 6CH 6CH 37H 53H HURUF R B 1 1 1 1 1 I 1 1 1 1 N 1 1 1 1 E 1 1 1 1 1 R 1 1 1 1 1 1 1 1 1 1 1 1 HEXA 7FH 7FH 19H 39H 6FH 46H HURUF S
Bestly J.H Sianga : Pembuatan Running Text Untuk Display Jembatan Angkat Otomatis Berbasis Mikrokontroler AT89S51, 2010.
B 1 1 1 1 I 1 1 1 1 1 1 N 1 E 1 1 1 1 R 1 1 1 1 1 1 1 1 1 1 1 1 1 HEXA 26H 6DH 6DH 7D 7DH 34H HURUF T B 1 1 1 1 1 1 I 1 1 1 1 N 1 1 E 1 1 R 1 1 1 1 1 1 HEXA 0CH 08H 7FH 7FH 08H 0CH HURUP U B 1 1 1 1 I 1 1 1 1 N 1 1 1 1 E 1 1 1 1 R 1 1 1 1 1 1 1 1 1 1 1 1 HEXA 3FH 7FH 40H 40H 7FH 3FH HURUF V B 1 1 1 1 I 1 1 1 1 N 1 1 1 1 E 1 1 1 1 R 1 1 1 1 1 1 1 HEXA 1FH 1FH 20H 40H 20H 1FH 1FH HURUF W
Bestly J.H Sianga : Pembuatan Running Text Untuk Display Jembatan Angkat Otomatis Berbasis Mikrokontroler AT89S51, 2010.
B 1 1 1 1 I 1 1 1 1 N 1 1 1 1 E 1 1 1 1 R 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 HEXA 7FH 7FH 20H 10H 20H 7FH 7FH HURUF X B 1 1 I 1 1 1 1 N 1 1 1 1 E 1 1 R 1 1 1 1 1 1 1 1 1 1 HEXA 6CH 36H 13H 13H 36H 6CH HURUF Y B 1 1 I 1 1 1 1 N 1 1 1 1 E 1 1 R 1 1 1 1 1 1 HEXA 0CH 06H 73H 73H 06H 0CH HURUF Z B 1 1 1 1 1 1 I 1 1 1 1 1 1 N 1 1 E 1 R 1 1 1 1 1 1 1 1 1 1 1 1 1 HEXA 4EH 6CH 7CH 6DH 6EH 7CH
Bestly J.H Sianga : Pembuatan Running Text Untuk Display Jembatan Angkat Otomatis Berbasis Mikrokontroler AT89S51, 2010.
4.4 Skematik Running Text
Bestly J.H Sianga : Pembuatan Running Text Untuk Display Jembatan Angkat Otomatis Berbasis Mikrokontroler AT89S51, 2010.
Gambar 4.2 Skematic running text
BAB 5
KESIMPULAN DAN SARAN
5.1. Kesimpulan
Mikrokontroler yang digunakan yaitu AT89S51, baik untuk kontrol jembatan
maupun kontrol running text.
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
Bestly J.H Sianga : Pembuatan Running Text Untuk Display Jembatan Angkat Otomatis Berbasis Mikrokontroler AT89S51, 2010.
Lampu LED merupakan display tampilan atau keluaran. 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.
5.2. Saran
1. Sangat diharapkan jika alat ini dibuat dan dimanfaatkan serta disosialisasikan
kegunaannya dikalangan mahasiswa maupun masyarakat. Untuk dimasa yang
akan akan datang agar alat ini dapat lebih ditingkatkan lagi.
2. Sagat diharapkan alat ini dapat diterapkan nantinya di persimoangan lampu
merah, palang kreta api, dll
Bestly J.H Sianga : Pembuatan Running Text Untuk Display Jembatan Angkat Otomatis Berbasis Mikrokontroler AT89S51, 2010.
DAFTAR PUSTAKA
Agfianto, Belajar Mikrokontroler AT89C51/52/55 Teori dan Aplikasi, Edisi Kedua,