Está en la página 1de 9

ARTCULO

DE

TAPA:

Niple

Ahora Programar es Fcil


Seguramente ya sabe qu es un PIC y para qu sirve (si no lo sabe, vea el artculo publicado en esta edicin) pero: Sabe construir un programa? Ahora programar PICs es simple Describimos en este artculo un utilitario simple y novedoso con el cual podr programar PICs 16F84 de manera lgica y sencilla, sin que precise conocer las instrucciones del sistema RISC y sin necesidad de las tediosas sentencias que manejan los lenguajes ms poderosos.

Autor: Ing. Alberto H. Picerno e-mail: picernoa@fullzero.com.ar

INTRODUCCION Todos nuestros lectores saben que el autor es un fantico del PIC y que siempre se caracteriz por tratar de develar sus misterios en forma prctica. En efecto, alrededor de este pequeo microprocesador hay mucha gente que gana buen dinero empezando por el fabricante del mismo, que ha logrado buenas ventas de sus chips y recursos asociados, por los programadores, por los programas utilitarios, por los emuladores, por los programas intrpretes, etc. Microchip ha tenido siempre polticas agresivas para colocar los PICs en el mercado y para lograrlo, entrega herramientas gratuitas co-

mo el viejo y querido MPAMS y el nuevo MPLAB. Pero, si bien los integrados manejan sets de instrucciones reducidas, sus recursos no suelen ser muy fciles de manejar por el principiante y para colmo, no estn en castellano. Hace muchos aos exista en la Argentina algo que se llamaba "La Tele Escuela Tcnica" que todas las maanas difunda conocimientos tcnicos sobre mecnica y electrnica. El lema de esa escuela era "Un hombre que sabe es un hombre libre". Esa buena idea muri hace muchos aos porque seguramente resultaba poco econmica, o sea no era negocio. Nuestra revista quiere hacer un aporte al conocimiento sobre microprocesadores y

por eso nos sentimos complacidos de describir algo diferente Es tan diferente que le prometemos que Uds. van a tener terminado un programa dentro de los prximos 90 minutos si no tienen experiencia previa y prcticamente de inmediato si tienen experiencia en programar PICs. PROGRAMACION DE PICs POR NIPLE Como todos saben el PIC es un microprocesador programable de bajo costo y alta velocidad. Ud. le puede ensear a funcionar como un destellador de un led, como un decodificador de seales de video o

Saber Electrnica

