You are on page 1of 42

iPROG18

Programador USB para Microcontroladores PIC’s

Manual de Usuario y Primeros Pasos

Versión 1.2.0.0
Febrero 2009

© ROSO Electric Supply


Teléfono (0241) 8426384 • Cel (0414) 4266490
www.roso-control.com • soporte@roso-control.com
ÍNDICE GENERAL

Pág.
CAPITULO 1
Introducción -
Requerimientos mínimos del PC 3
Características del iPROG18 4

CAPITULO 2
Instalación del Software 5

CAPITULO 3
Descripción del software iPROG 7
Barra general del menú 8
Herramientas 9
Restauración de configuración inicial 9
Menú de dispositivos Manual/Auto 10
Íconos de Información 12

CAPITULO 4
Dispositivos soportados 13
Microcontroladores gama Base y gama Media 13
Microcontroladores línea: PIC18F, PIC18FxJ y PIC24FJ 14
Microcontroladores línea: dsPIC30 y dsPIC33 15
Memorias EEprom bus I2C y Bus SPI 15
Conexiones entre los PIC’s®, Eeprom y el iPROG18 16
Otros microcontroladores con conexiones especiales 24

CAPITULO 5
Primeros Pasos 25
Conectando un microcontrolador para la programación ICSP 25

CAPITULO 6
UART/SCOPE 32
La herramienta UART en detalle 33
Resumen de pasos para la correcta visualización de datos mediante el UART 36
La herramienta SCOPE en detalle 37
Resumen de pasos para la correcta visualización de datos mediante el SCOPE 39
Utilizando SCOPE con números en punto flotante 40

CAPITULO 7
iBASE_01. Base de programación universal 42
Características 42
1
C
CAAPPIITTUULLO
O

I NNTTRRO
ODDU
UCCC
CIIÓ
ÓNN
El programador iPROG18, es un equipo pequeño pero de muy alta tecnología, con el
cual, podrá programar la totalidad de los microcontroladores PIC® de las diversas series
“FLASH” 10F/12F/16F/18F/18FxJ/24FxJ/24HJ/dsPIC30F/dsPIC33 y las memorias EEprom
de las series 24xC y 25xC. Ha sido diseñado para usted, procurando mantener un balance
adecuado entre prestaciones y costo con el objetivo de lograr un producto de alta calidad al
menor precio posible. Ya no tendrá que preocuparse más al momento de programar su
microcontrolador, pues el software que acompaña al programador (el iPROG) es
increíblemente estable y su uso es tan simple que lo sorprenderá. No importa si escribió sus
programas en ensamblador, C, Basic ó cualquier otro lenguaje; el software iPROG le permite
descargar al microcontrolador PIC® su código compilado *.hex en cuestión de segundos.

El propósito de este manual es:


• Presentar las características, potencialidades y ventajas del iPROG18.
• Guiarlo durante el proceso de instalación del software incluido en el CD-ROM.
• Suministrarle un conjunto de ejemplos e instrucciones de utilización que harán de su
experiencia con los programadores todo un éxito.

Antes de continuar, tomaremos un tiempo para revisar el contenido del material que
acompaña a su sistema:

• Un (1) Equipo de programación de microcontroladores PIC®, modelo iPROG18. D


• Un (1) CD ó DVD con programa de instalación, manuales y bibliografía anexa. D
• Un (1) Adaptador para protoboard 6P.D
• Un (1) Cable de programación USB A a mini USB 5P. D
• Un (1) CD ó DVD con ejemplos, compiladores y/o bibliografía anexa. D
• Un (1) Base de programación para PIC 8/14/18/20/28 y 40 Pines modelo iBASE. D

Requerimientos mínimos del computador.


• Procesador Pentium 266 MHz o superior.
• Memoria Ram 512 KByte.
• Espacio disponible HD 20 MBytes
• Unidad de CD ROM y/o DVD.
• Puerto de comunicaciones USB.
• Sistema Operativo Windows XP® y/o Vista®.

3
Características del iPROG18.
El programador iPROG18 se encuentra en continuo proceso de actualización por parte
del fabricante. Tanto el software como el hardware incluyen las últimas innovaciones para
proporcionar a usted una herramienta poderosa, sólida y bien construida, pensada para
resistir un trato duro y aún así brindar un acabado profesional. El iPROG18, permite ser
montado sobre un protoboard estándar, de esta forma, usted podrá armar y probar sus
circuitos electrónicos con comodidad. El programador no necesita ser alimentado con una
fuente de tensión externa, por el contrario; toma el voltaje de alimentación directamente del
puerto USB del computador. Usted podrá entonces, alimentar a sus circuitos electrónicos
directamente de la salida de voltaje del programador hasta 400 ma de carga por puerto USB
sin inconvenientes. Las dimensiones del programador son apenas de: 6.2 cm de longitud x
1.5 cm de ancho, del tamaño de un “Pen drive”, lo cual, lo convierte en el programador más
pequeño y completo del mercado.
La nueva versión del iPROG18,
incluye un selector de Voltaje
3.3/5.0 VDC. Ahora usted podrá
programar todos los micro -
controladores serie F de
Microchip.

Características generales del programador iPROG18:

1. Conector mini USB 5P.


2. Led bicolor (verde/rojo). Verde señaliza alimentación USB. Rojo la actividad del
programador en la lectura, programación y verificación del microcontrolador.
3. Microcontrolador PIC18F2550. Es el CPU del programador.
4. Resonador de 20 MHz. Puede venir con diferentes tipos de empaques.
5. Resistencias limitadoras de corriente y protección del programador.
6. Conector estándar de 6 Polos 0.1” de separación entre pines.
7. Regulador de voltaje del sistema de programación.
8. Selector de voltaje de operación 3.3 Vdc ó 5.0 Vdc, sólo disponible en hardware a
partir de la versión 1.2.0.0. ó superior.

Otras características:
• Se conectan a cualquier protoboard y/o a la base de programación iBASE_01 incluida.
• Capacidad para programar a los microcontroladores en circuito ICSP.
• Interfaz USB lista para conectar directamente al PC, drivers USB incluidos.
• No requieren de una fuente de poder externa ya que se alimenta del propio puerto
USB. Puede alimentar los circuitos conectados en el protoboard (hasta 400 mA).
• Totalmente compatible con los compiladores de Microchip™ MPLAB®,
Mikroelectronika®, Proteus™, Proton®, MBASIC®, CCS® y PBASIC® entre otros.
• El software es actualizable de forma gratuita. Las actualizaciones se descargan desde
Internet desde la web del fabricante. www.roso-control.com
• Versiones actuales del software son totalmente compatibles con el hardware anterior.

4
2
C
CAAPPIITTUULLO
O

I NNSSTTAALLAACCIIÓ
ÓNND
DEELL S O
OFFTTW
WAAR
REE
El iPROG18, se acompaña de un CD de instalación que contiene todos los elementos
necesarios para su utilización. La instalación del software es sencilla, con una interfaz para
Windows® muy amigable. Le agradecemos lea detenidamente las siguientes indicaciones antes
de continuar.

1 Introduzca el CD que acompaña al programador etiquetado como “iPROG” en la unidad


de CD-ROM ó DVD de su PC.
2 Si el programa de instalación no se inicia de forma automática, utilice el explorador de
Windows® y haga doble clic sobre el archivo “setup.exe”.
3 Siga las instrucciones en pantalla.

Figura 2.1. Vista principal del instalador del software iPROG.

5
4 Una vez instalado el programa, conecte el cable de programación al iPROG18 y
posteriormente al PC. En el iPROG18, el LED verde ubicado debajo del conector para el
cable USB deberá encender, de lo contrario, desconecte el cable de programación y
revise que no exista un cortocircuito en los terminales identificados como +5V y GND del
programador y el protoboard.

5 El computador le indicará que se ha detectado un nuevo hardware y automáticamente


instalará los controladores (“drivers”) como se muestra en la figura 2.2. Usted no tendrá
que instalar ningún “drivers”, como se dijo, esta actividad es desarrollada en forma
automática.

Figura 2.2. Instalación automática de controladores del iPROG.

Una vez concluida la instalación, dentro del Menú de inicio/Programas/iPROG, usted


encontrará acceso directo a los siguientes archivos:
• Programa ejecutable iPROG.exe , se mostrará también en el escritorio.
• Archivo de texto léeme con indicaciones importantes acerca de dispositivos soportados.
• Manual_Usuario, manual del usuario en formato *.pdf.

Figura 2.3. Accesos directos al programa iPROG desde el menú principal de Windows®.

Nota. La versión más actualizada del entorno de programación se encuentra en Internet en la


dirección www.roso-control.com. Las nuevas versiones incorporan mejoras en la presentación del
programa y la actualización de la lista de microcontroladores PIC®. A medida que el fabricante
dispone de nuevos microcontroladores, se hace necesario que usted consulte la actualización del
programa.

