cover

2a EDICIÓN

COMPILADOR C CCS

Y

SIMULADOR PROTEUS

PARA

MICROCONTROLADORES PIC

2a EDICIÓN

COMPILADOR C CCS

Y

SIMULADOR PROTEUS

PARA

MICROCONTROLADORES PIC

Eduardo García Breijo

Images

Autor:
© 2009 Eduardo García Breijo, segunda edición

Editorial:
© MARCOMBO, EDICIONES TÉCNICAS 2009
    MARCOMBO, S.A.
    Gran Via de les Corts Catalanes 594
    08007 Barcelona (España)

Quedan rigurosamente prohibidas, sin la autorización escrita de los titulares del copyright, bajo las sanciones establecidas en las leyes, la reproducción total o parcial de esta obra por cualquier medio o procedimiento, incluidos la reprografía y el tratamiento informático, así como la distribución de ejemplares mediante alquiler o préstamo públicos.

ISBN: 978-84-267-1864-8

Impreso en
D.L.:

En memoria de Agustín

Índice analítico

1. ISIS de PROTEUS VSM

1.1 Introducción

1.2 Captura electrónica: entorno gráfico ISIS

1.3 Depuración de los sistemas basados en PICmicro

1.4 Creando nuevos dispositivos

2. Compilador CCS C

2.1 Introducción

2.2 Estructura de un programa

2.3 Tipos de datos

2.4 Las constantes

2.5 Variables

2.6 Operadores

2.6.1 Asignación

2.6.2 Aritméticos

2.6.3 Relacionales

2.6.4 Lógicos

2.6.5 De bits

2.6.6 Punteros

2.7 Funciones

2.8 Declaraciones de control

2.8.1 IF-ELSE

2.8.2 SWITCH

2.8.3 FOR

2.8.4 WHILE / DO-WHILE

2.8.5 Otros

2.9 Comentarios

2.10 Directivas y funciones (Preprocessor commands y built-in functions)

2.10.1 Directivas

2.10.2 Funciones

2.11 Librerías, drivers y ejemplos

2.12 Entorno de trabajo de CCS C Compiler

2.12.1 Introducción

2.12.2 Entorno de trabajo

3. La gestión de los puertos

3.1 Introducción

3.2 Gestión de puertos en C

3.2.1 A través de la RAM

3.2.2 A través de las directivas

3.2.3 Con punteros

3.3 Entradas y salidas

3.3.1 LCD

3.3.2 LCD gráfico

3.3.3 Teclado (keypad 3x4)

4. Las interrupciones y los temporizadores

4.1 Introducción

4.2 Interrupciones

4.2.1 Interrupciones en C

4.2.1.1 Interrupción exterior por RB0

4.3 TIMER0

4.3.1 TIMER0 en C

4.4 TIMER1 y TIMER2

4.4.1 TIMER1 y TIMER2 en C

5. Convertidor Analógico – Digital y Digital – Analógico

5.1 Introducción AD

5.2 Módulo Convertidor (gama media)

5.2.1 Registros FSR

5.2.2 Proceso de conversión

5.2.3 Efecto del modo SLEEP y RESET en el módulo AD

5.3 Módulo AD en C

5.4 Conversión DA

5.4.1 DAC externo

5.4.2 Redes de resistencia externa

5.4.3 PWM con filtro

6. Módulo CCP – Comparador, Captura y PWM

6.1 Introducción

6.2 Modo Captura

6.3 Modo Comparación

6.4 Modo PWM

6.5 Módulo CCP en C

7. Transmisión serie

7.1 Introducción

7.2 El módulo USART/SCI

7.2.1 Introducción

7.2.2 El módulo USART en C

7.2.3 La norma RS232

7.3 Puerto serie síncrono (SSP)

7.3.1 Interfaz Inter-Circuitos (I2C)

7.3.1.1 I2C en C

8. Gama Alta – PIC18

8.1 Introducción

8.2 Organización de la memoria

8.2.1 Arquitectura HARDVARD

