miércoles, 8 de junio de 2011

ACTIVANDO SALIDA DIGITAL CON UN RING - ATMEGA32 CON BASCOM AVR


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: