51383832 Tesis Diseno Digital II

55
 UNIVERSIDAD MAYOR DE SAN SIMON FACULTAL DE CIENCIAS Y TECNOLOGIA INGENIERIA ELECTRONICA Sistema de Seguridad Domiciliaria Mediante SMS Utilizando el Microcontrolador (PIC-16F877A) Por FLORES LIMACHI GUIDO ADRIAN PAREDES MILÁN RIBER Trabajo presentado para la materia de Diseño Digital II de la carrera de Ingeniería Electrónica de la Universidad Mayor de San Simón Cochabamba - 2011

Transcript of 51383832 Tesis Diseno Digital II

  • UNIVERSIDAD MAYOR DE SAN SIMON FACULTAL DE CIENCIAS Y TECNOLOGIA INGENIERIA ELECTRONICA

    Sistema de Seguridad Domiciliaria Mediante SMS

    Utilizando el Microcontrolador (PIC-16F877A)

    Por

    FLORES LIMACHI GUIDO ADRIAN

    PAREDES MILN RIBER

    Trabajo presentado para la materia de Diseo Digital II de la carrera de Ingeniera Electrnica de la

    Universidad Mayor de San Simn

    Cochabamba - 2011

  • Facultad de Ciencias y Tecnologa. Ingeniera Electrnica.

    Dedicado:

    A todas las personas que sembraron esta inquietud, a los compaeros de carrera y de la Universidad Mayor de San Simn por su apoyo, a toda la gente que estuvo desde el comienzo. Algunos siguen hasta hoy.

    Gracias

  • Facultad de Ciencias y Tecnologa. Ingeniera Electrnica.

    INDICE

    1. Anlisis del Proyecto 1

    1.1. Descripcin General del Problema. 1

    1.2. Objetivo General 1

    1.3. Objetivos Especficos 1

    1.4. Justificacin 2

    2. Microcontroladores 3

    2.1. Qu es un Microcontrolador? 3

    2.2. Arquitectura bsica del Microcontrolador PIC-16F877A 3

    2.3. Componentes de un Microcontrolador 4

    2.3.1. Procesador 4

    2.3.1.1. CISC 4

    2.3.1.2. RISC 5

    2.3.1.3. SISC 5

    2.3.2. Memoria 5

    2.3.2.1. ROM con mscara 5

    2.3.2.2. OTP 6

    2.3.2.3. EPROM 6

    2.3.2.4. EEPROM, E2PROM o E PROM 6

    2.3.2.5. FLASH 7

    2.4. Puertas de E/S 7

    2.5. Reloj principal 7

    2.6. Recursos Especiales 8

    2.6.1. Temporizadores o Timers 8

    2.6.2. Perro guardin o Watchdog 9

  • Facultad de Ciencias y Tecnologa. Ingeniera Electrnica.

    2.6.3. Proteccin ante fallo de alimentacin o Brownout 9

    2.6.4. Estado de reposo de bajo consumo 9

    2.6.5. Conversor A/D (CAD) 9

    2.6.6. Conversor D/A (CDA) 10

    2.6.7. Comparador analgico 10

    2.6.8. Modulador de anchura de impulsos o PWM 10

    2.6.9. Puertos digitales de E/S 10

    2.6.10. Puertas de comunicacin 11

    2.6.10.1. UART. 11

    2.6.10.2. USART. 11

    2.6.10.3. Puerta paralela esclava para poder conectarse con los buses de otros microprocesadores. 11

    2.6.10.4. USB (Universal Serial Bus). 11

    2.6.10.5. Bus I2C. 11

    2.6.10.6. CAN (Controller rea Network), 11

    3. LA FAMILIA DE LOS PIC 12

    3.1. Introduccin 12

    3.2. La Familia PIC 12

    3.2.1. Gama enana. PIC16F8XXX 12

    4. El MAX232. 13

    5. Servicio de Mensajes Cortos (SMS) 14

    5.1. Definicin 14

    5.2. Introduccin 14

    5.3. Beneficios del Servicio de Mensajes Cortos (SMS) 15

    5.4. Elementos de la Red y su Arquitectura 16

  • Facultad de Ciencias y Tecnologa. Ingeniera Electrnica.

    5.5. Elementos de Sealizacin 18

    5.6. Mensaje Corto Originado (MO - SM) 18

    5.7. Mensaje Corto Terminado (MT - SM) 18

    5.8. Aplicaciones para SMS 18

    6. Comandos AT 20

    6.1. Introduccin 20

    6.2. Control de Llamada 20

    6.3. Comandos SMS 20

    6.4. Leer un Mensaje SMS 21

    6.5. Enviar un SMS 22

    7. Desarrollo de la Aplicacin 23

    7.1. Descripcin de la aplicacin realizada 23

    7.2. Descripcin de acciones 23

    8. Diseo del Circuito 25

    8.1 Modo de comunicacin para los puertos COM1 y COM3 26

    9. Desarrollo del Proyecto 27

    9.1. Justificacin del Diseo del Circuito 27

    9.2. Los comandos AT Utilizados. 27

    9.3. Cdigo Fuente 28

    9.3.1. Cdigo Fuente del PIC-16F877A 29

    9.4. Libreras Utilizadas 35

    9.4.1. P16F877A.INC 35

    9.4.2. RETARDOS.INC 42

    9.4.3. MACROS.INC 46

    9.4.4. cadenas.inc 47

  • Facultad de Ciencias y Tecnologa. Ingeniera Electrnica.

    10. Conclusin. 48

    11. Bibliografa. 49

  • Facultad de Ciencias y Tecnologa. Ingeniera Electrnica.

    1

    1. Anlisis del Proyecto

    1.1. Descripcin General del Problema.

    El uso de Celulares desde hace algunos aos dejo de ser objeto de lujo o status social en nuestro pas es mas se ha vuelto un instrumento indispensable para la comunicacin como bien seala la pagina www.mundoenlinea.cl que 6,1 de cada 10 Chilenos posee un celular y que los mensajes de texto o SMS durante el 2004 sumaron mas de 494 millones en nuestro pas se hace evidente que cada es mas necesaria la comunicacin y por consiguiente la integracin que de tecnologa y diversas aplicaciones que van haciendo del telfono celular el computador del futuro. Dentro de los servicios conocidos esta el de los juegos de azar, los mensajes a correos electrnicos, los envos de mensajes a concursos televisivos, etc. Todo esto es la respuesta a necesidades nacidas gracias al celular ya que este al integrar tecnologa y servicios es una herramienta comercial muy potente y de amplia gama de servicios.

    Es por esto que hay que aprovechar la tecnologa disponible y crear aplicaciones que satisfagan necesidades cotidianas.

    1.2. Objetivo General

    Lograr la Interaccin del usuario con los procesos ligados al Microcontrolador por medio de mensajes cortos de texto SMS utilizando comandos programados para tales acciones.

    1.3. Objetivos Especficos

    1.- Controlar un Microcontrolador por medio del puerto de comunicaciones.

    2.- Desarrollar una Aplicacin en Java que permita manejar informacin por medio del puerto de Comunicaciones.

    3.- Desarrollar una Aplicacin en Java que permita el envo y recepcin de mensajes cortos de texto SMS.

    4.- Integracin de Java y Microcontroladores.

  • Facultad de Ciencias y Tecnologa. Ingeniera Electrnica.

    2

    1.4. Justificacin

    Debido al explosivo uso de los celulares y la integracin que sufren estos a lo largo del tiempo es muy atractivo como programador utilizar esta herramienta como un medio para generar aplicaciones que sean tiles y aplicables al mercado actual, es por esto que crear una aplicacin que por medio de mensajes cortos de texto SMS se puedan controlar eventos por medio de un Microcontrolador no es algo fuera de nuestro alcance y amplia nuestra capacidad de interaccin con el medio por ejemplo tal como podemos pedir el estado del tiempo por SMS podramos activar la alarma de la casa o bien si esta se activa recibir un mensaje con la alarma, tambin se podra utilizar en el control de frigorficos, etc. Son tantos los problemas que podran encontrar solucin con una aplicacin de este tipo solo es cosa de usar la imaginacin.

  • Facultad de Ciencias y Tecnologa. Ingeniera Electrnica.

    3

    2. MICROCONTROLADORES

    2.1. Qu es un Microcontrolador?

    Un Microcontrolador es un dispositivo electrnico capaz de llevar a cabo procesos lgicos. Estos procesos o acciones son programados en lenguaje ensamblador por el usuario, y son introducidos en este a travs de un programador.

    2.2. Arquitectura bsica del Microcontrolador PIC-16F877A

    Figura 1: Arquitectura bsica del Microcontrolador PIC-16F877A

  • Facultad de Ciencias y Tecnologa. Ingeniera Electrnica.

    4

    Figura 2: El Microcontrolador PIC-16F877A

    2.3. Componentes de un Microcontrolador

    2.3.1. Procesador

    Es el elemento ms importante del Microcontrolador y determina sus principales caractersticas, tanto a nivel hardware como software. Se encarga de direccionar la memoria de instrucciones, recibir el cdigo OP de la instruccin en curso, su decodificacin y la ejecucin de la operacin que implica la instruccin, as como la bsqueda de los operandos y el almacenamiento del resultado. Existen tres orientaciones en cuanto a la arquitectura y funcionalidad de los procesadores actuales.

    2.3.1.1. CISC

    Un gran nmero de procesadores usados en los micro - controladores estn basados en la filosofa CISC (Computadores de Juego de Instrucciones Complejo). Disponen de ms de 80 instrucciones mquina en su repertorio,

  • Facultad de Ciencias y Tecnologa. Ingeniera Electrnica.

    5

    algunas de las cuales son muy sofisticadas y potentes, requiriendo muchos ciclos para su ejecucin. Una ventaja de los procesadores CISC es que ofrecen al programador instrucciones complejas que actan como macros, es decir, que si las tuvisemos que implementar con instrucciones bsicas, acabaramos con dolor de cabeza.

    2.3.1.2. RISC

    Tanto la industria de los computadores comerciales como la de los Microcontroladores estn decantndose hacia la filosofa RISC (Computadores de Juego de Instrucciones Reducido). En estos procesadores el repertorio de instrucciones mquina es muy reducido y las instrucciones son simples y, generalmente, se ejecutan en un ciclo. La sencillez y rapidez de las instrucciones permiten optimizar el hardware y el software del procesador.

    2.3.1.3. SISC

    En los Microcontroladores destinados a aplicaciones muy concretas, el juego de instrucciones, adems de ser reducido, es especfico, o sea, las instrucciones se adaptan a las necesidades de la aplicacin prevista. Esta filosofa se ha bautizado con el nombre de SISC (Computadores de Juego de Instrucciones Especfico).

    2.3.2. Memoria

    2.3.2.1. ROM con mscara

    Es una memoria no voltil de slo lectura cuyo contenido se graba durante la fabricacin del chip. Si tenemos idea de cmo se fabrican los circuitos integrados, sabremos de donde viene el nombre. Estos se fabrican en obleas que contienen varias decenas de chips. Estas obleas se fabrican a partir de procesos fotoqumicos, donde se impregnan capas de silicio y oxido de silicio, y segn convenga, se erosionan al exponerlos a la luz.

    Como no todos los puntos han de ser erosionados, se sita entre la luz y la oblea una mascara con agujeros, de manera que donde deba incidir la luz, esta pasar. Con varios procesos similares pero ms complicados se consigue fabricar los transistores y diodos micromtricos que componen un chip. El elevado coste del

  • Facultad de Ciencias y Tecnologa. Ingeniera Electrnica.

    6

    diseo de la mscara slo hace aconsejable el empleo de los Microcontroladores con este tipo de memoria cuando se precisan cantidades superiores a varios miles de unidades.

    2.3.2.2. OTP

    El Microcontrolador contiene una memoria no voltil de slo lectura programable una sola vez por el usuario. OTP (One Time Programmable). Es el usuario quien puede escribir el programa en el chip mediante un sencillo grabador controlado por un programa desde un PC. La versin OTP es recomendable cuando es muy corto el ciclo de diseo del producto, o bien, en la construccin de prototipos y series muy pequeas. Tanto en este tipo de memoria como en la EPROM, se suele usar la encriptacin mediante fusibles para proteger el cdigo contenido.

    2.3.2.3. EPROM

    Los Microcontroladores que disponen de memoria EPROM (Erasable Programmable Read OnIy Memory) pueden borrarse y grabarse muchas veces. La grabacin se realiza, como en el caso de los OTP, con un grabador gobernado desde un PC. Si, posteriormente, se desea borrar el contenido, disponen de una ventana de cristal en su superficie por la que se somete a la EPROM a rayos ultravioleta durante varios minutos. Las cpsulas son de material cermico y son ms caros que los Microcontroladores con memoria OTP que estn hechos con material plstico.

    2.3.2.4. EEPROM, E2PROM o E PROM

    Se trata de memorias de slo lectura, programables y borrables elctricamente EEPROM (Electrical Erasable Programmable Read OnIy Memory). Tanto la programacin como el borrado, se realizan elctricamente desde el propio grabador y bajo el control programado de un PC. Es muy cmoda y rpida la operacin de grabado y la de borrado. No disponen de ventana de cristal en la superficie. Los Microcontroladores dotados de memoria EEPROM una vez instalados en el circuito, pueden grabarse y borrarse cuantas veces se quiera sin ser retirados de dicho circuito. Para ello se usan "grabadores en circuito" que confieren una gran flexibilidad y rapidez a la hora de realizar modificaciones en el programa de trabajo. El nmero de veces que puede grabarse y borrarse una memoria EEPROM es infinito, por lo que no es recomendable una reprogramacin

  • Facultad de Ciencias y Tecnologa. Ingeniera Electrnica.

    7

    contina. Son muy idneos para la enseanza y la Ingeniera de diseo. Se va extendiendo en los fabricantes la tendencia de incluir una pequea zona de memoria EEPROM en los circuitos programables para guardar y modificar cmodamente una serie de parmetros que adecuan el dispositivo a las condiciones del entorno. Este tipo de memoria es relativamente lenta.

    2.3.2.5. FLASH

    Se trata de una memoria no voltil, de bajo consumo, que se puede escribir y borrar. Funciona como una ROM y una RAM pero consume menos y es ms pequea. A diferencia de la ROM, la memoria FLASH es programable en el circuito. Es ms rpida y de mayor densidad que la EEPROM. La alternativa FLASH est recomendada frente a la EEPROM cuando se precisa gran cantidad de memoria de programa no voltil. Es ms veloz y tolera ms ciclos de escritura/borrado. Las memorias EEPROM y FLASH son muy tiles al permitir que los Microcontroladores que las incorporan puedan ser reprogramados en circuito, es decir, sin tener que sacar el circuito integrado de la tarjeta.

    2.4. Puertas de E/S

    Las puertas de Entrada y Salida (E/S) permiten comunicar al procesador con el mundo exterior, a travs de interfaces, o con otros dispositivos. Estas puertas, tambin llamadas puertos, son la principal utilidad de las patas o pines de un microprocesador. Segn los controladores de perifricos que posea cada modelo de Microcontrolador, las lneas de E/S se destinan a proporcionar el soporte a las seales de entrada, salida y control.

    2.5. Reloj principal

    Todos los Microcontroladores disponen de un circuito oscilador que genera una onda cuadrada de alta frecuencia, que configura los impulsos de reloj usados en la sincronizacin de todas las operaciones del sistema. Esta seal del reloj es el motor del sistema y la que hace que el programa y los contadores avancen. Generalmente, el circuito de reloj est incorporado en el Microcontrolador y slo se necesitan unos pocos componentes exteriores para seleccionar y estabilizar la frecuencia de trabajo. Dichos componentes suelen consistir en un cristal de cuarzo junto a elementos pasivos o bien un resonador cermico o una red R-C. Aumentar la frecuencia de reloj supone disminuir el tiempo en que se ejecutan las

  • Facultad de Ciencias y Tecnologa. Ingeniera Electrnica.

    8

    instrucciones pero lleva aparejado un incremento del consumo de energa y de calor generado.

    2.6. RECURSOS ESPECIALES

    Los principales recursos especficos que incorporan los Microcontroladores son:

    Temporizadores o Timers.

    Perro guardin o Watchdog.

    Proteccin ante fallo de alimentacin o Brownout.

    Estado de reposo o de bajo consumo (Sleep mode).

    Conversor A/D (Analgico ->Digital).

    Conversor D/A (Digital ->Analgico).

    Comparador analgico.

    Modulador de anchura de impulsos o PWM (Pulse Wide Modulation).

    Puertas de E/S digitales.

    Puertas de comunicacin.

    A continuacin hablaremos de estos recursos especiales:

    2.6.1. Temporizadores o Timers

    Se emplean para controlar periodos de tiempo (temporizadores) y para llevar la cuenta de acontecimientos que suceden en el exterior (contadores).Para la medida de tiempos se carga un registro con el valor adecuado y a continuacin dicho valor se va incrementando o decrementando al ritmo de los impulsos de reloj o algn mltiplo hasta que se desborde y llegue a 0, momento en el que se produce un aviso. Cuando se desean contar acontecimientos que se materializan por cambios de nivel o flancos en alguna de las patitas del Microcontrolador, el mencionado registro se va incrementando o decrementando al ritmo de dichos impulsos.

  • Facultad de Ciencias y Tecnologa. Ingeniera Electrnica.

    9

    2.6.2. Perro guardin o Watchdog

    Cuando el computador personal se bloquea por un fallo del software u otra causa, se pulsa el botn del reset y se reinicia el sistema. Pero un Microcontrolador funciona sin el control de un supervisor y de forma continuada las 24 horas del da. El Perro Guardin consiste en un contador que, cuando llega al mximo, provoca un reset automticamente en el sistema.

    Se debe disear el programa de trabajo que controla la tarea de forma que resetee al Perro Guardin de vez en cuando antes de que provoque el reset. Si falla el programa o se bloquea (si cae en bucle infinito), no se refrescar al Perro guardin y, al completar su temporizacin, provocar el reset del sistema.

    2.6.3. Proteccin ante fallo de alimentacin o Brownout

    Se trata de un circuito que resetea al Microcontrolador cuando el voltaje de alimentacin (VDD) es inferior a un voltaje mnimo (brownout). Mientras el voltaje de alimentacin sea inferior al de brownout el dispositivo se mantiene reseteado, comenzando a funcionar normalmente cuando sobrepasa dicho valor. Esto es muy til para evitar datos errneos por transiciones y ruidos en la lnea de alimentacin.

    2.6.4. Estado de reposo de bajo consumo

    Son abundantes las situaciones reales de trabajo en que el Microcontrolador debe esperar, sin hacer nada, a que se produzca algn acontecimiento externo que le ponga de nuevo en funcionamiento. Para ahorrar energa, (factor clave en los aparatos porttiles), los Microcontroladores disponen de una instruccin especial (SLEEP en los PIC), que les pasa al estado de reposo o de bajo consumo, en el cual los requerimientos de potencia son mnimos. En dicho estado se detiene el reloj principal y se congelan sus circuitos asociados, quedando sumido en un profundo sueo. Al activarse una interrupcin ocasionada por el acontecimiento esperado, el Microcontrolador se despierta y reanuda su trabajo.

    2.6.5. Conversor A/D (CAD)

    Los Microcontroladores que incorporan un Conversor A/D (Analgico/Digital) pueden procesar seales analgicas, tan abundantes en las aplicaciones. Suelen

  • Facultad de Ciencias y Tecnologa. Ingeniera Electrnica.

    10

    disponer de un multiplexor que permite aplicar a la entrada del CAD diversas seales analgicas desde las patillas del circuito integrado.

    2.6.6. Conversor D/A (CDA)

    Transforma los datos digitales obtenidos del procesamiento del computador en su correspondiente seal analgica que saca al exterior por una de las patillas del chip. Existen muchos circuitos que trabajan con seales analgicas.

    2.6.7. Comparador analgico

    Algunos modelos de Microcontroladores disponen internamente de un Amplificador Operacional que acta como comparador entre una seal fija de referencia y otra variable que se aplica por una de las patitas de la cpsula. La salida del comparador proporciona un nivel lgico 1 0 segn una seal sea mayor o menor que la otra. Tambin hay modelos de Microcontroladores con un mdulo de tensin de referencia que proporciona diversas tensiones de referencia que se pueden aplicar en los comparadores.

    2.6.8. Modulador de anchura de impulsos o PWM

    Son circuitos que proporcionan en su salida impulsos de anchura variable, que se ofrecen al exterior a travs de las patitas del encapsulado.

    2.6.9. Puertos digitales de E/S

    Todos los Microcontroladores destinan parte de su patillaje a soportar lneas de E/S digitales. Por lo general, estas lneas se agrupan de ocho en ocho formando Puertos.

    Las lneas digitales de las Puertos pueden configurarse como Entrada o como Salida cargando un 1 un 0 en el bit correspondiente de un registro destinado a su configuracin.

  • Facultad de Ciencias y Tecnologa. Ingeniera Electrnica.

    11

    2.6.10. Puertas de comunicacin

    Con objeto de dotar al Microcontrolador de la posibilidad de comunicarse con otros dispositivos externos, otros buses de microprocesadores, buses de sistemas, buses de redes y poder adaptarlos con otros elementos bajo otras normas y protocolos.

    Algunos modelos disponen de recursos que permiten directamente esta tarea, entre los que destacan:

    2.6.10.1. UART, adaptador de comunicacin serie asncrona. (Ej.: Puerto Serie)

    2.6.10.2. USART, adaptador de comunicacin serie sncrona y asncrona

    2.6.10.3. Puerta paralela esclava para poder conectarse con los buses de otros microprocesadores.

    2.6.10.4. USB (Universal Serial Bus), que es un moderno bus serie para los PC.

    2.6.10.5. Bus I2C, que es un interfaz serie de dos hilos desarrollado por Philips.

    2.6.10.6. CAN (Controller rea Network), para permitir la adaptacin con redes de conexionado multiplexado desarrollado conjuntamente por Bosch e Intel para el cableado de dispositivos en automviles. En EE.UU. se usa el J185O.

  • Facultad de Ciencias y Tecnologa. Ingeniera Electrnica.

    12

    3. LA FAMILIA DE LOS PIC

    3.1. Introduccin

    Los PIC son una familia de Microcontroladores fabricados por Microchip cuya arquitectura, capacidades, juego de instrucciones y especialmente su bajo costo lo hacen muy til en pequeas aplicaciones as como parte de otras aplicaciones de mayor envergadura sustituyendo a gran cantidad de circuitos lgicos convencionales.

    3.2. La Familia PIC

    Existen PICs de cuatro gamas distintas: pero en nuestro caso particular solo necesitamos conocer la Gama Enana del PIC-16F877A

    3.2.1. Gama enana. PIC16F8XXX

    Se trata de un grupo de PIC de reciente aparicin que ha acaparado la atencin del mercado. Su principal caracterstica es su reducido tamao, al disponer todos sus componentes de 8 patitas adems de disponer de 6 lneas de E/S. Se alimentan con un voltaje de corriente continua comprendido entre 2,5 V y 5,5 V, y consumen menos de 2 mA cuando trabajan a 5 V y 4 MHz. El formato de sus instrucciones puede ser de 12 o de 14 bits y su repertorio es de 33 o 35 instrucciones, respectivamente. Algunos modelos incluyen conversores A/D y memoria EEPROM de datos.

  • Facultad de Ciencias y Tecnologa. Ingeniera Electrnica.

    13

    4. El MAX232.

    Lo siguiente que necesitamos es un "cable de datos", que es un adaptador de niveles RS232 -

    TTL, con el conocido MAX232. Este cable nos permite conectar el mvil a un ordenador personal o un Microcontrolador externo. El cable se puede encontrar en un comercio dedicado a la telefona mvil, pero en esta prctica se ha optado por construir uno usando el siguiente esquema:

    Figura 3: Estructura MAX232

    El circuito se ha diseado de forma que el cable situado en la esquina superior Izquierda de la placa est conectado al pin 9 del max232, por lo que es la seal RX, y el cable que est situado en la esquina inferior izquierda de la placa est conectado al pin 10 del max232, por lo que es la seal TX. La lnea horizontal superior de la placa es el (-) y la segunda lnea horizontal inferior es el (+). La alimentacin necesaria para que funcione este circuito se obtiene de la propia batera del telfono, con los cables conectados al pinout.

  • Facultad de Ciencias y Tecnologa. Ingeniera Electrnica.

    14

    5. Servicio de Mensajes Cortos (SMS)

    5.1. Definicin

    Servicio de Mensajes Cortos (SMS) es servicio inalmbrico aceptado globalmente este permite la transmisin de mensajes alfanumricos entre clientes de telfonos mviles y sistemas externos tales como correo electrnico, paging (Servicio de radio unidireccional que permite el envi de mensajes escritos para los aparatos de paging numricos o alfanumricos) y sistemas de mensajes de voz.

    5.2. Introduccin

    SMS apareci en escena en 1991 en Europa, donde la tecnologa inalmbrica digital echo races. El Standard Europeo para inalmbrica digital, es ahora conocida globalmente como el Standard para mviles (GSM), incluye el servicio de mensajera corta desde el principio.

    En Norte Amrica, SMS estuvo disponible en las redes inalmbricas digitales construidas por los primeros pioneros tales como BellSouth Mobility y Nextel. En 1998, con el desarrollo de las redes basadas en GSM como el servicio de comunicacin personal (PCS), cdigo de acceso por divisin mltiple (CDMA), y acceso por divisin de tiempo (TDMA), estos mtodos ayudaron a la completa implementacin del SMS.

    El SMS punto a punto provee un mecanismo para transmitir mensajes cortos de y hacia equipos Mviles (Celulares). Tras el envo de un mensaje, este no sigue directamente para el destinatario sino para un centro de mensajes (SMSC), que lo almacena y enva posteriormente. Este centro hace tambin la cobranza posterior del servicio. El centro de mensajes reencamina despus el mensaje para el destinatario, cuando el mvil est conectado a la red. De esta manera y al contrario de los servicios de "pager" es posible tener la certeza que el mensaje lleg a su destino, porque el centro de mensajes puede notificar el remitente caso la operacin falle.

    Una caracterstica del servicio es que en un equipo Mvil activo es capaz de recibir o enviar un mensaje corto en cualquier momento, independiente si hay o no una llamada de voz o datos en progreso. SMS tambin garantiza la entrega de los mensajes cortos por la red. Errores temporales son identificados y el mensaje es guardado en la red hasta que el destino este disponible.

  • Facultad de Ciencias y Tecnologa. Ingeniera Electrnica.

    15

    SMS esta caracterizado por entrega de paquetes fuera de banda y un bajo uso del ancho de banda para la transferenc ia de mensajes. Las primeras aplicaciones de SMS estaban enfocadas en eliminar el sistema alfanumrico pager el cual es un sistema de bsqueda de personas tipo Beeper que permita una comunicacin unidireccional, en cambio SMS permite mensajera en las dos direcciones y servicios de notificacin, principalmente mensajes de voz. Al madurar la tecnologa y las redes se fueron agregando una variedad de servicios como el correo electrnico y la integracin del fax, servicios de bsqueda, bancos interactivos y servicios de informacin. Aplicaciones de inalmbricas tales como el modulo de identidad del subscriptor (SIM) con capacidades de realizar acciones de activacin, debito y edicin de perfil.

    Figura 4. Servicio de bsqueda de personas Paging

    5.3. Beneficios del Servicio de Mensajes Cortos (SMS)

    Los beneficios del servicio SMS para el proveedor son los siguientes:

    El aumento de llamadas gracias a las capacidades de notificacin del SMS en las redes inalmbricas.

    Una alternativa al servicio de bsqueda de personas alfanumrico Paging.

  • Facultad de Ciencias y Tecnologa. Ingeniera Electrnica.

    16

    Activa el acceso inalmbrico a datos para usuarios de empresas.

    Provisiones de servicios con valor agregado como el e-mail, buzn de voz, la integracin de fax, etc.

    Proporciona una herramienta administrativa para servicios como avisos de precios, descargas en forma inalmbrica.

    Los beneficios del SMS a los clientes se centran en la conveniencia, flexibilidad y la integracin de servicios de mensajes y acceso a datos. Desde esta perspectiva, el beneficio es ser capaz de usar un equipo mvil como una extensin del computador.

    5.4. Elementos de la Red y su Arquitectura

    Los elementos de red necesarios para proveer el servicio SMS, son:

    Las Entidades de Mensajera Corta (Short Messaging Entities - SME):

    Es una entidad que puede enviar o recibir mensajes cortos. Puede ser localizada en la red fija, la estacin mvil u otro centro de servicio.

    El Centro de Servicio de Mensaje Corto (Short Message Service Center - SMSC) es el responsable de la transmisin, almacenamiento y envo de mensajes cortos entre el SME y la estacin mvil.

    El Centro de Conmutacin Mvil SMS (SMS Gateway/Interworking Mobile Switching Center - SMS GMSC) es un centro de conmutacin de mensajes encargado de recibir el mensa je del SMSC, interrogar al registro de localizacin local por la informacin de encaminamiento, y entregarlo al MSC que da servicio a la estacin mvil.

    Registro de Localizacin Local. (Home Location Register - HLR): Es la base de datos para el almacenamiento permanente y manejo de perfiles de servicio y subscripciones. El HLR provee la informacin de encaminamiento hacia el cliente indicado. El HLR tambin informa al SMSC del intento de entrega de un mensaje corto a una estacin mvil que ha resultado fallido.

    Registro de Localizacin del Visitante (Visitor Location Register - VLR):

  • Facultad de Ciencias y Tecnologa. Ingeniera Electrnica.

    17

    El VLR es la base de datos que contiene la informacin temporal acerca de los clientes. Esta informacin se necesita por el MSC (Mobile Switching Center - MSC) que ejecuta las funciones de conmutacin del sistema y las llamadas de control hacia y desde otros telfonos o sistemas de datos.

    Estacin Base del sistema. (Base Station System - BSS): Todas las funciones relacionadas con la radio se ejecutan en la BSS, la cual consiste en unos controladores de estacin base (Base Station Controllers - BSCs) y estaciones base transceptoras (Base Transceiver Stations - BTSs) que se encargan de transmitir la voz y el trafico de datos entre las estaciones mviles.

    La Estacin Mvil (Mobile Station - MS): Es el terminal inalmbrico capaz de recibir y originar mensajes cortos, as como llamadas de voz. La infraestructura de sealizacin de la red inalmbrica est basada en el Sistema de Sealizacin N 7 (SS7).

    Sistema de Sealizacin N 7 (Signalig System 7 SS7). SMS hace uso de la Parte de Aplicacin Mvil (Mobile Application Part - MAP), la cual define los mtodos y mecanismos de comunicacin en redes inalmbricas y usa los servicios de la Parte de Aplicacin de Capacidades de Transaccin de SS7 (SS7 Transaction Capabilities

    Aplication Part - TCAP). La capa de servicio de SMS hace uso de las capacidades de sealizacin del MAP y habilita la transferencia de mensajes cortos entre entidades pares.

    Figura 5. Red Celular SMS

  • Facultad de Ciencias y Tecnologa. Ingeniera Electrnica.

    18

    5.5. Elementos de Sealizacin

    Las Siguientes operaciones MAP(Mobile Application Part - MAP) son necesarias:

    Una vez un mensaje se enva, es recibido por el Centro de Servicio de Mensaje Corto (SMSC) que debe enviarlo entonces al dispositivo mvil apropiado. Para hacer esto, el SMSC enva un requerimiento de SMS al registro de localizacin (HLR) para encontrar al cliente. Una vez el HLR recibe la llamada, responde al SMSC informando el estado del cliente: inactivo o activo y en dnde est. Si la respuesta es inactivo, entonces el SMSC almacenar el mensaje por un periodo de tiempo y cuando el cliente activa su dispositivo, el HLR enva una notificacin de SMS al SMSC, que intentar la entrega. Si el estado es activo, entonces el sistema llama al dispositivo, y si responde, el mensaje se entrega. El SMSC recibe la verificacin de que el mensaje se recibi por el usuario terminal y etiqueta el mensaje como enviado para no tratar de enviarlo de nuevo.

    5.6. Mensaje Corto Originado (MO - SM)

    Los MO-SM se transportan desde el dispositivo mvil hacia el SMSC y pueden ser destinados a otros Clientes de mviles, o situados en redes fijas.

    5.7. Mensaje Corto Terminado (MT - SM)

    Los MT-SM se transportan desde el SMSC hacia el dispositivo mvil, y pueden ser entregados al SMSC por abonados mviles o por otros medios. Por ejemplo es muy comn utilizar las pginas Web gratuitas que tienen muchos ISPs para crear SMS.

    5.8. Aplicaciones para SMS

    Los SMS fueron inicialmente diseados para soportar mensajes de tamao limitado, en la mayora de los casos notificaciones o paginas alfanumricas, pero se estn descubriendo nuevos usos, que han hecho que este mercado explote.

    Servicios de notificacin: Los servicios de notificacin son unos servicios SMS ampliamente utili zados. Ejemplos de servicios de notificacin usando SMS son el

  • Facultad de Ciencias y Tecnologa. Ingeniera Electrnica.

    19

    mensaje de notificacin de correo de voz, notificacin de correo electrnico, recordatorio de citas, horarios de reuniones, etc.

    Interconexin de redes de correo electrnico: Los servicios de correo electrnico existentes pueden ser fcilmente integrados con SMS para proveer correo electrnico bidireccional a la mensajera corta.

    Interconexin de redes de bsqueda: Servicios de bsqueda integrados con SMS pueden permitir a los abonados inalmbricos digitales ser accesibles a travs de interfaces de bsqueda existentes en otras redes.

    Servicios de informacin: Se puede proporcionar una amplia variedad de servicios de informacin, incluyendo partes meteorolgicos, informacin del trafico, informacin de entretenimiento (cines, teatros, conciertos), informacin financiera (cotizaciones de bolsa, servicios bancarios, servicios de corretaje, etc.), y directorios.

    Servicios de datos mviles: El SMSC tambin puede ser usado para enviar datos inalmbricos cortos. Los datos inalmbricos pueden ser servicios interactivos donde las llamadas de voz estn involucradas.

    Algunos ejemplos de servicios de esta naturaleza incluyen despachos rpidos, manejo de inventarios, confirmacin de itinerarios, procesamiento de rdenes de ventas y manejo de contactos de clientes.

    Atencin de clientes y administracin: El SMSC tambin puede ser usado para transferir datos binarios que pueden ser interpretados por la estacin mvil, sin ser presentados al cliente. Esta capacidad le permite a los operadores administrar sus clientes al proveerlos de la capacidad de programar las estaciones mviles.

    Servicios de localizacin: La habilidad de rastrear la localizacin de un objeto mvil, o de un usuario, es muy valiosa tanto para los proveedores como para los clientes. Esta aplicacin, de nuevo, solo necesita un intercambio de pequeas cantidades de informacin, tales como la longitud y latitud en un momento preciso del da, y quizs otros parmetros como velocidad, temperatura o humedad.

  • Facultad de Ciencias y Tecnologa. Ingeniera Electrnica.

    20

    6. Comandos AT

    6.1. Introduccin

    Una herramienta fundamental en el proyecto es el uso de comandos AT ya el equipo mvil recomunica con la aplicacin a trav s de estos estableciendo una conversacin del tipo pregunta respuesta, ya que todo comando enviado al equipo mvil generara una respuesta inmediata lo que se traduce mas tarde en poder generar la lista de parmetros necesarios para leer y enviar mensaje SMS.

    6.2. Control de Llamada

    Estos son algunos de los comandos mas comunes para el control de llamadas.

    AT Atencin

    ATA Contestar llamada

    ATD Comando para Llamar

    ATH Desconectar una llamada

    6.3.Comandos SMS

    Estos son los comandos que hacen posible el envi y recepcin de mensajes de texto SMS.

    AT+CMGR Leer Mensaje

    AT+CMGS Enviar Mensaje

    AT+CMGF=1 Formato del msj

    AT+CSCA="+59170700000" Configuro el centro de servicio NUEVATEL

    AT+CNMI=2,1,0,0,0 Configuracin de aviso sobre nuevo Msj.

    AT+CMGS="N del Receptor", Mensaje

  • Facultad de Ciencias y Tecnologa. Ingeniera Electrnica.

    21

    AT+CPMS="ME","ME" Configura la memoria 1 y memoria 2 como la memoria interna del celular.

    AT+CMGD=N Borra el mensaje de la posicion N

    AT+CMGL=? Listado de comandos para ver msj en distintas carpetas.

    +CMGL: ("REC UNREAD","REC READ","STO UNSENT","STO SENT","ALL")

    Para Telfonos Mviles, SMS usa el codificado PDU en el cual el mensaje es encapsulado. Esta estructura se le da al Telfono Mvil para realizar el evento de enviar o recibir mensajes SMS.

    6.4. Leer un Mensaje SMS

    Figura 6: Lectora de un Mensaje SMS

    El comando AT+CMGR=1 lee el mensaje la de ubicacin 1. Cada ves que llega un nuevo mensaje es indexado en una direccin de memoria del Telfono Mvil.

    El SMS recibido puede ser decodificado en base al la siguiente estructura.

  • Facultad de Ciencias y Tecnologa. Ingeniera Electrnica.

    22

    6.5. Enviar un SMS

    Para enviar un mensaje SMS, se usa el Comando GSM: AT+CMGS

    Ejemplo de lectura en el HyperTerminal.

    Figura 7: Envo de un Mensaje SMS

    El comando AT+CMGS = 27, pre -notifica al Celular que el PDU que ser enviado contiene 27 bytes de datos.

    El dato pasado al Telfono despus del "AT+CMGS" contiene al PDU.

    La siguiente figura muestra la estructura del mensaje enviado:

  • Facultad de Ciencias y Tecnologa. Ingeniera Electrnica.

    23

    7. Desarrollo de la Aplicacin

    7.1. Descripcin de la aplicacin realizada

    Cumpliendo el objetivo general del proyecto se realizo una aplicacin queinteracta con los procesos ligados a los Microcontroladores por medio de mensajes de texto SMS. Para ello se realizo una aplicacin en Java que acta como servidor el cual esta encargado de interactuar por medio de comunicacin serial con un Microcontrolador en este caso el 12F675 y con un telfono mvil.

    Figura 8: Modelo de recepcin y envo de mensajes SMS.

    7.2. Descripcin de acciones

    A continuacin se describen paso a paso el proceso de envo y recepcin de mensajes de la aplicacin.

    Un usuario de telefona mvil solicita un servicio de temperatura por medio de mensaje de texto SMS.

    El mensaje SMS es recibido por el dispositivo mvil conectado al servidor (MODEM con soporte para SMS o bien un telfono mvi l con cable de datos o bluetooth).

  • Facultad de Ciencias y Tecnologa. Ingeniera Electrnica.

    24

    El dispositivo mvil acusa la recepcin de un mensaje SMS por medio de comandos AT que son enviados por Bluetooth al puerto serial virtual generado para este propsito.

    El servidor interpreta el comando AT y le enva al dispositivo mvil un nuevo comando pidiendo leer el mensaje entrante.

    El dispositivo mvil enva el mensaje al servidor.

    El servidor lee el mensaje si este contiene el texto temperatura llama al Microcontrolador el cual le enva la temperatura actual al servidor.

    Una vez obtenida la temperatura ambiente el servidor procede a enviarla por medio de comandos AT al dispositivo mvil.

    El dispositivo mvil se encarga de realizar el envo del mensaje con la temperatura generada por el servidor.

    El servidor registra en una base de datos el remitente y su mensaje.

    Una variacin del modelo de recepcin y envi sucede cuando al recibir un mensaje SMS el texto contenido en este no corresponda a ni un servicio prestado por el servidor por lo que no responder el mensaje recibido al remitente.

  • Facultad de Ciencias y Tecnologa. Ingeniera Electrnica.

    25

    8. Diseo del Circuito

    Figura 9: Diseo del Circuito General en Simulacion

    Figura 10: Diseo del Circuito General Armado

    T1IN11

    R1OUT12

    T2IN10

    R2OUT9

    T1OUT 14

    R1IN 13

    T2OUT 7

    R2IN 8

    C2+

    4

    C2-

    5

    C1+

    1

    C1-

    3

    VS+ 2

    VS- 6

    U2

    MAX232

    RXD

    RTS

    TXD

    CTS

    ERROR

    TXD3

    RXD2

    CTS8

    RTS7

    DSR6

    DTR4

    DCD1

    RI9

    P2

    COMPIM

    12

    LDR1TORCH_LDR

    R11k

    D1LED-RED

    55%

    SENSIB10k

    R 4

    DC7

    Q3

    GN

    D1

    VC

    C8

    TR 2TH6

    CV 5

    U3

    555

    00

    R210k

    LDR1(1)

    +88.8Volts

    R310k C6

    220nF

    R410k

    R510k

    R61k

    R710k

    RA0/AN02

    RA1/AN13

    RA2/AN2/VREF-/CVREF4

    RA4/T0CKI/C1OUT6

    RA5/AN4/SS/C2OUT7

    RE0/AN5/RD8

    RE1/AN6/WR9

    RE2/AN7/CS10

    OSC1/CLKIN13

    OSC2/CLKOUT14

    RC1/T1OSI/CCP2 16

    RC2/CCP1 17

    RC3/SCK/SCL 18

    RD0/PSP0 19

    RD1/PSP1 20

    RB7/PGD 40RB6/PGC 39

    RB5 38RB4

    37RB3/PGM36

    RB2 35RB1 34

    RB0/INT 33

    RD7/PSP7 30RD6/PSP6 29RD5/PSP5 28RD4/PSP4 27RD3/PSP3 22RD2/PSP2 21

    RC7/RX/DT 26RC6/TX/CK 25

    RC5/SDO 24RC4/SDI/SDA 23

    RA3/AN3/VREF+5

    RC0/T1OSO/T1CKI 15

    MCLR/Vpp/THV1

    U6

    PIC16F877A

    C3

    1nF

    C2

    1nF

    C1

    1nF

    C41nF

    U1

    NOT

    U4

    NOT

    RXD

    RTS

    TXD

    CTS

    DESICION DE ACCION POR INT RB0RB1=0 Y RB2=0 Realiza una llamadaRB1=1 Y RB2=0 Manda mensaje #1RB1=0 Y RB2=1 Manda mensaje #2

    sensor 2:RB3=1 manda mensaje #3sensor 3:RB4=1 manda mensaje #4

    00

    D2LED-RED

    R8220

    Diseo del Circuito en Simulacion

    Diseo Digital II Ingenieria Electronica

  • Facultad de Ciencias y Tecnologa. Ingeniera Electrnica.

    26

    8.1 Modo de comunicacin para los puertos COM1 y COM3

    Figura 11: Modo de comunicacin para los puertos COM1 y COM3

    Cabe ilustrar que para este proyecto no se ha sido posible encontrar el modo de configuracin directa entre el PIC-16F877A y el Puerto COM del telfono mvil Nokia 3220 , por lo que se esta Utilizando al Simulador Proteus 7.7 como Interface de Comunicacin para la comunicacin:

    PIC-SERIAL-SERIAL-USB-USB-Nokia 3220

    Figura 12: Esquema de comunicacin PIC-SERIAL -USB-Nokia 3220

    ERROR

    TXD3

    RXD2

    CTS8

    RTS7

    DSR6

    DTR4

    DCD1

    RI9

    P1

    COMPIMConexion COM1-COM3COM3 - USBUSB - Nokia 3220i

    ERROR

    TXD 3

    RXD 2

    CTS 8

    RTS 7

    DSR 6

    DTR 4

    DCD 1

    RI 9

    P2

    COMPIMConexion COM1Proto - CPU

    Diseo Digital II Ingenieria Electronica

    Comunicacion COM1 con el COM3

  • Facultad de Ciencias y Tecnologa. Ingeniera Electrnica.

    27

    9. Desarrollo del Proyecto

    9.1. Justificacin del Diseo del Circuito

    El sistema funciona de la siguiente manera:

    1. El micro controlador esta siempre en modo de respuesta, es decir que esta esperando a que el sensor de humo le enve un uno lgico, correspondiente a su activacin.

    2. Si esta activo solo el primer pin (RA0) hace una llamada al nmero programado en el micro controlador.

    3. La otra forma de informar al usuario de que a ocurrido otro evento es activar los pines de entrada RA1 y RA2 una vez activo RA0.

    9.2 Los comandos AT Utilizados.

    Los comandos At, son un lenguaje que nos permite realizar comunicaciones con el modem.

    Existe una literatura amplia de los comandos AT, cada dispositivo (terminal modem) cuenta con sus comandos AT, al igual que existen comando particulares de los fabricantes de celulares.

    Los modem en el modo comando que se usa para la configuracin del mdem o para marcar, puede comunicarse con el mdem a travs del conjunto de comandos AT. Despus de ejecutar un comando, el mdem regresa un cdigo de resultado de confirmacin.

    Los comandos principales que utilizaremos son:

    AT+CPMS=ME,ME Para cambiar a la memoria del celular.

    AT+CMGF=1 Para cambiar a modo texto

  • Facultad de Ciencias y Tecnologa. Ingeniera Electrnica.

    28

    AT+CMGW=#DE CELULAR Para guardar un mensaje en la memoria del celular con destino a un # de cel.

    AT+CMSS=1 Enviar el SMS guardado en la posicin 1.

    Atd#DE CELULAR; Para hacer una llamada a un # de cel.

    9.3. Cdigo Fuente

    9.3.1. Cdigo Fuente del PIC-16F877A

    LIST P=16F877A INCLUDE INCLUDE __CONFIG _CP_OFF & _WRT_OFF & _DEBUG_OFF & _CPD_OFF & _LVP_OFF & _BODEN_OFF & _PWRTE_ON & _WDT_OFF & _XT_OSC CBLOCK 0x20 DATOX, APUNT, W_TEMP, STATUS_TEMP,BANDE ENDC ORG 0x00 GOTO INICIO ORG 0X04 GOTO INTERR INCLUDE INCLUDE INICIO BANCO_1 MOVLW B'11101111' MOVWF TRISB ;RB0=ENTRADA RC6=TX RC7=RX MOVLW B'10111111' ;RC6= SALIDA MOVWF TRISC MOVLW b'00100100' ;TXEN=1 BRGH=1 MOVWF TXSTA ;REGISTRO DE TRANSMISION MOVLW 0x19 ; 0x19=9600 bps MOVWF SPBRG ;GENERADOR DE BAUDIOS MOVLW B'10010000' ;GIE=1 ,INTE=1 ,INTF=O MOVWF INTCON BSF OPTION_REG,6 ;********* INTEDG=1 FLANCO ASCENDENTE BANCO_0 MOVLW B'10010000' ;SPEN=1 RCEN=1 MOVWF RCSTA ;REGISTRO DE RECEPCION PRINCIPAL CALL MEM_CEL ;SELECCIONAMOS MEMORIA DEL CEL

  • Facultad de Ciencias y Tecnologa. Ingeniera Electrnica.

    29

    CALL Retardo_2s CALL MODO_TEXT ;SELECIONO EL MODO TEXTO CALL Retardo_2s CALL GUARDAR_MSG ;ALMACENO MENSAJES CALL Retardo_2s BSF PORTB,3 INFINITO BTFSC PORTB,3 ;TESTEA RB3 GOTO INFORMAR1 ;SI RB3=1 MANDA EL MENSAJE3 BTFSC PORTB,4 ;TESTEA RB3 GOTO INFORMAR2 ;SI RB3=1 MANDA EL MENSAJE4 GOTO INFINITO INFORMAR1 CALL ENVIA_MSG3 BSF PORTB,7 CALL Retardo_1s GOTO INFINITO INFORMAR2 CALL ENVIA_MSG4 BSF PORTB,7 CALL Retardo_2s GOTO INFINITO ;*************************************** ;RUTINA ATIENDE LA INTERRUPCION ;**************************************** INTERR MOVWF W_TEMP ;Copia W en el registro TEMP SWAPF STATUS,W ;Intercambia los nibles del registro de STATUS ; y los guarda en W CLRF STATUS ;Selecciona banco0, independientemente del banco actual, ;borra IRP,RP1,RP0 MOVWF STATUS_TEMP ;salva el registro de STATUS en STATUS_TEMP ;movf PCLATH,W ;Solo es necesario si se emplean las pginas 1,2 y/o 3 ;movwf PCLATH_TEMP ;Salva PCLATH en W ;----------------------------------------------------- BTFSS INTCON,INTF ;checa bandera de captura de evento GOTO ret ;si no es bandera de captura retorna BTFSS PORTB,1 GOTO PREG2 ; SI RB1=0 IR A PR2 CALL ENVIA_MSG1 GOTO SAL PREG2 BTFSS PORTB,2 GOTO PREG3 ;SI RB2=0 LLAMAR CALL ENVIA_MSG2 GOTO SAL PREG3 CALL LLAMAR CALL Retardo_10s CALL PARAR_LLAMADA SAL BCF INTCON,INTF ;------------------------------------------------- ret SWAPF STATUS_TEMP,W ;restablece contexto MOVWF STATUS SWAPF W_TEMP,F SWAPF W_TEMP,W RETFIE

  • Facultad de Ciencias y Tecnologa. Ingeniera Electrnica.

    30

    ;************************************************************ ;ENVIA CARACTER----USART ;************************************************************ ENVIA BANCO_1 ESP BTFSS TXSTA,TRMT ;vemos el bufer de transmisin GOTO ESP BANCO_0 MOVF DATOX,W ;rescata dato a enviar MOVWF TXREG ;lo envia RETURN ;*********************************************************** ;RUTINA PARA GUARDAR N MENSAJES EN EL CELULAR ;*********************************************************** GUARDAR_MSG CALL ESCRIBIR_MSG CALL Retardo_2s CALL E_MSG1 CALL Retardo_2s CALL ESCRIBIR_MSG CALL Retardo_2s CALL E_MSG2 CALL Retardo_2s CALL ESCRIBIR_MSG CALL Retardo_2s CALL E_MSG3 CALL Retardo_2s CALL ESCRIBIR_MSG CALL Retardo_2s CALL E_MSG4 CALL Retardo_2s RETURN ;*********************************************************** ;COMANDO SELECCIONAR MEMORIA DEL CELULAR ;*********************************************************** MEM_CEL CLRF APUNT CICLO CALL AT_CPMS MOVWF DATOX SUBLW "J" BTFSC STATUS,Z GOTO SALIR CALL ENVIA INCF APUNT,1 GOTO CICLO BANCO_1 BCF TXSTA,TXEN SALIR RETURN ;*********************************************************** ;COMANDO DE SELECCION MODO TEXTO ;*********************************************************** MODO_TEXT CLRF APUNT CICLOMT CALL AT_CMGF MOVWF DATOX SUBLW "J"

  • Facultad de Ciencias y Tecnologa. Ingeniera Electrnica.

    31

    BTFSC STATUS,Z GOTO SALIRMT CALL ENVIA INCF APUNT,1 GOTO CICLOMT BANCO_1 BCF TXSTA,TXEN SALIRMT RETURN ;*********************************************************** ;COMANDO DE ESCRIBIR DE MENSAJES A GUARDAR ;*********************************************************** ESCRIBIR_MSG CLRF APUNT CICLOEMSG CALL AT_CMGW MOVWF DATOX SUBLW "J" BTFSC STATUS,Z GOTO SALIREMSG CALL ENVIA INCF APUNT,1 GOTO CICLOEMSG BANCO_1 BCF TXSTA,TXEN SALIREMSG RETURN ;*********************************************************** ;COMANDO DE ESCRIBIR DE MENSAJES A GUARDAR ;*********************************************************** E_MSG1 CLRF APUNT CICLOEE CALL MSG1 MOVWF DATOX SUBLW "J" BTFSC STATUS,Z GOTO SALIREE CALL ENVIA INCF APUNT,1 GOTO CICLOEE BANCO_1 BCF TXSTA,TXEN SALIREE RETURN ;*********************************************************** ;COMANDO DE ESCRIBIR DE MENSAJES A GUARDAR ;*********************************************************** E_MSG2 CLRF APUNT CICLOEE2 CALL MSG2 MOVWF DATOX SUBLW "J" BTFSC STATUS,Z GOTO SALIREE2 CALL ENVIA INCF APUNT,1 GOTO CICLOEE2 BANCO_1 BCF TXSTA,TXEN SALIREE2

  • Facultad de Ciencias y Tecnologa. Ingeniera Electrnica.

    32

    RETURN ;*********************************************************** ;COMANDO DE ESCRIBIR DE MENSAJES A GUARDAR ;*********************************************************** E_MSG3 CLRF APUNT CICLOEE3 CALL MSG3 MOVWF DATOX SUBLW "J" BTFSC STATUS,Z GOTO SALIREE3 CALL ENVIA INCF APUNT,1 GOTO CICLOEE3 BANCO_1 BCF TXSTA,TXEN SALIREE3 RETURN ;*********************************************************** ;COMANDO DE ESCRIBIR DE MENSAJES A GUARDAR ;*********************************************************** E_MSG4 CLRF APUNT CICLOEE4 CALL MSG4 MOVWF DATOX SUBLW "J" BTFSC STATUS,Z GOTO SALIREE4 CALL ENVIA INCF APUNT,1 GOTO CICLOEE4 BANCO_1 BCF TXSTA,TXEN SALIREE4 RETURN ;*********************************************************** ;COMANDO PARA REALIZAR LLAMADA ;*********************************************************** LLAMAR CLRF APUNT CICLO1 CALL ATD_CEL MOVWF DATOX SUBLW "J" BTFSC STATUS,Z GOTO SALIR1 CALL ENVIA INCF APUNT,1 GOTO CICLO1 BANCO_1 BCF TXSTA,TXEN SALIR1 RETURN ;*********************************************************** ;COMANDO DETENER LLAMADA ;*********************************************************** PARAR_LLAMADA CLRF APUNT

  • Facultad de Ciencias y Tecnologa. Ingeniera Electrnica.

    33

    CICLOPLL CALL AT_CHUP MOVWF DATOX SUBLW "J" BTFSC STATUS,Z GOTO SALIRPLL CALL ENVIA INCF APUNT,1 GOTO CICLOPLL BANCO_1 BCF TXSTA,TXEN SALIRPLL RETURN ;*********************************************************** ;COMANDO ENVIAR MENSAJE1 ;*********************************************************** ENVIA_MSG1 CLRF APUNT CICLOA CALL AT_CMSS1 MOVWF DATOX SUBLW "J" BTFSC STATUS,Z GOTO SALIRA CALL ENVIA INCF APUNT,1 GOTO CICLOA BANCO_1 BCF TXSTA,TXEN SALIRA RETURN ;*********************************************************** ;COMANDO ENVIAR MENSAJE2 ;*********************************************************** ENVIA_MSG2 CLRF APUNT CICLOB CALL AT_CMSS2 MOVWF DATOX SUBLW "J" BTFSC STATUS,Z GOTO SALIRB CALL ENVIA INCF APUNT,1 GOTO CICLOB BANCO_1 BCF TXSTA,TXEN SALIRB RETURN ;*********************************************************** ;COMANDO ENVIAR MENSAJE3 ;*********************************************************** ENVIA_MSG3 CLRF APUNT CICLOC CALL AT_CMSS3 MOVWF DATOX SUBLW "J" BTFSC STATUS,Z GOTO SALIRC CALL ENVIA INCF APUNT,1

  • Facultad de Ciencias y Tecnologa. Ingeniera Electrnica.

    34

    GOTO CICLOC BANCO_1 BCF TXSTA,TXEN SALIRC RETURN ;*********************************************************** ;COMANDO ENVIAR MENSAJE3 ;*********************************************************** ENVIA_MSG4 CLRF APUNT CICLOD CALL AT_CMSS4 MOVWF DATOX SUBLW "J" BTFSC STATUS,Z GOTO SALIRD CALL ENVIA INCF APUNT,1 GOTO CICLOD BANCO_1 BCF TXSTA,TXEN SALIRD RETURN END

  • Facultad de Ciencias y Tecnologa. Ingeniera Electrnica.

    35

    9.4. Libreras Utilizadas

    9.4.1. P16F877A.INC

    LIST ; P16F877A.INC Standard Header File, Version 1.00 Microchip Technology, Inc. NOLIST ; This header file defines configurations, registers, and other useful bits of ; information for the PIC16F877A microcontroller. These names are taken to match ; the data sheets as closely as possible. ; Note that the processor must be selected before this file is ; included. The processor may be selected the following ways: ; 1. Command line switch: ; C:\ MPASM MYFILE.ASM /PIC16F877A ; 2. LIST directive in the source file ; LIST P=PIC16F877A ; 3. Processor Type entry in the MPASM full-screen interface ;========================================================================== ; ; Revision History ; ;========================================================================== ;Rev: Date: Reason: ;1.03 11/17/05 Added the ADCON1 bit ADCS2. ;1.02 05/28/02 Corrected values for _CP_ALL and _CP_OFF in Configuration Bits section. ;1.01 09/13/01 Added the PIR2 bit CMIF and the PIE2 bit CMIE ;1.00 04/19/01 Initial Release (BD - generated from PIC16F877.inc) ;========================================================================== ; ; Verify Processor ; ;========================================================================== IFNDEF __16F877A MESSG "Processor-header file mismatch. Verify selected processor." ENDIF ;========================================================================== ; ; Register Definitions ; ;========================================================================== W EQU H'0000' F EQU H'0001' ;----- Register Files------------------------------------------------------ INDF EQU H'0000' TMR0 EQU H'0001' PCL EQU H'0002'

  • Facultad de Ciencias y Tecnologa. Ingeniera Electrnica.

    36

    STATUS EQU H'0003' FSR EQU H'0004' PORTA EQU H'0005' PORTB EQU H'0006' PORTC EQU H'0007' PORTD EQU H'0008' PORTE EQU H'0009' PCLATH EQU H'000A' INTCON EQU H'000B' PIR1 EQU H'000C' PIR2 EQU H'000D' TMR1L EQU H'000E' TMR1H EQU H'000F' T1CON EQU H'0010' TMR2 EQU H'0011' T2CON EQU H'0012' SSPBUF EQU H'0013' SSPCON EQU H'0014' CCPR1L EQU H'0015' CCPR1H EQU H'0016' CCP1CON EQU H'0017' RCSTA EQU H'0018' TXREG EQU H'0019' RCREG EQU H'001A' CCPR2L EQU H'001B' CCPR2H EQU H'001C' CCP2CON EQU H'001D' ADRESH EQU H'001E' ADCON0 EQU H'001F' OPTION_REG EQU H'0081' TRISA EQU H'0085' TRISB EQU H'0086' TRISC EQU H'0087' TRISD EQU H'0088' TRISE EQU H'0089' PIE1 EQU H'008C' PIE2 EQU H'008D' PCON EQU H'008E' SSPCON2 EQU H'0091' PR2 EQU H'0092' SSPADD EQU H'0093' SSPSTAT EQU H'0094' TXSTA EQU H'0098' SPBRG EQU H'0099' CMCON EQU H'009C' CVRCON EQU H'009D' ADRESL EQU H'009E' ADCON1 EQU H'009F' EEDATA EQU H'010C' EEADR EQU H'010D' EEDATH EQU H'010E' EEADRH EQU H'010F' EECON1 EQU H'018C' EECON2 EQU H'018D' ;----- STATUS Bits -------------------------------------------------------- IRP EQU H'0007' RP1 EQU H'0006'

  • Facultad de Ciencias y Tecnologa. Ingeniera Electrnica.

    37

    RP0 EQU H'0005' NOT_TO EQU H'0004' NOT_PD EQU H'0003' Z EQU H'0002' DC EQU H'0001' C EQU H'0000' ;----- INTCON Bits -------------------------------------------------------- GIE EQU H'0007' PEIE EQU H'0006' T0IE EQU H'0005' TMR0IE EQU H'0005' INTE EQU H'0004' RBIE EQU H'0003' T0IF EQU H'0002' TMR0IF EQU H'0002' INTF EQU H'0001' RBIF EQU H'0000' ;----- PIR1 Bits ---------------------------------------------------------- PSPIF EQU H'0007' ADIF EQU H'0006' RCIF EQU H'0005' TXIF EQU H'0004' SSPIF EQU H'0003' CCP1IF EQU H'0002' TMR2IF EQU H'0001' TMR1IF EQU H'0000' ;----- PIR2 Bits ---------------------------------------------------------- CMIF EQU H'0006' EEIF EQU H'0004' BCLIF EQU H'0003' CCP2IF EQU H'0000' ;----- T1CON Bits --------------------------------------------------------- T1CKPS1 EQU H'0005' T1CKPS0 EQU H'0004' T1OSCEN EQU H'0003' NOT_T1SYNC EQU H'0002' T1INSYNC EQU H'0002' ; Backward compatibility only T1SYNC EQU H'0002' TMR1CS EQU H'0001' TMR1ON EQU H'0000' ;----- T2CON Bits --------------------------------------------------------- TOUTPS3 EQU H'0006' TOUTPS2 EQU H'0005' TOUTPS1 EQU H'0004' TOUTPS0 EQU H'0003' TMR2ON EQU H'0002' T2CKPS1 EQU H'0001' T2CKPS0 EQU H'0000' ;----- SSPCON Bits -------------------------------------------------------- WCOL EQU H'0007'

  • Facultad de Ciencias y Tecnologa. Ingeniera Electrnica.

    38

    SSPOV EQU H'0006' SSPEN EQU H'0005' CKP EQU H'0004' SSPM3 EQU H'0003' SSPM2 EQU H'0002' SSPM1 EQU H'0001' SSPM0 EQU H'0000' ;----- CCP1CON Bits ------------------------------------------------------- CCP1X EQU H'0005' CCP1Y EQU H'0004' CCP1M3 EQU H'0003' CCP1M2 EQU H'0002' CCP1M1 EQU H'0001' CCP1M0 EQU H'0000' ;----- RCSTA Bits --------------------------------------------------------- SPEN EQU H'0007' RX9 EQU H'0006' RC9 EQU H'0006' ; Backward compatibility only NOT_RC8 EQU H'0006' ; Backward compatibility only RC8_9 EQU H'0006' ; Backward compatibility only SREN EQU H'0005' CREN EQU H'0004' ADDEN EQU H'0003' FERR EQU H'0002' OERR EQU H'0001' RX9D EQU H'0000' RCD8 EQU H'0000' ; Backward compatibility only ;----- CCP2CON Bits ------------------------------------------------------- CCP2X EQU H'0005' CCP2Y EQU H'0004' CCP2M3 EQU H'0003' CCP2M2 EQU H'0002' CCP2M1 EQU H'0001' CCP2M0 EQU H'0000' ;----- ADCON0 Bits -------------------------------------------------------- ADCS1 EQU H'0007' ADCS0 EQU H'0006' CHS2 EQU H'0005' CHS1 EQU H'0004' CHS0 EQU H'0003' GO EQU H'0002' NOT_DONE EQU H'0002' GO_DONE EQU H'0002' ADON EQU H'0000' ;----- OPTION_REG Bits ----------------------------------------------------- NOT_RBPU EQU H'0007' INTEDG EQU H'0006' T0CS EQU H'0005' T0SE EQU H'0004' PSA EQU H'0003' PS2 EQU H'0002' PS1 EQU H'0001'

  • Facultad de Ciencias y Tecnologa. Ingeniera Electrnica.

    39

    PS0 EQU H'0000' ;----- TRISE Bits --------------------------------------------------------- IBF EQU H'0007' OBF EQU H'0006' IBOV EQU H'0005' PSPMODE EQU H'0004' TRISE2 EQU H'0002' TRISE1 EQU H'0001' TRISE0 EQU H'0000' ;----- PIE1 Bits ---------------------------------------------------------- PSPIE EQU H'0007' ADIE EQU H'0006' RCIE EQU H'0005' TXIE EQU H'0004' SSPIE EQU H'0003' CCP1IE EQU H'0002' TMR2IE EQU H'0001' TMR1IE EQU H'0000' ;----- PIE2 Bits ---------------------------------------------------------- CMIE EQU H'0006' EEIE EQU H'0004' BCLIE EQU H'0003' CCP2IE EQU H'0000' ;----- PCON Bits ---------------------------------------------------------- NOT_POR EQU H'0001' NOT_BO EQU H'0000' NOT_BOR EQU H'0000' ;----- SSPCON2 Bits -------------------------------------------------------- GCEN EQU H'0007' ACKSTAT EQU H'0006' ACKDT EQU H'0005' ACKEN EQU H'0004' RCEN EQU H'0003' PEN EQU H'0002' RSEN EQU H'0001' SEN EQU H'0000' ;----- SSPSTAT Bits ------------------------------------------------------- SMP EQU H'0007' CKE EQU H'0006' D EQU H'0005' I2C_DATA EQU H'0005' NOT_A EQU H'0005' NOT_ADDRESS EQU H'0005' D_A EQU H'0005' DATA_ADDRESS EQU H'0005' P EQU H'0004' I2C_STOP EQU H'0004' S EQU H'0003' I2C_START EQU H'0003' R EQU H'0002'

  • Facultad de Ciencias y Tecnologa. Ingeniera Electrnica.

    40

    I2C_READ EQU H'0002' NOT_W EQU H'0002' NOT_WRITE EQU H'0002' R_W EQU H'0002' READ_WRITE EQU H'0002' UA EQU H'0001' BF EQU H'0000' ;----- TXSTA Bits --------------------------------------------------------- CSRC EQU H'0007' TX9 EQU H'0006' NOT_TX8 EQU H'0006' ; Backward compatibility only TX8_9 EQU H'0006' ; Backward compatibility only TXEN EQU H'0005' SYNC EQU H'0004' BRGH EQU H'0002' TRMT EQU H'0001' TX9D EQU H'0000' TXD8 EQU H'0000' ; Backward compatibility only ;----- CMCON Bits --------------------------------------------------------- C2OUT EQU H'0007' C1OUT EQU H'0006' C2INV EQU H'0005' C1INV EQU H'0004' CIS EQU H'0003' CM2 EQU H'0002' CM1 EQU H'0001' CM0 EQU H'0000' ;----- CVRCON Bits -------------------------------------------------------- CVREN EQU H'0007' CVROE EQU H'0006' CVRR EQU H'0005' CVR3 EQU H'0003' CVR2 EQU H'0002' CVR1 EQU H'0001' CVR0 EQU H'0000' ;----- ADCON1 Bits -------------------------------------------------------- ADFM EQU H'0007' ADCS2 EQU H'0006' PCFG3 EQU H'0003' PCFG2 EQU H'0002' PCFG1 EQU H'0001' PCFG0 EQU H'0000' ;----- EECON1 Bits -------------------------------------------------------- EEPGD EQU H'0007' WRERR EQU H'0003' WREN EQU H'0002' WR EQU H'0001' RD EQU H'0000' ;========================================================================== ; ; RAM Definition ;

  • Facultad de Ciencias y Tecnologa. Ingeniera Electrnica.

    41

    ;========================================================================== __MAXRAM H'1FF' __BADRAM H'8F'-H'90', H'95'-H'97', H'9A'-H'9B' __BADRAM H'105', H'107'-H'109' __BADRAM H'185', H'187'-H'189', H'18E'-H'18F' ;========================================================================== ; ; Configuration Bits ; ;========================================================================== _CP_ALL EQU H'1FFF' _CP_OFF EQU H'3FFF' _DEBUG_OFF EQU H'3FFF' _DEBUG_ON EQU H'37FF' _WRT_OFF EQU H'3FFF' ; No prog memmory write protection _WRT_256 EQU H'3DFF' ; First 256 prog memmory write protected _WRT_1FOURTH EQU H'3BFF' ; First quarter prog memmory write protected _WRT_HALF EQU H'39FF' ; First half memmory write protected _CPD_OFF EQU H'3FFF' _CPD_ON EQU H'3EFF' _LVP_ON EQU H'3FFF' _LVP_OFF EQU H'3F7F' _BODEN_ON EQU H'3FFF' _BODEN_OFF EQU H'3FBF' _PWRTE_OFF EQU H'3FFF' _PWRTE_ON EQU H'3FF7' _WDT_ON EQU H'3FFF' _WDT_OFF EQU H'3FFB' _RC_OSC EQU H'3FFF' _HS_OSC EQU H'3FFE' _XT_OSC EQU H'3FFD' _LP_OSC EQU H'3FFC' LIST

  • Facultad de Ciencias y Tecnologa. Ingeniera Electrnica.

    42

    9.4.2. RETARDOS.INC

    ;**************************** Librera "RETARDOS.INC" ********************************* ; Librera con mltiples subrutinas de retardos, desde 4 microsegundos hasta 20 segundos. ; ; Se han calculado para un sistema microcontrolador con un PIC trabajando con un cristal ; de cuarzo a 4 MHz. ; En los comentarios, "cm" significa "ciclos mquina". ; ; ZONA DE DATOS ********************************************************************* CBLOCK R_ContA ; Contadores para los retardos. R_ContB R_ContC ENDC ; ; RETARDOS de 4 hasta 10 microsegundos --------------------------------------------------- ; ; Retardo_10micros ; La llamada "call" aporta 2 ciclos mquina. nop ; Aporta 1 ciclo mquina. nop ; Aporta 1 ciclo mquina. nop ; Aporta 1 ciclo mquina. nop ; Aporta 1 ciclo mquina. nop ; Aporta 1 ciclo mquina. Retardo_5micros ; La llamada "call" aporta 2 ciclos mquina. nop ; Aporta 1 ciclo mquina. Retardo_4micros ; La llamada "call" aporta 2 ciclos mquina. return ; El salto del retorno aporta 2 ciclos mquina. ; ; RETARDOS de 20 hasta 500 microsegundos ------------------------------------------------ ; Retardo_500micros ; La llamada "call" aporta 2 ciclos mquina. nop ; Aporta 1 ciclo mquina. movlw d'164' ; Aporta 1 ciclo mquina. Este es el valor de "K". goto RetardoMicros ; Aporta 2 ciclos mquina. Retardo_200micros ; La llamada "call" aporta 2 ciclos mquina. nop ; Aporta 1 ciclo mquina. movlw d'64' ; Aporta 1 ciclo mquina. Este es el valor de "K". goto RetardoMicros ; Aporta 2 ciclos mquina. Retardo_100micros ; La llamada "call" aporta 2 ciclos mquina. movlw d'31' ; Aporta 1 ciclo mquina. Este es el valor de "K". goto RetardoMicros ; Aporta 2 ciclos mquina. Retardo_50micros ; La llamada "call" aporta 2 ciclos mquina.

  • Facultad de Ciencias y Tecnologa. Ingeniera Electrnica.

    43

    nop ; Aporta 1 ciclo mquina. movlw d'14' ; Aporta 1 ciclo mquina. Este es el valor de "K". goto RetardoMicros ; Aporta 2 ciclos mquina. Retardo_20micros ; La llamada "call" aporta 2 ciclos mquina. movlw d'5' ; Aporta 1 ciclo mquina. Este es el valor de "K". ; ; RetardoMicros movwf R_ContA ; Aporta 1 ciclo mquina. Rmicros_Bucle decfsz R_ContA,F ; (K-1)x1 cm (cuando no salta) + 2 cm (al saltar). goto Rmicros_Bucle ; Aporta (K-1)x2 ciclos mquina. return ; El salto del retorno aporta 2 ciclos mquina. ; ;En total estas subrutinas tardan: ; RETARDOS de 1 ms hasta 200 ms. -------------------------------------------------------- ; Retardo_200ms ; La llamada "call" aporta 2 ciclos mquina. movlw d'200' ; Aporta 1 ciclo mquina. Este es el valor de "M". goto Retardos_ms ; Aporta 2 ciclos mquina. Retardo_100ms ; La llamada "call" aporta 2 ciclos mquina. movlw d'100' ; Aporta 1 ciclo mquina. Este es el valor de "M". goto Retardos_ms ; Aporta 2 ciclos mquina. Retardo_50ms ; La llamada "call" aporta 2 ciclos mquina. movlw d'50' ; Aporta 1 ciclo mquina. Este es el valor de "M". goto Retardos_ms ; Aporta 2 ciclos mquina. Retardo_20ms ; La llamada "call" aporta 2 ciclos mquina. movlw d'20' ; Aporta 1 ciclo mquina. Este es el valor de "M". goto Retardos_ms ; Aporta 2 ciclos mquina. Retardo_10ms ; La llamada "call" aporta 2 ciclos mquina. movlw d'10' ; Aporta 1 ciclo mquina. Este es el valor de "M". goto Retardos_ms ; Aporta 2 ciclos mquina. Retardo_5ms ; La llamada "call" aporta 2 ciclos mquina. movlw d'5' ; Aporta 1 ciclo mquina. Este es el valor de "M". goto Retardos_ms ; Aporta 2 ciclos mquina. Retardo_2ms ; La llamada "call" aporta 2 ciclos mquina. movlw d'2' ; Aporta 1 ciclo mquina. Este es el valor de "M". goto Retardos_ms ; Aporta 2 ciclos mquina. Retardo_1ms ; La llamada "call" aporta 2 ciclos mquina. movlw d'1' ; Aporta 1 ciclo mquina. Este es el valor de "M". ; ; Retardos_ms movwf R_ContB ; Aporta 1 ciclo mquina. R1ms_BucleExterno

  • Facultad de Ciencias y Tecnologa. Ingeniera Electrnica.

    44

    movlw d'249' ; Aporta Mx1 ciclos mquina. Este es el valor de "K". movwf R_ContA ; Aporta Mx1 ciclos mquina. R1ms_BucleInterno nop ; Aporta KxMx1 ciclos mquina. decfsz R_ContA,F ; (K-1)xMx1 cm (cuando no salta) + Mx2 cm (al saltar). goto R1ms_BucleInterno ; Aporta (K-1)xMx2 ciclos mquina. decfsz R_ContB,F ; (M-1)x1 cm (cuando no salta) + 2 cm (al saltar). goto R1ms_BucleExterno ; Aporta (M-1)x2 ciclos mquina. return ; El salto del retorno aporta 2 ciclos mquina. ; ;En total estas subrutinas tardan: ; RETARDOS de 0.5 hasta 20 segundos --------------------------------------------------- ; Retardo_20s ; La llamada "call" aporta 2 ciclos mquina. movlw d'200' ; Aporta 1 ciclo mquina. Este es el valor de "N". goto Retardo_1Decima ; Aporta 2 ciclos mquina. Retardo_10s ; La llamada "call" aporta 2 ciclos mquina. movlw d'100' ; Aporta 1 ciclo mquina. Este es el valor de "N". goto Retardo_1Decima ; Aporta 2 ciclos mquina. Retardo_5s ; La llamada "call" aporta 2 ciclos mquina. movlw d'50' ; Aporta 1 ciclo mquina. Este es el valor de "N". goto Retardo_1Decima ; Aporta 2 ciclos mquina. Retardo_2s ; La llamada "call" aporta 2 ciclos mquina. movlw d'20' ; Aporta 1 ciclo mquina. Este es el valor de "N". goto Retardo_1Decima ; Aporta 2 ciclos mquina. Retardo_1s ; La llamada "call" aporta 2 ciclos mquina. movlw d'10' ; Aporta 1 ciclo mquina. Este es el valor de "N". goto Retardo_1Decima ; Aporta 2 ciclos mquina. Retardo_500ms ; La llamada "call" aporta 2 ciclos mquina. movlw d'5' ; Aporta 1 ciclo mquina. Este es el valor de "N". ; ; El prximo bloque "Retardo_1Decima" tarda: ; ciclos mquina que a 4 MHz son 100011 s = 100 ms = 0,1 s = 1 dcima de segundo. ; Retardo_1Decima movwf R_ContC ; Aporta 1 ciclo mquina. R1Decima_BucleExterno2 movlw d'100' ; Aporta Nx1 ciclos mquina. Este es el valor de "M". movwf R_ContB ; Aporta Nx1 ciclos mquina. R1Decima_BucleExterno movlw d'249' ; Aporta MxNx1 ciclos mquina. Este es el valor de "K". movwf R_ContA ; Aporta MxNx1 ciclos mquina.

  • Facultad de Ciencias y Tecnologa. Ingeniera Electrnica.

    45

    R1Decima_BucleInterno nop ; Aporta KxMxNx1 ciclos mquina. decfsz R_ContA,F ; (K-1)xMxNx1 cm (si no salta) + MxNx2 cm (al saltar). goto R1Decima_BucleInterno ; Aporta (K-1)xMxNx2 ciclos mquina. decfsz R_ContB,F ; (M-1)xNx1 cm (cuando no salta) + Nx2 cm (al saltar). goto R1Decima_BucleExterno ; Aporta (M-1)xNx2 ciclos mquina. decfsz R_ContC,F ; (N-1)x1 cm (cuando no salta) + 2 cm (al saltar). goto R1Decima_BucleExterno2 ; Aporta (N-1)x2 ciclos mquina. return ; El salto del retorno aporta 2 ciclos mquina.

  • Facultad de Ciencias y Tecnologa. Ingeniera Electrnica.

    46

    9.4.3. MACROS.INC

    ;****Librera "MACROS.INC" *********; ; ********************************* ; BANCO_0 MACRO BCF STATUS,RP0 BCF STATUS,RP1 ENDM BANCO_1 MACRO BSF STATUS,RP0 BCF STATUS,RP1 ENDM BANCO_2 MACRO BCF STATUS,RP0 BSF STATUS,RP1 ENDM BANCO_3 MACRO BSF STATUS,RP0 BSF STATUS,RP1 ENDM

  • Facultad de Ciencias y Tecnologa. Ingeniera Electrnica.

    47

    9.4.4. cadenas.inc

    ;********************************************************** ;cadenas a enviar por el usart ;********************************************************** AT_CPMS; selecciona la memoria de mensajes MOVF APUNT,W ; carga apuntador en w ADDWF PCL,1 ;salta w instruciones hacia adelante DT "at+cpms=",0x22,"ME",0X22,",",0X22,"ME",0X22,0x0D,0X0A,"J" RETURN AT_CMSS1;envia el mensaje almacenado en la posicion #1 MOVF APUNT,W ; carga apuntador en w ADDWF PCL,1 ;salta w instruciones hacia adelante DT "at+cmss=1",0x0D,0X0A,"J" RETURN AT_CMSS2 ;envia el mensaje almacenado en la poscion #2 MOVF APUNT,W ; carga apuntador en w ADDWF PCL,1 ;salta w instruciones hacia adelante DT "at+cmss=2",0x0D,0X0A,"J" RETURN AT_CMSS3;envia el mensaje almacenado en la posicion #3 MOVF APUNT,W ; carga apuntador en w ADDWF PCL,1 ;salta w instruciones hacia adelante DT "at+cmss=3",0x0D,0X0A,"J" RETURN AT_CMSS4 ;envia el mensaje almacenado en la poscion #4 MOVF APUNT,W ; carga apuntador en w ADDWF PCL,1 ;salta w instruciones hacia adelante DT "at+cmss=4",0x0D,0X0A,"J" RETURN ATD_CEL ;ATD71753016 MOVF APUNT,W ; carga apuntador en w ADDWF PCL,1 ;salta w instruciones hacia adelante DT "atd79986235;",0x0D,0X0A,"J" ;--------------------- RETURN AT_CHUP ;PARADA DE LA LLAMADA MOVF APUNT,W ; carga apuntador en w ADDWF PCL,1 ;salta w instruciones hacia adelante DT "at+chup",0x0D,0X0A,"J" RETURN ;*********************************************************** AT_CMGF ;SELECCIONA MODO TEXTO MOVF APUNT,W ; carga apuntador en w ADDWF PCL,1 ;salta w instruciones hacia adelante DT "at+cmgF=1",0x0D,0X0A,"J" RETURN ;************************************************************ ;comando at para ESCRIBIR EL MENSAJE EN LA MEMORIA AT_CMGW ;almacena mensaje en la memoria del celular en posicion libre

  • Facultad de Ciencias y Tecnologa. Ingeniera Electrnica.

    48

    MOVF APUNT,W ; carga apuntador en w ADDWF PCL,1 ;salta w instruciones hacia adelante DT "at+cmgw=",0x22,"79986235",0x22,0x0D,0X0A,"J" ;--------------- RETURN ;************************************************************ ;mensajes que se guardan en el cel al inicio ;********************************************************* MSG1 ;mensaje #1 a guardar en la memoria del cel. MOVF APUNT,W ; carga apuntador en w ADDWF PCL,1 ;salta w instruciones hacia adelante DT "actividad en la sala",0x1A,"J" RETURN MSG2 ;mensaje #2 a guardar en la memoria del cel. MOVF APUNT,W ; carga apuntador en w ADDWF PCL,1 ;salta w instruciones hacia adelante DT "alarma 1 activada",0x1A,"J" RETURN MSG3;mensaje #1 a guardar en la memoria del cel. MOVF APUNT,W ; carga apuntador en w ADDWF PCL,1 ;salta w instruciones hacia adelante DT "alarma 2 activada",0x1A,"J" RETURN MSG4;mensaje #2 a guardar en la memoria del cel. MOVF APUNT,W ; carga apuntador en w ADDWF PCL,1 ;salta w instruciones hacia adelante DT "alarma 3 activada",0x1A,"J" RETURN

    10. Conclusin.

    Gracias a los puntos vistos anteriormente se ha logrado dar una alternativa para generar servicios por medio de mensajes de texto SMS (Short Message System) de forma independiente ya que las compaas de telefona venden el servicio pero no hay acceso a los programas que hacen este servicio. Con esto se amplia la variedad de servicios a ofrecer ya sea en forma particular o bien ofrecer este servicio a terceros sin que las compaas de telefona celular se tomen el monopolio de este tipo de servicios.

  • Facultad de Ciencias y Tecnologa. Ingeniera Electrnica.

    49

    11. Bibliografa.

    Manual del PIC -16F8XXX www.todopic.com.ar http://perso.wanadoo.es/luis_ju www.hvwtech.com www.cursoderobotica.com.ar/robotica/Libros/control.htm www.cursoderobotica.com.ar/robotica/Libros/analogico.htm http://www.ifent.org/Lecciones/digitales/secuenciales/ConvertA_D.htm www.multingles.net/docs/conceptosTCP.htm www.programacion.com/java/tutorial/red/11 www.itapizaco.edu.mx/paginas/JavaTut/froufe/index.html www.mysql-hispano.org/page.php?id=24&pag=1 http://bibuct.uct.cl/ALEPH http://voltio.ujaen.es/casanova/pics/intro.htm http://usuarios.lycos.es/sfriswolker/pic/cuatro.htm http://www.telefonos-moviles.com/