miércoles, 8 de junio de 2011

Activando salida digital con una llamada - RING.

Este ejemplo muestra como activar salida digital PORTD.0  con una llamada.
Se utiliza el PIC16F877A y el MODEM ENFORA GSM1218, el modem de configurarse  para que trabaje con un microcontrolador para lo cual se utiliza los siguientes comandos:
AT+IFC=0,0
AT+CNMI=1,2,0,0
AT+IPR=4800
ATE0
y para guardar la configuración se utiliza el comando AT&W.
Para poder configurar el Modem se utilza el software de comunicaciones Hyperterminal, la velocidad por defecto o de fabrica del modem es 105200 b/s. Una  vez ingresado el comando AT+IPR=4800 se debe reconfigurar el Hyperterminal para que trabaje ha 4800 b/s y poder guardar la configuracion con comando AT&W.
En el  Código que se muestra el PIC esta a la espera de recibir una llamada (RING). Si recibe 02 RING LED en el puerto D.0 se pone en ON y  al 4 RING se pone en OFF.
Mas aplicaciones haz clic aquí
'******************************************************************
'*  Name    : GSM_CIDRING.BAS                               
'*  Author  : ING. FRANKLIN BARRA ZAPATA ,ING. OMAR BARRA ZAPATA                               
'*  Notice  : Copyright (c) 2011                                      
'*              : All Rights Reserved                                                          
'*  Date    : 12/05/2011                                                   
'*          : Activa y desactiva saldias digitales cuando                      
'*          : Recibe llamada (RING) activa portd.0 CON RING       
'*          : DESACTIVA CON 4 RING                                     
'******************************************************************
'Definiendo los pines para el LCD de 16x2
DEFINE  LCD_DREG PORTD
DEFINE  LCD_BITS 4
DEFINE  LCD_DBIT 4
DEFINE  LCD_RSREG PORTE
DEFINE  LCD_RSBIT 1
DEFINE  LCD_EREG PORTE
DEFINE  LCD_EBIT 2
ADCON1 = %1001
R VAR BYTE
'****************************************************************
' Variables para MODEM
D0 var byte
D1 var byte
D2 VAR BYTE
'****************************************************************
 ' Mensaje Inicial en el LCD   
 LCDOut $fe, 1
 LCDOut "Sist. GSM - RING"
 LCDOut $fe,$C0,"   CIDT SCRL"
 PAUSE 1000     
 R=0
'*****************************************************************
'Programa Principal
Inicio:    
    'Esperando recibir comando O RING
    ' SI NO RECIBE NADA EN 100 ms y SALTA HACIA LA ETIQUETA Inicio
    SerIn2 portb.7,188,100,iNICIO,[wait("R"),D0,D1,D2] 'ESPERA RING
   ' Si recibo llamada
    LCDOut $fe, 1
    LCDOut " TIMBRANDO !!!"
    LCDOut $fe,$C0,"R",D0,D1,D2 , "=", dec r     'VISUALIZA RING
    PAUSE 500
'*****************************************************************   
      'Comando RING  (cuando recibe una llamada o ring)      
     if d0= "I" then
           
        IF R=2 THEN
            HIGH PORTD.0
        ENDIF

        IF R=4 THEN
            LOW PORTD.0
            R=0
        ENDIF        
        R=R+1
     endif    

GoTo Inicio
'******************************************************************





Mas aplicaciones haz clic aquí

No hay comentarios: