Professional Documents
Culture Documents
Versión 1.2.0.0
Febrero 2009
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.
Antes de continuar, tomaremos un tiempo para revisar el contenido del material que
acompaña a su sistema:
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.
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.
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.
Figura 2.3. Accesos directos al programa iPROG desde el menú principal de Windows®.
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.
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.
8
d. Herramientas. Protección de códigos, velocidad, registros del OSC, tipo
programación y Menú de dispositivos Manual y/o automático.
Ajustar OSCCAL:
Permite configurar el registro interno OSCCAL que poseen algunos PIC®, tales
como, los microcontroladores de la gama baja.
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.
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.
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.
10. Memoria de Datos: Permite visualizar y editar el contenido de la memoria Eeprom de los
microcontroladores PIC®.
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
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.
13
MICROCONTROLADORES LÍNEA: PIC18F
iPROG18 con selector de Voltaje = 5.0 VDC
14
MICROCONTROLADORES LÍNEA: PIC24HJ
iPROG18 con selector de Voltaje = 3.3 VDC
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:
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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)
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)
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
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
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.
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:
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)
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:
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:
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:
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:
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:
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.
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.
1. Utilizar una velocidad de conexión de 19200 BAUD. En forma serial asincrónica con el
formato 8N1.
4. Colocar una pausa o retardo inicial al programa principal de al menos 1000 ms.
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 ú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.
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)
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).
1. Utilizar una velocidad de conexión de 19200 BAUD. En forma serial asincrónica con el
formato 8N1.
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)
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.
' -----------------------------------------------------------------------
' 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.
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
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