;%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
;%%%%%%%%%%%DTMF 8870 use 89S52%%%%%%%%%%%%%
;%%%%%created by wan_solutech@yahoo.com%%%%%%%%%%%%
;%%%%%%%%%%%%Paris Van Java, Indonesia%%%%%%%%%%%%
;Bismillah
;-----------------------------------------------------------------------------------------------------------
;key 1 on relayA key 2 on relayB key 3 on relayC key 4 on relayD
;key 5 off relayA key 6 off relayB key 7 off relayC key 8 off relayD
;----------------------------------------------------------------------------------------------------------
DTMF equ p3
relayA bit p2.0
relayB bit p2.1
relayC bit p2.2
relayD bit p2.3
std bit p2.4
org 0h
init:
mov p2,0ffh ; relay all off
start:
setb std
jnb std,start
mov DTMF,#0fh
mov a,DTMF
acall cek_dtmf
sjmp start
;----------------------------------------
cek_dtmf:
dig1:
cjne a,#01H,dig2 ;relayA on
setb relayA
ret
dig2:
cjne a,#02h,dig3 ;relayB on
setb relayB
ret
dig3:
cjne a,#03h,dig4 ;relayC on
setb relayC
ret
dig4:
cjne a,#04h,dig5 ;relayD on
setb relayD
ret
dig5:
cjne a,#05,dig6 ;relayA off
clr relayA
ret
dig6:
cjne a,#06h,dig7 ;relayB off
clr relayB
ret
dig7:
cjne a,#07h,dig8 ;relayC off
clr relayC
ret
dig8:
cjne a,#08h,balik ;relayD off
clr relayD
ret
balik: ret
;----------------Shodakallohilaziim-----------
END