190 likes | 466 Views
COMPILADOR C DE CCS. PRINCIPALES FUNCIONES Y DIRECTIVAS. DIRECTIVAS DE PREPROCESADO. #DEVICE. Syntax: #device chip options chip is the name of a specific processor (like: PIC16C74), Options are qualifiers to the standard operation of the device. Example: #device PIC16F877. #INCLUDE.
E N D
COMPILADOR C DE CCS PRINCIPALES FUNCIONES Y DIRECTIVAS
#DEVICE • Syntax: #device chip options • 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: • #include <filename> • #include "filename“ • Ejemplos: • #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: • #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: • 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: • 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( ) • 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);
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() OTRAS FUNCIONES