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

At y Pic _ Lenguaje ASEMBLER -Cocha

Embed Size (px)

Citation preview

5/11/2018 At y Pic _ Lenguaje ASEMBLER -Cocha - slidepdf.com

http://slidepdf.com/reader/full/at-y-pic-lenguaje-asembler-cocha 1/55

 

UNIVERSIDAD MAYOR DE SAN SIMONFACULTAL DE CIENCIAS Y TECNOLOGIAINGENIERIA ELECTRONICA

Sistema de Seguridad Domiciliaria Mediante SMS

Utilizando el Microcontrolador (PIC-16F877A)

PorFLORES 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 laUniversidad Mayor de San Simón

Cochabamba - 2011

5/11/2018 At y Pic _ Lenguaje ASEMBLER -Cocha - slidepdf.com

http://slidepdf.com/reader/full/at-y-pic-lenguaje-asembler-cocha 2/55

Facultad de Ciencias y Tecnología. Ingeniería Electrónica.

Dedicado:

A todas las personas que sembraron esta

inquietud, a los compañeros de carrera y

de la Universidad Mayor de San Simónpor su apoyo, a toda la gente que estuvo

desde el comienzo…. Algunos siguen

hasta hoy.

Gracias

5/11/2018 At y Pic _ Lenguaje ASEMBLER -Cocha - slidepdf.com

http://slidepdf.com/reader/full/at-y-pic-lenguaje-asembler-cocha 3/55

Facultad de Ciencias y Tecnología. Ingeniería Electrónica.

INDICE

1. Análisis del Proyecto 1 

1.1. Descripción General del Problema. 1

1.2. Objetivo General 1

1.3. Objetivos Específicos 1

1.4. Justificación 2

2. Microcontroladores 3 

2.1. ¿Qué es un Microcontrolador? 3

2.2. Arquitectura básica 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 máscara 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 guardián o Watchdog 9

5/11/2018 At y Pic _ Lenguaje ASEMBLER -Cocha - slidepdf.com

http://slidepdf.com/reader/full/at-y-pic-lenguaje-asembler-cocha 4/55

Facultad de Ciencias y Tecnología. Ingeniería Electrónica.

2.6.3. Protección ante fallo de alimentación 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 analógico 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 comunicación 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 otrosmicroprocesadores. 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. Introducción 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. Definición 14

5.2. Introducción 14

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

5.4. Elementos de la Red y su Arquitectura 16

5/11/2018 At y Pic _ Lenguaje ASEMBLER -Cocha - slidepdf.com

http://slidepdf.com/reader/full/at-y-pic-lenguaje-asembler-cocha 5/55

Facultad de Ciencias y Tecnología. Ingeniería Electrónica.

5.5. Elementos de Señalización 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. Introducción 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 Aplicación 23

7.1. Descripción de la aplicación realizada 23

7.2. Descripción de acciones 23

8. Diseño del Circuito 25

8.1 Modo de comunicación para los puertos COM1 y COM3 26

9. Desarrollo del Proyecto 27

9.1. Justificación del Diseño del Circuito 27

9.2. Los comandos AT Utilizados. 27

9.3. Código Fuente 28

9.3.1. Código Fuente del PIC-16F877A 29

9.4. Librerías 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

5/11/2018 At y Pic _ Lenguaje ASEMBLER -Cocha - slidepdf.com

http://slidepdf.com/reader/full/at-y-pic-lenguaje-asembler-cocha 6/55

Facultad de Ciencias y Tecnología. Ingeniería Electrónica.

10. Conclusión. 48

11. Bibliografía. 49

5/11/2018 At y Pic _ Lenguaje ASEMBLER -Cocha - slidepdf.com

http://slidepdf.com/reader/full/at-y-pic-lenguaje-asembler-cocha 7/55

Facultad de Ciencias y Tecnología. Ingeniería Electrónica.

1

1. Análisis del Proyecto

1.1. Descripción General del Problema.

El uso de Celulares desde hace algunos años dejo de ser objeto de lujo o statussocial en nuestro país es mas se ha vuelto un instrumento indispensable para la

comunicación como bien señala 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 país ” se hace evidente que cada es

mas necesaria la comunicación y por consiguiente la integración que de tecnología

y diversas aplicaciones que van haciendo del teléfono celular el computador del

futuro. Dentro de los servicios conocidos esta el de los juegos de azar, los

mensajes a correos electrónicos, los envíos de mensajes a concursos televisivos,

etc. Todo esto es la respuesta a necesidades nacidas gracias al celular ya queeste al integrar tecnología y servicios es una herramienta comercial muy potente y

de amplia gama de servicios.

Es por esto que hay que aprovechar la tecnología disponible y crear aplicaciones

que satisfagan necesidades cotidianas.

1.2. Objetivo General

Lograr la Interacción 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 Específicos

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

2.- Desarrollar una Aplicación en Java que permita manejar información por

medio del puerto de Comunicaciones.

3.- Desarrollar una Aplicación en Java que permita el envío y recepción de

mensajes cortos de texto SMS.

4.- Integración de Java y Microcontroladores.

5/11/2018 At y Pic _ Lenguaje ASEMBLER -Cocha - slidepdf.com

http://slidepdf.com/reader/full/at-y-pic-lenguaje-asembler-cocha 8/55

Facultad de Ciencias y Tecnología. Ingeniería Electrónica.

2

1.4. Justificación

Debido al explosivo uso de los celulares y la integración 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 aplicación que por medio de mensajes cortos detexto SMS se puedan controlar eventos por medio de un Microcontrolador no es

algo fuera de nuestro alcance y amplia nuestra capacidad de interacción con el

medio por ejemplo tal como podemos pedir el estado del tiempo por SMS

podríamos activar la alarma de la casa o bien si esta se activa recibir un mensaje

con la alarma, también se podría utilizar en el control de frigoríficos, etc. Son

tantos los problemas que podrían encontrar solución con una aplicación de este

tipo solo es cosa de usar la imaginación.

5/11/2018 At y Pic _ Lenguaje ASEMBLER -Cocha - slidepdf.com

http://slidepdf.com/reader/full/at-y-pic-lenguaje-asembler-cocha 9/55

Facultad de Ciencias y Tecnología. Ingeniería Electrónica.

3

2. MICROCONTROLADORES

2.1. ¿Qué es un Microcontrolador?

Un Microcontrolador es un dispositivo electrónico capaz de llevar a cabo procesoslógicos. Estos procesos o acciones son programados en lenguaje ensamblador

por el usuario, y son introducidos en este a través de un programador.

2.2. Arquitectura básica del Microcontrolador PIC-16F877A

Figura 1: Arquitectura básica del Microcontrolador PIC-16F877A

5/11/2018 At y Pic _ Lenguaje ASEMBLER -Cocha - slidepdf.com

http://slidepdf.com/reader/full/at-y-pic-lenguaje-asembler-cocha 10/55

Facultad de Ciencias y Tecnología. Ingeniería Electrónica.

4

Figura 2: El Microcontrolador PIC-16F877A

2.3. Componentes de un Microcontrolador

2.3.1. Procesador

Es el elemento más importante del Microcontrolador y determina sus principales

características, tanto a nivel hardware como software. Se encarga de direccionar

la memoria de instrucciones, recibir el código OP de la instrucción en curso, su

decodificación y la ejecución de la operación que implica la instrucción, así como

la búsqueda 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 número de procesadores usados en los micro - controladores están

basados en la filosofía CISC (Computadores de Juego de Instrucciones

Complejo). Disponen de más de 80 instrucciones máquina en su repertorio,

5/11/2018 At y Pic _ Lenguaje ASEMBLER -Cocha - slidepdf.com

http://slidepdf.com/reader/full/at-y-pic-lenguaje-asembler-cocha 11/55

Facultad de Ciencias y Tecnología. Ingeniería Electrónica.

5

algunas de las cuales son muy sofisticadas y potentes, requiriendo muchos ciclos

para su ejecución. Una ventaja de los procesadores CISC es que ofrecen al

