domingo, 5 de junio de 2011

ACTIVANDO SALIDA DIGITAL CON UN RING - AT89C52 CON BASCOM 8051

APLICACIÓN USANDO MODEM ENFORA GSM1218 Y EL Uc. AT89C52
ON/OFF salida P3.7 con un numero de RING:  2 ON 4 OFF
NOTA IMPORTANTE: EL CRYSTAL DEBE SER DE 11.0592MHZ. PARA LA  COMUNICACION SERIAL SE UTILIZA EL C.I. MAX232 O EL 74HC14. EL MODEM SE CONFIGURA A LA MISMA VELOCIDAD DEL MICROCONTROLADOR ADEMAS SE DEBE ACTIVAR  LO SIGUIENTE EN EL MODEM: AT+IFC=0,0.



'*****************************************************************
'PROGRAMA GSM8952RING.BAS.
'PRIMERO CONFIGURAR  EL SOFTWARE DEL COMPILADOR A LA
'MISMA VELOCIDAD DEL MODEM
'UTILIZAR EL CRISTAL DE 11.0592MHZ
'CUANDO RECIBE LLAMADA O 2 RING ON P3.7  4 RING OFF P3.7
'EL MODEM ENFORA GSM1218 TIENE QUE ESTAR CONFIGURADO: 
'EL CONTROL DE FLUJO CON 0,0 USAR COMANDO AT+IFC=0,0, 
'LA VELOCIDAD DE COMUNICACION A 4800
'USAR COMANDO AT+IPR=4800,EL SMS RECIBIDO EN EL MODEM 
'PASA DE FRENTE  AL PUERTO SERIAL  PARA LO CUAL SE UTILIZA
'EL COMANDO AT :' AT+CNMI=1,2,0,0,0, NO ECO CON COMANDO 
'ATE0 LUEGO GRABAR CON COMANDO AT&W
'USAR EL HYPERTERMINAL  CON VELOCIDAD DE 4800,8 BITS 
'DE DATOS, NO PARIDAD,1 BIT DE STOP,
'******************************************************************
' CONFIGURANDO LCD
Config Lcdpin = Pin , Db4 = P2.3 , Db5 = P2.2 , Db6 = P2.1 , Db7 = P2.0 , E = P2.4 , Rs = P2.5
Config Lcd = 16 * 2
'*****************************************************************
'Declaración de variables
Dim Comando As String * 5                             ' VARIABLE PARA RECIBIR RING
Dim S As String * 2                                           ' USADA PARA OBTENER "R"
Dim R As Byte                                                   ' CONTADOR DE RING
'*****************************************************************
P3.7 = 1
'*****************************************************************
'Mensaje inicial en el LCD
Cls
Lcd "SISTEMA GSM RING"
Lowerline
Lcd " ** CIDT SCRL **"
Wait 2
'****************************************************************
Inicio:
'ESPERA POR LOS RING
   Input Comando Noecho Timeout = 1000                        'LEE PRIMERA LINEA
   Input Comando Noecho Timeout = 1000                        'LEE SEGUNDA LINEA
   Cls
   Lcd Comando
   Wait 1
   S = Mid(comando , 2 , 1)                                                     'Detecta la "R"
   If S = "R" Then Gosub Ring
   Cls
   Goto Inicio
'***************************************************************
' CONTAR RING  2 ON Y 4 OFF
Ring:
      R = R + 1
      If R = 2 Then
         P3.7 = 0
      End If

      If R = 4 Then
         P3.7 = 1
         R = 0
      End If
      Return
'**************************************************************




No hay comentarios: