+ All Categories
Home > Documents > Manual de Usuario PIC School

Manual de Usuario PIC School

Date post: 13-Jul-2015
Category:
Upload: raul-alfredo-carrasco-munoz
View: 145 times
Download: 2 times
Share this document with a friend
Popular Tags:

of 104

Transcript

Laboratorio PICSchoolManual de usuario con tutorial y ejemplos para PIC16F876 / 18F4520V 1.00 Enero 2006

INGENIERIA DE MICROSISTEMAS PROGRAMADOS S.L.C/ Alda. Mazarredo N 47 - 1 Dpto. 2 48009 BILBAO - BIZKAIA Tel/Fax: 94 4230651 email: [email protected] www.microcontroladores.com

Laboratorio PICSchool; Manual de Usuario Indice generalINDICE GENERALTEMA 1: EL HARDWARE1.1 1.2 1.3 INTRODUCCION CARACTERISTICAS ARQUITECTURA DE PICSCHOOL 1.3.1 1.3.2 1.3.3 1.3.4 1.3.5 1.3.6 1.3.7 1.3.8 1.3.9 1.3.10 1.3.11 1.3.12 1.3.13 1.3.14 La fuente de alimentacin El oscilador Los microcontroladores Entradas analgicas Entradas digitales El generador lgico El teclado Salidas digitales Salidas digitales de alta corriente Interfase serie RS-232 Interfase bus CAN Pantalla LCD Conectores para interfase RJ11 y USB Seccin de grabacin 1-1 1-2 1-4 1-5 1-6 1-6 1-8 1-9 1-10 1-11 1-12 1-13 1-14 1-15 1-16 1-17 1-18

TEMA 2: SOFTWARE DE GRABACION2.1 2.2 INTRODUCCION EL SOFTWARE DE GRABACION WINPIC800 2.2.1 2.2.2 2.2.3 2.2.4 2.3 Instalacin Configuracin del hardware Configuracin del software Tareas mas comunes 2-1 2-1 2-1 2-3 2-5 2-5 2-6 2-6 2-9 2-9 2-11 2-12 2-13 2-13 2-16

EL SOFTWARE DE GRABACION ICPROG 2.3.1 2.3.2 2.3.3 2.3.4 Instalacin Configuracin del hardware Configuracin del software Tareas mas comunes

2.4

EL DEPURADPR EN CIRCUITO ICD2 2.4.1 2.4.2 2.4.3 Instalacin Configuracin Tareas mas comunes

TEMA 3: TUTORIAL3.1 3.2 INTRODUCCION TUTORIAL 3.2.1 3.2.2 3.2.3 3.2.4 3.2.5 3.2.6 Creacin de un proyecto El programa fuente Construyendo el proyecto Preparando el hardware de la aplicacin Grabacin del dispositivo Comprobando el funcionamiento de la aplicacin 3-1 3-3 3-4 3-8 3-9 3-10 3-11 3-12

i-1

Laboratorio PICSchool; Manual de Usuario Indice general3.3 EJEMPLOS 3.3.1 3.3.2 3.3.3 3.3.4 3.3.5 3.3.6 3.3.7 3.3.8 3.3.9 3.3.10 3.3.11 3.3.12 3.3.13 3.3.14 3.3.15 3.3.16 3.3.17 3.3.18 3.3.19 3.3.20 3.3.21 3.3.22 3.3.23 3.3.24 3.3.25 3.3.26 3.3.27 3.3.28 3.3.29 3.3.30 3.3.31 3.3.32 3.3.33 3.3.34 3.3.35 3.3.36 3.3.37 3.3.38 3.3.39 Ejemplo 1: Simple manejo de las entradas y salidas Ejemplo 2: Funcin lgica NOT Ejemplo 3: Decodificador combinacional Ejemplo 4: Automatismo secuencial Ejemplo 5: Automatismo secuencial Ejemplo 6: Automatismo secuencial Ejemplo 7: Automatismo secuencial Ejemplo 8: Juego de luces Ejemplo 9: La interrupcin del TMR0 Ejemplo 10: La interrupcin externa RB0/INT y el modo SLEEP Ejemplo 11: El display de 7 segmentos Ejemplo 12: Decodificador BCD a 7 segmentos Ejemplo 13: Contador decimal UP/DOWN Ejemplo 14: El TMR0 como contador de pulsos externos Ejemplo 15: La memoria EEPROM de datos, la mquina su turno Ejemplo 16: Introduccin al manejo de la pantalla LCD Ejemplo 17: Seguimos con la pantalla LCD Ejemplo 18: Visualizando mas mensajes Ejemplo 19: El teclado Ejemplo 20: El teclado y la pantalla LCD Ejemplo 21: Interrupcin por cambio de estado Ejemplo 22: El TMR1 en modo temporizador, interrupcin cada cierto tiempo Ejemplo 23: El TMR1 como contador de eventos externos Ejemplo 24: El TMR1 como divisor de frecuencia Ejemplo 25: Frecuencmetro Ejemplo 26: El TMR2, interrupcin peridica Ejemplo 27: El TMR2, temporizaciones ajustables Ejemplo 28: Capturas con el mdulo CCP1, midiendo pulsos Ejemplo 29: Capturas con el mdulo CCP1, midiendo la anchura de un pulso Ejemplo 30: Capturas con el mdulo CCP1, midiendo el tiempo entre pulsos Ejemplo 31: Comparacin con el mdulo CCP1, contador de eventos ajustable Ejemplo 32: Modulacin de anchura de pulsos (PWM) mediante el mdulo CCP1 Ejemplo 33: PWM mediante el mdulo CCP1, variando la anchura Ejemplo 34: El convertidor ADC Ejemplo 35: Modulacin PWM mediante el convertidor ADC Ejemplo 36: El USART, transmitiendo caracteres Ejemplo 37: El USART, recepcin/transmisin de caracteres Ejemplo 38: Transmitiendo mensajes con el USART Ejemplo 39: Entretenimiento, adivina el nmero 3-13 3-13 3-13 3-13 3-14 3-15 3-15 3-16 3-17 3-17 3-18 3-18 3-19 3-20 3-20 3-21 3-22 3-22 3-23 3-23 3-24 3-24 3-25 3-25 3-26 3-26 3-27 3-27 3-27 3-28 3-28 3-29 3-29 3-30 3-30 3-31 3-31 3-32 3-32 3-33

ANEXO 1: EL MODULO LCDAN1.1 INTRODUCCION AN1.2 CONEXIN CON PICSCHOOL AN1.3 JUEGO DE INSTRUCCIONES AN1.3.1 AN1.3.2 AN1.3.3 AN1.3.4 AN1.3.5 AN1.3.6 AN1.3.7 AN1.3.8 AN1.3.9 AN1.3.10 Clear Display Home Entry mode set Display ON/OFF Control Cursor or Display Shift Function Set Set the CG RAM address Set the DD RAM address Read Busy flag & address Write Data to CG or DD RAM AN1-1 AN1-1 AN1-1 AN1-2 AN1-2 AN1-2 AN1-2 AN1-3 AN1-3 AN1-3 AN1-3 AN1-4 AN1-4

i-2

Laboratorio PICSchool; Manual de Usuario Indice generalAN1.3.11 AN1.3.12 AN1.4 AN1.5 AN1.6 AN1.7 AN1.8 Read data from CG o DD RAM Abreviaturas AN1-4 AN1-5 AN1-6 AN1-6 AN1-7 AN1-8 AN1-8 AN1-9 AN1-10 AN1-10 AN1-11 AN1-11 AN1-11 AN1-12 AN1-12

JUEGO DE CARACTERES CARACTERES GRAFICOS SECUENCIA DE INICIALIZACION DIAGRAMA DE TIEMPOS RUTINAS DE CONTROL AN1.8.1 AN1.8.2 AN1.8.3 AN1.8.4 AN1.8.5 AN1.8.6 AN1.8.7 UP_LCD LCD_E LCD_BUSY LCD_REG LCD_DATO LCD_INI LCD_DELAY

AN1.9 DIMENSIONES DEL MODULO LCD

ANEXO 2: RESUMEN DEL PIC16F876/877AN2.1 AN2.2 AN2.3 AN2.4 AN2.5 AN2.6 AN2.7 INTRODUCCION CARACTERISTICAS GENERALES DESCRIPCION DE PINES ORGANIZACIN DE LA MEMORIA FLASH DE MEMORIA LA MEMORIA RAM DE DATOS CONDICIONES INICIALES EN EL RESET JUEGO DE ISTRUCCIONES AN2-1 AN2-1 AN2-2 AN2-4 AN2-5 AN2-7 AN2-9

ANEXO 3: EXPERIMENTANDO CON LA GAMA ALTA PIC18FXXXAN3.1 AN3.2 AN3.3 AN3.4 AN3.5 INTRODUCCION EXPERIMENTO 1: El multiplicador de 8 x 8 EXPERIMENTO 2: Modulacin de ancho de banda EXPERIMENTO 3: Visualizacin de dos canales analgicos mediante UART EL COMPILADOR C AN3-1 AN3-1 AN3-3 AN3-4 AN3-5

BIBLIOGRAFIA1.2.3.4.5.6.5.6.7.Microcontroladores PIC, La clave del diseo. Ed. Paraninfo Microcontroladores PIC, diseo prctico de aplicaciones. Primera parte. Ed. Mac Graw-Hill Microcontroladores PIC, diseo prctico de aplicaciones. Segunda parte. Ed. Mc Graw-Hill Diseo prctico con microcontroladores. Ed. Thomoson Curso prctico de Diseo con PIC, 1 parte. Ingeniera de Microsistemas Programados. Curso prctico de Diseo con PIC, 2 parte. Ingeniera de Microsistemas Programados. MPASM Users guide. Microchip MPLAB Users guide. Microchip PIC16F87X Data Sheet. Microchip

DIRECCIONES DE INTERESIngeniera de Microsistemas Programados S.L. www.microcontroladores.com Microchip. www.microchip.com Custom Computer Services inc. (compiladores C) www.ccsinfo.com Software de grabacin WinPIC800. http://perso.wanadoo.es/siscobf/winpic800.htm Software de grabacin IcProg. www.ic-prog.com

i-3

Laboratorio PICSchool; Manual de Usuario Indice general

i-4

Laboratorio PICSchool; Manual de Usuario TEMA 1: EL HardwareTEMA 1: EL HARDWARE1.1 INTRODUCCION Bienvenido al fascinante mundo de los microcontroladores. Ingeniera de Microsistemas Programados S.L. se complace en poner en tus manos el laboratorio PICSchool, la herramienta definitiva para el aprendizaje y diseo de aplicaciones basadas en los populares microcontroladores PIC de Arizona Microchip. Figura 1-1. PICSchool es un laboratorio de carcter didctico y una evolucin lgica de los populares y conocidos entrenadores MicroPIC Trainer y PICLaboratory. Permite trabajar con los dispositivos PIC mas representativos de las familias 12F, 16F y 18F, pudindose desarrollar aplicaciones tanto a nivel de software como de hardware. Dispone de un amplio y representativo nmero de perifricos muy utilizados en las aplicaciones reales y un mdulo board para el montaje sin soldadura que permite implementar el hardware necesario en un determinado proyecto. Figura 1-1. El laboratorio PICSchool A diferencia de otros equipos similares, ninguno de los perifricos contenidos en el laboratorio PICSchool estn conectados de forma predeterminada a las lneas de E/S del microcontrolador. Es el propio usuario quien, mediante un sencillo cableado sin soldadura, conecta y asocia los distintos perifricos a esas lneas de E/S segn lo requiera la aplicacin. Esto permite tener un contacto mas directo con el hardware y un mayor control del mismo. En Ingeniera de Microsistemas Programados S.L. somos conscientes de la necesidad de disponer de herramientas sencillas, flexibles, potentes y de bajo coste, que permitan desarrollar y evaluar de forma cmoda y rpida las aplicaciones desarrolladas por el usuario, y donde se puedan emplear y aprovechar al mximo los distintos recursos internos que poseen los microcontroladores PIC, desde la gama baja a la gama alta. Esta ha sido nuestra meta y objetivo final a la hora de presentar el laboratorio PICSchool. 1.2 CARACTERISTICAS A continuacin se muestran las caractersticas mas relevantes del laboratorio PICSchool: El laboratorio PICSchool se presenta totalmente montado y comprobado con un manual en castellano donde se incluye un tutorial, abundantes ejemplos de demostracin y en un maletn de plstico para su fcil transporte y almacenamiento. Tambin se incluye un CD-ROM con las diferentes herramientas de diseo as como los programas fuentes de todos los ejemplos propuestos en el manual. Es totalmente modular y con firme voluntad de expansin. A corto/medio plazo se ir ampliando con una serie de mdulos de prcticas opcionales en donde se irn tratando diferentes temas relacionados con los microcontroladores: comunicaciones, Bluetooth, USB, CAN, R.F. control de motores, perifricos avanzados y un largo etctera. En esos mdulos tambin se irn proponiendo aplicaciones que permitan conocer las caractersticas de los PICs desde la sencilla familia 12FXXX hasta los potentes 18FXXXX. Cada mdulo constar de un conjunto de prcticas y todos los componentes necesarios para implementarlas.

1-1

Laboratorio PICSchool; Manual de Usuario TEMA 1: EL Hardware Alimentacin nica mediante F.Alimentacin externa (no incluida) de 9 a 15VDC con positivo al centro. El laboratorio incorpora los circuitos de filtrado, estabilizacin, piloto ON/OFF y bomba de carga para la grabacin. Admite dispositivos PIC de 8, 18, 28 y 40 patillas de las familias 12FXXX, 16FXXX y 18FXXX. De serie se suministra con el PIC16F876A de 28 pines o similar. Oscilador integrado a cristal de cuarzo encapsulado en DIP8 para generar la frecuencia general de trabajo del sistema. El oscilador suministrado de serie es de 4MHz, se inserta sobre un zcalo de 8 pines y es fcilmente intercambiable por otros osciladores con otras frecuencias. Configuracin mediante jumpers de las seales CLK/GP5, CLK/RA7, MCL/GP3, MCL/RA5 y MCL/RE3. Igualmente se puede configurar el tipo de reloj a emplear: Oscilador a cristal de cuarzo o red R-C (XT/RC). Es posible por tanto adaptarse a mltiples configuraciones segn modelo de PIC. Tres modos de operacin diferentes que se seleccionan fcilmente mediante un conmutador. El modo RUN se emplea cuando el dispositivo est grabado con el programa de aplicacin a ejecutar. Todas las lneas de E/S estn disponibles para el control de perifricos. El modo PC se emplea durante los ciclos de grabacin del dispositivo. Esta grabacin se realiza mediante el canal serie de un PC dotado del software de grabacin correspondiente (WinPic 800, IcProg, etc..). Se suministra el cable de conexin con el PC. Finalmente el modo ICSP permite conectar el laboratorio PICSchool con otros grabadores externos dotados de las seales ICSP o bien con depuradores en circuito como el ICD2 de Microchip. De esta forma es posible la emulacin/depuracin/grabacin del dispositivo contenido en el laboratorio. Todos los puertos con las lneas de E/S del PIC son accesibles mediante bloques de conectores que permiten una rpida y sencilla conexin con los perifricos a controlar. No hay conexiones predeterminadas. Cualquier perifrico se puede conectar a cualquier lnea de E/S. Acceso a los perifricos mediante bloques de conectores que permiten realizar un rpida y fiable conexin con las lneas de E/S del PIC. Basta emplear cable rgido de conexiones de 0.6 mm de grosor. Interfase serie estndar RS232 con conector DB9 hembra y acceso para la gestin y control de las seales TxD, RxD, CTS y RTS. Interfase para redes CAN con conector DB9 macho y acceso para la gestin y control de las seales Vr, RxCAN, TxCAN y GND. 8 salidas digitales pilotadas mediante leds rojos de 3 mm. 4 salidas digitales de alta corriente mediante drivers de 4 canales a 0.6A cada uno. La tensin de salida de estos canales se selecciona mediante jumper y puede ser fija de +5Vcc o bien una tensin externa de referencia de hasta 36V. Tanto las salidas como la entrada de tensin externa son accesibles mediante bornas o clemas de paso 5.08 para la conexin de cargas elevadas (rels, motores DC, motores PAP, etc.) Pantalla LCD de 2 x 16 caracteres con conectores que permiten hacer interfase a 4 u 8 bits. Teclado matricial de 4 x 4 teclas de propsito general. 8 entradas digitales formadas por 4 interruptores y 4 pulsadores activos por transicin 1-0-1. 2 entradas mediante potencimetros que permiten evaluar y simular variables analgicas. Generador lgico de onda cuadrada con frecuencia de salida ajustable de 1Hz, 10Hz, 100Hz y 1KHz y pilotada mediante leds.

1-2

Laboratorio PICSchool; Manual de Usuario TEMA 1: EL Hardware Conector de interfase RJ-11 de 6 hilos de propsito general para todo tipo de interfases externos (I2C, R2485, iButton, etc..) Conector de interfase USB tipo B de propsito general para aplicaciones de comunicacin USB. Mdulo board de 550 contactos para el montaje sin soldadura de todo tipo de circuitos de adaptacin, perifricos, etc.. Conector de expansin PIC-BUS 2 de 40 vas que transporta todas las seales del PIC y que permite la conexin de todo tipo de tarjetas y circuitos externos. Se incluye cable serie, cable de conexiones de 0.6 0.8mm y microcontrolador PIC16F876.

1-3

Laboratorio PICSchool; Manual de Usuario TEMA 1: EL Hardware1.3 ARQUITECTURA DE PICSchool En este apartado se hace un explicacin exhaustiva del laboratorio PICSchool cuyas secciones se muestran en la figura 1-2. Mediante los correspondientes esquemas el usuario podr comprender la conexin de los diferentes perifricos disponibles as como las consideraciones que se deben tener sobre los mismos. Estas explicaciones pueden servir de ayuda al usuario para realizar sus propias aplicaciones a medida.

Figura 1-2. Secciones del PICSchool

1-4

Laboratorio PICSchool; Manual de Usuario TEMA 1: EL Hardware1.3.1 La fuente de alimentacin Se encarga de obtener la tensin general de +5Vcc con la que se alimenta el laboratorio PICSchool. En la figura 1-3 se muestra su ubicacin.

Figura 1-3. La fuente de alimentacin El esquema elctrico se muestra en la figura 1-4. A travs del conector CN1 se aplica la tensin de 9 a 15VDC procedente de un alimentador estndar con el positivo al centro. El interruptor SW3 conecta el sistema. El diodo D1 evita la polarizacin inversa y con ello los daos que se pudieran ocasionar al equipo. El regulador U1 estabiliza la tensin a +5Vcc 1A mximo con la que trabaja el equipo. Dicha tensin, junto con GND estn disponibles en el conector AP1 y AP2 respectivamente para alimentar a los circuitos y prototipos del usuario. En el conector AP3 est disponible tambin la tensin de entrada sin estabilizar +Vin para aquellos circuitos que la requieran. El diodo led D3 indica la presencia de tensin +5Vcc.

AP1 1 2 3 4 OUT 3 R3 330 +5Vcc AP2 1 2 3 4 GND +5Vcc

CN1

ON/OFF

1N4007

9-15VDC 2

GND

3 2 1

1

SW3

2

D1

1

U1 UA7805/TO IN

+ C28 100uF

C2 100n

D3 Vcc ON

AP3 1 2 3 4 +Vin

F. DE ALIM ENTACION

Figura 1-4. Esquema de la fuente de alimentacin

1-5

Laboratorio PICSchool; Manual de Usuario TEMA 1: EL Hardware1.3.2 El oscilador Se encarga de generar la frecuencia principal de trabajo del microcontrolador. Su esquema se muestra en la figura 1-5. Est formado por el dispositivo integrado X1 y la red RC formada por R20 y C1. Mediante el jumper JP2 se obtiene la seal de reloj CLKIN. Cerrando 1-2 dicha seal la proporciona el oscilador X1. Cerrando 2-3 la seal se obtiene de la red RC. El valor de estos componentes determina la frecuencia de la misma (consultar parmetros proporcionados por Microchip) Figura 1-5. Circuito oscilador El dispositivo X1 contiene en su interior un oscilador preciso controlado por cuarzo y todo ello en una cpsula metlica en formato DIP8. Ver la figura 1-6. Este oscilador, tambin llamado Canned Oscillator , se puede adquirir en diferentes frecuencias segn nuestras necesidades. Basta simplemente cambiar uno por otro para que nuestra aplicacin se ejecute a mas o menos velocidad. Figura 1-6. Canned Oscillator 1.3.3 Los microcontroladores Es el seccin mas importante del entrenador PICSchool y donde se inserta el dispositivo PIC con el que se va a trabajar. Bsicamente consta de cuatro zcalos donde se pueden insertar los dispositivos de 8, 18, 28 y 40 patillas tal y como se muestra en la fotografa de la figura 1-7.OSCILADOR PRINCIPAL1 2 X1 NC GND VCC OUT 4 3 1 2 +5Vcc +5Vcc

R20 4K7 JP2 3 C1 22p

OSCILADOR

CLKIN

Figura 1-7. Los microcontroladores En la figura 1-8 se muestran los diferentes tipos de encapsulados que se admiten. Se debe tener en cuenta que Microchip disea y comercializa de forma constante nuevos modelos y por ello, la figura muestra la distribucin de patillas y seales que deben tener las cpsulas de 8, 18, 28 y 40 patillas, para ser compatibles a nivel de hardware con el laboratorio PICSchool. Tambin se debe considerar que el software de grabacin soporte un dispositivo determinado. Nosotros sugerimos el empleo de los programas de libre distribucin como WinPIC800, IcProg y/o el MPLAB de Microchip. Este ltimo debe ir acompaado del depurador en circuito ICD2. Estos programas se pueden actualizar peridicamente con nuevas versiones en las que se soportan nuevos dispositivos PIC. La figura 1-8 tambin muestra cmo algunas patillas pueden tener una doble funcin segn el modelo de PIC que se trate. Normalmente dichas seales se pueden configurar en el propio PIC, durante el proceso de grabacin y, mediante jumpers, se conectan al hardware segn interese. Por ejemplo, en algunos dispositivos PIC de 18 pines, la patilla 16 se puede emplear como entrada de reloj (CLKIN) o como lnea de E/S (RA7).

1-6

Laboratorio PICSchool; Manual de Usuario TEMA 1: EL Hardware1 2 3 4 5 6 7 8 9 RA2 RA3 RA4 RA5 GND RB0 RB1 RB2 RB3 RA1 RA0 RA7 RA6 VDD RB7 RB6 RB5 RB4 18 17 16 15 14 13 12 11 10

CLKIN/GP5 MCLR/GP3

1 2 3 4

VDD GP5 GP4 GP3

GND GP0 GP1 GP2

8 7 6 5

MCLR/RA5 RB7/PGD RB6/PGC

CLKIN/RA7 CLKOUT/RA6 RB7/PGD RB6/PGC

PIC8PINS

PIC18PINES MCLR/RE3 MCLR/RE3 1 2 3 4 5 6 7 8 9 10 11 12 13 14 28 27 26 25 24 23 22 21 20 19 18 17 16 15 RB7/PGD RB6/PGC 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 RE3 RA0 RA1 RA2 RA3 RA4 RA5 RE0 RE1 RE2 VDD GND RA7 RA6 RC0 RC1 RC2 RC3 RD0 RD1 RB7 RB6 RB5 RB4 RB3 RB2 RB1 RB0 VDD GND RD7 RD6 RD5 RD4 RC7 RC6 RC5 RC4 RD3 RD2 40 39 38 37 36 35 34 33 32 31 30 29 28 27 26 25 24 23 22 21 RB7/PGD RB6/PGC

CLKIN/RA7 CLKOUT/RA6

RE3 RA0 RA1 RA2 RA3 RA4 RA5 GND RA7 RA6 RC0 RC1 RC2 RC3

RB7 RB6 RB5 RB4 RB3 RB2 RB1 RB0 VDD GND RC7 RC6 RC5 RC4

CLKIN/RA7 CLKOUT/RA6

PIC28PINES

PIC40PINES