programador instrucciones complejas que actúan como macros, es decir, que si

las tuviésemos que implementar con instrucciones básicas, acabaríamos con dolor

de cabeza.

2.3.1.2. RISC

Tanto la industria de los computadores comerciales como la de los

Microcontroladores están decantándose hacia la filosofía RISC (Computadores de

Juego de Instrucciones Reducido). En estos procesadores el repertorio de

instrucciones máquina 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, además de ser reducido, es específico, o sea, las instrucciones se

adaptan a las necesidades de la aplicación prevista. Esta filosofía se ha bautizado

con el nombre de SISC (Computadores de Juego de Instrucciones Específico).

2.3.2. Memoria

2.3.2.1. ROM con máscara

Es una memoria no volátil de sólo lectura cuyo contenido se graba durante la

fabricación del chip. Si tenemos idea de cómo 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

fotoquímicos, donde se impregnan capas de silicio y oxido de silicio, y según

convenga, se erosionan al exponerlos a la luz.

Como no todos los puntos han de ser erosionados, se sitúa 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 más complicados se consigue fabricar los

transistores y diodos micrométricos que componen un chip. El elevado coste del

5/11/2018 At y Pic _ Lenguaje ASEMBLER -Cocha - slidepdf.com

http://slidepdf.com/reader/full/at-y-pic-lenguaje-asembler-cocha 12/55

Facultad de Ciencias y Tecnología. Ingeniería Electrónica.

6

diseño de la máscara sólo 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 volátil de sólo 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 versión OTP es recomendable cuando es muy corto

el ciclo de diseño del producto, o bien, en la construcción de prototipos y series

muy pequeñas. Tanto en este tipo de memoria como en la EPROM, se suele usar

la encriptación mediante fusibles para proteger el código 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

grabación 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 cápsulas son de material cerámico y son

más caros que los Microcontroladores con memoria OTP que están hechos conmaterial plástico.

2.3.2.4. EEPROM, E2PROM o E² PROM 

Se trata de memorias de sólo lectura, programables y borrables eléctricamente

EEPROM (Electrical Erasable Programmable Read OnIy Memory). Tanto la

programación como el borrado, se realizan eléctricamente desde el propio

grabador y bajo el control programado de un PC. Es muy cómoda y rápida la

operación de grabado y la de borrado. No disponen de ventana de cristal en lasuperficie. 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 número de veces que puede grabarse y borrarse una

memoria EEPROM es infinito, por lo que no es recomendable una reprogramación

5/11/2018 At y Pic _ Lenguaje ASEMBLER -Cocha - slidepdf.com

http://slidepdf.com/reader/full/at-y-pic-lenguaje-asembler-cocha 13/55

Facultad de Ciencias y Tecnología. Ingeniería Electrónica.

7

continúa. Son muy idóneos para la enseñanza y la Ingeniería de diseño. Se va

extendiendo en los fabricantes la tendencia de incluir una pequeña zona de

memoria EEPROM en los circuitos programables para guardar y modificar

cómodamente una serie de parámetros 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 volátil, de bajo consumo, que se puede escribir y

borrar. Funciona como una ROM y una RAM pero consume menos y es más

pequeña. A diferencia de la ROM, la memoria FLASH es programable en el

circuito. Es más rápida 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 volátil. Es más veloz y tolera más ciclos deescritura/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 través de interfaces, o con otros dispositivos. Estas puertas,

también llamadas puertos, son la principal utilidad de las patas o pines de unmicroprocesador. Según los controladores de periféricos que posea cada modelo

de Microcontrolador, las líneas de E/S se destinan a proporcionar el soporte a las

señales 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

sincronización de todas las operaciones del sistema. Esta señal del reloj es elmotor del sistema y la que hace que el programa y los contadores avancen.

Generalmente, el circuito de reloj está incorporado en el Microcontrolador y sólo 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 cerámico o una red R-C. Aumentar

la frecuencia de reloj supone disminuir el tiempo en que se ejecutan las

5/11/2018 At y Pic _ Lenguaje ASEMBLER -Cocha - slidepdf.com

http://slidepdf.com/reader/full/at-y-pic-lenguaje-asembler-cocha 14/55

Facultad de Ciencias y Tecnología. Ingeniería Electrónica.

8

instrucciones pero lleva aparejado un incremento del consumo de energía y de

calor generado.

2.6. RECURSOS ESPECIALES

Los principales recursos específicos que incorporan los Microcontroladores son:

· Temporizadores o Timers.

· Perro guardián o Watchdog.

· Protección ante fallo de alimentación o Brownout.

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

· Conversor A/D (Analógico ->Digital).

· Conversor D/A (Digital ->Analógico).

· Comparador analógico.

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

· Puertas de E/S digitales.

· Puertas de comunicación.

A continuación 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 continuación

dicho valor se va incrementando o decrementando al ritmo de los impulsos de reloj

o algún múltiplo hasta que se desborde y llegue a 0, momento en el que se

produce un aviso. Cuando se desean contar acontecimientos que se materializanpor 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.

5/11/2018 At y Pic _ Lenguaje ASEMBLER -Cocha - slidepdf.com

http://slidepdf.com/reader/full/at-y-pic-lenguaje-asembler-cocha 15/55

Facultad de Ciencias y Tecnología. Ingeniería Electrónica.

9

2.6.2. Perro guardián o Watchdog

Cuando el computador personal se bloquea por un fallo del software u otra causa,

se pulsa el botón 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 día.

El Perro Guardián consiste en un contador que, cuando llega al máximo, provocaun reset automáticamente en el sistema.

Se debe diseñar el programa de trabajo que controla la tarea de forma que resetee

al Perro Guardián 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 guardián

y, al completar su temporización, provocará el reset del sistema.

2.6.3. Protección ante fallo de alimentación o Brownout

Se trata de un circuito que resetea al Microcontrolador cuando el voltaje de

alimentación (VDD) es inferior a un voltaje mínimo (brownout). Mientras el voltaje

de alimentación 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 erróneos por transiciones y ruidos en la línea de alimentación.

2.6.4. Estado de reposo ó de bajo consumo

Son abundantes las situaciones reales de trabajo en que el Microcontrolador debeesperar, sin hacer nada, a que se produzca algún acontecimiento externo que le

ponga de nuevo en funcionamiento. Para ahorrar energía, (factor clave en los

aparatos portátiles), los Microcontroladores disponen de una instrucción especial

(SLEEP en los PIC), que les pasa al estado de reposo o de bajo consumo, en el

cual los requerimientos de potencia son mínimos. En dicho estado se detiene el

reloj principal y se congelan sus circuitos asociados, quedando sumido en un

profundo sueño. Al activarse una interrupción 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 (Analógico/Digital)

pueden procesar señales analógicas, tan abundantes en las aplicaciones. Suelen

5/11/2018 At y Pic _ Lenguaje ASEMBLER -Cocha - slidepdf.com

http://slidepdf.com/reader/full/at-y-pic-lenguaje-asembler-cocha 16/55

Facultad de Ciencias y Tecnología. Ingeniería Electrónica.

10

disponer de un multiplexor que permite aplicar a la entrada del CAD diversas

señales analógicas 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 señal analógica que saca al exterior por una de las patillas del

chip. Existen muchos circuitos que trabajan con señales analógicas.

2.6.7. Comparador analógico

Algunos modelos de Microcontroladores disponen internamente de un

Amplificador Operacional que actúa como comparador entre una señal fija de

referencia y otra variable que se aplica por una de las patitas de la cápsula. La

salida del comparador proporciona un nivel lógico 1 ó 0 según una señal sea

mayor o menor que la otra. También hay modelos de Microcontroladores con un

módulo de tensión 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 seofrecen al exterior a través de las patitas del encapsulado.

2.6.9. Puertos digitales de E/S

Todos los Microcontroladores destinan parte de su patillaje a soportar líneas de

E/S digitales. Por lo general, estas líneas se agrupan de ocho en ocho formando

