Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Niple v5 6 3 Manual de Usuario
Niple v5 6 3 Manual de Usuario
Versin 5.6
Manual de Usuario
Pgina 1
Contenido
CONTENIDO .............................................................................................................................................................. 2 INTRODUCCIN A LOS MICROCONTROLADORES ...................................................................................... 5 QUE ES UN MICROCONTROLADOR? ........................................................................................................................... 5 LOS MICROCONTROLADORES PIC ........................................................................................................................... 5 Estructura de un microcontrolador ....................................................................................................................... 6 El procesador o CPU ............................................................................................................................................ 6 Memoria ROM ....................................................................................................................................................... 6 Memoria RAM ....................................................................................................................................................... 7 Registros y Bits ...................................................................................................................................................... 8 Lneas de Entrada/Salida (E/S), (Puertos) .......................................................................................................... 11 Mdulos Temporizadores Internos (TMRs) ......................................................................................................... 11 UTILIZANDO UN MICROCONTROLADOR .................................................................................................................... 13 NIPLE: PROGRAMACIN VISUAL DE MICROCONTROLADORES PIC ........................................................................... 14 INTRODUCCIN A NIPLE .................................................................................................................................... 16 FUNCIONES DISPONIBLES ......................................................................................................................................... 17 HERRAMIENTAS ADICIONALES ................................................................................................................................. 19 METODOLOGA DE PROGRAMACIN CON NIPLE ..................................................................................... 21 CONCEPTOS BSICOS .......................................................................................................................................... 24 LA INTERFAZ DE NIPLE............................................................................................................................................. 24 ENTORNOS ............................................................................................................................................................... 28 Crear un nuevo Entorno ...................................................................................................................................... 29 Seleccionar el Entorno actual de trabajo ............................................................................................................ 29 Borrar un Entorno ............................................................................................................................................... 29 BLOQUES.................................................................................................................................................................. 29 Interpretacin de los Bloques .............................................................................................................................. 29 Seleccin de Bloques o Vnculos ......................................................................................................................... 31 Mover un Bloque ................................................................................................................................................. 31 Estirar un Bloque ................................................................................................................................................ 32 Borrar Bloques .................................................................................................................................................... 32 Editar Bloques ..................................................................................................................................................... 33 Duplicar Bloques ................................................................................................................................................. 34 Habilitar e Inhabilitar Bloques ........................................................................................................................... 34 VNCULOS (FLECHAS) .............................................................................................................................................. 35 Crear un Vnculo ................................................................................................................................................. 36 Cambiar el estilo de un Vnculo .......................................................................................................................... 37 Pgina 2
Pgina 4
El procesador o CPU
Es el elemento ms importante del microcontrolador y determina sus principales caractersticas, tanto a nivel hardware como software. La CPU (Central Processing Unit o Unidad Central de Proceso) se encarga la decodificacin y ejecucin del programa. Actualmente, existen 3 tipos de arquitectura de procesadores: CISC (Computadores de Juego de Instrucciones Complejo): Disponen de ms de 80 instrucciones en su repertorio, algunas de las cuales son muy sofisticadas y potentes, requiriendo muchos ciclos para su ejecucin. Una ventaja de los procesadores CISC es que ofrecen instrucciones complejas que actan como macros. RISC (Computadores de Juego de Instrucciones Reducido): En estos procesadores el repertorio de instrucciones es muy reducido y las instrucciones son simples y generalmente se ejecutan en un ciclo. La ventaja de stos es que la sencillez y rapidez de las instrucciones permiten optimizar el hardware y el software del procesador. SISC (Computadores de Juego de Instrucciones Especfico): En los microcontroladores destinados a aplicaciones muy concretas, el juego de instrucciones, adems de ser reducido, es "especfico", o sea, las instrucciones se adaptan a las necesidades de la aplicacin prevista.
Memoria ROM
La memoria ROM es una memoria no voltil, es decir, que no se pierden los datos al desconectar el equipo y se destina a contener el programa de instrucciones que gobierna la aplicacin. Los microcontroladores disponen de capacidades de ROM comprendidas entre 512 bytes y 8 k bytes. Existen distintos tipos de memorias ROM, la cual determinar la aplicacin del microcontrolador. ROM con mscara: Es una memoria no voltil de slo lectura cuyo contenido se graba durante la fabricacin del chip. El elevado costo del diseo de la mscara slo hace aconsejable el empleo de los microcontroladores con este tipo de memoria cuando se precisan cantidades superiores a varios miles de unidades. OTP: El microcontrolador contiene una memoria no voltil de slo lectura "programable una sola vez" por el usuario. OTP (One Time Programmable). Es el usuario quien puede escribir Pgina 6
Memoria RAM
La memoria RAM es una memoria voltil, es decir, que se pierden los datos al desconectar el equipo, y se destina a guardar las variables y los datos. Los microcontroladores disponen de capacidades de RAM comprendidas entre 20 y 512 bytes.
Pgina 7
Los sistemas digitales representan la informacin en forma de bits porque sus circuitos slo pueden tener 2 estados: encendido o apagado. En general podemos decir que: 1 = Encendido = Verdadero = SI = +5V 0 = Apagado = Falso = NO = 0V Cada Bit se identifica por la posicin que ocupa dentro del registro, siendo el primer Bit el nmero 0, que es el que se encuentra en el extremo derecho del registro.
Al igual que los registros, se puede asignar un nombre a cada Bit para facilitar su identificacin. En un registro se puede almacenar una combinacin 8 ceros y unos. Esto nos da una cantidad de 2^8 combinaciones, es decir, 256 posibles combinaciones de ceros y unos. Esto significa que un registro puede procesar valores entre 0 y 255.
Pgina 8
Podemos decir que el conjunto de ceros y unos almacenados en un registro se trata de un nmero entre 0 y 255, expresado en sistema Binario, esto es, en base 2. Para interpretar dicho nmero debemos realizar el clculo de conversin de base para poder expresarlo en sistema decimal. El siguiente ejemplo muestra el desarrollo de un clculo de conversin de base de sistema binario (base 2) a sistema decimal (base 10):
Se llama Peso Binario al valor que representa un Bit segn la posicin que ocupa dentro del registro. El Bit que est ubicado ms hacia la derecha del registro, es el Bit menos significativo (LSB, Least Significant Bit) y tiene un peso de 2^0=1. El Bit del extremo izquierdo del registro es el Bit ms significativo (MSB, Most Significant Bit) y tiene un peso de 2^7=128. Los pesos binarios crecen de derecha a izquierda en potencias de 2.
Una manera de simplificar el clculo de conversin de binario a decimal, es, directamente sumar los valores de los pesos binarios de los bits cuyo valor sea 1.
Pgina 9
El sistema hexadecimal es un sistema en base 16 y consta de 16 dgitos diferentes que son: del 0 al 9 y luego de la letra A a la F, es decir, 10 dgitos numricos y seis caracteres alfabticos. El sistema hexadecimal se usa como forma simplificada de representacin de nmeros binarios y debido a que 16 es una potencia de 2 (2^4=16), resulta muy sencilla la conversin de los nmeros del sistema binario al hexadecimal y viceversa. Mediante el sistema hexadecimal podemos representar un valor numrico de 8 bits utilizando slo 2 dgitos. De sta manera estamos dividiendo el registro de 8 bits en 2 partes de 4 bits cada una llamada Nibble. Al nibble correspondiente a los 4 bits menos significativos, se lo denomina Nibble Bajo y al nibble correspondiente a los 4 bits ms significativos se lo denomina Nibble Alto.
El sistema hexadecimal es utilizado para identificar las direcciones de registros de las memorias en sistemas digitales porque permite representar el valor de un Nibble con slo 1 digito, ya que:
Esto permite representar nmeros grandes utilizando unos pocos dgitos. Por ejemplo:
En la programacin de microcontroladores, es habitual utilizar los 3 sistemas de numeracin (Binario, Decimal y Hexadecimal) dependiendo del proceso que necesitemos realizar. Por eso es fundamental tener claros estos conceptos. Pgina 10
El mdulo TMR siempre incrementa el valor del registro asociado, nunca decrementa dicho valor.
Algunos microcontroladores pueden incluir ms de un mdulo TMR y la seal de reloj de cada uno de stos puede ser de origen interno o externo. Si el origen de la seal de reloj est configurado como externo, el mdulo temporizador puede ser utilizado como un contador de eventos externos, incrementando el TMR con cada pulso recibido mediante el pin correspondiente. Si el origen de la seal de reloj es interno, el TMR incrementa con cada ciclo del oscilador. Esto permite utilizar el temporizador como contador de ciclos de programa, donde, un ciclo corresponde al tiempo de ejecucin de una instruccin, lo cual se puede calcular con la siguiente frmula: ( 1 / ( Frec. Osc. / 4) ) Donde Frec. Osc. es la frecuencia del oscilador utilizado. Dado que la velocidad de ejecucin del microcontrolador corresponde a de la velocidad del cristal utilizado, cada ciclo de programa se ejecuta en un tiempo determinado segn el cristal que estemos utilizando. Por ejemplo; con un cristal de 4Mhz la velocidad real de procesamiento del microcontrolador es de 1 Mhz. Aplicando la siguiente frmula = 1 / (4.000.000 / 4) 1 / 1.000.000 0.000001 = 1 uS (microsegundo) Esto significa que cada ciclo de programa se ejecuta a 1/1.000.000 (1 uS) y dado que cada incremento del TMR corresponde a un ciclo de programa, si contamos los incrementos de un TMR, indirectamente podremos calcular el tiempo transcurrido. Pgina 11
Pgina 12
El microcontrolador slo entiende de nmeros, es decir que, el cdigo Assembler (texto) no puede ser procesado directamente por el microcontrolador. Para poder grabar el programa en el micro, primero debemos convertir el texto del cdigo Assembler a nmeros, en general, en formato hexadecimal. A este proceso se le llama Compilacin. Pgina 13
Por ltimo, despus de compilado, el programa est listo para ser grabado al microcontrolador. Esto realiza mediante una placa programadora. A sta placa programadora, comnmente se la llama programador. Existen distintos tipos de programadores los cuales pueden ser para conectar a la PC mediante el puerto Serie (COM) o Paralelo (LPT). Cada programador trabaja en conjunto con un software, mediante el cual se realiza el proceso de lectura y escritura de los microcontroladores. A continuacin se presenta un resumen del proceso de desarrollo del cdigo y grabacin de un microcontrolador: 1) Escribir el cdigo Assembler. Se genera un archivo con extensin ASM. 2) Compilar el cdigo Assembler. Se genera un archivo con extensin HEX. 3) Grabar (transferir) el programa desde la PC al microcontrolador mediante un programador. De estos 3 pasos, el primero insume el 98 % de tiempo y esfuerzo y es aqu donde Niple le ofrece sus ventajas.
Pgina 15
Introduccin a Niple
Niple es un Entorno Visual de Desarrollo para programacin de Microcontroladores PIC. Con Niple podr programar los PIC a travs del diseo de un diagrama de flujo de manera grfica y de alto nivel de programacin, sin necesidad de escribir cdigo Assembler, o escribiendo la menor cantidad de cdigo, convirtindose en la forma ms rpida, sencilla y productiva de desarrollar proyectos con microcontroladores PIC. La metodologa de programacin consiste en disear un diagrama de flujo de manera grfica y en lenguaje humano mientras Niple realiza el trabajo pesado por Ud., controlando errores lgicos o de configuracin, realizando clculos, coordinando la interaccin entre las distintas partes del proyecto y generando de manera automtica el cdigo Assembler. Estas caractersticas, hacen de Niple la herramienta ideal tanto para quienes se inician en el mundo de los microcontroladores como para aquellos usuarios ms experimentados que quieran aumentar su productividad. Entre las principales prestaciones que Niple ofrece podemos destacar:
Entono Visual de Alto Nivel de programacin: Niple ofrece una metodologa de programacin totalmente visual y en lenguaje humano. Bloques estandarizados, lo cual facilita la interpretacin del proyecto. Ud. se concentra en Que Hacer y Niple se encarga de Como Hacerlo. Control automtico de errores lgicos. Supervisa el ingreso de datos.
Control automtico de registros y bits: Controla la existencia de todos los registros y bits necesarios para el correcto funcionamiento del proyecto en el momento de generar el cdigo Assembler. Controla que no existan nombres de registros y bits duplicados. Valida los nombres de los registros y los bits en el momento de ser declarados.
Correccin automtica de errores lgicos Controla la correcta configuracin de los puertos. Controla la configuracin y activacin de las interrupciones. Supervisa la creacin de vnculos entre bloques.
Generacin del Cdigo Assembler: Control automtico de la sintaxis del cdigo generado. Control automtico del cambio de pgina. Generacin automtica de etiquetas.
Pgina 16
Modelos de PIC soportados por Niple: 12F629 / 675 16F716 16F84 / 84A 16F87 / 88 16F630 / 676 16F627 / 627A / 628 / 628A / 648 / 648A 16F737 / 747 / 767 / 777 16F870 / 873 / 873A / 874 / 874A / 876 / 876A / 877 / 877A 16F882 / 883 / 884 / 886 / 887 18F2455 / 2550 / 4455 / 4550 18F2525 / 2620 / 4525 / 4620 18F13K50 / 14K50 Velocidades de reloj soportadas: 4 Mhz Interno, 4Mhz , 8 Mhz 10 Mhz,12 Mhz y 20 Mhz.
Funciones disponibles
Las funciones disponibles dependen del modelo de microcontrolador utilizado pero en general podemos mencionar: Seleccin del cristal utilizado Asignacin de valores a registros y bits Configuracin y manejo de interrupciones Manejo de rutinas de usuario Configuracin, Lectura y Escritura de puertos Lectura / Escritura de EEPROM interna del PIC Lectura / Escritura de EEPROM/RAM/FRAM Externa por I2C Lectura / Escritura de EEPROM Paralela Funciones de comparacin de registros y bits (condiciones =, >, <, >=, <=, <>) Manejo automtico de tablas Temporizadores por bucle (de tiempo fijo o variable) Ingreso de datos por teclado matricial (3x3 y 3x4) Visualizacin de datos en dgitos 7 segmentos (nodo comn y Ctodo comn) Matriz de LED Visualizacin de datos en pantallas LCD (16x2, 20x2 y 20x4) Visualizacin de datos en pantallas GLCD (128x64) Manejo de memorias EEPROM 24Cxxx por comunicacin I2C Manejo de reloj/calendario de tiempo real PCF8583 y ds1307, con control de alarmas por fecha. Pgina 17
Pgina 18 de 133
Interfaz de comunicacin RS232. Comunicaciones a 8 o 16 bits con visualizacin en distintos formatos (decimal, hexadecimal, binario, texto, o modo grfico).
Pgina 19 de 133
Interfaz de comunicacin USB, con visualizacin en distintos formatos (decimal, hexadecimal, binario, texto), esta herramienta tambin dispone de eleccin sobre el tipo de dato a enviar al microcontrolador, entre los tipos de datos a enviar estn: 1. Datos ASCII 2. Datos Decimal 3. Datos Hexadecimal 4. Datos Binarios
Pgina 20 de 133
Pgina 21 de 133
El objetivo de Niple es utilizar lo menos posible los bloques de instrucciones ya que stos bloques equivalen a programar en cdigo Assembler. En el segundo nivel se organizan las etiquetas del proyecto, es decir, permite la creacin o el salto de etiquetas dentro del diagrama de flujo.
Luego se encuentran las rutinas bsicas: Rutinas Bsicas: Las rutinas bsicas son mdulos prediseados y se encargan de resolver un proceso en particular (una configuracin, una comparacin, un clculo, etc.). Ud. puede formar estructuras lgicas muy complejas de manera rpida y sencilla a partir de la combinacin de rutinas bsicas. Utilice las rutinas bsicas para programar dentro de cualquier Entorno. Las rutinas bsicas estn organizadas en categoras como se muestra en la imagen a continuacin:
Pgina 22 de 133
Subrutinas de usuario: Ud. puede disear sus propias funciones o procedimientos para solucionar un problema en particular (siempre combinando distintas rutinas bsicas) y luego llamarlos desde distintas partes del programa (subrutinas). Esto le permite por un lado, la creacin de funciones o procedimientos personalizados y por otro lado, la optimizacin del cdigo Assembler generado, ya que las rutinas de usuario slo se escriben una vez y luego se insertan llamadas a las mismas. Esta categora incluye las funciones de declaracin e insercin de llamadas a rutinas de usuario.
Pgina 23 de 133
Conceptos bsicos
La interfaz de Niple
Elementos de la pantalla.
Secciones de trabajo
Niple dispone de 2 secciones de trabajo: Seccin de Dispositivos: se encuentran los dispositivos externos que sern utilizados en el proyecto. Seccin de Diagrama de Flujo: se encuentran los diagramas de flujo que conforman el proyecto actual. Para conmutar entre las secciones de Dispositivos y Diagramas de Flujo utilice la lista desplegable que se encuentra en la parte superior derecha de la pantalla:
Pgina 24 de 133
Los dispositivos a declarar esta organizados por categoras. El tipo de dispositivo que desea declarar seleccionando en la lista de categoras de nuevo dispositivo:
Al selecciona el tipo de dispositivo a declarar se muestran los diferentes componentes disponibles segn el modelo de microcontrolador utilizado. Cada dispositivo es identificado con un nombre (ID, por Identificacin). Cada dispositivo debe tener un nombre nico que lo identifique dentro del proyecto, es decir que no puede haber ms de 1 dispositivo con el mismo ID. Por defecto Niple le propone un Id de manera automtica, Ud. Puede cambiar el Id para identificar ms fcilmente cada dispositivo dentro del diagrama de flujo. Una categora de dispositivos puede estar formado por varios componentes. En este caso se muestra una lista de los componentes disponibles en la parte inferior de la pantalla. Al seleccionar el componente deseado se muestra la pantalla de configuracin y opciones correspondiente.
Pgina 25 de 133
Una vez seleccionadas las caractersticas del dispositivo y la conexin de lo pines al PIC se termina el proceso de declaracin de dispositivo por medio del botn Ingresar. Este botn estar disponible solo cuando todas las opciones de configuracin del dispositivo hayan sido seleccionadas. En la parte inferior de la pantalla se muestra la lista de dispositivos declarados en el proyecto actual. Al seleccionar un dispositivo se muestran todas las caractersticas y opciones de configuracin. Los dispositivos de muestran por su ID.
Pgina 26 de 133
Note como la implementacin un adecuado ID permite identificar ms fcilmente la funcin de cada una de las memorias lo cual facilitar la programacin dentro del diagrama de flujo ya que se acceder a estas memorias por su ID. A continuacin se muestra como se utiliza el ID para acceder a cada una de las memorias dentro del diagrama de flujo.
Pgina 27 de 133
En la seccin Diagrama de Flujo Ud. programa los procesos o estructuras lgicas que desea realizar en el proyecto. Un proyecto esta dividi en diferentes Partes. A cada una es tas partes se las llama Entorno.
Entornos
En general, un programa para PIC es organizado en distintas secciones con el fin de facilitar la compresin y al mismo tiempo optimizar el cdigo por medio de la reutilizacin de rutinas y procesos. El objetivo de cada una de stas secciones es resolver un problema en particular y reciben distintos nombres segn la funcin que cumplen, o el contexto en el cual se ejecutan (Programa Principal, Subrutinas o Interrupciones).
En Niple, se llama Entorno a cada una de estas secciones que conforman un programa.
Cada entorno debe estar perfectamente delimitado por un bloque de Inicio y otro de Fin, con la excepcin del entorno del Programa Principal. Este contiene un bloque de inicio pero no tiene un bloque de final, sino que, se realiza un bucle para ejecutar otro ciclo del programa. Cada proyecto de Niple puede contener varios entornos; Entorno del Programa Principal: ste entorno se crea de manera automtica y es el encargado de coordinar la ejecucin de todo el programa (incluyendo el resto de los entornos). En un proyecto slo puede haber slo un entorno llamado Programa Principal y no puede ser borrado. Entornos de Subrutinas (rutinas de usuario): Son funciones o procedimientos generados por el usuario. Debe asignarles un nombre nico dentro del proyecto. No tiene un lmite mximo en la cantidad de entornos de subrutina que puede incluir en un proyecto. Las subrutinas pueden devolver o no un resultado (Funciones y Procedimientos respectivamente). Para ejecutar una subrutina debe ser llamada o invocada. Entornos de Interrupciones: Son funciones o procedimientos que se ejecutan al producirse un llamado a interrupcin. Cada interrupcin tiene un nombre predeterminado y el usuario no puede cambiar ste nombre. La cantidad mxima de Interrupcin corresponde al nmero de interrupciones de incluye cada modelo de microcontrolador. En tiempo de ejecucin, se accede al entorno de una interrupcin de manera automtica, al generarse un llamado a interrupcin. O sea que no se puede predecir el momento exacto en que se producir una interrupcin. Esto afecta al sistema de chequeo de errores.
Pgina 28 de 133
Borrar un Entorno
Para borrar un entorno, seleccione el nombre del entorno a borrar y presione la tecla Suprimir.
Bloques
Un bloque es un smbolo que representa un proceso. Cada bloque presenta informacin segn su forma, su color y el texto que contiene, e identifican una funcin en particular.
Ingreso de datos. Leer el valor de un puerto (en paralelo), modo Captura, modo Comparacin.
Instruccin. Cualquiera de las 35 instrucciones en cdigo assember. Salida de datos. Escribir un valor en un puerto (en paralelo, no serial)
Configuracin de un Puerto.
Pgina 29 de 133
BCD a
Comunicaciones Seriales RS232. Envo y recepcin de un dato por RS232. Condicin. Evala una condicin y deriva la ejecucion del programa en funcin del resultado de la evaluacin.
Comunicaciones Seriales RS232. Envo y recepcin de un conjunto de datos por RS232 mediante protocolo de usuario diseado en Niple.
Activar Desactivar Interrupciones. Temporizacin por bucle. Calcula y genera los bucles necesarios para esperar un tiempo determinado. Clculo matemtico.
Pgina 30 de 133
Mover un Bloque
Seleccione el bloque que desea desplazar y sin soltar el botn izquierdo del mouse y arrastre hasta ubicar el bloque en la nueva posicin. Puede mover varios bloques simultneamente. Note que todos los bloques que dependen del bloque seleccionado se mueven en conjunto de manera rgida. Esto se debe a que el modo Arrastrar bloques se encuentra activado. Si conmuta a modo Arrastrar bloques desactivado slo se desplaza el bloque seleccionado. Para conmutar entre el modo Arrastrar bloques Activado y Desactivado ingrese al men Opciones/Diagramas de Flujo/Activar Arrastre.
Pgina 31 de 133
a) Posicin original. b) Modo Arrastrar bloques Activado. c) Modo Arrastrar bloques Desactivado Utilice el comando Edicin/Deshacer para restablecer la posicin anterior del bloque.
Estirar un Bloque
Al seleccionar un bloque se muestran 9 nodos (8 alrededor y 1 en el centro del smbolo seleccionado). Para modificar el tamao del bloque, haga un clic en uno de los 8 nodos perifricos y, sin soltar el botn izquierdo del mouse, arrastre hasta alcanzar el tamao deseado.
a) Tamao del bloque original b) Bloque estirado Utilice el comando Edicin/Deshacer para restablecer el tamao anterior del bloque.
Borrar Bloques
Tiene 2 formas de eliminar un o varios bloques: 1) Seleccione el bloque que desea eliminar y presione la tecla Suprimir. 2) Seleccione el bloque que desea eliminar y presione el botn derecho del mouse. Se desplegara un men contextual y presione la opcin Borrar Smbolo (o la opcin Borrar si ha seleccionado varios bloques o vnculos).
Pgina 32 de 133
Editar Bloques
Muchas veces es necesario cambiar el valor de algn parmetro u opcin a un bloque ya insertado dentro del diagrama de flujo. Para esto tiene 2 opciones: 1. Puede borrar el bloque e insertarlo nuevamente seleccionado los parmetros deseados. Si elige sta opcin deber realizar los vnculos de manera manual. 2. Puede editar el bloque y asignarle nuevos valores a los parmetros solicitados. Para esto no necesita borrar el bloque ni realizar los vnculos nuevamente. Para editar un bloque, seleccinelo y luego haga un clic con el botn derecho del mouse para que se presente el men contextual, y elija la opcin Editar, o bien realice doble click sobre el smbolo a editar y automticamente entrara al men de edicin del smbolo.
Para que el men contextual presente la opcin Editar, slo debe estar seleccionado el bloque a ser editado. Si selecciona ms de 1 elemento, ya sean bloques o vnculos, el men no presentar la opcin Editar ya que el sistema no puede determinar cual es el bloque que desea editar.
Se presentar la pantalla correspondiente al el bloque seleccionado. La pantalla ser cargada con todos los parmetros seleccionados. Proceda a cambiar los valores o las opciones y presione el botn Ingresar. Con respecto al chequeo de errores, es importante tener en cuenta que rige el mismo criterio que para la insercin de bloques. O sea que, si el bloque a editar est vinculado a otro bloque, se realizar el chequeo de errores en lnea. Mientras que si el bloque no se encuentra vinculado, el chequeo no se realizar.
Pgina 33 de 133
Un bloque deshabilitado no es considerado en el momento del chequeo de errores en lnea y tampoco genera el cdigo Assembler.
No puede inhabilitar bloque correspondiente a una Decisin (smbolo Rombo) dado que estos bloques tienen 2 salidas. Para Habilitar un bloque, seleccinelo y luego haga un clic con el botn derecho del mouse para que se presente el men contextual, y elija la opcin Habilitar.
Vnculos (Flechas)
Un vnculo est representado por una Flecha que une a 2 o ms bloques y determina el flujo del proceso. Los vnculos determinan la secuencia y el orden de ejecucin del programa. Esto significa en que es muy importante tener en cuenta el sentido en que se genera el vnculo (bloques de origen y de destino). El bloque desde donde parte el vnculo de denomina Bloque de Origen y el bloque al cual llega Bloque de Destino y puede identificarlos visualmente porque el vnculo presenta una Punta de Flecha en extremo correspondiente al bloque de destino.
Pgina 35 de 133
Crear un Vnculo
Para crear un vnculo entre 2 bloques siga los siguientes pasos: 1) Seleccione el Bloque de Origen. 2) Haga un clic en el Nodo (punto negro) que se encuentra en el centro del bloque. 3) Sin soltar el botn mouse, arrastre hasta el Bloque de Destino y suelte el botn del mouse.
Un vnculo puede adoptar distintas formas de acuerdo a la disposicin de los Bloques de Origen y Destino. A stas formas se les llama Estilo del vnculo.
Pgina 36 de 133
Borrar Vnculos
Para eliminar un vnculo; 1) Seleccione el vnculo y presione el botn derecho del mouse. 2) Se mostrar un men contextual. 3) Seleccione la opcin Borrar Flecha. Tambin puede borrar un vnculo seleccionndolo y presionando la tecla Suprimir.
Ingreso de Datos
Niple controla de manera automtica cada dato ingresado al sistema, ya sean nombres de registro, valores literales u opciones (generalmente numricas). De esta manera se controlan los errores de tipeo.
Pgina 37 de 133
Por defecto Niple inicia la sesin de trabajo en modo Usuario Inicial. Para conmutar entre Modo de Usuario Inicial y Experto ingrese al men Opciones/Nivel de Usuario.
Pgina 39 de 133
Rutinas de Usuario
Ud. puede disear sus propias funciones o procedimientos para solucionar un problema en particular (siempre combinando distintas rutinas bsicas) y luego llamarlos desde distintas partes del programa (subrrutinas). Esto le permite por un lado, la creacin de funciones o procedimientos personalizados y por otro lado, la optimizacin del cdigo Assembler generado, ya que las rutinas de usuario slo se escriben una vez y luego se insertan llamadas a las mismas. Esta categora incluye las funciones de declaracin e insercin de llamadas a rutinas de usuario.
Pgina 40 de 133
Pgina 41 de 133
Exportar Imagen
Puede generar un archivo de imagen del diagrama de flujo para realizar la documentacin del proyecto. La imagen es generada en formato .wmf y corresponde un archivo de tipo vectorial. Este formato es estndar de Windows, o sea que, no requiere de programas especiales para poder visualizarlos o editarlos. Este tipo de archivos ocupan muy poco espacio de disco. El archivo de imagen puede ser insertado en un editor de textos para complementar la documentacin tcnica. Al ingresar al Men Archivo/Exportar Imagen, tiene 2 opciones para generar imgenes: 1. Generar una imagen de todo el proyecto: se generan un archivo de imagen por cada entorno. 2. Generar una imagen solo del Entorno actual: se genera un archivo con el entorno actual. Los archivos de imagen se nombran segn el siguiente formato: NombreProyecto_NombreEntorno.WMF. Por esto, Niple solicita el nombre del proyecto y sugiere el nombre actual del proyecto. Si Ud. an no ha ingresado un nombre al proyecto, Niple sugiere NombreProyecto. En el caso de generar archivos de imagen de todo el proyecto, Niple genera un archivo para cada entorno.
Pgina 42 de 133
Por ejemplo, en el siguiente proyecto sern generados los archivos: Ejemplo7_Programa Principal.wmf Ejemplo7_Interrupcin por tmr1.wmf Ejemplo7_usr_procesamiento.wmf Ejemplo7_usr_analogico.wmf etc Donde cada archivo contiene la imagen del entorno correspondiente.
Pgina 43 de 133
Pgina 44 de 133
Pgina 45 de 133
Al hacer clic en una posicin de memoria libre (en nuestro caso 24h) se carga la ventada de Declaracin de nuevo registro:
Seleccione el tipo de registro el cual puede ser: Registro nico: Se declara un solo registro con el nombre ingresado a continuacin. Ejemplo: Nombre: Generado: contador contador
Pgina 46 de 133
BCD 8 Bits: Genera 3 bytes con el mismo nombre ingresado agregando los sufijos _uni, _dec, y _cen para poder guardar valores en BCD de registros de 8 bits (entre 0 y 255). Ejemplo: Nombre: Generados: contador contador_cen contador_dec contador_uni BCD 10 Bits: Genera 4 bytes con el mismo nombre ingresado agregando los sufijos _uni, _dec, _cen, y _u_mil para poder guardar valores en BCD de registros de 10 bits (entre 0 y 1024).
Pgina 47 de 133
BCD 16 Bits: Genera 5 bytes con el mismo nombre ingresado agregando los sufijos _uni, _dec, _cen, _u_mil y _d_mil para poder guardar valores en BCD de registros de 16 bits. Ejemplo: Nombre: Generados: contador contador_d_mil contador_u_mil contador_cen contador_dec contador_uni Fecha: Genera 2 bytes con el mismo nombre ingresado agregando los sufijos _d, _m para poder guardar valores de fechas. Ejemplo: Nombre: Generados: fecha fecha_d fecha_m (dia) (mes)
Hora: Genera 3 bytes con el mismo nombre ingresado agregando los sufijos _h, _m y _s para poder guardar valores de horas. Ejemplo: Nombre: Generados: hora hora_h hora_m hora_s (horas) (minutos) (segundos)
Serie: Permite declarar de manera automtica una serie de registros con un prefijo incremental determinado por un intervalo.
Pgina 48 de 133
Ingrese el nombre del nuevo registro y el valor inicial. La opcin BCD genera de manera automtica los registros correspondientes a la conversin BCD
Borrar un Registro
Seleccione el registro a borrar y presione la tecla Suprimir. Slo puede borrar los registros de usuario.
Dado que puede declarar bits dentro de un registro de usuario, Niple chequea si el registro de usuario que se intenta borrar contiene bits declarados. Si detecta que el registro a borrar contiene bits declarados, Niple le advierte que junto con el registro sern borrados todos los bits ste contenga y le pregunta si desea continuar con la operacin de borrado del registro. Tiene la posibilidad de cancelar la operacin de borrado respondiendo NO a la pregunta. Y si responde afirmativamente se borrar el registro junto con la totalidad de los bits asociados.
Pgina 49 de 133
Una vez dentro de la declaracin de bits se muestra de manera grafica la posicin y los nombres de los bits declarados, coloreando de colores los Bits del microcontrolador, los bits inhabilitados y las posiciones libres de creacin para bits.
Pgina 50 de 133
Niple preguntara si desea cambiar el nombre del BIT actualmente seleccionado. Si responde afirmativamente se muestra la pantalla Renombrar un Bit donde se presentan el nombre y la descripcin del BIT actualmente seleccionado. Ingrese el nuevo nombre del bit y la nueva descripcin y a continuacin presione el botn Renombrar.
Al cambiar el nombre de un Bit, todos los bloques de los diagramas de flujo que hacen referencia a al Bit anteriormente renombrado quedan desactualizados, o sea, hacen referencia a un BIT que ya no existe. Para solucionar esto, Niple le brinda la posibilidad de actualizar de manera automtica todos los bloques que hacen referencia al BIT renombrado.
Pgina 51 de 133
Adems de renombrar los bits de usuario, Niple le ofrece la posibilidad de cambiar el nombre de los bits correspondientes a los puertos. De sta manera puede identificar ms fcilmente los Pines del microcontrolador indicando directamente el nuevo nombre asignado. Por ejemplo: puede renombrar el Bit RA0 por Rele1 y a partir de entonces slo se refiere al mismo como Rele1.
Pgina 52 de 133
Si elige la opcin NO se cancela la operacin de insercin de bloque. Si elige la opcin SI, Niple le permitir insertar un bloque, pero no se realizar el chequeo de errores en lnea dado que no es posible determinar el contexto en el cual ser insertado el nuevo bloque. Adems, el nuevo bloque ser insertado en la esquina superior derecha del diagrama de flujo y el vnculo deber realizarlo manualmente. Para insertar un bloque siga los siguientes pasos: 1) Seleccione el bloque al cual vincular el nuevo bloque a ser insertado. (Para generar el vnculo de manera automtica y chequear errores). 2) Haga doble clic para desplegar el rbol de Herramientas y localice la funcin de que necesite, desplegando y recorriendo el rbol de herramientas. 3) Una vez localizada la funcin que quiere insertar, haga doble clic en el nombre de la misma para cargar la pantalla con las opciones y parmetros de la funcin. Una vez seleccionadas las opciones e ingresados los parmetros, presione el botn Ingresar. 4) De sta manera se insertar el bloque y ser vinculado de manera automtica.
Pgina 53 de 133
Pgina 54 de 133
Instrucciones
Esta categora incluye todas instrucciones en Assembler. A su vez se organizan por tipo de instruccin:
El objetivo de Niple es utilizar lo menos posible los bloques de instrucciones ya que stos bloques equivalen a programar en cdigo Assembler.
Parmetros: Instruccin: Registro: Destino: Instruccin a ejecutar. Nombre del registro a procesar. Indica en donde ser guardado el resultado de la operacin.
Pgina 55 de 133
Parmetros: Instruccin: BIT: Instruccin a ejecutar. Indica el nombre del BIT a modificar.
Instruccin: Repetir:
Instruccin a ejecutar. Se refiere al nmero de NOP que sern insertados en el cdigo ASM.
Rutinas Bsicas
Las rutinas bsicas son mdulos prediseados y se encargan de resolver un proceso en particular (una configuracin, una comparacin, un clculo, etc.). Puede formar estructuras lgicas muy complejas de manera rpida y sencilla a partir de la combinacin de rutinas bsicas. Utilice las rutinas bsicas para programar dentro de cualquier Entorno. Las rutinas bsicas estn organizadas por tipo de rutina: Iniciar Programa: inserta el bloque de inicio del diagrama de flujo. Puertos: configurar, lectura y escritura de puertos. Asignar Valor: establecer valores a registros y bits. Modulo CCP: configurar el mdulo e implementar mdulos CCP. Comparadores Analgicos: implementar comparadores analgicos. EEPROM: leer y escribir la EEPROM interna del micro. Condicin: evaluar el valor de un registro o bit. Matemticas: clculos matemticos de 8, 16, 24 y 32 bits, conversiones a BCD y clculos de escalado de valores. Comunicaciones: RS232 RS485 - USB - ZIGBEE RF IR DMX512. Consultar Tablas: consultar valores por medio de tablas. Temporizadores: Temporizadores por ciclos y por mdulos TMR internos. Dispositivos: En esta pestaa se encuentran la totalidad de dispositivos externos declarados en la seccin Dispositivos. Procesos: generacin y medicin de Pulsos, clculo de Velocidad, RPM. Vector de memoria: seleccionar y utilizar vectores de memoria RAM.
Pgina 57 de 133
Una vez seleccionado el BIT, se muestra una lista de valores de asignacin (0 y 1). Seleccione el valor deseado. Por ltimo, puede ingresar un comentario adicionando a la funcin. Representacin grfica
Sintaxis Destino = Origen Esto se interpreta como: al Bit Destino se le asigna valor de Origen. Ejemplos
Pgina 58 de 133
Si desea asignarle un valor a un registro que an no ha sido declarado, mediante el botn Registros puede declarar el registro sin necesidad de cancelar la operacin actual. Una vez especificado el registro al cual asignar el valor, debe seleccionar que tipo de valor desea asignar. Las opciones disponibles son: Un valor Literal. Esto es, un valor constante. Niple controla de manera automtica el ingreso de literales, para obtener mayor informacin consulte el tema Conceptos Bsicos / Ingreso de Datos. El valor de otro registro. Esta opcin es equivalente a copiar el contenido de otro registro. Si en tiempo de ejecucin se modifica el contenido del registro, estamos frente a una asignacin de tipo variable. Al igual que con el campo registro, el botn Registros, le permite declarar un nuevo registro sin necesidad de cancelar la operacin. Por ltimo puede ingresar un comentario. Representacin grfica:
Sintaxis: Destino = Origen Esto se interpreta como: al registro Destino se le asigna el valor de Origen.
Pgina 59 de 133
Configurar Puerto
En Niple, la configuracin de los puertos se realiza de manera totalmente visual. En la pantalla de configuracin del Puerto, se presenta una imagen del PIC con las descripciones de todos los pines. En cada pin correspondiente se muestra una lista desplegable, a travs de la cual el pin es configurado como entrada, entrada analgica, comparador o salida, las caractersticas de cada pin corresponde al modelo de PIC utilizado.
Pgina 60 de 133
Escribir Puerto
Permite escribir un valor en un puerto. Este valor puede ser un valor literal (constante) o el valor de un registro (variable). Seleccione el tipo de dato desea escribir en el puerto.
Niple supervisa la configuracin del puerto seleccionado de manera automtica y advierte si el puerto no est completamente como Salida. Si bien el hecho de escribir un pin configurado como entrada no es considerado un error, igualmente Niple le advierte para asegurarse que Ud. tiene pleno conocimiento de la actual configuracin. Una vez ingresado los datos solicitados presione el botn Ingresar.
Pgina 61 de 133
Sintaxis Puerto = Valor Esto se interpreta como: en Puerto escribir Valor. Donde: El parmetro Puerto muestra el nombre del puerto: A = Puerto A B = Puerto B C = Puerto C D = Puerto D El parmetro Valor corresponde a un registro (valor variable) o a un literal (valor constante). Ejemplos
Pgina 62 de 133
Niple v5.6 - Programacin Visual de Microcontroladores Conversin Analgica/Digital (A/D) Configuracin de los canales A/D
Cuando el micro utilizado dispone de Conversores Analgico/Digital puede configurarlos desde la configuracin del puerto.
Seleccione el valor de V Ref (voltaje de referencia) la cula puede ser interna (Vdd y Vss) o externa por medio de determinados pines segn el modelo de microcontrolador a utilizar. Si elige algn voltaje de referencia como externo, el pin correspondiente es inhabilitado en la pantalla para que no pueda ser utilizado como entrada o como salida. Una vez seleccionada la configuracin deseada, presione el botn Ingresar. Antes de insertar el bloque, Niple chequea que la configuracin seleccionada corresponda a una de las combinaciones vlidas, ya que en algunos modelo de de microcontrolador debe utilizar las entradas AD con determinada configuracin.
Conversin A/D
Una vez configurado el mdulo A/D, est en condiciones de realizar una conversin A/D. Ingrese al rbol de herramientas y seleccione la opcin Rutinas Bsicas / Conversin A/D.
Pgina 63 de 133
Seleccione el canal A/D que desea utilizar. La lista desplegable llamada Canal a Leer contiene todos los canales A/D que se encuentra disponibles. En esta lista se muestra el nmero de canal junto al correspondiente nombre de Bit. De esta manera, Niple le facilita la identificacin del Pin adecuado. Para eliminar completamente la posibilidad de seleccionar un pin del Puerto que no hubiera sido configurado como Entrada A/D, Niple muestra en la lista, slo los canales que actualmente estn disponibles de acuerdo a la configuracin actual del puerto.
Una vez seleccionado el canal por el cual realizar la conversin A/D, Niple le solicita que seleccione una de las 2 maneras que tiene de realizar la conversin. Las explicaremos brevemente. Una conversin A/D puede realizarse de 2 maneras:
1) Mediante un bucle; esperando hasta que finalice la conversin: El PIC no realiza ninguna otra tarea que no sea esperar a que el BIT go_done (BIT 2 del registro adcon0) se ponga en 0, lo cual indica que la conversin ha finalizado.
2) Iniciar la conversin y generar una interrupcin al finalizar la conversin A/D: El PIC inicia la conversin y contina ejecutando el resto del cdigo mientras se realiza la conversin A/D. Cuando termina de realizar la conversin se produce una interrupcin por Fin de Conversin A/D.
Pgina 64 de 133
Continuacin seleccione los registros donde guardar el resultado de la conversin A/D. Puede realizar conversiones AD a 8 o 10 Bits de resolucin. Si selecciona la resolucin a 8 bits, el sistema configura de manera automtica la alineacin del resultado de la medicin hacia la izquierda y toma como resultado el registro Alto, ignorando los 2 bits menos significativos.
Si selecciona la resolucin a 10 bits, el sistema configura automticamente la alineacin del resultado de la medicin hacia la derecha y toma como resultado los 2 registros de la conversin A/D.
Niple le permite realizar varias lecturas y promediarlas con lo cual se obtienen mediciones ms estables.
Pgina 65 de 133
Para esto, active la opcin Promedio. Seleccione la cantidad de mediciones que desea realizar. Niple realiza todas las lecturas y realiza el promedio de manera automtica. Niple le da la opcin de esperar un tiempo entre las mediciones seleccionadas.
Si elige la opcin Generar una interrupcin al finalizar la conversin, Niple chequea de forma automtica el estado de los siguientes habilitadores de interrupciones: GIE (Habilitador general de interrupciones) PEIE (Habilitador general de interrupciones por perifricos, a los cuales pertenece el mdulo de conversin A/D). ADIE (Interrupcin por Fin de Conversin A/D)
Si alguno de los habilitadores anteriormente mencionados NO se encuentra Activado, Niple ofrece la opcin de activarlo para que la interrupcin se produzca normalmente. De lo contrario, la interrupcin no se producir. El modo de conversin por interrupcin no permite realizar el promedio automtico.
Si decide no activar estos habilitadores, la interrupcin no se producir y por ende, el fin de la conversin A/D no ser detectado.
Pgina 66 de 133
Sintaxis: Registro1, Registro2 = A/D(Nro_Canal) Donde: Registro1 = Nombre de un Registro Registro2 = Nombre de un Registro Nro_Canal = Nmero de canal en el cual se realiza la conversin A/D. Ejemplos:
Pgina 67 de 133
Leer EEPROM
Lee un dato de la memoria EEPROM del microcontrolador y lo guarda en un registro. Seleccione entre las opciones de direccin Fija o Variable. Si elige la opcin Fija, seleccione de la lista el registro en donde est contenida la direccin. En la lista Registro donde guardar el dato, seleccione el registro destino. Pgina 68 de 133
Presione el botn ingresar. Si el registro en el que desea guardar los datos no existe, haga clic en Nuevo.
Grabar EEPROM
Graba un literal o un registro en la memoria EEPROM del microcontrolador. En posicin de memoria a escribir, seleccione entre las opciones de direccin Fija o Variable. Si elige la opcin variable, seleccione de la lista el registro en donde est contenida la direccin. En Valor a grabar, seleccione entre las opciones un literal o un registro. Si selecciona la opcin un registro, seleccione de la lista el registro que desea guardar en la EEPROM
Presione le botn Ingresar. Si el registro en el que desea guardar los datos no existe, haga clic en Nuevo.
Pgina 69 de 133
Comparar Bit
Este bloque evala si el valor del BIT seleccionado es 0 o 1 y deriva el flujo del proceso en funcin del resultado de la evaluacin. En el campo BIT a evaluar, seleccione el nombre BIT del que desea comparar el valor y a continuacin seleccione el valor con el cual comparar el BIT. Un BIT solo puede contener los valores 0 y 1. Por ltimo, puede ingresar un comentario al bloque. Una vez seleccionados todos los datos, presione el botn Ingresar.
Este bloque debe ser vinculado a 2 bloques de salida: El primer bloque de salida insertado corresponde a la salida SI, es decir que, en tiempo de ejecucin el proceso tomar este camino si el resultado de la evaluacin es verdadero. El segundo bloque de salida insertado corresponde a la salida NO, es decir que, en tiempo de ejecucin, el proceso tomara este camino si el resultado de la evaluacin es falso.
Pgina 70 de 133
Los operadores de comparacin posibles pueden ser =, <, >, <=, >= o <> (distinto de).
Cada vez que debe seleccionar el nombre de un registro y ha olvidado declararlo previamente, Niple le ofrece la posibilidad de declararlo sin necesidad de cancelar la pantalla actual. Para esto presione el botn Registros que se encuentra a la derecha de la lista de registros correspondiente. Este bloque debe ser vinculado a 2 bloques de salida: El primer bloque de salida insertado corresponde a la salida SI, es decir que, en tiempo de ejecucin el proceso tomar este camino si el resultado de la evaluacin es verdadero. El segundo bloque de salida insertado corresponde a la salida NO, es decir que, en tiempo de ejecucin, el proceso tomara este camino si el resultado de la evaluacin es falso.
Pgina 71 de 133
Cada vez que debe seleccionar el nombre de un registro y ha olvidado declararlo previamente, Niple le ofrece la posibilidad de declararlo sin necesidad de cancelar la pantalla actual. Para esto presione el botn Registros que se encuentra a la derecha de la lista de registros correspondiente. Este bloque debe ser vinculado a 2 bloques de salida:
Pgina 72 de 133
Pgina 73 de 133
Suma
Realiza una operacin matemtica de Suma, utilizando como sumandos un valor literal o un registro. El resultado es guardado en otro registro. En Sumando1 seleccione entre las opciones un literal o el valor de un Registro. Si seleccion la opcin el valor de un Registro, seleccione de la lista el registro a utilizar como Sumando1. Repita la operacin anterior en Sumando2. En Resultado, seleccione el registro donde desea guardar el resultado de la operacin.
Pgina 74 de 133
Resta
Realiza una operacin matemtica de sustraccin, utilizando como minuendo y sustraendo un valor literal o un registro. El resultado es guardado en otro registro. En minuendo seleccione entre las opciones un literal o el valor de un Registro. Si seleccion la opcin el valor de un Registro, seleccione de la lista el registro a utilizar como minuendo. Repita la operacin anterior en sustraendo. En Resultado, seleccione el registro donde guardar el resultado de la sustraccin. Haga clic en OK.
Pgina 75 de 133
Divisin
Realiza una operacin matemtica de divisin, utilizando como divisor valores de un literal o un registro. El resultado es guardado en otro registro. En Dividendo seleccione entre las opciones un literal o el valor de un Registro. Si seleccion la opcin el valor de un Registro, seleccione de la lista el registro a utilizar como Dividendo. Repita la operacin anterior en Divisor. En Resultado, seleccione el registro donde guardar el resultado de la division
Pgina 76 de 133
Multiplicacin
Realiza una operacin matemtica de Multiplicacin con registros o valores a 8 bits, utilizando como multiplicador valores de un literal o un registro. El resultado es guardado en un registro. En Multiplicando seleccione entre las opciones un literal o el valor de un Registro. Si seleccion la opcin el valor de un Registro, seleccione de la lista el registro a utilizar como Multiplicando. Repita la operacin anterior en Multiplicador. En Resultado, seleccione el registro donde guardar el resultado de la multiplicacin.
Pgina 77 de 133
Incrementar 1
Puede realzar incrementos de registros de manera automtica, Niple incrementa el valor del registro y controla el acarreo en caso de tratarse de registros mayores a 8 bits.
Esta opcin se trata de un clculo muy rpido y adems ofrece diferentes opciones para control de contadores totalmente automatizado.
Pgina 78 de 133
La opcin Controlar valor mximo le permite automatizar la cuenta hasta un mximo ingresado por el usuario. Una vez alcanzado el valor mximo, ya no sigue incrementando el valor de la cuenta. La opcin Reiniciar cuenta le permite volver a inicializar el estado de la cuenta a un valor ingresado por el usuarios una vez que se alcanzo el mximo permitido. La opcin Activar Bit al llegar la mximo inserta un bloque de comparacin donde se evala un bit seleccionado por el usuario el cual se pone en 1 cuando la cuenta llego a la mximo. De esta manera se puede controla el flujo del programa segn el contador haya llegado al lmite mximo o no. Estas opciones, trabajando en conjunto le permiten realizar estructuras lgicas muy complejas en pocos pasos.
Decrementar 1
Puede realzar decrementos de registros de manera automtica, Niple decrementa el valor del registro y controla el acarreo en caso de tratarse de registros mayores a 8 bits.
Pgina 79 de 133
Pgina 80 de 133
Pgina 81 de 133
Pgina 82 de 133
Seleccione el tipo de comunicacin a realizar la cual puede ser mediante mdulo USART. La USART es un mdulo de comunicaciones que algunos modelos de microcontroladores incluyen. Por medio del mdulo USART, todo el procedimiento de envo de los datos se realiza de manera automtica. Mediante el modo de envo por cdigo, se genera el cdigo Assembler necesario para realizar el envo de los datos.
La diferencia radica en que el mdulo USART prepara el dato e inicia el envo y luego vuelve a seguir ejecutando el resto del cdigo del programa sin necesidad de realizar todo el proceso de envo del dato ya que este se realiza de manera automtica y en forma paralela a la ejecucin del resto del programa. Mientras que si se realiza por cdigo, la ejecucin del programa realiza todo el proceso de envo del dato. Pgina 83 de 133
Si selecciona el modo de envo por USART, el sistema selecciona de manera automtica el pin de transmisin correspondiente. Este pin no puede ser modificado dado que el mdulo USART utiliza un determinado pin para el envo de datos. Si selecciona el modo de envo por Cdigo, el sistema le solicita que seleccione el pin de transmisin por el cual quiere realizar la comunicacin.
A continuacin debe seleccionar la velocidad de comunicacin. Por ltimo seleccione el botn ingresar y ya habr creado el bus de comunicacin RS232.
Para llamar en el programa principal a la rutina enviar datos por RS232, debe ingrese al rbol de herramientas y al apartado comunicaciones dentro de rutinas bsicas. Luego debe seleccionar el nombre del bus que creo en la pantalla dispositivos y configurar la accin.
En el caso de seleccionar la Accin Enviar, Niple le mostrara la siguiente ventana donde debe especificar, si desea la identificacin del equipo del destino, la cantidad de bytes a enviar y de que tipo es el dato a enviar ya sea un literal o un registro.
Pgina 84 de 133
Por ltimo presione el botn Ingresar. En el caso de configurar la comunicacin en modo de recepcin de datos, debe especificarse parmetros similares al envo de datos y debe seleccionarse el registro donde guardar los datos recibidos.
Pgina 85 de 133
Pgina 86 de 133
Modo Maestro
Para ingresar a los mdulos de RS485 ingrese a la pestaa dispositivos/comunicaciones. Luego en la pestaa dispositivos, dirjase a la pestaa comunicaciones: Y seleccione como tipo de BUS RS485.
Seleccione el modo de comunicacin, por mdulo USART o por cdigo. NO todos los modelos de microcontroladores disponen de un modulo USART.
Pgina 87 de 133
Si selecciona el modo de comunicacin por USART, Niple selecciona de manera automtica los pines correspondientes a TX y RX e inhabilita los mismos, dado que los mismos ya vienen preestablecidos para ser utilizados por el mdulo USART. Luego seleccione la velocidad de comunicacin.
Una vez creado el mdulo de comunicacin RS485, ingrese al rbol de herramientas y seleccione comunicaciones, una vez seleccionado pedir que seleccionemos el tipo de comunicacin creado.
Inicialice el modulo RS485. Una vez inicializado el Bus 485, tendremos que configurar en el caso de elegir la accin enviar las opciones como: Identificacin del destino Cantidad de Bytes a enviar Datos a enviar
Pgina 88 de 133
Habiendo explicado la accin enviar pasamos a la accin Recibir: Recibir datos: Recibe datos desde un esclavo.
Seleccione el registro donde guardaremos los datos y la cantidad de bytes que tiene ese dato. Interrogar Como detallamos anteriormente la funcin interrogar solicita un dato a un esclavo, en general el esclavo responde inmediatamente sin realizar ningn proceso antes de enviar los datos solicitados. Para eso seleccionamos la accin Interrogar.
Pgina 89 de 133
El procedimiento consiste en sumar al registro contador de programa (registro PCL) el valor correspondiente al ndice, esto produce que la ejecucin del programa salte la cantidad de posiciones correspondiente al valor del ndice. Para que la tabla devuelva un valor para cada tem, la tabla debe estar formada por instrucciones RETLW (retorno de subrrutina con un valor en W) y debe ser llamada mediante una instruccin CALL. En el siguiente ejemplo en cdigo Assembler se describe el principio de funcionamiento de una consulta por tabla.
Pgina 90 de 133
Si detecta de ha cometido un error al ingresar alguno de los valores de la tabla, puede editarlo haciendo doble clic sobre el elemento a corregir.
Una vez ingresados todos lo valores que conforman la tabla presione el botn Ingresar. Al presionar el botn Ingresar Niple guarda la tabla actual en un archivo con extensin .TBL A continuacin le solicita que ingrese el nombre del archivo de tabla. De esta manera podr utilizar la tabla recin creada en distintos proyectos sin necesidad de volver a declararla cada vez que la necesite.
Pgina 91 de 133
Pgina 92 de 133
Pgina 93 de 133
Niple v5.6 - Programacin Visual de Microcontroladores Display de 7 segmentos sin Codificador Declaracin del Dispositivo
Este mdulo permite visualizar valores en displays de 7 segmentos mediante conexin a 7 bits, es decir, sin la utilizacin de un codificador para generar la combinacin binaria correspondiente a cada valor. Niple le permite utilizar hasta 16 displays conectados en paralelo. Primero seleccione el tipo de display a utilizar, esto es: nodo Comn o Ctodo Comn.
Luego le solicita que seleccione la cantidad de displays a utilizar esto es, entre 2 y 16.
Una vez configurado los pines de datos, cantidad de dgitos y los pines de Display, oprimimos el botn ingresar.
Pgina 94 de 133
Una vez seleccionados todos los parmetros de configuracin presione el botn aceptar.
Pgina 95 de 133
En cada Display se puede visualizar el valor de un registro o un valor literal. Para seleccionar el valor a visualizar en cada dgito debe hacer un doble clic en cada imagen de display. Al hacer doble clic en la imagen de un display se presenta la pantalla de Mostrar un valor en un Display. En un Display puede visualizar 2 tipos de valores: 1) Puede visualizar el valor que contiene un registro: se trata de un valor que puede ser variable. Al seleccionar este tipo de dato a visualizar, Niple le ofrece la posibilidad de codificar el valor mediante una tabla. Si el dato a visualizar requiere codificacin mediante tabla, seleccione la tabla.
Pgina 96 de 133
Una vez seleccionados los datos a mostrar en los Displays debe seleccionar le tipo de multiplexado que desea realizar. Tiene 2 opciones: por Bucles o por Paso. La opcin por Bucles hace que el microcontrolador se detenga en esta parte del programa y realice todo el proceso de multiplexado completo mostrando los valores de cada Displays y no continua con la ejecucin del resto del programa hasta que no haya terminado de realizar este proceso.
Las opciones de este tipo de multiplexado son: Repeticiones: corresponde a la cantidad de veces que realiza el ciclo de visualizacin de todos los Displays. Tiempo: tiempo en uS que demora cada Diplays encendido en el proceso de multiplexado.
El tipo de multiplexado por Paso muestra el valor correspondiente a uno de los Displays (por ejemplo el Display 1) y continua con el resto del programa. Cuando vuelve a pasar por este en el siguiente ciclo del programa activa el siguiente Displays y contina con la ejecucin del resto del programa.
Pgina 97 de 133
Pgina 98 de 133
Pgina 99 de 133
Configurar LCD
Una vez configurado el puerto donde conectar el LCD debe proceder a configurar el LCD de la siguiente manera: Seleccione el bloque al cual vincular el nuevo bloque de configuracin de LCD. Ingrese a la pestaa dispositivos: Nuevo dispositivo/LCD
Primero debe seleccionar el tipo de display lcd ya sea 16x2, 20x2 o 20x4 luego debe seleccionar el tamao del bus de datos, el cual puede ser de 4 u 8 bits. Se recomienda utilizar el bus de datos a 4 bits dado que la diferencia con el bus a 8 bits es insignificante tanto en el cdigo generado como en le tiempo de ejecucin del programa y, por el contrario, los 4 pines que se ahorra pueden ser de gran importancia.
Una vez seleccionado el tamao del bus de datos, debe seleccionar los pines a los cuales conectar el LCD. Si selecciona el bus de datos a 4 bits, Niple le ofrece la posibilidad de utilizar los 4 pines de mayor o menor peso de un mismo puerto. Esto simplifica el cdigo Assembler generado. Adems, indica en la imagen del LCD los pines que deben ser conectados.
Una vez ingresados todos los datos solicitados, presione el botn Ingresar. Luego dirjase a la seccin diagrama y vaya al rbol de herramientas Rutinas bsicas/Dispositivos/Visualizacin/Pantalla LCD. La configuracin de la pantalla LCD se realiza solo una vez en un proyecto.
cas/dispositivos/visualizacion/Pantalla
Si por algn motivo Ud. desea que el mensaje se cargue en el LCD pero que permanezca invisible para luego mostrarlo con el comando Encender Pantalla (ver envo de comandos ms adelante), seleccione la opcin Caracteres Invisibles. Adems la opcin Limpiar pantalla se presenta como activada. Esta opcin realiza una limpieza de la pantalla antes de visualizar el mensaje. Esto significa que ser borrado completamente cualquier mensaje que haya sido visualizado antes de mostrar el actual mensaje. Si esta opcin se inhabilita, Niple no realiza la limpieza de la pantalla y existe la posibilidad de superposicin de mensajes. Al inhabilitar la opcin Limpiar Pantalla Niple advierte lo anteriormente mencionado mediante el siguiente mensaje.
A continuacin debe seleccionar la configuracin del cursor. Si seleccione la opcin Cursor Invisible. La opcin Visualizacin de parpadeo se configura de manera automtica como Sin parpadeo. Seleccione la configuracin del cursor el parpadeo y la ubicacin del mismo.
Una vez seleccionadas todas las opciones de la configuracin del mensaje, se activa la Solapa Mensaje.
Como lo indican las referencias, el texto del mensaje se muestra en color rojo. A la izquierda y a la derecha de la grilla del mensaje se encuentran botones para desplazamiento del texto ingresado. De esta manera puede ajustar la visualizacin del texto. En la siguiente imagen, el texto ha sido desplazado hacia la derecha para ajustarlo al centro de la pantalla.
El botn Limpiar Todo le permite limpiar la grilla del texto cuando Ud. desea corregir el mensaje.
Niple le ofrece la posibilidad de convertir en nmero a cdigo ASCII de manera automtica. Para esto debe seleccionar la opcin Convertir valor numrico a cdigo ASCII. La cual se encuentra seleccionada de manera predeterminada. Si lo que desea enviar no corresponde a un valor numrico sino a un cdigo ASCII que Ud. ya tiene definido en el programa, debe marcar la opcin No convertir valor numrico a cdigo ASCII. Pgina 107 de 133
Al ingresar la variable, la misma se presenta en la grilla de mensaje como un smbolo de interrogacin y de color celeste. Se muestra como un smbolo de interrogacin dado que Niple no puede predecir que valor ser mostrado en la correspondiente variable.
Si desea consultar a qu valor corresponde a una variable. Haga un clic sobre la celda donde se encuentra la variable y Niple le mostrar a que valor corresponde la misma como lo muestra la imagen anterior.
El formato del texto puede ser uno de los 2 siguientes: 1) ? = ASCII(Nombre_Registro): Esto significa que la variable corresponde al carcter ASCII del valor que contiene el registro Nombre_Registro. 2) ? = Nombre_Registro: Esto significa que la variable corresponde al valor que contiene un registro sin convertirlo a cdigo ASCII. Por ltimo presione el Botn OK. Al insertar un nuevo Mensaje de LCD, Niple genera un nuevo entorno para el mensaje. De esta manera el mensaje puede ser tratado como una rutina de usuario. Al insertarse el mensaje como una rutina de usuario, el mismo puede ser llamado desde cualquier parte del programa y puede ser visualizado en cualquier LCD en caso de estar utilizando ms de 1 LCD. Adems, para minimizar al mximo las posibilidades de error de visualizacin, Niple incluye la configuracin de la pantalla junto con el mensaje a visualizar. De esta manera se garantiza que la pantalla se va a encontrar configurada de acuerdo a las necesidades del mensaje a visualizar. De esta manera Ud. no debe preocuparse por la configuracin de la pantalla, o la configuracin y ubicacin del cursor cada vez que desea visualizar el mensaje. Simplemente indica el mensaje desea visualizar.
Mostrar Mensaje
Una vez definido el mensaje, puede visualizarlo en cualquier parte del programa ingresando al rbol de herramientas a: Rutinas Bsicas/dispositivos/visualizacion/Pantalla LCD/Nuevo Mensaje Se presentar la pantalla Mostrar un mensaje en LCD.
Primero debe seleccionar el LCD en el cual debe desea visualizar el mensaje y a continuacin indica el nombre del mensaje a visualizar. De esta manera un mismo mensaje puede ser visualizado en cualquier LCD. Al presionar el botn OK, Niple ingresa el bloque del lcd.
Limpiar la pantalla: Limpiar todos caracteres de la pantalla. No incluye opciones. Cursor a Inicio: Ubica el cursor al inicio de la pantalla LCD, esto es, al rengln 1, carcter 1. Este comando no incluye opciones. Ubicar el cursor: Ubica el cursor en la posicin que indique el usuario. Opcionalmente puede reconfigurar la visualizacin del cursor.
Desplazar el cursor: Permite realizar un desplazamiento del cursor hacia la izquierda o hacia la derecha. Opcionalmente puede ingresar un retardo entre cada desplazamiento.
Desplazar la pantalla: Permite realizar un desplazamiento de la pantalla hacia la izquierda o hacia la derecha. Opcionalmente puede ingresar un retardo entre cada desplazamiento. Este comando produce un efecto visual de desplazamiento del mensaje.
Enviar caracteres
Adems de configurar la visualizacin de mensajes, Niple le permite enviar caracteres independientemente de un mensaje. Esto es muy comn cuando se realizan proyectos con ingreso de datos, los cuales son mostrados en la pantalla LCD. Por ejemplo; Ud. disea el mensaje de solicitud de ingreso de datos. En general, en estos casos, configura el cursor como visible e intermitente y lo ubica en la posicin donde el usuario debe ingresar el mensaje y luego espera el ingreso de los datos. Cada vez que el usuario ingresa un dato, el microcontro-
Niple le permite enviar un carcter o un texto. Adems le permite enviar los caracteres a la actual posicin del cursor o definir una posicin de visualizacin determinada. Si necesita enviar un valor numrico guardado en un registro, Niple le ofrece la posibilidad de convertirlo a cdigo ASCII de manera automtica.
Niple v5.6 - Programacin Visual de Microcontroladores Memorias EEPROM I2C Declaracin del Dispositivo
Ingrese la seccin Dispositivos y seleccione Nuevo dispositivo tipo Memoria. Seleccione el modelo de la memoria a utilizar y elija los pines donde conectar la memoria al PIC.
Ingrese el nro de dispositivo y por ultimo presione el botn Ingresar en el panel de la derecha
Recuerde que puede conectar varios dispositivos en paralelo formando una red, en la cual, a cada dispositivo se le asigna un numero. Este nmero de dispositivo se configura conectado los pines correspondientes de cada dispositivo. La cantidad de dispositivos que puede incluir en una red depende del modelo de memoria que esta utilizando. Niple controla de manera automtica la cantidad de dispositivos que puede conectar en funcin del modelo seleccionado.
Luego debe seleccionar la direccin de memoria que desea leer desde la memoria EEPROM. Primero debe selecciona el tipo de direccin, la cual puede ser Fija o Variable. Si selecciona el tipo de direccin Fija debe ingresar la posicin de memoria a leer en formato decimal. Niple controla que la direccin ingresada no supere el lmite mximo de cantidad de registros que contiene le modelo seleccionado. Mediante este tipo de acceso (por direccin fija) el microcontrolador acceder a la direccin ingresada cada vez que se ejecute el bloque actual. Si selecciona el tipo de direccin Variable debe seleccionar el registro que contiene el valor correspondiente a la posicin de memoria que desea leer. En este caso, Niple no controla que la direccin ingresada no supere el lmite mximo de cantidad de registros que contiene el modelo seleccionado dado que no se puede predeterminar que valor tendr el registro seleccionado al ejecutarse el programa. Mediante este tipo de acceso (por direccin variable) el microcontrolador acceder a la direccin correspondiente al valor que contiene el registro cada vez que se ejecute el bloque actual.
Seleccione el modelo de memoria que desea utilizar. Seleccione el tipo de acceso que desea tener a la memoria EEPROM (ya sea escritura o lectura) Luego debe seleccionar la direccin de memoria que desea escribir en la memoria EEPROM. Primero debe selecciona el tipo de direccin, la cual puede ser Fija o Variable. Si selecciona el tipo de direccin Fija debe ingresar la posicin de memoria a escribir en formato decimal. Si selecciona el tipo de direccin Variable debe seleccionar el registro que contiene el valor correspondiente a la posicin de memoria que desea escribir. Mediante este tipo de acceso (por direccin variable) el microcontrolador acceder a la direccin correspondiente al valor que contiene el registro cada vez que se ejecute el bloque actual. Una vez seleccionada la direccin a escribir, debe indicar el dato que desea grabar en la memoria. Puede ingresar un valor literal o seleccionar un registro el cual contiene le valor que desea grabar. Si selecciona la opcin un Literal, debe seleccionar el tipo de dato a grabar y luego debe ingresar el valor que desea grabar en la memoria. Pgina 116 de 133
Si selecciona la opcin un Registro, debe seleccionar el registro que contiene el valor a grabar en la memoria.
Seleccione le modelo de la memoria a utilizar y los pines correspondientes. Presione el botn Ingresar para terminar de crear el dispositivo. Recuerde que puede conectar varios dispositivos en paralelo formando una red, en la cual, a cada dispositivo se le asigna un nmero. Este nmero de dispositivo se configura conectado los pines correspondientes de cada dispositivo. La cantidad de dispositivos que puede incluir en una red depende del modelo de memoria que est utilizando. Niple controla de manera automtica la cantidad de dispositivos que puede conectar en funcin del modelo seleccionado.
Luego debe seleccionar la direccin de memoria que desea leer desde la memoria RAM. Primero debe selecciona el tipo de direccin, la cual puede ser Fija o Variable. Si selecciona el tipo de direccin Fija debe ingresar la posicin de memoria a leer en formato decimal. Niple controla que la direccin ingresada no supere el lmite mximo de cantidad de registros que contiene le modelo seleccionado. Mediante este tipo de acceso (por direccin fija) el microcontrolador acceder a la direccin ingresada cada vez que se ejecute el bloque actual. Si selecciona el tipo de direccin Variable debe seleccionar el registro que contiene el valor correspondiente a la posicin de memoria que desea leer.
En este caso, Niple no controla que la direccin ingresada no supere el lmite mximo de cantidad de registros que contiene el modelo seleccionado dado que no se puede predeterminar que valor tendr el registro seleccionado al ejecutarse el programa. Pgina 119 de 133
Recuerde que puede conectar varios dispositivos en paralelo formando una red, en la cual, a cada dispositivo se le asigna un numero. Este nmero de dispositivo se configura conectado los pines correspondientes de cada dispositivo. La cantidad de dispositivos que puede incluir en una red depende del modelo de memoria que esta utilizando. Niple controla de manera automtica la cantidad de dispositivos que puede conectar en funcin del modelo seleccionado. Luego debe seleccionar la direccin de memoria que desea escribir en la memoria RAM. Primero debe selecciona el tipo de direccin, la cual puede ser Fija o Variable. Si selecciona el tipo de direccin Fija debe ingresar la posicin de memoria a leer en formato decimal. Niple controla que la direccin ingresada no supere el lmite mximo de cantidad de registros que contiene
Niple v5.6 - Programacin Visual de Microcontroladores Reloj de Tiempo Real RTC PCF8583 Declaracin del Dispositivo
Ingrese a la seccin de Dispositivos y seleccione la opcin Reloj Tiempo Real en la lista de nuevo dispositivo.
Se carga la pantalla de Declaracin y Configuracin del RTC. Niple incluye 2 modelos diferentes de RTC, los cuales se incluyen en la lista de dispositivos en la parte superior-izquierda de la pantalla. Seleccione el RTC PCF8583.
El PCF8583 funciona por comunicacin I2C. Seleccione los pines correspondientes a las seales SDA y SCL en las listas correspondientes. Por ltimo presione el botn Ingresar que se encuentra en la parte derecha de la pantalla.
Inicializacin
El PCF8583 debe ser inicializado, la inicializacin asigna una valor inicia de fecha y hora y pone en marcha el reloj/calendario. Por defecto Niple asigna la fecha y hora actual del proyecto. Una vez configurado el Reloj de Tiempo Real se pone en marcha activando un bit interno del reloj. Este bit mantiene el reloj en funcionamiento y Niple programa la inicializacin del reloj para vea este bit para determinar si el reloj ya est funcionando en cuyo caso no se asigna la hora al iniciar el sistema.
Escritura
Puede escribir datos al Reloj de Tiempo Real y asignar los valores de Fecha y Hora del reloj. Para configurar la Fecha actual, ingrese a la Ficha con el nombre Fecha. Seleccione los parmetros que desea configurar (Da, Mes, Ao, Da de la Semana) marcado las opciones correspondientes. Cada uno de estos datos puede ser de tipo Fijo o Variable. Los valores a ingresar pueden ser los siguientes segn el tipo de dato solicitado: Da: - Fijo: entre 01 y 31 inclusive. - Variable: un registro que contiene el valor del da. Mes - Fijo: entre 01 y 12 inclusive. - Variable: un registro que contiene el valor del mes. Ao - Fijo: entre 00 y 03 inclusive. - Variable: un registro que contiene el valor del ao. Da Semana - Fijo: entre Domingo y Sbado. - Variable: un registro que contiene el valor del da de la semana. La siguiente imagen muestra una configuracin de fecha Fija:
Para configurar la Hora actual, ingrese a la Ficha con el nombre Hora. Seleccione los parmetros que desea configurar (Formato de Horas, Hora, Minutos, Segundos) marcado las opciones correspondientes. Cada uno de estos datos puede ser de tipo Fijo o Variable. Los valores a ingresar pueden ser los siguientes segn el tipo de dato solicitado: Formato de Hora: - Fijo: puede seleccionar el formato de 12 o 24 horas. Horas
Alarma por Fecha Da - Fijo: entre 01 y 31 inclusive. - Variable: un registro que contiene el valor del da seleccionado. Mes - Fijo: entre 01 y 12 inclusive. - Variable: un registro que contiene el valor del mes seleccionado. Horas - Fijo: depende del formato de hora seleccionado. Para el formato de 12 horas, puede seleccionar entre las 00 AM..11 AM y 00 PM..11PM, Y para el formato de 24 horas puede seleccionar entre 0 y 23 inclusive. - Variable: un registro que contiene el valor de las horas. Minutos - Fijo: entre 00 y 59 inclusive. - Variable: un registro que contiene el valor del da seleccionado. Debe generar el cdigo correspondiente al da. Los cdigos correspondientes a los das son los siguientes:
Este procedimiento es necesario realizarlo para todos los tipos de programadores de PIC.
Por esto: Es necesario recuperar este valor antes de utilizar por utilizar por primera el micro.
A continuacin, vamos a utilizar el PIC12F675 y el software de programacin IcProg. Seleccione el modelo correcto de PIC. En este caso el 12F675.
El valor de calibracin puede variar de un chip a otro. Por esto, debe comenzar realizando una lectura de la memoria flash del micro. Para ello, presione el botn para realizar el proceso de lectura .
Al finalizar la lectura del micro, se obtiene el contenido de la memoria flash (memoria de programa). Dado que an el micro no ha sido utilizado, todas las posiciones de memoria deben contener el valor 3FFF a excepcin de la ltima direccin (0x03FF). Esta ltima direccin de memoria flash contiene el valor de calibracin del microcontrolador (en formato hexadecimal).
Es aconsejable tomar nota del valor de calibracin. Y mejor an, puede grabar el este valor pegando un papel en la parte inferior del PIC. Este procedimiento es recomendable cuando trabaja con varios PIC. Recuerde que el cdigo de calibracin puede variar de un PIC a otro.
Cargue el archivo .HEX que desea programar en ICProg. Al realizar esto, el valor de calibracin del PIC16F675 fue sustituido por el valor hexadecimal por defecto $3FFF.
Haga doble clic sobre esta ltima posicin de memoria con el fin de asignar el valor de calibracin correspondiente.
Presione el botn OK. Ahora el programa esta listo para grabar el PIC. En la fase de programacin, ICPROG comienza leyendo la memoria del PIC con el fin de comparar el contenido de la ltima direccin con el valor de calibracin ingresado manualmente.
Si el cdigo de calibracin que contiene el PIC no es el mismo que se encuentra la ltima posicin de memoria del programa a grabar, se muestra un mensaje indicado este problema y pregunta si desea sobrescribir el valor que actualmente se encuentra en el PIC con el valor contenido en la ultima posicin del archivo a grabar.
Si responde SI, se graba el valor de calibracin contenido en la ultima posicin del archivo. Si responde NO, se graba el programa pero no se cambia el valor de configuracin del PIC.
Si Ud. no est completamente seguro que el valor contenido en la ltima posicin del archivo corresponde al valor de calibracin del PIC, seleccione la opcin Cancelar vuelva a realizar la lectura de la memoria del micro para obtener el valor de calibracin.
Para grabar el mismo programa en distintos microcontroladores, debe actualizar el valor de calibracin de cada PIC en la ltima posicin de memoria del archivo a grabar.