Un Microcontrolador es todo un "sistema mínimo" dentro de un solo dispositivo, lo cual ofrece un enorme panorama hacia el mundo de la compatibilidad. En estos circuitos, el usuario (cliente) puede programar, en un sólo "chip", para implementar y desarrollar múltiples aplicaciones y funciones con menos componentes que la circuitería tradicional de compuertas, optimizando el espacio físico de los mismos, más económicos, y sin la limitación de que un cambio de lógica del usuario (cliente), ocasione un cambio en el diseño del hardware, ya que, los cambios o ampliaciones futuras del sistema son casi nulos (solo se requiere cambios de software). Por otro lado, un microprocesador se destina a sistemas donde su expansión a corto o mediano plazo es factible.
Considero importante aportar a la comunidad local, nacional e internacional, ilustrar a través de un proyecto de aplicación con dos tecnologías (familias) de Microcontroladores (Atmel y Microchip), con el fin de ilustrar a quienes las puedan leer en futuro de como utilizar los compiladores, emuladores, simuladores y repertorio de instrucciones, de forma tal que puedan familiarizarse con el manejo de ambas tecnologías.
El futuro cercano de este proyecto será productivo y benéfico para la región del eje cafetero, en la medida en que se comparta con el acervo cultural, a través de publicaciones que permitan a abrir muchas mentes con respecto al tema.
A partir de mi experiencia docente en diferentes Universidades e Instituciones Educativas del departamento de Caldas, mi aporte pedagógico será contribuyente y enriquecedor en un futuro lejano al brindar alternativas de solución de necesidades que se presenten en diversos áreas del conocimiento y que contribuyan al desarrollo regional.
De igual forma, y considerando mi formación profesional y experiencia en áreas administrativas, deseo presentar no solo el punto de vista técnico y operativo de los Microcontroladores, sino también sus aportes en la construcción de la economía del conocimiento, mediante la innovación y generación de conocimiento en soluciones de base tecnológica, más allá de una adaptación de tecnología.
La contribución mundial de este proyecto será la de presentar un tema desde dos enfoques el tecnológico y el administrativo de forma tal que halla un punto de encuentro en la generación de conocimiento interdisciplinar que comúnmente se ha limitado a los profesionales técnicos de ingeniería electrónica.
1. INTRODUCCIÓN
Hoy en día, el incremento competitivo en el mercado de la industria electrónica, crea la necesidad de diseñar sistemas con mejores características, de menor tamaño, bajos requerimientos de energía, mejor realización, teniendo un especial énfasis sobre todo en la facilidad de duplicidad del sistema diseñado. La lógica definida por el usuario (cliente), y realizada por el fabricante, permite individualizar a los sistemas diseñados, así como también apegarse más a los requerimientos específicos del usuario (cliente). Esto, tiene repercusión en el costo, realización, compactabilidad, desempeño y seguridad del diseño.
Un Microcontrolador es todo un "sistema mínimo" dentro de un solo dispositivo, lo cual ofrece un enorme panorama hacia el mundo de la compatibilidad. En estos circuitos, el usuario (cliente) puede programar, en un sólo "chip", para implementar y desarrollar múltiples aplicaciones y funciones con menos componentes que la circuitería tradicional de compuertas, optimizando el espacio físico de los mismos, más económicos, y sin la limitación de que un cambio de lógica del usuario (cliente), ocasione un cambio en el diseño del hardware, ya que, los cambios o ampliaciones futuras del sistema son casi nulos (solo se requiere cambios de software). Por otro lado, un microprocesador se destina a sistemas donde su expansión a corto o mediano plazo es factible.
A pesar de que un microprocesador es más rápido que un Microcontrolador para la ejecución de sus instrucciones, en la mayoría de los casos es necesario interconectarlo con dispositivos periféricos Un Microcontrolador, puede ser utilizado con un mínimo número de componentes en trabajos específicos y en un amplio rango de aplicaciones, tales como; los sistemas de control de alarmas, tableros de control en la industria automotriz, en la instrumentación médica, en los teclados de computadora, en los sistemas portátiles de almacenamiento de datos, en equipos de laboratorio, entre otros.
Considero importante aportar a la comunidad local, nacional e internacional, ilustrar a través de un proyecto de aplicación con dos tecnologías (familias) de Microcontroladores (Atmel y Microchip), con el fin de ilustrar a quienes las puedan leer en futuro de como utilizar los compiladores, emuladores, simuladores y repertorio de instrucciones, de forma tal que puedan familiarizarse con el manejo de ambas tecnologías.
El futuro cercano de este proyecto será productivo y benéfico para la región del eje cafetero, en la medida en que se comparta con el acervo cultural, a través de publicaciones que permitan a abrir muchas mentes con respecto al tema.
A partir de mi experiencia docente en diferentes Universidades e Instituciones Educativas del departamento de Caldas, mi aporte pedagógico será contribuyente y enriquecedor en un futuro lejano al brindar alternativas de solución de necesidades que se presenten en diversos áreas del conocimiento y que contribuyan al desarrollo regional.
De igual forma, y considerando mi formación profesional y experiencia en áreas administrativas, deseo presentar no solo el punto de vista técnico y operativo de los Microcontroladores, sino también sus aportes en la construcción de la economía del conocimiento, mediante la innovación y generación de conocimiento en soluciones de base tecnológica, más allá de una adaptación de tecnología.
La contribución mundial de este proyecto será la de presentar un tema desde dos enfoques el tecnológico y el administrativo de forma tal que halla un punto de encuentro en la generación de conocimiento interdisciplinar que comúnmente se ha limitado a los profesionales técnicos de ingeniería electrónica.
2. DESCRIPCIÓN
El desarrollo de la electrónica, se ha constituido en uno de los más grandes sucesos de la época moderna. El Microcontrolador, uno de los dispositivos electrónicos programables más sofisticados, es y será fundamental para los grandes adelantos tecnológicos, en casi todos los campos del saber.
Es necesario estar preparado, tanto en el desarrollo de aplicaciones de SOFTWARE como en el diseño de dispositivos de HARDWARE, para adquirir la capacidad de diseñar y construir máquinas controladoras, basadas en Microcontroladores, cuyo objetivo sea el mejoramiento tecnológico de grandes sectores industriales. Teniendo en cuenta, que el conocimiento es dinámico, y avanza paralelamente con el desarrollo de la ciencia y la tecnología, hoy día, es supremamente importante, no limitarse en el desarrollo, implementación y aplicación de una tecnología, sino contar con los elementos y herramientas necesarias para adaptarse al aprendizaje y manejo de los recursos computacionales y técnicos que están disponibles.
Los Microcontroladores son integrados capaces de ser programados desde cualquier computadora personal, y seguir una secuencia. Por lo tanto, es importante conocer diferentes alternativas de compilación, emulación, simulación y programación de los mismos, de forma tal de poder contrastarlas y emplear la que más se adapte a nuestras necesidades.
Los diseñadores de circuitos digitales han utilizado tradicionalmente los PLD's "Dispositivos Lógicos Programables” para obtener funciones lógicas que generalmente no se encuentran disponibles como componentes estándares. Como sucede con la familia de las memorias ROM, algunos PLD's se programan una sola vez, otros se pueden programar y borrar las veces que sea necesario. Los PLD's contienen compuertas y Flip-Flops, pero estos componentes no se encuentran interconectados en configuraciones fijas, sino que, se tienen pequeños fusibles que se funden o abren para interconectar dicha circuitería interna. Creando de esta manera cualquier configuración requerida.
Para muchas de las aplicaciones los PLD’s son una excelente opción, desafortunadamente, sus aplicaciones se ven limitadas cuando es necesario
Transmisión de información, adquisición y tratamiento de datos, temporizaciones, entre otras. Es aquí, donde los Microcontroladores, que son dispositivos mas versátiles, permiten llevar a cabo estas nuevas aplicaciones.
Este dispositivo contiene: Un CPU (basado principalmente en un microprocesador de 4, 8 ó 16 bits), puertos paralelos de entrada y salida, puerto serie, timers, contadores, memorias, y en algunos casos hasta convertidores analógicos digitales, todo esto dentro de un solo chip.
Este proyecto presentará dos fases:
En la primera Fase se presentaran dos tecnologías (familias) de Microcontroladores (Atmel y Microchip), a través del cual se realizarán algunas de sus aplicaciones, concentrándonos específicamente en el manejo de las herramientas computacionales e interfaces que permitan su programación, compilación, emulación y simulación.
Para las características técnicas, arquitectura y operación, se hará referencia a los manuales técnicos de la referencia a emplear (Atmel 89C51, Microchip PIC 16F84), que nos permitirán la interconexión con los sistemas periféricos o directamente con los sistemas a controlar, el conocimiento de cada uno de los registros internos, sus utilidades y sus aplicaciones.
Para la Programación se estudiara cada una de las instrucciones, las cuales se reforzaran con breves ejemplos específicos y se presentaran algunos diseños (desde el planteamiento hasta la realización de sus programas).
En la segunda Fase se presentaran los aportes de los Microcontroladores en la construcción de la Economía del Conocimiento, para esto, es necesario tener en cuenta el concepto bajo el cual funcionan las Empresas de Base Tecnológica en Colombia.
3. ANÁLISIS GENERAL
Para las características técnicas, arquitectura y operación, se hará referencia a los manuales técnicos de la referencia a emplear (Atmel 89C51, Microchip PIC 16F84), que nos permitirán la interconexión con los sistemas periféricos o directamente con los sistemas a controlar, el conocimiento de cada uno de los registros internos, sus utilidades y sus aplicaciones.
Para la Programación se estudiara cada una de las instrucciones, las cuales se reforzaran con breves ejemplos específicos y se presentaran algunos diseños (desde el planteamiento hasta la realización de sus programas)
En los últimos años, el papel económico de la tecnología no ha dejado de crecer y, sobre todo, de hacerse cada día más evidente; se puede decir que ha aparecido una nueva forma de producir bienes y servicios. Las empresas de base tecnológica son un nuevo tipo de empresas de la etapa más reciente del desarrollo industrial en el mundo moderno. En apariencia es un concepto novedoso, pero en el fondo no expresa una categoría que pudiéramos definir de manera precisa. La aproximación que se tendrá en este análisis, sobre la factibilidad del desarrollo de aplicaciones que respondan a las necesidades de las Empresas de todos los sectores en Colombia, en especial del sector.
El propósito es ubicarse en el contexto en el cual operan las Empresas de Base Tecnológica EBT, como organizaciones que aprenden minuto a minuto: están atentas a lo que pasa en su entorno y como evoluciona el estado del arte de las tecnologías que manejan. Las EBT se anticipan a los cambios, estando atentas a la información del exterior para analizarla y transformarla en conocimiento aplicable en innovaciones del esquema organizaciones y productivo.
La especialización de los equipos, permite un cubrimiento estratégico de los diversos frentes de la empresa, brindando solidez y capacidad para integrar múltiples conocimientos en el enriquecimiento de los procesos.
En Colombia se ha logrado generar y adaptar tecnologías que han aportado en el desarrollo económico e industrial del país, un buen ejemplo de ello es la ingeniería nacional. Sin embargo, es palpable la carencia de un sistema articulado de ciencia y tecnología donde la planeación, los recursos humanos y la infraestructura se complementen y hagan sinergia en pro de la innovación, condición indispensable a la hora de alcanzar un desarrollo económico y social.
Según datos de COLCIENCIAS, de aproximadamente tres millones de personas en el mundo dedicadas hoy por hoy a la investigación científica, el 94% están localizadas en países desarrollados. América Latina únicamente
contribuye con el 1% de los científicos del mundo y de estos sólo cerca del 1% son colombianos.
El desempeño de Colombia en materia de registro de patentes de invención es deficiente. Hasta 1994, los inventores colombianos solo registraron, en el sistema de Patent and Trademark Office de los Estados Unidos, 130 patentes de las 5.350.000 existentes hasta esa fecha. Para alcanzar un óptimo desarrollo tecnológico se requiere de la asignación de un importante porcentaje del Producto Interno Bruto (PIB) para financiar los gastos que ocasionan los diferentes programas de investigación y desarrollo tecnológico, capacitación, transferencia de tecnología, innovación, dotación de infraestructura física y de laboratorios.
Según datos del Instituto Colombiano del Petróleo, a diferencia de Estados Unidos, Japón o Alemania, donde se le asigna entre un 2 y un 3% del PIB al desarrollo tecnológico, en Colombia, en el año 94, solo se le asignó un 0,5%, incluyendo la cooperación técnica internacional, la inversión privada y los costos de funcionamiento del sistema de ciencia y tecnología, sin los cuales la inversión no hubiera llegado ni al 0.2%. Vale la pena señalar que en el 98 la inversión subió al 1%, porcentaje que a la fecha se mantiene.
Hoy día, varios sectores se han dado a la tarea de tomar la Investigación y el desarrollo tecnológico como elementos de progreso y competitividad. Dentro de ellos se encuentra el agrícola con el Instituto Colombiano Agropecuario (ICA) y ahora con CORPOICA, CENICAFÉ, CENICAÑA, y CENIPALMA, centros que dentro de su quehacer investigativo han logrado novedosas innovaciones en cereales, pasto, café, caña de azúcar, palma y muchos otros vegetales. Así mismo se destaca el sector industrial con el trabajo
del Centro del Plástico y el Caucho (ICP), el Centro de Investigaciones en Comunicaciones y Electrónica (CINTEL), el ITEC de Telecom, la Corporación para la Investigación en Corrosión, el Instituto de Tecnología de Alimentos, y varios centros de investigación en las universidades.
En el sector salud sobresalen el Instituto Nacional de Salud, el grupo de investigación en inmunología del Hospital San Juan de Dios, liderado por el doctor Manuel Elkin Patarroyo, los centros de investigación en clínicas cardiovasculares y de transplantes, donde es importante rescatar el trabajo del grupo de trasplantes de la Universidad de Antioquia del Hospital San Vicente de Paúl, con los últimos adelantos en el transplante de tráquea y el de la Clínica las Américas, que en 2002 puso en funcionamiento la Unidad de Transplantes de Médula Ósea.
Otro punto importante, que demuestra la preocupación y el trabajo articulado en torno a la tecnología es el que han venido adelantando, desde finales de la década del 90, las Incubadoras de Empresas en Colombia, las cuales han sido vitales en la creación de firmas con base en el conocimiento cuyos modelos ya se están exportando. Para esto el apoyo del estado es inminente. El Sena, como socio fundador de las Incubadoras de Empresas en Colombia, en los últimos cinco años ha apoyado trece incubadoras. Se han creado empresas en áreas como software, sistemas y equipos electrónicos, salud, agroindustria, servicio, telecomunicaciones, turismo, industria gráfica, recreación y deporte, biotecnología, aceites y oleaginosas. Así mismo, en transporte, educación, minerales preciosos, químico y farmacéutico, entre otros. Esto ha permitido que las incubadoras estén logrando posicionarse en los mercados externos, para llevar un modelo que en Colombia tiene hoy un auge interesante.
Este modelo incluye el trabajo conjunto con las Universidades y los Parques Tecnológicos. En el caso de Incubar Manizales cuenta con diez (10) Instituciones Socios del SENA entre los cuales está la Universidad Autónoma de Manizales, el cual tiene como objeto la generación de un ambiente propicio para el desarrollo de iniciativas empresariales, que nacen como propuestas de los estudiantes de pregrado, postgrado, egresados, profesores, miembros de los centros de investigación ó cualquier agente de
la universidad vinculado directa o indirectamente con el desarrollo de actividades científicas, tecnológicas o empresariales.
En Manizales se tienen incubadas empresas en las siguientes áreas Informática y comunicaciones, Automatización, Biotecnología, Agroalimentario y Agroindustrial.
LOS MICROCONTROLADORES UNA TECNOLOGÍA QUE APORTA EN LA CONSTRUCCIÓN DE LA ECONOMÍA DEL CONOCIMIENTO
4. FASE 1: HERRAMIENTAS COMPUTACIONALES E INTERFACES DE PROGRAMACIÓN, COMPILACIÓN, EMULACIÓN Y SIMULACIÓN DE MICROCONTROLADORES.
4.1. PROTEUS VSM
A. Introducción.
El Software de diseño y simulación Proteus VSM es una herramienta útil para estudiantes y profesionales que desean acelerar y mejorar sus habilidades para del desarrollo de aplicaciones analógicas y digitales.
Este permite el diseño de circuitos empleando un entorno gráfico en el cual es posible colocar los símbolos representativos de los componentes y realizar la simulación de su funcionamiento sin el riesgo de ocasionar daños a los circuitos.
La simulación puede incluir instrumentos de medición y la inclusión de gráficas que representan las señales obtenidas en la simulación. Lo que más interés ha despertado es la capacidad de simular adecuadamente el funcionamiento de los microcontroladores más populares (PICS, ATMEL-AVR, MOTOROLA, 8051, etc.)
Proteus VSM tiene la capacidad de pasar el diseño a un programa integrado llamado ARES en el cual se puede llevar a cabo el desarrollo de placas de circuitos impresos.
Gráfico A. Procedimiento de Arranque Proteus VSM:
Inicio -> Programas -> Proteus 6 Professional -> ISIS 6 Professional.
Abbildung in dieser Leseprobe nicht enthalten
Gráfico B. Forma Corta de Arranque Proteus VSM:
La forma corta es dar doble click en el icono del programa ubicado en el escritorio.
Abbildung in dieser Leseprobe nicht enthalten
B. Circuito Básico # 1 (Desarrollo) -Alimentación de un foco de corriente alterna.
1. Dar un click en el botón Pick Devices localizado en la parte izquierda de la pantalla debajo de la pantalla de exploración del diagrama para abrir la forma del mismo nombre.
Gráfico C. Circuito Básico # 1 en Proteus VSM
Abbildung in dieser Leseprobe nicht enthalten
2. En la ventana Libraries (Parte superior izquierda) buscar la librería ACTIVE, y dar un click sobre ella.
Gráfico D. Ventana Librerías Proteus VSM Circuito Básico # 1
Abbildung in dieser Leseprobe nicht enthalten
3. En la ventana Objects elegir el componente ALTERNATOR dando doble click sobre el nombre.
Gráfico E. Ventana Objetos Proteus VSM Circuito Básico # 1
Se puede observar que en la ventana DEVICES aparece el nombre del componente elegido. Si es el único componente que se va a elegir se puede cerrar la forma Pick Devices, pero si es necesario más de uno, se puede continuar eligiendo los componentes necesarios para nuestro diseño.
4. En la misma librería ACTIVE dar doble click sobre el componente LAMP.
Gráfico F. Componente LAMP Proteus VSM Circuito Básico # 1
Abbildung in dieser Leseprobe nicht enthalten
5. Cerrar la Forma Pick Devices en el botón estándar. (La cruz en la esquina superior derecha).
6. Dar un click en la palabra ALTERNATOR de la ventana DEVICES y observar que aparece el componente en la pantalla de exploración del circuito.
Gráfico G. Componente ALTERNADOR Proteus VSM Circuito Básico # 1
Abbildung in dieser Leseprobe nicht enthalten
7. Explorar las funciones de orientación del componente, parte inferior izquierda de la pantalla.
Gráfico H. Funciones de Orientación del Componente Proteus VSM Circuito Básico # 1
Abbildung in dieser Leseprobe nicht enthalten
8. Comenzando por la izquierda presionar cada uno de los botones de orientación.
9. En el cuadro de texto se puede introducir un ángulo pero sólo acepta valores de (0º, +/-90º, +/-180º, +/-270º), por lo que es mejor manejar la orientación por medio de los botones. Este mismo cuadro de texto muestra el ángulo actual obtenido al presionar los botones.
10. Dejar el componente en la posición inicial.
11. Con el componente seleccionado dar un click en el área de trabajo, con lo que se logra colocar el componente en el área de trabajo.
Gráfico I. Área de Trabajo del Componente ALTERADOR
Proteus VSM Circuito Básico # 1
Abbildung in dieser Leseprobe nicht enthalten
12.-Repetir el procedimiento anterior con el componente LAMP.
Gráfico J. Área de Trabajo del Componente LAMP
Proteus VSM Circuito Básico # 1
Abbildung in dieser Leseprobe nicht enthalten
13. Configurar los componentes de la siguiente manera.
a. Dar un click con el botón derecho sobre el componente ALTERNATOR. Notar que su contorno cambia a rojo.
b. Dar un click ahora con el botón izquierdo para abrir la forma Edit Component.
c. Dar un nombre al componente en el campo Component Reference (AC1), Poner el valor del componente en el Component Value (12V), Modificar el valor de la amplitud a (12V) y la frecuencia a 0.5Hz.
d. Presionar el botón OK. e.-Verificar los valores del componente LAMP y si el valor del voltaje corresponde con el del ALTERNATOR, no es necesario realizar ninguna modificación. Presionar OK.
Gráfico K. Configuración Componente ALTERNADOR
Proteus VSM Circuito Básico # 1
Abbildung in dieser Leseprobe nicht enthalten
14. Realizar la conexión de los componentes de la siguiente forma:
a. Colocar el puntero del mouse en el extremo superior del ALTERNATOR. Aparece una cruz en el extremo de la flecha.
b. Dar un click para habilitar la conexión por medio de cable.
c. Desplazar el mouse (desaparece la cruz) hasta el extremo superior del componente LAMP y lograr que vuelva a aparecer la cruz en el extremo de la flecha.
d. Dar otro click para realizar la conexión.
e. Repetir los pasos anteriores para la pare inferior de los componentes.
Gráfico L. Resultado Proteus VSM Circuito Básico # 1
Abbildung in dieser Leseprobe nicht enthalten
Este es el procedimiento estándar para conectar cualquier componente con el que se trabaje en el programa.
15. Probar el funcionamiento del circuito presionando el botón play que se encuentra en la parte inferior de la pantalla.
Gráfico M. Prueba de Funcionamiento Proteus VSM Circuito Básico # 1
Abbildung in dieser Leseprobe nicht enthalten
16. Para acercar el circuito y poder observar mejor la simulación se puede recurrir a los controles de zoom.
Gráfico N. Zoom Proteus VSM Circuito Básico # 1
Abbildung in dieser Leseprobe nicht enthalten
Comenzando de izquierda a derecha tenemos:
a. Re-centrar la pantalla.
b. Incrementar el acercamiento.
c. Decrementar el acercamiento.
d. Ver la hoja completa. e.-Ver una área seleccionada
Usar la herramienta para Ver una área seleccionada dando un click. Usando el cursor modificado presionar el botón izquierdo en el extremo superior izquierdo del circuito armado y sin soltar el botón formar un rectángulo que contenga todo el circuito, por último soltar el botón.
Este procedimiento se puede usar para acercar partes de un circuito de mayor tamaño.
17. Habilitar los colores de voltaje y las flechas de corriente del circuito para completar la simulación.
a. Ingresar al menú System y seleccionar Set Animation Options... para abrir la forma Animated Circuits Configuration.
Gráfico O. Configuración Circuito Animado
Proteus VSM Circuito Básico # 1
Abbildung in dieser Leseprobe nicht enthalten
b. Habilitar las casillas ¿Show Wire Voltaje by Colour? y ¿Show Wire Current with Arrows?.
c.Presionar OK.
18. Volver a simular el circuito y observar lo que ocurre.
19. Guardar el circuito.
a. Seleccionar la herramienta Save current design.
b. Dar un click en el botón crear una nueva carpeta y darle el nombre de Curso Proteus.
c. Ingresar a la carpeta proteus y crear dentro de ésta, una carpeta con el nombre Ejercicio 1.
d. En el campo Nombre de archivo nombrar al archivo como Ejercicio 1. Dar un click en el botón guardar o presionar la tecla ENTER.
C. Circuito Básico #2 (Desarrollo) -Batería -Interruptor -Foco.
1. Dar un click en Create a New Design.
2. Presionar el botón Pick Devices.
Gráfico P. Botón Pick Devices
Proteus VSM Circuito Básico # 2
Abbildung in dieser Leseprobe nicht enthalten
3. De la ventana Libraries seleccionar ACTIVE y en la ventana Objects elegir los componentes:
-BATTERY
-LAMP
-SWITCH
4. Armar el siguiente circuito: Modificar los valores de los componentes si es necesario.
Gráfico Q. Proteus VSM Circuito Básico # 2
Abbildung in dieser Leseprobe nicht enthalten
5. Ejecutar la simulación del circuito y probar el funcionamiento del interruptor. Haciendo click con el botón izquierdo en las flechas arriba -abajo del interruptor.
6. Guardar el archivo.
a. Presionar Save current design.
b. Salir de la carpeta del Ejercicio 1. (Subir un nivel).
c. Dentro de la carpeta de Curso Proteus, crear una nueva carpeta con el nombre Ejercicio 2.
d. Ingresar a la carpeta Ejercicio 2 y dentro de ella guardar el archivo con el nombre Ejercicio 2.
D. Circuito Básico #3 (Desarrollo) -Batería -Resistencia Variable Foco.
1. Dar un click en Create a New Design.
2. Presionar el botón Pick Devices.
3. De la ventana Libraries seleccionar ACTIVE y en la ventana Objects elegir los componentes:
-BATTERY
-LAMP
-POT-LIN
4. Armar el siguiente circuito:
Gráfico R. Proteus VSM Circuito Básico # 3
Abbildung in dieser Leseprobe nicht enthalten
5. Ejecutar la simulación del circuito y probar el funcionamiento de la resistencia variable. Con el puntero del mouse dar click en las flechas para aumentar o disminuir la resistencia.
6. Guardar el archivo.
a. Presionar Save current design.
b. Salir de la carpeta del Ejercicio 2. (Subir un nivel)
c. Dentro de la carpeta de Curso Proteus, crear una nueva carpeta con el nombre Ejercicio 3.
d. Ingresar a la carpeta Ejercicio 3 y dentro de ella guardar el archivo con el nombre Ejercicio 3.
E. Agregar instrumentos de medida a un circuito.
Usando el circuito anterior hacer lo siguiente:
a. De la barra superior de herramientas seleccionar Virtual Instruments.
Gráfico S. Barra de Herramientas Instrumentos de Medida Proteus VSM
b. Hacer doble click con el botón en el cable que une la resistencia variable y la lámpara para dejar espacio a un amperímetro. Si es necesario mover un poco la lámpara hacia la derecha. NOTA: Para mover un componente en el área de trabajo se realizan los siguientes pasos:
i. Hacer un click con el botón derecho sobre el componente que se desea mover.
ii. Presionar el botón izquierdo sobre el componente y sin soltar arrastrar el componente a la posición deseada.
c. De la ventana INSTRUMENTS al lado izquierdo de la pantalla seleccionar con un click izquierdo el instrumento DC AMMETER.
Gráfico T. Instrumento de Medida DC AMMETER Proteus VSM
Abbildung in dieser Leseprobe nicht enthalten
d. Dar un click en el área de trabajo entre la resistencia variable y la lámpara, y conectar los componentes para obtener el siguiente circuito.
e. Seleccionar el instrumento DC VOLTMETER de la ventana INSTRUMENTS.
f. Colocar en el área de trabajo de la misma forma que el instrumento anterior para obtener el siguiente circuito.
Gráfico U. Ubicación de Instrumento de Medida
(Voltímetro y Amperímetro)
Proteus VSM
Abbildung in dieser Leseprobe nicht enthalten
g. Ejecutar la simulación del circuito.
h. Guardar el circuito. Como ya había sido guardado el archivo ya no es necesario cambiar de directorio o nombrar el archivo. NOTA: para volver ha habilitar la ventana DEVICES presionar, en la barra de herramientas, Component.
Gráfico V. Barra de Herramientas Component Proteus VSM
Gráfico W. Proteus VSM Circuito Básico # 4 Serie
Abbildung in dieser Leseprobe nicht enthalten
Gráfico X. Proteus VSM Circuito Básico # 5 Paralelo
Abbildung in dieser Leseprobe nicht enthalten
Gráfico Y. Proteus VSM Circuito Básico # 6
Circuito con dos interruptores para control en dos direcciones.
Abbildung in dieser Leseprobe nicht enthalten
NOTA: Usar el componente SW-SPDT de la librería ACTIVE
Abbildung in dieser Leseprobe nicht enthalten
Gráfico Z. Proteus VSM Circuito Básico # 7
Control de la dirección de un motor de CD
Abbildung in dieser Leseprobe nicht enthalten
El motor se encuentra en la librería ACTIVE y hay que seleccionar el que sólo tiene el nombre MOTOR.
Los interruptores también se encuentran en la librería ACTIVE y su nombre es SW-DPDT.
Gráfico A1. Proteus VSM Circuito Básico # 8 Uso de Fusibles
Abbildung in dieser Leseprobe nicht enthalten
El fusible se encuentra dentro de la librería ACTIVE bajo el nombre de
FUSE.
Modificar este circuito agregándole un amperímetro.
Modificar el circuito del motor agregándole un amperímetro y un voltímetro
F. Ejercicios Básicos de Aplicación con Proteus VSM 1:
Gráfico A2. Proteus VSM Ejercicio 1a
Abbildung in dieser Leseprobe nicht enthalten
Gráfico A3. Proteus VSM Ejercicio 1b
Abbildung in dieser Leseprobe nicht enthalten
Gráfico A4. Proteus VSM Ejercicio 1c
Abbildung in dieser Leseprobe nicht enthalten
El Diodo se encuentra en la librería DEVICE bajo el nombre DIODE.
Gráfico A5. Proteus VSM Ejercicio 1d
Abbildung in dieser Leseprobe nicht enthalten
El capacitor se encuentra en la librería ACTIVE bajo el nombre CAPACITOR.
G. Ejercicios de Aplicación de Electrónica Análoga y Electrónica Digital con Proteus VSM 2:
a. Uso de un transformador.
TRANSFORMER = LIBRERÍA (DEVICE) - TRAN-2P2S
*DEFINE GWIRE=1E3
Gráfico A6. Proteus VSM Ejercicio 2a
Abbildung in dieser Leseprobe nicht enthalten
Gráfico A7. Proteus VSM Configuración del ALTERNATOR
Abbildung in dieser Leseprobe nicht enthalten
Gráfico A8. Proteus VSM Configuración del TRAN-2P2S
Abbildung in dieser Leseprobe nicht enthalten
b. Diodo con una fuente alterna.
Resistencia = DEVICE (RES)
Diodo = DEVICE (DIODE)
Gráfico A9. Proteus VSM Ejercicio 2b
Abbildung in dieser Leseprobe nicht enthalten
c. Rectificador de Media Onda.
Gráfico A10. Proteus VSM Ejercicio 2c
Abbildung in dieser Leseprobe nicht enthalten
Usar el ALTERNATOR con la siguiente configuración inicial.
Gráfico A11. Configuración Inicial Alternador Ejercicio 2c
Abbildung in dieser Leseprobe nicht enthalten
Para poder observar la salida en el osciloscopio cambiar la Frecuencia a 60Hz.
Gráfico A12. Agregar amperímetros y capacitor al Ejercicio 2c
Abbildung in dieser Leseprobe nicht enthalten
CAPACITOR = ACTIVE (CAPACITOR) Cambiar las características de los amperímetros a mA. Y probar la resolución con los otros rangos.
d. Rectificador de onda completa usando un Puente Rectificador.
Gráfico A13. . Proteus VSM Ejercicio 2d
Abbildung in dieser Leseprobe nicht enthalten
PUENTE RECTIFICADOR = DEVICE (BRIDGE)
Gráfico A14. Configuración Alternador Ejercicio 2d
Abbildung in dieser Leseprobe nicht enthalten
e. Uso de relevadores.
Gráfico A15. Proteus VSM Ejercicio 2e1
Abbildung in dieser Leseprobe nicht enthalten
Gráfico A16. Proteus VSM Ejercicio 2e2
Abbildung in dieser Leseprobe nicht enthalten
f. Uso de transistores
Gráfico A17. Proteus VSM Ejercicio 2f1 Activación Directa
Abbildung in dieser Leseprobe nicht enthalten
Gráfico A18. Proteus VSM Ejercicio 2f2 Usando divisor de tensión
Abbildung in dieser Leseprobe nicht enthalten
Gráfico A19. Proteus VSM Ejercicio 2f3 Usando Potenciómetro
Abbildung in dieser Leseprobe nicht enthalten
Gráfico A20. Proteus VSM Ejercicio 2f4 Activando un Relevador
Abbildung in dieser Leseprobe nicht enthalten
Gráfico A21. Proteus VSM Ejercicio 2f5 Usando un capacitor y resistor para crear un retardo de tiempo, así como un botón como reset del circuito.
Botón = ACTIVE (BUTTON)
Abbildung in dieser Leseprobe nicht enthalten
Gráfico A22. Proteus VSM Ejercicio 2f6 Probar el siguiente circuito y observar el cambio.
Abbildung in dieser Leseprobe nicht enthalten
Gráfico A23. Proteus VSM Ejercicio 2f7 Circuito con retardo de encendido variable.
Abbildung in dieser Leseprobe nicht enthalten
g. Uso de operacionales.
Gráfico A24. Proteus VSM Ejercicio 2g Circuito con Operacionales.
Abbildung in dieser Leseprobe nicht enthalten
Gráfico A25. Proteus VSM Ejercicio 2g1 Circuito de control de intensidad de cada Lámpara.
Abbildung in dieser Leseprobe nicht enthalten
Gráfico A26. Proteus VSM Ejercicio 2g2 Circuito NO Inversor
Abbildung in dieser Leseprobe nicht enthalten
Gráfico A27. Proteus VSM Ejercicio 2g3 Circuito Inversor
Abbildung in dieser Leseprobe nicht enthalten
h. Uso del Circuito Integrado 555
Gráfico A28. Proteus VSM Ejercicio 2h Circuito con 555
Abbildung in dieser Leseprobe nicht enthalten
C.I. 555 = ANALOG (555)
i. Prueba de Compuertas Lógicas.
Gráfico A29. Proteus VSM Ejercicio 2i Compuerta AND
Abbildung in dieser Leseprobe nicht enthalten
A-INPUT = ACTIVE (LOGICSTATE)
B-INPUT = ACTIVE (LOGICSTATE)
Q-OUTPUT = ACTIVE(LOGICPROBE(BIG))
AND = ACTIVE (AND )
Gráfico A30. Proteus VSM Ejercicio 2i1 Compuerta OR
Abbildung in dieser Leseprobe nicht enthalten
OR = ACTIVE (OR)
Gráfico A31. Proteus VSM Ejercicio 2i2 Compuerta NOT
Abbildung in dieser Leseprobe nicht enthalten
NOT = ACTIVE (NOT)
Gráfico A32. Proteus VSM Ejercicio 2i3 Compuerta NAND
Abbildung in dieser Leseprobe nicht enthalten
NAND = ACTIVE (NAND)
Gráfico A33. Proteus VSM Ejercicio 2i4 Compuerta NOR
Abbildung in dieser Leseprobe nicht enthalten
NOR = ACTIVE (NOR)
Gráfico A34. Proteus VSM Ejercicio 2i5 Compuerta XOR
Abbildung in dieser Leseprobe nicht enthalten
XOR = ACTIVE (XOR)
j. Lógica Secuencial.
Gráfico A35. Proteus VSM Ejercicio 2j FLIP FLOP (RS)
Abbildung in dieser Leseprobe nicht enthalten
Gráfico A36. Proteus VSM Ejercicio 2j1 FLIP FLOP (D)
Abbildung in dieser Leseprobe nicht enthalten
DTFF = ACTIVE (DTFF) CLOCK = ACTIVE (CLOCK)
Gráfico A37. Proteus VSM Ejercicio 2j2 FLIP FLOP (JK)
Abbildung in dieser Leseprobe nicht enthalten
JKFF = ACTIVE (JKFF)
Gráfico A38. Proteus VSM Ejercicio 2j3 Registro de Corrimiento (Desplazamiento)
Abbildung in dieser Leseprobe nicht enthalten
Gráfico A39. Proteus VSM Ejercicio 2j4 Contador Binario Asíncrono
Abbildung in dieser Leseprobe nicht enthalten
DISPLAY 7 SEGMENTOS = DISPLAY (7SEG-BCD)
k. Uso del Convertidor Análogo Digital.
Abbildung in dieser Leseprobe nicht enthalten
Gráfico A40. Proteus VSM Ejercicio 2k Conversor Análogo Digital
l. Habilitación del compilador PIC BASIC PRO.
I. Ingresar al menú Source.
II.Seleccionar Define Code Generation Tools... y presionar el botón NEW.
Gráfico A41. Proteus VSM Herramienta para Definición de Código
Abbildung in dieser Leseprobe nicht enthalten
III.- Buscar la carpeta en la raíz de "C" con el nombre Pbp244.
Gráfico A42. Proteus VSM Búsqueda en Carpeta Raíz con el nombre Pbp244
Abbildung in dieser Leseprobe nicht enthalten
IV. Ingresar a la carpeta Pbp244 y seleccionar el archivo Pbpw.
Gráfico A43. Proteus VSM Búsqueda en Carpeta Pbp244 el archivo Pbpw
Abbildung in dieser Leseprobe nicht enthalten
V.- Completar la forma como se muestra en la siguiente figura y presionar OK.
Gráfico A44. Proteus VSM Completar el archivo Pbpw
Abbildung in dieser Leseprobe nicht enthalten
m. Prueba de funcionamiento del programa BLINK. Se hace parpadear un led conectado al PORTB.0
I.- Crear el siguiente circuito.
Gráfico A45. Proteus VSM Ejercicio 2m Crear un circuito con PIC.
Abbildung in dieser Leseprobe nicht enthalten
DEVICE (CAP), DEVICE (CRYSTAL), DEVICE (RES), MICRO (PIC16F84A), ACTIVE (LED-RED)
II.- Guardar el circuito en una carpeta con el nombre Blink y nombrar al archivo Blink.
III.- Copiar el siguiente texto al NOTEPAD de Windows y guardarlo en una archivo de texto con el nombre Blink.bas dentro de la carpeta Blink.
'Programa de ejemplo que hace parpadear a un LED
conectado a PORTB.0
'cada segundo.
loop: High PORTB.0 'Enciende el LED Pause 500 'Retardo de .5 segundos
Low PORTB.0 'Apaga el LED
Pause 500 'Retardo de .5 segundos
Goto loop 'Se regresa a loop y el LED se queda
'parpadeando.
End
IV. Ingresar al menú Source.
V. Seleccionar Add/Remove Soruce Files...
Gráfico A46. Proteus VSM Ejercicio 2m
Carga Código Fuente del Circuito con PIC
Abbildung in dieser Leseprobe nicht enthalten
VI. En Code Generation Tools elegir PBPW.
VII. Presionar el botón NEW.
VIII. Seleccionar el archivo Blink.bas.
IX. Presionar OK.
NOTA: Para que funcione todo lo anterior debe de haberse incluido en el PATH del sistema Windows la ruta a la carpeta C:\PBP244, esto se logra editando el archivo AUTOEXEC.BAT, en el que se agrega al final del PATH (Ruta) existente.
Para Windows 2000 y XP el procedimiento es diferente. Se tiene que ingresar a la forma System, seleccionar Opciones Avanzadas y hay que declarar una nueva variable de entorno. Esta pendiente verificar estos pasos.
X. En el menú Source elegir Build All. Si todo esta correcto debe aparecer la siguiente ventana la cual se puede cerrar presionando CLOSE.
Gráfico A47. Proteus VSM Ejercicio 2m Menu que Indica que todo es Correcto en el Procesamiento Con Build All
Abbildung in dieser Leseprobe nicht enthalten
XI. Dar click con el botón derecho sobre el microcontrolador y después otro con el izquierdo para abrir la forma de configuración.
Gráfico A48. Proteus VSM Ejercicio 2m Carga del Código compilado en lenguaje de Máquina (hex) en el Microcontrolador
Abbildung in dieser Leseprobe nicht enthalten
XII. Dar un click con el botón izquierdo en el icono que muestra una carpeta abierta (El que marca el rectángulo rojo).
XIII. Seleccionar el archivo Blink.hex.
Gráfico A49. Proteus VSM Ejercicio 2m Selección Código compilado en lenguaje de Máquina (Blink. hex) en el Microcontrolador
Abbildung in dieser Leseprobe nicht enthalten
XIV. Ajustar la frecuencia del reloj a 4MHz en el campo Processor Clock Frecuency.
XV. Presionar OK.
XVI. Ejecutar la simulación.
4.2. MPLAB otra Herramienta para simulación y Programación de Microcontroladores
A. MPLAB
El MPLAB es un entorno de desarrollo integrado que le permite escribir y codificar los microcontroladores PIC de Microchip para ejecutarlos. El MPLAB incluye un editor de texto, funciones para el manejo de proyectos, un simulador interno y una variedad de herramientas que lo ayudarán a mantener y ejecutar su aplicación. También provee una interfase de usuario para todos los productos con lenguaje Microchip, programadores de dispositivos, sistemas emuladores y herramientas de tercer orden.
El MPLAB está diseñado para ser ejecutado bajo Windows 3.11, y puede operar con Windows 95, 98, ME, XP. Asume que el usuario ya conoce el entorno de Windows y sabe manejarlo.
MPLAB permite realizar las siguientes tareas:
- Manejar el escritorio MPLAB
- Crear un nuevo archivo de código fuente para el ensamble e ingresarlo a un nuevo proyecto para el 16F84
- Identificar y corregir los errores simples
- Ejecutar el simulador interno
- Marcar puntos de interrupción
- Crear ventanas de observación
- Manejar ventanas para el seguimiento de errores
Aunque aquí no se abarca todos los detalles del MPLAB, se brindará el conocimiento necesario para usarlo sin inconvenientes. Una vez que domine los conceptos básicos, podrá descargar una de las aplicaciones más avanzadas u otras guías en el website de Microchip en www.microchip.com.
B. Generalidades del MPLAB
Paso 1: Instalación Descargue los archivos del software de instalación y ejecute el archivo MPxxxxx.EXE. De acuerdo a la versión que descarge, los nombres de los archivos pueden variar levemente. Por ejemplo, la versión 4.00 del MPLAB tendría los siguientes archivos:
MP40000.EXE - MP40000.WO2 - MP40000.WO3 - MP40000.WO4 - MP40000.WO5 - MP40000.WO6
Cuando ejecuta el archivo .EXE, comenzará la instalación del MPLAB en su sistema. Seguidamente deberá elegir los componentes del MPLAB que desea instalar en su sistema. A menos que haya comprado un programador o emulador del dispositivo, sólo debería instalar las siguientes herramientas del software:
Archivos MPLAB IDE - archivos MPASM/MPLINK/MPLIB - archivos de Protección del Simulador MPLAB-SIM - Archivos de Ayuda
Nota: Si tiene un programador PICSTART Plus, también debería seleccionar los "Archivos de Protección del PICSTART Plus". Si tiene otras herramientas (PICMASTER, MPLAB-ICE, ICEPIC, SIMICE, etc.), verifique los ítems asociados en los diálogos para instalar los drivers de software en su máquina. Más adelante podrá reinstalar el MPLAB para agregar componentes adicionales.
Luego de instalarlos, ejecute MPLAB.EXE o dar click al ícono MPLAB para iniciar el sistema. Aparecerá el escritorio del MPLAB.
Paso 2: Configurar el Modo de Desarrollo El escritorio básico del MPLAB se asemeja al de las aplicaciones de Windows, tiene una barra de menu en el margen superior, una barra de herramientas, y también una barra de estado en el margen inferior. Podrá advertir que la barra de estado incluye información sobre cómo se ha configurado el sistema.
Nota: El "modo de desarrollo" determina la herramienta, si elige alguna, que ejecutará el código. Para esta guía, usaremos el simulador de software MPLAB-SIM. Si tiene un emulador, más tarde podrá cambiar a una de sus operaciones. La operación será similar. El modo "Sólo Editor" no permite la ejecución del código, y sólo es útil en caso de no haber instalado el simulador, no disponer de un emulador, y que sólo cree el código para programar un micro PIC.
Paso 3: Crear un nuevo Proyecto simple El simulador se ejecutará desde el mismo archivo, llamado "archivo hex", el cual puede ser programado en el micro PIC. Para que se ejecute el simulador, primero deberá crear un archivo de código fuente y realizar el montaje del código fuente.
Nota: El lenguaje ensamblador produce, entre otros elementos, un archivo hex. Este archivo tiene la extensión.hex. Este archivo también puede ser cargado por otros programadores.
"PJT" es el sufijo standard para los archivos de proyectos en el MPLAB. El prefijo del nombre de archivo del proyecto.
Nota: El simulador, los programadores y los sistemas emuladores que operan con el MPLAB usan un archivo hex creado por el ensamble, la compilación y/o el linking del código fuente. Algunas herramientas diferentes pueden crear archivos hex, y estas herramientas forman parte de cada proyecto. Los proyectos le dan la flexibilidad para describir cómo se construirá la aplicación y qué herramientas se usarán para crear el archivo .hex.
En su forma más simple, el proyecto contiene un archivo hex creado desde un archivo fuente de ensamble. Esta será la configuración por defecto cuando aparezca el diálogo "Propiedades del Nodo".
Paso 4: Crear un nuevo Archivo fuente simple Hacer Click dentro del espacio en blanco de la ventana de archivo creada. Seguramente se llamará "Sin título". De este modo accederá al "foco" de la ventana. Use la opción de menú "Archivo>Guardar como...", y guarde el archivo vacío con extensión .asm. Cuando abra el diálogo de exploración standard, encontrará su ubicación en el directorio del proyecto. Ingrese el nombre de archivo y presione "Aceptar".
Ahora estarán disponibles el escritorio MPLAB y la ventana de archivo vacío, pero el nombre de la ventana de archivo reflejará su nuevo nombre.
Nota: El nombre del archivo fuente y el nombre del proyecto deben ser iguales, ya que, en este tipo de proyectos existen otros proyectos de archivo múltiple que usan el linker y permiten que el nombre del archivo de salida sea diferente al del archivo de entrada (hay una guía aparte para los proyectos de archivos múltiples que usan el linker). Para nuestro caso el tipo de archivo fuente del proyecto, el MPASM siempre creará una archivo hex de salida con el mismo nombre que el archivo fuente, y esta configuración no puede modificarse. Si cambia el nombre del archivo fuente, también deberá cambiar el nombre del proyecto.
Paso 5: Ingresar el Código fuente Use el ratón para ubicar el cursor al comienzo de la ventana de archivo vacío con extensión .asm, e ingrese el siguiente texto, exactamente como esta escrito en cada línea. No debe ingresar los comentarios (los textos que siguen a los punto y coma)
list p=16f84
include <p16F84.inc>
c1 equ h`0c' ; Establece el contador de variable temp c1 en la dirección 0x0c
org h'00' ; Establece la base de memoria del programa en el vector reset 0x00
reset
goto start ; Ir a inicio en el programa principal
org h'04' ; Establece la base de memoria del programa al comienzo del código del usuario
start
mov1w h'09' ; Inicializa el contador a un valor arbitrario mayor que cero
movwf c1 ; Guarda el valor en la variable temp definida
loop
incfsz c1,F ; Incrementa el contador, ubica los resultados en el registro de archivos
goto loop ; loop hasta que el contador se completa
goto bug ; Cuando el contador se completa, va a start para reiniciar
end
Este código es un programa muy simple que incrementa un contador y lo "resetea" a un valor predeterminado cuando el contador vuelve a cero.
Nota: Todos los rótulos comienzan en la primera columna, y la última línea tiene una directiva "end". Busque en la Guía del Usuario MPASM con MPLINK y MPLIB más información sobre directivas. Las páginas de datos del micro PIC contienen información completa sobre instrucciones con ejemplos para su uso.
Guarde el archivo usando la función de menú "Archivo>Guardar".
Paso 6: Ensamble del Archivo fuente El ensamble del archivo puede realizarse de varias maneras. Aquí describiremos un método. Use el ítem de menu "Proyecto>Construir todo". De este modo ejecutará el lenguaje ensamblador MPASM en el trasfondo usando las configuraciones guardadas con el proyecto anteriormente. Una vez completado el proceso de ensamble, aparecerá en la siguiente ventana "Resultados de Construcción":
Se Ha ingresado intencionalmente al menos un error si ingresó el código tal como lo hemos escrito en el paso anterior. El último "goto" en el programa refiere a un rótulo inexistente llamado "bug". Dado que este rótulo no ha sido definido previamente, el lenguaje ensamblador informará el error. También podría relevar otros errores.
Haga un doble clic sobre el mensaje de error. De este modo ubicará el cursor en la línea que contiene el error en el código fuente. Cambie "bug" por "start". Use la ventana "Resultados de construcción" para hacer una búsqueda de errores, y reparar los que aparecieran en el código fuente. Re-ensamble el archivo ejecutando la función de menú "Proyecto>Construir todo". Este procedimiento puede demandar un par de repeticiones.
Nota: Cuando re-construya un proyecto, todos sus archivos fuente serán guardados en el disco.
Luego de reparar todos los problemas en el código fuente, la ventana "Resultados de construcción" mostrará el mensaje "Construcción completada exitosamente". Ya ha completado un proyecto que puede ejecutarse usando el simulador.
Paso 7: Ejecución de su programa Use "Debug>Ejecutar>Reset" para iniciar el sistema. El contador del programa se reiniciará a cero, que es el vector de reset en el 16F84. La línea del código fuente en esta dirección será destacada con una barra oscura. También advertirá que en la barra de estado, la PC se establecerá en 0x00.
Use el ítem de menú "Debug>Ejecutar>Paso". Al hacerlo, el contador del programa avanzará hasta la siguiente ubicación de instrucción. La barra oscura seguirá al código fuente y el contador del programa desplegado en la barra de estado avanzará hasta "4".
Cuando ejecute el ítem de menú "Debug>Ejecutar>Paso", advierta la aparición de un texto en el lado derecho del ítem de menú que dirá "F7". El mismo equivale a "tecla de función siete" en su teclado. Muchas funciones del MPLAB se asignan a "teclas-especiales". Estas teclas cumplen la misma función que los ítems de menú a los cuales corresponden. Presione F7 varias veces y podrá ver al contador del programa y a la barra avanzar a través del programa.
Ejecute el ítem de menú "Debug>Ejecutar>Ejecutar" o presione F9 para iniciar la ejecución del programa desde la ubicación actual del contador. Los colores de la barra de estado cambiarán, indicando que el programa está ejecutando las instrucciones. Ninguno de los campos de la barra de estado se actualizará mientras el programa esté en ejecución.
Detenga el programa ejecutando el ítem de menú "Debug>Run>Detener" o presionando F5. La barra de estado volverá a su color original, y el contador del programa y otras informaciones de su estado serán actualizados.
Nota: Otra manera de ejecutar funciones es usar la barra de herramientas ubicada en el margen superior de la pantalla. Si ubica el cursor sobre los ítems de la barra de herramientas, podrá ver el nombre de su función en la barra de estado. El botón de la izquierda es un botón standard "cambiar barra de herramientas" que le permite desplegar las barras de herramientas disponibles. Estas pueden ser personalizadas, como podrá advertirlo en la sección "Algunas Sugerencias" al final de esta guía. En la barra de herramientas de debug, la luz verde es equivalente a F9 (Ejecución) y la luz roja equivale a F5 (Detención).
Paso 8: Abrir otras ventanas para el seguimiento de errores Hay muchas maneras de visualizar el programa y su ejecución usando el MPLAB. Por ejemplo, este programa está destinado a incrementar un contador temporal pero, ¿cómo puede asegurarse que se está produciendo dicho incremento? Una manera es abrir e inspeccionar una ventana de registro de archivo. Puede hacerlo ejecutando el ítem de menú "Ventana>registros de archivo". Aparecerá una pequeña ventana con todos los registros de archivo o el RAM del 16F84.
Presione F7 (ejecutando instrucción por instrucción si piensa anularlo) varias veces y observe la actualización de valores en la ventana de registro de archivo. Hemos colocado la variable del contador en la ubicación de dirección 0x0C. Mientras el contador temporal se incremente, su incremento se reflejará en la ventana de registro de archivo. Los registros de archivo cambian de color cuando su valor cambia, de modo que los cambios puedan advertirse fácilmente en la inspección. De todos modos, en muchos programas complejos, varios valores pueden cambiar, resultando más difícil focalizar las variables que le interesan. Este problema puede solucionarse usando una ventana de observación especial.
Paso 9: Crear una ventana de observación Ejecute el ítem de menú "Ventana>Nueva ventana de observación". Aparecerá el diálogo "Agregar Símbolo de observación".
Tipee "c1" en la caja de nombre de símbolo para que la lista se despliegue hasta el símbolo deseado. Selecciónelo, presione el botón "Agregar", y luego el botón "Cerrar". Aparecerá en su escritorio MPLAB una ventana de observación desplegando el valor actual del valor "c1" del contador temporal.
Presione F7 varias veces para advertir cómo se actualiza la ventana de observación mientras el valor del contador se incrementa. Si dejó la ventana de registro de archivo abierta, la misma también será actualizada.
Actividad opcional: Guardar la ventana de observación
Puede guardar la ventana de observación y sus configuraciones ejecutando el ítem "Guardar observación" debajo del botón del sistema ubicado en el ángulo superior izquierdo de la ventana de observación. Al dar click este botón, se desplegará un menú en cascada. Seleccione "Guardar observación" y aparecerá el diálogo de exploración standard ubicado en el directorio del proyecto. Elija cualquier nombre arbitrario y presione "Aceptar".
Si no nombra la ventana de observación, el MPLAB lo hará por usted. La ubicación y el estado en la pantalla de la ventana abierta o cerrada serán guardados con el proyecto, de modo que la próxima vez que abra su proyecto, sus ventanas de observación aparecerán restauradas.
Nota: También puede editar ventanas de observación luego de crearlas. Use el botón del sistema y seleccione "Agregar Observación" para que aparezca un diálogo mediante el cual podrá agregar más ítems. Con la tecla "Ins" podrá hacer lo mismo. Si desea borrar un ítem, selecciónelo y presione la tecla Suprimir; la observación referida desaparecerá de la ventana. Puede seleccionar "Editar observación" en el menú del sistema para cambiar el modo en el cual se muestra el ítem (en hex, binario, como una variable de 16-bit en vez de 8-bit, etc.).
Paso 10: Marcar un punto de interrupción Presione F5 ("Debug>Ejecutar>Detener") para asegurarse que el procesador del simulador se ha detenido. Dar Click dentro de la ventana del código fuente la línea siguiente al rótulo "start", que dice "movlw 0'09'". Presione el botón derecho del ratón para que aparezca el menú “Punto(s) de interrupción". Este desaparecerá y la línea donde se ubicó el cursor cambiará de color, indicando que ha sido establecido un punto de interrupción en dicha ubicación.
Presione F6 o ejecute el ítem de menú "Debug>Ejecutar>Reset" para reiniciar el sistema. Luego ejecute el sistema presionando F9. El programa se ejecutará y se detendrá en la instrucción ubicada luego del punto de interrupción. "c1", como aparece en la ventana de observación o en la de registro de archivo, si la tiene aún abierta, reflejará el estado reset de cero, el modo instrucción por instrucción ejecutará la carga y c1 luego reflejará un valor de 0x09. Presione F9 varias veces y advierta que la barra de estado cambia de color mientras el programa se esté ejecutando, y luego retorna a su color original cuando el procesador se detiene.
C. Sugerencias:
Puntos de interrupción - Puede marcar puntos de interrupción en la ventana "Ventanas>Memoria de programa", en la ventana de archivo fuente (en este caso tutor84.asm), o en la ventana "Ventanas>Listado Absoluto".
Archivos fuente - Use "Ventana>Ventana de Proyecto" para que aparezca una lista de sus archivos fuente. Puede hacer un doble clic sobre el nombre de un archivo para trasladarlo al editor.
Errores MPASM - Si el MPASM le da un error, haga un doble clic sobre el error en la ventana de error para ir al error en el código fuente. Si tiene múltiples errores, siempre elija el primer error -generalmente un error causa errores subsiguientes y al reparar el primero corregirá los restantes.
Configuración de Bits y el Modo del Procesador - La configuración de bits en el archivo fuente no determinará el modo del procesador para el simulador (o los emuladores). Use "Opciones>Configurar Procesador>Hardware" para estas configuraciones. Aún cuando puede establecer estos bits en el archivo fuente del MPASM o del MPLAB-C17, el MPLAB no cambia automáticamente los modos. Por ejemplo, la configuración de bit Activar Observación de Dog Timer puede hacerse de tal modo que, cuando programe un dispositivo, el Dog Timer sea activado. En el MPLAB también necesitará acceder al diálogo "Opciones>Configurar Procesador>Hardware" para activar el WDT para el simulador o el emulador. Esto le permitirá hacer un seguimiento de errores con el WDT activado o desactivado sin cambiar su código fuente.
Opciones - Use "Opciones>Configurar Entorno" para hacer lo siguiente:
- Establecer teclas de Mapa Europeo para funciones MPLAB y caracteres ASCII especiales
- Cambiar la fuente de la pantalla o el tamaño de la fuente
- Posicionar la barra de herramientas a un lado o al pie de la pantalla
- Modificar la barra de herramientas
- Cambiar la cantidad de caracteres desplegados para los rótulos
Archivos mapa - Use el diálogo "Proyecto>Editar Proyecto" y cambie las Propiedades del Nodo del MPASM para producir una archivo MAP llamado tutor84.map. Luego de construir el proyecto, busque el tutor84.map para ver información de la construcción.
Menús desactivados - Si encuentra menus desactivados (opacados), verifique que no haya ingresado el modo "solo Editor". Si está seguro que ha realizado correctamente la configuración, intente salir del MPLAB y reinicie el programa.
D. Características del MPLAB no abarcadas aquí
Hay muchas características del MPLAB que no se tratan aquí. En lugar de describir cada característica, generando una guía extensa y complicada, primero hemos decidido darle el conocimiento básico para operar el MPLAB. Le ofrecemos a continuación un punto de inicio para ayudarlo a explorar otras herramientas del MPLAB.
Otras ventanas de datos y diálogos Esta guía ya le ha presentado la Ventana de Memoria de Programa y las Ventanas de Observación. Aún no ha explorado las otras ventanas. Debería buscar en "Ventana>Conjunto" y "Ventana>Registros de Función Especial" para ver cómo el MPLAB puede mostrar otras áreas de memoria.
Hay otros diálogos, como el diálogo "Debug>Configuración de puntos de interrupción" para marcar puntos de interrupción.
La ayuda online y la Guía del Usuario de MPLAB le explicarán el uso de estas características.
Rastreo La ventana de rastreo le brinda una imagen "instantánea" de la ejecución de su programa. Los emuladores que tienen un amortiguador de rastreo, pueden mostrar cómo se ejecuta su programa a altas velocidades.
Nota: Algunas aplicaciones, como los sistemas de control de motor, no pueden ser detenidos. Algunos errores sólo aparecen cuando la aplicación está en ejecución -no ocurren cuando se ejecuta el código instrucción por instrucción. El amortiguador de rastreo le brinda otra herramienta para probar este tipo de aplicaciones. Busque en la guía del usuario del simulador más detalles sobre la información recogida por su amortiguador de rastreo de hardware.
En el simulador, el amortiguador de rastreo es útil para recoger un extenso registro de la ejecución del programa, de modo que pueda retornar al mismo y analizarlo cuidadosamente. El simulador mostrará una información algo diferente a la registrada por el rastreo del emulador.
-
-
-
-
Téléchargez vos propres textes! Gagnez de l'argent et un iPhone X. -
-
Téléchargez vos propres textes! Gagnez de l'argent et un iPhone X. -
-
Téléchargez vos propres textes! Gagnez de l'argent et un iPhone X. -
-
Téléchargez vos propres textes! Gagnez de l'argent et un iPhone X. -
-
Téléchargez vos propres textes! Gagnez de l'argent et un iPhone X. -
-
Téléchargez vos propres textes! Gagnez de l'argent et un iPhone X. -
-
Téléchargez vos propres textes! Gagnez de l'argent et un iPhone X. -
-
Téléchargez vos propres textes! Gagnez de l'argent et un iPhone X. -
-
Téléchargez vos propres textes! Gagnez de l'argent et un iPhone X. -
-
Téléchargez vos propres textes! Gagnez de l'argent et un iPhone X. -
-
Téléchargez vos propres textes! Gagnez de l'argent et un iPhone X. -
-
Téléchargez vos propres textes! Gagnez de l'argent et un iPhone X. -
-
Téléchargez vos propres textes! Gagnez de l'argent et un iPhone X. -
-
Téléchargez vos propres textes! Gagnez de l'argent et un iPhone X. -
-
Téléchargez vos propres textes! Gagnez de l'argent et un iPhone X. -
-
Téléchargez vos propres textes! Gagnez de l'argent et un iPhone X. -
-
Téléchargez vos propres textes! Gagnez de l'argent et un iPhone X. -
-
Téléchargez vos propres textes! Gagnez de l'argent et un iPhone X. -
-
Téléchargez vos propres textes! Gagnez de l'argent et un iPhone X. -
-
Téléchargez vos propres textes! Gagnez de l'argent et un iPhone X. -
-
Téléchargez vos propres textes! Gagnez de l'argent et un iPhone X. -
-
Téléchargez vos propres textes! Gagnez de l'argent et un iPhone X. -
-
Téléchargez vos propres textes! Gagnez de l'argent et un iPhone X. -
-
Téléchargez vos propres textes! Gagnez de l'argent et un iPhone X. -
-
Téléchargez vos propres textes! Gagnez de l'argent et un iPhone X. -
-
Téléchargez vos propres textes! Gagnez de l'argent et un iPhone X. -
-
Téléchargez vos propres textes! Gagnez de l'argent et un iPhone X. -
-
Téléchargez vos propres textes! Gagnez de l'argent et un iPhone X. -
-
Téléchargez vos propres textes! Gagnez de l'argent et un iPhone X. -
-
Téléchargez vos propres textes! Gagnez de l'argent et un iPhone X. -
-
Téléchargez vos propres textes! Gagnez de l'argent et un iPhone X. -
-
Téléchargez vos propres textes! Gagnez de l'argent et un iPhone X. -
-
Téléchargez vos propres textes! Gagnez de l'argent et un iPhone X. -
-
Téléchargez vos propres textes! Gagnez de l'argent et un iPhone X. -
-
Téléchargez vos propres textes! Gagnez de l'argent et un iPhone X. -
-
Téléchargez vos propres textes! Gagnez de l'argent et un iPhone X. -
-
Téléchargez vos propres textes! Gagnez de l'argent et un iPhone X. -
-
Téléchargez vos propres textes! Gagnez de l'argent et un iPhone X. -
-
Téléchargez vos propres textes! Gagnez de l'argent et un iPhone X. -
-
Téléchargez vos propres textes! Gagnez de l'argent et un iPhone X. -
-
Téléchargez vos propres textes! Gagnez de l'argent et un iPhone X. -
-
Téléchargez vos propres textes! Gagnez de l'argent et un iPhone X. -
-
Téléchargez vos propres textes! Gagnez de l'argent et un iPhone X. -
-
Téléchargez vos propres textes! Gagnez de l'argent et un iPhone X. -
-
Téléchargez vos propres textes! Gagnez de l'argent et un iPhone X. -
-
Téléchargez vos propres textes! Gagnez de l'argent et un iPhone X. -
-
Téléchargez vos propres textes! Gagnez de l'argent et un iPhone X. -
-
Téléchargez vos propres textes! Gagnez de l'argent et un iPhone X. -
-
Téléchargez vos propres textes! Gagnez de l'argent et un iPhone X. -
-
Téléchargez vos propres textes! Gagnez de l'argent et un iPhone X. -
-
Téléchargez vos propres textes! Gagnez de l'argent et un iPhone X. -
-
Téléchargez vos propres textes! Gagnez de l'argent et un iPhone X. -
-
Téléchargez vos propres textes! Gagnez de l'argent et un iPhone X. -
-
Téléchargez vos propres textes! Gagnez de l'argent et un iPhone X. -
-
Téléchargez vos propres textes! Gagnez de l'argent et un iPhone X. -
-
Téléchargez vos propres textes! Gagnez de l'argent et un iPhone X. -
-
Téléchargez vos propres textes! Gagnez de l'argent et un iPhone X. -
-
Téléchargez vos propres textes! Gagnez de l'argent et un iPhone X. -
-
Téléchargez vos propres textes! Gagnez de l'argent et un iPhone X. -
-
Téléchargez vos propres textes! Gagnez de l'argent et un iPhone X. -
-
Téléchargez vos propres textes! Gagnez de l'argent et un iPhone X. -
-
Téléchargez vos propres textes! Gagnez de l'argent et un iPhone X. -
-
Téléchargez vos propres textes! Gagnez de l'argent et un iPhone X. -
-
Téléchargez vos propres textes! Gagnez de l'argent et un iPhone X. -
-
Téléchargez vos propres textes! Gagnez de l'argent et un iPhone X. -
-
Téléchargez vos propres textes! Gagnez de l'argent et un iPhone X. -
-
Téléchargez vos propres textes! Gagnez de l'argent et un iPhone X. -
-
Téléchargez vos propres textes! Gagnez de l'argent et un iPhone X. -
-
Téléchargez vos propres textes! Gagnez de l'argent et un iPhone X. -
-
Téléchargez vos propres textes! Gagnez de l'argent et un iPhone X. -
-
Téléchargez vos propres textes! Gagnez de l'argent et un iPhone X. -
-
Téléchargez vos propres textes! Gagnez de l'argent et un iPhone X. -
-
Téléchargez vos propres textes! Gagnez de l'argent et un iPhone X. -
-
Téléchargez vos propres textes! Gagnez de l'argent et un iPhone X. -
-
Téléchargez vos propres textes! Gagnez de l'argent et un iPhone X. -
-
Téléchargez vos propres textes! Gagnez de l'argent et un iPhone X. -
-
Téléchargez vos propres textes! Gagnez de l'argent et un iPhone X. -
-
Téléchargez vos propres textes! Gagnez de l'argent et un iPhone X. -
-
Téléchargez vos propres textes! Gagnez de l'argent et un iPhone X. -
-
Téléchargez vos propres textes! Gagnez de l'argent et un iPhone X. -
-
Téléchargez vos propres textes! Gagnez de l'argent et un iPhone X. -
-
Téléchargez vos propres textes! Gagnez de l'argent et un iPhone X. -
-
Téléchargez vos propres textes! Gagnez de l'argent et un iPhone X. -
-
Téléchargez vos propres textes! Gagnez de l'argent et un iPhone X. -
-
Téléchargez vos propres textes! Gagnez de l'argent et un iPhone X. -
-
Téléchargez vos propres textes! Gagnez de l'argent et un iPhone X. -
-
Téléchargez vos propres textes! Gagnez de l'argent et un iPhone X. -
-
Téléchargez vos propres textes! Gagnez de l'argent et un iPhone X. -
-
Téléchargez vos propres textes! Gagnez de l'argent et un iPhone X. -
-
Téléchargez vos propres textes! Gagnez de l'argent et un iPhone X. -
-
Téléchargez vos propres textes! Gagnez de l'argent et un iPhone X. -
-
Téléchargez vos propres textes! Gagnez de l'argent et un iPhone X. -
-
Téléchargez vos propres textes! Gagnez de l'argent et un iPhone X. -
-
Téléchargez vos propres textes! Gagnez de l'argent et un iPhone X. -
-
Téléchargez vos propres textes! Gagnez de l'argent et un iPhone X. -
-
Téléchargez vos propres textes! Gagnez de l'argent et un iPhone X. -
-
Téléchargez vos propres textes! Gagnez de l'argent et un iPhone X. -
-
Téléchargez vos propres textes! Gagnez de l'argent et un iPhone X. -
-
Téléchargez vos propres textes! Gagnez de l'argent et un iPhone X. -
-
Téléchargez vos propres textes! Gagnez de l'argent et un iPhone X. -
-
Téléchargez vos propres textes! Gagnez de l'argent et un iPhone X. -
-
Téléchargez vos propres textes! Gagnez de l'argent et un iPhone X. -
-
Téléchargez vos propres textes! Gagnez de l'argent et un iPhone X. -
-
Téléchargez vos propres textes! Gagnez de l'argent et un iPhone X. -
-
Téléchargez vos propres textes! Gagnez de l'argent et un iPhone X. -
-
Téléchargez vos propres textes! Gagnez de l'argent et un iPhone X. -
-
Téléchargez vos propres textes! Gagnez de l'argent et un iPhone X. -
-
Téléchargez vos propres textes! Gagnez de l'argent et un iPhone X. -
-
Téléchargez vos propres textes! Gagnez de l'argent et un iPhone X. -
-
Téléchargez vos propres textes! Gagnez de l'argent et un iPhone X. -
-
Téléchargez vos propres textes! Gagnez de l'argent et un iPhone X. -
-
Téléchargez vos propres textes! Gagnez de l'argent et un iPhone X. -
-
Téléchargez vos propres textes! Gagnez de l'argent et un iPhone X. -
-
Téléchargez vos propres textes! Gagnez de l'argent et un iPhone X. -
-
Téléchargez vos propres textes! Gagnez de l'argent et un iPhone X. -
-
Téléchargez vos propres textes! Gagnez de l'argent et un iPhone X. -
-
Téléchargez vos propres textes! Gagnez de l'argent et un iPhone X. -
-
Téléchargez vos propres textes! Gagnez de l'argent et un iPhone X. -
-
Téléchargez vos propres textes! Gagnez de l'argent et un iPhone X. -
-
Téléchargez vos propres textes! Gagnez de l'argent et un iPhone X. -
-
Téléchargez vos propres textes! Gagnez de l'argent et un iPhone X. -
-
Téléchargez vos propres textes! Gagnez de l'argent et un iPhone X. -
-
Téléchargez vos propres textes! Gagnez de l'argent et un iPhone X. -
-
Téléchargez vos propres textes! Gagnez de l'argent et un iPhone X. -
-
Téléchargez vos propres textes! Gagnez de l'argent et un iPhone X. -
-
Téléchargez vos propres textes! Gagnez de l'argent et un iPhone X. -
-
Téléchargez vos propres textes! Gagnez de l'argent et un iPhone X. -
-
Téléchargez vos propres textes! Gagnez de l'argent et un iPhone X. -
-
Téléchargez vos propres textes! Gagnez de l'argent et un iPhone X. -
-
Téléchargez vos propres textes! Gagnez de l'argent et un iPhone X. -
-
Téléchargez vos propres textes! Gagnez de l'argent et un iPhone X. -
-
Téléchargez vos propres textes! Gagnez de l'argent et un iPhone X. -
-
Téléchargez vos propres textes! Gagnez de l'argent et un iPhone X. -
-
Téléchargez vos propres textes! Gagnez de l'argent et un iPhone X. -
-
Téléchargez vos propres textes! Gagnez de l'argent et un iPhone X. -
-
Téléchargez vos propres textes! Gagnez de l'argent et un iPhone X. -
-
Téléchargez vos propres textes! Gagnez de l'argent et un iPhone X. -
-
Téléchargez vos propres textes! Gagnez de l'argent et un iPhone X. -
-
Téléchargez vos propres textes! Gagnez de l'argent et un iPhone X. -
-
Téléchargez vos propres textes! Gagnez de l'argent et un iPhone X. -
-
Téléchargez vos propres textes! Gagnez de l'argent et un iPhone X. -
-
Téléchargez vos propres textes! Gagnez de l'argent et un iPhone X. -
-
Téléchargez vos propres textes! Gagnez de l'argent et un iPhone X. -
-
Téléchargez vos propres textes! Gagnez de l'argent et un iPhone X. -
-
Téléchargez vos propres textes! Gagnez de l'argent et un iPhone X. -
-
Téléchargez vos propres textes! Gagnez de l'argent et un iPhone X. -
-
Téléchargez vos propres textes! Gagnez de l'argent et un iPhone X. -
-
Téléchargez vos propres textes! Gagnez de l'argent et un iPhone X. -
-
Téléchargez vos propres textes! Gagnez de l'argent et un iPhone X. -
-
Téléchargez vos propres textes! Gagnez de l'argent et un iPhone X. -
-
Téléchargez vos propres textes! Gagnez de l'argent et un iPhone X. -
-
Téléchargez vos propres textes! Gagnez de l'argent et un iPhone X. -
-
Téléchargez vos propres textes! Gagnez de l'argent et un iPhone X. -
-
Téléchargez vos propres textes! Gagnez de l'argent et un iPhone X. -
-
Téléchargez vos propres textes! Gagnez de l'argent et un iPhone X. -
-
Téléchargez vos propres textes! Gagnez de l'argent et un iPhone X. -
-
Téléchargez vos propres textes! Gagnez de l'argent et un iPhone X. -
-
Téléchargez vos propres textes! Gagnez de l'argent et un iPhone X. -
-
Téléchargez vos propres textes! Gagnez de l'argent et un iPhone X. -
-
Téléchargez vos propres textes! Gagnez de l'argent et un iPhone X. -
-
Téléchargez vos propres textes! Gagnez de l'argent et un iPhone X. -
-
Téléchargez vos propres textes! Gagnez de l'argent et un iPhone X. -
-
Téléchargez vos propres textes! Gagnez de l'argent et un iPhone X. -
-
Téléchargez vos propres textes! Gagnez de l'argent et un iPhone X. -
-
Téléchargez vos propres textes! Gagnez de l'argent et un iPhone X. -
-
Téléchargez vos propres textes! Gagnez de l'argent et un iPhone X. -
-
Téléchargez vos propres textes! Gagnez de l'argent et un iPhone X. -
-
Téléchargez vos propres textes! Gagnez de l'argent et un iPhone X. -
-
Téléchargez vos propres textes! Gagnez de l'argent et un iPhone X. -
-
Téléchargez vos propres textes! Gagnez de l'argent et un iPhone X. -
-
Téléchargez vos propres textes! Gagnez de l'argent et un iPhone X. -
-
Téléchargez vos propres textes! Gagnez de l'argent et un iPhone X. -
-
Téléchargez vos propres textes! Gagnez de l'argent et un iPhone X. -
-
Téléchargez vos propres textes! Gagnez de l'argent et un iPhone X. -
-
Téléchargez vos propres textes! Gagnez de l'argent et un iPhone X. -
-
Téléchargez vos propres textes! Gagnez de l'argent et un iPhone X. -
-
Téléchargez vos propres textes! Gagnez de l'argent et un iPhone X. -
-
Téléchargez vos propres textes! Gagnez de l'argent et un iPhone X. -
-
Téléchargez vos propres textes! Gagnez de l'argent et un iPhone X. -
-
Téléchargez vos propres textes! Gagnez de l'argent et un iPhone X. -
-
Téléchargez vos propres textes! Gagnez de l'argent et un iPhone X. -
-
Téléchargez vos propres textes! Gagnez de l'argent et un iPhone X. -
-
Téléchargez vos propres textes! Gagnez de l'argent et un iPhone X. -
-
Téléchargez vos propres textes! Gagnez de l'argent et un iPhone X. -
-
Téléchargez vos propres textes! Gagnez de l'argent et un iPhone X. -
-
Téléchargez vos propres textes! Gagnez de l'argent et un iPhone X. -
-
Téléchargez vos propres textes! Gagnez de l'argent et un iPhone X. -
-
Téléchargez vos propres textes! Gagnez de l'argent et un iPhone X. -
-
Téléchargez vos propres textes! Gagnez de l'argent et un iPhone X.