Puertos.

Las líneas digitales de las Puertos pueden configurarse como Entrada o comoSalida cargando un 1 ó un 0 en el bit correspondiente de un registro destinado a

su configuración.

5/11/2018 At y Pic _ Lenguaje ASEMBLER -Cocha - slidepdf.com

http://slidepdf.com/reader/full/at-y-pic-lenguaje-asembler-cocha 17/55

Facultad de Ciencias y Tecnología. Ingeniería Electrónica.

11

2.6.10. Puertas de comunicación

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 comunicación serie asíncrona. (Ej.: Puerto Serie)

2.6.10.2. USART, adaptador de comunicación serie síncrona y asíncrona

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 adaptación con redes

de conexionado multiplexado desarrollado conjuntamente por Bosch e Intel para el

cableado de dispositivos en automóviles. En EE.UU. se usa el J185O.

5/11/2018 At y Pic _ Lenguaje ASEMBLER -Cocha - slidepdf.com

http://slidepdf.com/reader/full/at-y-pic-lenguaje-asembler-cocha 18/55

Facultad de Ciencias y Tecnología. Ingeniería Electrónica.

12

3. LA FAMILIA DE LOS PIC

3.1. Introducción

Los PIC son una familia de Microcontroladores fabricados por Microchip cuyaarquitectura, capacidades, juego de instrucciones y especialmente su bajo costo lo

hacen muy útil en pequeñas aplicaciones así como parte de otras aplicaciones de

mayor envergadura sustituyendo a gran cantidad de circuitos lógicos

convencionales.

3.2. La Familia PIC

Existen PIC’s 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 aparición que ha acaparado la atención

del mercado. Su principal característica es su reducido tamaño, al disponer todos

sus componentes de 8 patitas además de disponer de 6 líneas 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 susinstrucciones 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.

5/11/2018 At y Pic _ Lenguaje ASEMBLER -Cocha - slidepdf.com

http://slidepdf.com/reader/full/at-y-pic-lenguaje-asembler-cocha 19/55

Facultad de Ciencias y Tecnología. Ingeniería Electrónica.

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 móvil a un

ordenador personal o un Microcontrolador externo. El cable se puede encontrar en

un comercio dedicado a la telefonía móvil, pero en esta práctica se ha optado por

construir uno usando el siguiente esquema:

Figura 3: Estructura MAX232

El circuito se ha diseñado 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 señal

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 señal TX. La línea horizontal

superior de la placa es el (-) y la segunda línea horizontal inferior es el (+). La

alimentación necesaria para que funcione este circuito se obtiene de la propia

batería del teléfono, con los cables conectados al pinout.

5/11/2018 At y Pic _ Lenguaje ASEMBLER -Cocha - slidepdf.com

http://slidepdf.com/reader/full/at-y-pic-lenguaje-asembler-cocha 20/55

Facultad de Ciencias y Tecnología. Ingeniería Electrónica.

14

5. Servicio de Mensajes Cortos (SMS)

5.1. Definición

Servicio de Mensajes Cortos (SMS) es servicio inalámbrico aceptado globalmenteeste permite la transmisión de mensajes alfanuméricos entre clientes de teléfonos

móviles y sistemas externos tales como correo electrónico, paging (Servicio de

radio unidireccional que permite el envió de mensajes escritos para los aparatos

de paging numéricos o alfanuméricos) y sistemas de mensajes de voz.

5.2. Introducción

SMS apareció en escena en 1991 en Europa, donde la tecnología inalámbrica

digital echo raíces. El Standard Europeo para inalámbrica digital, es ahora

conocida globalmente como el Standard para móviles (GSM), incluye el servicio de

mensajería corta desde el principio.

En Norte América, SMS estuvo disponible en las redes inalámbricas 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

comunicación personal (PCS), código de acceso por división múltiple (CDMA), y

acceso por división de tiempo (TDMA), estos métodos ayudaron a la completa

implementación del SMS.

El SMS punto a punto provee un mecanismo para transmitir mensajes cortos de y

hacia equipos Móviles (Celulares). Tras el envío de un mensaje, este no sigue

directamente para el destinatario sino para un centro de mensajes (SMSC), que lo

almacena y envía posteriormente. Este centro hace también la cobranza posterior

del servicio. El centro de mensajes reencamina después el mensaje para el

destinatario, cuando el móvil 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 operación falle.

Una característica del servicio es que en un equipo Móvil 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 también 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.

5/11/2018 At y Pic _ Lenguaje ASEMBLER -Cocha - slidepdf.com

http://slidepdf.com/reader/full/at-y-pic-lenguaje-asembler-cocha 21/55

Facultad de Ciencias y Tecnología. Ingeniería Electrónica.

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 alfanumérico “pager” el cual es

un sistema de búsqueda de personas tipo “Beeper” que permitía unacomunicación unidireccional, en cambio SMS permite mensajería en las dos

direcciones y servicios de notificación, principalmente mensajes de voz. Al

madurar la tecnología y las redes se fueron agregando una variedad de servicios

como el correo electrónico y la integración del fax, servicios de búsqueda, bancos

interactivos y servicios de información. Aplicaciones de inalámbricas tales como el

modulo de identidad del subscriptor (SIM) con capacidades de realizar acciones

de activación, debito y edición de perfil.

Figura 4. Servicio de búsqueda 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 notificación del SMS en las

redes inalámbricas.

· Una alternativa al servicio de búsqueda de personas alfanumérico “Paging”.

5/11/2018 At y Pic _ Lenguaje ASEMBLER -Cocha - slidepdf.com

http://slidepdf.com/reader/full/at-y-pic-lenguaje-asembler-cocha 22/55

Facultad de Ciencias y Tecnología. Ingeniería Electrónica.

16

· Activa el acceso inalámbrico a datos para usuarios de empresas.

· Provisiones de servicios con valor agregado como el e-mail, buzón de voz, la

integración de fax, etc.

· Proporciona una herramienta administrativa para servicios como avisos deprecios, descargas en forma inalámbrica.

Los beneficios del SMS a los clientes se centran en la conveniencia, flexibilidad y

la integración de servicios de mensajes y acceso a datos. Desde esta perspectiva,

el beneficio es ser capaz de usar un equipo móvil como una extensión 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 Mensajería Corta (Short Messaging Entities - SME):

Es una entidad que puede enviar o recibir mensajes cortos. Puede ser localizada

en la red fija, la estación móvil u otro centro de servicio.

· El Centro de Servicio de Mensaje Corto (Short Message Service Center - SMSC)

es el responsable de la transmisión, almacenamiento y envío de mensajes cortos

entre el SME y la estación móvil.

· El Centro de Conmutación Móvil SMS (SMS Gateway/Interworking Mobile

Switching Center - SMS GMSC) es un centro de conmutación de mensajes

encargado de recibir el mensa je del SMSC, interrogar al registro de localización

local por la información de encaminamiento, y entregarlo al MSC que da servicio a

la estación móvil.

· Registro de Localización 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 información de encaminamiento hacia el clienteindicado. El HLR también informa al SMSC del intento de entrega de un mensaje

corto a una estación móvil que ha resultado fallido.

· Registro de Localización del Visitante (Visitor Location Register - VLR):

5/11/2018 At y Pic _ Lenguaje ASEMBLER -Cocha - slidepdf.com

http://slidepdf.com/reader/full/at-y-pic-lenguaje-asembler-cocha 23/55

Facultad de Ciencias y Tecnología. Ingeniería Electrónica.

17

El VLR es la base de datos que contiene la información temporal acerca de los

clientes. Esta información se necesita por el MSC (Mobile Switching Center -

MSC) que ejecuta las funciones de conmutación del sistema y las llamadas de

control hacia y desde otros teléfonos o sistemas de datos.

· Estación Base del sistema. (Base Station System - BSS): Todas las funcionesrelacionadas con la radio se ejecutan en la BSS, la cual consiste en unos

controladores de estación 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 móviles.