La versión 1.2.0.0. incluye entre otras, la posibilidad de trabajar a los microcontroladores PIC®
en voltajes de 3.3 VDC y 5.0 VDC, lo que implica que podrá ahora programar los
microcontroladores tipo PIC18Jx de bajo voltaje, los PIC24J y H y los dsPIC33 que trabajan a 3.3.
Volt DC. Más adelante se detalla la lista completa de microcontroladores soportados por el
programador.

6
3
C
CAAPPIITTUULLO
O

D EESSCCRRIIPPCCIIÓ
ÓNND
DEELL S
SOOFFTTW
WAAR
REE
La pantalla principal del programa iPROG, se presenta en la figura 3.1.

Figura 3.1. Vista general del programa iPROG.exe

7
1. Barra de identificación, minimizar y maximizar el programa iPROG.
2. Menú principal del programa, se encuentran disponibles las siguientes opciones:
a. Archivo. Para realizar operaciones de importar y exportar archivos *.hex.

Importar Archivo *.hex: Importa el contenido de un archivo *.hex al iPROG.


Exportar Archivo *.hex: Exporta el contenido del iPROG a un archivo *.hex.
Salir: Termina la ejecución del programa.

b. Dispositivo. Selecciona la gama del PIC® y/o memorias EEprom a Seleccionar.

c. iPROG. Operaciones básicas de lectura, escritura y verificación del PIC®.

Permite la realización de las operaciones básicas del programador


tales como: Leer, escribir, verificar y borrar el dispositivo. Cuando
se selecciona “Verificar al escribir”, se realiza la verificación de la
escritura en forma automática.

8
d. Herramientas. Protección de códigos, velocidad, registros del OSC, tipo
programación y Menú de dispositivos Manual y/o automático.

Habilitar Protección Código:


Cuando selecciona ésta opción, el programador escribirá el programa en el PIC®,
de tal forma, que nadie podrá leer su contenido. Esto permitirá poner a buen
resguardo su trabajo, inversión y propiedad intelectual. Nadie podrá copiar
su programa.

Habilitar Protección Datos:


Cuando selecciona ésta opción, el programador escribirá el programa en el PIC®,
de tal forma, que nadie podrá leer el contenido de la memoria Eeprom.

Ajustar OSCCAL:
Permite configurar el registro interno OSCCAL que poseen algunos PIC®, tales
como, los microcontroladores de la gama baja.

Restaurar Configuración Inicial:


Aunque existe muy poca probabilidad de que el programador pierda el sistema
operativo, en algunas ocasiones y debido a una mala operación u operación
indebida por parte del usuario como conexión y desconexión inadecuada del puerto
USB, desconexión del programador (en funcionamiento) del puerto USB de manera
abrupta; puede perderse el sistema operativo del programador. Cuando ello ocurre,
el LED bicolor encenderá de color verde en forma continua y de color rojo en forma
intermitente. El software iPROG incluye un algoritmo de detección de fallas, el cual,
discrimina en forma autónoma cuando el programador requiere la carga de su
sistema operativo con los valores iniciales cargados en fábrica. En la siguiente
figura se muestra el mensaje que le presentará el programa iPROG antes de
realizar la carga del sistema operativo.

Si este mensaje es visualizado, tendrá que ejecutar la opción “Restaurar


Configuración Inicial”, la cual, se encuentra en el menú principal, opción
Herramientas. Es importante hacer notar, de que esta opción se encuentra
inhabilitada a menos de que el software detecte un mal funcionamiento del
programador, en cuyo caso, habilitará la opción de restaurar la configuración inicial.
El proceso de carga del sistema operativo en firmware, se realiza en forma
automática, si por algún motivo el programador está imposibilitado para recibir el
sistema operativo, deberá consultar al fabricante: www.roso-control.com

9
Programación Rápida:
Permite seleccionar la velocidad de escritura en el PIC® (alta o baja). ¿Para qué?.
Normalmente cuando se programa un PIC® en forma ICSP, los pines (PGD y
PGC) del microcontrolador se conectan solamente al programador y se
puede utilizar máxima velocidad de programación sin presentarse ningún incon_
teniente. Sin embargo, si existe alguna carga conectada en esos pines tales
como: LED indicadores, bobinas, contactos e incluso si el pin del PIC® está
siendo utilizado como entrada de señales; existe la posibilidad de que la
programación a alta velocidad no pueda programar al PIC® en forma correcta,
en tal caso; se deberá utilizar la programación a baja velocidad, la cual, con_
sume más tiempo, pero es más tolerante a las cargas conectadas a los pines
(PGD y PGC) del microcontrolador, al momento de su programación.

Menú de dispositivos Manual/Auto:


Cuando se ejecuta el programa bajo la modalidad automática el programa
funcionará, tal cual, las versiones anteriores a la 1.2.0.0. Lo que significa, que
todo microcontrolador conectado al programador será automáticamente
reconocido. Por el contrario, si la opción elegida es la manual, el programa iPROG
desplegará una lista de todos los microcontroladores disponibles en ésta versión
para su programación. Esta nueva adecuación, permitirá en futuras versiones
construir una base de programación universal de 40 pines del tipo ZIF, donde
todos los microcontroladores, no importando su empaque, se podrán programar
con la misma base y en una única posición. Esto facilitará enormemente la
programación de los microcontroladores.

e. UART/SCOPE.
Sin duda, la incorporación de un UART/SCOPE se traduce en innumerables
beneficios para el usuario. Para aquellas personas que desconocen su significado
el UART/SCOPE se puede definir como un módulo de interfaz hombre máquina, lo
cual, en palabras simples permite la visualización de datos del programa en forma
de texto (UART) o en forma Gráfica (SCOPE). Existe un capítulo completo donde
se desarrolla el tema del UART/SCOPE al igual, se presentan diversos ejemplos
para su utilización.

e. Ayuda. Archivos de ayuda disponibles.

10
3. Información relacionada con el microcontrolador
utilizado, No. del dispositivo, familia a la cual
pertenece (Gama baja, Gama Alta, PIC18F, dsPIC30
y/o EEPROMS), identificación del dispositivo,
BandGap y Oscal, Checksum y configuración del
dispositivo.

Esta información es muy importante para la


depuración de un programa, debido a que se
pueden leer la configuración de todos los
registros internos de configuración (Fuses) .

4. Barra de progreso de la operación en curso en porcentaje del total de su duración.


5. Operaciones básicas del programador, tales como: lectura, escritura y verificación de la
programación, /MCLR: coloca el pin del microcontrolador denominado “master clear” en
estado activo.
6. Voltaje Vdd. Muestra en tiempo real el voltaje de alimentación del puerto USB del
computador. Su valor deberá ser 5 VDC ± 10%.
7. Voltaje Vpp. Muestra en tiempo real el voltaje del convertidor DC-DC utilizado para la
programación de la memoria FLASH de los microcontroladores y/o Memorias Eeprom.
Su valor deberá ser 12 VDC ± 10%.
8. Reset. Al presionar éste botón se producirá un reset general e inicialización del
programador iPROG18.
9. Memoria de Programa: Permite visualizar y editar el contenido de la memoria de
programa o memoria Flash en el microcontrolador y/o memoria Eeprom en las
memorias del tipo 24xC y 25xC.

10. Memoria de Datos: Permite visualizar y editar el contenido de la memoria Eeprom de los
microcontroladores PIC®.

11. Iconos de Información: Se utilizan como elementos de animación e información sobre


cada una de las tareas completadas por el programador. Los íconos más importantes
son mostrados a continuación.

11
12. Barra de estado e información: Es una barra especializada que muestra información
sobre la operación del programador. En esta barra usted encontrará una información
detallada acerca de los procesos realizados: lectura, escritura y verificación de la
programación. Al mismo tiempo, se muestran algunos mensajes como se observa en la
siguiente figuras, entre otros:

12
4
C
CAAPPIITTUULLO
O

D IISSPPO
OSSIITTIIV
VO S SO
OS OPPO
ORRTTA
ADDO
OSS

El software iPROG es completamente actualizable en forma gratuita a través de nuestra página


web: www.roso-control.com. Actualmente, el programa soporta los siguientes microcontroladores
PIC® y memorias EEprom.

Programador : iPROG18
Versión : 1.2.0.0.
Fecha : Febrero 2009
O.S. : Windows Xp®, Vista®
PDF : Manual_Usuario.pdf
PDF : Leeme
Revisión : J. Rodríguez.

MICROCONTROLADORES LÍNEA: Gama Base


iPROG18 con selector de Voltaje = 5.0 VDC

PIC10F200 PIC10F202 PIC10F204 PIC10F206 PIC10F220


PIC10F222 PIC12F508 PIC12F509 PIC12F510 PIC12F519
PIC16F505 PIC16F506 PIC16F526 PIC16F54 PIC16F57
PIC16F59

