3.5 Program
Adapun program yang diisikan ke mikrokontroler AT89S51 pada Dioda LED Infra merah sebagai pemancar gelombang pulsa infra merah adalah sebagai berikut :
Mov p0,0h ; isikan ke port 0, nilai 0h
mov p1,0h ; isikan ke port 1, nilai 0h tbl_Satu:
acall kirimdata ; panggil routin kirim data mov p2,0ffh
; isikan ke port 2, nilai 0ffh mov a,p2 ; isikan nilai yang ada pada port
2 ke alamat a cjne a,0feh,tbl_Dua ; bandingkan nilai pada alamat a
dengan nilai 0feh Recek_tbl_Satu:
mov a,p2 ; isikan nilai yang ada pada port 2 ke alamat a
cjne a,0feh,Recek_tbl_Satu ; bandingkan nilai pada alamat a dengan nilai 0feh jika benar
recek tombol satu jmp Tbl_Satu
; kembali ke routin Tombol satu tbl_Dua:
mov p2,0ffh ; isikan 0ff ke port 2
mov a,p2 ; isikan nilai yang ada pada port 2 ke alamat a
cjne a,0fdh,tbl_satu ; Bandigkan nilai pada alamat a dengan nilai 0fdh, jika tidak
kembali ke tombol satu Recek_tbl_Dua:
mov a,p2 ; isikan nilai yang ada pada p2 ke alamat a
cjne a,0fdh,Recek_tbl_Dua ; bandingkan nilai pada alamat a dengan 0fdh , jika benar recek
tombol dua jmp Tbl_Satu
; kembali ke routin tombol mov r0,10
; isikan 10 ke register 0 Kirimdata:
acall frek38khz ; panggil routine frekuensi 38KHz acall frek38khz ; panggil routine frekuensi 38KHz
acall data ; panggil data acall frek38khz ; panggil routine frekuensi 38KHz
acall frek38khz ; panggil routine frekuensi 38KHz ret
frek38khz: mov r0,10 ; isikan 10 ke register 0
loop: clr p3.7
; kosongkan p3.7 nop
; not operation nop
; not operation
Universitas Sumatera Utara
nop ; not operation
nop ; not operation
nop ; not operation
nop ; not operation
nop ; not operation nop
; not operation nop
; not operation nop
; not operation nop
; not operation nop
; not operation setb p3.7
; isikan p3.7 nop
; not operation nop
; not operation nop
; not operation nop
; not operation nop
; not operation nop
; not operation nop
; not operation nop
; not operation nop
; not operation nop
; not operation djnz r0,loop ; kurangkan nilai pada register
0 sampai habis jika belum habis terus kurangi hingga 0
ret ; kembali ke frekuensi 38Khz
data: loop1:
acall pulsa ; panggil routin pulsa
djnz r0,loop1 ; kurangkan nilai pada register 0, jika belum 0 kembali ke
loop1 ret
; kembali ke loop1 pulsa:
clr p3.7 ; kosongkan p3.7
mov r7,2 ; isikan nilai 2 ke register 7
pls: mov r6,255h
; isikan nilai 255 ke register 6 djnz r6, ; kurangi nilai pada register 6
sampai habis, djnz r7,pls ; kurangi nilai pada register 7
jika belum 0 kembali ke pls mov r7,50h
; isikan nilai 50h ke register 7 djnz r7, ; kurangi nilai diregister 7
sampai habis ret
; kembali ke pls end
Universitas Sumatera Utara
Universitas Sumatera Utara
BAB 4
PENGUJIAN DAN ANALISA RANGKAIAN
4.1 Rangkaian Power Supplay PSA