· La Estación Móvil (Mobile Station - MS): Es el terminal inalámbrico capaz de

recibir y originar mensajes cortos, así como llamadas de voz. La infraestructura de

señalización de la red inalámbrica está basada en el Sistema de Señalización Nº 7

(SS7).

· Sistema de Señalización Nº 7 (Signalig System 7 – SS7). SMS hace uso de la

Parte de Aplicación Móvil (Mobile Application Part - MAP), la cual define los

métodos y mecanismos de comunicación en redes inalámbricas y usa los servicios

de la Parte de Aplicación de Capacidades de Transacción de SS7 (SS7

Transaction Capabilities

Aplication Part - TCAP). La capa de servicio de SMS hace uso de las capacidades

de señalización del MAP y habilita la transferencia de mensajes cortos entre

entidades pares.

Figura 5. Red Celular SMS

5/11/2018 At y Pic _ Lenguaje ASEMBLER -Cocha - slidepdf.com

http://slidepdf.com/reader/full/at-y-pic-lenguaje-asembler-cocha 24/55

Facultad de Ciencias y Tecnología. Ingeniería Electrónica.

18

5.5. Elementos de Señalización

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

Una vez un mensaje se envía, es recibido por el Centro de Servicio de MensajeCorto (SMSC) que debe enviarlo entonces al dispositivo móvil apropiado. Para

hacer esto, el SMSC envía un requerimiento de SMS al registro de localización