MICROCONTROLADORES LÍNEA: Gama Media


iPROG18 con selector de Voltaje = 5.0 VDC

PIC12F609 PIC12HV609 PIC12F615 PIC12HV615 PIC12F629


PIC12F635 PIC12F675 PIC12F683 PIC16F610 PIC16HV610
PIC16F616 PIC16HV616 PIC16F627 PIC16F627A PIC16F628
PIC16F628A PIC16F630 PIC16F631 PIC16F636 PIC16F639
PIC16F648A PIC16F676 PIC16F677 PIC16F684 PIC16F685
PIC16F687 PIC16F688 PIC16F689 PIC16F690 PIC16F72
PIC16F73 PIC16F74 PIC16F76 PIC16F77 PIC16F716
PIC16F737 PIC16F747 PIC16F767 PIC16F777 PIC16F785
PIC16HV785 PIC16F84A PIC16F87 PIC16F88 PIC16F818
PIC16F819 PIC16F870 PIC16F871 PIC16F872 PIC16F873
PIC16F873A PIC16F874 PIC16F874A PIC16F876 PIC16F876A
PIC16F877 PIC16F877A PIC16F882 PIC16F883 PIC16F884
PIC16F886 PIC16F887 PIC16F913 PIC16F914 PIC16F916
PIC16F917 PIC16F946

13
MICROCONTROLADORES LÍNEA: PIC18F
iPROG18 con selector de Voltaje = 5.0 VDC

PIC18F242 PIC18F248 PIC18F252 PIC18F258 PIC18F442


PIC18F448 PIC18F452 PIC18F458 PIC18F1220 PIC18F1230
PIC18F1320 PIC18F1330 PIC18F2220 PIC18F2221 PIC18F2320
PIC18F2321 PIC18F2331 PIC18F2410 PIC18F2420 PIC18F2423
PIC18F2431 PIC18F2450 PIC18F2455 PIC18F2458 PIC18F2480
PIC18F2510 PIC18F2515 PIC18F2520 PIC18F2523 PIC18F2525
PIC18F2550 PIC18F2553 PIC18F2580 PIC18F2585 PIC18F2610
PIC18F2620 PIC18F2680 PIC18F2682 PIC18F2685 PIC18F2685
PIC18F4220 PIC18F4221 PIC18F4320 PIC18F4321 PIC18F4331
PIC18F4410 PIC18F4420 PIC18F4423 PIC18F4431 PIC18F4450
PIC18F4455 PIC18F4458 PIC18F4480 PIC18F4510 PIC18F4515
PIC18F4520 PIC18F4523 PIC18F4525 PIC18F4550 PIC18F4553
PIC18F4580 PIC18F4585 PIC18F4610 PIC18F4620 PIC18F4680
PIC18F4682 PIC18F4685 PIC18F6310 PIC18F6390 PIC18F6393
PIC18F6410 PIC18F6490 PIC18F6493 PIC18F6520 PIC18F6525
PIC18F6527 PIC18F6585 PIC18F6620 PIC18F6621 PIC18F6622
PIC18F6627 PIC18F6628 PIC18F6680 PIC18F6720 PIC18F6722
PIC18F6723 PIC18F8310 PIC18F8390 PIC18F8393 PIC18F8410
PIC18F8490 PIC18F8493 PIC18F8520 PIC18F8525 PIC18F8527
PIC18F8585 PIC18F8620 PIC18F8621 PIC18F8622 PIC18F8627
PIC18F8628 PIC18F8680 PIC18F8720 PIC18F8722 PIC18F8723

MICROCONTROLADORES LÍNEA: PIC18FxJ


iPROG18 con selector de Voltaje = 3.3 VDC

PIC18F24J10 PIC18LF24J10 PIC18F25J10 PIC18LF25J10 PIC18F44J10


PIC18LF44J10 PIC18F45J10 PIC18LF45J10 PIC18F63J11 PIC18F63J90
PIC18F64J11 PIC18F64J90 PIC18F65J10 PIC18F65J11 PIC18F65J15
PIC18F65J50 PIC18F65J90 PIC18F66J10 PIC18F66J11 PIC18F66J15
PIC18F66J16 PIC18F66J50 PIC18F66J55 PIC18J66J60 PIC18F66J65
PIC18F67J10 PIC18F67J11 PIC18F67J50 PIC18F67J60 PIC18F83J11
PIC18F83J90 PIC16F84J11 PIC18F84J90 PIC18F85J10 PIC16F85J11
PIC18F85J15 PIC18F85J50 PIC18F85J90 PIC18F86J10 PIC18F86J11
PIC18F86J15 PIC18F86J16 PIC18F86J50 PIC18F86J55 PIC18F86J60
PIC18F86J65 PIC18F87J10 PIC18F87J11 PIC18F87J50 PIC18F87J60
PIC18F96J60 PIC18F96J65 PIC18F97J60

MICROCONTROLADORES LÍNEA: PIC24FJ


iPROG18 con selector de Voltaje = 3.3 VDC

PIC24FJ16GA002 PIC24FJ16GA004 PIC24FJ32GA002 PIC24FJ32GA004 PIC24FJ48GA002


PIC24FJ48GA004 PIC24FJ64GA002 PIC24FJ64GA004 PIC24FJ64GA006 PIC24FJ64GA008
PIC24FJ64GA010 PIC24FJ96GA006 PIC24FJ96GA008 PIC24FJ96GA010 PIC24FJ128GA006
PIC24FJ128GA008 PIC24FJ128GA010

14
MICROCONTROLADORES LÍNEA: PIC24HJ
iPROG18 con selector de Voltaje = 3.3 VDC

PIC24HJ12GP201 PIC24HJ12GP202 PIC24HJ16GP304 PIC24HJ32GP202 PIC24HJ32GP204


PIC24HJ64GP206 PIC24HJ64GP210 PIC24HJ64GP506 PIC24HJ64GP510 PIC24HJ128GP206
PIC24HJ128GP210 PIC24HJ128GP306 PIC24HJ128GP310 PIC24HJ128GP506 PIC24HJ128GP510
PIC24HJ256GP206 PIC24HJ256GP210 PIC24HJ256GP610

MICROCONTROLADORES LÍNEA: dsPIC30


iPROG18 con selector de Voltaje = 5.0 VDC

dsPIC30F2010 dsPIC30F2011 dsPIC30F2012 dsPIC30F3010 dsPIC30F3011


dsPIC30F3012 dsPIC30F3013 dsPIC30F3014 dsPIC30F4011 dsPIC30F4012
dsPIC30F4013 dsPIC30F5011 dsPIC30F5013 dsPIC30F5015 dsPIC30F5016
dsPIC30F6010A dsPIC30F6011A dsPIC30F6012A dsPIC30F6013A dsPIC30F6014A
dsPIC30F6015

MICROCONTROLADORES LÍNEA: dsPIC33


iPROG18 con selector de Voltaje = 3.3 VDC

dsPIC33FJ12GP201 dsPIC33FJ12GP202 dsPIC33FJ16GP304 dsPIC33FJ32GP202


dsPIC33FJ32GP204 dsPIC33FJ64GP206 dsPIC33FJ64GP306 dsPIC33FJ64GP310
dsPIC33FJ64GP706 dsPIC33FJ64GP708 dsPIC33FJ64GP710 dsPIC33FJ128GP206
dsPIC33FJ128GP306 dsPIC33FJ128GP310 dsPIC33FJ128GP706 dsPIC33FJ128GP708
dsPIC33FJ128GP710 dsPIC33FJ256GP506 dsPIC33FJ256GP510 dsPIC33FJ256GP710
dsPIC33FJ12MC201 dsPIC33FJ12MC202 dsPIC33FJ16MC304 dsPIC33FJ32MC202
dsPIC33FJ32MC204 dsPIC33FJ64MC506 dsPIC33FJ64MC508 dsPIC33FJ64MC510
dsPIC33FJ64MC706 dsPIC33FJ64MC710 dsPIC33FJ128MC506 dsPIC33FJ128MC510
dsPIC33FJ128MC706 dsPIC33FJ128MC708 dsPIC33FJ128MC710 dsPIC33FJ256MC510
dsPIC33FJ256MC710

MEMORIAS SERIALES EEPROM: BUS I2C


iPROG18 con selector de Voltaje = 3.3 VDC y/o 5.0 VDC dependiendo del tipo de memoria eeprom

24LC00 24LC01B 24LC02B 24LC04B 24LC08B


24LC16B 24LC32A 24LC64 24LC128 24LC256
24LC512 24LC1025

MEMORIAS SERIALES EEPROM: BUS SPI


iPROG18 con selector de Voltaje = 3.3 VDC y/o 5.0 VDC dependiendo del tipo de memoria eeprom

25LC010A 25LC020A 25LC040A 25LC080A 25LC080B


25LC160A 25LC160B 25LC320A 25LC128 25LC256
25LC512 25LC640A 25LC1024