Ar tculo de Tapa
como cualquier otra cosa que se le ocurra a un tcnico imaginativo. El PIC tiene su propio lenguaje de programacin. Este lenguaje no es muy complejo (solo tiene algo ms de treinta instrucciones) pero tampoco es muy simple. Si quiere programarlo en su propio lenguaje tiene que recordar una serie de procedimientos repetitivos y tediosos y es muy probable que se le escape alguna letra equivocada, porque programar en el lenguaje del PIC significa escribir un texto muy particular con un encolumnado especial. Un solo error ortogrfico hace que el programa no funcione o funcione mal. Esto implica que despus de escribir el programa se lo debe depurar. Para eso existe un programa gratuito distribuido por Microchip que se llama MPLAB. Este programa analiza lo que Ud. escribi y si descubre un error le indica en qu parte del programa est. No le dice exactamente cul es el error, pero le muestra la palabra que no entiende. Este procedimiento puede ser muy tedioso en programas largos. Lo que el MPLAB no le dice es si su programa est mal estructurado o construido. Esto simplemente genera un funcionamiento deficiente. En una palabra que Ud. est solo, sin ninguna ayuda de ningn tipo. Pero una mente sagaz se da cuenta que los procedimientos que se utilizan durante la programacin no son infinitos y todos diferentes entre s. Se trata de procedimientos repetitivos que solo varan en algn valor y que no merecen la atencin del programador. Es decir que no hay por qu estar pensando en cmo hacer un retardo (por ejemplo para que un led se mantenga encendido durante un tiempo determinado) que por mucho es la operacin ms comn en un programa. Lo ideal sera que dentro del lenguaje de microchip existiera una sentencia para generar un retardo de una cantidad de segundos, milisegundos o microsegundos elegidos por el programador y no tener que construir ese retardo cada vez que se lo necesite. Que el programador se dedique a lo particular y que la PC resuelva sola lo repetitivo, esa es la idea del NIPLE y de paso que corrija los errores que pueda cometer el programador a medida que los vaya cometiendo por el sencillo expediente de mandar mensajes de error. El NIPLE es un lenguaje intrprete que traduce nuestras ideas generando el cdigo de microchips. Por qu digo ideas y no palabras? Porque el NIPLE es un lenguaje visual como el Windows. Podramos decir que el NIPLE es al lenguaje de Microchip como el Windows es al DOS. Nosotros le vamos a ensear a programar usando el mouse y no el teclado. Ud. va a generar conos y los va a unir entre s para formar un diagrama de flujo que representa visualmente al programa y cuando dicho diagrama est terminado el resultado ser un texto que cumple todas las reglas de Microchip y que por lo tanto puede ser ensamblado por el MPSAM o el MPLAB generando un archivo del tipo hexadecimal que es el nico que comprenden los cargadores de PICs (tambin llamados programadores, como por ejemplo el Quarkpro). Entiende ahora de dnde viene el nombre NIPLE? El niple de los gasistas (en Argentina y varios pases de Amrica Latina) sirve para adaptar un cao a otro. Nuestro NIPLE adapta un dibujo en la pantalla a un programa con el lenguaje de microchip y lo hace tan fcilmente como enrroscar un niple en un cao de gas. En qu lugar del mundo fue creada esta maravilla de la informtica? Aunque le parezca mentira, esta herramienta fue diseada por latinoamericanos, pensando en la forma de pensar de los que vivimos en esta regin Sus creadores son de la hermosa ciudad de Gualeguaych, en la provincia de Entre Ros, de la Repblica Argentina. Es lo que se denomina una pymi (pequea y mediana industria) del interior de la Argentina con un grupo de jvenes y pujantes profesionales emprendedores. Qu ventaja tiene un software creado en Amrica Latina? Varias y muy importantes... Lo ms importante es que tiene un precio muy accesible, segundo en importancia es que est escrito en castellano, aunque cabe aclarar que el NIPLE ya est siendo traducido al ingls. Cul es el papel de la revista Saber en el lanzamiento del Niple? A nosotros nos parece una idea maravillosa y estamos dispuestos a apoyarla en todo. Por eso cuando los directivos de NIPLE me pidieron que difundiera su programa no dud un solo instante y me puse a trabajar. A cambio de ese apoyo le ped a los responsables de la empresa que realizaran un DEMO ejecutable gratuito para lectores de Saber Electrnica con los que sea posible trabajar sin problemas y aprender a razonar cuando se quiere hacer un programa para ser cargado en un PIC. La nica limitacin de este demo es que no permite guardar los trabajos que Ud. est realizando. Pero Ud. puede ejercitarse y crear sus propios diagramas de flujo y ensamblar sus primeros trabajos. La idea es, que segn mi criterio, para aprender a programar hay que hacer algo ms que leer un artculo de la revista. Hay que hacer el programa de demostracin en la pantalla del NIPLE porque de ese modo la mente y las manos del lector se ejercitan notablemente. Para poder seguir leyendo este artculo es recomendable que instale el DEMO en su PC, para ello ingrese a nuestra pgina: www.webelectronica.com.ar Luego dirjase al cono "pasword" arriba a la izquierda de la pgina. Una vez all haga click con el mouse e ingrese el cdigo nip11, podr descargar el demo de NIPLE. Instlelo en su PC y luego siga las instrucciones del prximo punto para ir armando el primer tutor de NIPLE. Nuestra primer entrega est construida de este modo. Arme el

Saber Electrnica

Ahora Programar es Fcil


