Perancangan Flowchart Program Sub program untuk aba-aba menunggu.

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