Figura 1-8. Distribucin de seales segn el tipo de encapsulado El esquema elctrico de la figura 1-9 muestra las distintas conexiones as como los diferentes jumpers de configuracin disponibles en el laboratorio PICSchool y que se resumen en la siguiente tabla: CAPSULA 8 Pines JUMPER JP3 POSICION 1-2 2-3 JP4 1-2 2-3 18 Pines JP5 1-2 2-3 JP6 1-2 2-3 28/40 Pines JP6 1-2 2-3 JP7 1-2 2-3 DESCRIPCION Por defecto CLKIN. Entrada de reloj externo que se obtiene desde el oscilador principal. GP5. Lnea de E/S de propsito general si est disponible en el dispositivo. Por defecto PICMCLR. Entrada de reset externo. Imprescindible en los ciclos de lectura/grabacin del dispositivo. GP3. Lnea de E/S de propsito general si est disponible en el dispositivo. Por defecto PICMCLR. Entrada de reset externo. Imprescindible en los ciclos de lectura/grabacin RA5. Lnea de E/S de propsito general si est disponible en el dispositivo. Por defecto CLKIN. Entrada de reloj externo que se obtiene desde el oscilador principal. RA7. Lnea de E/S de propsito general si est disponible en el dispositivo. Por defecto CLKIN. Entrada de reloj externo que se obtiene desde el oscilador principal. RA7. Lnea de E/S de propsito general si est disponible en el dispositivo. Por defecto PICMCLR. Entrada de reset externo. Imprescindible en los ciclos de lectura/grabacin del dispositivo. RE3. Lnea de E/S de propsito general si est disponible en el dispositivo.

1-7

Laboratorio PICSchool; Manual de Usuario TEMA 1: EL HardwareCLKIN

+5Vcc C3 100n JP3 1 2 GP4 3 GP5 GP3 3 2 1 PIC1 1 2 3 4 VDD GP5 GP4 GP3 GND GP0 GP1 GP2 8 7 6 5 PICDATA PICCLK GP2 RA2 RA3 RA4 RB0 RB1 RB2 RB3 RA5 1 2 3 4 5 6 7 8 9 +5Vcc C4 100n PIC2 1 2 3 RA2 RA3 RA4 RA5 GND RB0 RB1 RB2 RB3 RA1 RA0 RA7 RA6 VDD RB7 RB6 RB5 RB4 18 17 16 15 14 13 12 11 10 RA1 RA0 RA6 PICDATA PICCLK RB5 RB4 3 JP6 1 2

PIC8PINES JP5

JP4

PIC18PINES

RA7

PICMCLR

+5Vcc C6 100n

JP7 1 2 3 RA0 RA1 RA2 RA3 RA4 RA5 RA6 RC0 RC1 RC2 RC3 1 2 3 4 5 6 7 8 9 10 11 12 13 14 PIC3 RE3 RA0 RA1 RA2 RA3 RA4 RA5 GND RA7 RA6 RC0 RC1 RC2 RC3 RB7 RB6 RB5 RB4 RB3 RB2 RB1 RB0 VDD GND RC7 RC6 RC5 RC4 28 27 26 25 24 23 22 21 20 19 18 17 16 15 PICDATA PICCLK RB5 RB4 RB3 RB2 RB1 RB0 RC7 RC6 RC5 RC4 RA0 RA1 RA2 RA3 RA4 RA5 RE0 RE1 RE2 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 PIC4 RE3 RA0 RA1 RA2 RA3 RA4 RA5 RE0 RE1 RE2 VDD GND RA7 RA6 RC0 RC1 RC2 RC3 RD0 RD1 RB7 RB6 RB5 RB4 RB3 RB2 RB1 RB0 VDD GND RD7 RD6 RD5 RD4 RC7 RC6 RC5 RC4 RD3 RD2 40 39 38 37 36 35 34 33 32 31 30 29 28 27 26 25 24 23 22 21 PICDATA PICCLK RB5 RB4 RB3 RB2 RB1 RB0 RD7 RD6 RD5 RD4 RC7 RC6 RC5 RC4 RD3 RD2

RE3

PIC28PINES C5 100n +5Vcc

RA6 RC0 RC1 RC2 RC3 RD0 RD1

PIC40PINES

Figura 1-9. Conexiones y jumpers de configuracin 1.3.4 Entradas analgicas Estn formadas por dos potencimetros tal y como se muestra en la fotografa de la figura 1-10.

Figura 1-10. Las entradas analgicas

El esquema elctrico se muestra en la figura 1-11. Las lneas de los potencimetros son directamente accesibles desde el bloque de conexin AP16 correspondiente y se les puede conectar cualquier tipo de circuito elctrico analgico.

1-8

Laboratorio PICSchool; Manual de Usuario TEMA 1: EL HardwareP1 10K P2 10K

3

1

3

1

2

R7 470

2 R8 470

Figura 1-11. Conexiones de las entradas analgicas

AP16 ENTRADAS ANALOGICAS

ENTRADAS ANALOGICAS

1.3.5 Entradas digitales

Se muestran en la fotografa de la figura 1-12 y estn formadas por 4 interruptores deslizantes y otros tantos pulsadores.

Figura 1-12. Entradas digitales

La figura 1-13 muestra el esquema elctrico de estas ocho entradas cuyas seales estn disponibles en el bloque de conexiones AP18. Las seales E0-E3 proceden de los cuatro interruptores deslizantes. Cuando estos estn abiertos (hacia arriba) proporcionan nivel lgico 1 gracias a las resistencias Pull-Up de RP2. Cuando cualquiera de ellos se cierra (hacia abajo) se conecta directamente con la seal GND por lo que proporcionan nivel 0. Por otra parte los cuatro pulsadores en situacin de reposo permanecen abiertos generando nivel lgico 1 gracias a las resistencias Pull-Up contenidas en RP3. Cuando se accionan se cierra circuito con GND y se genera nivel 0.

1 2 3 4 5 6 7 8

1-9

Laboratorio PICSchool; Manual de Usuario TEMA 1: EL Hardware

RP3 10K

RP2 10K

1 2 3 4 5 +5VCC

5 4 3 2 1

+5VCC

1

1

1

2

2

2

R16 470

R15 470

R14 470

R13 470

R12 470

R11 470

R10 470

2

1

ENTRADAS DIGITALES

Figura 1-13. Esquema de las entradas digitales.

1.3.6 El generador lgico Se muestra en la figura 1-14 y est basado en el dispositivo SYM10AA. Es capaz de generar ondas cuadradas simtricas a frecuencias de 1Hz, 10Hz, 100Hz y 1KHz. Est especialmente indicado para aplicaciones de control de tiempos y tambin para evaluar y ensayar con los mdulos de captura y comparacin (CCP) contenidos en ciertos modelos de dispositivos PIC.

Figura 1-14. El generador lgico El esquema elctrico de dicho generador es el que proporciona su propio fabricante y se muestra en la figura 1-15. Puede servir como base para mltiples aplicaciones.

1 2 3 4 5 6 7 8

E7

E6

E5 AP18

E4

E3

1-10

E2

E1

E0 R9 470

E0 E1 E2 E3 E4 E5 E6 E7

ENTRADAS DIGITALES

Laboratorio PICSchool; Manual de Usuario TEMA 1: EL HardwareFREQ.SELEC. SW2 R17 +5VCC R23 +5VCC 10K 1 C22 100n VDD U6 4 SEL 1Hz 10Hz 100Hz 1KHz 8 GND SY M-10 OUT 2 7 6 5 3 AP8 D5 D6 D7 D8 470

Figura 1-15. Esquema del generador lgicoGENERADOR LGICO

FREQ. OUT

La seal de salida se obtiene mediante el bloque de conexiones AP8. Por defecto la frecuencia de salida es siempre de 1Hz. Mediante el pulsador SW2 se va seleccionando secuencialmente la frecuencia a 10Hz, 100Hz, 1KHz y vuelta a empezar con 1Hz. Los leds D5-D8 monitorizan la frecuencia de salida en todo momento. 1.3.7 El teclado Tal y como se muestra en la figura 1-16, el laboratorio PICSchool va provisto de una teclado matricial de 4 x 4 teclas. Se trata del perifrico de entrada por excelencia que va a permitir introducir todo tipo de datos para su posterior procesamiento.

El control del mismo va a suponer el tener que aprender y utilizar una serie de tcnicas y conceptos que se emplean en las mas diversas aplicaciones. Manejar conceptos tales como barrido del teclado, tecla pulsada, rebotes, interrupcin con cada pulsacin, wake up con cada pulsacin, etc.. darn al usuario la posibilidad de acometer ambiciosos proyectos de carcter profesional.

Figura 1-16. El Teclado

Un dato relevante a tener en cuenta es que a pesar de disponer de 16 teclas, tan solo son necesarias 8 lneas de E/S del microcontrolador para su total control. Ello es debido a su distribucin matricial. La figura 1-17 muestra el teclado asociado al bloque de conexiones AP21. En dicha figura tambin se puede apreciar la relacin entre fila-columna y la tecla asociada. As pues la tecla 1 est asociada con la fila 0 (F0) y la columna 0 (C0). En la laboratorio PICSchool las 8 lneas del teclado se puede conectar a cualquier puerta del PIC, pero se sugiere conectarlo a las lneas de la puerta B (como se muestra en la figura anterior). Esto es porque la mencionada puerta tiene, en la mayora de los dispositivos PIC, un par de caractersticas muy interesantes para el control de un teclado: resistencias pull-up internas para las lneas de entrada y posibilidad de interrupcin cuando cualquiera de esas lneas de entrada cambie de estado.

1-11

4 3 2 1

Laboratorio PICSchool; Manual de Usuario TEMA 1: EL HardwareFigura 1-17. Esquema de conexiones del teclado Vamos a analizar las conexiones mostradas en la figura 117. Las cuatro filas F0-F3 se conectan a RB4-RB7 y las cuatro columnas C0C3 se conectan con las lneas RB0RB3. La interseccin fila-columna da lugar a una tecla en concreto. Es decir, si se pulsa por ejemplo la tecla 4, supone unir elctricamente la fila F1 con la columna C0, que es tanto como decir que las lneas RB0 y RB5 del PIC se han unido.TECLADO 4 X 4SW5 F3 F2 F1 F0 C3 C2 C1 C0 8 7 6 5 4 3 2 1

RB7 RB6 RB5 RB4 RB3 RB2 RB1 RB0

1 4 7 *

2 5 8 0C1

3 6 9 #C2

A B C DC3

F0 F1 F2 F3

8 7 6 5 4 3 2 1

AP21

C0TECLADO

TECLADO 4 X 4

La rutina software encargada de explorar el teclado tiene que determinar qu tecla se ha pulsado. Para ello, por ejemplo, se configura las lneas RB0-RB3 (las columnas) como salidas y RB4-RN7 (las filas) como entradas. Secuencialmente se van activando cada una de las columnas al tiempo que se lee el estado de las filas. Cuando se detecta que una fila est activa es porque se pulso una tecla. Basta conocer qu columna se activ en ese momento para sacar la relacin fila-columna que define a cada tecla. Esta tarea, conocida como barrido de teclado, ha de repetirse de forma constante y peridica. De esta manera y, a la velocidad de trabajo del PIC, ser posible detectar una pulsacin en cualquier momento. Haciendo uso de algunas de las prestaciones que ofrecen los dispositivos PIC en la puerta B, es posible desarrollar rutinas mas sofisticadas y eficaces. Efectivamente, programando los registros oportunos de un PIC podemos hacer que las entradas RB4-RB7 (las filas) se conecten a las resistencias pull-up internas que hacen que esas lneas, en estado de reposo, estn a nivel 1. Por otra parte tambin podemos habilitar la interrupcin por cambio de estado de cualquiera de las entradas de la puerta B. En este momento las salidas RB0-RB3 (columnas) se ponen a nivel 0 y esta situacin de reposo se mantiene mientras no se pulse ninguna tecla. El microcontrolador puede dedicarse a otras tareas o quedarse en standby reduciendo el consumo hasta que ocurra un suceso como puede ser la pulsacin de cualquier tecla. Efectivamente, puesto que RB0-RB3 (columnas) estn a 0 y RB4-RB7 (filas) estn a 1 gracias a las resistencias pull-Up internas, cuando se pulse cualquier tecla se produce una interrupcin por cambio de estado en cualquiera de las lneas RB4-RB7 (filas). Esa interrupcin provoca la inmediata atencin del microcontrolador que pasa a ejecutar la rutina que se encargar de averiguar qu tecla se pulso. 1.3.8 Salidas digitales Estn formadas por 8 diodos led (S0-S7) que sirven para monitorizar el nivel lgico de las lneas a las que estn conectados. Ver la figura 1-18.

