1. LENGUAJE DE PROGRAMACIÓN C18

Tamaño: px
Comenzar la demostración a partir de la página:

Download "1. LENGUAJE DE PROGRAMACIÓN C18"

Transcripción

1 1. LENGUAJE DE PROGRAMACIÓN C INTRODUCCIÓN El lenguaje C fue creado en los años 70 para escribir el código del sistema operativo UNIX. Tanto por su origen como por sus características, es un lenguaje muy adecuado para la programación de sistemas, ya que combina la abstracción de los lenguajes de alto nivel con la eficiencia del lenguaje máquina. La amplia utilización de C para distintos tipos de computadores ocasionó muchas variantes. Éstas eran similares, pero a menudo incompatibles, lo que se volvió un problema serio para los desarrolladores que necesitaban escribir programas que se ejecutaran en distintas plataformas. Entonces, se hizo evidente la necesidad de una versión estándar de C. En 1983, se creó el comité técnico X3J11 bajo la supervisión de American National Standards Comitte on Computer and Information Processing (X3), para proporcionar una definición del lenguaje clara e independiente de la computadora. En 1989, el estándar fue aprobado. ANSI cooperó con la International Organization for Standardization (ISO) para estandarizar C a nivel mundial; el documento conjunto del estándar se publicó en 1990 y se conoce como ANSI/ISO9899:1990 o ANSI C. Entre las características de este lenguaje cabe citar que es altamente portable, es muy flexible, genera código muy eficiente y permite escribir código muy compacto (se pueden realizar muchas funciones escribiendo pocas líneas de código). El C18 es una versión del C creada específicamente para los microcontroladores PIC18, que por sus características resulta demasiado complicado la programación en su lenguaje de bajo nivel, el Assambler COMPILADOR MPLAB C INTRODUCCIÓN El compilador MPLAB C18 es un compilador que optimiza el estándar ANSI C en los microcontroladores PIC18. El compilador modifica el estándar ANSI X sólo en los puntos en los que se puedan crear conflictos con el soporte del microcontrolador. El MPLAB C18 tiene las siguientes características: Compatibilidad ANSI 89. Integración con el MLAB IDE para una mayor facilidad de realización y debugg de proyectos. Admite ensamblador empotrado. Gran variedad de librerías. Optimización multinivel. Acceso transparente en la lectura/escritura de la memoria. Versión estudiante gratuita.

2 Documento creado por Slalen para Electronics Strange World En este manual, aparecen en verde y con tipo de letra Comic Sans MS el código fuente y en verde con tipo de letra Times New Roman las notas del código TIPOS DE DATOS Los datos de más de un byte de longitud, se almacenan en memoria como en el ensamblador, con el criterio Little Indian; es decir, los bytes menos significativos se almacenan en las posiciones de memoria bajas Enteros Tipo Tamaño Mínimo Máximo Char 8 bits Signedchar 8 bits Unsigned char 8 bits Int 16 bits Unsigned Int 16 bits Short 16 bits Unsigned Short 16 bits Short long 24 bits Unsigned short long 24 bits Reales Long 32 bits Unsigned long 32 bits Tipo Tamaño Exponente Mínimo Exponente Máximo Float 32 bits Double 32 bits Estructuras Se permiten las estructuras de datos. Su utilidad es el acceso a bits. union tpuerto{ unsigned char valor; struct{ unsigned bit0:1; unsigned bit1:1; 2

3 Manual C18 }byte; }; unsigned bit2:1; unsigned bit3:1; unsigned bit4:1; unsigned bit5:1; unsigned bit6:1; unsigned bit7:1; En este ejemplo se declara tpuerto como byte que contiene: Una variable tipo char llamada valor. Un conjunto de bits Almacenamiento El compilador reconoce los modificadores establecidos en la norma ANSI: Auto: Externa: Register: Las variables se declaran globales si se ha hecho fuera de las funciones y locales si se realiza en las funciones. Tienen prioridad las locales. Todas las variables no inicializadas tienen un valor indefinido. La variable declarada pertenece a otro módulo, por lo que no reserva memoria para ella. Sirve para acceder a una variable aunque no se haya declarado todavía. Se inicializan a cero. La variable se guarda en uno de los registros del procesador. Si no se puede almacenar en un registro, se comporta como Auto. Útil para optimizar el tiempo de ejecución de algunas funciones. Static: Typedef: Overlay: Variables locales que retiene su valor al salir de la función en la que se ha declarado. Se inicializan a cero. Ahorra número de instrucciones para acceder a las variables. Asigna un nuevo nombre a un tipo de datos. Declara las variables locales Static pero se inicializan cada vez que se llama la función. 3

4 Documento creado por Slalen para Electronics Strange World Calificadores Ahorra espacio de memoria. Const: Definición de una constante. Volatile: El contenido de la variable puede cambiar. Far: Los datos se encuentran en un banco lejano, hay que cambiar de banco o de acceso indirecto para acceder a la variable. Si se declara código, podemos acceder a objetos por encima de 64KB. Near: La variable se declara en el banco de acceso. Si se declara código, accedemos a una zona inferior de 64KB. RAM: La variable se sitúa en la memoria de datos. ROM: La variable se sitúa en la memoria de programa ESTRUCTURAS DE CONTROL Repetitivas Sentencia While Las instrucciones se ejecutan repetidamente hasta que el valor de la expresión, que se comprueba al comenzar el bucle, sea falso, es decir cero. while (expresión) { Instrucción 1 Instrucción 2... Instrucción n } Sentencia Do Las instrucciones se ejecutan repetidamente hasta que el valor de la expresión, que se comprueba al final del bucle, sea falso, es decir cero. do { Instrucción 1 Instrucción 2... Instrucción n } while ( expresión ); Sentencia For Las instrucciones se ejecutan repetidamente hasta que el valor de la exp2 sea falso, es decir cero. exp1 sirve para inicializar el contador del bucle. exp3 controla el contador del bucle. Se evalúa al final del mismo. for( exp1; exp 2; exp 3) { 4

5 Manual C18 Instrucción 1 Instrucción 2... Instrucción n } Sentencia If La expresión se evalúa y si es verdadera (distinta de cero) se ejecutan las instrucciones. If( expresión ) { Instrucción 1 Instrucción 2... Instrucción n } Sentencia If-Else La expresión se evalúa, si es verdadera se ejecutan las instrucciones A, en caso contrario las Instrucciones B. If( expresión ) { Instrucciones A } else {Instrucciones B } Sentencia Switch Permite realizar selecciones múltiples. switch ( expresión ) { case const1: Instrucción 1; break; case const2: Instrucción 2; break;... default: Instrucción n break; } Sentencia Break Interrumpe la ejecución de un bucle while, do-while o for. Ejemplo: cómo salir de un bucle infinito for? For (;;) { if( a==0) { break; } a=porta; } 5

6 Documento creado por Slalen para Electronics Strange World Sentencia Continue Se utiliza en los bucles para pasar a la siguiente repetición. For (;;) { if( a!=0) { continue; } break; } Sentencia Goto Transfiere incondicionalmente el control a la sentencia etiquetada por el identificador. goto identificador; identificador: instrucciones; Es una sentencia propia del lenguaje Basic. No se recomienda su utilización ya que varía la estructura del programa PUNTEROS Un puntero es una variable que contiene la dirección a una zona de memoria en la que se almacena una variable. Los punteros ocupan 16Bits. char car; //variable de tipo char char *pcar; //puntero a una variable char car=0xaa pcar=&car Otra forma de acceso: //almacena el dato hexadecimal AA //almacena la dirección de la variable car, & devuelve la dirección char *pcar; //puntero a una variable char pcar=(char*)0x501 //almaceno en el puntero la dirección de memoria 501 *pcar=0xaa //almaceno en la dirección de memoria que tiene el puntero, el dato 0xAA #define CAR=0xAA Optimizando este código: CAR (*(char*)0x501) Al optimizarlo se ahorran las direcciones de memoria del puntero. Hay que tener cuidado ya que el compilador no comprueba errores CADENAS DE CONSTANTES Las cadenas de constantes se pueden almacenar en la memoria de programa. Existen instrucciones especiales para moverlas entre la RAM y la ROM: 6

