Home|Tutorial | ElecProject | KuliahElektro | Download | Link | Rupa2 | Ide| Skema Elektronik

 
         
     
 

 

KENDALI SAKLAR JARAK JAUH MELALUI
SALURAN TELEPON (Public Switch Telephone Network)

oleh : Arif Johar Taufiq

 

 

Ini adalah proyek tugas akhir Arif JT pada tahun 1997-1998 yaitu kendali jarak jauh melalui saluran telepon (PSTN) dengan fitur: Password, menghidupkana dan mematikan beban (obyek), Cek beban dalam keaddaan ON/OFF,Auto disconect dan obyek dapt diperbanyak sampai 24 obyek. Proyek ini dikerjakan dengan microcontroler pada jaman itu yaitu dibangun dengan microcontroLler INTEL 8031+EPROM 2764+PPI 8255. Dosen pembimbing waktu itu adalah Ir. Ismadi Isran (Alm) dan Ir. Dwi Joko Purbohadi, MT.

 

Pada waktu itu penulisan program harus di download ke IC EPROM 2764, alamak repotnya kalau program kita masih salah, harus nungguin dulu ROM 2762 disinari  sinar ultraviolet untuk menghapus isi program. Bandingkan dengan jaman sekarang sudah tersedia uC+FLASHROM seperti AT89C51, dsb tinggal download lagi aja. Apa lagi yang tipe S semisal AT89S51 lebih mudah lagi bisa on line downloading in project.

 

;----------------------------------
; PROGRAM KSJJ
; PROGRAMMER ARIF JOHAR TAUFIQ
;---------------------------------