diagrama de flujo a medida que va leyendo el artculo y va aprender a programar como en un curso acelerado y personal. Nota del Autor: A la hora de escribir este artculo, an me encontraba trabajando para que esta tarea le resulte ms sencilla, es por eso que algunos pasos que aqu menciono pueden no coincidir plenamente con la ejecucin del utilitario. Rogamos que junto con el programa baje y lea el archivo: leame el cual describir el manejo del programa, conforme con el desarrollo puesto en la web en ese momento. Por supuesto que en la primer entrega no vamos a realizar algo difcil porque nuestra intencin es aprender a usar el programa. La complejidad de los programas la vamos a ir aumentando en sucesivos artculos que nos permitirn construir dispositivos tiles y didcticos con motores de CC y display de 7 segmentos. En cada entrega le daremos el archivo de NIPLE para que lo pase por el MPASM y genere el archivo hexadecimal para su cargador de modo que pueda armar realmente los dispositivos. EL PRIMER EJEMPLO DE APLICACIN El DEMO de Niple requiere que Ud. conozca algunos detalles de los microprocesadores PIC. Por eso comienza con una seccin llamada "Lo que debe Ud. saber sobre el PIC16F84 para entender este demo". Esta seccin refrescar sus conocimientos sobre el dispositivo solo con referencia a las secciones involucradas en dicho demo. Aqu vamos a mencionar solo algunos detalles generales a tener en cuenta, como cosas comunes a todos los demos que vamos a explicar y que no tiene sentido mencionar en cada caso particular. En la figura 1 se puede observar el circuito de alimentacin y clock del PIC16F84. La alimentacin del PIC se realiza con una fuente regulada de 5V con una tolerancia de +0,25 -0,25V. Siempre se deben conectar sobre la fuente un capacitor electroltico de 100uF (C1) y un capacitor cermico disco de 1nF (C2). Estos componentes deben estar lo ms cerca posible del PIC con sus terminales cortos, sobre todo el capacitor ce- Figura 1 rmico. Estos componentes se encargan de suavizar los picos de consumo del PIC. El PIC es un componente programado y la lectura de su programa se realiza al ritmo de un reloj interno. Para que este reloj interno funcione se requiere el agregado de componentes externos para el oscilador de reloj (clock). Conecte un cristal de 4MHz entre las patas 15 y 16 del PIC y capacitores a masa de 22pF (C3 y C4) hasta las patas 1 y 2 del cristal. Cuando se programa el PIC se deber predisponerlo con oscilador tipo XT. Como todo componente programado el PIC tiene un terminal de reset indicado como MCLR en su smbolo (pata 4). Esta pata de reset sirve para poner a cero o a un valor determinado, todo los registros internos de la memoria del PIC. De ese modo la lectura del programa comienza siempre con los valores adecuados sobre cada uno de esos registros internos. La accin de resetear el micro implica que la pata correspondiente se ponga a potencial de masa por unos instantes posteriores a la conexin de la fuente. El propio PIC se encarga de esta funcin con un temporizador interno llamado temporizador de reset. En algunos circuitos se prefiere realizar un reset externo con un pulsador o realizar la temporizacin del reset desde el exterior con un circuito integrado de reset. En esos casos se debe eliminar el contador interno. Cuando no se indique lo contrario la pata 4 MCLR debe conectarse a los 5V de fuente y se debe dejar habilitado el tempo-

