PRINCIPALES FUNCIONES Y DIRECTIVAS COMPILADOR C DE CCS PRINCIPALES FUNCIONES Y DIRECTIVAS
DIRECTIVAS DE PREPROCESADO
#DEVICE Syntax: #device chip options Example: chip is the name of a specific processor (like: PIC16C74), Options are qualifiers to the standard operation of the device. Example: #device PIC16F877
#INCLUDE Syntax: Ejemplos: #include <filename> #include <16f877.h> #include “lcd.h”
#DEFINE Syntax: #define id text Used to provide a simple string replacement of the ID with the given text from this point of the program and on. Examples: #define verdadero 1 #define falso 0
#USE ****_I/O Afectan a como utilizamos los TRISX Syntax: Ejemplo #use fast_io (port) #use fixed_io (port_outputs=pin, pin?) #USE STANDARD_IO (port) Ejemplo #use fast_io (A)
#USE DELAY Syntax: #use delay (clock=speed(Hz)) Tells the compiler the speed of the processor and enables the use of the built-in functions: delay_ms() and delay_us(). Ejemplo: #use delay (clock=20000000)
#BYTE Syntax: #byte id = x Elements: id is a valid C identifier, x is a C variable or a constant Coloca la variable id en la posicion de memoria x. Ejemplo: #byte portb=5
#INT_xxx Indica que la funcion a continuacion es la rutina de atencion de una determinada interrupción #INT_EXT External interrupt #INT_RTCC Timer 0 (RTCC) overflow #INT_TIMER1 Timer 1 overflow
FUNCIONES ESPECIFICAS DEL COMPILADOR RS232 I/O I2C I/O Discrete I/O SPI two wire I/O Parallel Slave I/O Delays Processor Controls Bit/Byte Capt/Comp/PWM Timers A/D Conversion EEPROM C Math Etc.
DELAYS delay_ms(tiempo) delay_us(tiempo) delay_cycles(ciclos) (0-255) 1 ciclo= 4 ciclos de reloj
INPUT( ) Syntax: value = input (pin) Returns: Ejemplo: 0 (or FALSE) if the pin is low, 1 (or TRUE) if the pin is high Ejemplo: Encendido=input(PIN_A4)
INPUT_x() Syntax: value = input_a() value = input_b() value = input_c() ... Returns: An 8 bit int representing the port input data.
OUTPUT_X() Syntax: Parameters: value is an 8 bit int output_a (value) output_b (value) ... Parameters: value is an 8 bit int Function: Output an entire byte to a port.
OUTPUT_BIT( ) Syntax: output_bit (pin, value) Function: Outputs the specified value (0 or 1) to the specified I/O pin. Ejemplos Output_bit (PIN_D1,0) Output_bit(PIN_A3,1)
OUTPUT_xxxx() OUTPUT_HIGH( ) OUTPUT_LOW( ) Syntax: output_high (pin) Function: Sets a given pin to the high state. OUTPUT_LOW( ) Syntax: output_low (pin) Function: Sets a given pin to the ground state.
SET_TRIS_X() Configura los registros de direccionamiento de los puertos (TRIS) 0 significa salida 1 significa entrada Ejemplo: Set_tris_a(0b00001011)
ENABLE/DISABLE INTERRUPTS Permiten o inhiben las interrupciones. Ejemplos: enable_interrupts(GLOBAL); disable_interrupts(INT_TIMER0); enable_interrupts(INT_TIMER1);
OTRAS FUNCIONES setup_adc_ports() setup_adc() set_adc_channel() read_adc() setup_timer_X() set_timer_X() get_timer_X() swap() setup_ccpX() set_pwmX_duty()