3.12 Perangkat Lunak
Bahasa pemograman yang digunakan pada penelitian ini mernggunakan program Assembly. Program Assembly merupakan program tingkat rendah atau sederhana
yang paling banyak digunakan pada chip mikrokontroller.Perangkat lunak yang digunakan mencakup berbagai fungsi yaitu :
a Prosedur perangkat keras , seperti pengiriman logika pengendali sinyal dari
electrode ke LCD. b
Prosedur pengolah data, meliputi pembacaan data atau sinyal dari electrode dan mengirimkannya ke LCD.
Program yang diisikan kedalam mikrokontroller AT89S51 adalah sebagai berikut ; ;------------------------------
;Inisialisasi ;------------------------------
rs equ p2.5 rw equ p2.6
en equ p2.7 sinyal bit p1.7
start: mov 60h,83h
call data_penampil mov a,A
call kirim_data mov 60h,84h
call data_penampil mov a,L
call kirim_data mov 60h,85h
call data_penampil mov a,E
call kirim_data mov 60h,86h
Universitas Sumatera Utara
call data_penampil mov a,X
call kirim_data mov 60h,87h
call data_penampil mov a,A
call kirim_data mov 60h,88h
call data_penampil mov a,N
call kirim_data mov 60h,89h
call data_penampil mov a,D
call kirim_data mov 60h,8Ah
call data_penampil mov a,E
call kirim_data mov 60h,8Bh
call data_penampil mov a,R
call kirim_data
mov 60h,0C3h call data_penampil
mov a,M call kirim_data
mov 60h,0C4h call data_penampil
mov a,A call kirim_data
mov 60h,0C5h
Universitas Sumatera Utara
call data_penampil mov a,N
call kirim_data mov 60h,0C6h
call data_penampil mov a,I
call kirim_data mov 60h,0C7h
call data_penampil mov a,H
call kirim_data mov 60h,0C8h
call data_penampil mov a,U
call kirim_data mov 60h,0C9h
call data_penampil mov a,R
call kirim_data mov 60h,0CAh
call data_penampil mov a,U
call kirim_data mov 60h,0CBh
call data_penampil mov a,K
call kirim_data acall tunda
mov 60h,81h call data_penampil
mov a,D call kirim_data
Universitas Sumatera Utara
mov 60h,82h call data_penampil
mov a,E call kirim_data
mov 60h,83h call data_penampil
mov a,T call kirim_data
mov 60h,84h call data_penampil
mov a,A call kirim_data
mov 60h,85h call data_penampil
mov a,K call kirim_data
mov 60h,86h call data_penampil
mov a, call kirim_data
mov 60h,87h call data_penampil
mov a,J call kirim_data
mov 60h,88h call data_penampil
mov a,A call kirim_data
mov 60h,89h call data_penampil
mov a,N call kirim_data
mov 60h,8Ah
Universitas Sumatera Utara
call data_penampil mov a,T
call kirim_data mov 60h,8Bh
call data_penampil mov a,U
call kirim_data mov 60h,8Ch
call data_penampil mov a,N
call kirim_data mov 60h,8Dh
call data_penampil mov a,G
call kirim_data mov 60h,0C1h
call data_penampil mov a,=
call kirim_data
mov 60h,0C3h call data_penampil
mov a,0 call kirim_data
mov 60h,0C4h call data_penampil
mov a,0 call kirim_data
mov 60h,0C5h call data_penampil
mov a,0 call kirim_data
Universitas Sumatera Utara
mov 60h,0C6h call data_penampil
mov a, call kirim_data
mov 60h,0C7h call data_penampil
mov a,x call kirim_data
mov 60h,0C8h call data_penampil
mov a, call kirim_data
mov 60h,0C9h call data_penampil
mov a,m call kirim_data
mov 60h,0CAh call data_penampil
mov a,e call kirim_data
mov 60h,0CBh call data_penampil
mov a,n call kirim_data
mov 60h,0CCh call data_penampil
mov a,i call kirim_data
mov 60h,0CDh call data_penampil
mov a,t call kirim_data
Universitas Sumatera Utara
again: mov 60h,0C3h
call data_penampil mov a,0
call kirim_data mov 60h,0C4h
call data_penampil mov a,0
call kirim_data mov 60h,0C5h
call data_penampil mov a,0
call kirim_data
mov 77h,0 jb sinyal,
data: inc 77h
jnb sinyal,data acall hitung
mov 60h,0C3h call data_penampil
mov a,. call kirim_data
mov 60h,0C4h call data_penampil
mov a,. call kirim_data
mov 60h,0C5h call data_penampil
mov a,. call kirim_data
Universitas Sumatera Utara
mov 60h,0C3h call data_penampil
mov a,75h call kirim_data
mov 60h,0C4h call data_penampil
mov a,74h call kirim_data
mov 60h,0C5h call data_penampil
mov a,73h call kirim_data
data1: acall tunda
acall tunda acall tunda
acall tunda acall tunda
sjmp again
data_scan: mov p0,a
clr rs clr rw
setb en clr en
call delay ret
Universitas Sumatera Utara
data_penampil: mov a,0ch ;tulisan tampil atau tidak
call data_scan mov a,06h ;geser kanan kiri tetap
call data_scan mov a,60h ;posisi awal karakter
call data_scan ret
kirim_data: mov p0,a
setb rs clr rw
setb en clr en
call delay mov a,38h ;3 = nilai untuk pengiriman data 8bit,8=ukuran font
call data_scan ret
mov a,79h mov b,100
div ab mov 72h,a
mov a,b mov b,10
div ab mov 71h,a
mov 70h,b mov r0,70h
acall konversi mov 7ah,r1
mov r0,71h
Universitas Sumatera Utara
acall konversi mov 7bh,r1
mov r0,72h acall konversi
mov 7ch,r1 mov 60h,0C3h
call data_penampil mov a,7ch
call kirim_data mov 60h,0C4h
call data_penampil mov a,7bh
call kirim_data mov 60h,0C5h
call data_penampil mov a,7ah
call kirim_data ret
konversi: cjne r0,0,satu
mov r1,0 ret
satu: cjne r0,1,dua
mov r1,1 ret
dua: cjne r0,2,tiga
mov r1,2 ret
Universitas Sumatera Utara
tiga: cjne r0,3,empat
mov r1,3 ret
empat: cjne r0,4,lima
mov r1,4 ret
lima: cjne r0,5,enam
mov r1,5 ret
enam: cjne r0,6,tujuh
mov r1,6 ret
tujuh: cjne r0,7,delapan
mov r1,7 ret
delapan: cjne r0,8,sembilan
mov r1,8 ret
sembilan: cjne r0,9,konversi
mov r1,9 ret
Universitas Sumatera Utara
delay: mov r3,10
dly: mov r2,255
djnz r2, djnz r3,dly
ret
tunda: mov r7,15
tnd: mov r6,255
td: mov r5,255
djnz r5, djnz r6,td
djnz r7,tnd ret
Universitas Sumatera Utara
3.13 Flowchart