rizador de encendido interno (power up timer) durante la predisposicin al cargar el programa. LO QUE UD. DEBE SABER SOBRE EL PIC PARA ENTENDER EL DEMO Un PIC 16F84 (o la nueva versin 16F84A o el viejo 16C84) tiene 13 patas de I/O. El nombre I/O significa Imput/Output (Entrada/Salida). Es decir que su PIC posee 13 patas que Ud. puede programar sencillamente como de entrada o de salida. Estas 13 patas estn organizadas formando 2 puertos llamados puerto A y puerto B. El puerto A tiene solo cinco patas y el puerto B esta dotado de 8 patas. Esta organizacin es muy til para procesar la informacin en forma de palabras de ocho cifras (bytes de 8 bits). En el fondo el PIC solo procesa Bytes. Los suma, los resta, los compara, mueve sus bits, los hace iguales a cero o a 1, etc. Los bytes que procesa ingresan por los terminales de entrada o se generan con el mismo programa y cuando estn debidamente procesados, se envan al exterior para realizar una determinada accin. El puerto de salida o de entrada trabaja con una tensin normalizada de 0 o 5V. Es decir que en el terminal correspondiente a un uno se obtendrn 5V y en el correspondiente a un cero se obtendr 0 volt. Cuando una pata de un puerto se utiliza como fuente puede proveer hasta

Saber Electrnica

Ar tculo de Tapa
CIRCUITO DE DESTELLADOR En el primer proyecto a realizar con el DEMO, la accin es encender un LED en forma intermitente; pero el usuario puede adaptar el circuito para que realice otras funciones como generar un tono de audio o un pulso de sincronismo o de excitacin horizontal o vertical para un TV, o controlar la velocidad de un motor alimentndolo en forma pulsada. En este demo solo utilizaremos uno de los bits del byte que sacaremos por el puerto A. Mas precisamente el ms significativo es decir RB7. Ver la figura 2. Nuestro circuito completo es en realidad una combinacin del circuito de la figura 1 con el agregado de un resistor y un diodo led en la pata 13. Cuando en el puerto B aparezca el nmero binario 1000 0000 el led se encender y cuando aparezca el binario 0000 0000 se apagar y esos nmeros aparecern en intervalos de tiempo de 100 mS. PROGRAMA DEL PROYECTO 1 REALIZADO CON EL DEMO DEL NIPLE Si Ud. ya tiene instalado el Niple slo debe hacer un doble click sobre el ejecutable para abrirlo, en ese momento aparecer la pantalla del Niple DEMO vaca como lo indica la figura 3. Esta pantalla como cualquier otra pantalla de windows posee menes" desplegables que se operan con el mouse. Si Ud. selecciona "archivo" se desplegan una serie de opciones. Elija "nuevo proyecto" o Abrir proyecto existente (la opcin que sea posible). Si le permite abrir un nuevo proyecto, aparecer una pantalla como la mostrada en la figura 4. En esta pantalla hay una sola zona que debe ser llenada obligatoriamente y es la denominada "archivo". La ventana de "nombre del proyecto" es de llenado voluntario, as como la ventana grande de la derecha que sirve para describir el funcionamiento del dispositivo. La ventana

Figura 2

20mA y cuando se usa como consumo 25. Tambin se debe tener en cuenta que el puerto A en su totalidad solo puede entregar 80mA co-

mo fuente y 50mA como consumo. Estos valores se incrementan a 100 y 150 mA respectivamente para el puerto B.

Figura 3

Figura 4

Saber Electrnica

Ahora Programar es Fcil


debe elegir configurar puerto B y hacer un doble click para que aparezca una imagen como la de la figura 8. Observe que todas las patas del puerto estn preseleccionadas como salidas. Ud. podra seleccionar todas como entradas menos RB7 que es nuestra salida (para seleccionar una pata como entrada deber picar con el mouse en cuadraditos que est al lado de la pata correspondiente). Pero no es conveniente seleccionar patas que no se van a utilizar como entradas porque podran captar informaciones espurias. Djelas como salidas. Por lo tanto solo queda pulsar "ingresar" para que la configuracin pase a la ventana de trabajo, es decir, hemos dicho que: una vez que empieza el programa, se designen todas las patas del puerto B como salidas, tal como se puede observar en la figura 9.
Figura 9

Figura 5

Figura 6

Figura 7