Nota: Aquellos programadores iPROG18 anteriores a la versión 1.2.0.0, sólo podrán programar
los microcontroladores en 5.0 VDC. Todas las demás funcionalidades del programa estarán
disponibles incluyendo: La restauración inicial y las herramientas UART/SCOPE.

15
Conexiones entre los PIC’s, Eeprom y el iPROG18
Dependiendo del modelo del microcontrolador PIC®, existirá una conexión posible entre sus
pines y los del programador. En general cada gama ó familia de microcontroladores tiene su
propio esquema de conexión, el cual, difiere de familia en familia y en base al número de pines del
empaque del microcontrolador PIC®. Por ello, se deberá consultar la hoja de especificaciones de
cada PIC® en particular a fin de identificar cuales son los pines de alimentación (Vdd, Vss),
master clear (/MCL) y de programación (PGD, PGC). En general se puede tomar como referencia
las conexiones que se presentan a continuación:

PIC’S DE 8 PINES MODELOS PIC10Fxxx


iPROG18 con selector de Voltaje = 5.0 VDC

Conexiones:
----------------------------------- Microcontroladores que comparten ésta
iPROG18 Pin PIC10F Pin conexión:
-----------------------------------
(1) /MCLR (8) /MCLR PIC10F200
(2) VDD (2) VDD
PIC10F202
(3) VSS (7) VSS
PIC10F204
(4) PGD (5) PGD
(5) PGC (4) PGC PIC10F206
(6) AUX PIC10F220
PIC10F222
Base de Conexión: iBASE-01
Posición: Base 10Fxxx

PIC’S DE 8 PINES MODELOS PIC12Fxxx


iPROG18 con selector de Voltaje = 5.0 VDC

Conexiones:
----------------------------------- Microcontroladores que comparten ésta
iPROG18 Pin PIC12F Pin conexión:
-----------------------------------
(1) /MCLR (4) /MCLR PIC12F508 PIC12F509
(2) VDD (1) VDD
PIC12F510 PIC12F519
(3) VSS (8) VSS
PIC12F609 PIC12F615
(4) PGD (7) PGD
(5) PGC (6) PGC PIC12F629 PIC12F635
(6) AUX PIC12F675 PIC12F683

Base de Conexión: iBASE-01


Posición: Base 8/14/20

16
PIC’S DE 14 PINES MODELOS PIC16Fxxx
iPROG18 con selector de Voltaje = 5.0 VDC

Conexiones:
----------------------------------- Microcontroladores que comparten ésta
iPROG18 Pin PIC16F Pin conexión:
-----------------------------------
(1) /MCLR (4) /MCLR PIC16F505 PIC16F506
(2) VDD (1) VDD
PIC16F526 PIC16F610
(3) VSS (14) VSS
PIC16F616 PIC16F630
(4) PGD (13) PGD
(5) PGC (12) PGC PIC16F636 PIC16F676
(6) AUX PIC16F684 PIC16F688

Base de Conexión: iBASE-01


Posición: Base 8/14/20

PIC’S DE 18 PINES MODELOS PIC16Fxxx, PIC18Fxxx


iPROG18 con selector de Voltaje = 5.0 VDC

Conexiones:
----------------------------------- Microcontroladores que comparten ésta
iPROG18 Pin PIC16/18F Pin conexión:
-----------------------------------
(1) /MCLR (4) /MCLR PIC16F54 PIC16F627 PIC16F627A
(2) VDD (14) VDD
PIC16F628 PIC16F628A PIC16F648A
(3) VSS (5) VSS
PIC16F716 PIC16F84A PIC16F87
(4) PGD (13) PGD
(5) PGC (12) PGC PIC16F88 PIC16F818 PIC16F819
(6) AUX PIC18F1220 PIC18F1230 PIC18F1320
PIC18F1330
Base de Conexión: iBASE-01
Posición: Base 18 Pines

PIC’S DE 20 PINES MODELOS PIC16Fxxx


iPROG18 con selector de Voltaje = 5.0 VDC

Conexiones:
----------------------------------- Microcontroladores que comparten ésta
iPROG18 Pin PIC16/18F Pin conexión:
-----------------------------------
(1) /MCLR (4) /MCLR
(2) VDD (1) VDD
PIC16F631 PIC16F639 PIC16F677
(3) VSS (20) VSS
PIC16F685 PIC16F687 PIC16F689
(4) PGD (19) PGD
(5) PGC (18) PGC PIC16F690 PIC16F785
(6) AUX

Base de Conexión: iBASE-01


Posición: Base 8/14/20

17
PIC DE 28 PINES MODELOS PIC16Fxxx, PIC18Fxxx
iPROG18 con selector de Voltaje = 5.0 VDC

Conexiones:
----------------------------------- Microcontroladores que comparten ésta
iPROG18 Pin PIC16/18F Pin conexión:
-----------------------------------
(1) /MCLR (1) /MCLR PIC16F72 PIC16F73 PIC16F76
(2) VDD (20) VDD
PIC16F737 PIC16F767 PIC16F870
(3) VSS (8/19) VSS
PIC16F871 PIC16F872 PIC16F873
(4) PGD (28) PGD
(5) PGC (27) PGC PIC16F873A PIC16F874 PIC16F874A
(6) AUX PIC16F876 PIC16F876A PIC16F882
PIC16F883 PIC16F886 PIC16F913
PIC16F916 PIC18F242 PIC18F248
PIC18F252 PIC18F258 PIC18F2220
PIC18F2221 PIC18F2320 PIC18F2321
PIC18F2331 PIC18F2410 PIC18F2420
PIC18F2423 PIC18F2431 PIC18F2450
PIC18F2455 PIC18F2458 PIC18F2480
PIC18F2510 PIC18F2515 PIC18F2520
PIC18F2523 PIC18F2525 PIC18F2550
PIC18F2553 PIC18F2580 PIC18F2585
PIC18F2610 PIC18F2620 PIC18F2680
Base de Conexión: iBASE-01
PIC18F2682 PIC18F2685
Posición: Base 28

PIC DE 28 PINES MODELOS PIC18FxJ


iPROG18 con selector de Voltaje = 3.3 VDC

Conexiones:
----------------------------------- Microcontroladores que comparten ésta
iPROG18 Pin PIC18FxJ Pin conexión:
-----------------------------------
(1) /MCLR (1) /MCLR PIC18F24J10
(2) VDD (20) VDD
PIC18LF24J10
(3) VSS (8/19) VSS
PIC18F25J10
(4) PGD (28) PGD
(5) PGC (27) PGC PIC18LF25J10
(6) AUX
*Nota: Recordar colocar Capacitor de 4.7uF
Base de Conexión: iBASE-01 entre el Pin No. 6 del Micro y GND. Voltaje
Posición: Base 28 Vcap/Vddcore.

18
PIC DE 40 PINES MODELOS PIC16Fxxx, PIC18Fxxx
iPROG18 con selector de Voltaje = 5.0 VDC

Conexiones:
----------------------------------- Microcontroladores que comparten ésta
iPROG18 Pin PIC16/18F Pin conexión:
-----------------------------------
(1) /MCLR (1) /MCLR PIC16F77 PIC16F747 PIC16F777
(2) VDD (11/32) VDD
PIC16F877 PIC16F877A PIC16F884
(3) VSS (12/31) VSS
PIC16F887 PIC16F914 PIC16F917
(4) PGD (40) PGD
(5) PGC (39) PGC PIC18F442 PIC18F448 PIC18F452
(6) AUX PIC18F458 PIC18F4220 PIC18F4221
PIC18F4320 PIC18F4321 PIC18F4331
PIC18F4410 PIC18F4420 PIC18F4423
PIC18F4431 PIC18F4450 PIC18F4455
PIC18F4458 PIC18F4480 PIC18F4510
PIC18F4515 PIC18F4520 PIC18F4523
PIC18F4525 PIC18F4550 PIC18F4553
PIC18F4580 PIC18F4585 PIC18F4610
PIC18F4620 PIC18F4680 PIC18F4682
Base de Conexión: iBASE-01 PIC18F4685
Posición: Base 40

PIC DE 40 PINES MODELOS PIC18FxJ


iPROG18 con selector de Voltaje = 3.3 VDC

Conexiones:
----------------------------------- Microcontroladores que comparten ésta
iPROG18 Pin PIC18FxJ Pin conexión:
-----------------------------------
(1) /MCLR (1) /MCLR PIC18F44J10
(2) VDD (11/32) VDD
PIC18LF44J10
(3) VSS (12/31) VSS
PIC18F45J10
(4) PGD (40) PGD
(5) PGC (39) PGC PIC18LF45J10
(6) AUX
*Nota: Recordar colocar Capacitor de 4.7uF
Base de Conexión: iBASE-01 entre el Pin No. 6 del Micro y GND. Voltaje
Posición: Base 40 Vcap/Vddcore.

