Telefonla Uzaktan Kontrol

Başlatan ercanatnr, 02 Ağustos 2015, 14:25:21

ercanatnr

Merhaba arkadaşlar,
Bir forumda telefon ile uzaktan kontrol devresi buldum. Tam ihtiyaç duyduğum devreydi ancak bazı yerlerini değiştirmem gerekiyordu. Mesela bu devredeki pic programında

#1 1.Röle Çeker
*1 1. Röle Bırakır

şeklinde devam ediyor. Benim yapmak istediğim #1 ile 1. röle çeksin 2-3 sn sonra bıraksın #2 ile 2. röle çeksin 2-3 sn sonra bıraksın şeklinde bir program istiyorum ancak bu programlama dilini bilmediğim için ilerleyemedim sizlerden yardım istiyorum. Kodlar aşağıda

@ DEVICE pic16F628A                                                   
@ DEVICE pic16F628A, WDT_OFF              
@ DEVICE pic16F628A, PWRT_ON 
@ DEVICE pic16F628A, INTRC_OSC_NOCLKOUT              
@ DEVICE pic16F628A, PROTECT_ON         
  
  TRISB=%11111111
  TRISA=%11110000
  PORTA=0
  PORTB=0            
  CMCON=7                                   '
  OPTION_REG.7=0
  STD var  PORTB.0    '1 STD  8870)TONE enable
  E1  var  PORTB.4    'Q1 du 8870
  E2  var  PORTB.3    'Q2 du 8870
  E3  var  PORTB.2    'Q3 du 8870
  E4  var  PORTB.1   'Q4 du 8870
 
  SIFRE_1 var  PORTA.0    ' 
  SIFRE_2 var  PORTA.1
  SIFRE_3 var  PORTA.2
  SIFRE_4 var  PORTA.3
  
  b1 VAR BYTE
  b2 VAR BYTE
  b3 VAR BYTE
  TEMP VAR BYTE
  b1=0
  b2=0
  b3=0
      
  c1  var BYTE   '1° code DTMF
  c2  var BYTE   '2° code DTMF
  c3  var BYTE   '3° code DTMF
  c4  var BYTE   '4° code DTMF
  Q1  var BIT
  Q2  var BIT
  Q3  var BIT
  Q4  var BIT
  
  READ 10,temp
  IF TEMP=10 THEN SIFRE_1=1
   IF TEMP=10 THEN SIFRE_2=1
    IF TEMP=10 THEN SIFRE_3=1
     IF TEMP=10 THEN SIFRE_4=1
 
BASLA:
DTMF1:    
            BUTTON STD,1,255,0,b1,1,DECODER1	
            PAUSE 20
    		BUTTON STD,0,255,0,b2,1,RAZ          
           	GOTO DTMF1
DECODER1:	
            Q1=E1		
    		Q2=E2
    		Q3=E3
    		Q4=E4
     		c1 =  Q1 + 2*Q2 + 4*Q3 +  8*Q4 	
            GOTO DTMF2
           
DTMF2: 	
            b3=0
            WHILE b3<75	
    		BUTTON STD,1,255,0,b1,1,DECODER2	
       	    PAUSE 20
        	b3=b3+1
            WEND
            GOTO DTMF1
DECODER2:	
            Q1=E1		
    		Q2=E2
    		Q3=E3
    		Q4=E4
     		c2 =  Q1 + 2*Q2 + 4*Q3 +  8*Q4 	
            GOTO SIFRE
              
RAZ:  
	  
        	Q1=0
        	Q2=0
		    Q3=0
		    Q4=0
       	    GOTO DTMF1
            END
SIFRE:	
           PAUSE 10	
  	       IF c1=12 AND c2=1 THEN   
           SIFRE_1=1
           WRITE 10,10:pause 10    
           ENDIF
           IF c1=11 AND c2=1 THEN   
           SIFRE_1=0
           WRITE 10,255:pause 10
           ENDIF		   
	       IF c1=12 AND c2=2 THEN   
           SIFRE_2=1
           WRITE 10,10:pause 10    
           ENDIF
           IF c1=11 AND c2=2 THEN   
           SIFRE_2=0
           WRITE 10,255:pause 10
           ENDIF		   
           IF c1=12 AND c2=3 THEN   
           SIFRE_4=1
           WRITE 10,10:pause 10    
           ENDIF
           IF c1=11 AND c2=3 THEN   
           SIFRE_4=0
           WRITE 10,255:pause 10
           ENDIF		   
           IF c1=12 AND c2=4 THEN   
           SIFRE_3=1
           WRITE 10,10:pause 10    
           ENDIF
           IF c1=11 AND c2=4 THEN   
           SIFRE_3=0
           WRITE 10,255:pause 10
           ENDIF
           IF c1=1 AND c2=1 THEN   
           SIFRE_1=1
           SIFRE_2=1
           SIFRE_3=1
           SIFRE_4=1
           WRITE 10,10:pause 10    
           ENDIF
           IF c1=3 AND c2=3 THEN   
           SIFRE_1=0
           SIFRE_2=0
           SIFRE_3=0
           SIFRE_4=0
           WRITE 10,255:pause 10
           ENDIF		   		     
		  c1=0	
          c2=0
          c3=0
   	      c4=0
          GOTO DTMF1