de la fecha se llena automticamente con la fecha actual que indica su PC. Si le permite seleccionar la opcin Abrir un proyecto existente haga click y busque un archivo en: Niple\Ejemplos\demo2.NPL. Aparecer una pantalla como la mostrada en la figura 5. Dirjase a la derecha de la pantalla y en la seccin Herramientas (16F84) haga un click en Rutinas Bsicas y cuando se despliegue un sub men, haga doble click en Iniciar Programa (figura 6). De esta manera se crea automticamente el encabezado del programa y se muestra un nuevo men desplegable a la derecha de la ventana de trabajo en donde se puede elegir la accin a seguir. En nuestro caso se debe crear el puerto B antes que ninguna otra cosa y definir la pata RB7 como salida. La definicin de puertos es una rutina bsica o sea que deberemos ahora hacer un click en la palabra puerFigura 8 tos que est dentro del sub men de Rutinas Bsicas. Haciendo doble click sobre la palabra PUERTOS se despliegan cuatro opciones de puertos (figura 7) de la que se

No es necesario crear la unin entre los conos; sta se crea automticamente en tanto el cono anterior se encuentre activo (marcado con los seis puntos caractersticos). Si no estuviera activo se puede activar pulsando sobre l con el mouse. Si no est activado el ltimo cono y se solicita el puerto o cualquier otra operacin aparecer un cartel de advertencia como el indicado en la figura 10.
Figura 10

Saber Electrnica

Ar tculo de Tapa
Lo ms conveniente es elegir "NO", activar el ltimo cono y volver a solicitar la nueva funcin con el ltimo cono activado. A continuacin debemos atender las condiciones iniciales. Nuestro proyecto requiere que al conectar la fuente se encienda el led por 100 mS y luego se apague y contine con la secuencia. Por la tanto la condicin inicial del puerto debe ser el binario 1000 0000. Es decir, iniciamos el programa, decimos que todas las patas del puerto B sean salidas y ahora debemos mandar un 1 al bit 7 del puerto B (RB7), o sea, la pata 13. Existen dos modos de cargar un puerto y nosotros vamos a explorar los dos modos en este proyecto. El primero consiste en cargar el puerto con una "constante" tambin llamada nmero "literal". El segundo mtodo algo ms complejo es con una "variable" guardada en una determinada posicin de memoria que se haya llenado previamente y que eventualmente puede ser variada por el programa (en este demo es un valor que permanece constante). Las posiciones de memoria tienen una direccin determinada que es un nmero binario (aunque generalmente se utiliza su equivalente hexadecimal). Como recordar estos nmeros es difcil, Niple permite guardar las variables en posiciones de memoria que tengan nombres, equivalentes a esas posiciones. Utilizaremos por ejemplo el nombre "ini" donde guardaremos la condicin inicial del puerto B. Lo primero que debemos hacer entonces es elegir la rutina bsica "asignar valor". Cuando la pulsemos Niple nos preguntar si deseamos asignarle valor a un registro o a un bit especifico de un registro predeterminado. Al hacer doble click sobre la palabra REGISTRO, aparecer una pantalla que me pregunta si vamos a asignar un valor a un registro nuevo o a un registro existente, nosotros decimos que es un registro nuevo (vamos a crear el registro ini) y aparecer una pantalla como la mostrada en la figura 11. En esta pantalla se pueden observar los registros previamente asignados. Aunque Ud. no haya asignado ningn registro los primeros registros ya estn ocupados por registros especiales imprescindibles que no pueden ser borrados ya que mantienen el funcionamiento bsico del PIC. Observe que la memoria est dividida en dos bancos y que el primer lugar libre es el registro 0Ch (0C hexadecimal). Justamente all agregamos el nombre "ini" con que bautizamos a nuestra variable, para ello hacemos click sobre la segunda columna de la posicin 0Ch, posteriormente pulsamos en aceptar y aparece una ventana para escribir el nombre del registro. Aceptamos y ya tenemos la variable "ini" lista para recibir valores. Pulsando nuevamente en "asignar valor a un registro" volver a aparecer la pantalla correspondiente pero esta vez con la ventana para seleccionar el registro con una flecha para desplegar el posible contenido; la pulsamos y obtenemos una lista con una sola fila conteniendo el registro ini. Si hubiramos creados ms registros apareceran ubicados a continuacin del "ini". Seleccione el registro "ini" y aparecer la parte inferior de la ventana invitndolo a introducir un "literal" o el valor de otro registro. Marque un "literal" y Niple le preguntar si quiere introducir un Decimal un Binario o un Hexadecimal. Nosotros marcamos binario e introducimos el valor 1000 0000 que pone un uno en el dgito ms significativo o RB7, tal como se muestra en la figura 12.