19
PIC’S DE 18 PINES MODELOS PIC24HJ
iPROG18 con selector de Voltaje = 3.3 VDC

Conexiones:
----------------------------------- Microcontroladores que comparten ésta
iPROG18 Pin PIC24HJ Pin conexión:
-----------------------------------
(1) /MCLR (1) /MCLR
(2) VDD (18) VDD
PIC24HJ12GP201
(3) VSS (13/17) VSS
(4) PGD (4) PGD
(5) PGC (5) PGC *Nota: Recordar colocar Capacitor de 4.7uF
(6) AUX entre el Pin No. 14 del Micro y GND. Voltaje
Vcap/Vddcore.
Base de Conexión: N/A
Posición: N/A

PIC’S DE 28 PINES MODELOS PIC24HJ


iPROG18 con selector de Voltaje = 3.3 VDC

Conexiones:
----------------------------------- Microcontroladores que comparten ésta
iPROG18 Pin PIC24HJ Pin conexión:
-----------------------------------
(1) /MCLR (1) /MCLR PIC24HJ12GP202
(2) VDD (13) VDD
PIC24HJ32GP202
(3) VSS (8/19) VSS
(4) PGD (4) PGD
(5) PGC (5) PGC *Nota: Recordar colocar Capacitor de 4.7uF
(6) AUX entre el Pin No. 20 del Micro y GND. Voltaje
Vcap/Vddcore.
Base de Conexión: N/A
Posición: N/A

PIC DE 28 PINES MODELOS PIC24FJ


iPROG18 con selector de Voltaje = 3.3 VDC

Conexiones:
----------------------------------- Microcontroladores que comparten ésta
iPROG18 Pin PIC24FJ Pin conexión:
-----------------------------------
(1) /MCLR (1) /MCLR PIC24FJ16GA002
(2) VDD (13/28) VDD
PIC24FJ32GA002
(3) VSS (8/27) VSS
PIC24FJ48GA002
(4) PGD (4) PGD
(5) PGC (5) PGC PIC24FJ64GA002
(6) AUX
*Nota: Recordar colocar Capacitor de 4.7uF
Base de Conexión: N/A entre el Pin No. 20 del Micro y GND. Voltaje
Posición: N/A Vcap/Vddcore.

20
PIC’s DE 18 PINES MODELOS dsPIC30Fxxxx
iPROG18 con selector de Voltaje = 5.0 VDC

Conexiones:
----------------------------------- Microcontroladores que comparten ésta
iPROG18 Pin dsPIC30F Pin conexión:
-----------------------------------
(1) /MCLR (1) /MCLR dsPIC30F2011 dsPIC30F3012
(2) VDD (14) VDD
(3) VSS (13) VSS
(4) PGD (11) PGD
(5) PGC (12) PGC
(6) AUX

Base de Conexión: N/A


Posición: N/A

PIC’s DE 28 PINES MODELOS dsPIC30Fxxxx


iPROG18 con selector de Voltaje = 5.0 VDC

Conexiones:
----------------------------------- Microcontroladores que comparten ésta
iPROG18 Pin dsPIC30F Pin conexión:
-----------------------------------
(1) /MCLR (1) /MCLR dsPIC30F2012 dsPIC30F2020
(2) VDD (20) VDD
dsPIC30F3010 dsPIC30F3013
(3) VSS (8/19) VSS
dsPIC30F4012
(4) PGD (17) PGD
(5) PGC (18) PGC
(6) AUX

Base de Conexión: N/A


Posición: N/A

PIC’s DE 40 PINES MODELOS dsPIC30Fxxxx


iPROG18 con selector de Voltaje = 5.0 VDC

Conexiones:
----------------------------------- Microcontroladores que comparten ésta
iPROG18 Pin dsPIC30F Pin conexión:
-----------------------------------
(1) /MCLR (1) /MCLR
(2) VDD (11/21/32) VDD
dsPIC30F3011 dsPIC30F4011
(3) VSS (12/20/31) VSS
(4) PGD (25) PGD
(5) PGC (26) PGC
(6) AUX

Base de Conexión: N/A


Posición: N/A

21
PIC’s DE 18 PINES MODELOS dsPIC33Fxxxx
iPROG18 con selector de Voltaje = 3.3 VDC

Conexiones:
----------------------------------- Microcontroladores que comparten ésta
iPROG18 Pin dsPIC33F Pin conexión:
-----------------------------------
(1) /MCLR (1) /MCLR
(2) VDD (18) VDD
dsPIC33FJ12GP201
(3) VSS (13/17) VSS
(4) PGD (4) PGD
(5) PGC (5) PGC *Nota: Recordar colocar Capacitor de 4.7uF
(6) AUX entre el Pin No. 14 del Micro y GND. Voltaje
Vcap/Vddcore.
Base de Conexión: N/A
Posición: N/A

PIC’s DE 20 PINES MODELOS dsPIC33Fxxxx


iPROG18 con selector Voltaje = 3.3 VDC

Conexiones:
----------------------------------- Microcontroladores que comparten ésta
iPROG18 Pin dsPIC33F Pin conexión:
-----------------------------------
(1) /MCLR (1) /MCLR
(2) VDD (20) VDD
dsPIC33J12MC201
(3) VSS (6/19) VSS
(4) PGD (4) PGD
(5) PGC (5) PGC *Nota: Recordar colocar Capacitor de 4.7uF
(6) AUX entre el Pin No. 14 del Micro y GND. Voltaje
Vcap/Vddcore.
Base de Conexión: N/A
Posición: N/A

PIC’s DE 28 PINES MODELOS dsPIC33Fxxxx


iPROG18 con selector de Voltaje = 3.3 VDC

Conexiones:
----------------------------------- Microcontroladores que comparten ésta
iPROG18 Pin dsPIC33F Pin conexión:
-----------------------------------
(1) /MCLR (1) /MCLR dsPIC33FJ12GP202
(2) VDD (13) VDD
dsPIC33FJ12MC202
(3) VSS (8/19) VSS
(4) PGD (4) PGD
(5) PGC (5) PGC *Nota: Recordar colocar Capacitor de 4.7uF
(6) AUX entre el Pin No. 20 del Micro y GND. Voltaje
Vcap/Vddcore.
Base de Conexión: N/A
Posición: N/A

22
MEMORIAS EEPROM BUS I2C TIPO 24LCxxx
iPROG18 con selector de Voltaje = 3.3 VDC y/o 5.0 VDC dependiendo del tipo de memoria eeprom

Conexiones:
----------------------------------- Memorias que comparten ésta conexión:
iPROG18 Pin 24LC Pin
----------------------------------- 24LC00 24LC01B 24LC02B
(2) VDD (8) VDD 24LC04B 24LC08B 24LC16B
(3) GND (4) VSS
24LC32A 24LC64 24LC128
(5) PGC (6) SCL
24LC256 24LC 512 24LC1025
(6) AUX (5) SDA
(7) WP (GND)
(1/2/3) Ax (GND)

Base de Conexión: iBASE-01


Posición: Base 24LC

MEMORIAS EEPROM BUS SPI TIPO 25LCxxx


iPROG18 con selector de Voltaje = 3.3 VDC y/o 5.0 VDC dependiendo del tipo de memoria eeprom

Conexiones:
----------------------------------- Memorias que comparten ésta conexión:
iPROG18 Pin 25LC Pin
-----------------------------------
(1) /MCLR (1) /CS 25LC010A 25LC020A 25LC040A
(2) VDD (8) VDD
25LC080A 25LC080B 25LC128
(3) VSS (4) VSS
25LC160A 25LC160B 25LC256
(4) PGD (2) SO
(5) PGC (6) SCK 25LC320A 25LC512 25LC640
(6) AUX (5) SI 25LC1024
/HOLD (7) (VDD)
/WP (3) (VDD)

Base de Conexión: N/A


Posición: N/A

23
OTROS MICROCONTROLADORES PIC’S CON CONEXIONES PARTICULARES

Conexiones: Conexiones:
----------------------------------- -----------------------------------
iPROG18 Pin PIC16F57 iPROG18 Pin PIC16F59
----------------------------------- -----------------------------------
(1) /MCLR (28) /MCRL (1) /MCLR (14) /MCRL
(2) VDD (2) VDD (2) VDD (15/35) VDD
(3) VSS (4) VSS (3) VSS (5) VSS
(4) PGD (17) PGD (4) PGD (13) PGD
(5) PGC (16) PGC (5) PGC (12) PGC
(6) AUX (6) AUX

Base de Conexión: N/A Base de Conexión: N/A


Posición: N/A Posición: N/A
Selector Voltaje = 5.0 VDC Selector Voltaje = 5.0 VDC

