Ihut Parulian Togatorop : Aplikasi Mikrokontroler AT89S51 Dalam Pengukuran Dan Pengiriman Data Temperatur Menggunakan Sinar Infra Merah, 2009.
USU Repository © 2009
3.2 PROGRAM
3.2.1 Pemrograman Rangkaian Pemancar
Program diawali dengan inisialisai data untuk masing-masing angka, bil0 equ 20h
Menampilkan angka 0 pada Seven segmen bil1 equ 0ech
Menampilkan angka 1 pada Seven segmen bil2 equ 18h
Menampilkan angka 2 pada Seven segmen bil3 equ 88h
Menampilkan angka 3 pada Seven segmen bil4 equ 0c4h
Menampilkan angka 4 pada Seven segmen bil5 equ 82h
Menampilkan angka 5 pada Seven segmen bil6 equ 02h
Menampilkan angka 6 pada Seven segmen bil7 equ 0e8h
Menampilkan angka 7 pada Seven segmen bil8 equ 0h
Menampilkan angka 8 pada Seven segmen bil9 equ 80h
Menampilkan angka 9 pada Seven segmen
Clr P0.7 clr p0.0
acall tadc Memicu ADC agar dapat berjalan dengan baik
setb p0.0 utama:
jb p0.0, Menunggu sinyal dari ADC
acall tunda mov a,p2
Memasukkan nilai dari ADC ke acumulator mov 62h,a
Memasukkan nilai akumulator ke alamat 62h mov b,100
Memasukkan nilai 100 ke register b div ab
Bagikan nilai a dengan b, hasilnya masukkan ke a mov 72h,a
Masukkan nilai ya ada di akumulator ke alamat 72h mov a,b
masukkan nilai yang ada di b ke akumulator mov b,10
div ab mov 71h,a
mov 70h,b
Ihut Parulian Togatorop : Aplikasi Mikrokontroler AT89S51 Dalam Pengukuran Dan Pengiriman Data Temperatur Menggunakan Sinar Infra Merah, 2009.
USU Repository © 2009
mov r0,70h acall konversi kerjakan rutin konversi
mov 73h,r1 ;73h nilai satuan des mov r0,71h
acall konversi mov 74h,r1 ;74h nilai puluhan des
mov r0,72h acall konversi
mov 75h,r1 ;75h nilai ratusan des mov r0,63h
acall konversi mov 64h,r1 ;63h nilai koma
acall kirim_disp acall tunda
acall kirimdata mov a,62h
cjne a,30,cekcarry clr P0.7
sjmp utama cekcarry:
mov a,psw anl a,80h
cjne a,0,ceklow clr P0.7
sjmp utama
ceklow: mov a,62h
cjne a,29,utama setb P0.7
sjmp utama
Ihut Parulian Togatorop : Aplikasi Mikrokontroler AT89S51 Dalam Pengukuran Dan Pengiriman Data Temperatur Menggunakan Sinar Infra Merah, 2009.
USU Repository © 2009
Kirimdata: inc 70h
inc 71h inc 72h
ulang: acall frek38khz
acall frek38khz mov r0,11
acall data acall frek38khz
acall frek38khz mov r0,70h
acall data acall frek38khz
acall frek38khz mov r0,71h
acall data acall frek38khz
acall frek38khz mov r0,72h
acall data acall frek38khz
acall frek38khz ret
konversi: cjne r0,0,satu
mov r1,bil0 ret
satu: cjne r0,1,dua
mov r1,bil1 ret
Ihut Parulian Togatorop : Aplikasi Mikrokontroler AT89S51 Dalam Pengukuran Dan Pengiriman Data Temperatur Menggunakan Sinar Infra Merah, 2009.
USU Repository © 2009
dua: cjne r0,2,tiga
mov r1,bil2 ret
tiga: cjne r0,3,empat
mov r1,bil3 ret
empat: cjne r0,4,lima
mov r1,bil4 ret
lima: cjne r0,5,enam
mov r1,bil5 ret
enam: cjne r0,6,tujuh
mov r1,bil6 ret
tujuh: cjne r0,7,delapan
mov r1,bil7 ret
delapan: cjne r0,8,sembilan
mov r1,bil8 ret
sembilan: cjne r0,9,konversi
mov r1,bil9 ret
Ihut Parulian Togatorop : Aplikasi Mikrokontroler AT89S51 Dalam Pengukuran Dan Pengiriman Data Temperatur Menggunakan Sinar Infra Merah, 2009.
USU Repository © 2009
kirim_disp: mov sbuf,73h
jnb ti, clr ti
mov sbuf,74h jnb ti,
clr ti mov sbuf,75h
jnb ti, clr ti
ret
frek38khz: mov r0,10
loop: clr p3.7
nop nop
nop nop
nop nop
nop nop
nop nop
nop nop
setb p3.7 nop
nop nop
nop
Ihut Parulian Togatorop : Aplikasi Mikrokontroler AT89S51 Dalam Pengukuran Dan Pengiriman Data Temperatur Menggunakan Sinar Infra Merah, 2009.
USU Repository © 2009
nop nop
nop nop
nop nop
djnz r0,loop ret
data: loop1:
acall pulsa djnz r0,loop1
ret
pulsa: CLR p3.7
mov r7,2 pls:
mov r6,255 djnz r6,
djnz r7,pls mov r7,50
djnz r7, ret
tunda: mov r7,80h
tnd: mov r6,80h djnz r6,
djnz r7,tnd ret
Ihut Parulian Togatorop : Aplikasi Mikrokontroler AT89S51 Dalam Pengukuran Dan Pengiriman Data Temperatur Menggunakan Sinar Infra Merah, 2009.
USU Repository © 2009
3.2.2 Pemrograman Rangkaian Penerima