7 Manual C18 char *strcpy (auto char *s1, auto const char *s2). Copia dos cadenas ambas de la RAM. char *strcpypgm2ram (auto char *s1, auto rom const char *s2). Copia dos cadenas, la original de la memoria de programa y la copia en la RAM. rom char *strcpyram2pgm (auto rom char *s1, auto const char *s2). Copia dos cadenas, la original en la RAM y la copia en la memoria de programa. rom char *strcpypgm2pgm (auto rom char *s1, auto const rom char *s2). Copia dos cadenas ambas en la memoria de programa LIBRERÍAS DEL C18 Una librería es una colección de funciones agrupadas por referencia y facilidad de llamada. En este apartado aparecen las librerías utilizadas en el proyecto. Las librerías relacionadas con el USB no se instalan con el compilador, teniendo que descargarse de la página del fabricante; el resto se encuentran en la carpeta lib dentro de la carpeta de instalación del MPLAB C ABREVIATURAS EN LAS LIBRERÍAS DE MICROCHIP A ACM ACT ADR ALLOC ALT AUX B BD BDT BUFF C CDC CFG CLR Modelo abstracto de control Actividad, activa Dirección Asignación Alterno Auxiliar Buffer Descriptor Tabla del buffer descriptor Buffer Clase del dispositivo Configuración borrar 7

8 Documento creado por Slalen para Electronics Strange World CLS CTRL D DC DEF DEFS DEV DIR DSC E ENDP EP EXT F FN FS H HID I INIT INT INTF IO ISOCH ISR L LANG LEN LS M MAX MCHP MEM Clase Control Clase del dispositivo Definición ver DEF Dispositivo Dirección Descriptor Endpoint Endpoint Externo funcional Full-Speed Dispositivo interfaz humana inicializar Interrupción/interno Interfaz Entrada-salida Síncrono Rutina del servicio de interrupción Lenguaje Longitud Low-speed Máximo Tecnología de microchip Memoria 8

9 Manual C18 MFR MGT MIN MSD N NUM O OP Fabricante, fabricación, fabricación Gerencia Mínimo Dispositivo de almacenamiento masivo Número Operacional P PKT PID PP PREP PTR R RDY REG REQ RCPT RPT RWU RX S SIE STAT STD SYNCH SYS T TEL TR TRF TX Paquete Paquete de identificación Ping-pong Preparación Puntero listo registro Petición Receptor Informe Reinicio remoto recibir Motor de la interfaz serie Estado Estándar síncrono, sincronización Sistema Teléfono Emisor Transferencia transmisión 9

10 Documento creado por Slalen para Electronics Strange World U USB UTIL V VAR VAL VEND Z ZLP Bus serie universal Utilidad Variable Valor Vendedor Paquete cero de longitud ADC.H: LIBRERÍA DE LOS CONVERSORES A/D Con esta libraría se tratan los conversores analógico-digitales, desde su configuración hasta su lectura. Para poder llamar a las funciones, como se indica en el código, hay que incluir la librería de la siguiente forma: #include <adc.h> Descripción De Las Funciones char BusyADC(void) Comprueba si el conversor está realizando una conversión o no. Devuelve un 1 si el conversor A/D realiza la conversión y un 0 si no lo hace. BusyADC(); void CloseADC(void) CloseADC(); Desactiva el conversor A/D y el mecanismo de interrupción. void ConvertADC(void) Esta función comienza la conversión A/D. Se puede utilizar BusyADC() para detectar el final de la conversión. ConvertADC(); void OpenADC(unsigned char config, unsigned char config2, unsigned char portconfig) Esta función resetea los registros asociados al conversor A/D al estado POR y configura el reloj, el formato del resultado, tensión de referencia, puerto y canal. 10

11 Manual C18 Hay variaciones dependiendo del microcontrolador. Lo que se expone aquí es para la mayoría de los micros. config: Fuente de reloj: ADC_FOSC_2 F OSC /2 ADC_FOSC_4 F OSC /4 ADC_FOSC_8 F OSC /8 ADC_FOSC_16 F OSC /16 ADC_FOSC_32 F OSC /32 ADC_FOSC_64 F OSC /64 ADC_FOSC_RC F OSC /RC Justificación del resultado A/D: ADC_RIGHT_JUST ADC_LEFT_JUST ADC_0_TAD ADC_2_TAD ADC_4_TAD ADC_6_TAD ADC_8_TAD Resultado en los bits menos significativos Resultado en los bits más significativos Selectores del tiempo de adquisición A/D: ADC_12_TAD ADC_16_TAD ADC_20_TAD 0 Tad 2 Tad 4 Tad 6 Tad 8 Tad 12 Tad 16 Tad 20 Tad config2: Canal: ADC_CH0 Canal 0 ADC_CH1 Canal 1 ADC_CH2 Canal 2 ADC_CH3 Canal 3 ADC_CH4 Canal 4 11