Figura 1-18. Salidas digitales

1-12

Laboratorio PICSchool; Manual de Usuario TEMA 1: EL HardwareEn el laboratorio PICSchool los leds son accesibles mediante el conector AP17 tal y como se muestra en el esquema de la figura 1-19, y se pueden conectar individualmente a cualquiera de las lneas del microcontrolador. Estas lneas son capaces de suministrar del orden de 25mA por lo que no es necesario ningn circuito adicional de amplificacin excepto las resistencias de absorcin contenidas en el pack RP1. Un nivel lgico 1 por cualquiera de esas lneas provoca el encendido del led correspondiente. Un nivel 0 lo apaga. Es una forma muy simple y econmica de reflejar el estado binario de las lneas de salida, donde cada led simula la carga que se desea controlar.

RP1 SIL 330

S7

S6

S5

1 2 3 4 5 6 7 8 9 S4 S3

S2

S1

S0

S0 S1 S2 S3 S4 S5 S6 S7

Figura 1-19. Esquema de las salidas digitales

AP17 SALIDAS DIGITALES

SALIDAS DIGITALES

1.3.9 Salidas digitales de alta corriente El laboratorio PICSchool dispone de un driver de 4 canales formado por el dispositivo L293D y capaz de proporcionar salidas de alta corriente. Ver la fotografa de la figura 1-20.

Figura 1-20. Las salidas de alta corriente

En la figura 1-21 se puede apreciar el esquema elctrico. El dispositivo integrado L293D dispone de 4 canales amplificadores o drivers capaces de proporcionar salidas de hasta 0.6 A a 36V cada uno, a partir de seales TTL de baja corriente. Mediante el conector AP6 se conectan las seales E1-E4 a amplificar y que proceden de sendas salidas del microcontrolador. El conector CN7 est formado por un conjunto de bornas o clemas donde se obtienen las salidas S1-S4 debidamente amplificadas y se realizan las conexiones con las cargas a controlar.

1-13

1 2 3 4 5 6 7 8

Laboratorio PICSchool; Manual de Usuario TEMA 1: EL HardwareMediante el jumper JP8 se selecciona la tensin de salida para las cargas. En la posicin 1-2 (por defecto) dicha tensin es de +5Vcc. En la posicin 2-3 la tensin que alimenta a las cargas se aplica externamente a travs de la borna +VM. Mediante estas salidas de alta corriente el laboratorio PICSchool puede controlar cargas de consumo elevado como pueden ser lmparas incandescentes, rels, motores DC, motores paso a paso, etc.. Cabe indicar que el dispositivo L293D integra en su interior sendos diodos para la absorcin de corrientes inversas provocadas por cargas inductivas.SALIDAS DEL DRIVER CN7 GND 13 12 5 4 GND GND GND GND EN2 EN1 IN4 IN3 IN2 U5 L293D VCC IN1 16 +5VCC C21 100n 15 10 9 1 7 2 +5VCC E1 E2 E3 E4 +VM S4 14 S3 11 OUT4 OUT3 S2 6 OUT2 3 S1 3 2 JP8 OUT1 VDD 8 1

Figura 1-21. Esquema de las salidas de alta corriente.

AM PLIFICADOR DE 4 CANALES

AP6 ENTRADAS AL DRIVER

1.3.10 Interfase serie RS-232 Su ubicacin dentro del laboratorio se muestra en la figura 1-22. Consiste en el clsico interfase serie que permite adaptar los niveles lgicos del microcontrolador a niveles RS-232.

Figura 1-22. Canal serie RS-232 Segn el esquema elctrico mostrado en la figura 1-23 el interfase est formado por el popular adaptador de niveles MAX232. Mediante el conector AP5 disponemos de las seales de transmisin y recepcin (TxD y RxD) as como las de control de flujo CTS y RTS. Estas seales proceden del microcontrolador. El conector CN5 es un conector DB9 hembra estndar, que permite realizar la conexin con el perifrico serie. Mediante un led bicolor (D17/D18) se monitoriza todo tipo de transmisin y/o recepcin. Este interfase permite realizar todo tipo de comunicaciones serie entre el laboratorio PICSchool y cualquier otro equipo mediante el protocolo estndar RS-232. La velocidad de transferencia ir en funcin del tipo de microcontrolador empleado y su velocidad de trabajo. Se recuerda que algunos dispositivos PIC incorporan en su interior una UART completa que se encarga de realizar la mayor parte de los procedimientos propios de la comunicacin segn los protocolos tanto RS-232 como RS-485. En este ltimo caso basta con montar el sencillo circuito de adaptacin correspondiente, sobre el mdulo board de montaje sin soldadura con que cuenta PICSchool.

1-14

1 2 3 4

Laboratorio PICSchool; Manual de Usuario TEMA 1: EL HardwareCN5 MAX232 RTS RxD CTS TxD 12 9 11 10 1 3 2 U4 T1OUT T2OUT T1IN T2IN C1+ C1V+ Vcc R1IN R2IN R1OUT R2OUT C2+ C2VGND 13 8 14 7 4 5 6 RTS TxD CTS RxD 5 9 4 8 3 7 2 6 1 INTERFACE RS-232

C17 100n

C18 100n

16

C19 +5VCC 100n AP5 4 3 2 1 +5VCC R5 330 RTS CTS RxD TxD CANAL SERIE

15

C15 100n

C16 100n

D17 ROJO (Tx)

D18 VERDE (Rx)

CANAL SERIE RS-232

Figura 1-23. Esquema elctrico del interfase RS-232

1.3.11 Interfase bus CAN Se muestra en la figura 1-24 y est compuesto del dispositivo adaptador MCP2551 que convierte las seales lgicas segn las especificaciones del bus CAN.

Figura 1-24. Interfase CAN

El bus CAN permite crear una red con una transferencia de datos muy robusta y fiable entre el microcontrolador principal (host) y todo tipo de dispositivos o nodos CAN conectados entre s mediante 2 hilos. Este protocolo es muy empleado por la industria del automvil y algunos dispositivos PIC incorporan mediante hardware interno todos los mecanismos necesarios para su implementacin. En la figura 1-25 se muestra el esquema elctrico de este interfase incorporado en el laboratorio PICSchool. Por el conector AP10 se proporcionan, procedentes del microcontrolador, las seales RxCAN, TxCAN que van a parar al circuito de adaptacin MCP2551. Las seales de salida CANH y CANL se obtienen por el conector CN6 (DB9 macho) y de aqu van a parar a los diferentes nodos de la red. El circuito de adaptacin es capaz de conectar con hasta 112 nodos. Mediante el jumper JP1 se habilita o no la resistencia Terminal R2 segn qu lugar ocupe nuestro laboratorio en la red (por defecto habilitada).

1-15

Laboratorio PICSchool; Manual de Usuario TEMA 1: EL HardwareCN6 CAN 5 9 4 8 3 7 2 6 1

INTERFACE CAN

R2

120

1 JP18 7 6

2

R1 10 U7 MCP2551

RS

CANH

CANL

VCC

3 C24 100n

+5VCC

VREF

1

4

RxD

TxD

GND

2

4 3 2 1

Figura 1-25. Esquema del interfase CAN 1.3.12 Pantalla LCD Se trata de uno de los perifricos mas verstiles e interesantes que dispone el laboratorio PICSchool. Se muestra en la figura 1-26 y es capaz de visualizar dos lneas de 16 caracteres alfanumricos cada una.

5 AP10 INTERFACE CAN

La transferencia de informacin entre la pantalla LCD y el microcontrolador se realiza en paralelo en grupos de 4 u 8 bits de datos y se conecta con las lneas de E/S mediante el conector AP20. El esquema elctrico se muestra en la figura 1-27. Existe adems otro conector, el AP9, donde se conectan las seales que controlan el flujo y tipo de informacin que se transfiere. Con la seal RS se determina si la pantalla recibe el cdigo ASCII del carcter a visualizar (nivel 1) o bien un cdigo de instruccin (nivel 0). Mediante la seal RW el microcontrolador informa a la pantalla LCD si se va a leer o escribir sobre la misma. Finalmente, con la seal E, se habilita o no a esa pantalla. Cuando esta seal vale 0 la pantalla queda desconectada, las lneas de datos quedan en alta impedancia. Cuando vale 1 , la pantalla queda habilitada para recibir o mandar datos.

VREF RxCAN TxCAN

Figura 1-26. La pantalla LCD

Este potente perifrico de salida va a permitir representar cualquier tipo de mensaje compuesto de letras, nmeros y smbolos produciendo adems diferentes efectos de visualizacin como desplazamientos a izquierda y derecha, parpadeos, scrolls, etc.

1-16

Laboratorio PICSchool; Manual de Usuario TEMA 1: EL HardwareLa resistencia R19 permite ajustar el contraste del LCD. Con el valor de 4K7 se consigue un contraste medio aceptable. Su valor se puede modificar.

U8 LCD

LCD HD44780 compatibleVLC VCC GND E RW RS D7 D6 D5 D4 D3 D2 D1 D0 LL+

INTERFACE LCD

C23 100n

16 15

14 13 12 11 10 9 8 7

6 5 4

3 2 1 GND R19 4K7 AP9 CONTROL

Figura 1-27. Conexiones de la pantalla LCDAP20 DATOS

8 7 6 5 4 3 2 1

1.3.13 Conectores para interfase RJ11 y USB Son simples conectores de propsito general y que se muestran en la fotografa de la figura 1-28.

Figura 1-28. Conectores RJ11 y USB

Las conexiones se muestran en la figura 1-29. Permiten conectar dispositivos externos con el microcontrolador y/o el hardware contenidos en el laboratorio PICSchool.

Las seales del conector RJ11 estn disponibles en el bloque de conexiones AP19. Este conector se puede emplear para conectar el laboratorio PICSchool con dispositivos I2C, RS-485, iButton, y un largo etc.. Por su parte el conector USB es del tipo B y sus seales estn disponibles en el bloque de conexiones AP7. Mediante este conector es posible realizar un interfase estndar con los mltiples dispositivos USB existentes en el mercado. El jumper JP9 permite que la alimentacin del bus USB se obtenga desde los +5Vcc del propio Laboratorio (posicin 1-2), la suministre el usuario (posicin 2-3) o bien el bus USB no se alimenta desde el laboratorio PICSchool (JP9 abierto). Se recuerda que algunos dispositivos PIC integran en su interior el hardware necesario para implementar el protocolo USB, y disponen de las seales D+ y D- que se conectarn directamente con el bloque de conexiones AP7.

1-17

4 3 2 1

L0 L1 L2 L3 L4 L5 L6 L7 RS RW E

+5VCC

Laboratorio PICSchool; Manual de Usuario TEMA 1: EL Hardware

2 1 3 4

1

3

5 CONECTOR USB TIPO B+5VCC

3 2

4 1

2

4

6

CONECTOR RJ11-6CN3 RJ11-6 +5VCC 6 5 4 3 2 1 6 5 4 3 2 1

CN9 USB TIPO B C20 100n 1 2 3 4

JP9

1

2

3 GND D+ DVUSB

INTERFACE RJ11

Figura 1-29. Conexiones de los conectores RJ11 y USB 1.3.14 Seccin de grabacin Se muestra en la fotografa de la figura 1-30 y se encarga, mediante el software oportuno, de realizar los ciclos de lectura/grabacin del dispositivo PIC contenido en el laboratorio.

Figura 1-30. La seccin de grabacin El esquema por bloques de la figura 1-31 trata de sintetizar el funcionamiento del circuito de grabacin que dispone el laboratorio PICSchool.

1-18

1 2 3 4

INTERFACE RJ11

8 7 6 5 4 3 2 1

AP19

INTERFACE USB

AP7 INTERFACE USB

Laboratorio PICSchool; Manual de Usuario TEMA 1: EL HardwareTodos los dispositivos PIC disponen de 3 seales para la lectura/grabacin de la memoria de programa, la memoria EEPROM para datos y la memoria de configuracin. La seal PICDATA permite transferir los datos de forma serie y sncrona entre el PIC y el hardware de grabacin, la seal PICCLK transporta la seal de reloj para el sincronismo de los datos y la seal PICMCLR, que inicia los ciclos de lectura/grabacin y aplica la tensin Vpp necesaria. Estas tres seales son adems compartidas y empleadas como lneas de E/S de propsito general una vez que el PIC ha sido grabado. Estas tres seales se conectan con tres fuentes diferentes segn el modo de operacin seleccionado mediante el conmutador SW4.