Conexiones: Conexiones:
----------------------------------- -----------------------------------
iPROG18 Pin dsPIC30F3014 iPROG18 Pin dsPIC30F4013
----------------------------------- -----------------------------------
(1) /MCLR (1) /MCRL (1) /MCLR (1) /MCRL
(2) VDD (11/21/32) VDD (2) VDD (11/21/32) VDD
(3) VSS (12/20/31) VSS (3) VSS (12/20/31) VSS
(4) PGD (9) PGD (4) PGD (9) PGD
(5) PGC (8) PGC (5) PGC (8) PGC
(6) AUX (6) AUX

Base de Conexión: N/A Base de Conexión: N/A


Posición: N/A Posición: N/A
Selector Voltaje = 5.0 VDC Selector Voltaje = 5.0 VDC

Conexiones: (reserva) Conexiones: (reserva)


----------------------------------- -----------------------------------
iPROG Pin PIC iPROG Pin PIC
----------------------------------- -----------------------------------
(1) /MCLR ( ) /MCRL (1) /MCLR ( ) /MCRL
(2) VDD ( ) VDD (2) VDD ( ) VDD
(3) VSS ( ) VSS (3) VSS ( ) VSS
(4) PGD ( ) PGD (4) PGD ( ) PGD
(5) PGC ( ) PGC (5) PGC ( ) PGC
(6) AUX (6) AUX

Base de Conexión: N/A Base de Conexión: N/A


Posición: N/A Posición: N/A
Selector Voltaje = VDC Selector Voltaje = VDC

24
5
C
CAAPPIITTUULLO
O

P RRIIM
MEER
RO S PA
OS ASSO
OSS
Vamos a comenzar a utilizar el iPROG18, para ello es necesario que ubique claramente
cada uno de los componentes.

• Programador de microcontroladores iPROG18, ver figura 5.1


• Cable de programación USB, figura 5.2
• Placa experimentación sin soldadura “Protoboard” (no
incluida), figura 5.3

Figura 5.1. iPROG18 .

Figura 5.2. Cable de programación USB ->

<- Figura 5.3. El protoboard.

Conectando un Microcontrolador para la programación en circuito.


Desde que Microchip incluyó en sus microcontroladores una memoria de programa
borrable eléctricamente, la mayoría de estos dispositivos soportan la programación serial en
circuito ó ICSP por sus siglas en inglés. Esta forma de programación permite que el circuito
integrado pueda ser completamente reprogramado sin necesidad de desconectarlo de la
aplicación en la que está instalado. Esto trae una serie de beneficios para el
desarrollador/programador, ya que, además de reducir los costos de operación por no
requerir la adquisición de bases adaptadoras, le permite actualizar el programa sin
desmontar el circuito y añade a sus productos capacidad de actualizarse y mejorarse
progresivamente aún estando en operación.

25
Por otra parte, la desinstalación de los circuitos integrados suele producir un deterioro
importante de los circuitos impresos sobre los cuales están montados disminuyendo el
tiempo de vida útil de los mismos y comprometiendo su confiabilidad.

Otra ventaja importante del ICSP es que hace mucho más fácil y rápido el desarrollo de
sus aplicaciones pues se trabaja con el PIC® siempre conectado al computador eliminando
la necesidad de traslado desde el programador hasta el prototipo o protoboard y viceversa,
adicionalmente ésta conexión PC-PIC ha permitido desarrollar herramientas de depuración
de muy bajo costo pero altamente efectivas y vitales para la escritura de los programas.

Para realizar la programación ICSP, se requiere del uso de solamente algunos pines del
microcontrolador. Como mínimo es necesario usar a PGD, PGC y /MCLR. En las figuras
anexas, se muestra los pasos a seguir para la correcta programación de un PIC®.

PASO No. 01 y 02: (Buscar hoja técnica y/o especificaciones del PIC16F648A)
(01)

(02)

26
PASO No. 03 y 04:

PASO No. 05:

27
PASO No. 06: (Verificar que se ha realizado la conexión mostrada en la siguiente
figura).

PASO No. 07: (Correr el programa iPROG y verificar que se detectó al PIC16F648A).

28
PASO No. 08: (Seleccionar del menú principal la opción Archivo/Importar Archivo)

PASO No. 09:

Seleccionar el archivo *.hex que se desea importar, en este ejemplo se está importando un
programa compilado con el compilador BASIC Proton®, el cual, se encuentra al igual que
todos los archivos de ejemplos para los PIC’s soportados por el programador iPROG18 en el
CD entregado a usted junto al programador, en el directorio: Archivos_Ejemplos. En la
práctica, usted deberá importar el archivo *.hex correspondiente al programa que usted
realizó.

29
PASO No. 10:

Verificar que se han cumplido los siguientes pasos después de haber importado el archivo
*.hex que contenía su programa.
1. Deberá Indicar el microcontrolador seleccionado.
2. La caja “Memoria de Programa” ahora contendrá datos que serán luego cargados
en la memoria Flash del microcontrolador.
3. La caja “Datos en EEPROM” ahora contendrá datos que serán luego cargados en la
memoria Eeprom del microcontrolador.
4. El icono que se muestra en la figura, indica que la importación fue la correcta.
5. La barra de tareas deberá mostrar el mensaje: “Archivo *.Hex importado
satisfactoriamente” indicando que el programador iPROG realizó la tarea de importar
en forma completa y satisfactoria.

30
PASO No. 11:

Escribir el programa en el microcontrolador. Este paso comienza cuando se presiona el


botón “Escribir”, significa pasar el contenido de las cajas “Memoria de Programa” y “Datos
en EEPROM” al microcontrolador. Una vez presionado el botón de Escribir, se mostrará:

1. La barra de tareas se habrá completado en un 100%.


2. Se presentará en la barra de estado el mensaje: “El dispositivo se programó con
éxito”.
3. Se presentarán en secuencia los siguientes iconos:

Escribiendo Borrando Escribiendo Verificando Listo. OK

31
6
C
CAAPPIITTUULLO
O

UART/SCOPE

32
La herramienta UART/SCOPE ….
UART/SCOPE, es la nueva herramienta de visualización de datos incluida a partir de la versión
1.2.0.0. del software iPROG. Es un interfaz hombre – máquina, el cual, agrega la posibilidad de
utilizar el programador no sólo para la programación de los microcontroladores PIC’s® sino
también, la visualización de datos tipo Consola (UART) o tipo gráfico (SCOPE). Mediante su
utilización usted podrá visualizar a través del monitor de su PC, gran cantidad de información
nunca antes disponible en un programador. El la siguiente figura se muestra la pantalla
UART/SCOPE disponible a partir de esta versión:

1. Pantalla inicial UART/SCOPE.


2. Resultado de la ejecución del programa UART_00.bas entregado en el CD junto al iPROG18.
El listado del programa en Basic PROTOM® lo podemos observar en la siguiente figura:

' iPROG UART UART_00.bas


' --------------------------------------------
Device = 16F877 ' Micro Utilizado
XTAL 20 ' Velocidad del Reloj

Main:
SerOut PORTB.7,32,1,[0,"HOLA MUNDO",13]
DelayMS 1000
GoTo Main

33
Descripción del programa: Este programa en Basic una vez compilado y descargado en el
microcontrolador PIC® envía al programa iPROG el comando de control ASCII 0 -> “Clear”, el
cual, posiciona el cursor en la primera posición de la ventana y la inicializa. Después envía el
mensaje “HOLA MUNDO”, seguido del carácter de control ASCII 13 -> “CR” Control de carro.
Este último comando de control es siempre requerido por el programa iPROG como carácter de
terminación de datos. La instrucción utilizada en Basic PROTOM® para el envío de la información
es:
SerOut PORTB.7,32,1,[0,"HOLA MUNDO",13]
Instrucciones similares se encuentran en forma estándar en otros compiladores como el
PBASIC®, MBASIC®, MikroBASIC®, CCS® y diferentes compiladores existentes en el
mercado. Si usted está trabajando en lenguaje ensamblador, se recomienda realizar la
comunicación serial a través del manejo de los registros internos del PIC®. En detalle cada
parte de la instrucción se refiere a:

SerOut: Instrucción utilizada para realizar una comunicación serial asíncrona.

PORTB.7: Es el “pin” de conexión del PIC®, Puerto B, Pin 7. y es el mismo pin de


programación del PIC® pin (PGD). No es necesaria hacer ninguna conexión
física entre el microcontrolador y el iPROG18, si ya usted está conectado al
programador iPROG a través del puerto USB del PC.

32 : Para el compilador Basic PROTON indica una velocidad de conexión a 19200


BAUD. En general esta constante se puede calcular de la siguiente forma:
Valor Ctte = (1000000/Vel. BAUD) – 20. Así, si deseamos obtener diferentes
velocidades de conexión entre 4800 BAUD y 40000 BAUD podemos usar los
valores mostrados en la siguiente tabla:

Velocidad en BAUD Ctte. Requerida.