8.2.2 Memoria de Programa

8.2.3 Contador de Programa

8.2.4 Memoria de Configuración

8.2.5 Pila

8.2.6 Memoria de Datos

8.2.7 Memoria EEPROM

8.2.8 Modos de Direccionamiento

8.2.9 Interrupciones

8.2.9.1 Registros de salvaguarda

8.2.10 Registro W

8.2.11 Oscilador

8.2.12 Unidades Funcionales

8.2.12.1 Puertos de entrada/salida

8.2.12.2 Temporizadores

8.2.12.3 Convertidor Analógico-Digital

8.2.12.4 Canal de Comunicación Serie (EUSART)

8.2.12.5 Módulo Master SSP (MSSP)

8.2.12.6 Módulo de Compración/Captura/PWM (CCP)

8.2.12.7 Módulo Comparador

8.2.12.8 Módulo de referencia

8.2.12.9 Módulo detector de Alto/Bajo Voltaje

9. RTOS – Real Time Operating System

9.1 Introducción

9.2 RTOS en C

10. USB – Universal Serial Bus

10.1 Introducción

10.1.1 USB CDC (Communication Device Class)

10.1.2 USB HID (Human Interface Devices)

10.1.3 Microchip USB

10.2 USB con ISIS y CCS C

10.2.1 USB en ISIS

10.2.2 USB en CCS C

10.2.2.1 Clase CDC en CCS C

10.2.2.2 Clase HID en CCS C

11. ARES de PROTEUS VSM

11.1 Introducción

11.2 Diseño de PCB – Entorno gráfico ARES

11.3 Preparación del esquema

11.4 Diseño de la placa con ARES

11.4.1 Diseño de la PCB y colocación de componentes

11.4.2 Enrutado de pistas

11.4.3 Nuevos encapsulados

Introducción

El estudio de los microcontroladores PIC no consiste sólo en dominar su arquitectura interna o el código maquina sino también en conocer programas auxiliares que facilitan el diseño de los sistemas donde intervienen.

Entre los muchos programas para el desarrollo de sistemas con PICmicro® destacan, por su potencia, el PROTEUS VSM de ©Labcenter Electrónics y el compilador C de ©Custom Computer Services Incorporated (CCS).

El programa PROTEUS VSM es una herramienta para la verificación vía software que permite comprobar, prácticamente en cualquier diseño, la eficacia del programa desarrollado. Su combinación de simulación de código de programación y simulación mixta SPICE permite verificaciones analógico-digitales de sistemas basados en microcontroladores. Su potencia de trabajo es magnífica.

Por otra parte, tenemos el compilador C de CCS, ya que después de conocer y “dominar” el lenguaje ensamblador es muy útil aprender a programar con un lenguaje de alto nivel como el C. El compilador CCS C permite desarrollar programas en C enfocado a PIC con las ventajas que supone tener un lenguaje desarrollado específicamente para un microcontrolador concreto. Su facilidad de uso, su cuidado entorno de trabajo y la posibilidad de compilar en las tres familias de gamas baja, media y alta, le confieren una versatilidad y potencia muy elevadas.

Al escribir este libro se plantean muchas dudas, sobre todo a la hora de concretar el temario. Escribir profusamente sobre los PIC o sobre el PROTEUS o sobre el CCS C supone, casi seguro, escribir un libro para cada uno de estos temas. Por ello, el planteamiento ha sido diferente, desarrollar los conocimientos básicos necesarios para manejar cada programa, apoyarlo con el mayor número de ejercicios y dejar al lector la posterior ampliación de conocimientos. Así lo he decido en base a la experiencia que me da estar impartiendo clases sobre PIC en la carrera de Ingenieros Técnicos Industriales, especialidad de Electrónica Industrial, de la Universidad Politécnica de Valencia.

Con estas premisas espero que el libro sirva a lector para aumentar sus conocimientos sobre el PIC o para iniciarlos en el caso de los que desconozcan este mundo.