(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 dónde 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 envía una notificación

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 verificación de que el mensaje se recibió por el usuario terminal y etiqueta elmensaje como “enviado” para no tratar de enviarlo de nuevo.

5.6. Mensaje Corto Originado (MO - SM)

Los MO-SM se transportan desde el dispositivo móvil hacia el SMSC y pueden ser

destinados a otros Clientes de móviles, o situados en redes fijas.

5.7. Mensaje Corto Terminado (MT - SM)

Los MT-SM se transportan desde el SMSC hacia el dispositivo móvil, y pueden

ser entregados al SMSC por abonados móviles o por otros medios. Por ejemplo es

muy común utilizar las páginas Web gratuitas que tienen muchos ISPs para crear

SMS.

5.8. Aplicaciones para SMS

Los SMS fueron inicialmente diseñados para soportar mensajes de tamañolimitado, en la mayoría de los casos notificaciones o paginas alfanuméricas, pero

se están descubriendo nuevos usos, que han hecho que este mercado explote.

· Servicios de notificación: Los servicios de notificación son unos servicios SMS

ampliamente utili zados. Ejemplos de servicios de notificación usando SMS son el

5/11/2018 At y Pic _ Lenguaje ASEMBLER -Cocha - slidepdf.com

http://slidepdf.com/reader/full/at-y-pic-lenguaje-asembler-cocha 25/55

Facultad de Ciencias y Tecnología. Ingeniería Electrónica.

19

mensaje de notificación de correo de voz, notificación de correo electrónico,

recordatorio de citas, horarios de reuniones, etc.

· Interconexión de redes de correo electrónico: Los servicios de correo

electrónico existentes pueden ser fácilmente integrados con SMS para proveer

correo electrónico bidireccional a la mensajería corta.

· Interconexión de redes de búsqueda: Servicios de búsqueda integrados con

SMS pueden permitir a los abonados inalámbricos digitales ser accesibles a través

de interfaces de búsqueda existentes en otras redes.

· Servicios de información: Se puede proporcionar una amplia variedad de

servicios de información, incluyendo partes meteorológicos, información del trafico,

información de entretenimiento (cines, teatros, conciertos), información financiera

(cotizaciones de bolsa, servicios bancarios, servicios de corretaje, etc.), y

directorios.· Servicios de datos móviles: El SMSC también puede ser usado para enviar

datos inalámbricos cortos. Los datos inalámbricos pueden ser servicios

interactivos donde las llamadas de voz estén involucradas.

Algunos ejemplos de servicios de esta naturaleza incluyen despachos rápidos,

manejo de inventarios, confirmación de itinerarios, procesamiento de órdenes de

ventas y manejo de contactos de clientes.

· Atención de clientes y administración: El SMSC también puede ser usado

para transferir datos binarios que pueden ser interpretados por la estación móvil,sin ser presentados al cliente. Esta capacidad le permite a los operadores

administrar sus clientes al proveerlos de la capacidad de programar las estaciones

móviles.

· Servicios de localización: La habilidad de rastrear la localización de un objeto

móvil, o de un usuario, es muy valiosa tanto para los proveedores como para los

clientes. Esta aplicación, de nuevo, solo necesita un intercambio de pequeñas

cantidades de información, tales como la longitud y latitud en un momento preciso

del día, y quizás otros parámetros como velocidad, temperatura o humedad.

5/11/2018 At y Pic _ Lenguaje ASEMBLER -Cocha - slidepdf.com

http://slidepdf.com/reader/full/at-y-pic-lenguaje-asembler-cocha 26/55

Facultad de Ciencias y Tecnología. Ingeniería Electrónica.

20

6. Comandos AT

6.1. Introducción

Una herramienta fundamental en el proyecto es el uso de comandos AT ya el

equipo móvil recomunica con la aplicación a travé s de estos estableciendo una

conversación del tipo pregunta respuesta, ya que todo comando enviado al equipo

móvil generara una respuesta inmediata lo que se traduce mas tarde en poder

generar la lista de parámetros 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 Atención

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 recepción 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 Configuración de aviso sobre nuevo Msj.

· AT+CMGS="Nº del Receptor", “Mensaje”

5/11/2018 At y Pic _ Lenguaje ASEMBLER -Cocha - slidepdf.com

http://slidepdf.com/reader/full/at-y-pic-lenguaje-asembler-cocha 27/55

Facultad de Ciencias y Tecnología. Ingeniería Electrónica.

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 Teléfonos Móviles, SMS usa el codificado PDU en el cual el mensaje es

encapsulado. Esta estructura se le da al Teléfono Móvil 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 ubicación 1. Cada ves que llega un

nuevo mensaje es indexado en una dirección de memoria del Teléfono Móvil.

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

5/11/2018 At y Pic _ Lenguaje ASEMBLER -Cocha - slidepdf.com

http://slidepdf.com/reader/full/at-y-pic-lenguaje-asembler-cocha 28/55

Facultad de Ciencias y Tecnología. Ingeniería Electrónica.

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: Envío 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 Teléfono después del "AT+CMGS" contiene al PDU.

La siguiente figura muestra la estructura del mensaje enviado:

5/11/2018 At y Pic _ Lenguaje ASEMBLER -Cocha - slidepdf.com

http://slidepdf.com/reader/full/at-y-pic-lenguaje-asembler-cocha 29/55

Facultad de Ciencias y Tecnología. Ingeniería Electrónica.

23

7. Desarrollo de la Aplicación

7.1. Descripción de la aplicación realizada

Cumpliendo el objetivo general del proyecto se realizo una aplicaciónqueinteractúa con los procesos ligados a los Microcontroladores por medio de

mensajes de texto SMS. Para ello se realizo una aplicación en Java que actúa

como servidor el cual esta encargado de interactuar por medio de comunicación

serial con un Microcontrolador en este caso el 12F675 y con un teléfono móvil.

Figura 8: Modelo de recepción y envío de mensajes SMS.

7.2. Descripción de acciones

A continuación se describen paso a paso el proceso de envío y recepción de

mensajes de la aplicación.

· Un usuario de telefonía móvil solicita un servicio de temperatura por medio de

mensaje de texto SMS.

· El mensaje SMS es recibido por el dispositivo móvil conectado al servidor

(MODEM con soporte para SMS o bien un teléfono móvi l con cable de datos o

bluetooth).

5/11/2018 At y Pic _ Lenguaje ASEMBLER -Cocha - slidepdf.com

http://slidepdf.com/reader/full/at-y-pic-lenguaje-asembler-cocha 30/55

Facultad de Ciencias y Tecnología. Ingeniería Electrónica.

24

· El dispositivo móvil acusa la recepción de un mensaje SMS por medio de

comandos AT que son enviados por Bluetooth al puerto serial virtual generado

para este propósito.

· El servidor interpreta el comando AT y le envía al dispositivo móvil un nuevo

comando pidiendo leer el mensaje entrante.

· El dispositivo móvil envía el mensaje al servidor.

· El servidor lee el mensaje si este contiene el texto “temperatura” llama al

Microcontrolador el cual le envía la temperatura actual al servidor.

· Una vez obtenida la temperatura ambiente el servidor procede a enviarla por

medio de comandos AT al dispositivo móvil.

· El dispositivo móvil se encarga de realizar el envío del mensaje con la

temperatura generada por el servidor.

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

Una variación del modelo de recepción 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.

5/11/2018 At y Pic _ Lenguaje ASEMBLER -Cocha - slidepdf.com

http://slidepdf.com/reader/full/at-y-pic-lenguaje-asembler-cocha 31/55

Facultad de Ciencias y Tecnología. Ingeniería Electrónica.

25

8. Diseño del Circuito

Figura 9: Diseño del Circuito General en Simulacion

Figura 10: Diseño del Circuito General Armado

T1IN11

R1OUT12

T2IN10

R2OUT9

T1OUT14

R1IN13

T2OUT7

R2IN8

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

RI

9

P2

COMPIM

      1

      2

LDR1TORCH_LDR

R11k

D1LED-RED

 5  5  %

SENSIB10k

R4

DC7

Q3

      G      N      D

      1

      V      C      C

      8

TR2

TH6

CV5

U3

555

0

0

R210k

LDR1(1)

+88.8

Volts 

R310k C6

220nF

R410k

R510k

R6

1k

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/CCP216

RC2/CCP117

RC3/SCK/SCL18

RD0/PSP019

RD1/PSP120

RB7/PGD40

RB6/PGC39

RB538

RB437

RB3/PGM36

RB235

RB134

RB0/INT33

RD7/PSP730

RD6/PSP629

RD5/PSP528

RD4/PSP427

RD3/PSP322

RD2/PSP221

RC7/RX/DT26

RC6/TX/CK25

RC5/SDO24

RC4/SDI/SDA23

RA3/AN3/VREF+5

RC0/T1OSO/T1CKI15

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 RB0 

RB1=0 Y RB2=0 Realiza una llamadaRB1=1 Y RB2=0 Manda mensaje #1

RB1=0 Y RB2=1 Manda mensaje #2

sensor 2:RB3=1 manda mensaje #3

sensor 3:RB4=1 manda mensaje #4

0

0

D2LED-RED

R8220

 Diseño del Circuito en Simulacion

Diseño Digital II Ingenieria Electronica

5/11/2018 At y Pic _ Lenguaje ASEMBLER -Cocha - slidepdf.com

http://slidepdf.com/reader/full/at-y-pic-lenguaje-asembler-cocha 32/55

Facultad de Ciencias y Tecnología. Ingeniería Electrónica.

26

8.1 Modo de comunicación para los puertos COM1 y COM3

Figura 11: Modo de comunicación para los puertos COM1 y COM3

Cabe ilustrar que para este proyecto no se ha sido posible encontrar el modo de

configuración directa entre el PIC-16F877A y el Puerto COM del teléfono móvilNokia 3220 , por lo que se esta Utilizando al Simulador Proteus 7.7 como Interface

de Comunicación para la comunicación:

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

Figura 12: Esquema de comunicación PIC-SERIAL -USB-Nokia 3220

ERROR

TXD3

RXD2

CTS8

RTS7

DSR6

DTR4

DCD1

RI9

P1

COMPIMConexion COM1-COM3

COM3 - USBUSB - Nokia 3220i

ERROR

TXD3

RXD2

CTS8

RTS7

DSR6

DTR4

DCD1

RI9

P2

COMPIM

Conexion COM1Proto - CPU

Diseño Digital II Ingenieria Electronica

Comunicacion COM1 con el COM3

5/11/2018 At y Pic _ Lenguaje ASEMBLER -Cocha - slidepdf.com

http://slidepdf.com/reader/full/at-y-pic-lenguaje-asembler-cocha 33/55

Facultad de Ciencias y Tecnología. Ingeniería Electrónica.

27

9. Desarrollo del Proyecto

9.1. Justificación del Diseño 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 envíe un uno lógico,

correspondiente a su activación.

2. Si esta activo solo el primer pin (RA0) hace una llamada al número

programado en el micro controlador.

3. La otra forma de informar al usuario de que a ocurrido otro evento esactivar 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 configuración del módem o

para marcar, puede comunicarse con el módem a través del conjunto de

comandos AT. Después de ejecutar un comando, el módem regresa un código de

resultado de confirmación.

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

5/11/2018 At y Pic _ Lenguaje ASEMBLER -Cocha - slidepdf.com

http://slidepdf.com/reader/full/at-y-pic-lenguaje-asembler-cocha 34/55

Facultad de Ciencias y Tecnología. Ingeniería Electrónica.

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 posición 1.

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

9.3. Código Fuente

9.3.1. Código Fuente del PIC-16F877A

LIST P=16F877AINCLUDE <P16F877A.INC>INCLUDE <MACROS.INC>

__CONFIG _CP_OFF & _WRT_OFF & _DEBUG_OFF & _CPD_OFF & _LVP_OFF & _BODEN_OFF &_PWRTE_ON & _WDT_OFF & _XT_OSC

CBLOCK 0x20DATOX, APUNT, W_TEMP, STATUS_TEMP,BANDEENDC

ORG 0x00GOTO INICIOORG 0X04GOTO INTERR

INCLUDE <CADENAS.INC>INCLUDE <RETARDOS.INC>

INICIOBANCO_1MOVLW B'11101111'MOVWF TRISB ;RB0=ENTRADA RC6=TX RC7=RXMOVLW B'10111111' ;RC6= SALIDAMOVWF TRISCMOVLW b'00100100' ;TXEN=1 BRGH=1

MOVWF TXSTA ;REGISTRO DE TRANSMISIONMOVLW 0x19 ; 0x19=9600 bps

MOVWF SPBRG ;GENERADOR DE BAUDIOSMOVLW B'10010000' ;GIE=1 ,INTE=1 ,INTF=OMOVWF INTCONBSF OPTION_REG,6 ;********* INTEDG=1 FLANCO ASCENDENTE

BANCO_0MOVLW B'10010000' ;SPEN=1 RCEN=1

MOVWF RCSTA ;REGISTRO DE RECEPCION

PRINCIPALCALL MEM_CEL ;SELECCIONAMOS MEMORIA DEL CEL

5/11/2018 At y Pic _ Lenguaje ASEMBLER -Cocha - slidepdf.com

http://slidepdf.com/reader/full/at-y-pic-lenguaje-asembler-cocha 35/55

Facultad de Ciencias y Tecnología. Ingeniería Electrónica.

29

CALL Retardo_2sCALL MODO_TEXT ;SELECIONO EL MODO TEXTO

CALL Retardo_2sCALL GUARDAR_MSG ;ALMACENO MENSAJES

CALL Retardo_2sBSF PORTB,3

INFINITOBTFSC PORTB,3 ;TESTEA RB3GOTO INFORMAR1 ;SI RB3=1 MANDA EL MENSAJE3BTFSC PORTB,4 ;TESTEA RB3GOTO INFORMAR2 ;SI RB3=1 MANDA EL MENSAJE4

GOTO INFINITOINFORMAR1

CALL ENVIA_MSG3BSF PORTB,7CALL Retardo_1sGOTO INFINITO

INFORMAR2CALL ENVIA_MSG4

BSF PORTB,7CALL Retardo_2sGOTO INFINITO

;***************************************;RUTINA ATIENDE LA INTERRUPCION;****************************************INTERR

MOVWF W_TEMP ;Copia W en el registro TEMPSWAPF STATUS,W ;Intercambia los nibles del registro de STATUS

; y los guarda en WCLRF 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 páginas 1,2 y/o

3;movwf PCLATH_TEMP ;Salva PCLATH en W;-----------------------------------------------------BTFSS INTCON,INTF ;checa bandera de captura de eventoGOTO ret ;si no es bandera de captura retornaBTFSS PORTB,1GOTO PREG2 ; SI RB1=0 IR A PR2CALL ENVIA_MSG1GOTO SAL

PREG2 BTFSS PORTB,2GOTO PREG3 ;SI RB2=0 LLAMARCALL ENVIA_MSG2GOTO SAL

PREG3 CALL LLAMARCALL Retardo_10sCALL PARAR_LLAMADA

SAL BCF INTCON,INTF;-------------------------------------------------

retSWAPF STATUS_TEMP,W ;restablece contextoMOVWF STATUSSWAPF W_TEMP,FSWAPF W_TEMP,W

RETFIE

5/11/2018 At y Pic _ Lenguaje ASEMBLER -Cocha - slidepdf.com

http://slidepdf.com/reader/full/at-y-pic-lenguaje-asembler-cocha 36/55

Facultad de Ciencias y Tecnología. Ingeniería Electrónica.

30

;************************************************************;ENVIA CARACTER----USART;************************************************************ENVIA

BANCO_1ESP BTFSS TXSTA,TRMT ;vemos el bufer de transmisión

GOTO ESPBANCO_0MOVF DATOX,W ;rescata dato a enviarMOVWF TXREG ;lo enviaRETURN

;***********************************************************;RUTINA PARA GUARDAR N MENSAJES EN EL CELULAR;***********************************************************GUARDAR_MSG

CALL ESCRIBIR_MSGCALL Retardo_2sCALL E_MSG1CALL Retardo_2sCALL ESCRIBIR_MSGCALL Retardo_2s

CALL E_MSG2

CALL Retardo_2sCALL ESCRIBIR_MSGCALL Retardo_2sCALL E_MSG3CALL Retardo_2sCALL ESCRIBIR_MSGCALL Retardo_2sCALL E_MSG4

CALL Retardo_2sRETURN;***********************************************************;COMANDO SELECCIONAR MEMORIA DEL CELULAR

;***********************************************************MEM_CEL

CLRF APUNTCICLO CALL AT_CPMS

MOVWF DATOXSUBLW "J"BTFSC STATUS,ZGOTO SALIRCALL ENVIAINCF APUNT,1GOTO CICLO

BANCO_1BCF TXSTA,TXEN

SALIRRETURN

;***********************************************************;COMANDO DE SELECCION MODO TEXTO;***********************************************************MODO_TEXT

CLRF APUNTCICLOMT CALL AT_CMGF

MOVWF DATOXSUBLW "J"

5/11/2018 At y Pic _ Lenguaje ASEMBLER -Cocha - slidepdf.com

http://slidepdf.com/reader/full/at-y-pic-lenguaje-asembler-cocha 37/55

Facultad de Ciencias y Tecnología. Ingeniería Electrónica.

31

BTFSC STATUS,ZGOTO SALIRMTCALL ENVIAINCF APUNT,1GOTO CICLOMT

BANCO_1BCF TXSTA,TXEN

SALIRMTRETURN

;***********************************************************;COMANDO DE ESCRIBIR DE MENSAJES A GUARDAR;***********************************************************ESCRIBIR_MSG

CLRF APUNTCICLOEMSG CALL AT_CMGW

MOVWF DATOXSUBLW "J"BTFSC STATUS,ZGOTO SALIREMSGCALL ENVIAINCF APUNT,1

GOTO CICLOEMSGBANCO_1BCF TXSTA,TXEN

SALIREMSGRETURN

;***********************************************************;COMANDO DE ESCRIBIR DE MENSAJES A GUARDAR;***********************************************************E_MSG1

CLRF APUNTCICLOEE CALL MSG1

MOVWF DATOXSUBLW "J"BTFSC STATUS,Z

GOTO SALIREECALL ENVIAINCF APUNT,1GOTO CICLOEE

BANCO_1BCF TXSTA,TXEN

SALIREERETURN

;***********************************************************;COMANDO DE ESCRIBIR DE MENSAJES A GUARDAR;***********************************************************E_MSG2

CLRF APUNTCICLOEE2 CALL MSG2

MOVWF DATOXSUBLW "J"BTFSC STATUS,ZGOTO SALIREE2CALL ENVIAINCF APUNT,1GOTO CICLOEE2

BANCO_1BCF TXSTA,TXEN

SALIREE2

5/11/2018 At y Pic _ Lenguaje ASEMBLER -Cocha - slidepdf.com

http://slidepdf.com/reader/full/at-y-pic-lenguaje-asembler-cocha 38/55

Facultad de Ciencias y Tecnología. Ingeniería Electrónica.

32

RETURN;***********************************************************;COMANDO DE ESCRIBIR DE MENSAJES A GUARDAR;***********************************************************E_MSG3

CLRF APUNTCICLOEE3 CALL MSG3

MOVWF DATOXSUBLW "J"BTFSC STATUS,ZGOTO SALIREE3CALL ENVIAINCF APUNT,1GOTO CICLOEE3

BANCO_1BCF TXSTA,TXEN

SALIREE3RETURN

;***********************************************************;COMANDO DE ESCRIBIR DE MENSAJES A GUARDAR;***********************************************************

E_MSG4 CLRF APUNTCICLOEE4 CALL MSG4

MOVWF DATOXSUBLW "J"BTFSC STATUS,ZGOTO SALIREE4CALL ENVIAINCF APUNT,1GOTO CICLOEE4

BANCO_1BCF TXSTA,TXEN

SALIREE4RETURN

;***********************************************************;COMANDO PARA REALIZAR LLAMADA;***********************************************************LLAMAR

CLRF APUNTCICLO1

CALL ATD_CELMOVWF DATOXSUBLW "J"BTFSC STATUS,ZGOTO SALIR1CALL ENVIAINCF APUNT,1GOTO CICLO1

BANCO_1BCF TXSTA,TXEN

SALIR1RETURN

;***********************************************************;COMANDO DETENER LLAMADA;***********************************************************PARAR_LLAMADA

CLRF APUNT

5/11/2018 At y Pic _ Lenguaje ASEMBLER -Cocha - slidepdf.com

http://slidepdf.com/reader/full/at-y-pic-lenguaje-asembler-cocha 39/55

Facultad de Ciencias y Tecnología. Ingeniería Electrónica.

33

CICLOPLLCALL AT_CHUPMOVWF DATOXSUBLW "J"BTFSC STATUS,ZGOTO SALIRPLLCALL ENVIAINCF APUNT,1GOTO CICLOPLL

BANCO_1BCF TXSTA,TXEN

SALIRPLLRETURN

;***********************************************************;COMANDO ENVIAR MENSAJE1;***********************************************************ENVIA_MSG1

CLRF APUNTCICLOA CALL AT_CMSS1

MOVWF DATOXSUBLW "J"

BTFSC STATUS,ZGOTO SALIRACALL ENVIAINCF APUNT,1GOTO CICLOA

BANCO_1BCF TXSTA,TXEN

SALIRARETURN

;***********************************************************;COMANDO ENVIAR MENSAJE2;***********************************************************ENVIA_MSG2

CLRF APUNTCICLOB CALL AT_CMSS2

MOVWF DATOXSUBLW "J"BTFSC STATUS,ZGOTO SALIRBCALL ENVIAINCF APUNT,1GOTO CICLOB

BANCO_1BCF TXSTA,TXEN

SALIRBRETURN

;***********************************************************;COMANDO ENVIAR MENSAJE3;***********************************************************ENVIA_MSG3

CLRF APUNTCICLOC CALL AT_CMSS3

MOVWF DATOXSUBLW "J"BTFSC STATUS,ZGOTO SALIRCCALL ENVIAINCF APUNT,1

5/11/2018 At y Pic _ Lenguaje ASEMBLER -Cocha - slidepdf.com

http://slidepdf.com/reader/full/at-y-pic-lenguaje-asembler-cocha 40/55

Facultad de Ciencias y Tecnología. Ingeniería Electrónica.

34

GOTO CICLOCBANCO_1

BCF TXSTA,TXENSALIRC

RETURN;***********************************************************;COMANDO ENVIAR MENSAJE3;***********************************************************ENVIA_MSG4

CLRF APUNTCICLOD CALL AT_CMSS4

MOVWF DATOXSUBLW "J"BTFSC STATUS,ZGOTO SALIRDCALL ENVIAINCF APUNT,1GOTO CICLOD

BANCO_1BCF TXSTA,TXEN

SALIRD

RETURNEND

5/11/2018 At y Pic _ Lenguaje ASEMBLER -Cocha - slidepdf.com

http://slidepdf.com/reader/full/at-y-pic-lenguaje-asembler-cocha 41/55

Facultad de Ciencias y Tecnología. Ingeniería Electrónica.

35

9.4. Librerías 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 Bitssection.;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 __16F877AMESSG "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'

5/11/2018 At y Pic _ Lenguaje ASEMBLER -Cocha - slidepdf.com

http://slidepdf.com/reader/full/at-y-pic-lenguaje-asembler-cocha 42/55

Facultad de Ciencias y Tecnología. Ingeniería Electrónica.

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'

5/11/2018 At y Pic _ Lenguaje ASEMBLER -Cocha - slidepdf.com

http://slidepdf.com/reader/full/at-y-pic-lenguaje-asembler-cocha 43/55

Facultad de Ciencias y Tecnología. Ingeniería Electrónica.

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 onlyT1SYNC 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'

5/11/2018 At y Pic _ Lenguaje ASEMBLER -Cocha - slidepdf.com

http://slidepdf.com/reader/full/at-y-pic-lenguaje-asembler-cocha 44/55

Facultad de Ciencias y Tecnología. Ingeniería Electrónica.

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 onlyRC8_9 EQU H'0006' ; Backward compatibility onlySREN 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'

5/11/2018 At y Pic _ Lenguaje ASEMBLER -Cocha - slidepdf.com

http://slidepdf.com/reader/full/at-y-pic-lenguaje-asembler-cocha 45/55

Facultad de Ciencias y Tecnología. Ingeniería Electrónica.

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'

5/11/2018 At y Pic _ Lenguaje ASEMBLER -Cocha - slidepdf.com

http://slidepdf.com/reader/full/at-y-pic-lenguaje-asembler-cocha 46/55

Facultad de Ciencias y Tecnología. Ingeniería Electrónica.

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 onlyTX8_9 EQU H'0006' ; Backward compatibility onlyTXEN 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;

5/11/2018 At y Pic _ Lenguaje ASEMBLER -Cocha - slidepdf.com

http://slidepdf.com/reader/full/at-y-pic-lenguaje-asembler-cocha 47/55

Facultad de Ciencias y Tecnología. Ingeniería Electrónica.

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 writeprotection_WRT_256 EQU H'3DFF' ; First 256 prog memmory writeprotected_WRT_1FOURTH EQU H'3BFF' ; First quarter prog memmory

write protected_WRT_HALF EQU H'39FF' ; First half memmory writeprotected_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

5/11/2018 At y Pic _ Lenguaje ASEMBLER -Cocha - slidepdf.com

http://slidepdf.com/reader/full/at-y-pic-lenguaje-asembler-cocha 48/55

Facultad de Ciencias y Tecnología. Ingeniería Electrónica.

42

9.4.2. RETARDOS.INC

;**************************** Librería "RETARDOS.INC"*********************************; Librería con múltiples subrutinas de retardos, desde 4 microsegundos hasta 20segundos.;; Se han calculado para un sistema microcontrolador con un PIC trabajando con uncristal; de cuarzo a 4 MHz.; En los comentarios, "cm" significa "ciclos máquina".;; ZONA DE DATOS*********************************************************************

CBLOCKR_ContA ; Contadores para los retardos.R_ContB

R_ContCENDC;; RETARDOS de 4 hasta 10 microsegundos ---------------------------------------------------;;Retardo_10micros ; La llamada "call" aporta 2 ciclos máquina.

nop ; Aporta 1 ciclo máquina.nop ; Aporta 1 ciclo máquina.nop ; Aporta 1 ciclo máquina.nop ; Aporta 1 ciclo máquina.nop ; Aporta 1 ciclo máquina.

Retardo_5micros ; La llamada "call" aporta 2 ciclos máquina.nop ; Aporta 1 ciclo máquina.

Retardo_4micros ; La llamada "call" aporta 2 ciclos máquina.return ; El salto del retorno aporta 2 ciclos máquina.

;; RETARDOS de 20 hasta 500 microsegundos ------------------------------------------------;Retardo_500micros ; La llamada "call" aporta 2 ciclosmáquina.

nop ; Aporta 1 ciclo máquina.movlw d'164' ; Aporta 1 ciclo máquina. Este es el valor de

"K".goto RetardoMicros ; Aporta 2 ciclos máquina.

Retardo_200micros ; La llamada "call" aporta 2 ciclosmáquina.

nop ; Aporta 1 ciclo máquina.movlw d'64' ; Aporta 1 ciclo máquina. Este es el valor de

"K".goto RetardoMicros ; Aporta 2 ciclos máquina.

Retardo_100micros ; La llamada "call" aporta 2 ciclosmáquina.

movlw d'31' ; Aporta 1 ciclo máquina. Este es el valor de"K".

goto RetardoMicros ; Aporta 2 ciclos máquina.Retardo_50micros ; La llamada "call" aporta 2 ciclosmáquina.

5/11/2018 At y Pic _ Lenguaje ASEMBLER -Cocha - slidepdf.com

http://slidepdf.com/reader/full/at-y-pic-lenguaje-asembler-cocha 49/55

Facultad de Ciencias y Tecnología. Ingeniería Electrónica.

43

nop ; Aporta 1 ciclo máquina.movlw d'14' ; Aporta 1 ciclo máquina. Este es el valor de

"K".goto RetardoMicros ; Aporta 2 ciclos máquina.

Retardo_20micros ; La llamada "call" aporta 2 ciclosmáquina.

movlw d'5' ; Aporta 1 ciclo máquina. Este es el valor de"K".;;RetardoMicros

movwf R_ContA ; Aporta 1 ciclo máquina.Rmicros_Bucle

decfsz R_ContA,F ; (K-1)x1 cm (cuando no salta) + 2 cm (alsaltar).

goto Rmicros_Bucle ; Aporta (K-1)x2 ciclos máquina.return ; El salto del retorno aporta 2 ciclos máquina.

;;En total estas subrutinas tardan:

; RETARDOS de 1 ms hasta 200 ms. --------------------------------------------------------

;Retardo_200ms ; La llamada "call" aporta 2 ciclos máquina.movlw d'200' ; Aporta 1 ciclo máquina. Este es el valor de

"M".goto Retardos_ms ; Aporta 2 ciclos máquina.

Retardo_100ms ; La llamada "call" aporta 2 ciclos máquina.movlw d'100' ; Aporta 1 ciclo máquina. Este es el valor de

"M".goto Retardos_ms ; Aporta 2 ciclos máquina.

Retardo_50ms ; La llamada "call" aporta 2 ciclos máquina.movlw d'50' ; Aporta 1 ciclo máquina. Este es el valor de

"M".goto Retardos_ms ; Aporta 2 ciclos máquina.

Retardo_20ms ; La llamada "call" aporta 2 ciclos máquina.movlw d'20' ; Aporta 1 ciclo máquina. Este es el valor de

"M".goto Retardos_ms ; Aporta 2 ciclos máquina.

Retardo_10ms ; La llamada "call" aporta 2 ciclos máquina.movlw d'10' ; Aporta 1 ciclo máquina. Este es el valor de

"M".goto Retardos_ms ; Aporta 2 ciclos máquina.

Retardo_5ms ; La llamada "call" aporta 2 ciclosmáquina.

movlw d'5' ; Aporta 1 ciclo máquina. Este es el valor de"M".

goto Retardos_ms ; Aporta 2 ciclos máquina.Retardo_2ms ; La llamada "call" aporta 2 ciclosmáquina.

movlw d'2' ; Aporta 1 ciclo máquina. Este es el valor de"M".

goto Retardos_ms ; Aporta 2 ciclos máquina.Retardo_1ms ; La llamada "call" aporta 2 ciclosmáquina.

movlw d'1' ; Aporta 1 ciclo máquina. Este es el valor de"M".;;Retardos_ms

movwf R_ContB ; Aporta 1 ciclo máquina.R1ms_BucleExterno

5/11/2018 At y Pic _ Lenguaje ASEMBLER -Cocha - slidepdf.com

http://slidepdf.com/reader/full/at-y-pic-lenguaje-asembler-cocha 50/55

Facultad de Ciencias y Tecnología. Ingeniería Electrónica.

44

movlw d'249' ; Aporta Mx1 ciclos máquina. Este es el valor de"K".

movwf R_ContA ; Aporta Mx1 ciclos máquina.R1ms_BucleInterno

nop ; Aporta KxMx1 ciclos máquina.decfsz R_ContA,F ; (K-1)xMx1 cm (cuando no salta) + Mx2 cm

(al saltar).goto R1ms_BucleInterno ; Aporta (K-1)xMx2 ciclos máquina.decfsz R_ContB,F ; (M-1)x1 cm (cuando no salta) + 2 cm (al

saltar).goto R1ms_BucleExterno ; Aporta (M-1)x2 ciclos máquina.return ; El salto del retorno aporta 2 ciclos máquina.

;;En total estas subrutinas tardan:

; RETARDOS de 0.5 hasta 20 segundos ---------------------------------------------------;Retardo_20s ; La llamada "call" aporta 2 ciclosmáquina.

movlw d'200' ; Aporta 1 ciclo máquina. Este es el valor de"N".

goto Retardo_1Decima ; Aporta 2 ciclos máquina.Retardo_10s ; La llamada "call" aporta 2 ciclosmáquina.

movlw d'100' ; Aporta 1 ciclo máquina. Este es el valor de"N".

goto Retardo_1Decima ; Aporta 2 ciclos máquina.Retardo_5s ; La llamada "call" aporta 2 ciclosmáquina.

movlw d'50' ; Aporta 1 ciclo máquina. Este es el valor de"N".

goto Retardo_1Decima ; Aporta 2 ciclos máquina.Retardo_2s ; La llamada "call" aporta 2 ciclosmáquina.

movlw d'20' ; Aporta 1 ciclo máquina. Este es el valor de"N".

goto Retardo_1Decima ; Aporta 2 ciclos máquina.Retardo_1s ; La llamada "call" aporta 2 ciclosmáquina.

movlw d'10' ; Aporta 1 ciclo máquina. Este es el valor de"N".

goto Retardo_1Decima ; Aporta 2 ciclos máquina.Retardo_500ms ; La llamada "call" aporta 2 ciclos máquina.

movlw d'5' ; Aporta 1 ciclo máquina. Este es el valor de"N".;; El próximo bloque "Retardo_1Decima" tarda:

; ciclos máquina que a 4 MHz son 100011 µs = 100 ms = 0,1 s = 1 décima desegundo.;Retardo_1Decima

movwf R_ContC ; Aporta 1 ciclo máquina.R1Decima_BucleExterno2

movlw d'100' ; Aporta Nx1 ciclos máquina. Este es el valor de"M".

movwf R_ContB ; Aporta Nx1 ciclos máquina.R1Decima_BucleExterno

movlw d'249' ; Aporta MxNx1 ciclos máquina. Este es el valorde "K".

movwf R_ContA ; Aporta MxNx1 ciclos máquina.

5/11/2018 At y Pic _ Lenguaje ASEMBLER -Cocha - slidepdf.com

http://slidepdf.com/reader/full/at-y-pic-lenguaje-asembler-cocha 51/55

Facultad de Ciencias y Tecnología. Ingeniería Electrónica.

45

R1Decima_BucleInternonop ; Aporta KxMxNx1 ciclos máquina.decfsz R_ContA,F ; (K-1)xMxNx1 cm (si no salta) + MxNx2 cm

(al saltar).goto R1Decima_BucleInterno ; Aporta (K-1)xMxNx2 ciclos

máquina.decfsz R_ContB,F ; (M-1)xNx1 cm (cuando no salta) + Nx2 cm

(al saltar).goto R1Decima_BucleExterno ; Aporta (M-1)xNx2 ciclos máquina.decfsz R_ContC,F ; (N-1)x1 cm (cuando no salta) + 2 cm (al

saltar).goto R1Decima_BucleExterno2 ; Aporta (N-1)x2 ciclos máquina.return ; El salto del retorno aporta 2 ciclos máquina.

5/11/2018 At y Pic _ Lenguaje ASEMBLER -Cocha - slidepdf.com

http://slidepdf.com/reader/full/at-y-pic-lenguaje-asembler-cocha 52/55

Facultad de Ciencias y Tecnología. Ingeniería Electrónica.

46

9.4.3. MACROS.INC

;****Librería "MACROS.INC" *********;; ********************************* ;

BANCO_0 MACRO

BCF STATUS,RP0BCF STATUS,RP1ENDM

BANCO_1 MACROBSF STATUS,RP0BCF STATUS,RP1ENDM

BANCO_2 MACROBCF STATUS,RP0BSF STATUS,RP1ENDM

BANCO_3 MACRO

BSF STATUS,RP0BSF STATUS,RP1ENDM

5/11/2018 At y Pic _ Lenguaje ASEMBLER -Cocha - slidepdf.com

http://slidepdf.com/reader/full/at-y-pic-lenguaje-asembler-cocha 53/55

Facultad de Ciencias y Tecnología. Ingeniería Electrónica.

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 wADDWF 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 wADDWF 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 adelanteDT "at+cmss=2",0x0D,0X0A,"J"

RETURNAT_CMSS3;envia el mensaje almacenado en la posicion #3

MOVF APUNT,W ; carga apuntador en wADDWF 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 wADDWF PCL,1 ;salta w instruciones hacia adelante

DT "at+cmss=4",0x0D,0X0A,"J"

RETURNATD_CEL ;ATD71753016

MOVF APUNT,W ; carga apuntador en wADDWF PCL,1 ;salta w instruciones hacia adelante

DT "atd79986235;",0x0D,0X0A,"J" ;---------------------

RETURNAT_CHUP ;PARADA DE LA LLAMADA

MOVF APUNT,W ; carga apuntador en wADDWF 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 wADDWF 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

5/11/2018 At y Pic _ Lenguaje ASEMBLER -Cocha - slidepdf.com

http://slidepdf.com/reader/full/at-y-pic-lenguaje-asembler-cocha 54/55

Facultad de Ciencias y Tecnología. Ingeniería Electrónica.

48

MOVF APUNT,W ; carga apuntador en wADDWF 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 wADDWF 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 wADDWF 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 wADDWF PCL,1 ;salta w instruciones hacia adelanteDT "alarma 2 activada",0x1A,"J"

RETURNMSG4;mensaje #2 a guardar en la memoria del cel.

MOVF APUNT,W ; carga apuntador en wADDWF PCL,1 ;salta w instruciones hacia adelante

DT "alarma 3 activada",0x1A,"J"RETURN

10. Conclusión.

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 compañías de telefonía 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 compañías de telefonía celular se tomen el

monopolio de este tipo de servicios.

5/11/2018 At y Pic _ Lenguaje ASEMBLER -Cocha - slidepdf.com

http://slidepdf.com/reader/full/at-y-pic-lenguaje-asembler-cocha 55/55

Facultad de Ciencias y Tecnología. Ingeniería Electrónica.

49

11. Bibliografía.

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/