Figura 1-31. Esquema por bloques del circuito de grabacin El modo RUN se emplea cuando el dispositivo est grabado. Las tres seales del PIC anteriormente mencionadas se consideran lneas de E/S de propsito general y estn disponibles a travs de los bloques de conexin correspondientes, para ser utilizadas por los perifricos de la aplicacin. En el modo ICSP el laboratorio queda configurado para que el PIC actual en l insertado se pueda leer/grabar a travs de las seales que se aplican mediante el conector RJ11 (ICSP- In Circuit Serial Programing). Estas seales a su vez las debe proporcionar un grabador externo dotado de su correspondiente software de grabacin. Se puede emplear el mdulo ICD2 de Microchip junto con el entorno integrado de desarrollo MPLAB, que se puede obtener de forma gratuita desde www.microchip.com. El mdulo ICD2 adems de grabar dispositivos es capaz de realizar depuracin en circuito en tiempo real, con ciertos modelos de dispositivos PIC. En el modo PC la lectura/grabacin del PIC se realiza a travs de las seales del canal serie de un PC dotado del correspondiente software de grabacin. Un diodo led, el Vpp ON, indica transferencia de datos entre el PC y el laboratorio. Entre los mltiples tipos de software existentes, nosotros hemos elegido el WinPIC800 y el IcProg, con los que hemos obtenido excelentes resultados. Ambos programas se pueden descargar y actualizar de forma gratuita en las direcciones http://perso.wanadoo.es/siscobf/winpic800.htm y en www.ic-prog.com. Se reitera una vez mas que, aunque un software de grabacin determinado grabe mltiples dispositivos y de diferentes familias, es necesario que tambin haya compatibilidad a nivel de hardware. Esta compatibilidad viene dada fundamentalmente por la distribucin de patillas del dispositivo en cuestin, tal y como se explic en el apartado 1.3.3. En el laboratorio PICSchool se admiten todos los dispositivos PICs de 8, 18, 28 y 40 patillas distribuidas como se menciona en dicho apartado y que tambin sean soportados por el software de grabacin empleado.

1-19

Laboratorio PICSchool; Manual de Usuario TEMA 1: EL Hardware

1-20

Laboratorio PICSchool; Manual de Usuario TEMA 2: Software de grabacinTEMA 2: Software de grabacin2.1 INTRODUCCION Este tema est dedicado a comentar las caractersticas mas relevantes de diferente software de grabacin de distribucin gratuita y que puede emplearse desde el PC para la lectura/grabacin de dispositivos PIC en el laboratorio PICSchool. Por los buenos resultados obtenidos, vamos a referirnos al WinPIC800, el IcProg y el MPLAB. No tratamos de reemplazar el manual de usuario de dichos programas, simplemente queremos proporcionar un resumen de las operaciones bsicas de los mismos. Se recomienda que sea el usuario quien se descargue y obtenga los correspondientes manuales, si los hubiera, de cada software as como las actualizaciones mas recientes. 2.2 EL SOFTWARE DE GRABACION WINPIC800 Se trata de un software de libre distribucin desarrollado por Sisco Benach que se puede descargar desde el sitio http://perso.wanadoo.es/siscobf/winpic800.htm Es conveniente hacerlo de forma peridica con objeto de obtener la ltima versin disponible. Se descarga un fichero ZIP que contiene el archivo ejecutable, archivos de configuracin, lenguajes, etc.. Se aconseja descomprimirlo todo sobre una misma carpeta (p.e. WinPic800) y crear un acceso directo al ejecutable. El programa WINPIC800 es un proyecto abierto sujeto a constantes ampliaciones y mejoras, que se adapta a diferentes tipos de grabadores. En la opcin Acerca de.. del men de Ayuda hay un enlace directo al foro Todo PIC donde gran cantidad de usuarios y entusiastas exponen sus dudas tanto de hardware como de software, comentarios, posibles mejoras, bugs, soluciones, etc.. De esta forma el programa se encuentra en permanente evolucin. En Ingeniera de Microsistemas Programados S.L., aunque no proporcionamos su soporte tcnico, hemos analizado el software WinPic800 con el laboratorio PICSchool. Tras chequear y comprobar su funcionamiento con un buen nmero de dispositivos PIC de las familias 12FXXX, 16FXXX y 18FXXXX, podemos afirmar que hemos obtenido unos muy buenos resultados. Aunque poco a poco se le van aadiendo nuevos idiomas, el programa se presenta totalmente en castellano, es muy intuitivo, rpido en la grabacin y eficaz en sus posibilidades. 2.2.1 Instalacin WinPic800 se presenta en un nico fichero ZIP. Para la instalacin debe descomprimirse sobre una carpeta (p.e. WinPic800) donde se ubicarn todos los archivos y carpetas. Basta con hacer un acceso directo al fichero ejecutable para acceder con rapidez a las diferentes funciones del software. La figura 2-1 muestra la pantalla de trabajo del software de grabacin WinPic800, en versin 3.56.c, donde se encuentran las diferentes reas de trabajo, opciones y mens. 1.- Opciones del men principal Archivo: Se seleccionan las distintas opciones que permiten abrir, guardar, cerrar, etc. los archivos de trabajo que contienen el contenido HEX a grabar en el dispositivo PIC. Edicin: Se puede editar y llenar las reas de memoria del PIC o buffers, con diferentes contenidos. Dispositivo: Se seleccionan los distintos comandos a ejecutar sobre el PIC: leer, borrar, grabar, verificar, etc. La mayor parte de estos comandos se pueden ejecutar mediante los botones de la barra de comandos. Configuracin: Se selecciona el tipo de hardware grabador que el software debe controlar. Tambin se seleccionan diferentes opciones de control.

2-1

Laboratorio PICSchool; Manual de Usuario TEMA 2: Software de grabacinIdiomas: Se selecciona el lenguaje empleado por el software WinPic800. Ayuda: Se obtiene informacin adicional del software.

Figura 2-1. Pantalla de trabajo del software WinPic800 2.Seleccin de dispositivo Mediante estas dos persianas se puede seleccionar el tipo de dispositivo a grabar as como el modelo. 3.Barra de comandos Mediante el empleo de estos botones se puede ejecutar de una forma rpida y fcil la mayor parte de los comandos contenidos en los mens Archivo y Dispositivo: Abrir fichero, Actualizar, Guardar fichero, Leer PIC, Grabar PIC, Verificar PIC, Borrar PIC, configurar hardware y software. 4.Seleccin del Buffer o rea de memoria Mediante estas tres pestaas, el usuario puede conmutar entre cualquiera de las tres reas de memoria o buffers de que constan los dispositivos PIC. Cdigo: Representa a la memoria OTP/EEPROM/FLASH de programa. Sobre este buffer se visualiza el contenido de la memoria de programa del PIC recin ledo o bien el contenido que se desea grabar sobre ese PIC y que procede de un archivo *.HEX recin abierto. El contenido se representa en cdigo hexadecimal y ASCII y puede ser de 12, 14 o 16 bits por cada posicin. El tamao de este buffer vara en funcin del modelo de PIC seleccionado.

2-2

Laboratorio PICSchool; Manual de Usuario TEMA 2: Software de grabacinDatos: Representa a la memoria EEPROM de datos. Sobre este buffer se visualiza el contenido de la memoria EEPROM de datos del PIC recin ledo o bien el contenido que se desea grabar sobre ese PIC y que procede de un archivo *.HEX recin abierto. El contenido se representa en cdigo hexadecimal y ASCII con 8 bits. El tamao de este buffer vara en funcin del modelo de PIC seleccionado y puede quedar deshabilitado si dicho modelo no dispone internamente de memoria EEPROM para datos. Config.: Representa a la memoria de configuracin. Sobre este buffer se almacena y visualiza el contenido de la memoria de configuracin del PIC recin ledo o bien la configuracin que se desea grabar sobre ese PIC y que procede de un archivo *.HEX recin abierto. La representacin de este buffer se realiza en modo binario de forma que se puedan activar/desactivar individualmente los distintos bits de las distintas palabras de configuracin. El nmero de bits representados vara en funcin del modelo de PIC. 5.Botones de edicin Este conjunto de botones permiten de una forma fcil y rpida realizar tareas propias de edicin del rea o buffer de memoria seleccionado: Copiar, Pegar, Cortar, Llenar buffer, Marcar, Buscar y Buscar siguiente. 6.Areas de memoria o buffers Esta es la zona de la pantalla de trabajo donde se visualizan y/o modifican los contenidos del rea de memoria seleccionada. En el rea de programa o cdigo la visualizacin se representa en formato hexadecimal y ASCII con 12, 14 o 16 bits, segn el modelo de PIC seleccionado. El rea de datos se representa siempre en formato de 8 bits en hexadecimal y ASCII y slo es visible si el modelo de PIC dispone realmente de memoria EEPROM para los datos. El contenido de cualquier posicin de cualquiera de estas dos reas se puede modificar a nivel individual. Basta con hacer click en la posicin deseada y teclear el nuevo valor en hex. o en ASCII. Tambin se pueden modificar a nivel de bloque mediante las opciones de llenado de Buffer, donde se pide una direccin inicial, otra final y el valor a almacenar. Por su parte el rea de configuracin representa los contenidos a nivel binario, donde es posible activar o desactivar individualmente cada uno de los bits de acuerdo a la configuracin deseada. 7.Botones de verificacin Permite leer el valor ID del dispositivo, visualizar una imagen de cmo se debe insertar el PIC en el zcalo segn el tipo de grabador empleado (si la imagen est disponible), verificar el hardware del grabador, e identificar el modelo de PIC. 2.2.2 Configuracin del hardware Una de las caractersticas mas notables del software WinPic800 es su flexibilidad a la hora de poder controlar el hardware de casi cualquier tipo de grabador, p.e. el laboratorio PICSchool. Ello es posible gracias a su flexible sistema de configuracin. Para grabar la mayor parte de dispositivos PIC se emplean bsicamente 5 seales: VDD GND MCLR/Vpp PGD Alimentacin de +5V Tierra o 0V Seal de Reset por donde adems se aplica la tensin VPP de grabacin. Seal de E/S por donde, de forma sncrona, se transfieren al PIC los distintos comandos y datos para su lectura (DataOut) y/o grabacin (DataIn).

2-3

Laboratorio PICSchool; Manual de Usuario TEMA 2: Software de grabacinPGC Seal de reloj para sincronizar los comandos y datos que se aplican al PIC durante la lectura o grabacin.

Estas seales las debe generar el propio software de grabacin y aplicarlas al circuito grabador que contiene el PIC a grabar. El WinPic800 puede generar esas seales a travs del canal paralelo del PC, del canal serie o, mediante el interface apropiado, a travs de un puerto USB. Todo ello se puede configurar mediante la opcin Configuracin/Hardware del men principal. Incluso, es posible configurar y determinar la asociacin y polarizacin entre las seales anteriores de grabacin y las seales que ofrecen los canales serie/paralelo del PC, de forma que se pueda adaptar a la mayora de grabadores disponibles. La figura 2-2 muestra la configuracin necesaria para controlar el circuito de grabacin del laboratorio PICSchool con el software WinPic800.

Figura 2-2. Configuracin de WinPic800 para adaptarlo PICSchool A la vista de la figura se puede deducir la configuracin necesaria. En primer lugar se emplear el canal serie COMx como interfase con el PC. La seal de salida de datos a grabar (PGD = Data) est asociada con el bit DTR del canal serie. La seal de entrada de datos ledos (PGD = DataIn) se asocia al bit CTS. La seal sncrona de reloj (PGC = Clock) queda asociada con el bit RTS. Estas tres seales son empleadas de forma invertida por el hardware de grabacin de PICSchool, por lo que el software WinPic800 tambin las debe invertir. Para ello estn activadas las casillas correspondientes. Por ltimo, la seal de grabacin (MCLR/Vpp) queda asociada con el bit TXD del canal serie del PC. Habilitando o no las casillas apropiadas en la columna Test, se pueden activar o desactivar individualmente las seales asociadas a modo de comprobacin. Los indicadores luminosos de la columna Estado nos indican el estado actual de dichas seales. Deshabilitando el Bloqueo de configuracin se puede hacer cualquier cambio sobre las seales mencionadas y ajustarlas a las necesidades del hardware segn el grabador disponible. Una vez configurado el sistema, puede generarse un fichero de configuracin para usos posteriores. Para ello se dispone de tres botones: Guardar, Guardar Como, y Eliminar. Se pide el nombre del fichero, que suele coincidir con el nombre del grabador (p.e. PICSchool) y queda registrado en una lista de ficheros con la configuracin de otros tantos grabadores.