4800 188
9600 84
14400 49
19200 * 32
38400 6
* La mayor velocidad de conexión disponible = 40000 BAUD, sin embargo, a fin de obtener
los mejores resultados, es recomendable utilizar velocidades cercanas a 19200 BAUD.

1 : Es una pausa “opcional” de 1 ms entre bytes transmitidos. En algunos compila_


ladores se denomina “PACE” al igual que en el UART del microcontrolador. Si
su compilador permite el uso de “PACE” no olvide colocarlo como parte de la
instrucción.

0 : Comando de control ASCII 0 -> Clear. Este comando como se indicó anterior_
mente lleva el cursor a la primera posición y limpia la pantalla. Es un carácter
de control no visible utilizado, al igual que los siguientes caracteres:

CARÁCTER ASCII SIGNIFICADO CARÁCTER ASCII SIGNIFICADO


0 Clear 8 Backspace
3 Cursor izq. <- 9 Tabulador
4 Cursor der. -> 13 Control de Carro
7 Campana Bell

34
"HOLA MUNDO" : Mensaje enviado desde el microcontrolador PIC®, se visualiza
textualmente todo lo encontrado entre las comillas. También es
posible visualizar variables junto a sus modificadores de formato,
ya sea para valores enteros o en punto flotante. Ejemplo:

SerOut PORTB.7,32,1,["Valor = ", DEC VARIABLE, 13]

13 : Carácter de control requerido por el iPROG, al final de los datos.

3. Información de ayuda de la herramienta UART/SCOPE.


4. Selector tipo interruptor (UART a la izquierda / SCOPE a la derecha).
5. Caja de selección de la velocidad de conexión entre el
microcontrolador PIC® y el PC en unidades BAUD (bits x seg.) Los
datos se deberán enviar en formato 8N1, un bit de arranque, 8 bits de
datos, sin paridad y un bit de parada. Mediante esta opción se
pueden escoger velocidades de conexión entre 9600 BAUD a 19200
BAUD. También se puede escoger otra velocidad en el rango de
4800 BAUD a 40000 BAUD, la cual, se selecciona a través de un
cuadro de dialogo que aparecerá al hacer “clic” con el ratón en la
opción “---Otro Valor---”.
6. Una vez seleccionada la velocidad de conexión en BAUD, se habilita el pulsador “Conectar”, el
cual, si es presionado hará que el programa iPROG reciba la información serial (asíncrona) en
forma continua desde el microcontrolador PIC.®. Por supuesto, previamente hay que cargar
en el microcontrolador un programa que envíe información al programa iPROG. Puede utilizar
como ejemplo los archivos UART_00.bas, UART_01.bas, UART_02.bas incluidos en el CD
junto al programador iPROG18.
7. El botón “Desconectar”, se utiliza como su nombre lo indica, para parar la comunicación serial
entre el microcontrolador y el programa iPROG.
8. El botón “Salir”, permite regresar en forma inmediata al menú principal del programa iPROG.
9. UART (“Limpiar”), Al presionar este botón, se hará un reset al microcontrolador seguido de la
limpieza de la pantalla y de los buffers de transmisión y recepción USB.

10. Este conjunto de opciones estará disponible sólo cuando esté


activada la opción SCOPE. Mostrar CH. se refiere a mostrar los
paneles indicadores digitales que se encuentran en la parte inferior
de la pantalla SCOPE. Allí se visualizan los valores que toman cada
uno de los tres(03) canales disponibles de la pantalla SCOPE, los
caneles se denominan: C0, C1 y C2. Grillas On, permite la
visualización o no de las grillas horizontales y verticales de la gráfica
SCOPE. “Color Negro”, hace que el fondo de la pantalla pase de
color negro a color blanco, a fin de, ahorrar tinta si usted deseara imprimir la gráfica mostrada.

11. El botón “Inicializar”. Al presionar este botón, se hará un reset al microcontrolador seguido de
la limpieza de la pantalla gráfica SCOPE, los indicadores digitales de los canales y de los
buffers de transmisión y recepción USB.

12. Selector de tiempo horizontal de la gráfica SCOPE. Mediante este


selector el usuario puede cambiar la escala de tiempo horizontal de la
gráfica desde un valor de 10 segundos a 60 minutos. Los valores
posibles: 10 segundos, 30 segundos, 1 minuto, 10 minutos, 30 minutos
y 60 minitos.

35
13. y 14. Permite escoger el modo de visualización de los datos sobre el eje
horizontal. Si escoge el modo comprimido (13) todos los datos desde
el comienzo de la gráfica hasta los actuales se mostrarán sobre el
eje horizontal al mismo tiempo. Si por el contrario usted escoge la
visualización expandida (14), entonces se mostrarán únicamente los
últimos datos que se han almacenado durante el último minuto.

RESUMEN DE PASOS A SEGUIR PARA UNA CORRECTA VISUALIZACIÓN


DE DATOS A TRAVÉS DE LA PANTALLA UART.

1. Utilizar una velocidad de conexión de 19200 BAUD. En forma serial asincrónica con el
formato 8N1.

2. Utilizar siempre en la instrucción: SerOut PORTB.7,32,1,[0,"HOLA",13] el re_


tardo de 1 mili-segundo entre bytes transmitidos, denominado PACE.

3. Colocar una pausa o retardo de tiempo de mínimo 15 ms entre comandos SerOut.

4. Colocar una pausa o retardo inicial al programa principal de al menos 1000 ms.

Veamos el siguiente ejemplo: UART_02.bas

' Visualización lineal de datos ...


' Para seleccionar la velocidad de conexión entre el PIC y el PC, se utili_
' zarán las constantes: (84) para 9600 BAUD y (32) para 19200 BAUD como ar_
' gumento de la función "SerOut". El pin de conexión entre el PIC y el
' computador (PC) será siempre PortB.7. Séptimo bit del puerto B.
' --------------------------------------------------------------------------
Device = 16F877 ' Microcontrolador Utilizado
XTAL 20 ' Velocidad del Reloj (resonador)

Dim i As Word ' Variable auxiliar


DelayMS 1000 ' Retardo inicial requerido por el
' UART, es obligatorio su uso.
Main: '

' El comando 0 hará una limpieza de pantalla y colocará el cursor en la


' primera posición de la pantalla arriba y a la izquierda.
' Comando 0 (Clear)

SerOut PORTB.7,32,1,[0]
For i=0 To 999
SerOut PORTB.7,32,1,["Valor de i = ",DEC3 i ,13]
DelayMS 50 ' Pausa de 50 ms requerida para sincronización
Next i
GoTo Main

Estas recomendaciones son hechas con la finalidad de que obtenga los mejores resultados en
la visualización de sus datos. Sin embargo, son sólo sugerencias presentadas en base a las
extensas pruebas realizadas a las rutinas de conversión serial a USB.

36
MODO SCOPE

En este modo usted podrá visualizar los datos enviados desde el microcontrolador PIC® en
forma gráfica. La pantalla SCOPE permite la visualización simultánea de tres canales
independientes denominados C0, C1 y C2. Estos canales pueden graficar números enteros y
números en notación flotante, sin embargo, ciertas consideraciones hay que tomar en cuenta
antes de utilizar la herramienta con números en punto flotante. El canal C0, representado en la
gráfica con el color azul, es el canal de mayor precisión y puede almacenar hasta un máximo de
7200 puntos de datos en la gráfica. La interpolación utilizada para unir puntos contiguos en la
gráfica cuando se utiliza el canal C0, fue la interpolación lineal. Este canal acepta la graficación de
números enteros y en punto flotante.

El canal C1 por su parte, representado en la gráfica de color rojo, es el segundo en precisión y


puede almacenar hasta un máximo de 3600 puntos de datos en la gráfica. Al igual que en el canal
C0, el canal C1 utiliza interpolación lineal para unir puntos contiguos en la gráfica y acepta
preferiblemente números enteros, sin embargo, también puede ser utilizado para graficar números
en punto flotante con menor precisión que con el canal C0.

El último canal C3, representado en la gráfica de color verde, es el de menor precisión y puede
almacenar hasta un máximo de 3600 puntos de datos en la gráfica. Al diferencia de los otros
canales utiliza interpolación diferencial para unir puntos contiguos en la gráfica, lo cual, lo hace
muy conveniente para graficar datos boléanos. Aunque acepta la graficación de datos en punto
flotante no se recomienda su utilización para este fin.

Los canales se pueden utilizar en forma independiente, no existe ninguna restricción. En


algunos casos convendrá utilizar un sólo canal o combinación entre canales.

37
Ejemplo de utilización del SCOPE. A continuación se presenta un programa realizado en Basic
PROTON® para graficar en el canal C0 del SCOPE. Este programa se encuentra en el CD
entregado a usted junto al iPROG18, bajo el nombre de: SCOPE_01.bas

