SlideShare una empresa de Scribd logo
1 de 11
Descargar para leer sin conexión
8/ Programación de un PIC con NIPLE
En el momento actual, la electrónica utiliza microcontroladores y microprocesadores de
todo tipo en profusión. Ud. en este momento está leyendo en una PC que tiene
seguramente uno de los microprocesadores masivos de mayor tamaño y con una enorme
cantidad de patas. Pero también existen microcontroladores de pequeño tamaño y muy
fáciles de programar, que han revolucionado la electrónica por su bajo precio.
Entre estos últimos se destacan como los mas económicos, los microcontroladores de la
serie PIC de microchips. Y entre ellos se encuentra aquel que es líder en el rubro
economía el PIC12F629 de tan solo 8 patas y cuyo costo es de aproximadamente 2 U$S.
Si Ud. se pregunta que puede hacer este micro de tan bajo precio yo le contesto que
puede cumplir múltiples funciones que aun no podemos evaluar en su totalidad, pero
que con el tiempo iremos conociendo poco a poco.
Como al autor le gusta enseñar construyendo dispositivos y no solo con teoría escrita
sobre papeles, vamos a construir el primer dispositivo de nuestro curso que es un
generador de RF modulado en AM, para la banda de OL que cubre las frecuencias de
radio de 530 KHz a 1610 KHz.
Pero lo vamos a hacer explicado, de modo que el lector pueda utilizarlo para otras
bandas de frecuencias y otras funciones similares. Al terminar la lectura de esta lección
Ud. sabrá qué es un microprocesador y cómo se utiliza.
Pero hasta el menos versado sabe que un microprocesador requiere un programa; si Ud.
compra una PC y no le carga ni siquiera el sistema operativo, no podrá hacer nada con
ella. El PIC no es la excepción y parecería que allí se acaban nuestras ilusiones de
explicar que es un microprocesador. Sin embargo no es así. Cuando les dije a mis
alumnos que nuestro curso básico de electrónica incluía laboratorios virtuales y la
programación de microcontroladores, no estaba mintiendo; ya hicimos buen uso de los
laboratorios virtuales y creo que los alumnos ya les están perdiendo el miedo poco a
poco y los están reconociendo como una enorme y didáctica ayuda. Ahora le toca el
turno a la otra promesa. En esta lección vamos a aprender a programar.
Hasta hace algunos años los PICs se programaban en “asembler” que es el idioma
básico o nativo de esos microcontroladores. Programar de ese modo requiere todo un
largo aprendizaje y una ardua tarea a la antigua, o casi a la antigua. Había que escribir
sentencias muy complejas y una simple coma mal puesta podía ser un dolor de cabeza
para el programador. Hasta que un grupo de profesionales de la Argentina creó un
programa llamado NIPLE que resuelve el problema en forma gráfica. Ud. sólo elige
diferentes iconos, que representan las diferentes operaciones que realiza el PIC, el resto
lo realiza el NIPLE como una tarea de fondo entregando el programa en “Asembler” sin
ningún esfuerzo para el programador y sin errores de ningún tipo.
¿Qué debe generar el PIC?
Nuestro PIC tiene una tarea sencilla adecuada para aprender a usarlo. Debe generar en
una de sus patas de salida una señal rectangular con un 50% de tiempo de actividad
(cuadrada) de una frecuencia de 2 KHz. La amplitud de esta señal no puede ser elegida,
ya que en un pata de salida del micro solo pueden existir señales que tengan la misma
amplitud que su fuente de alimentación y el PIC que estamos usando se alimenta con
5V. Es decir que generaremos una señal de 5V durante 250 uS y de 0 V durante otros
250 uS para completar un periodo de 500 uS. De este modo generamos una señal de
audio de 2 KHz ya que la inversa de 500 uS es 1/500.10-6 = 0,002.106 = 2.000 Hz o 2
KHz.
El PIC12F629 tiene solo 8 patas, pero es un microprocesador completo con todas las de
la ley y tiene una capacidad de memoria igual a la de su hermano mayor de 18 patas el
16F84A o su versión mas moderna 16F621 que es el mas conocido de la línea de
Microchip. Es evidente que con 8 patas en total y dada la necesidad de poseer una pata
para fuente y otra para masa solo le restarían 6 patas activas para realizar su trabajo.
Pero los microcontroladores comunes necesitan emplear tres patas mas para dos
funciones imprescindibles para ellos y que pasamos a explicar.
Función de RESET
Esta palabra (que podría traducirse literalmente como restauración) se utiliza
directamente en Español ya que la ciencia informática la ha adoptado definitivamente.
Un microprocesador sigue un programa de trabajo. Y ese programa debe ser ejecutado
desde el primer paso de programa hasta el último, en un orden predeterminado
comenzando siempre por el paso 1. Si se comienza por el medio del programa el
resultado será catastrófico. Por eso los microcontroladores poseen una pata que se
mantiene a nivel cero por algunos instantes de tiempo luego de aplicada la tensión de
fuente. En esa condición el micro sabe que debe ir a leer el primer paso de programa y
ejecutarlo, pasando luego por lo general al segundo y así sucesivamente. Pero esa
función de reset puede realizarse internamente si se lo requiere en un micro con pocas
patas. El 629 se puede programar para que realice esa función en forma automática
liberando la pata de reset para que se pueda usar como pata de entrada.
Función de CLOCK
La mayoría de los microcontroladores requiere dos patas para utilizarlas en una función
llamada “clock”. La traducción literal de esta palabra es “Reloj” pero los informáticos
suelen usar directamente el termino en Inglés. La necesidad del clock es evidente. Si un
micro es un dispositivo que sigue una serie de pasos de programa debemos decirle a que
ritmo debe leer esos pasos. Ese ritmo se le puede dar con un circuito LC como el que
vimos en la clase pasada y cuya frecuencia de trabajo era de 1 MHz (ritmo de 4 uS por
paso de programa) a condición de que el circuito interno del micro se encargue de
generar una señal excitando al circuito LC externo. Pero existe un componente
electrónico llamado “cristal” que suplanta al circuito LC con una enorme precisión y
que se utiliza junto con dos capacitores de pequeño valor para generar el clock de los
micros.
El 629 posee un oscilador interno que no requiere la conexión de un cristal externo. De
ese modo esas patas quedan libres para ser usadas como entradas o salidas pero hay que
aclarar que ese clock interno no tiene la precisión de un cristal. Como en nuestro caso
no necesitamos que el tono de audio generado sea preciso haremos uso de esa facilidad
de nuestro micro. También cabe mencionar que la base de tiempo interna esta fija en 4
MHz y que tiene una precisión del 1% dentro de un margen de temperatura de 0 a 70ºC;
con esto el paso de programa dura 1 uS (siempre es la frecuencia del clock dividido 4).
Puertos GP de I/O
Con todo esto, salvo las patas de masa y fuente, las otras 6 pueden considerarse patas
activas que la costumbre indica como patas del puerto (que en este integrado se llama
puerto GP); y que son 5 de I/O y una de I solamente.
Suponemos que Ud. no entendió la frase anterior porque pertenece al mundo
informático, que estamos develando poco a poco. La palabra puerto se utiliza para
indicar el lugar a donde llegan o desde donde parten la señales de un micro. Las patas
son casi siempre de entrada o de salida debiendo indicarse dicha condición al principio
del programa como un paso de programa mas. En Inglés se dice que son patas de I/O de
Input que significa entrada y de Output que significa salida. En nuestro caso el puerto
(el nombre de las patitas indicado por el fabricante) será GP0 (pata 7), GP1 (pata 6),
GP2 (pata 5) etc hasta GP5 (pata 2) y todas son de I/O salvo GP3 (pata 4) que es de I
solamente.
En la figura 1 se puede observar la distribución de patas del 629 con todas sus variantes.
Fig.1 Distribución de patas del 629
En nuestro caso solo requerimos una pata de salida, pero la explicación vale para el
futuro donde realizaremos otros diseños de instrumental con este mismo micro.
En nuestro caso usaremos la pata 7 (GP0) como salida, indicando que en esta pata se
puede colocar una carga que tome hasta 25 mA o entregue hasta 20 mA. Dentro de estos
consumos el fabricante garantiza que la pata de salida pasará al estado alto o bajo sin
inconvenientes.
Programación del PIC con NIPLE
El programa de nuestro generador de señales rectangulares va a ser desarrollado con
NIPLE 5.2 del cual se puede descargar un demo. Instale el demo y luego genere un
icono de arranque. Al arrancar aparecerá una pantalla con solapas similar a cualquier
programa de Windows. Haga archivo > nuevo proyecto y aparecerá la pantalla inicial
para elegir el micro.
Fig.2 Predisposición inicial
Elija su idioma preferido entre Español, Ingles y Portugués y el micro 12F629 y pulse
en crear. Aparecerá la pantalla para ponerle nombre al archivo y escribir un comentario
del programa que se puede observar en la Fig. 3.
Fig.3 Pantalla para nombrar el proyecto y comentar su uso
Complete la pantalla, pulse crear y aparecerá la pantalla de trabajo donde va a crear el
programa.
Fig.4 Predisposición de puerto
El orlado con los 6 puntos significa que el próximo bloque se va a conectar
automáticamente al que acabamos de crear.
Observe que la zona de trabajo ya posee un icono de inicio en donde el programa genera
todos las sentencias de predisposición correspondientes al integrado en uso. Arriba a la
derecha tenemos dos ventanas. Una correspondiente a la frecuencia de clock. Que como
sabemos estará predeterminada porque el clock interno funciona solo a 4 MHz.
Elegimos INT 4 MHz.
La segunda ventana pregunta si vamos a usar una pata como reset, o si el reset será
automático y producido internamente. Elegimos “interno”.
Ahora comienza en realidad el programa que deseamos crear y comienza con la
definición del puerto. En nuestro caso solo debemos buscar en la tabla de operaciones
de la derecha abajo insertar> rutinas básicas > puerto > configuración de puerto y
aparecerá la pantalla de la Fig. 5 con el layout completo del integrado en donde
observamos que todas las patas están indicadas como salidas incluyendo la que nosotros
necesitamos que es la GP0. Deje a las otras patas como salida aunque no las utilice en
este proyecto. Es decir que solo debe pulsar “enter” y aparecerá el segundo icono del
programa que se puede observar en la figura 6.
Fig.5 Definición del puerto
Fig.6 Icono de definición del puerto
El icono verde con las dos flechas significa definición de puerto. Y la leyenda interna
XXSSESSS indica como quedo definido el puerto. El ultimo carácter corresponde a
GP0 y hacia la izquierda aparece GP1, GP2, etc hasta GP5 porque este micro no posee
un puerto completo de 8 bits. La indicación XX significa que esos bits no están
habilitados para ser predispuestos como I o como S. GP3 no puede elegirse, siempre es
de entrada por definición, cuando esa pata se predispone para que no sea la de reset.
Nuestro programa requiere que la pata GP0 esté 250 uS alta y 250 uS baja continuando
con la oscilación hasta el infinito. Vamos a pasar primero la pata al estado alto
ingresando a insertar > rutinas básicas > puerto > escribir en puerto, con lo cual aparece
un cartel de aviso de que en esa parte del programa el puerto no esta predispuesto como
salida ya que GP3 es una entrada. Haga caso omiso del aviso y siga adelante. Aparecerá
una pantalla solicitando que aclare lo que desea hacer.
Fig.7 Pantalla para escribir datos
La opciones son escribir un valor literal o especifico en el puerto de salida o escribir un
valor guardado en un registro. Elegimos la primer opción y se produce otra pantalla
preguntándonos que “número desea colocar en el puerto” y con que notación. Elegimos
notación binaria y colocamos el número 00000001 con lo cual la pata GP0 pasa al
estado alto y todas las demás quedan en el estado bajo (las patas virtuales GP6 y GP7 se
ponen en cero aunque sabemos que dichos bits no tienen como ser sacados del PIC.
Fig.8 Escritura en un puerto
Al pulsar en ingresar aparece el icono que indica que se envió el numero binario al
puerto de salida y por lo tanto la pata GP0 pasó al estado alto.
Fig. 9 Sacando un número binario por el puerto
En este punto del programa necesitamos que el micro se quede detenido con GP0 en
alto durante 250 uS. Y eso se logra con un temporizador por loop obtenido de la tabla de
herramientas de la derecha haciendo insertar > rutinas básicas > temporizadores >
tiempos por ciclos, para que aparezca una pantalla como la indicada en la figura
siguiente.
Fig.10 Deteniendo el programa por 250 uS.
Al pulsar “Ingresar” aparece el icono del temporizador en el programa que estamos
construyendo.
Fig.11 Demora de 250 uS
Al llegar a este punto vamos a acelerar las explicaciones porque el programa se vuelve
repetitivo. Todo lo que nos queda por hacer es escribir 00000000 en el puerto de salida y
realizar otra temporización de 250 uS.
En la figura 12 se puede observar el programa terminado para realizar un solo ciclo de
nuestra onda rectangular de salida.
Fig.12 Programa para generar un solo ciclo
Y en la figura 12 se puede observar el programa completo con repetición permanente
del ciclo. Todo lo que se agregó es un línea del diagrama de flujo para que el control del
programa de un salto hacia atrás. Esa línea de regreso se realiza orlando el ultimo icono
y luego pulsando en su punto central y arrastrando hasta el icono de retorno.
Fig.13 Programa final
Como se puede observar la programación no puede ser mas sencilla ya que construir
todo este programa puede haber llevado un tiempo de un par de minutos como mucho.
Y además existe la posibilidad de modificarlo muy fácilmente editando los iconos y
cambiando su contenido. Por ejemplo si Ud. quiere generar un tono de 1 KHz solo debe
picar dos veces sobre cada temporizador para editarlo. Cuando aparece la pantalla del
temporizador, ponga el nuevo tiempo y pulse en “ingresar”. Dejamos como un tarea
para el lector la generación de una señal rectangular de 2 KHz con un 40% en alto y un
60% en bajo.
Carga del PIC
El Niple ya realizó nuestro programa, pero ¿Cómo se carga en el PIC? Es evidente que
el programa está en la PC pero la PC no tiene zócalo para ubicar un PICs. Si queremos
cargar un PIC debemos tener un dispositivo adecuado que haga de interfaz entre la PC y
el PIC; ese dispositivo tiene tres nombres; de acuerdo al país de origen del alumno se lo
conoce como programador, cargador o quemador de Pics.
Un programador se conecta al puerto serie o paralelo de su PC (también existen
programadores para puerto USB) y posee un zócalo que admite los diferentes PICs que
existen en la actualidad, a saber de 8, 18 y 28 patas. El autor recomienda comprar un
programador para puerto paralelo, debido a que dicho puerto por lo general está libre
debido a que las impresoras ya no se conectan allí.
Si Ud. sabe algo de PCs sabe que un dispositivo para la misma no sirve de nada sino
posee el correspondiente programa para controlarlo. Nuestro programador utiliza un
programa llamado ICprog que se consigue gratuito en la red. Cuando ingrese podrá
comprobar que dicho programa es utilizado por 4 millones de personas en el mundo y
por lo tanto podemos asegurar que es el elegido por los programadores de PICs.
El instrumento completo
Como el lector ya sabe nuestro curso básico de electrónica lo capacita para reparar
radios de AM y FM. El instrumento que le estamos proponiendo hoy es un generador de
AM que le servirá para iniciarse en la reparación de esas radios. En nuestro curso solo le
pediremos que Ud posea las herramientas clásicas, un tester digital, un tester analógico
y el generador de RF que le indicamos en la presente lección.
Un generador de RF para AM debe emitir en diferentes frecuencias de radio. Mas
adelante en este mismo curso vamos a indicarle que existe una frecuencia llamada de FI
que generalmente es de 455 KHz y es imprescindible para ajustar una radio; luego
existen otras dos frecuencias importantes que son los extremos de la banda de AM que
en América son 530 y 1650 KHz. Por último se requieren tres frecuencias mas que
sirven par observar el funcionamiento dentro de la banda y ajustar eventualmente el
circuito de la radio en reparación y que son de 680, 950 y 1250 KHz.
Hasta ahora nuestro generador de RF solo permitía emitir una sola frecuencia. Para
realizar un instrumento versátil es necesario que tenga la posibilidad de emitir en toda la
banda de AM. Esto posee dos alternativas; usar un inductor variable o un capacitor
variable. Si bien los inductores variables existen los mismos no son aptos para lograr el
cubrimiento completo de la banda de AM mas la de FI. En cambio los capacitores
variables son los mas indicados en este caso, porque están fabricados para cubrir la
banda de AM y un poco mas, permitiéndonos construir un dispositivo muy sencillo.
En realidad el circuito completo que se puede observar en la figura14 no difiere mucho
del propuesto en la lección anterior. Solo posee un capacitor variable de plástico para
radios de AM y un capacitor fijo debajo de la bobina para adaptar la impedancia de
salida, que es un parámetro de los componentes reactivos tal como lo explicaremos en la
próxima entrega. Y por supuesto posee un PIC12F629 programado como generador de
funciones para generar la modulación. Luego le explicaremos el uso de la SW2 y C4.
Fig.14 Circuito final del generador de RF
Nosotros conocemos hasta ahora todos los componentes de este circuito, salvo el
inductor y capacitor variables (tienen una flecha cruzada). El inductor variable posee un
conductor enrollado sobre un carretel de ferrite y una tapa cazoleta que lo cubre y puede
tapar al carretel total o parcialmente ya que está montada sobre un dado de plástico
roscado tal como puede observarse en la figura 15.
Fig.15 Inductor variable con cazoleta roscada
Esta disposición logra que el campo magnético generado por la bobina se cierre
prácticamente por un camino de material concentrador del campo magnético como es el
ferrite (hierro pulverizado mezclado con resina epoxi) pero dejando un espacio variable
de aire para ajustar la inductancia de la bobina a su valor exacto. Este ajuste de la
bobina se realiza cuando se prueba el circuito es decir que no es accesible al reparador
una ves que el instrumento está terminado. El cambio de frecuencia se realiza con otro
componente variable que es el capacitor C1. Este capacitor se conoce con el nombre de
capacitor en tándem de plástico. Ese nombre tan extraño se debe a que esta dividido en
dos secciones que se mueven en forma sincrónica ya que están montadas en un mismo
eje. El eje tiene chapas semicirculares móviles que se pueden enfrentar con chapas fijas
también semicirculares de acuerdo a la posición del eje. Cuando las chapas están
totalmente enfrentadas, la capacidad es máxima y cuando no lo están es mínima.
Antiguamente los tándens tenían dieléctrico de aire pero actualmente entre chapa y
chapa existe una capa de polietileno que aumenta la capacidad y mantiene la aislación
entre las chapas.
Fig.16 Capacitor variable en tandem
Observe que las dos secciones del capacitor tienen montados otros dos capacitores
construidos con chapas semicirculares mas pequeñas en paralelo con las secciones mas
grandes (no visibles en la foto). Esta sección llamada de los “trimmers” ajusta la
capacidad mínima del tánden cuando está totalmente abierto ajustando los
correspondientes tornillos.
Así las cosas con el tánden cerrado debemos llegar a una frecuencia dada por la formula
de Thomson de 400 KHz ajustable con la cazoleta de la bobina y con el tánden abierto a
una frecuencia de 1700 KHz ajustable con los trimmers.
Conclusiones
En está lección entramos al mundo de los microprocesadores y de la programación de
los mismos. Sabemos que es atípico hablar de microprocesadores cuando aun no
explicamos el funcionamiento de los dispositivos activos como el diodo y el transistor.
Pero el autor considera que se pueden diseñar dispositivos con microprocesadores sin
tener ni siquiera una idea de su funcionamiento interior. Solo considerando al mismo
como una caja negra con entradas y salidas y un programa que le indica que debe hacer
con esas entradas para obtener las salidas.
La prueba de este criterio la tenemos a la vista y la vamos a completar en las próximas
entregas cuando encaremos prácticamente el armado de nuestro generador de RF o
nuestro transmisor de telegrafía sin hilos que es lo mismo.
También marcamos en esta lección otro importante hito. Diseñamos un programa para
PIC en forma enteramente gráfica utilizando la herramienta mas moderna que se tenga
noticia: el NIPLE. Este programa debe hacer sentir dichosos a todos nuestros
compatriotas, porque casi sin medios se ha logrado realizar un programa extraordinario
que ya se esta exportando a todo el mundo (prueba de ello es que se lo puede
predisponer en tres idiomas diferentes, Español, Portugués e Inglés).
Por supuesto que no todos están de acuerdo con un criterio tan avanzado. Uno de ellos
escribe en Internet ….. “¿Porque no estoy de acuerdo con el uso del NIPLE?”…. Yo lo
conozco y se la verdadera razón de su desacuerdo: Tiene miedo, un miedo terrible a
quedarse sin trabajo, porque se gana la vida programando con los métodos antiguos. Yo
considero que los programas los debe hacer un ingeniero en electrónica o un técnico con
conocimientos de programación y nunca un programador con conocimientos de
electrónica. La programación de microcontroladores así como el diseño electrónico de
hoy están abiertos a todos. Si Ud. es un químico que quiere realizar un dispositivo
electrónico que lo ayude en su profesión, puede estudiar electrónica con toda facilidad y
realizar su propio dispositivo.
Muy pronto vamos a comenzar a construir nuestra primer radio y va a ser algo muy
parecido a una radio a galena.
Descargas
• Niple Versión 5.2 Demo
• IC-Prog Prototype Programmer

Más contenido relacionado

La actualidad más candente

Lego mindstorm nxt (2)ba
Lego mindstorm nxt (2)baLego mindstorm nxt (2)ba
Lego mindstorm nxt (2)ba
sergio804
 
Guia de usuario 1 - 4
Guia de usuario 1 - 4Guia de usuario 1 - 4
Guia de usuario 1 - 4
Nico Fonseca
 
Configuration word en microcode
Configuration word en microcodeConfiguration word en microcode
Configuration word en microcode
Rafael Duran
 
Palabra de configuración
Palabra de configuraciónPalabra de configuración
Palabra de configuración
Rafael Duran
 
Colegio nacional nicolas (reparado)
Colegio nacional nicolas (reparado)Colegio nacional nicolas (reparado)
Colegio nacional nicolas (reparado)
david905
 
Construir un receptor universal de control remoto
Construir un receptor universal de control remotoConstruir un receptor universal de control remoto
Construir un receptor universal de control remoto
Maxon Dixom
 

La actualidad más candente (17)

Microcontroladores: Tutorial de microcontrolador AVR desde 0
Microcontroladores: Tutorial de microcontrolador AVR desde 0Microcontroladores: Tutorial de microcontrolador AVR desde 0
Microcontroladores: Tutorial de microcontrolador AVR desde 0
 
Lego mindsTROMS
Lego mindsTROMSLego mindsTROMS
Lego mindsTROMS
 
Lego mindstorm nxt (2)ba
Lego mindstorm nxt (2)baLego mindstorm nxt (2)ba
Lego mindstorm nxt (2)ba
 
Grabacion de microcontroladores_pic
Grabacion de microcontroladores_picGrabacion de microcontroladores_pic
Grabacion de microcontroladores_pic
 
Guia de usuario 1 - 4
Guia de usuario 1 - 4Guia de usuario 1 - 4
Guia de usuario 1 - 4
 
Arduino - Cuarta sesión
Arduino - Cuarta sesiónArduino - Cuarta sesión
Arduino - Cuarta sesión
 
Documento 2
Documento 2Documento 2
Documento 2
 
Configuration word en microcode
Configuration word en microcodeConfiguration word en microcode
Configuration word en microcode
 
Documento 1
Documento 1Documento 1
Documento 1
 
Curso basico de pic 16 f877
Curso basico de pic 16 f877Curso basico de pic 16 f877
Curso basico de pic 16 f877
 
Lego mindstorm NXT
Lego mindstorm NXTLego mindstorm NXT
Lego mindstorm NXT
 
Palabra de configuración
Palabra de configuraciónPalabra de configuración
Palabra de configuración
 
4.6 sensores
4.6   sensores4.6   sensores
4.6 sensores
 
Robot nxt
Robot nxtRobot nxt
Robot nxt
 
Colegio nacional nicolas (reparado)
Colegio nacional nicolas (reparado)Colegio nacional nicolas (reparado)
Colegio nacional nicolas (reparado)
 
Ntx
NtxNtx
Ntx
 
Construir un receptor universal de control remoto
Construir un receptor universal de control remotoConstruir un receptor universal de control remoto
Construir un receptor universal de control remoto
 

Destacado

Metrologia
Metrologia Metrologia
Metrologia
florv
 
Manual metrologia-instrumentos-medicion-tipos-usos-caterpillar
Manual metrologia-instrumentos-medicion-tipos-usos-caterpillarManual metrologia-instrumentos-medicion-tipos-usos-caterpillar
Manual metrologia-instrumentos-medicion-tipos-usos-caterpillar
ivan escobar contreras
 

Destacado (20)

Conceptos de metrología 2
Conceptos de metrología 2Conceptos de metrología 2
Conceptos de metrología 2
 
Lenguajes de programación programación visual
Lenguajes de programación  programación visualLenguajes de programación  programación visual
Lenguajes de programación programación visual
 
Ley de ohm y potencia eléctrica
Ley de ohm y potencia eléctricaLey de ohm y potencia eléctrica
Ley de ohm y potencia eléctrica
 
Multimetro web, manejo de multimetro, Ley de Ohm ,voltaje
Multimetro  web, manejo de multimetro, Ley de Ohm ,voltaje Multimetro  web, manejo de multimetro, Ley de Ohm ,voltaje
Multimetro web, manejo de multimetro, Ley de Ohm ,voltaje
 
Diseño geométrico para iluminación
Diseño geométrico para iluminaciónDiseño geométrico para iluminación
Diseño geométrico para iluminación
 
Metrología lizeth
Metrología lizethMetrología lizeth
Metrología lizeth
 
Metrologia
MetrologiaMetrologia
Metrologia
 
Senai metrologia
Senai   metrologiaSenai   metrologia
Senai metrologia
 
Clases instalaciones sanitarias
Clases instalaciones sanitariasClases instalaciones sanitarias
Clases instalaciones sanitarias
 
Instalaciones eléctricas
Instalaciones eléctricasInstalaciones eléctricas
Instalaciones eléctricas
 
Metrologia clase 1 unidad
Metrologia clase 1 unidadMetrologia clase 1 unidad
Metrologia clase 1 unidad
 
Telecurso 2000 metrologia
Telecurso 2000   metrologiaTelecurso 2000   metrologia
Telecurso 2000 metrologia
 
Instalaciones eléctricas
Instalaciones eléctricasInstalaciones eléctricas
Instalaciones eléctricas
 
Principios de Programacion
Principios de ProgramacionPrincipios de Programacion
Principios de Programacion
 
Instalaciones electricas introduccion 2016pdf
Instalaciones electricas introduccion 2016pdfInstalaciones electricas introduccion 2016pdf
Instalaciones electricas introduccion 2016pdf
 
Principios del vernier
Principios del vernierPrincipios del vernier
Principios del vernier
 
Concepto de metrología
Concepto de metrologíaConcepto de metrología
Concepto de metrología
 
Principios basicos de la programacion (pc)
Principios basicos de la programacion (pc)   Principios basicos de la programacion (pc)
Principios basicos de la programacion (pc)
 
Metrologia
Metrologia Metrologia
Metrologia
 
Manual metrologia-instrumentos-medicion-tipos-usos-caterpillar
Manual metrologia-instrumentos-medicion-tipos-usos-caterpillarManual metrologia-instrumentos-medicion-tipos-usos-caterpillar
Manual metrologia-instrumentos-medicion-tipos-usos-caterpillar
 

Similar a Programación de un PIC con Niple

Microcontroladores: Microcontroladores PIC fundamentos y aplicaciones didácticos
Microcontroladores: Microcontroladores PIC fundamentos y aplicaciones didácticosMicrocontroladores: Microcontroladores PIC fundamentos y aplicaciones didácticos
Microcontroladores: Microcontroladores PIC fundamentos y aplicaciones didácticos
SANTIAGO PABLO ALBERTO
 
Como programar un PIC
Como programar un PICComo programar un PIC
Como programar un PIC
MicroPart
 
Informe practica ecuaciones # 6
Informe practica ecuaciones # 6Informe practica ecuaciones # 6
Informe practica ecuaciones # 6
Freddy Cuasapaz
 
"Hola Mundo" C18, PIC18F y MPLAB
"Hola Mundo"  C18,  PIC18F y MPLAB"Hola Mundo"  C18,  PIC18F y MPLAB
"Hola Mundo" C18, PIC18F y MPLAB
BlackD10
 

Similar a Programación de un PIC con Niple (20)

Curso de-mcu-proteus
Curso de-mcu-proteusCurso de-mcu-proteus
Curso de-mcu-proteus
 
53592868 curso-de-mcu-proteus
53592868 curso-de-mcu-proteus53592868 curso-de-mcu-proteus
53592868 curso-de-mcu-proteus
 
Curso integral pic_236
Curso integral pic_236Curso integral pic_236
Curso integral pic_236
 
Labview & pic
Labview & picLabview & pic
Labview & pic
 
Como programar un pic en 4 pasos
Como programar un pic en 4 pasosComo programar un pic en 4 pasos
Como programar un pic en 4 pasos
 
Microcontroladores: Microcontroladores PIC fundamentos y aplicaciones didácticos
Microcontroladores: Microcontroladores PIC fundamentos y aplicaciones didácticosMicrocontroladores: Microcontroladores PIC fundamentos y aplicaciones didácticos
Microcontroladores: Microcontroladores PIC fundamentos y aplicaciones didácticos
 
Como programar en Arduino
Como programar en ArduinoComo programar en Arduino
Como programar en Arduino
 
02 programar
02 programar02 programar
02 programar
 
02 programarpic
02 programarpic02 programarpic
02 programarpic
 
Libro basico pic
Libro basico picLibro basico pic
Libro basico pic
 
Curso de-mcu-proteus
Curso de-mcu-proteusCurso de-mcu-proteus
Curso de-mcu-proteus
 
Programando pi cs_ccs_08
Programando pi cs_ccs_08Programando pi cs_ccs_08
Programando pi cs_ccs_08
 
Arduino 1
Arduino 1Arduino 1
Arduino 1
 
Como programar un PIC
Como programar un PICComo programar un PIC
Como programar un PIC
 
Lab 01 micro
Lab 01 microLab 01 micro
Lab 01 micro
 
Informe practica ecuaciones # 6
Informe practica ecuaciones # 6Informe practica ecuaciones # 6
Informe practica ecuaciones # 6
 
3 juanpedro montero_cap.4-5
3 juanpedro montero_cap.4-53 juanpedro montero_cap.4-5
3 juanpedro montero_cap.4-5
 
PROGRAMACION DE LOS PIC 2021-1.pdf
PROGRAMACION DE LOS  PIC 2021-1.pdfPROGRAMACION DE LOS  PIC 2021-1.pdf
PROGRAMACION DE LOS PIC 2021-1.pdf
 
"Hola Mundo" C18, PIC18F y MPLAB
"Hola Mundo"  C18,  PIC18F y MPLAB"Hola Mundo"  C18,  PIC18F y MPLAB
"Hola Mundo" C18, PIC18F y MPLAB
 
Señales con arduino y DAC
Señales con arduino y DACSeñales con arduino y DAC
Señales con arduino y DAC
 

Más de Hamiltonn Casallas

Más de Hamiltonn Casallas (20)

Sistema Ubuntu
Sistema UbuntuSistema Ubuntu
Sistema Ubuntu
 
Compilador CCS y simulador proteus para microcontroladores PIC
Compilador CCS y simulador proteus para microcontroladores PICCompilador CCS y simulador proteus para microcontroladores PIC
Compilador CCS y simulador proteus para microcontroladores PIC
 
Electricidad básica y aplicaciones
Electricidad básica y aplicacionesElectricidad básica y aplicaciones
Electricidad básica y aplicaciones
 
Curso de microcontroladores capitulo 12
Curso de microcontroladores capitulo 12Curso de microcontroladores capitulo 12
Curso de microcontroladores capitulo 12
 
Curso de microcontroladores capitulo 11
Curso de microcontroladores capitulo 11Curso de microcontroladores capitulo 11
Curso de microcontroladores capitulo 11
 
Curso de microcontroladores capitulo 10
Curso de microcontroladores capitulo 10Curso de microcontroladores capitulo 10
Curso de microcontroladores capitulo 10
 
Curso de microcontroladores capitulo 09
Curso de microcontroladores capitulo 09Curso de microcontroladores capitulo 09
Curso de microcontroladores capitulo 09
 
Curso de microcontroladores capitulo 08
Curso de microcontroladores capitulo 08Curso de microcontroladores capitulo 08
Curso de microcontroladores capitulo 08
 
Curso de microcontroladores capitulo 07
Curso de microcontroladores capitulo 07Curso de microcontroladores capitulo 07
Curso de microcontroladores capitulo 07
 
Curso de microcontroladores capitulo 06
Curso de microcontroladores capitulo 06Curso de microcontroladores capitulo 06
Curso de microcontroladores capitulo 06
 
Curso de microcontroladores capitulo 05
Curso de microcontroladores capitulo 05Curso de microcontroladores capitulo 05
Curso de microcontroladores capitulo 05
 
Curso de microcontroladores capitulo 04
Curso de microcontroladores capitulo 04Curso de microcontroladores capitulo 04
Curso de microcontroladores capitulo 04
 
Curso de microcontroladores capitulo 03
Curso de microcontroladores capitulo 03Curso de microcontroladores capitulo 03
Curso de microcontroladores capitulo 03
 
Curso de microcontroladores capitulo 01
Curso de microcontroladores capitulo 01Curso de microcontroladores capitulo 01
Curso de microcontroladores capitulo 01
 
Curso de microcontroladores capitulo 02
Curso de microcontroladores capitulo 02Curso de microcontroladores capitulo 02
Curso de microcontroladores capitulo 02
 
Reparacion de radios AM/FM
Reparacion de radios AM/FMReparacion de radios AM/FM
Reparacion de radios AM/FM
 
Armado de un amplificador para automovil.
Armado de un amplificador para automovil.Armado de un amplificador para automovil.
Armado de un amplificador para automovil.
 
Circuitos impresos
Circuitos impresosCircuitos impresos
Circuitos impresos
 
Amplificadores en puente.
Amplificadores en puente.Amplificadores en puente.
Amplificadores en puente.
 
Disipadores de calor
Disipadores de calorDisipadores de calor
Disipadores de calor
 

Último

LA APLICACIÓN DE LAS PROPIEDADES TEXTUALES A LOS TEXTOS.pdf
LA APLICACIÓN DE LAS PROPIEDADES TEXTUALES A LOS TEXTOS.pdfLA APLICACIÓN DE LAS PROPIEDADES TEXTUALES A LOS TEXTOS.pdf
LA APLICACIÓN DE LAS PROPIEDADES TEXTUALES A LOS TEXTOS.pdf
bcondort
 
tesis maíz univesidad catolica santa maria
tesis maíz univesidad catolica santa mariatesis maíz univesidad catolica santa maria
tesis maíz univesidad catolica santa maria
susafy7
 
ANALISIS Y DISEÑO POR VIENTO, DE EDIFICIOS ALTOS, SEGUN ASCE-2016, LAURA RAMIREZ
ANALISIS Y DISEÑO POR VIENTO, DE EDIFICIOS ALTOS, SEGUN ASCE-2016, LAURA RAMIREZANALISIS Y DISEÑO POR VIENTO, DE EDIFICIOS ALTOS, SEGUN ASCE-2016, LAURA RAMIREZ
ANALISIS Y DISEÑO POR VIENTO, DE EDIFICIOS ALTOS, SEGUN ASCE-2016, LAURA RAMIREZ
gustavoiashalom
 

Último (20)

Desigualdades e inecuaciones-convertido.pdf
Desigualdades e inecuaciones-convertido.pdfDesigualdades e inecuaciones-convertido.pdf
Desigualdades e inecuaciones-convertido.pdf
 
nomenclatura de equipo electrico en subestaciones
nomenclatura de equipo electrico en subestacionesnomenclatura de equipo electrico en subestaciones
nomenclatura de equipo electrico en subestaciones
 
422382393-Curso-de-Tableros-Electricos.pptx
422382393-Curso-de-Tableros-Electricos.pptx422382393-Curso-de-Tableros-Electricos.pptx
422382393-Curso-de-Tableros-Electricos.pptx
 
Minería convencional: datos importantes y conceptos
Minería convencional: datos importantes y conceptosMinería convencional: datos importantes y conceptos
Minería convencional: datos importantes y conceptos
 
Tippens fisica 7eDIAPOSITIVAS TIPENS Tippens_fisica_7e_diapositivas_33.ppt
Tippens fisica 7eDIAPOSITIVAS TIPENS Tippens_fisica_7e_diapositivas_33.pptTippens fisica 7eDIAPOSITIVAS TIPENS Tippens_fisica_7e_diapositivas_33.ppt
Tippens fisica 7eDIAPOSITIVAS TIPENS Tippens_fisica_7e_diapositivas_33.ppt
 
QUIMICA GENERAL UNIVERSIDAD TECNOLOGICA DEL PERU
QUIMICA GENERAL UNIVERSIDAD TECNOLOGICA DEL PERUQUIMICA GENERAL UNIVERSIDAD TECNOLOGICA DEL PERU
QUIMICA GENERAL UNIVERSIDAD TECNOLOGICA DEL PERU
 
LA APLICACIÓN DE LAS PROPIEDADES TEXTUALES A LOS TEXTOS.pdf
LA APLICACIÓN DE LAS PROPIEDADES TEXTUALES A LOS TEXTOS.pdfLA APLICACIÓN DE LAS PROPIEDADES TEXTUALES A LOS TEXTOS.pdf
LA APLICACIÓN DE LAS PROPIEDADES TEXTUALES A LOS TEXTOS.pdf
 
tesis maíz univesidad catolica santa maria
tesis maíz univesidad catolica santa mariatesis maíz univesidad catolica santa maria
tesis maíz univesidad catolica santa maria
 
TIPOS DE SOPORTES - CLASIFICACION IG.pdf
TIPOS DE SOPORTES - CLASIFICACION IG.pdfTIPOS DE SOPORTES - CLASIFICACION IG.pdf
TIPOS DE SOPORTES - CLASIFICACION IG.pdf
 
Propuesta para la creación de un Centro de Innovación para la Refundación ...
Propuesta para la creación de un Centro de Innovación para la Refundación ...Propuesta para la creación de un Centro de Innovación para la Refundación ...
Propuesta para la creación de un Centro de Innovación para la Refundación ...
 
ANALISIS Y DISEÑO POR VIENTO, DE EDIFICIOS ALTOS, SEGUN ASCE-2016, LAURA RAMIREZ
ANALISIS Y DISEÑO POR VIENTO, DE EDIFICIOS ALTOS, SEGUN ASCE-2016, LAURA RAMIREZANALISIS Y DISEÑO POR VIENTO, DE EDIFICIOS ALTOS, SEGUN ASCE-2016, LAURA RAMIREZ
ANALISIS Y DISEÑO POR VIENTO, DE EDIFICIOS ALTOS, SEGUN ASCE-2016, LAURA RAMIREZ
 
“Análisis comparativo de viscosidad entre los fluidos de yogurt natural, acei...
“Análisis comparativo de viscosidad entre los fluidos de yogurt natural, acei...“Análisis comparativo de viscosidad entre los fluidos de yogurt natural, acei...
“Análisis comparativo de viscosidad entre los fluidos de yogurt natural, acei...
 
Lineamientos del Plan Oferta y Demanda sesión 5
Lineamientos del Plan Oferta y Demanda sesión 5Lineamientos del Plan Oferta y Demanda sesión 5
Lineamientos del Plan Oferta y Demanda sesión 5
 
Tabla de referentes empíricos para tesis-1.docx
Tabla de referentes empíricos para tesis-1.docxTabla de referentes empíricos para tesis-1.docx
Tabla de referentes empíricos para tesis-1.docx
 
ESPECIFICACIONES TECNICAS COMPLEJO DEPORTIVO
ESPECIFICACIONES TECNICAS COMPLEJO DEPORTIVOESPECIFICACIONES TECNICAS COMPLEJO DEPORTIVO
ESPECIFICACIONES TECNICAS COMPLEJO DEPORTIVO
 
Resistencia-a-los-antimicrobianos--laboratorio-al-cuidado-del-paciente_Marcel...
Resistencia-a-los-antimicrobianos--laboratorio-al-cuidado-del-paciente_Marcel...Resistencia-a-los-antimicrobianos--laboratorio-al-cuidado-del-paciente_Marcel...
Resistencia-a-los-antimicrobianos--laboratorio-al-cuidado-del-paciente_Marcel...
 
Sistema de lubricación para motores de combustión interna
Sistema de lubricación para motores de combustión internaSistema de lubricación para motores de combustión interna
Sistema de lubricación para motores de combustión interna
 
27311861-Cuencas-sedimentarias-en-Colombia.ppt
27311861-Cuencas-sedimentarias-en-Colombia.ppt27311861-Cuencas-sedimentarias-en-Colombia.ppt
27311861-Cuencas-sedimentarias-en-Colombia.ppt
 
CONEXIONES SERIE, PERALELO EN MÓDULOS FOTOVOLTAICOS.pdf
CONEXIONES SERIE, PERALELO EN MÓDULOS FOTOVOLTAICOS.pdfCONEXIONES SERIE, PERALELO EN MÓDULOS FOTOVOLTAICOS.pdf
CONEXIONES SERIE, PERALELO EN MÓDULOS FOTOVOLTAICOS.pdf
 
Sistemas de Ecuaciones no lineales-1.pptx
Sistemas de Ecuaciones no lineales-1.pptxSistemas de Ecuaciones no lineales-1.pptx
Sistemas de Ecuaciones no lineales-1.pptx
 

Programación de un PIC con Niple

  • 1. 8/ Programación de un PIC con NIPLE En el momento actual, la electrónica utiliza microcontroladores y microprocesadores de todo tipo en profusión. Ud. en este momento está leyendo en una PC que tiene seguramente uno de los microprocesadores masivos de mayor tamaño y con una enorme cantidad de patas. Pero también existen microcontroladores de pequeño tamaño y muy fáciles de programar, que han revolucionado la electrónica por su bajo precio. Entre estos últimos se destacan como los mas económicos, los microcontroladores de la serie PIC de microchips. Y entre ellos se encuentra aquel que es líder en el rubro economía el PIC12F629 de tan solo 8 patas y cuyo costo es de aproximadamente 2 U$S. Si Ud. se pregunta que puede hacer este micro de tan bajo precio yo le contesto que puede cumplir múltiples funciones que aun no podemos evaluar en su totalidad, pero que con el tiempo iremos conociendo poco a poco. Como al autor le gusta enseñar construyendo dispositivos y no solo con teoría escrita sobre papeles, vamos a construir el primer dispositivo de nuestro curso que es un generador de RF modulado en AM, para la banda de OL que cubre las frecuencias de radio de 530 KHz a 1610 KHz. Pero lo vamos a hacer explicado, de modo que el lector pueda utilizarlo para otras bandas de frecuencias y otras funciones similares. Al terminar la lectura de esta lección Ud. sabrá qué es un microprocesador y cómo se utiliza. Pero hasta el menos versado sabe que un microprocesador requiere un programa; si Ud. compra una PC y no le carga ni siquiera el sistema operativo, no podrá hacer nada con ella. El PIC no es la excepción y parecería que allí se acaban nuestras ilusiones de explicar que es un microprocesador. Sin embargo no es así. Cuando les dije a mis alumnos que nuestro curso básico de electrónica incluía laboratorios virtuales y la programación de microcontroladores, no estaba mintiendo; ya hicimos buen uso de los laboratorios virtuales y creo que los alumnos ya les están perdiendo el miedo poco a poco y los están reconociendo como una enorme y didáctica ayuda. Ahora le toca el turno a la otra promesa. En esta lección vamos a aprender a programar. Hasta hace algunos años los PICs se programaban en “asembler” que es el idioma básico o nativo de esos microcontroladores. Programar de ese modo requiere todo un largo aprendizaje y una ardua tarea a la antigua, o casi a la antigua. Había que escribir sentencias muy complejas y una simple coma mal puesta podía ser un dolor de cabeza para el programador. Hasta que un grupo de profesionales de la Argentina creó un programa llamado NIPLE que resuelve el problema en forma gráfica. Ud. sólo elige diferentes iconos, que representan las diferentes operaciones que realiza el PIC, el resto lo realiza el NIPLE como una tarea de fondo entregando el programa en “Asembler” sin ningún esfuerzo para el programador y sin errores de ningún tipo. ¿Qué debe generar el PIC? Nuestro PIC tiene una tarea sencilla adecuada para aprender a usarlo. Debe generar en una de sus patas de salida una señal rectangular con un 50% de tiempo de actividad (cuadrada) de una frecuencia de 2 KHz. La amplitud de esta señal no puede ser elegida, ya que en un pata de salida del micro solo pueden existir señales que tengan la misma amplitud que su fuente de alimentación y el PIC que estamos usando se alimenta con 5V. Es decir que generaremos una señal de 5V durante 250 uS y de 0 V durante otros 250 uS para completar un periodo de 500 uS. De este modo generamos una señal de audio de 2 KHz ya que la inversa de 500 uS es 1/500.10-6 = 0,002.106 = 2.000 Hz o 2 KHz.
  • 2. El PIC12F629 tiene solo 8 patas, pero es un microprocesador completo con todas las de la ley y tiene una capacidad de memoria igual a la de su hermano mayor de 18 patas el 16F84A o su versión mas moderna 16F621 que es el mas conocido de la línea de Microchip. Es evidente que con 8 patas en total y dada la necesidad de poseer una pata para fuente y otra para masa solo le restarían 6 patas activas para realizar su trabajo. Pero los microcontroladores comunes necesitan emplear tres patas mas para dos funciones imprescindibles para ellos y que pasamos a explicar. Función de RESET Esta palabra (que podría traducirse literalmente como restauración) se utiliza directamente en Español ya que la ciencia informática la ha adoptado definitivamente. Un microprocesador sigue un programa de trabajo. Y ese programa debe ser ejecutado desde el primer paso de programa hasta el último, en un orden predeterminado comenzando siempre por el paso 1. Si se comienza por el medio del programa el resultado será catastrófico. Por eso los microcontroladores poseen una pata que se mantiene a nivel cero por algunos instantes de tiempo luego de aplicada la tensión de fuente. En esa condición el micro sabe que debe ir a leer el primer paso de programa y ejecutarlo, pasando luego por lo general al segundo y así sucesivamente. Pero esa función de reset puede realizarse internamente si se lo requiere en un micro con pocas patas. El 629 se puede programar para que realice esa función en forma automática liberando la pata de reset para que se pueda usar como pata de entrada. Función de CLOCK La mayoría de los microcontroladores requiere dos patas para utilizarlas en una función llamada “clock”. La traducción literal de esta palabra es “Reloj” pero los informáticos suelen usar directamente el termino en Inglés. La necesidad del clock es evidente. Si un micro es un dispositivo que sigue una serie de pasos de programa debemos decirle a que ritmo debe leer esos pasos. Ese ritmo se le puede dar con un circuito LC como el que vimos en la clase pasada y cuya frecuencia de trabajo era de 1 MHz (ritmo de 4 uS por paso de programa) a condición de que el circuito interno del micro se encargue de generar una señal excitando al circuito LC externo. Pero existe un componente electrónico llamado “cristal” que suplanta al circuito LC con una enorme precisión y que se utiliza junto con dos capacitores de pequeño valor para generar el clock de los micros. El 629 posee un oscilador interno que no requiere la conexión de un cristal externo. De ese modo esas patas quedan libres para ser usadas como entradas o salidas pero hay que aclarar que ese clock interno no tiene la precisión de un cristal. Como en nuestro caso no necesitamos que el tono de audio generado sea preciso haremos uso de esa facilidad de nuestro micro. También cabe mencionar que la base de tiempo interna esta fija en 4 MHz y que tiene una precisión del 1% dentro de un margen de temperatura de 0 a 70ºC; con esto el paso de programa dura 1 uS (siempre es la frecuencia del clock dividido 4). Puertos GP de I/O Con todo esto, salvo las patas de masa y fuente, las otras 6 pueden considerarse patas activas que la costumbre indica como patas del puerto (que en este integrado se llama puerto GP); y que son 5 de I/O y una de I solamente. Suponemos que Ud. no entendió la frase anterior porque pertenece al mundo informático, que estamos develando poco a poco. La palabra puerto se utiliza para indicar el lugar a donde llegan o desde donde parten la señales de un micro. Las patas son casi siempre de entrada o de salida debiendo indicarse dicha condición al principio del programa como un paso de programa mas. En Inglés se dice que son patas de I/O de Input que significa entrada y de Output que significa salida. En nuestro caso el puerto
  • 3. (el nombre de las patitas indicado por el fabricante) será GP0 (pata 7), GP1 (pata 6), GP2 (pata 5) etc hasta GP5 (pata 2) y todas son de I/O salvo GP3 (pata 4) que es de I solamente. En la figura 1 se puede observar la distribución de patas del 629 con todas sus variantes. Fig.1 Distribución de patas del 629 En nuestro caso solo requerimos una pata de salida, pero la explicación vale para el futuro donde realizaremos otros diseños de instrumental con este mismo micro. En nuestro caso usaremos la pata 7 (GP0) como salida, indicando que en esta pata se puede colocar una carga que tome hasta 25 mA o entregue hasta 20 mA. Dentro de estos consumos el fabricante garantiza que la pata de salida pasará al estado alto o bajo sin inconvenientes. Programación del PIC con NIPLE El programa de nuestro generador de señales rectangulares va a ser desarrollado con NIPLE 5.2 del cual se puede descargar un demo. Instale el demo y luego genere un icono de arranque. Al arrancar aparecerá una pantalla con solapas similar a cualquier programa de Windows. Haga archivo > nuevo proyecto y aparecerá la pantalla inicial para elegir el micro. Fig.2 Predisposición inicial Elija su idioma preferido entre Español, Ingles y Portugués y el micro 12F629 y pulse en crear. Aparecerá la pantalla para ponerle nombre al archivo y escribir un comentario del programa que se puede observar en la Fig. 3.
  • 4. Fig.3 Pantalla para nombrar el proyecto y comentar su uso Complete la pantalla, pulse crear y aparecerá la pantalla de trabajo donde va a crear el programa. Fig.4 Predisposición de puerto El orlado con los 6 puntos significa que el próximo bloque se va a conectar automáticamente al que acabamos de crear. Observe que la zona de trabajo ya posee un icono de inicio en donde el programa genera todos las sentencias de predisposición correspondientes al integrado en uso. Arriba a la derecha tenemos dos ventanas. Una correspondiente a la frecuencia de clock. Que como sabemos estará predeterminada porque el clock interno funciona solo a 4 MHz. Elegimos INT 4 MHz. La segunda ventana pregunta si vamos a usar una pata como reset, o si el reset será automático y producido internamente. Elegimos “interno”. Ahora comienza en realidad el programa que deseamos crear y comienza con la definición del puerto. En nuestro caso solo debemos buscar en la tabla de operaciones de la derecha abajo insertar> rutinas básicas > puerto > configuración de puerto y aparecerá la pantalla de la Fig. 5 con el layout completo del integrado en donde observamos que todas las patas están indicadas como salidas incluyendo la que nosotros necesitamos que es la GP0. Deje a las otras patas como salida aunque no las utilice en este proyecto. Es decir que solo debe pulsar “enter” y aparecerá el segundo icono del programa que se puede observar en la figura 6.
  • 5. Fig.5 Definición del puerto Fig.6 Icono de definición del puerto El icono verde con las dos flechas significa definición de puerto. Y la leyenda interna XXSSESSS indica como quedo definido el puerto. El ultimo carácter corresponde a GP0 y hacia la izquierda aparece GP1, GP2, etc hasta GP5 porque este micro no posee un puerto completo de 8 bits. La indicación XX significa que esos bits no están habilitados para ser predispuestos como I o como S. GP3 no puede elegirse, siempre es de entrada por definición, cuando esa pata se predispone para que no sea la de reset. Nuestro programa requiere que la pata GP0 esté 250 uS alta y 250 uS baja continuando con la oscilación hasta el infinito. Vamos a pasar primero la pata al estado alto ingresando a insertar > rutinas básicas > puerto > escribir en puerto, con lo cual aparece un cartel de aviso de que en esa parte del programa el puerto no esta predispuesto como salida ya que GP3 es una entrada. Haga caso omiso del aviso y siga adelante. Aparecerá una pantalla solicitando que aclare lo que desea hacer. Fig.7 Pantalla para escribir datos
  • 6. La opciones son escribir un valor literal o especifico en el puerto de salida o escribir un valor guardado en un registro. Elegimos la primer opción y se produce otra pantalla preguntándonos que “número desea colocar en el puerto” y con que notación. Elegimos notación binaria y colocamos el número 00000001 con lo cual la pata GP0 pasa al estado alto y todas las demás quedan en el estado bajo (las patas virtuales GP6 y GP7 se ponen en cero aunque sabemos que dichos bits no tienen como ser sacados del PIC. Fig.8 Escritura en un puerto Al pulsar en ingresar aparece el icono que indica que se envió el numero binario al puerto de salida y por lo tanto la pata GP0 pasó al estado alto. Fig. 9 Sacando un número binario por el puerto En este punto del programa necesitamos que el micro se quede detenido con GP0 en alto durante 250 uS. Y eso se logra con un temporizador por loop obtenido de la tabla de herramientas de la derecha haciendo insertar > rutinas básicas > temporizadores > tiempos por ciclos, para que aparezca una pantalla como la indicada en la figura siguiente.
  • 7. Fig.10 Deteniendo el programa por 250 uS. Al pulsar “Ingresar” aparece el icono del temporizador en el programa que estamos construyendo. Fig.11 Demora de 250 uS Al llegar a este punto vamos a acelerar las explicaciones porque el programa se vuelve repetitivo. Todo lo que nos queda por hacer es escribir 00000000 en el puerto de salida y realizar otra temporización de 250 uS. En la figura 12 se puede observar el programa terminado para realizar un solo ciclo de nuestra onda rectangular de salida. Fig.12 Programa para generar un solo ciclo Y en la figura 12 se puede observar el programa completo con repetición permanente del ciclo. Todo lo que se agregó es un línea del diagrama de flujo para que el control del programa de un salto hacia atrás. Esa línea de regreso se realiza orlando el ultimo icono y luego pulsando en su punto central y arrastrando hasta el icono de retorno.
  • 8. Fig.13 Programa final Como se puede observar la programación no puede ser mas sencilla ya que construir todo este programa puede haber llevado un tiempo de un par de minutos como mucho. Y además existe la posibilidad de modificarlo muy fácilmente editando los iconos y cambiando su contenido. Por ejemplo si Ud. quiere generar un tono de 1 KHz solo debe picar dos veces sobre cada temporizador para editarlo. Cuando aparece la pantalla del temporizador, ponga el nuevo tiempo y pulse en “ingresar”. Dejamos como un tarea para el lector la generación de una señal rectangular de 2 KHz con un 40% en alto y un 60% en bajo. Carga del PIC El Niple ya realizó nuestro programa, pero ¿Cómo se carga en el PIC? Es evidente que el programa está en la PC pero la PC no tiene zócalo para ubicar un PICs. Si queremos cargar un PIC debemos tener un dispositivo adecuado que haga de interfaz entre la PC y el PIC; ese dispositivo tiene tres nombres; de acuerdo al país de origen del alumno se lo conoce como programador, cargador o quemador de Pics. Un programador se conecta al puerto serie o paralelo de su PC (también existen programadores para puerto USB) y posee un zócalo que admite los diferentes PICs que existen en la actualidad, a saber de 8, 18 y 28 patas. El autor recomienda comprar un programador para puerto paralelo, debido a que dicho puerto por lo general está libre debido a que las impresoras ya no se conectan allí. Si Ud. sabe algo de PCs sabe que un dispositivo para la misma no sirve de nada sino posee el correspondiente programa para controlarlo. Nuestro programador utiliza un programa llamado ICprog que se consigue gratuito en la red. Cuando ingrese podrá comprobar que dicho programa es utilizado por 4 millones de personas en el mundo y por lo tanto podemos asegurar que es el elegido por los programadores de PICs. El instrumento completo Como el lector ya sabe nuestro curso básico de electrónica lo capacita para reparar radios de AM y FM. El instrumento que le estamos proponiendo hoy es un generador de AM que le servirá para iniciarse en la reparación de esas radios. En nuestro curso solo le pediremos que Ud posea las herramientas clásicas, un tester digital, un tester analógico y el generador de RF que le indicamos en la presente lección.
  • 9. Un generador de RF para AM debe emitir en diferentes frecuencias de radio. Mas adelante en este mismo curso vamos a indicarle que existe una frecuencia llamada de FI que generalmente es de 455 KHz y es imprescindible para ajustar una radio; luego existen otras dos frecuencias importantes que son los extremos de la banda de AM que en América son 530 y 1650 KHz. Por último se requieren tres frecuencias mas que sirven par observar el funcionamiento dentro de la banda y ajustar eventualmente el circuito de la radio en reparación y que son de 680, 950 y 1250 KHz. Hasta ahora nuestro generador de RF solo permitía emitir una sola frecuencia. Para realizar un instrumento versátil es necesario que tenga la posibilidad de emitir en toda la banda de AM. Esto posee dos alternativas; usar un inductor variable o un capacitor variable. Si bien los inductores variables existen los mismos no son aptos para lograr el cubrimiento completo de la banda de AM mas la de FI. En cambio los capacitores variables son los mas indicados en este caso, porque están fabricados para cubrir la banda de AM y un poco mas, permitiéndonos construir un dispositivo muy sencillo. En realidad el circuito completo que se puede observar en la figura14 no difiere mucho del propuesto en la lección anterior. Solo posee un capacitor variable de plástico para radios de AM y un capacitor fijo debajo de la bobina para adaptar la impedancia de salida, que es un parámetro de los componentes reactivos tal como lo explicaremos en la próxima entrega. Y por supuesto posee un PIC12F629 programado como generador de funciones para generar la modulación. Luego le explicaremos el uso de la SW2 y C4. Fig.14 Circuito final del generador de RF Nosotros conocemos hasta ahora todos los componentes de este circuito, salvo el inductor y capacitor variables (tienen una flecha cruzada). El inductor variable posee un conductor enrollado sobre un carretel de ferrite y una tapa cazoleta que lo cubre y puede tapar al carretel total o parcialmente ya que está montada sobre un dado de plástico roscado tal como puede observarse en la figura 15. Fig.15 Inductor variable con cazoleta roscada Esta disposición logra que el campo magnético generado por la bobina se cierre prácticamente por un camino de material concentrador del campo magnético como es el ferrite (hierro pulverizado mezclado con resina epoxi) pero dejando un espacio variable de aire para ajustar la inductancia de la bobina a su valor exacto. Este ajuste de la bobina se realiza cuando se prueba el circuito es decir que no es accesible al reparador una ves que el instrumento está terminado. El cambio de frecuencia se realiza con otro componente variable que es el capacitor C1. Este capacitor se conoce con el nombre de capacitor en tándem de plástico. Ese nombre tan extraño se debe a que esta dividido en dos secciones que se mueven en forma sincrónica ya que están montadas en un mismo eje. El eje tiene chapas semicirculares móviles que se pueden enfrentar con chapas fijas
  • 10. también semicirculares de acuerdo a la posición del eje. Cuando las chapas están totalmente enfrentadas, la capacidad es máxima y cuando no lo están es mínima. Antiguamente los tándens tenían dieléctrico de aire pero actualmente entre chapa y chapa existe una capa de polietileno que aumenta la capacidad y mantiene la aislación entre las chapas. Fig.16 Capacitor variable en tandem Observe que las dos secciones del capacitor tienen montados otros dos capacitores construidos con chapas semicirculares mas pequeñas en paralelo con las secciones mas grandes (no visibles en la foto). Esta sección llamada de los “trimmers” ajusta la capacidad mínima del tánden cuando está totalmente abierto ajustando los correspondientes tornillos. Así las cosas con el tánden cerrado debemos llegar a una frecuencia dada por la formula de Thomson de 400 KHz ajustable con la cazoleta de la bobina y con el tánden abierto a una frecuencia de 1700 KHz ajustable con los trimmers. Conclusiones En está lección entramos al mundo de los microprocesadores y de la programación de los mismos. Sabemos que es atípico hablar de microprocesadores cuando aun no explicamos el funcionamiento de los dispositivos activos como el diodo y el transistor. Pero el autor considera que se pueden diseñar dispositivos con microprocesadores sin tener ni siquiera una idea de su funcionamiento interior. Solo considerando al mismo como una caja negra con entradas y salidas y un programa que le indica que debe hacer con esas entradas para obtener las salidas. La prueba de este criterio la tenemos a la vista y la vamos a completar en las próximas entregas cuando encaremos prácticamente el armado de nuestro generador de RF o nuestro transmisor de telegrafía sin hilos que es lo mismo. También marcamos en esta lección otro importante hito. Diseñamos un programa para PIC en forma enteramente gráfica utilizando la herramienta mas moderna que se tenga noticia: el NIPLE. Este programa debe hacer sentir dichosos a todos nuestros compatriotas, porque casi sin medios se ha logrado realizar un programa extraordinario que ya se esta exportando a todo el mundo (prueba de ello es que se lo puede predisponer en tres idiomas diferentes, Español, Portugués e Inglés). Por supuesto que no todos están de acuerdo con un criterio tan avanzado. Uno de ellos escribe en Internet ….. “¿Porque no estoy de acuerdo con el uso del NIPLE?”…. Yo lo conozco y se la verdadera razón de su desacuerdo: Tiene miedo, un miedo terrible a quedarse sin trabajo, porque se gana la vida programando con los métodos antiguos. Yo considero que los programas los debe hacer un ingeniero en electrónica o un técnico con conocimientos de programación y nunca un programador con conocimientos de electrónica. La programación de microcontroladores así como el diseño electrónico de hoy están abiertos a todos. Si Ud. es un químico que quiere realizar un dispositivo electrónico que lo ayude en su profesión, puede estudiar electrónica con toda facilidad y realizar su propio dispositivo.
  • 11. Muy pronto vamos a comenzar a construir nuestra primer radio y va a ser algo muy parecido a una radio a galena. Descargas • Niple Versión 5.2 Demo • IC-Prog Prototype Programmer