Figura 12

En la misma figura se puede observar que tenemos la oportunidad de introducir comentarios para recordarnos qu es lo que hemos querido hacer con esa instruccin. Al marcar ingresar ya tenemos el registro INI cargado con el numero 1000 0000. Ahora debemos conseguir que ese valor interno al PIC salga por la pata RB7 del puerto. La operacin necesaria para sacar informacin por un puerto se llama "escribir en un puerto" y se la puede encontrar en la ventana derecha haciendo Insertar/Rutinas bsicas/Puertos/Escribir en un puerto. Aparecer una simple ventana que nos invita a definir lo que usted desea enviarle al puerto, ya sea un literal o el valor de un registro, seleccione "valor de un registro", luego accediendo a la ventana podr elegir dentro de los registros creados (tambin se podra crear un registro nuevo), que en nuestro caso generaramos all el registro ini que generamos previamente. Como nosotros ya lo tenamos creado simplemente seleccionamos ini. Ver la figura 13. Una vez completada la seleccin

Figura 13 Figura 11

Saber Electrnica

Ahora Programar es Fcil


del registro presionamos "Ingresar", para continuar con nuestro programa. Ahora la pantalla ser la de la figura 14. Con todo lo realizado hasta aqu se desplegar un men en que podremos seleccionar entre "Segundos, Milisegundos y Microsegundos", seleccionamos Milisegundos, ahora pondremos el tiempo de espera en la casilla de la lado y tenemos realizado el encendido del led durante un tiempo de 100 mS. Vea la figura 15. Para no perder la marcha del leccione "un valor literal" , luego seleccione "binario", cargue el nmero 00000000 y por ltimo seleccione puerto "B". Si pulsa ingresar estar escribiendo la constante o literal 00000000 en el puerto B. Como deseamos que este puerto se encuentre en esa condicin durante 100 mS se vuelve a pedir una demora de 100 mS o se copia el temporizador anterior. El programa ya est terminado y tiene el funcionamiento deseado. Pero termina con el led apagado y no se vuelve a encender. Como nuestro deseo es que el led repita un ciclo continuo de encendidos y apagados debemos realizar un loop o rulo entre el ltimo bloque y el bloque donde todo comienza que es cuando se hace ini = 1000 0000. Este bucle se realiza picando sobre el punto central de la segunda demora y arrastrando hasta el bloque de asignacin del valor binario 1000 0000 a la variable INI. Ver la figura 17. Ahora que tenemos el programa terminado. Podemos leerlo, observando el diagrama de flujo para ver si responde a nuestras expectativas.
Figura 17

Figura 15

proyecto es conveniente ver hasta donde progresamos en el diagrama de flujo que Niple comenz a crear. Ver la figura 16. Transcurrido el tiempo con el led
Figura 14

el led se enciende. Nuestro deseo es que se mantenga encendido por 100 mS. Por lo tanto debemos emplear una subrrutina de demora que es un loop del programa que se ejecuta sin realizar ninguna operacin. Simplemente el programa no va a hacer nada por el tiempo programado. Para ingresar un retardo vaya hasta "Rutinas Bsicas", luego baje hasta "Temporizadores" haga doble click y seleccione "Tiempo por Bucles". Esta es la seleccin ms adecuada para que el tiempo que Ud. genere ser tan preciso como el cristal que utiliz al armar el circuito. Se ver en la pantalla una nueva ventana, en ella podremos elegir como funcionara el temporizador, para eso tenemos dos opciones "Tiempo Fijo" o "Tiempo Variable", en nuestro caso queremos que el led se encienda y se apague durante un tiempo determinado. Para eso clickeamos en el cuadradito al lado de "Tiempo Fijo", ahora lo que debemos hacer es seleccionar la base de tiempo, nos dirigimos a la pestaa de la derecha y