12 Documento creado por Slalen para Electronics Strange World ADC_CH5 Canal 5 ADC_CH6 Canal 6 ADC_CH7 Canal 7 ADC_CH8 Canal 8 ADC_CH9 Canal 9 ADC_CH10 Canal 10 ADC_CH11 Canal 11 ADC_CH12 Canal 12 ADC_CH13 Canal 13 ADC_CH14 Canal 14 ADC_CH15 Canal 15 Interrupciones A/D: ADC_INT_ON ADC_INT_OFF Interrupciones activadas Interrupciones desactivadas Configuración de tensiones A/D: ADC_VREFPLUS_VDD V REF+ =AV DD ADC_VREFPLUS_EXT V REF+ =externa ADC_VREFMINUS_VDD V REF- =AV DD ADC_VREFMINUS_EXT V REF- =externa portconfig: El valor de portconfig es un valor de 0 a 15. Corresponde con los bits 0 a 3 del registro ADCON1, que son los bits de configuración de los puertos. OpenADC(ADC_FOSC_32 & ADC_RIGHT_JUST & ADC_12_TAD, DC_CH0 & ADC_INT_OFF, 15; int ReadADC(void) Esta función devuelve los 16 bits con signo resultado de la conversión A/D. Basándose en la configuración del conversor A/D, el resultado puede almacenarse en los bits menos o más significativos. int resultado; resultado=readadc(); void SetChanADC(unsigned char channel) Selecciona al canal que se va a utlizar en el código. Si se han activado los canales AN0 y AN1, antes de leer el AN1 hay que llamar esta función para que se lea al AN1 y no el AN0. channel: 12

13 Manual C18 ADC_CH0 Canal 0 ADC_CH1 Canal 1 ADC_CH2 Canal 2 ADC_CH3 Canal 3 ADC_CH4 Canal 4 ADC_CH5 Canal 5 ADC_CH6 Canal 6 ADC_CH7 Canal 7 ADC_CH8 Canal 8 ADC_CH9 Canal 9 ADC_CH10 Canal 10 ADC_CH11 Canal 11 ADC_CH12 Canal 12 ADC_CH13 Canal 13 ADC_CH14 Canal 14 ADC_CH15 Canal 15 SetChanADC(ADC_CH1); 13

14 Documento creado por Slalen para Electronics Strange World PWM.H: FUNCIONES DEL PWM Y EPWM Esta librería trata la modulación de ancho de pulso tanto de los CCP como de los mejorados. Todas las funciones aparecen con una x, esta corresponde al número del CCP que se está utilizando. La forma de invocar las funciones está escrita en verde (código). Antes de llamar las funciones hay que incluir la librería: #include <pwm.h> Para que la modulación funcione correctamente hay que activar el Timer 2, se explica en este capítulo Descripción De Las Funciones void ClosePWMx(void) y void CloseEPWM1(void) ClosePWM2(); Esta función desactiva el canal PWM específico. La x corresponde al canal. void OpenPWMx(char period) y void OpenEPWM1(char period) Esta función configura el canal PWM específico por periodo y por base de tiempos. El PWM sólo utiliza el Timer2. Para que funcione el PWM, antes hay que abrir el Timer2 con la función OpenTimer2( ). period: Puede ser un valor de 0x00 a 0xFF. Este dato determina la frecuencia del PWM mediante la fórmula: Periodo _ PWM = [( period) + 1] 4 T OpenPWM2(0xFF); OSC ( Valor _ del _ prescaler _ de _ TMR2) void SetDCPWMx(unsigned int dutycicle) y void SetDCPEPWM1(unsigned int dutycicle) Esta función escribe un valor nuevo del ciclo de trabajo en el canal PWM especificado. dutycicle: El valor de dutycicle puede ser de 10 bits, si es mayor sólo se almacenarán los 10 bits de menos peso. SetDCPWM2(0x0F0); void SetOutputEPWM1(unsigned char outputconfig, unsigned char outputmode) Esta función configura la salida del módulo EPWM. 14

15 Manual C18 outputconfig: SINGLE_OUT Salida simple FULL_OUT_FWD Salida full-bridge forward FULL_OUT_REV Salida full-bridge reverse HALF_OUT Salida half-bridge outputmode: PWM_MODE_1 P1A, P1B, P1C y P1D activo por altos PWM_MODE_2 P1A y P1C activo por altos y P1B y P1D activo por bajos PWM_MODE_3 P1A y P1C activo por bajos y P1B y P1D activo por altos PWM_MODE_4 P1A, P1B, P1C y P1D activo por bajos SetOutputEPWM1(SIGNED_OUT, PWM_MODE_1); 15

16 Documento creado por Slalen para Electronics Strange World TIMERS.H: FUNCIONES DE LOS TEMPORIZADORES Esta librería es la encargada de los temporizadores. En esta traducción de la librería de Microchip sólo aparecen las palabras de configuración válidas para la familia PIC18Fxx5x, ya que varía dependiendo del microprocesador. Para incluirla hay que escribir al principio del archivo: #include <timers.h> Descripción de las funciones void CloseTimerx(void) CloseTimer2(); Esta función desactiva el temporizador x y su interrupción. void OpenTimer0(unsigned char config); Esta función configura el Timer0 de acuerdo con las opciones especificadas y lo activa. config: Interrupción Timer0: TIMER_INT_ON TIMER_INT_OFF T0_8BIT T0_16BIT Activa Desactiva Tamaño del Temporizador: Fuente de reloj: T0_SOURCE_EXT T0_SOURCE_INT Modo 8bits Modo 16bits Fuente esterna Fuente interna (T OSC ) Disparador del reloj externo (de la fuente externa): T0_EDGE_FALL T0_EDGE_RISE Flanco de bajada Flanco de subida Valor del Prescaler: T0_PS_1_1 Prescaler 1:1 T0_PS_1_2 Prescaler 1:2 T0_PS_1_4 Prescaler 1:4 16

17 Manual C18 T0_PS_1_8 Prescaler 1:8 T0_PS_1_16 Prescaler 1:16 T0_PS_1_32 Prescaler 1:32 T0_PS_1_64 Prescaler 1:64 T0_PS_1_128 Prescaler 1:128 T0_PS_1_256 Prescaler 1:256 OpenTimer0(TIMER_INT_OFF & T0_8BIT & T0_SOURCE_INT & T0_PS_1_32) void OpenTimer1(unsigned char config); Esta función configura el Timer1 de acuerdo con las opciones especificadas y lo activa. config: Interrupción Timer1: TIMER_INT_ON Activa TIMER_INT_OFF Desactiva Tamaño del Temporizador: T1_8BIT_RW Modo 8bits T1_16BIT_RW Modo 16bits Fuente de reloj: T1_SOURCE_EXT Fuente esterna T1_SOURCE_INT Fuente interna (T OSC ) Valor del Prescaler: T0_PS_1_1 Prescaler 1:1 T0_PS_1_2 Prescaler 1:2 T0_PS_1_4 Prescaler 1:4 T0_PS_1_8 Prescaler 1:8 Oscilador: T1_OSC1EN_ON Activo T1_OSC1EN_OFF Desactivo Sincronización del reloj de entrada: T1_SYNC_EXT_ON Sincronización de la entrada del reloj ext. T1_SYNC_EXT_OFF Sin sinc. Uso con CCP: Dispositivos con 1 ó 2 CCP: 17

18 Documento creado por Slalen para Electronics Strange World T3_SOURCE_CCP T1_CCP1_T3_CCP2 T1_SOURCE_CCP Timer3 fuente de ambos CCP Timer1 fuente del CCP1 y Timer3 del CCP2 Timer1 fuente de ambos CCP OpenTimer1(TIMER_INT_OFF & T1_8BIT_RW & T1_SOURCE_EXT & T1_PS_1_1 & T1_OSC1EN_OFF & T1_SYNC_EXT_OFF & T1_SOURCE_CPP) void OpenTimer2(unsigned char config); Esta función configura el Timer2 de acuerdo con las opciones especificadas y lo activa. config: Interrupción Timer2: TIMER_INT_ON Activa TIMER_INT_OFF Desactiva Valor del Prescaler: T2_PS_1_1 Prescaler 1:1 T2_PS_1_2 Prescaler 1:2 T2_PS_1_4 Prescaler 1:4 T2_PS_1_16 Prescaler 1:16 Valor del Postscaler: T2_PS_1_1 Postscaler 1:1 T2_PS_1_2 Postscaler 1:2 T2_PS_1_15 Postscaler 1:15 T0_PS_1_16 Prescaler 1:16 Uso con CCP: Dispositivos con 1 ó 2 CCP: T3_SOURCE_CCP Timer3 fuente de ambos CCP T1_CCP1_T3_CCP2 Timer1 fuente del CCP1 y Timer3 del CCP2 T1_SOURCE_CCP Timer1 fuente de ambos CCP OpenTimer2(TIMER_INT_OFF & T2_PS_1_1 & T2_POST_1_8) void OpenTimer3(unsigned char config); Esta función configura el Timer3 de acuerdo con las opciones especificadas y lo activa. config: Interrupción Timer3: TIMER_INT_ON Activa 18

19 TIMER_INT_OFF T3_8BIT_RW Desactiva Tamaño del Temporizador: T3_16BIT_RW Fuente de reloj: T3_SOURCE_EXT Modo 8bits Modo 16bits Fuente esterna T3_SOURCE_INT Fuente interna (T OSC ) Valor del Prescaler: T3_PS_1_1 Prescaler 1:1 T3_PS_1_2 Prescaler 1:2 T3_PS_1_4 Prescaler 1:4 T3_PS_1_8 Prescaler 1:8 Sincronización del reloj de entrada: T3_SYNC_EXT_ON T3_SYNC_EXT_OFF Sin sinc. Uso con CCP: Dispositivos con 1 ó 2 CCP: T3_SOURCE_CCP T1_CCP1_T3_CCP2 T1_SOURCE_CCP Sincronización de la entrada del reloj ext. Timer3 fuente de ambos CCP Timer1 fuente del CCP1 y Timer3 del CCP2 Timer1 fuente de ambos CCP Manual C18 OpenTimer3(TIMER_INT_OFF & T3_8BIT_RW & T3_SOURCE_EXT & T3_PS_1_1 & T3_SYNC_EXT_OFF & T1_SOURCE_CPP) unsigned int/char ReadTimerx(void) Esta función lee el valor del registro/registros del temporizador respectivo dependiendo si es de 8bits o de 16bits. Cuando se utiliza un temporizador de 16bits en el modo de 8bits, el byte alto puede que no sea cero. El usuario tiene que almacenar el resultado en un char para que sea correcto. unsigned int resultado; resultado=readtimer0(); //el resultado es un int porque el Timer0 es de 16bits unsigned char resultado; resultado=readtimer2(); //el resultado es un char porque el Timer2 es de 8bits void WriteTimerx(unsigned int/char timer) Esta función escribe un valor en el/los registros específicos del temporizador. timer: Es el valor que se va a almacenar en el temporizador. 19

20 Documento creado por Slalen para Electronics Strange World Es un int si el temporizador es de 16bits, aunque trabaje en modo 8bits; y un char si el temporizador es de 8bits. WriteTimer0(10000); 20

21 Manual C DELAYS.H: RETRASOS POR SOFTWARE Las funciones delay ejecutan un código de un número específico de ciclos de instrucciones. Hay que tener en cuenta la frecuencia del procesador. Para usarla primero hay que incluirla en el programa: #include <delays.h> Descripción De Las Funciones void Delay1TCY(void) Esta función es una definición de la instrucción NOP. Cuando se encuentra en el código, el compilador inserta un NOP. Delay1TCY(); void Delay10TCYx(unsigned char unit) Esta función crea un retraso en múltiplos de 10 ciclos de instrucción. unit: El valor de unit puede ser de 8bits; en un rango de [1,255]. El retraso será de (10*unit) ciclos. Si unit=0 el retraso será de ciclos. Delay10TCYx(); void Delay100TCYx(unsigned char unit) Esta función crea un retraso en múltiplos de 100 ciclos de instrucción. Esta función utiliza la variable global DelayCounter1. Si se utliza la función en las interrupciones y en el código, la variable anterior se tiene que almacenar y recuperar en el código de la interrupción. Darse cuenta de que otras funciones de retrasos utilizan la variable DelayCounter1. unit: El valor de unit puede ser de 8bits; en un rango de [1,255]. El retraso será de (100*unit) ciclos. Si unit=0 el retraso será de ciclos. Delay100TCYx(); void Delay1KTCYx(unsigned char unit) Esta función crea un retraso en múltiplos de ciclos de instrucción. 21

22 Documento creado por Slalen para Electronics Strange World Esta función utiliza la variable global DelayCounter1 y DelayCounter2. Si se utliza la función en las interrupciones y en el código, las variables anteriores se tienen que almacenar y recuperar en el código de la interrupción. Darse cuenta de que otras funciones de retrasos utilizan las variables DelayCounter1 y DelayCounter2. unit: El valor de unit puede ser de 8bits; en un rango de [1,255]. El retraso será de (1 000*unit) ciclos. Si unit=0 el retraso será de ciclos. Delay1KTCYx(); void Delay10KTCYx(unsigned char unit) Esta función crea un retraso en múltiplos de ciclos de instrucción. Esta función utiliza la variable global DelayCounter1 y DelayCounter2. Si se utliza la función en las interrupciones y en el código, las variables anteriores se tienen que almacenar y recuperar en el código de la interrupción. Darse cuenta de que otras funciones de retrasos utilizan las variables DelayCounter1 y DelayCounter2. unit: El valor de unit puede ser de 8bits; en un rango de [1,255]. El retraso será de (10 000*unit) ciclos. Si unit=0 el retraso será de ciclos. Delay1KTCYx(); 22

Programación estructurada (Introducción a lenguaje C)

Programación estructurada (Introducción a lenguaje C) Programación estructurada (Introducción a lenguaje C) M. en C. Sergio Luis Pérez Pérez UAM CUAJIMALPA, MÉXICO, D. F. Trimestre 15-I Sergio Luis Pérez (UAM CUAJIMALPA) Curso de programación estructurada

Más detalles

PIC 18F45XX. El módulo CCP de Comparación, Captura y PWM (Pulse Wide Modulation)

PIC 18F45XX. El módulo CCP de Comparación, Captura y PWM (Pulse Wide Modulation) PIC 18F45XX El módulo CCP de Comparación, Captura y PWM (Pulse Wide Modulation) 1. El módulo C.C.P La mayoría de microcontroladores actuales disponen de un periférico denominado Módulo de Captura, Comparación

Más detalles

Programación En Lenguaje C

Programación En Lenguaje C Programación En Lenguaje C Introducción Básica para Primero de Bachillerato TECNOLOGÍA DE LA INFORMACIÓN IES PALAS ATENEA Lenguaje C Estructurado Secuencial De alto Nivel Altamente portable Necesita un

Más detalles

Estructuras de Datos Declaraciones Tipos de Datos

Estructuras de Datos Declaraciones Tipos de Datos Departamento de Informática Universidad Técnica Federico Santa María Estructuras de Datos Declaraciones Tipos de Datos Temas: 2-3-4 IWI-131, paralelo 01 Profesor: Teddy Alfaro O. Lenguaje de Programación

Más detalles

Elementos de un programa en C

Elementos de un programa en C Elementos de un programa en C Un programa en C consta de uno o más archivos. Un archivo es traducido en diferentes fases. La primera fase es el preprocesado, que realiza la inclusión de archivos y la sustitución

Más detalles

Lección 2 Introducción al lenguaje C

Lección 2 Introducción al lenguaje C Lección Introducción al lenguaje C Decimal Binario Hexadecimal A B C D E F Octal Equivalencia entre decimal, binario, hexadecimal y octal. Código ASCII (American Standard Code for Information Interchange)

Más detalles

Variables. Una variable no es más que un nombre simbólico que identifica una dirección de memoria: vs.

Variables. Una variable no es más que un nombre simbólico que identifica una dirección de memoria: vs. Variables Una variable no es más que un nombre simbólico que identifica una dirección de memoria: Suma el contenido de la posición 3001 y la 3002 y lo almacenas en la posición 3003 vs. total = cantidad1

Más detalles

ÍNDICE CAPÍTULO 1 FUNDAMENTOS DE LOS MICROCONTROLADORES

ÍNDICE CAPÍTULO 1 FUNDAMENTOS DE LOS MICROCONTROLADORES ÍNDICE CAPÍTULO 1 FUNDAMENTOS DE LOS MICROCONTROLADORES 1.1 Introducción 1.2 Fundamentos de los procesadores digitales secuenciales 1.2.1 Introducción 1.2.2 Arquitectura interna 1.2.2.1 Procesadores digitales

Más detalles

PIC 18F45XX EL TIMER 0

PIC 18F45XX EL TIMER 0 PIC 18F45XX EL TIMER 0 1. Hardware asociado 2. Características Se puede configurar como temporizador o contador de 8/16 bits. Se puede leer o escribir en él a través del registro TMR0. Dispone de un preescaler

Más detalles

6 MODULACIÓN DE ANCHO DE PULSO (PWM)

6 MODULACIÓN DE ANCHO DE PULSO (PWM) 69 6 MODULACIÓN DE ANCHO DE PULSO (PWM) En el PWM, se produce un pulso rectangular con un ciclo de trabajo determinado (comúnmente producido por un Timer), este ciclo de trabajo puede variar de 0 a 100%.

Más detalles

Tema 2. El lenguaje JAVA

Tema 2. El lenguaje JAVA Tema 2. El lenguaje JAVA Nomenclatura habitual Variables Tipos de variables Tipos primitivos Referencias Arrays Operadores Operadores de Java Precedencia de operadores Sentencias de control Sentencias

Más detalles

Todo programa en 'C' consta de una o más funciones, una de las cuales se llama main.

Todo programa en 'C' consta de una o más funciones, una de las cuales se llama main. LENGUAJE C CARACTERISTICAS DEL LENGUAJE 'C' El lenguaje 'C' se conoce como un lenguaje compilado. Existen dos tipos de lenguaje: interpretados y compilados. Los interpretados son aquellos que necesitan

Más detalles

Unidad Didáctica 2. Elementos básicos del lenguaje Java Tipos, declaraciones, expresiones y asignaciones

Unidad Didáctica 2. Elementos básicos del lenguaje Java Tipos, declaraciones, expresiones y asignaciones Unidad Didáctica 2 Elementos básicos del lenguaje Java Tipos, declaraciones, expresiones y asignaciones Fundamentos de Programación Departamento de Lenguajes y Sistemas Informáticos Versión 1.0.3 Índice

Más detalles

Carlos Montenegro. Programación Orientada a Objetos Proyecto Curricular de Ingeniería de Sistemas

Carlos Montenegro. Programación Orientada a Objetos Proyecto Curricular de Ingeniería de Sistemas 2 - Introducción al lenguaje Java, identificadores y comentarios. Carlos Montenegro Programación Orientada a Objetos Proyecto Curricular de Ingeniería de Sistemas 1. Introducción: Java tiene como todos

Más detalles

Unidad II Fundamentos de C++ M.C. Juan Carlos Olivares Rojas

Unidad II Fundamentos de C++ M.C. Juan Carlos Olivares Rojas Unidad II Fundamentos de C++ M.C. Juan Carlos Olivares Rojas Agenda 2.1 Familiarización con el ambiente de programación 2.2 Análisis de la estructura de un programa 2.3 Envío de mensajes a la salida estándar

Más detalles

Tipos de Datos en C. Palabras reservadas en C

Tipos de Datos en C. Palabras reservadas en C Tipos de Datos en C Tipo Tamaño de bits Rango char 8-128 a 127 unsigned char 8 0 a 255 signed char 8-128 a 127 int 16 32768 a 32767 unsigned int 16 0 a 65535 signed int 16 Igual que int short int 16 Igual

Más detalles

Es un lenguaje estructurado, tiene una abundante cantidad de operadores y tipos de datos.

Es un lenguaje estructurado, tiene una abundante cantidad de operadores y tipos de datos. Lenguaje C Un poco de historia C es un lenguaje de propósito general, es decir, se pueden desarrollar aplicaciones de diversas áreas. Dentro de sus principales características podemos mencionar que: Es

Más detalles

Laboratorio de Arquitectura de Redes. Introducción al lenguaje C

Laboratorio de Arquitectura de Redes. Introducción al lenguaje C Laboratorio de Arquitectura de Redes Introducción al lenguaje C Introducción al lenguaje C Introducción Características del lenguaje C Funciones en C Identificadores o etiquetas Las librerías y el linkado

Más detalles

TEMA 2. EL LENGUAJE C. ELEMENTOS BÁSICOS

TEMA 2. EL LENGUAJE C. ELEMENTOS BÁSICOS TEMA 2. EL LENGUAJE C. ELEMENTOS BÁSICOS Una vez que ya sabes crear tus propios programas, vamos a analizar los fundamentos del lenguaje de programación C. Este capítulo incluye además los siguientes temas:

Más detalles

LENGUAJE. Tema 1 - Introducción

LENGUAJE. Tema 1 - Introducción LENGUAJE Tema 1 - Introducción HISTORIA DEL LENGUAJE C El lenguaje de programación C fue creado por Dennis Ritchie cuando trabajaba en Bell Laboratories de AT&T junto con Ken Thompson en el diseño del

Más detalles

Introducción a Java. Introducción a Java. Programación I

Introducción a Java. Introducción a Java. Programación I Introducción a Java Introducción a Java Programación I Como Funciona Tipos de Datos TIPO TAMAÑO RANGO byte 8 bits Valores numéricos de 128 a 127 short 16 bits Valores numéricos de 32.768 a 32.767 int 32

Más detalles

Introducción al lenguaje C

Introducción al lenguaje C Introducción al lenguaje C Ampliación de Informática Belarmino Pulido Junquera Índice 1. Presentación del lenguaje C 2. Estructura de un programa en C 3. Tipos de datos escalares 4. Operadores básicos

Más detalles

Descripción de un Programa

Descripción de un Programa Unidad 2 Descripción de un Programa 1 El Lenguaje C (1) El lenguaje C fue creado en 1972 por Ken L. Thompson y Dennis M. Ritchie en los Laboratorios Bell. Es evolución de un lenguaje más antiguo: B (a

Más detalles

Lenguaje C Elementos de un Programa. Ing. Hugo Fdo. Velasco Peña Universidad Nacional 2006

Lenguaje C Elementos de un Programa. Ing. Hugo Fdo. Velasco Peña Universidad Nacional 2006 Lenguaje C Elementos de un Programa Ing. Hugo Fdo. Velasco Peña Universidad Nacional 2006 Objetivos Conocer los elementos que conforman un programa en C 1. Elementos léxicos de un Programa Cuando el programa

Más detalles

7 CONVERTIDOR ANALÓGICO DIGITAL

7 CONVERTIDOR ANALÓGICO DIGITAL 81 7 CONVERTIDOR ANALÓGICO DIGITAL La familia PIC18 USB posee un convertidor Analógico Digital de 10 bits con 10 entradas en dispositivos de 28 pines y 13 entradas en dispositivos de 40/44 pines. Los siguientes

Más detalles

PIC16F88. Características

PIC16F88. Características Osciladores PIC16F88. Características Osciladores a cristal: LP, XT y HS hasta 20Mhz Oscilador externo hasta 20Mhz Oscilador interno: 31Khz 8Mhz Periféricos Módulo PWM/CCP CCP (captura/comparación) ->

Más detalles

Centro Asociado Palma de Mallorca. Antonio Rivero Cuesta

Centro Asociado Palma de Mallorca. Antonio Rivero Cuesta Centro Asociado Palma de Mallorca Antonio Rivero Cuesta La Sintaxis de Java I... 5 Tipos de datos... 6 Tipos de datos simples... 7 Operadores... 11 Operadores Aritméticos... 12 Operadores relacionales...

Más detalles

Registros SFR vistos hasta ahora: Microcontroladores PIC

Registros SFR vistos hasta ahora: Microcontroladores PIC Registros SFR vistos hasta ahora: Microcontroladores PIC Microcontroladores PIC: Timer Características del Timer TMR0: Cumple básicamente la función de contador de eventos (o divisor de frecuencia). El

Más detalles

Programación Estructurada

Programación Estructurada Programación Estructurada PROGRAMACIÓN ESTRUCTURADA 1 Sesión No. 2 Nombre: El lenguaje de programación C Contextualización Una constante en todos los lenguajes de programación (viejos y nuevos) es la implementación

Más detalles

LENGUAJE C PARA SISTEMAS DEDICADOS

LENGUAJE C PARA SISTEMAS DEDICADOS LENGUAJE C PARA SISTEMAS DEDICADOS FUNDAMENTOS Computadora Se dispone de un S.O. El S.O. inicia y configura los periféricos. El S.O. brinda al usuario subrutinas para utilizar los periféricos ( system

Más detalles

Tipos de datos y Operadores Básicos

Tipos de datos y Operadores Básicos Módulo I: Conceptos Básicos Tema 1. Qué es un ordenador? Tema 2. Cómo se representan los datos en un ordenador? Tema 3. Qué es un lenguaje de programación? Tema 4. Cómo se hace un programa informático?

Más detalles

UNIDAD 1. Algoritmo se define como un conjunto de instrucciones que la computadora debe seguir para resolver un problema.

UNIDAD 1. Algoritmo se define como un conjunto de instrucciones que la computadora debe seguir para resolver un problema. UNIDAD 1 1.1 Definición de Algoritmo La palabra algoritmo se deriva de la traducción al latín del nombre Muhammad Musa Al-khawarizmi, un matemático y astrónomo árabe que en el siglo IX escribió un tratado

Más detalles

LENGUAJE. Tema 2 Elementos de un programa

LENGUAJE. Tema 2 Elementos de un programa LENGUAJE Tema 2 Elementos de un programa ELEMENTOS DE UN PROGRAMA Comentarios. Identificadores. Constantes. Variables. Operadores. Sentencias o instrucciones. COMENTARIOS Los comentarios en C pueden ocupar

Más detalles

Definición de Memoria

Definición de Memoria Arquitectura de Ordenadores Representación de Datos en Memoria Abelardo Pardo [email protected] Universidad Carlos III de Madrid Departamento de Ingeniería Telemática Definición de Memoria DRM-1 La memoria

Más detalles

Variables. Una variable no es más que un nombre simbólico que identifica una dirección de memoria: vs.

Variables. Una variable no es más que un nombre simbólico que identifica una dirección de memoria: vs. Variables Una variable no es más que un nombre simbólico que identifica una dirección de memoria: Suma el contenido de la posición 3001 y la 3002 y lo almacenas en la posición 3003 vs. total = cantidad1

Más detalles

INTRODUCCIÓN AL LENGUAJE C

INTRODUCCIÓN AL LENGUAJE C INTRODUCCIÓN AL LENGUAJE C Fundamentos de Informática EUP ULPGC Jose Torres 1 de 36 Historia de C Precursores: muchas ideas provienen de BCPL (Martin Richards, 1967) y de B (Ken Thompson, 1970) C fue diseñado

Más detalles

Programación en C. Algoritmo y Estructura de Datos. Ing. M. Laura López. Programación en C

Programación en C. Algoritmo y Estructura de Datos. Ing. M. Laura López. Programación en C Algoritmo y Estructura de Datos Ing. M. Laura López 1 Estructura de un programa en C 2 Estructura de un programa en C #include Archivos de cabecera # define Definición de constantes Declaraciones Globales

Más detalles

Fundamentos de Informática E.U.P. Universidad de Sevilla

Fundamentos de Informática E.U.P. Universidad de Sevilla Fundamentos de Informática E.U.P. Universidad de Sevilla Capítulo 3: FUNDAMENTOS DE PROGRAMACIÓN ÍNDICE (1) INTRODUCCIÓN A LA PROGRAMACIÓN IMPERATIVA Programación en lenguaje C INSTRUCCIÓN DE ASIGNACIÓN

Más detalles

La familia PIC18 USB posee 4 timers: Timer0, Timer1, Timer2 y Timer3, cada uno de los cuales tiene sus características únicas.

La familia PIC18 USB posee 4 timers: Timer0, Timer1, Timer2 y Timer3, cada uno de los cuales tiene sus características únicas. 59 5 TIMERS Todos los microcontroladores poseen circuitos temporizadores (timers), los cuales son útiles para: Programar tareas con alta precisión. Contar pulsos externos. Medir intervalos de tiempo. etc.

Más detalles

CONCEPTOS BASICOS DEL LENGUAJE JAVA

CONCEPTOS BASICOS DEL LENGUAJE JAVA CONCEPTOS BASICOS DEL LENGUAJE JAVA NOMENCLATURA GENERAL En Java se distinguen las letras mayúsculas y minúsculas. Las reglas del lenguaje respecto a los nombres de variables son muy amplias y permiten

Más detalles

Tema 2: Conceptos básicos. Escuela Politécnica Superior Ingeniería Informática Universidad Autónoma de Madrid

Tema 2: Conceptos básicos. Escuela Politécnica Superior Ingeniería Informática Universidad Autónoma de Madrid Tema 2: Conceptos básicos Ingeniería Informática Universidad Autónoma de Madrid 1 O B J E T I V O S Introducción a la Informática Adquirir una visión global sobre la Informática y sus aplicaciones. Conocer

Más detalles

Programación en Lenguaje C

Programación en Lenguaje C Lenguaje de programación C Programación en Lenguaje C Introducción El Lenguaje de programación C fue implantado por primera vez en los años 70 por Dennis Ritchie para una computadora DEC PDP-11 corriendo

Más detalles

INTRODUCCIóN A LA PROGRAMACIóN APUNTES DE JAVA APUNTES DE JAVA

INTRODUCCIóN A LA PROGRAMACIóN APUNTES DE JAVA APUNTES DE JAVA APUNTES DE JAVA FUNCIONAMIENTO DE UN PROGRAMA Assembler Ensamblador Ejecuta Programador Programa fuente BASIC Interprete Ejecuta C, C++, Pascal Compilador Compila Ejecuta Programa fuente Programa Objeto

Más detalles

TEMA 4. ESTRUCTURAS DE CONTROL

TEMA 4. ESTRUCTURAS DE CONTROL M.P. Sesmero, P. de Toledo, F.J. Ordoñez, J. Gómez-Romero, J.A. Iglesias, J.L. Mira Programación TEMA 4. ESTRUCTURAS DE CONTROL Grado en Ingeniería en Tecnologías Industriales Programación CONTENIDOS 4.1.

Más detalles

Módulo. = Asignación = = Comp. de igualdad!= Com. de desigualdad <= Comp. menor o igual >= Comp. mayor o igual AND lógico OR lógica.

Módulo. = Asignación = = Comp. de igualdad!= Com. de desigualdad <= Comp. menor o igual >= Comp. mayor o igual AND lógico OR lógica. EQUIVALENCIAS BÁSICAS ENTRE PASCAL Y C A continuación se presentan algunas equivalencias básicas entre estos lenguajes de programación : Operadores en lenguaje C: Operador Descripción % Módulo = Asignación

Más detalles

PIC 18F45XX CARACTERÍSTICAS GENERALES

PIC 18F45XX CARACTERÍSTICAS GENERALES PIC 18F45XX CARACTERÍSTICAS GENERALES 1. Características generales CPU con arquitectura Harvard (77 instrucciones) Todas las instrucciones constan de 1 sola palabra de 16 bits (2 bytes) excepto las de

Más detalles

Expresiones Lógicas y Operadores sobre Bits

Expresiones Lógicas y Operadores sobre Bits Expresiones Lógicas y Operadores sobre Bits Andrés Arcia Departamento de Computación Escuela de Ingeniería de Sistemas Facultad de Ingeniería Universidad de Los Andes Programación Digital I 1 Expresión

Más detalles

Descripción y Contenido del Curso. Programación C++ Capacity Academy.

Descripción y Contenido del Curso. Programación C++ Capacity Academy. Descripción y Contenido del Curso Programación C++ Capacity Academy Educación en Tecnología de la Información Online, Efectiva y Garantizada Qué aprenderá si toma este Curso? En este curso aprenderás todo

Más detalles

1.1 Tipos de Datos Primitivos. 1.2 Tipos de datos estructurados. 1.3 Definición de estructura de datos

1.1 Tipos de Datos Primitivos. 1.2 Tipos de datos estructurados. 1.3 Definición de estructura de datos 1.1 Tipos de Datos Primitivos 1.2 Tipos de datos estructurados 1.2.1 Arreglos unidimensionales, bidimensionales y cadenas de caracteres 1.2.2 Registros o Estructuras (unión y estructura) 1.3 Definición

Más detalles

Tipos de datos y operadores en C++

Tipos de datos y operadores en C++ Tipos de datos y operadores en C++ El tipo de dato determina la naturaleza del valor que puede tomar una variable. Un tipo de dato define un dominio de valores y las operaciones que se pueden realizar

Más detalles

Elementos léxicos del lenguaje de programación Java

Elementos léxicos del lenguaje de programación Java Elementos léxicos del lenguaje de programación Java Elementos léxicos del lenguaje de programación Java Palabras reservadas Identificadores Literales Operadores Delimitadores Comentarios Apéndices Operadores

Más detalles

Informática Ingeniería en Electrónica y Automática Industrial

Informática Ingeniería en Electrónica y Automática Industrial Informática Ingeniería en Electrónica y Automática Industrial Entrada y salida estándar V1.3 Autores Entrada y salida estándar Entradas y salidas Salida con formato: printf() Entrada de datos con formato:

Más detalles

Desde los programas más simples escritos en un lenguaje de programación suelen realizar tres tareas en forma secuencial.

Desde los programas más simples escritos en un lenguaje de programación suelen realizar tres tareas en forma secuencial. Tipos de Datos Desde los programas más simples escritos en un lenguaje de programación suelen realizar tres tareas en forma secuencial. Entrada de datos Procesamientos de datos Salida de resultados Los

Más detalles

MICROCONTROLADORES PIC16F84 ING. RAÚL ROJAS REÁTEGUI

MICROCONTROLADORES PIC16F84 ING. RAÚL ROJAS REÁTEGUI MICROCONTROLADORES PIC16F84 ING. RAÚL ROJAS REÁTEGUI DEFINICIÓN Es un microcontrolador de Microchip Technology fabricado en tecnología CMOS, completamente estático es decir si el reloj se detiene los datos

Más detalles

Laboratorio de Arquitectura de Redes. Entrada y salida estándar

Laboratorio de Arquitectura de Redes. Entrada y salida estándar Laboratorio de Arquitectura de Redes Entrada y salida estándar Entrada y salida estándar Entradas y salidas Salida con formato: printf() Entrada de datos con formato: scanf() El buffer de teclado Entrada

Más detalles

Palabras reservadas de C++ y C. Una palabra reservada no puede declararse como un identificador, esto haría un conflicto entre conectores y funciones.

Palabras reservadas de C++ y C. Una palabra reservada no puede declararse como un identificador, esto haría un conflicto entre conectores y funciones. Palabras reservadas de C++ y C Una palabra reservada no puede declararse como un identificador, esto haría un conflicto entre conectores y funciones. A continuación se muestra el link del listado de palabras

Más detalles

Se guardan en archivos con extencion c y los cabezales con extension h

Se guardan en archivos con extencion c y los cabezales con extension h Se guardan en archivos con extencion c y los cabezales con extension h Tipos de Variables: Tipo Tamaño(bytes) Limite inferior Limite superior char 1 -- -- unsigned char 1 0 255 short int 2-32768 +32767

Más detalles

Guía rápida para gestionar el puerto paralelo del PC

Guía rápida para gestionar el puerto paralelo del PC Guía rápida para gestionar el puerto paralelo del PC Descarga desde: http://eii.unex.es/profesores/jisuarez/descargas/ip/guia_rapida_pp.pdf José Ignacio Suárez Marcelo Universidad de Extremadura Escuela

Más detalles

Especificación IEEE-754, para representar valores decimales en punto flotante de simple precisión.

Especificación IEEE-754, para representar valores decimales en punto flotante de simple precisión. Especificación IEEE-754, para representar valores decimales en punto flotante de simple precisión. Ing. Cosme Rafael Marcano Gamero, MSc, DEA. [email protected] En este escrito se explica la especificación

Más detalles

6. Entrada y Salida Explicación de la interfaz entre el computador y el mundo exterior.

6. Entrada y Salida Explicación de la interfaz entre el computador y el mundo exterior. 6. Entrada y Salida Explicación de la interfaz entre el computador y el mundo exterior. 6.1. El subsistema de E/S Qué es E/S en un sistema computador? Aspectos en el diseño del subsistema de E/S: localización

Más detalles

INTRODUCCIÓN. Comunicación Serial.

INTRODUCCIÓN. Comunicación Serial. INTRODUCCIÓN La función principal de este tipo de comunicación es la de convertir datos de salida de forma paralela a serial y la de convertir datos de entrada de forma serial a paralela. El acceso al

Más detalles

Sensor de Temperatura utilizando el Starter Kit Javelin Stamp. Realizado por: Bertha Palomeque A. Rodrigo Barzola J.

Sensor de Temperatura utilizando el Starter Kit Javelin Stamp. Realizado por: Bertha Palomeque A. Rodrigo Barzola J. Sensor de Temperatura utilizando el Starter Kit Javelin Stamp Realizado por: Bertha Palomeque A. Rodrigo Barzola J. INTRODUCCION DIFERENCIAS EJEMPLOS JAVA Orientado a Objetos Multiplataforma Programar

Más detalles

Lenguaje de programación C. Introducción

Lenguaje de programación C. Introducción Lenguaje de programación C Introducción 1 Elementos del lenguaje C Colección de funciones Estas funciones contienen declaraciones, sentencias, expresiones y otros elementos que en conjunto indican a la

Más detalles

Lenguaje C. República Bolivariana de Venezuela Fundación Misión Sucre Aldea Fray Pedro de Agreda Introducción a la Programación III

Lenguaje C. República Bolivariana de Venezuela Fundación Misión Sucre Aldea Fray Pedro de Agreda Introducción a la Programación III República Bolivariana de Venezuela Fundación Misión Sucre Aldea Fray Pedro de Agreda Introducción a la Programación III Lenguaje C 1 Puntos previos Los códigos fuentes generados en C requieren ser compilados

Más detalles

El Computador y sus Partes INTRODUCCIÓN A LAS TECNOLOGÍAS INFORMÁTICAS

El Computador y sus Partes INTRODUCCIÓN A LAS TECNOLOGÍAS INFORMÁTICAS El Computador y sus Partes INTRODUCCIÓN A LAS TECNOLOGÍAS INFORMÁTICAS Contenido El Sistema de Cómputo Software y Licencias Soporte Físico 2010 EISC - Introducción a las Tecnologías Informáticas 2 El Sistema

Más detalles

Aprendiendo a programar Microcontroladores PIC en Lenguaje C con CCS

Aprendiendo a programar Microcontroladores PIC en Lenguaje C con CCS Aprendiendo a programar Microcontroladores PIC en Lenguaje C con CCS Por Andrés Raúl Bruno Saravia Entrega Nº 4. Se dice que el lenguaje C es un lenguaje de nivel medio. La razón de esta indicación está

Más detalles

3.3 Conceptos Básicos del Lenguaje Java

3.3 Conceptos Básicos del Lenguaje Java 3.3 Conceptos Básicos del Lenguaje Java Conjunto de Caracteres Java utiliza Unicode, un conjunto de caracteres de 16 bits Java permite leer ASCII de 7-bit o Latin-1, conviertiéndolo a Unicode Son pocos

Más detalles

Capítulo 1 Conceptos arquitectónicos

Capítulo 1 Conceptos arquitectónicos Sistemas operativos: una visión aplicada Capítulo 1 Conceptos arquitectónicos Contenido Estructura del computador Ejecución de instrucciones Interrupciones Reloj del computador Jerarquía de memoria Entrada/Salida

Más detalles

FUNCIONES. Identificador valido. Tipo-Funcion Identificador_de_la_funcion (Tipo par1,tipo par2 )

FUNCIONES. Identificador valido. Tipo-Funcion Identificador_de_la_funcion (Tipo par1,tipo par2 ) FUNCIONES Las funciones son el medio básico de que se vale C para construir programas. Un Programa es, básicamente, una colección de funciones entre las que se incluye una especial llamada main(), la función

Más detalles

EVOLUCIÓN HISTÓRICA DE LOS µp

EVOLUCIÓN HISTÓRICA DE LOS µp EVOLUCIÓN HISTÓRICA DE LOS µp El primer procesador fue inventado por los Babilonios en el año 500 ac En 1642 se perfeccionó la primera calculadora por Blas Pascal A mediados del siglo pasado se inventaron

Más detalles

Tipos de Datos Estructurados

Tipos de Datos Estructurados - Unidad 3 Tipos de Datos Estructurados 1 Tipos de Datos Compuestos en C 2 Arreglos (1) Un arreglo (array) una colección homogénea de datos simples ó compuestos, que se referencian con un nombre comú,

Más detalles

ADMINISTRACIÓN GENERAL DE TECNOLOGÍA DE LA INFORMACIÓN ADMINISTRACIÓN CENTRAL DE DESARROLLO Y MANTENIMIENTO DE APLICACIONES

ADMINISTRACIÓN GENERAL DE TECNOLOGÍA DE LA INFORMACIÓN ADMINISTRACIÓN CENTRAL DE DESARROLLO Y MANTENIMIENTO DE APLICACIONES ADMINISTRACIÓN GENERAL DE TECNOLOGÍA DE LA INFORMACIÓN ADMINISTRACIÓN CENTRAL DE DESARROLLO Y MANTENIMIENTO DE APLICACIONES SISTEMA DE AUTOMATIZACIÓN ADUANERA INTEGRAL (S. A. A. I.) PROTOCOLOS DE COMUNICACIÓN

Más detalles

Expresiones Aritméticas. Programación digital I Escuela de Sistemas Facultad de Ingeniería Gilberto Diaz

Expresiones Aritméticas. Programación digital I Escuela de Sistemas Facultad de Ingeniería Gilberto Diaz Expresiones Aritméticas Programación digital I Escuela de Sistemas Facultad de Ingeniería Gilberto Diaz Expresiones Aritméticas El computador puede realizar cálculos además de mostrar datos por pantalla.

Más detalles

Introducción al Lenguaje de Programación C

Introducción al Lenguaje de Programación C Introducción al Lenguaje de Programación C Andrés Arcia Departamento de Computación Escuela de Ingeniería de Sistemas Facultad de Ingeniería Universidad de Los Andes Lenguaje de Programación C Fue diseñado

Más detalles

Curso de Programación en C. Licenciatura, FCQeI. APUNTADORES.

Curso de Programación en C. Licenciatura, FCQeI. APUNTADORES. APUNTADORES. La memoria de una máquina esta ordenada en forma de celdas numeradas consecutivamente y que se pueden manipular individualmente o en grupos contiguos. La siguiente figura muestra una representación

Más detalles

Objetivo de aprendizaje del tema

Objetivo de aprendizaje del tema Computación II Tema 3. Identificadores, palabras clave y tipos de datos Objetivo de aprendizaje del tema Al finalizar el tema serás capaz de: Distinguir i entre modificadores d válidos y no válidos. Enumerar

Más detalles

Microchip Tips & Tricks...

Microchip Tips & Tricks... ARTICULO TECNICO Microchip Tips & Tricks... Por el Departamento de Ingeniería de EduDevices. TIPs & Tricks para utilizar correctamente los módulos CCP y ECCP. Continuación... Los modulos de "Capture",

Más detalles

Control Digital en PC con MS-DOS

Control Digital en PC con MS-DOS Control Digital en PC con MS-DOS Abel Alberto Cuadrado Vega 19 de abril de 2006 1. Introducción Un PC puede ser utilizado para realizar un sistema de control digital. Para ello necesita lo siguiente: tarjeta

Más detalles

5 - Lenguaje Ensamblador

5 - Lenguaje Ensamblador PROGRAMACIÓN EN ENSAMBLADOR 62 Fuente.asm,.s51,... Fases del Ensamblado Ensamblado Objeto.obj,.r03 Objeto Enlazado Ejecutable.hex,.bin Librerías Eprom Simulador Emulador Monitor PROGRAMACIÓN EN ENSAMBLADOR

Más detalles

Segundo Parcial Programación en Mikro C PIC16F877

Segundo Parcial Programación en Mikro C PIC16F877 Segundo Parcial Programación en Mikro C para microcontroladores PIC PIC16F877 Operadores a nivel de bits Operador operacion & AND; compara pares de bits y regresa 1 si ambos son 1 s, de otra manera regresa

Más detalles

Periféricos Interfaces y Buses

Periféricos Interfaces y Buses Periféricos Interfaces y Buses I. Arquitectura de E/S II. Programación de E/S III. Interfaces de E/S de datos IV. Dispositivos de E/S de datos V. Buses Buses de E/S (PCI, PC104, AGP). Sistemas de interconexión

Más detalles

Qué es un programa informático?

Qué es un programa informático? Qué es un programa informático? Un programa informático es una serie de comandos ejecutados por el equipo. Sin embargo, el equipo sólo es capaz de procesar elementos binarios, es decir, una serie de 0s

Más detalles

MICROCONTROLADORES: FUNDAMENTOS Y APLICACIONES CON PIC. Autores: Fernando E. Valdés Pérez Ramon Pallàs Areny. Título de la obra:

MICROCONTROLADORES: FUNDAMENTOS Y APLICACIONES CON PIC. Autores: Fernando E. Valdés Pérez Ramon Pallàs Areny. Título de la obra: Título de la obra: MICROCONTROLADORES: FUNDAMENTOS Y APLICACIONES CON PIC Autores: Fernando E. Valdés Pérez Ramon Pallàs Areny Composición y preimpresión: Carles Parcerisas Civit (3Q Editorial) Reservados

Más detalles

Programación estructurada (Tipos, operadores y expresiones)

Programación estructurada (Tipos, operadores y expresiones) Programación estructurada (Tipos, operadores y expresiones) M. en C. Sergio Luis Pérez Pérez UAM CUAJIMALPA, MÉXICO, D. F. Trimestre 15-I Sergio Luis Pérez (UAM CUAJIMALPA) Curso de programación estructurada

Más detalles

Tema 2. El lenguaje de programación Java (Parte 1)

Tema 2. El lenguaje de programación Java (Parte 1) Programación en Java Tema 2. El lenguaje de programación Java (Parte 1) Luis Rodríguez Baena Facultad de Informática Elementos del lenguaje (I) El juego de caracteres. No utiliza ASCII, sino Unicode de

Más detalles

Nelson David Muñoz Politécnico CJIC TUTORIAL DISPLAYS

Nelson David Muñoz Politécnico CJIC  TUTORIAL DISPLAYS 1 TUTORIAL DISPLAYS OBJETIVOS Familiarizarse con el manejo de displays de 7 segmentos por medio de microcontroladores. Crear y manipular variables y vectores de constantes. Realizar la implementación física

Más detalles

1. LIBRERÍA DEL USB: MPUSBAPI.DLL

1. LIBRERÍA DEL USB: MPUSBAPI.DLL 1. LIBRERÍA DEL USB: MPUSBAPI.DLL 1.1. INRODUCCIÓN Para una mayor facilidad de desarrollo de aplicaciones basadas en el bus USB, Microchip ha creado un archivo dll en el que proporciona las funciones de

Más detalles

Fundamentos de programación

Fundamentos de programación Fundamentos de programación Estructuras de Control Estructuras de control Estructuras de control Estructura secuencial Estructura alternativa Sentencias if, if else Sentencias if else anidadas El operador

Más detalles

Fundamentos de Programación 2017-I

Fundamentos de Programación 2017-I Fundamentos de Programación 2017-I Fundamentos para la construcción de código a partir del algoritmo Objetivo: El alumno construirá programas utilizando el lenguaje de programación C a través de un análisis

Más detalles

Tema 13: Apuntadores en C

Tema 13: Apuntadores en C Tema 13: Apuntadores en C M. en C. Edgardo Adrián Franco Martínez http://www.eafranco.com [email protected] @edfrancom edgardoadrianfrancom Estructuras de datos (Prof. Edgardo A. Franco) 1 Contenido Introducción

Más detalles

TIPOS DE DATOS BASICOS EN LENGUAJE C

TIPOS DE DATOS BASICOS EN LENGUAJE C TIPOS DE DATOS BASICOS EN LENGUAJE C TIPO char int float double void ANCHO EN BIT 64 0 TIPOS DE DATOS RANGO EN PC -12 a 127 3.4E-3 a 3.4E+3 1.7E-30 a 1.7E+30 sin valores TIPO ANCHO EN BIT RANGO EN PC char

Más detalles

Sistema Operativo. Repaso de Estructura de Computadores. Componentes Hardware. Elementos Básicos

Sistema Operativo. Repaso de Estructura de Computadores. Componentes Hardware. Elementos Básicos Sistema Operativo Repaso de Estructura de Computadores Capítulo 1 Explota los recursos hardware de uno o más procesadores Proporciona un conjunto de servicios a los usuarios del sistema Gestiona la memoria

Más detalles

Microchip Tips & Tricks...

Microchip Tips & Tricks... ARTICULO TECNICO Microchip Tips & Tricks... Por el Departamento de Ingeniería de EduDevices. PWM Tips & Tricks Estimados lectores, en los artículos anteriores de Microchip Tips & Tricks se presentaron

Más detalles

Práctica 2. Implementación de un driver básico para la transmisión de datos a través de la UART.

Práctica 2. Implementación de un driver básico para la transmisión de datos a través de la UART. Práctica 2. Implementación de un driver básico para la transmisión de datos a través de la UART. 1. Objetivo El objetivo de la siguiente práctica es el de implementar el software de control (driver) de

Más detalles

Programación en java. Estructuras algorítmicas

Programación en java. Estructuras algorítmicas Programación en java Estructuras algorítmicas Estructuras algoritmicas 1. Conceptos basicos 1. Dato 2. Tipos de datos 3. Operadores 2. dsd Conceptos Basicos DATO: se considera una representación simbólica

Más detalles

PUNTEROS (APUNTADORES)

PUNTEROS (APUNTADORES) 2010 UNAN LEON Departamento de Computación Ing. En Sistemas Sabatino Autor: Ing: Karina Esquivel Alvarado. Asignatura: Algoritmo y Estructura de Datos. PUNTEROS (APUNTADORES) TEMA 4: PUNTEROS (APUNTADORES)

Más detalles

Constantes. Las constantes no cambian durante la ejecucion de un programa en C++, en C++ existen 4 tipos de constantes:

Constantes. Las constantes no cambian durante la ejecucion de un programa en C++, en C++ existen 4 tipos de constantes: Constantes Las constantes se pueden declarar con la palabra reservada const y se le asigna un valor en el momento de la declaracion, este valor no se puede modificar durante el programa y cualquier intento

Más detalles