APLICACIÓN USANDO MODEM ENFORA GSM1218 Y EL Uc. ATMEGA32
ON/OFF salida PORTC.7 con un numero de RING: 2 ON 4 OFF
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 GSMATMEGARING1.BAS
' CUANDO RECIBE LLAMADA O 2 RING ON PORTC.7
' 4 RING OFF PORTC.7. EL MODEM ENFORA GSM1218 TIENE QUE
' ESTAR CONFIGURADO: EL CONTROL DE FLUJO CON 0,0 USAR
'COMANDO AT+IFC=0,0, LA VELOCIDAD A 4800
' USAR COMANDO AT+IPR=4800,EL SMS RECIBIDO EN EL MODEM
' PASA DEFRENTE' 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
'*******************************************************
'Cofiguración del LCD
Config Lcdpin = Pin , Db4 = Portb.1 , Db5 = Portb.2 , Db6 = Portb.3 , Db7 = Portb.4 , E = Portb.5 , Rs = Portb.6
Config Lcd = 16 * 2
'******************************************************
$crystal = 16000000 ' Frecuencia de Cristal
$baud = 4800 ' Velocidad de comunicación
$hwstack = 32 ' 32 para hardware stack
$swstack = 10 ' 10 para SW stack
$framesize = 40
'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
'******************************************************
Config Portc.7 = Output ' PUERTO C.7 COMO SALIDA
Foco Alias Portc.7
Foco = 1
R = 0
'******************************************************
'Mensaje inicial en el LCD
Cls
Lcd "SISTEMA GSM RING"
Lowerline
Lcd " ** CIDT SCRL **"
Wait 1
'*******************************************************
Inicio:
'ESPERA RECIBIR RING
Input Comando Noecho 'LEE RING
Input Comando Noecho 'LEE RING
S = Mid(comando , 2 , 1) 'VERIFICA SI RECIBE LA R
If S = "R" Then Gosub Ring 'SI RECIBE R SALTA HA RUTINA RING
Cls
Goto Inicio
'*******************************************************
Ring:
R = R + 1 'CUENTA LOS RING
Cls
'MOSTRAR LA CANT. DE RING
Lcd Mid(comando , 2 , 4) ; "(" ; R ; ")"
Waitms 1000
If R = 2 Then 'SI RING SON 2 ON FOCO
Foco = 0
End If
If R = 4 Then ' SI RING SON 4 OFF LED
Foco = 1
R = 0
End If
Return
'******************************************************
No hay comentarios:
Publicar un comentario