Figura 16

encendido deberemos apagarlo por un periodo de tiempo igual. Eso significa escribir un cero en el puerto B y realizar una nueva demora de 100 mS. Para practicar vamos a escribir en el puerto de una manera ms rpida. Pida Insertar/Puertos/Escribir en un puerto y aparecer la pantalla para "escribir datos en puerto". Se-

Saber Electrnica

Ar tculo de Tapa
Si se apoya el mouse sobre cada bloque sin presionar ningn botn se despliega la explicacin de la operacin realizada lo que nos ayuda a entender el programa. Sintticamente: 1) Se inicia el programa 2) Se define el puerto B como todas salidas. 3) Se crea el registro "ini" y se le asigna el valor 1000 0000. 4) Se vuelca el valor de "ini" en el puerto B. 5) Se demora 100 mS. 6) Se vuelca el valor 0000 0000 en el puerto B. 7) Se demora 100 mS. 8) Se retorna a la definicin de ini = 1000 0000 9) Se retorna a 3 10) iden 4 y as indefinidamente LA GENERACIN DE ARCHIVOS plemente ingrese a la primer columna Archivo/Archivo ASM/Generar cdigo ASM y aparecer un cuadro de dilogo que le pregunta dnde desea guardar los archivos que se van a generar tal como lo hace cualquier otro programa de Windows. Indique el camino, pulse en guardar y aparece el mensaje de Niple que le indica que el archivo se gener satisfactoriamente. Cuando lo quite aparece el cuadro de dilogo del MPLAB para que Ud. pueda generar todos los archivos deseados. Ver la figura 20. Atencin: No en todas las mquinas aparecer esta opcin, depender de la versin del DEMO, del sistema operativo de su PC, de la versin del MPLAB, etc. En muchas ocasiones deber ensamblar el archivo (.asm) por medio de los mtodos tradicionales con el MPLAB o el MPASM, haciendo un doble click sobre el ejecutable correspondiente para que aparezca la pantalla de la figura 20. Otra forma de obtener el archivo (.hex) es ir a Herramientas/Software Compliador.Hex, para que aparezca en pantalla la figura 20. Observe en la parte superior del

Figura 18

Figura 19

18. Nuestro programa est terminado y ahora debemos cargarlo en nuestro PIC. Los PIC no entienden directamente el lenguaje de Niple. Para cargar un PIC el archivo de Niple debe primero transformarse en un archivo del tipo (.asm) generado por un programa gratuito de Microchip que se llama MPLAB. Este programa debe ser bajado desde la red en el sitio de microchip en www.microchip.com e instalado en su PC de acuerdo con los indicaciones enviadas con ese programa. Niple no tiene software compilador ni programador pero maneja directamente al que Ud. tenga instalado de modo que parece que lo tuviera. Para que maneje ese software Ud. debe comunicarle en qu parte de su PC est instalado el mismo. En una palabra, debe indicarle el camino que debe seguir en su disco rgido para llegar al MPASM o al MPLAB. En la ventana principal, ingrese a Herramientas/configuracin del sistema. Aparecer un cuadro de dialogo con los dos ltimos casilleros libres tal como se ve en la figura Ud. debe llenar los dos ltimos casilleros, con los datos de su mquina, para ello debe saber en qu carpeta de su disco tiene guardado el MPASM y el programa para compilar el archivo (.hex). Por ejemplo tal como lo indica la figura 19 para la mquina del autor. Ahora est en condiciones de usar el MPLAB desde su Niple. Sim-

Figura 20

Saber Electrnica

Ahora Programar es Fcil


Figura 21