PORT_A    EQU 6000H ; PERHATIAN PENULISAN EQU DSB HARUS RAPAT
PORT_B    EQU 6001H ; KE KIRI JIKA PAKAI X8051.EXE !
REG_PPI   EQU 6003H ; Kalau pakai ASEM sih tidak masalah !
PASS_1    EQU 09H
PASS_2    EQU 02H
PASS_3    EQU 05H
PASS_4    EQU 06H
PASS_5    EQU 07H
CTL_PDM   EQU 0AH ;1010b (0)
CTL_NYL   EQU 0BH ;1011B (*)
CTL_KON   EQU 0CH ;1100B (#)
TUP_DTMF  EQU 09H ;1001B (9)

ORG 00H
LJMP AWAL

;---------------
; INISIALISASI
;---------------

      ORG 100H
AWAL: CLR P3.0
      CLR P3.1
      CLR P3.2
      CLR P1.6
      CLR P1.7
      CLR P3.4
      CLR P3.5
      MOV DPTR,#REG_PPI
      MOV A,#99H
      MOVX @DPTR,A

;---------------
; DETEKTOR BEL
;---------------

DET_RING: MOV A,P3
          ANL A,#00001000b
          CJNE A,#0h,DET_RING
          SETB P3.4

;-----------------
; BACA PASSWORD
;-----------------

          MOV R0,#03h
LAGI:     ACALL TUNDA
          ACALL TUNDA
          ACALL TUNDA
          SETB P3.0
          ACALL TUNDA
          ACALL TUNDA
          CLR P3.0
          ACALL TUNDA
          ACALL TUNDA
          CLR A
BC_PASS1: MOV A,P1
          ANL A,#0Fh
          CJNE A,#PASS_1,WRG_PASS
HOLD:     MOV A,P1
          ANL A,#0Fh
          CJNE A,#09h,BC_PASS2
          SJMP HOLD
BC_PASS2: CJNE A,#PASS_2,WRG_PASS
HOLD1:    MOV A,P1
          ANL A,#0Fh
          CJNE A,#02h,BC_PASS3
          SJMP HOLD1
BC_PASS3: CJNE A,#PASS_3,WRG_PASS
          HOLD2: MOV A,P1
          ANL A,#0Fh
          CJNE A,#05h,BC_PASS4
          SJMP HOLD2
          BC_PASS4: CJNE A,#PASS_4,WRG_PASS
HOLD3:    MOV A,P1
          ANL A,#0Fh
          CJNE A,#06h,BC_PASS5
          SJMP HOLD3
BC_PASS5: CJNE A,#PASS_5,WRG_PASS
          ACALL ND_PWD_OK
          LJMP BC_K
WRG_PASS: ACALL ND_PWD_WRG
          DJNZ R0,LAGI
          CLR P3.4
          SETB P3.5
          NOP
          NOP
          NOP
          CLR P3.5
          AJMP DET_RING

;------------------
; KENDALI PADAM
;------------------

BC_K:     CLR A
          MOV A,P1
          ANL A,#00001111b
          CJNE A,#CTL_PDM,BC_K1
HOLD_KP:  MOV A,P1
          ANL A,#00001111b
          CJNE A,#CTL_PDM,BC_KP_L1
          SJMP HOLD_KP
BC_KP_L1: CJNE A,#01h,BC_KP_L2
          MOV DPTR,#PORT_A
          MOVX A,@DPTR
          ANL A,#11111110b
          MOV DPTR,#PORT_B
          MOVX @DPTR,A
          AJMP BC_K
BC_KP_L2: CJNE A,#02H,BC_KP_L3
          MOV DPTR,#PORT_A
          MOVX A,@DPTR
          ANL A,#11111101B
          MOV DPTR,#PORT_B
          MOVX @DPTR,A
          AJMP BC_K
BC_KP_L3: CJNE A,#03h,BC_KP_L4
          MOV DPTR,#PORT_A
          MOVX A,@DPTR
          ANL A,#11111011b
          MOV DPTR,#PORT_B
          MOVX @DPTR,A
          AJMP BC_K
BC_KP_L4: CJNE A,#04H,BC_KP_TP
          MOV DPTR,#PORT_A
          MOVX A,@DPTR
          ANL A,#11110111B
          MOV DPTR,#PORT_B
          MOVX @DPTR,A
          AJMP BC_K
BC_KP_TP: CJNE A,#TUP_DTMF,BC_K
          CLR P3.4
          SETB P3.5
          NOP
          NOP
          NOP
          SETB P3.5
          AJMP DET_RING

;--------------------
; INFO BEBAN
;--------------------

NXT_BC_K2: AJMP BC_K2
BC_K1:     CJNE A,#CTL_KON,NXT_BC_K2
HOLD_KK:   MOV A,P1
           ANL A,#00001111b
           CJNE A,#CTL_KON,BC_KK_L1
           SJMP HOLD_KK
BC_KK_L1:  CJNE A,#01H,BC_KK_L2
           MOV DPTR,#PORT_A
           MOVX A,@DPTR
           ANL A,#00000001b
           CJNE A,#00000001B,IS_PDM1
           ACALL ND_NYALA
           AJMP BC_K
IS_PDM1:   ACALL ND_PADAM
           AJMP BC_K
BC_KK_L2:  CJNE A,#02h,BC_KK_L3
           MOV DPTR,#PORT_A
           MOVX A,@DPTR
           ANL A,#00000010b
           CJNE A,#00000010B,IS_PDM2
           ACALL ND_NYALA
           AJMP BC_K
IS_PDM2:   ACALL ND_PADAM
           AJMP BC_K
BC_KK_L3:  CJNE A,#03h,BC_KK_L4
           MOV DPTR,#PORT_A
           MOVX A,@DPTR
           ANL A,#00000100b
           CJNE A,#00000100B,IS_PDM3
           ACALL ND_NYALA
           AJMP BC_K
IS_PDM3:   ACALL ND_PADAM
           AJMP BC_K
BC_KK_L4:  CJNE A,#04h,TOKK_BC_K
           MOV DPTR,#PORT_A
           MOVX A,@DPTR
           ANL A,#00001000b
           CJNE A,#00001000B,IS_PDM4
           ACALL ND_NYALA
           AJMP BC_K
IS_PDM4:   ACALL ND_PADAM
TOKK_BC_K: AJMP BC_K

;-------------------
; KENDALI NYALA
;-------------------

NXT_BC_K3: AJMP BC_K
BC_K2:     CJNE A,#CTL_NYL,NXT_BC_K3
HOLD_KN:   MOV A,P1
           ANL A,#00001111b
           CJNE A,CTL_NYL,BC_KN_L1
           SJMP HOLD_KN
BC_KN_L1:  CJNE A,#01H,BC_KN_L2
           MOV DPTR,#PORT_A
           MOVX A,@DPTR
           ORL A,#00000001B
           MOV DPTR,#PORT_B
           MOVX @DPTR,A
           AJMP BC_K
BC_KN_L2:  CJNE A,#02H,BC_KN_L3
           MOV DPTR,#PORT_A
           MOVX A,@DPTR
           ORL A,#00000010B
           MOV DPTR,#PORT_B
           MOVX @DPTR,A
           AJMP BC_K
BC_KN_L3:  CJNE A,#03H,BC_KN_L4
           MOV DPTR,#PORT_A
           MOVX A,@DPTR
           ORL A,#00000100B
           MOV DPTR,#PORT_B
           MOVX @DPTR,A
           AJMP BC_K
BC_KN_L4:  CJNE A,#04H,TOKN_BC_K
           MOV DPTR,#PORT_A
           MOVX A,@DPTR
           ORL A,#00001000B
           MOV DPTR,#PORT_B
           MOVX @DPTR,A
TOKN_BC_K: AJMP BC_K

;------------------
; KUMPULAN PROSEDUR
;------------------

ND_NYALA: SETB P1.7
          ACALL TUNDA
          CLR P1.7
          RET

ND_PADAM: SETB P1.6
          ACALL TUNDA
          CLR P1.6
          RET

ND_PWD_OK:  SETB P3.1
            ACALL TUNDA
            CLR P3.1
            RET

ND_PWD_WRG: MOV R1,#05H
            SETB P3.2
T_PWD_WRG:  ACALL TUNDA
            DJNZ R1,T_PWD_WRG
            CLR P3.2
            RET

TUNDA:  MOV R7,#00H
ULANG2: MOV R6,#00H
ULANG1: MOV R5,#00H
ULANG:  INC R5
        CJNE R5,#30H,ULANG
        INC R6
        CJNE R6,#30H,ULANG1
        INC R7
        CJNE R7,#30H,ULANG2
        RET
        END

 

 

 

 

 

 

         
 
 

 Copyright (C) anekawarna.890m.com 2007
For problems or questions regarding this web contact [admin]
Last updated: Friday October 23, 2009 16:25:29.