2-4

Laboratorio PICSchool; Manual de Usuario TEMA 2: Software de grabacin2.2.3 Configuracin del Software Existen unas opciones de configuracin a nivel de software que el usuario puede habilitar o no segn preferencias. Estas se muestran en la figura 2-3.

Figura 2-3. Opciones de configuracin software Programar. Permite activar o no las opciones de Verificar tras la programacin y Avisar antes de borrar y programar. En el primer caso, al activarse, se fuerza a que el software verifique de forma automtica el contenido del PIC recin grabado, comparndolo con el contenido actual de los distintos buffer o reas de memoria. Dispositivo. Permite activar o no las opciones de Usar autoseleccin del dispositivo y Detectar y autoseleccionar el dispositivo al entrar. En el primer caso WinPic800 trata de averiguar el modelo de PIC sobre el que se va a actuar. Esta deteccin se basa en que los modelos de PIC mas recientes integran un cdigo de identificacin. El modelo detectado pasa automticamente a ser el seleccionado. Activando la segunda opcin se trata de detectar el PIC nada mas ejecutar WinPic800. Hay que indicar que no todos los modelos de PIC integran el cdigo de identificacin. En estos casos se indicara que se trata de un modelo desconocido y habr que seleccionarlo manualmente. .HEX. Permite, si se activa, actualizar los archivos *.HEX antes de la grabacin por si se hubiera realizado alguna modificacin de los buffers de memoria y ajustar los ficheros *.HEX si se trata de dispositivos de la familia 18FXXX.

2.2.4 Tareas mas comunes Bsicamente se ejecutan mediante los distintos botones disponibles sin necesidad de navegar entre los distintos mens. Ver la figura 2-4.

Figura 2-4. Botones de las tareas mas comunes 1.- Abrir: Accede al clsico navegador de windows que permite seleccionar el archivo que se desea abrir. Dicho archivo debe tener la extensin *.HEX y se obtiene como consecuencia de ensamblar/compilar el programa del usuario. Su contenido se almacena en los distintos buffer de memoria de WinPic800 para la posterior grabacin del PIC. Este botn tambin permite acceder de forma rpida a los archivos *.HEX recientemente abiertos. 2.- Actualizar Archivo: Este comando permite restaurar los distintos buffer de memoria de WinPic800 despus de haber sufrido cualquier tipo de modificacin, con el contenido del archivo *.HEX actual.

2-5

Laboratorio PICSchool; Manual de Usuario TEMA 2: Software de grabacin3.- Guardar: Guarda el contenido de los buffer de memoria de WinPic800 sobre el archivo *.HEX actualmente abierto. 4.- Leer Todo: Lee el contenido de las tres reas de memoria que componen un PIC (cdigo, datos y configuracin) y lo deposita sobre los correspondientes buffer de WinPic800. 5.- Programar Todo: Graba sobre las tres reas de memoria que componen un PIC, el contenido de los correspondientes buffer de WinPic800. 6.- Verificar Todo: Compara el contenido de las tres reas de memoria del PIC con el contenido de los tres buffer de memoria de WinPic800, comprobando si hay igualdad o, en su caso, indicando las diferencias existentes 7.- Borrar todo: Borra el contenido de las tres reas de memoria del PIC, dejndolas en los valores originales de fbrica. Este comando slo es operativo en los dispositivos con memoria EEPROM/FLASH. Los dispositivos con memoria OTP no pueden ser borrados. 8.- Test Hardware: Realiza una comprobacin del hardware del grabador en uso (PICSchool). 9.- Detectar PIC: Trata de averiguar el modelo de PIC que est instalado en el grabador y lo selecciona como modelo actual si esta opcin est activada en Configuracin / Software. No todos los modelos de PIC integran su propia identificacin. En este caso la deteccin resulta imposible. 2.3 EL SOFTWARE DE GRABACION ICPROG Se trata de otro programa de libre distribucin, multi-lenguaje y apto para un gran nmero de grabadores entre los que se encuentra el laboratorio PICSchool. Desarrollado por Bonny Gijzen se puede descargar desde el sitio www.ic-prog.com. Se recomienda visitar peridicamente esa direccin con objeto de obtener las versiones mas actualizadas. En Ingeniera de Microsistemas Programados S.L., aunque no proporcionamos su soporte tcnico, hemos analizado el software IcProg con el PICSchool. Tras chequear y comprobar su funcionamiento con un buen nmero de dispositivos PIC de las familias 16FXXX y 18FXXXX, podemos afirmar que hemos obtenido unos buenos resultados. 2.3.1 Instalacin La instalacin de IcProg requiere descargarse desde www.ic-prog.com tres ficheros ZIP comprimidos. El fichero Icprogxxxx.ZIP contiene el ejecutable, donde xxxx representa la versin del mismo. El fichero Icprog_driver.ZIP contiene los drivers necesarios para ejecutar IcProg desde windows NT/2000/XP. Finalmente el fichero help_spanish.ZIP contiene la ayuda en castellano del programa. Se deben descomprimir los tres ficheros sobre un mismo directorio o carpeta, obtenindose as tres archivos: el ejecutable icprogxxxx.EXE, el driver para NT/2000/XP icprog.SYS y el archivo de ayuda icprog.CHM. Este ltimo dispone de una traduccin al castellano de la ayuda y est realizada por Carlos Chueke. Por ltimo se puede hacer un acceso directo al fichero ejecutable para una rpida ejecucin. La figura 2-5 muestra la pantalla de trabajo del IcProg con las diferentes reas y opciones disponibles en la versin 1.05D.

2-6

Laboratorio PICSchool; Manual de Usuario TEMA 2: Software de grabacin

Figura 2-5. Pantalla de trabajo del software IcProg 1.- Opciones del men principal Archivo: Presenta las clsicas opciones relacionadas con el control y manejo de archivos. Abrir archivo permite leer el contenido de un archivo *.HEX y almacenarlo en los buffer de memoria. Guardar archivo almacena el contenido actual del buffer seleccionado sobre un archivo *.HEX. Abrir archivo de datos. Archivos recientes permite seleccionar entre los archivos recin utilizados. Imprimir realiza una copia impresa del contenido actual del buffer de memoria seleccionado. Cerrar finaliza la sesin de trabajo con IcProg. Edicin: Dispone de una serie de opciones que permiten editar tanto el buffer de memoria de programa como el de datos. Llenar buffer llena todo el buffer de programa con el valor indicado. Llenar intervalo buffer permite llenar un rango de posiciones o rea del buffer de programa con el valor indicado. Copiar del buffer copia en el porta papeles el contenido del rea del buffer seleccionado. Pegar del buffer copia sobre el buffer el contenido del porta papeles. Llenar buffer de datos, Llenar intervalo de datos, Copiar del buffer y Pegar al buffer, son opciones idnticas a las anteriores, pero relativas al buffer de datos. Buffer: Se entiende como buffer activo actual el que va a ser utilizado para la transferencia de informacin con el PIC a leer/grabar. Mediante las opciones aqu disponibles es posible seleccionar uno de entre los 5 posibles buffer como buffer actual. Tambin es posible comparar el contenido del buffer activo actual con el contenido de cualquiera de los otros cuatro buffer. Ajustes: Con sus diferentes opciones se ajustan una serie de valores por defecto. Dispositivo permite elegir el tipo de dispositivo con el que se va a trabajar (4-Wire, I2C, PIC, SX, etc..) y el modelo. Dispositivos recientes permite seleccionar de forma rpida los modelos mas utilizados. Tipo de hardware selecciona el modelo de grabador que se emplea. Prueba de hardware realiza un test del grabador empleado, permitiendo activar/desactivar individualmente las seales de grabacin. Opciones permite seleccionar diferentes parmetros de trabajo: confirmaciones, avisos, lenguajes, programacin, etc..).

2-7

Laboratorio PICSchool; Manual de Usuario TEMA 2: Software de grabacinComando: Mediante sus diferentes opciones se ejecutan las tareas propias de cualquier grabador. Leer todo lee el contenido del PIC y lo deposita en el buffer activo. Programar todo graba el contenido del buffer activo sobre las distintas reas de memoria del PIC (programa, datos y configuracin). Programar bits de configuracin permite modificar nicamente la palabra de configuracin. Borrar todo borra el rea de cdigo, de datos y configuracin del PIC. Verificar blanco comprueba de que el PIC est borrado. Verificar comprueba que el contenido de las distintas reas de memoria de PIC coincida con el contenido del buffer activo. Ver: Selecciona diferentes formas de visualizacin. Ensamblador visualiza el rea de programa en forma de nemnicos, con las instrucciones y los operandos sitas en el buffer activo. Hexadecimal visualiza el contenido del rea de cdigo y de datos del buffer activo en formato hexadecimal. Posicin de dispositivo presenta una imagen de cmo se debe insertar el dispositivo en el zcalo del grabador. Esta imagen es orientativa y no tiene porqu coincidir con el modelo de grabador, por lo que se recomienda leer el manual correspondiente. Informacin dispositivo presenta un breve resumen de las caractersticas mas relevantes del dispositivo seleccionado. Refrescar actualiza el buffer activo. Ayuda: Presenta las opciones de ayuda que explican el manejo del software IcProg. 2.- Seleccin de dispositivo Mediante esta persiana despegable se selecciona el modelo del dispositivo a leer/grabar. 3.- Barra de comandos Mediante el empleo de estos botones se puede ejecutar de una forma rpida y fcil la mayor parte de los comandos mas utilizados: Abrir fichero, Guardar fichero, Leer PIC, Grabar PIC, Verificar PIC, Borrar PIC, Test de Hardware , etc.. 4.- Palabra de configuracin En esta rea queda reflejado el estado de la palabra de configuracin del PIC recin ledo o bien el valor de configuracin que se desea grabar en ese dispositivo. El aspecto de la palabra de configuracin puede variar de un modelo otro en funcin de las caractersticas del PIC. En general se pueden activar o desactivar de forma individual los distintos bits que permiten configurar el PIC de una determinada manera. 5.- Area de cdigo Representa a la memoria OTP/EEPROM/FLASH de programa. Sobre este buffer se visualiza el contenido de la memoria de programa del PIC recin ledo o bien el contenido que se desea grabar sobre ese PIC y que procede de un archivo *.HEX recin abierto. El contenido se puede visualizar en cdigo hexadecimal y ASCII y puede ser de 12, 14 o 16 bits por cada posicin. El tamao de este buffer vara en funcin del modelo de PIC seleccionado. Tambin puede ser visualizado en formato nemotcnico representando las instrucciones y sus operadores. Para modificar el contenido de cualquier posicin, basta con situar el cursor en la misma y teclear el nuevo valor. Esto se puede hacer tanto en hexadecimal como en ASCII. 6.- Area de datos Representa a la memoria EEPROM de datos. Sobre este buffer se visualiza el contenido de la memoria EEPROM de datos del PIC recin ledo o bien el contenido que se desea grabar sobre ese PIC y que procede de un archivo *.HEX recin abierto. El contenido se representa en cdigo hexadecimal y ASCII con 8 bits. El tamao de este buffer vara en funcin del modelo de PIC seleccionado y puede quedar deshabilitado si el modelo seleccionado no dispone internamente de memoria EEPROM para datos. Para modificar el contenido de cualquier posicin, basta con situar el cursor en la misma y teclear el nuevo valor. Esto se puede hacer tanto en hexadecimal como en ASCII.

2-8

Laboratorio PICSchool; Manual de Usuario TEMA 2: Software de grabacin7.- Pestaas de seleccin El IcProg dispone de 5 buffer diferentes que representan la memoria de programa y la de datos. Mediante cualquiera de estas pestaas se selecciona el buffer deseado. Disponer de varios buffer permite acceder rpidamente a informacin que proviene, p.e. de un PIC recin ledo por un lado y de un fichero *.HEX recin abierto por otro. 2.3.2 Configuracin del Hardware IcProg es un software que se adapta a numerosos grabadores comerciales o que tengan un hardware compatible. Mediante la opcin Tipo de Hardware del men Ajustes es posible configurar IcProg al tipo de grabador disponible. En la figura 2-6 se muestra la configuracin necesaria para adaptarlo con el circuito de grabacin de PICSchool que nos ocupa.

