COMPILADOR CCS C
Y FUNCIONES
BÁSICAS.
MICROCONTROLADORES. 1
• El Compilador C de CCS ha sido desarrollado
específicamente para PIC MCU, obteniendo la
máxima optimización del compilador con estos
dispositivos.
• Dispone de una amplia librería de funciones
predefinidas, comandos de preprocesado y
ejemplos.
• Suministra los controladores (drivers) para
diversos dispositivos como LCD, convertidores AD,
relojes en tiempo real, EEPROM serie, etc.
MICROCONTROLADORES. 2
•Un compilador convierte el lenguaje de alto nivel a
instrucciones en código máquina.
•Un cross-compiler es un compilador que funciona
en un procesador (normalmente un PC).
•El compilador CCS C es un cross-compiler. Los
programas son editados y compilados a
instrucciones máquina en el entorno de trabajo del
PC, el código máquina puede ser cargado del PC al
sistema mediante cualquier programador y puede
ser depurado.
MICROCONTROLADORES. 3
ESTRUCTURA DE
UN PROGRAMA
MICROCONTROLADORES. 4
Para escribir un programa en C con el CCS C se deben tener en cuenta
una serie de elementos básicos de su estructura.
• DIRECTIVAS DE PREPROCESADO: controlan la conversión del
programa a código máquina por parte del compilador.
• PROGRAMAS o FUNCIONES: conjunto de instrucciones. Puede haber
uno o varios; en cualquier caso siempre debe haber uno definido
como principal mediante la inclusión de la llamada main().
• INSTRUCIONES: indican como debe comportar el PJC en todo
momento.
• COMENTARIOS: permiten describir lo que significa cada línea del
programa.
MICROCONTROLADORES. 5
MICROCONTROLADORES. 6
PASOS A SEGUIR EN LA
PROGRAMACIÓN EN
PICC.
MICROCONTROLADORES. 7
ENCABEZADO:
1. Incluir el PIC. #include <PIC.h>
2. Configurar los fusibles. #fuses
3. Configurar el tipo de oscilador. #use delay(clock = Mhz)
4. Opcional: Asignar variables #define
a los pines.
5. Establecer que la configuración
#use fast_IO (Puerto)
que se le da a los puertos se respete.
MICROCONTROLADORES. 8
PROGRAMA PRINCIPAL:
6. Se inicia el programa principal. void main ()
7. Declaración de variables INT, INT16, FLOAT32 etc.
Más detalle en HELP
8. Configurar los puertos. SET_TRIS_B(0b00000000)
1 – Entrada 0 – Salida
9. Creación de un ciclo infinito
do
y escribir el programa dentro del
{ }while (TRUE)
mismo.
MICROCONTROLADORES. 9
INSTRUCCIONES
BÁSICAS.
MICROCONTROLADORES. 10
output_high (pin)
Coloca un nivel alto en el pin (le escribe un 1)
output_low (pin)
Coloca un nivel bajo en el pin (le escribe un 0)
MICROCONTROLADORES. 11
INSTRUCCIONES
IMPORTANTES.
MICROCONTROLADORES. 12
output_x(); donde x es un puerto
Escribe un byte completo en el puerto x.
input_x(); donde x es un puerto
Lee ó extrae un byte completo de la entrada de un
puerto.
MICROCONTROLADORES. 13
delay_ms (time)
Esta función creará un código para ejecutar un retardo
de la longitud especificada. El tiempo es en ms.
make8 ()
Extrae un byte deseado de una int32 x;
int y;
variable de mayor longitud.
y = make8(x,3);
MICROCONTROLADORES. 14
¿QUÉ ES MIUVA?
Miuva es una tarjeta de desarrollo de Intesc, la cual tiene
incorporada el PIC18F4550 y está equipada con su propio
depurador/programador por lo cual no se necesitará nada
extra para poder cargar los códigos realizados durante el
curso y probarlos físicamente
MICROCONTROLADORES. 15
¿QUÉ ES MIUVA?
Miuva es una tarjeta de desarrollo de Intesc, la cual tiene incorporada
el PIC18F4550 y está equipada con su propio depurador/programador
por lo cual no se necesitará nada extra para poder cargar los códigos
realizados durante el curso y probarlos físicamente.
Miuva cuenta con:
•Un oscilador de 8 Mhz, el cual con el PLL interno se puede incrementar
hasta 48Mhz.
•1 Push button de Reset.
•1 Push button de propósito general.
•1 LED RGB de propósito general.
•14 pines de entrada/salida para protoboard.
•Puerto de expansión para LCD.
•Puerto RS232.
•Puerto de expansión macho para el puerto D.
•Puerto USB para interfaz de usuario.
MICROCONTROLADORES. 16
SIMULADOR.
Proteus, permite simular el microcontrolador PIC 18F4550
así como los elementos del curso.
MICROCONTROLADORES. 17
MICROCONTROLADOR
18F4550
MICROCONTROLADORES. 18
¿QUÉ ES UN MICROCONTROLADOR?
Un Microcontrolador es una computadora a pequeña escala, con
recursos limitados empleados para realizar una tarea determinada.
Los Microcontroladores a diferencia de los Microprocesadores son
dispositivos cerrados, los cuales tienen los módulos en su interior y se
comunican con el mundo real mediante los pines de entrada y/o salida.
Al tener internamente todos los recursos y ser cerrados se podría decir
que están limitados, sin embargo, esto se compensa debido a que hay
diferentes empresas que se dedican a fabricarlos, cada una de ellas
proponiendo diferentes modelos, por lo tanto cuando se realiza una
aplicación puede elegir el que más se ajuste a sus necesidades
considerando el precio y los recursos que ofrece.
MICROCONTROLADORES. 19
EL MICROCONTROLADOR PIC1854550
El Microcontrolador que utilizaremos durante el curso es de la
empresa Microchip. Los Microcontroladores de esta empresa se
llaman “PIC’s” y dependiendo de los recursos que tengan pertenecerá a
una familia en específico.
La estructura de los nombres de los Microcontroladores de Microchip es
la siguiente:
PIC + Familia + Identificador de voltaje + Identificador de la tecnología
de la memoria + Número que identifica el tipo de encapsulado + Número
que identifica el tamaño de la memoria de programa + Dos dígitos
arbitrarios.
MICROCONTROLADORES. 20
MICROCONTROLADORES. 21
El PIC18F4550 es ampliamente utilizado, y entre sus principales
módulos y características tiene:
•3 interrupciones externas.
•4 módulos de timer.
•2 módulos CCP.
•Módulo EUSART.
•Módulo MSSP.
•ADC de 10 bits.
•USB
•5 puertos de entrada y/o salida con 35 pines.
MICROCONTROLADORES. 22
DIAGRAMA DE ASIGNACIÓN Y CONEXIÓN DE
LOS PINES
Puerto A
Puerto B
Puerto C
Puerto D
Puerto E
Pines de
propósito
general
PINES DE PROPÓSITO GENERAL
MCLR#/VPP/THV (1): Entrada de Reset.
VSS (12 y 31): Conexión a tierra.
VDD (11 y 32): Entrada de la alimentación positiva (5 V).
OSC1/CLKIN (13): entrada del cristal de cuarzo o del oscilador
externo.
OSC2/CLKOUT (14): salida del cristal de cuarzo.
MICROCONTROLADORES. 26
MICROCONTROLADORES. 27
MICROCONTROLADORES. 28
TIPOS DE DATOS
MICROCONTROLADORES. 29
MICROCONTROLADORES. 30
MICROCONTROLADORES. 31
MICROCONTROLADORES. 32
MICROCONTROLADORES. 33
MICROCONTROLADORES. 34
SENTENCIAS.
MICROCONTROLADORES. 35
MICROCONTROLADORES. 36
MICROCONTROLADORES. 37
MICROCONTROLADORES. 38
MICROCONTROLADORES. 39
MICROCONTROLADORES. 40
MICROCONTROLADORES. 41
MICROCONTROLADORES. 42
MICROCONTROLADORES. 43
MICROCONTROLADORES. 44
MICROCONTROLADORES. 45
DIRECTIVAS
PRINCIPALES
MICROCONTROLADORES. 46
MICROCONTROLADORES. 47
MICROCONTROLADORES. 48
MICROCONTROLADORES. 49
MICROCONTROLADORES. 50