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
Título:
Compilador C CSS y Simulador PROTEUS para Microcontroladores PIC
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
1. ISIS de PROTEUS VSM Capítulo 1 ISIS de PROTEUS VSM 1.1 Introducción El entorno de diseño electrónico PROTEUS VSM de LABCENTER ELECTRONICS ( www.labcenter.co.uk ) ofrece la posibilidad de simular código microcontrolador de alto y bajo nivel y, simultáneamente, con la simulación en modo mixto de SPICE . Esto permite el diseño tanto a nivel hardware como software y realizar la simulación en un mismo y único entorno. Para ello, se suministran tres potentes subentornos como son el ISIS para el diseño gráfico, VSM ( Virtual System Modelling ) para la simulación y el ARES para el diseño de placas (figura 1). Figura 1. Entorno de trabajo PROTEUS (fuente: Labcenter Electronics)
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 I 2C 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
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.
Читать дальше