Figura 2-6. Configuracin de IcProg para adaptarlo a PICSchool

Mediante el men despegable se selecciona el modelo JDM. Se trata de un programador estndar que se gobierna desde el canal serie, al igual que el nuestro laboratorio PICSchool. Para una correcta adaptacin con ste, es necesario activar la inversin de las seales Data Out, Data In y Clock, tal y como se muestra en la imagen. El botn deslizante permite ajustar entre 1 y 40 el retardo en las transiciones de las lneas de I/O. Un valor de orientacin suele estar comprendido entre 1 y 25. Todo ello depende de la velocidad del ordenador donde se ejecuta IcProg. A mayor velocidad le corresponde un mayor retardo y viceversa, pero se aconseja hacer las pruebas oportunas para conseguir un compromiso entre la grabacin con xito del dispositivo y el menor retardo posible. 2.3.3 Configuracin del software Los usuarios de Windows NT, W2000 y WXP deben guardar en la misma carpeta que IcProg, el driver icprog.sys. Sobre el icono que representa el archivo ejecutable icprogxxxx.exe se hace doble click con el botn derecho y se selecciona la opcin Propiedades. Debe aparecer una ventana como la mostrada en la figura 2-7. Seleccionamos la pestaa Compatibilidad y se configuran las opciones mostradas en la figura. Se pulsa Aplicar y seguido Aceptar. Ahora se puede ejecutar el programa icprogxxxx.exe. Puede que aparezcan algunos mensajes de error que deben ser ignorados.

2-9

Laboratorio PICSchool; Manual de Usuario TEMA 2: Software de grabacin

Figura 2-7. Propiedades de IcProg para ejecutarlo desde WNT, W2000 y WXP

Finalmente, desde Opciones del men Ajuste se activa la pestaa Miscelnea y se realizan los ajustes mostrados en la figura 2-8, consistentes en habilitar el driver para NT/2000/XP.

Figura 2-8. Habilitando el driver para NT/2000/XP

Mediante la opcin Prueba de Hardware del men Ajustes es posible comprobar el correcto funcionamiento tanto de PICSchool como la comunicacin con IcProg. La Figura 2-9 muestra una ventana en la que es posible activar/desactivar individualmente cada una de las seales empleadas en la grabacin de un dispositivo PIC.

2-10

Laboratorio PICSchool; Manual de Usuario TEMA 2: Software de grabacin

Figura 2-9. Comprobando el hardware

Con Opciones del men Ajustes tambin se puede acceder a una serie de configuraciones que permiten personalizar el entorno de trabajo con IcProg, tal y como se muestra en la figura 2-10.

Figura 2-10. Personalizando el software IcProg

2.3.4 Tareas mas comunes Bsicamente se ejecutan mediante los distintos botones de la barra de comandos. Son las mostradas en la figura 2-11.

Figura 2-11. Botones con las tareas mas comunes

2-11

Laboratorio PICSchool; Manual de Usuario TEMA 2: Software de grabacin1.Abrir: Presenta el oportuno navegador que permite buscar y seleccionar el archivo *.HEX que se desea leer y depositar en el buffer activo. Este archivo *.HEX es el que se obtiene como consecuencia de ensamblar y/o compilar un programa fuente de aplicacin. Guardar como: Permite almacenar el contenido del buffer actual, sobre un archivo *.HEX. Configurar el hardware: Activa la ventana de configuracin, la mostrada en la figura 2-6, para realizar cualquier tipo de ajuste relativo a la configuracin y tipo de grabador. Opciones: Abre la pantalla de opciones que permiten el ajuste de diferentes parmetros de trabajo del software IcProg. Es la misma que la mostrada en la figura 2-8. Leer Todo: Lee el contenido de las diferentes reas de memoria del PIC (programa, datos y configuracin) y lo deposita sobre el buffer activo. Programar Todo: Graba sobre las diferentes reas de memoria del PIC (programa, datos y configuracin) el contenido actual del buffer activo. Borrar Todo: Borra el contenido de las diferentes reas de memoria del Pic (programa, datos y configuracin), dejndolo en blanco. Verificar: Compara el contenido de las diferentes reas de memoria del PIC (programa, datos y configuracin) con el contenido del buffer activado. Genera un informe con la 1 posicin cuyo contenido no coincida con el del buffer. Asistente Smartcard: Presenta una pantalla para la gestin de tarjetas de memoria tipo SmartCard. No es til con PICSchool. Vista ensamblador: Cambia la visualizacin del rea de datos presentando las instrucciones mediante nemnicos. Slo es vlido con los dispositivos PIC de 12 y 14 bits de la familia 12XXXX y 16XXXX. Vista hexadecimal. Visualiza el rea de programa y de datos en formato hexadecimal.

2.3.4.5.6.7.8.-

9.10.11.-

2.4 EL DEPURADOR EN CIRCUITO ICD2 Se trata de una herramienta semi profesional que tiene dos finalidades. Por un lado es un depurador en circuito que facilita la depuracin y puesta a punto del programa de aplicacin, haciendo que el dispositivo PIC pueda ejecutar dicho programa paso a paso, con puntos de ruptura, tiempo real, etc. Por otro lado el ICD2 incluye el hardware y firmware necesario para realizar las tareas propias de grabacin. Esto es lo que nos interesa bajo el punto de vista del laboratorio PICSchool y a lo que nos vamos a referir en este tema. El ICD2 es un producto original de Microchip y se controla desde el conocido software MPLAB IDE (entorno integrado de desarrollo) que se puede descargar de forma gratuita desde www.microchip.com. Es conveniente visitar esta pgina de forma peridica para descargar las versiones mas actuales de dicho software. Las imgenes y comentarios del presente texto son relativos a la versin 7.30. La figura 2-12 muestra la conexin entre el mdulo ICD2 y el laboratorio PICSchool. Basta emplear el cable RJ11 que se suministra con el ICD2 para conectar ambos equipos a travs de los correspondientes conectores. Una vez realizada la instalacin, PICSchool ser capaz de grabar todos los dispositivos PIC de la familia 12Fxxx, 16Fxxx y 18Fxxx que soporta el propio ICD2 y ser quin, bajo el control del software MPLAB IDE,suministre las seales necesarias para la grabacin: Vcc, GND, Vpp, PGC y PGD.

2-12

Laboratorio PICSchool; Manual de Usuario TEMA 2: Software de grabacin

Figura 2-12. Conexin de PICSchool con el mdulo ICD2 2.4.1 Instalacin Desde www.microchip.com se debe bajar la versin mas actualizada del MPLAB IDE que consistir en un fichero *.ZIP. Tambin se puede descargar el manual de usuario completo (en ingls). Una vez descomprimido se ejecuta la instalacin, debindose seguir los pasos que se van indicando a lo largo del proceso. En dicho proceso tambin se orienta cmo instalar los drivers necesarios para el control del mdulo ICD2. Este se puede conectar a un puerto serie o a un puerto USB. Se recomienda leer atentamente tanto el manual de usuario como toda informacin referente a la instalacin y empleo que acompaa al software MPLAB IDE. 2.4.2 Configuracin Aparte de todas las posibilidades que ofrece MPLAB IDE una vez debidamente instalado, debemos configurar el ICD2 como grabador por defecto. Esto se hace mediante la opcin Programmer/Select Programmer/MPLABICD2, tal y como se muestra en la figura 2-13.

2-13

Laboratorio PICSchool; Manual de Usuario TEMA 2: Software de grabacin

Figura 2-13. Seleccin del ICD2 como grabador por defecto

Mediante Programmer/Settings se activa una ventana similar a la de la figura 2-14 en la que se deben ajustar diferentes parmetros de configuracin del ICD2. 1.2.3.4.5.6.7.Status: Visualizar el estado de la conexin entre el MPLAB IDE y el mdulo ICD2. Comunication: Permite establecer el puerto de comunicaciones empleado por ICD2. Este puede ser el USB o bien un canal serie, el COM1 o COM2, en cuyo caso se deben fijar los baudios de la comunicacin. Limitations: Presenta un pequeo informe de las restricciones que tiene el ICD2 respecto al modelo de PIC seleccionado. Power: Con esta opcin se determina si el ICD2 se encargar de alimentar al circuito externo, en este caso el PICSchool. Se recomienda tener desactivada esta opcin. Program: Permite seleccionar qu rangos y reas de memoria van a ser tratados en los distintos procesos de lectura/grabacin del PIC seleccionado. Versions: Genera un informe sobre la versin del MPLAB ICD2, tipo de firmware, versin del mismo, etc.. Warnings: Permite habilitar o no la visualizacin de los diferentes tipos de avisos que se pueden generar durante una sesin de trabajo con ICD2.

Figura 2-14. Ajustes de configuracin para el ICD2

2-14

Laboratorio PICSchool; Manual de Usuario TEMA 2: Software de grabacinMediante las opciones del men Configure, que se muestran en la figura 2-15, se puede seleccionar el tipo de dispositivo as como su palabra de configuracin.

Figura 2-15 Seleccin de dispositivo

1.-

Select Device: Permite seleccionar el tipo de dispositivo a emplear. Mediante una ventana como la mostrada en la figura 2-16, se informa de qu herramientas y grabadores son soportados segn el PIC seleccionado. Las herramientas iluminadas en verde indican que son totalmente operativas con el modelo seleccionado. Las que estn marcadas en amarillo indican que son soportadas pero en fase beta de pruebas. Finalmente, aquellas herramientas iluminadas en rojo indican que no estn disponibles para el modelo de PIC seleccionado.

Figura 2-16. Seleccin de dispositivo

2.3.-

Configuration bits: Abre una ventana en la que se debe seleccionar los diferentes parmetros de configuracin del PIC: tipo de oscilador, proteccin de cdigo, activacin del WDT, etc.. ID Memory: Permite introducir el valor de identificacin del dispositivo

2-15

Laboratorio PICSchool; Manual de Usuario TEMA 2: Software de grabacin2.4.3 Tareas mas comunes Se realizan con las distintas opciones disponibles en el men Programmer, y son las mostradas en la figura 2-17.

Figura 2-17. Desde el men Programmer se pueden seleccionar las tareas mas comunes para la lectura/grabacin del dispositivo PIC seleccionado

1.2.3.4.5.6.-

Program: Graba el contenido del buffer de MPLAB sobre las distintas reas de memoria del PIC. Read: Lee las distintas reas de memoria del PIC y lo deposita sobre el buffer de MPLAB. Verify: Compara el contenido de la memoria del PIC con el del buffer, generando un informe de aquellas posiciones cuyos contenidos no coincidan. Erase Part: Borra todo el contenido del PIC. Blank Check: Comprueba que las distintas reas de memoria del PIC estn borradas, generando un informe de las posiciones que no estn. Connect: Establece la comunicacin entre el software MPLAB y el mdulo ICD2 al que a su vez est conectado el laboratorio PICSchool, con el PIC a leer/grabar. Es posible que, segn el modelo de PIC elegido, sea necesario actualizar el firmware interno del ICD2 con una versin que acepte a dicho modelo. Esto es un proceso automtico y transparente. Cuando la actualizacin se haya llevado a cabo, el ICD2 ser operativo con dicho modelo. Download ICD2 Operating System: Actualiza el firmware interno del ICD2 para adaptarlo al modelo de PIC seleccionado. Normalmente dicho firmware lo proporciona directamente el propio MPLAB.

7.-

2-16

Laboratorio PICSchool; Manual de Usuario TEMA 3: TutorialTEMA 3: Tutorial3.1 INTRODUCCION En este tema vamos a tratar de describir las tareas y herramientas necesarias para desarrollar el software de una determinada aplicacin. Tambin vamos a proponer una serie de ejemplos bsicos con programas de carcter didctico que se grabarn y ejecutarn sobre el dispositivo PIC 16F876 que incorpora de serie el laboratorio PICSchool. El organigrama mostrado en la figura 3-1 trata de resumir los pasos necesarios.

