Program Pengendali Jarak Jauh (Remote Control)Berbasis Mikrokontroler AT89S51 Dengan Dioda Led Sebagai Pemancar Gelombang Inframerah

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