Perangkat Lunak Rancangan Akuisisi Data Frekuensi Detak Jantung Berbasis Mikrokontroler AT 89S51 Sebagai Pengukur Denyut Jantung Dengan Display LCD

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