' --------------------------------------------------------------------------
' Programa: SCOPE_01
' Visualización de datos Enteros a través del canal "C0" del SCOPE .........
' Para seleccionar la velocidad de conexión entre el PIC y el PC, se utili_
' zarán las constantes: (84) para 9600 BAUD y (32) para 19200 BAUD como ar_
' gumento de la función "SerOut". El pin de conexión entre el PIC y el
' computador (PC) será siempre PortB.7. Séptimo bit del puerto B.
' --------------------------------------------------------------------------
Device = 16F877 ' Microcontrolador Utilizado
XTAL 20 ' Velocidad del Reloj (resonador)

Dim i As Word ' Variable auxiliar


DelayMS 1000 ' Retardo inicial requerido por el
' SCOPE, es obligatorio su uso.
Main: '

For i=0 To 999


SerOut PORTB.7,32,["C0", DEC3 i ,13]
DelayMS 15 ' Pausa de 15 ms requerida para sincronización
Next i
GoTo Main

La instrucción utilizada en Basic PROTOM® para el envío de la información es:


SerOut PORTB.7,32,["C0", DEC3 i ,13]
Instrucciones similares se encuentran en forma estándar en otros compiladores como el
PBASIC®, MBASIC®, MikroBASIC®, CCS® y diferentes compiladores existentes en el
mercado. Si usted está trabajando en lenguaje ensamblador, se recomienda realizar la
comunicación serial a través del manejo de los registros internos del PIC®. En detalle cada
parte de la instrucción se refiere a:

SerOut: Instrucción utilizada para iniciar una comunicación serial asíncrona.

PORTB.7: Es el “pin” de conexión del PIC®, Puerto B, Pin 7. y es el mismo pin de


programación del PIC® pin (PGD). No es necesaria hacer ninguna conexión
física entre el microcontrolador y el iPROG18, si ya usted está conectado al
programador iPROG.

32 : Para el compilador Basic PROTON indica una velocidad de conexión a 19200


BAUD. En general esta constante se puede calcular de la siguiente forma:
Valor Ctte = (1000000/Vel. BAUD) – 20. Así, si deseamos obtener diferentes
velocidades de conexión entre 4800 BAUD y 40000 BAUD podemos usar los
valores encontrados en la siguiente tabla:

Velocidad en BAUD Ctte. Requerida.


4800 188
9600 84
14400 49
19200 * 32
38400 6
* La mayor velocidad de conexión disponible = 40000 BAUD, sin embargo, a fin de obtener
los mejores resultados, es recomendable utilizar velocidades cercanas a 19200 BAUD.

38
"C0": Es el tipo de canal utilizado. “C0” corresponde al canal cero (0), “C1” correspon_
de al canal uno (1), y “C2” corresponde al canal dos (2).

DEC3 i : Variable a graficar junto a su modificador de formato, DEC3 significa que se


enviará al PC desde el microcontrolador tres dígitos de la variable i. Se pueden
utilizar cualquier modificador de formato numérico aceptado por el compilador.

13 : Carácter de control requerido por el iPROG, al final de los datos.

RESUMEN DE PASOS A SEGUIR PARA UNA CORRECTA VISUALIZACIÓN


DE DATOS A TRAVÉS DE LA PANTALLA SCOPE.

1. Utilizar una velocidad de conexión de 19200 BAUD. En forma serial asincrónica con el
formato 8N1.

2. Colocar una pausa o retardo de tiempo de mínimo 15 ms entre comandos SerOut.

3. Colocar una pausa o retardo inicial al programa principal de al menos 1000 ms.

' --------------------------------------------------------------------------
' Programa: SCOPE_01
' Visualización de datos Enteros a través del canal "C0" del SCOPE .........
' Para seleccionar la velocidad de conexión entre el PIC y el PC, se utili_
' zarán las constantes: (84) para 9600 BAUD y (32) para 19200 BAUD como ar_
' gumento de la función "SerOut". El pin de conexión entre el PIC y el
' computador (PC) será siempre PortB.7. Séptimo bit del puerto B.
' --------------------------------------------------------------------------
Device = 16F877 ' Microcontrolador Utilizado
XTAL 20 ' Velocidad del Reloj (resonador)

Dim i As Word ' Variable auxiliar


DelayMS 1000 ' Retardo inicial requerido por el
' SCOPE, es obligatorio su uso.
Main: '

For i=0 To 999


SerOut PORTB.7,32,["C0", DEC3 i ,13]
DelayMS 15 ' Pausa de 15 ms requerida para sincronización
Next i
GoTo Main

Barra de Herramientas: La pantalla SCOPE incluye en su parte superior una barra de


herramientas muy completa, la cual, le permitirá entre otras cosas hacer acercamientos de
imágenes, corrimiento de ejes, zoom de zonas específicas, utilización de cursor, grabación de la
imagen a un archivo en disco e imprimirla. Se recomienda imprimir la imagen siempre que el
fondo de la misma previamente se haya colocado en color blanco. La barra incluye auto
información, la cual, se despliega al colocar el ratón encima de los íconos mostrados.

39
UTILIZANDO SCOPE PARA GRAFICAR DATOS EN PUNTO FLOTANTE
Cuando se requiere visualizar datos en punto flotante a través de SCOPE, hay que tomar en
cuenta las siguientes consideraciones.

1. Verificar que el sistema operativo del PC está correctamente configurado con respecto al
manejo del punto decimal y separador de miles. Esto lo puede verificar a través del menú
”Configuración Regional” desde el panel de control del PC, como se muestra en la
siguiente figura:

2. Utilizando los modificadores de formato para variables, enviar los datos en punto flotante
preferiblemente con sólo dos decimales. Por ejemplo: si se desea visualizar la variable
dato = 3.1415 se puede enviar al SCOPE DEC2 Dato, lo que será igual a enviar Dato =
3.14 esto consumirá menor tiempo de transmisión y hará más efectiva la recepción de
los bytes de datos por parte del PC.

3. Utilizar las mismas consideraciones mencionadas en el “RESUMEN DE PASOS A


SEGUIR PARA UNA CORRECTA VISUALIZACIÓN DE DATOS A TRAVÉS DE LA
PANTALLA SCOPE” cuando se utiliza el SCOPE con números enteros.

Ejemplo de Aplicación. Programa SCOPE_04.bas

' -----------------------------------------------------------------------
' Programa: SCOPE_04
' Visualización de datos en punto flotante a través de canales "C0", C1"
' Para seleccionar la vel. de conexión entre el PIC y el PC, se utili_
' zará la constante: (32) para 19200 BAUD.

Device = 16F877 ' Micro Utilizado


XTAL 20 ' Velocidad del Reloj
Dim i As Float
Dim j As Float

i = 0
j = 0

40
Main:
SerOut PORTB.7,32,["C0", DEC2 i,13]
DelayMS 15
SerOut PORTB.7,32,["C1", DEC2 j,13]
DelayMS 15
If i >= 10 Then
i = 0
j = 0
EndIf
i = i + 0.10
j = ((Random)/10000.0 / 2.5)
j = j + 20.0
GoTo Main

Corrida del programa utilizando SCOPE.

Definitivamente se observa que cuando el SCOPE grafica números en punto flotante es mucho
más lento que cuando lo realiza con números enteros. Esto es debido a que los números en punto
flotante necesitan mucho más filtrado y manipulación que los números enteros.

41
7
C
CAAPPIITTUULLO
O

IIB A S E _ 0 1

1
La base adaptadora Múltiple (iBASE-01) permite al usuario
programar los microcontroladores PIC® sin necesidad de
utilizar un protoboard. El usuario simplemente inserta el
microcontrolador en su base correspondiente, conecta la
base adaptadora al programador iPROG18 y programa el
microcontrolador, tan fácil como 1,2 y3. Hay que tener
especial cuidado de insertar al microcontrolador en la base
2 correspondiente y no otra, para de esta forma asegurar, la
correcta programación del mismo. En la siguiente figura se
muestra una fotografía de la iBASE-01, en la cual podemos
observar:
3 6 (1) Base de conexión al programador iPROG18. 6 Pines
0.1” RA.
(2) Base de programación para memorias de la serie
24LCxxx. Base 0.3” 8-DIP.
(3) Base de programación para PIC10Fxxx. Base 0.3” 8-
DIP.
4 (4) Base de programación para PIC12Fxxx (8 Pines),
PIC16Fxxx (14 Pines) y PIC16Fxxx (20 Pines). Es la
misma base para PIC® de 8,14 y 20 Pines de
7 conexión. El pin No. 1 de la base corresponde al pin
No. 1 de los microcontroladores sin importar si tienen
8, 14 ó 20 pines. Base 0.3” 20-DIP.
5
(5) Base de programación para PIC16/18F (18 Pines).
4 Base 0.3” 18-DIP.

(6) Base de programación para PIC16/18F (28 Pines). Base 0.3” 28-DIP.

(7) Base de programación para PIC16/18F (40 Pines). Base 0.6” 40-DIP.
5

42

You might also like