"demoni01.npl" gurdelo en su rgido y cuando llegue a la pantalla de la figura 19 ubquelo en la ventana superior del MPASM. Siga el procedimiento indicado como si ese archivo hubiera sido generado por su NIPLE.
Figura 22

CONCLUSIONES

cuadro. All debe estar indicado el archivo .ASM sobre el que Ud. desea operar. Si no es el archivo deseado pulse en Browse y busque su archivo. Tal como est predispuesto el cuadro, Ud. va a generar tres archivos al mismo tiempo. El archivo indicado como Hex Out es el que utiliza su programador para cargar un PIC. El indicado como ERROR FILE indica si el archivo compilado tiene algn error de construccin y el archivo LIST FILE es el listado del programa con todos los renglones numerados para su adecuado control. Pulse en Assemble y el archivo se ensamblar (se transformar en un archivo de otro lenguaje). Observe que aparecer un pequeo cuadro indicndole el progreso del ensamblado y cuando se llegue al 100% se leer que el ensamblado no contiene errores. Ver la figura 21. Slo nos queda cargar el PIC, para ello debe picar en Herramientas/Software programador y aparecer el cuadro de dialogo de su programador. En la figura 22 podemos observar el cuadro de dilogo del programador que utiliza el autor. Si Ud. est trabajando con el DEMO de Niple preparado para lectores de la revista Saber Electrnica, no tiene posibilidad de salvar el archivo .npl que se genera partiendo del diagrama de flujo. Pero en la pgina web existe un archivo modificado que su demo puede leer perfectamente. Bsquelo tal como lo hizo con el DEMO. Obtendr el archivo

Le aconsejamos que a pesar de lo simple de este proyecto, lo realice y lo pruebe como un excelente ejercicio didctico mucho ms efectivo que la simple lectura sin ejecucin. Posteriormente le aconsejamos que modifique este programa a gusto realizando todas las variantes que se le ocurra de acuerdo a sus preferencias personales. Por ejemplo, si Ud. se dedica a la TV puede generar una seal de excitacin para el transistor driver horizontal con solo adecuar los tiempos y hacerlos diferentes entre s. Si Ud. se dedica al audio puede fabricar un generador de onda cuadrada solo con cambiar Centro Argentino de Televisin los tiempos a 1 Aumente sus Ingresos mS. Si Ud. se dedica a la robtica Ao 2003 - Cursos y Seminarios puede alimentar un motor a travs * Service Camcorders y Cmaras de un driver ade- * Electrnica 1 y 2. Cursos Intensivos cuado y variar la velocidad cam- * Service TVC, curso prctico biando el periodo * Armado y Reparacin de PC, Redes de actividad de la * Hornos a Microondas seal generada. Y cualquier otro uso * Videocassetteras que se le pueda * Audio, CD, CDR/W, DVD ocurrir. * Monitores e Impresoras Niple es un * Fuentes de Alimentacin PC software que se instala y se usa de Tenemos otros cursos y seminarios. inmediato, sin neReserve su vacante. Inscrbase YA! cesidad de profundos estudios teriwww.ceartel.com CUOTAS ACCESIBLES cos del mismo, la mejor manera de conocerlo es realiPje. El Maestro 55 (alt. Rivadavia 4650) zando realmente Tel.: 4901-4684, Tel./Fax/Memo: 4901-5924 los demos proHorario de Atencin: Lu-Vi 16.00 a 21.00hs puestos y modificando los prograceartel@infovia.com.ar mas para adecuar-

los a sus necesidades particulares. Si Ud. es un experto programador que solo utilizar el Niple para acelerar el diseo de sus programas puede leer los demos "a vuelo de pjaro" para aprender a utilizarlo y preguntarle al Help los detalles que no se tratan en los demos. Consideramos que una buena combinacin de un Help con varios demos, es la estructura didctica ms adecuada para que Ud. haga de Niple un amigo inseparable. Para conseguir este programa se puede poner en contacto con los autores del utilitario, cuyos datos aparecen al desplegarse la pantalla inicial del DEMO. !

Saber Electrnica

También podría gustarte