Figura 3-1. Esquema bsico de trabajo 1 El primer paso para el diseo del software de una aplicacin es editar el programa fuente. Para ello se puede emplear cualquier editor de textos tpico y que sea capaz de guardar ficheros de texto tipo ASCII como pueden ser el WordPad o el Bloc de notas incluidos en Windows, el Microsoft Word, etc.. Se escribe el programa fuente siguiendo la sintaxis propia del lenguaje de programacin que estemos empleando: Ensamblador, C, BASIC, etc.. La extensin del archivo que contiene el programa fuente suele indicar el tipo de lenguaje para el que est escrito (*.ASM, *.C, *.BAS, etc..). 2 Ensamblar y/o compilar consiste en traducir el programa fuente escrito mediante el editor de textos, en su equivalente en cdigo mquina o hexadecimal. Para ello existen diferentes herramientas segn el tipo de lenguaje empleado. Las herramientas para traducir cdigo ensamblador suelen ser gratuitas y estn disponibles en la web del fabricante. En el caso de Microchip existen versiones para MS-DOS (MPASM) para Windows (MPASMWIN) o la versin integrada en el conocido entorno de desarrollo MPLAB de este mismo fabricante. Las herramientas compiladoras para C, BASIC o cualquier otro tipo de lenguaje, suelen tener un determinado coste. De todas formas es posible encontrar en la red versiones shareware de las mismas, versiones demo e incluso versiones para su evaluacin. 3 En el proceso de traduccin se pueden producir errores. Estos errores son de tipo sintctico. Es decir, la herramienta empleada para la traduccin ha encontrado alguna incongruencia en el

3-1

Laboratorio PICSchool; Manual de Usuario TEMA 3: Tutorialprograma fuente, instrucciones desconocidas, parmetros incorrectos, etc. Es algo as como si se detectaran faltas de ortografa. En este caso el proceso se detiene y se debe volver al editor del programa fuente (punto 1) para corregir los errores encontrados. Cuando un programa fuente est correctamente escrito, los ensambladores y/o compiladores generan una serie de archivos. Uno de ellos, el ms importante, contiene el resultado de la traduccin, es decir el cdigo mquina o hexadecimal. La extensin de este archivo es *.HEX. El resto de archivos suelen ser archivos auxiliares y contienen informacin de la traduccin, listados, informacin para simulacin, etc.. Suelen ser necesarios y empleados por las herramientas de depuracin, emulacin y/o simulacin. 4 Obtenido el fichero ejecutable *.HEX debemos ahora verificar su funcionamiento. Para ello todos los fabricantes disponen de una serie de herramientas hardware/software que permiten comprobar el correcto funcionamiento del programa de aplicacin recin obtenido y, en su defecto, facilitar la localizacin del/los fallo/s. La herramienta mas profesional y de mayor coste es la conocida como Emulador. Est formado por un hardware y un software especial que permiten un anlisis en tiempo real del resultado de la ejecucin. El emulador se conecta fsicamente en el hardware de la aplicacin sustituyendo a todos los efectos, sin ningn tipo de restriccin, al microcontrolador que en dicho hardware debiera estar insertado. Mediante el software de emulacin adecuado el emulador ejecuta el programa de aplicacin como si del propio microcontrolador se tratara, controlando en tiempo real a todos los perifricos existentes. Es posible detener la ejecucin en un momento determinado (breakpoint), ejecutar paso a paso todas las instrucciones, visualizar/modificar los registros internos, analizar tiempos de ejecucin, registrar sucesos o eventos externos y un largo etctera. En el caso de los PICs, Microchip dispone de sendos emuladores como el IC2000 y el IC4000 cuyo control se realiza mediante el conocido entorno integrado MPLAB. Tambin existen varios fabricantes o terceras partes que comercializan este tipo de herramientas para estos microcontroladores. En un trmino medio y a un coste bastante asequible nos encontramos con los Depuradores en Circuito (ICD). Algunos microcontroladores, como es el caso de algunos dispositivos PIC, incorporan en su interior mecanismos de depuracin integrados. Basta un sencillo hardware externo llamado ICD para comunicar dichos mecanismos con el software de depuracin. Gracias al ICD el programa de aplicacin del usuario se graba fsicamente sobre el propio microcontrolador que se le supone insertado en el hardware final. Este programa se ejecuta por tanto en tiempo real gestionando as todos los perifricos que hubiera en dicho hardware. El ICD tambin permite el empleo de puntos de parada (breakpoints), ejecucin paso a paso, visualizacin/modificacin de registros, etc.. Puesto que el ICD es una herramienta de bajo coste, tambin tiene una serie de limitaciones o restricciones. Dado que se emplean algunos recursos del propio microcontrolador, estos no estn disponibles para el usuario. Consume parte del rea de programa, algunas lneas de E/S y, cada vez que se modifique el programa de aplicacin, es necesario volver a regrabarlo sobre el microcontrolador con el desgaste que esto supone. En ningn caso se puede por tanto comparar un Depurador con un Emulador. Microchip dispone del depurador ICD2 que tambin se controla mediante el software de depuracin MPLAB. Por ltimo nos encontramos con las herramientas de simulacin. Es la solucin menos profesional pero la mayor parte de fabricantes la distribuyen de forma gratuita a sus usuarios. Se trata de un software que se ejecuta en el PC y trata de simular el comportamiento del microcontrolador cuando ste ejecuta el programa de aplicacin. Naturalmente esta ejecucin NO se realiza en tiempo real ni tampoco podemos conectar perifricos reales al PC. El ya mencionado entorno de desarrollo MPLAB de microchip tambin tiene la posibilidad de hacer simulacin de los diferentes dispositivos PIC existentes. Es una solucin bastante vlida a nivel didctico en ciclos formativos y, sobre todo, es gratuita.

3-2

Laboratorio PICSchool; Manual de Usuario TEMA 3: Tutorial5 Sea cual sea la herramienta de emulacin/depuracin/simulacin seleccionada, el objetivo final es siempre localizar posibles fallos en el programa de aplicacin y corregirlos. La correccin de esos fallos implica volver al punto 1 para editar y corregir el programa fuente y ensamblarlo nuevamente. El proceso finaliza cuando dicho programa cumpla todas las expectativas. Grabar el dispositivo. Efectivamente, una vez que se ha obtenido un programa funcional y ejecutable (*.HEX) se procede a grabarlo en la memoria interna del microcontrolador. Para ello se recurre a un grabador dotado del software de grabacin oportuno. Por supuesto que el entorno de desarrollo MPLAB tambin tiene la posibilidad de grabar dispositivos. Concretamente permite la conexin con varios equipos de grabacin diseados y comercializados por Microchip: PICSTART Plus, MPLAB ICD2, MPLAB PM3, PROMATE II y PICkit 1. 7 El ltimo paso consiste en hacer las pruebas finales y definitivas. El microcontrolador recin grabado se inserta en el hardware final de la aplicacin donde se verifica el correcto funcionamiento de todo el conjunto hardware/software.

6

El laboratorio PICSchool es una potente y autnoma herramienta hardware para el desarrollo de aplicaciones basadas en microcontroladores PIC. Admite los dispositivos mas representativos, posee un buen nmero de perifricos con un flexible sistema para su interconexin, dispone de un rea para el montaje rpido sin soldaduras y es capaz de grabar el dispositivo PIC insertado en su correspondiente zcalo. Con PICSchool es posible hacer emulacin si se dispone de la herramienta correspondiente, el emulador. Tambin admite la conexin con el depurador en circuito ICD2 (se vende por separado), lo que facilita la depuracin y puesta en marcha del programa as como su grabacin. Finalmente, como PICSchool posee de su propio sistema de grabacin, basta con disponer de un software de simulacin y otro de grabacin para el desarrollo de la aplicacin. Es la opcin mas econmica y en la que se va a basar el presente tutorial. 3.2 TUTORIAL En Ingeniera de Microsistemas Programados S.L hemos optado por el empleo del software MPLAB para el desarrollo del presente tutorial, por ser un Entorno Integrado de Desarrollo (IDE) muy completo: Es totalmente gratuito y desde www.microchip.com se pueden obtener las diferentes actualizaciones. Permite realizar todas las tareas necesarias en un proyecto: editar el programa fuente, ensamblar y/o compilar (si se dispone del compilador) el programa fuente, simular el funcionamiento del programa ejecutable, etc.. Si se dispone de las herramientas hardware correspondientes tambin es posible emular, depurar y grabar el dispositivo. Como software de grabacin vamos a emplear el WinPIC800 por los siguientes motivos: Es de libre distribucin y desde http://perso.wanadoo.es/siscobf/winpic800.htm se pueden obtener las distintas actualizaciones. Est en constante evolucin y cuenta con un interesante foro. Se adapta perfectamente al hardware de grabacin contenido en el laboratorio PICSchool. Admite los dispositivos PIC mas relevantes. Se supone que ambos programas estn debidamente instalados siguiendo las instrucciones de instalacin. Tambin se sugiere crear una carpeta llamada Ejemplos para PICSchool y copiar en ella todos los programas fuente *.ASM de ejemplo contenidos en el CD-ROM que viene con el equipo.

3-3

Laboratorio PICSchool; Manual de Usuario TEMA 3: Tutorial3.2.1. Creacin de un proyecto Cuando se est en fase de desarrollo de un programa de aplicacin, se genera una abundante informacin relacionada con el mismo que se aglutina en torno a lo que se llama un Proyecto. Un proyecto no es mas que un fichero en el que queda reflejado una importante serie de datos relacionados con esa aplicacin: Tipo de procesador empleado. Lenguaje de programacin. Nombre del fichero que contiene el programa fuente. Ficheros que se obtienen tras el ensamblado y/o compilacin: ejecutables (*.HEX), listados (*.LST), errores (*.ERR), informacin de simulacin, etc.. Entorno de trabajo Parmetros de configuracin, etc... De esta forma, cuando se retoma el trabajo de un da para otro, basta con abrir simplemente el proyecto en cuestin. Automticamente y de forma rpida y cmoda aparece el entorno de trabajo tal y como se dej. El entorno de desarrollo MPLAB dispone de un cmodo gestor de proyectos que, tal y como se muestra en la figura 3-2, se inicia mediante la opcin Project/Project Wizard del men principal.

Figura 3-2. Iniciando el gestor de proyectos Este gestor nos va guiando a definir el proyecto que se puede resumir en los siguientes pasos: 1 Definir el tipo de microcontrolador que se va a emplear en la aplicacin. Ver la figura 3-3.

3-4

Laboratorio PICSchool; Manual de Usuario TEMA 3: Tutorial

Aparece una lista despegable con todos los dispositivos admitidos en la versin actual de MPLAB. Estamos empleando la versin 7.30 y el dispositivo seleccionado es el PIC16F876A que es el que incorpora de serie el laboratorio PICSchool . Se pulsa el botn Siguiente para seguir con el proceso. Figura 3-3. Seleccin del dispositivo

2

Se selecciona la herramienta software que se va a emplear en el proceso de ensamblado y/o compilacin para obtener el programa ejecutable (*.HEX) a partir del programa fuente (*. ASM, *.C, etc.). Ver la figura 3-4.

Mediante la persiana denominada Active Toolsuite se selecciona una de esas herramientas. En la actualidad, MPLAB se puede integrar con herramientas propias de Microchip o de terceras fuentes. Para ello se deben seguir las instrucciones de instalacin propias de cada una de ellas. En el caso que nos ocupa seleccionamos Microchip MPASM Toolsuite que es el ensamblador que se suministra gratuitamente y se instala junto con el propio MPLAB. Esta herramienta consta del ensamblador (mpasmwin.exe) propiamente dicho, el enlazador o lincador (mplink.exe) y libreras (mplib.exe). Con el botn Browse... se puede seleccionar el lugar o ruta donde se encuentran cada uno de estos ficheros, que por defecto es la mostrada en la figura. Figura 3-4. Seleccionando la herramienta de ensamblado/compilacin 3 Dar nombre al proyecto e indicar la carpeta donde ha de guardarse, tal y como se muestra en la figura 3-5.

3-5

Laboratorio PICSchool; Manual de Usuario TEMA 3: TutorialEn este caso el proyecto se denomina Ejem_1 y se guardar en la carpeta Ejemplos para PICSchool de la unidad F:\ (o cualquier otra unidad disponible). Esta carpeta es la que se sugiri crear anteriormente para guardar en ella todos los programas fuentes de ejemplo (*.ASM) que se suminis


Recommended