LENGUAJE C PARA MICROCONTROLADORES
|
|
|
- Vanesa Sáez Saavedra
- hace 9 años
- Vistas:
Transcripción
1 LENGUAJE C PARA MICROCONTROLADORES 1
2 Compilador CCS para PICs. Escribir funciones en C. Manejo de estructuras de control de flujo en C. Gestión de puertos del PIC con CCS. Laboratorio 1 (propuesta). ING. LEWIN LÓPEZ L. MICROPROCESADORES II 1
3 CCS PIC COMPILER Un compilador convierte un lenguaje de alto nivel a instrucciones en código máquina. Un cross-compiler es un compilador que funciona en un procesador (normalmente en PC) diferente al procesador objeto. Varios compiladores C tiene como procesador objetos los PICmicro tal es el caso de HiTECH, MicroChip y CCS. ING. LEWIN LÓPEZ L. MICROPROCESADORES II 2
4 Los elementos básicos de un programa en C Directivas de preprocesado Indican al compilador cómo debe generar el código máquina. Programas Bloques de programa. Siempre debe incluirse una llamada main(). Sentencias Instrucciones que definen lo que hace el programa y la secuencia de ejecución del mismo. Comentarios Imprescindibles como documentación del código fuente. ING. LEWIN LÓPEZ L. MICROPROCESADORES II 3
5 VARIABLES Una variable es un nombre asignado a una o varias posiciones de memoria RAM. En C es necesario declarar todas las variables antes de poder utilizarlas, indicando el nombre asignado y el tipo de datos que en ella se van a almacenar(opcionalmente también el valor inicial asignado). tipo nombre_variable[=valor]; p.e.: int i; LostiposdedatosaceptadosenCestándarsoncinco: char(carácter) int(entero) float(coma flotante en 32 bits) double(coma flotante en 64 bits) void(sin valor) Las variables pueden ser locales o globales. Las variables locales sólo pueden ser usadas en la función en que se declaran, mientras que las variables globales son compartidas por todas las funciones del programa (deben declararse fuera de cualquier función y antes de ser utilizadas). ING. LEWIN LÓPEZ L. MICROPROCESADORES II 4
6 VARIABLES El compilador de CCS acepta los siguiente tipos de variable: Especificación Significado Tamaño Rango char carácter 8 bits 0 a 255(sin signo) int entero 8 bits 0 a 255(sin signo) float coma flotante 32 bits 6 bits de precisión double float doble precisión no soportado No para PCM void sin valor nulo ninguno int1 enterode1bit 1bit 0a1 int8 enterode8bits 8bits 0a255(sinsigno) int16 entero de 16 bits 16 bits 0 a 65535(sin signo) int32 entero de 32 bits 32 bits 0 a(232-1) short enterode1bit 1bit 0a1 long entero de 16 bits 16 bits 0 a 65535(sin signo) Los tipos de variable short y long pueden tener detrás la palabra int sin efecto alguno. ING. LEWIN LÓPEZ L. MICROPROCESADORES II 5
7 VARIABLES Todos los tipos de datos son por defecto sin signo (unsigned) salvo los de tipo float. Para almacenar datos con signo, hay que introducir el modificador signed delante del tipo. El efecto que se consigue es el resumido en la siguiente tabla. Especificación Significado Tamaño Rango signed char carácter con signo 8 bits -128 a 127 signed int16 entero con signo 16 bits a signed long coma flotante 16 bits a Los números enteros negativos se codifican en complemento a 2. Cuando se opera con distintos grupos de datos en una misma expresión, se aplican una serie de reglas para resolver las diferencias. En general se produce una promoción hacia los tipos de datos de mayor longitud presentes en la expresión. ING. LEWIN LÓPEZ L. MICROPROCESADORES II 6
8 Una función es un conjunto de instrucciones que se realiza cuando se requiere un proceso específico dentro de la secuencia normal del programa en C. La funciones deben llevar un nombre, un valor de retorno (entero, booleano, real, o en caso de no retornar usar void), y una lista de parámetros (valores de entrada para realizar cálculos con ellos). Una función se declara antes de usarse y generalmente la lista de funciones se indica antes del main. Las funciones son los bloques constructivos fundamentales en C. Todas las sentencias deben encontrarse dentro de funciones. ING. LEWIN LÓPEZ L. MICROPROCESADORES II 7
9 Estructura de la función: Tipo_Dato Nombre_Funcion(tipo param1, param2, ) { instrucciones; } Las funcionespueden devolver un valor a la sentencia que las llama. El tipo de dato devuelto se indica mediante tipo_dato(char, int16, long). Si no se indica nada, se entiende que devuelve un entero. Si no devuelve nada, debe incluirse una especificación tipo void. Ejemplo: float trunca (float a) { float b; b = floor(a); a = a b; a = a * 100; a = floor(a); a = a * 0.01; a = b + a; return (a); } ING. LEWIN LÓPEZ L. MICROPROCESADORES II 8
10 La manera que tiene una función para devolver un valor es mediante la sentencia return. return(expresión); return expresión; La expresión debe proporcionar el mismo tipo de dato que el especificado en la función. Si no debe devolver nada, se finaliza con return; Cuando una función se encuentra con una sentencia return se vuelve a la rutina de llamada inmediatamente y las sentencias posteriores a return no se ejecutan. Además de con las sentencia return, las funciones terminan su ejecución y vuelven al lugar desde donde se les llamó cuando alcanzan la llave de cierre de función } tras ejecutar la última sentencia de la misma. ING. LEWIN LÓPEZ L. MICROPROCESADORES II 9
11 Además de devolver valores, una función también puede recibir parámetros (denominados argumentos) según se indicó en su definición. int suma (int a, int b) { return(a+b); } main() { intc; c = suma (10, 23); } Parámetros formales Argumentos de llamada Losargumentossepuedenpasaralasfuncionesporvaloroporreferencia. La llamada por valor copia el argumento de llamada en el parámetro formal de la función (No modifica su valor en la función de partida). La llamada por referencia usa la dirección de la variable que se pasa a la función (se consigue usando punteros o arrays). ING. LEWIN LÓPEZ L. MICROPROCESADORES II 10
12 El lenguaje C define numerosos operadores mediante los cuales se construyen las expresiones(combinación de operadores y operandos). De asignación Aritméticos - ING. LEWIN LÓPEZ L. MICROPROCESADORES II 11
13 Relacionales Lógicos Debits - ING. LEWIN LÓPEZ L. MICROPROCESADORES II 12
14 In/decremento Desplazamiento bit Dirección/indirección En lenguaje C profesional es muy frecuente usar abreviaturas. Así,porejemplo,esmáshabitualvera+=b;quea=a+b; ING. LEWIN LÓPEZ L. MICROPROCESADORES II 13
15 Las constantes se pueden especificar en decimal, octal, hexadecimal o binario Ejemplo Tipo 123 Decimal 0123 Octal 0x123 Hexadecimal 0b Binario x' carácter '\010 ' carácter octal '\xa5' carácter hexadecimal También se definen caracteres especiales, algunos como: \n cambio de linea \r retorno de carro \t tabulacion \b backspace ING. LEWIN LÓPEZ L. MICROPROCESADORES II 14
16 CCS es un lenguaje para microcontroladores que se basa en el Lenguaje C tradicional, por lo tanto son válidas las siguientes estructuras que permiten controlar el flujo del programa: If-Else While Do-While For Switch-Case Return Break, Continue y Goto ING. LEWIN LÓPEZ L. MICROPROCESADORES II 15
17 Sentencia if Se ejecuta una sentencia o bloque de código si la expresión que acompaña al if tiene un valor distinto a cero (verdadero). Si es cero (falso) continúa sin ejecutar la sentencia o bloque de sentencias. if(expresión) sentencia; if(expresión) { sentencia 1; sentencia 2;... } Sentencia if-else Se evalúa una expresión y, si es cierta, se ejecuta el primer bloque de código (o sentencia 1). Si es falsa, se ejecuta el segundo. if(expresión) sentencia 1; (expresión)? (sentencia 1) : (sentencia 2); else sentencia 2; ING. LEWIN LÓPEZ L. MICROPROCESADORES II 16
18 Sentencia ifif/else If (P1!=0) C=20; else C=0; If (A>B) { If (A>D) } else If (A>B) { If (A>D) } else C=0; C = 15; C=0; C = 15; ING. LEWIN LÓPEZ L. MICROPROCESADORES II 17
19 Sentencia switch Substituye a if-else cuando se realiza una selección múltiple que compara una expresión con una lista de constantes enteras o caracteres. Cuando se da una coincidencia, el cuerpo de sentencias asociadas a esa constante se ejecuta hasta que aparezca break. switch (expresión) { case constante 1: grupo 1 de sentencias; break; case constante 2: grupo 2 de sentencias; break;... default: grupo n de sentencias; } break es opcional. Si no aparece se sigue con el case siguiente. No puede haber constantes iguales en dos case de la misma sentencia switch. default es opcional y el bloque asociado se ejecuta sólo si no hay ninguna coincidencia con las constantes especificadas. ING. LEWIN LÓPEZ L. MICROPROCESADORES II 18
20 Sentencia switch Switch (k) { case 0: } case 2: case 3: default: x=1; break; c=6; b=15; break; x=12; break; break; ING. LEWIN LÓPEZ L. MICROPROCESADORES II 19
21 Sentencia de bucle for Se emplea para repetir una sentencia o bloque de sentencias. for (inicialización ; condición ; incremento) { sentencia(s); } En la inicialización se le asigna un valor inicial a una variable que se emplea para el control de la repetición del bucle. La condición se evalúa antes de ejecutar la sentencia. Si es cierta, se ejecuta el bucle. Si no, se sale del mismo. El incremento establece cómo cambia la variable de control cada vez que se repite el bucle. Es posible anidar bucles for para modificar dos o más variables de control. ING. LEWIN LÓPEZ L. MICROPROCESADORES II 20
22 Sentencia de bucle for For (i=1; i<=100; i++) { delay_ms(33); px=?px; } For (y=1; i<=99; y=y+3) { delay_ms(33); px=y; } ING. LEWIN LÓPEZ L. MICROPROCESADORES II 21
23 Sentencia de bucle while La repetición se lleva a cabo mientras sea cierta una expresión. while (expresión) { sentencia(s); } La expresión se evalúa antes de cualquier iteración. Si es falsa, ya no se ejecuta la sentencia o bloque de sentencias. Sentencia de bucle do-while. do { sentencia(s); } while (expresión) Las sentencias se ejecutan antes de que se evalúe la expresión, por lo que el bucle se ejecuta siempre al menos una vez. ING. LEWIN LÓPEZ L. MICROPROCESADORES II 22
24 Sentencia de bucle while while (x>0 && y++<5) { a=1; b=45; x=p1; } do { a=1; b=45; x=p1; } while (x>0 && y++>5); ING. LEWIN LÓPEZ L. MICROPROCESADORES II 23
25 Las principales diferencias entre compiladores residen en las directivas (pre-processor commands) y en las funciones integradas (built-in functions). En el manual de CCS se encuentran las listas con las directivas y las funciones integradas correspondientes al compilador de CCS. Directivas de preprocesado más habituales: #ASM #ENDASM #BIT id=x.y #BYTE id=x Las líneas entre estas dos directivas deben ser instrucciones ensamblador que se insertan tal y como aparecen. Se crea una variable tipo bit correspondiente al bit y del byte x en memoria. Se crea una variable y se sitúa en el byte x en memoria. Si ya existía esa variable, se coloca físicamente en la posición especificada. ING. LEWIN LÓPEZ L. MICROPROCESADORES II 24
26 #DEFINE id texto #DEVICE chip #FUSES options #INCLUDE <fichero> #INCLUDE fichero #INLINE #SEPARATE #ORG start El identificador se sustituye por el texto adjunto. Define el micro para el que se escribe el código. Define la palabra de configuración para la grabación del microcontrolador. Se incluye el texto del fichero especificado en el directorio o fuera de él. La función que sigue a esta directiva se copia en memoria de programa cada vez que se le llame. Puede servir para mejorar la velocidad. La función que sigue a esta directiva se implementa de manera separada (no INLINE). De esta manera se ahorra ROM Sitúa el código a partir de una determinada posición de la memoria de programa ING. LEWIN LÓPEZ L. MICROPROCESADORES II 25
27 #INT_xxxx #INT_GLOBAL #PRIORITY ints Indica que la función que sigue es un programa de tratamiento de la interrupción xxxx. Indica que la función que sigue es un programa genérico de tratamiento de interrupción. No se incluye código de salvaguarda de registros ni de recuperación como cuando se usa #INT_xxxx. Establece un orden de prioridad en las interrupciones. #USE DELAY (clock = frecuencia en Hz) Define la frecuencia del oscilador que se va a utilizar, que se emplea para realizar los cálculos para funciones integradas de retardo. ING. LEWIN LÓPEZ L. MICROPROCESADORES II 26
28 pre-processor commands ING. LEWIN LÓPEZ L. MICROPROCESADORES II 27
29 built-in functions ING. LEWIN LÓPEZ L. MICROPROCESADORES II 28
30 built-in functions ING. LEWIN LÓPEZ L. MICROPROCESADORES II 29
31 Existen dos opciones para configurar y manejar los puertos E/S: Definiendo los registros como variables localizadas en RAM. Se definen los puertos y los registros de dirección como variables de C y se colocan en las posiciones reales de estos registros en la memoria RAM de datos. Constituye la manera más directa de trabajar con los puertos E/S. Usando las funciones integradas específicas del compilador. Se definen la dirección de datos si es necesario y se gestionan las entradas y las salidas mediante funciones relativas al manejo de todo el puerto o de bits particulares del mismo. Cuando se usan las funciones integradas del compilador de CCS, el código que introduce el compilador puede variar en cuanto a tamaño y tiempo de ejecución. Dependerá de la activación de ciertas directivas de preprocesado: #USE FAST_IO - #USE FIXED_IO - #USE STANDARD_IO ING. LEWIN LÓPEZ L. MICROPROCESADORES II 30
32 OPCIÓN 1. Definiendo los registros en la RAM. Se definen los registros PORTx y TRISx como bytes y se sitúan en la posición correspondiente de la memoria RAM. La directiva C utilizada es #BYTE: #BYTE variable=constante; #BYTE TRISA = 0x85 //Variable TRISA en 85h. #BYTE PORTA = 0x05 //Variable PORTA en 05h. #BYTE TRISB = 0x86 //Variable TRISB en 86h. #BYTE PORTB = 0x06 //Variable PORTB en 06h. Una vez definidas estas variables se pueden configurar y controlar los puertos mediante comandos de asignación. A partir de este punto, estas variables permiten controlar los puertos y se pueden utilizar en sentencias de asignación. TRISA = 0xFF; // 8 terminales de entrada TRISB = 0x00; // 8 terminales de salida TRISC = 0x0F; // 4 pin de mayor peso OUT,4 pin de menor peso IN ING. LEWIN LÓPEZ L. MICROPROCESADORES II 31
33 OPCIÓN 1. Definiendo los registros en la RAM. Escritura en los puertos: PORTC = 0x0A; // salida del datos por el puerto C Lectura de puertos: valor = PORTA; // Asigna el dato del puerto A a la variable valor. Manejo de sentencias: TRISD=0x0F; if (PORTD & 0x0F) PORTD = 0xA0; //comprueba los 4 terminales de // menor peso del puerto D y si son // 1111 saca por los 4 terminales de // mayor peso el dato ING. LEWIN LÓPEZ L. MICROPROCESADORES II 32
34 OPCIÓN 1. Definiendo los registros en la RAM. El compilador de CCS incorpora una serie de funciones integradas que permite manejar los bits de una variable previamente definida. bit_clear (var,bit); //Pone a 0 el bit específico (0 a 7) de la variable. bit_set (var, bit); //Pone a 1 el bit específico (0 a 7) de la variable. bit_test (var, bit); //Muestra el bit específico (0 a 7) de la variable. swap (var); //Intercambia los 4 bits de mayor peso por los 4 //de menor peso de la variable. bit_set (PORTC, 4); // saca un 1 por el terminal RC4 if (bit_test(portb,0)==1) bit_clear(portb,1); //si RB0 es 1 borra RB1 También se puede declarar un bit de un registro con una variable mediante la directiva #BIT y trabajar directamente con la variable. #BIT nombre = posición.bit #BIT RA4 = 0x RA4 = 0; ING. LEWIN LÓPEZ L. MICROPROCESADORES II 33
35 OPCIÓN 1. EJEMPLO RB0/INT RB1 RB2 RB3/PGM RB4 RB5 RB6/PGC RB7/PGD D1 LED-BLUE SW1 SW-SPST-MOM RC0/T1OSO/T1CKI RC1/T1OSI/CCP2 RC2/CCP1 RC3/SCK/SCL RC4/SDI/SDA RC5/SDO RC6/TX/CK RC7/RX/DT R1 180 ING. LEWIN LÓPEZ L. MICROPROCESADORES II 34
36 OPCIÓN 2. Usando funciones integradas del compilador. El compilador de CCS incorpora una serie de funciones integradas orientadas a trabajar con los puertos E/S. output_x (valor); //Por el puerto correspondiente se saca // el valor (0-255). input_x(); //Se obtiene el valor en el puerto correspondiente. set_tris_x(valor); //Carga el registro TRISx con el valor (0-255). port_b_pullups (valor); //Mediante valor=true o valor=false habilita o //deshabilita las resistencias de pull-up en PORTB. ING. LEWIN LÓPEZ L. MICROPROCESADORES II 35
37 OPCIÓN 2. Usando funciones integradas del compilador. Hay una serie de funciones asociadas a un terminal o pin*. El parámetro pin* se define en un fichero include (por ejemplo, 16F877.h) con un formato del tipo PIN_Xn, donde X es el puerto y n es el número de pin. #define PIN_A0 40 #define PIN_A1 41 output_low (pin*); //Pin a 0. output_high (pin*); //Pin a 1. output_bit (pin*, valor); //Pin al valor especificado. output_toggle(pin*); //Complementa el valor del pin. output_float (pin*); //Pin de entrada, quedando a tensión flotante input_state(pin*); //lee el valor del pin sin cambiar su sentido input(pin*); // lee el valor del pin. ING. LEWIN LÓPEZ L. MICROPROCESADORES II 36
38 OPCIÓN 2. Usando funciones integradas del compilador. La generación de código para las funciones output_x() e input_x( ) depende de la última directiva del tipo #USE *_IO que esté activa. #USE FAST_IO (PUERTO) [PUERTO: A ] Cada vez que se emplea una función output...() se saca el valor directamente al puerto, y cada vez que se emplea una función input...() se lee el puerto, pero no se modifican previamente el registro TRIS correspondiente. El usuario debe asegurarse de que los registros TRIS están cargados adecuadamente antes de llamar a las funciones. Ej. #USE FAST_IO (B) #USE STANDARD_IO (PUERTO) [PUERTO: A ] Cada vez que se emplea una función output...() se inserta código previo para forzar a que el bit particular o el puerto completo sean de salida (mediante la carga del TRIS correspondiente). Si se trata de una función input...() se carga código para definir bit o puerto completo como de entrada. Ésta es la opción activa por defecto. Ej. #USE STANDARD_IO (C) ING. LEWIN LÓPEZ L. MICROPROCESADORES II 37
39 OPCIÓN 2. Usando funciones integradas del compilador. #USE FIXED_IO (PUERTO_OUTPUTS=pin*,...) [PUERTO: A ] Se genera código relativo a la dirección de los datos de manera previa cada vez que aparece una función integrada del tipo input ( ) ó output ( ), pero los pines se configuran de acuerdo con la información que acompaña a la directiva (sólo se indican los pines de salida) y no dependiendo de que la operación sea de entrada o de salida como sucede con #USE STANDARD_IO(PUERTO). Ej. USE FIXED_IO (B_OUTPUTS = PIN_B2, PIN_B3) El efecto de colocar una u otra directiva se puede observar en los ficheros *.lst que se generan como resultado de la compilación. En general se puede decir que resulta más cómodo gestionar los pines de E/S de modo STANDARD, pero haciéndolo de modo FAST se adquiere más control de lo que se le está mandando al PIC y se optimiza código. ING. LEWIN LÓPEZ L. MICROPROCESADORES II 38
40 OPCION 2 EJEMPLO 2 ING. LEWIN LÓPEZ L. MICROPROCESADORES II 39
41 Usando Punteros La memoria se puede acceder en C usando punteros. Los punteros deben ser del tipo INT. #define portb (int *) 0x06 portb es un puntero INT cuyo valor es la dirección del bus del dispositivo. El puerto es accesible mediante el uso del operador *. int p p = *portb En este ejemplo el valor del dato en el puerto direccionado en la posición de memoria 0x06 (puerto B) es asignado a la variable p. Antes de que el puerto sea leido es necesario establecer si es de entrada o salida. #define trisb (int *) 0x86 *trisb = 0xFF ING. LEWIN LÓPEZ L. MICROPROCESADORES II 40
42 Usando Punteros Los pines pueden escritos o leídos mediante operadores lógicos. *portb = 0b ; //pone el pin 2 del portb a 1 *portb &= 0b ; //pone el pin 2 del portb a 0. Para leer el valor del pin 7 del portb: If (*portb & 0b ) {.. ING. LEWIN LÓPEZ L. MICROPROCESADORES II 41
MICROPROCESADORES II LENGUAJE C EN LOS MICROCONTROLADORES PIC
MICROPROCESADORES II LENGUAJE C EN LOS MICROCONTROLADORES PIC Tipos de datos en CCS TIPO TAMAÑO RANGO DESCRIPCION int1 short 1 bit 0 a 1 Binario int int8 8 bits 0 a 255 Entero int16 long 16 bits 0 a 65535
MICROCONTROLADORES II (FAMILIA PIC16F87X) LENGUAJE C PARA PICS
MICROCONTROLADORES II (FAMILIA PIC16F87X) LENGUAJE C PARA PICS 1 CARACTERÍSTICAS Velocidad de operación: hasta 20 MHz de reloj. 8K x 14 bits por palabra de memoria de programa FLASH. 368 x 8 bytes de memoria
UNIVERSIDAD DE OVIEDO
1 Funcionamiento Multiplexado con otros módulos Características generales de los puertos en el PIC16F877 Son 5 Puertos de E/S configurables PORTA: 6 pines (dir 0x05) PORTB: 8 pines (dir 0x06 y 0x106) PORTC:
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
Dependiendo del dispositivo usado, se tienen hasta 5 puertos de entrada/salida disponibles: PORTA PORTB PORTC PORTD PORTE
25 3 ENTRADA / SALIDA Dependiendo del dispositivo usado, se tienen hasta 5 puertos de entrada/salida disponibles: PORTA PORTB PORTC PORTD PORTE Cada uno de estos puertos es de 8 bits, sin embargo no todos
Universidad Nacional de Ingeniería Arquitectura de Maquinas I
Universidad Nacional de Ingeniería Arquitectura de Maquinas I Unidad III: Introduccion a los Microcontroladores PIC MICROCHIP CCS un lenguaje de Alto nivel para PIC. Compilador C de CCS Este compilador
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)
Práctica 3 Gestión de puertos de entrada
INSTITUTO POLITÉCNICO NACIONAL Centro de Estudios Científicos y Tecnológicos Nº 1 Gonzalo Vázquez Vela Academia de Sistemas Digitales Prácticas de Micro Electrónica Programable NOMBRE DEL ALUMNO: Apellido
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
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:
1. Presentación del lenguaje C Creado en 1972 por D. Ritchie Lenguaje de propósito general Portátil o transportable (generalmente) Inicialmente de niv
Introducción al lenguaje C Informática Belarmino Pulido Junquera Índice 1. Presentación del lenguaje C 2. Estructura de un programa en C 3. Instrucciones del pre-procesador procesador 4. Tipos de datos
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
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
Introducción a las sentencias de control
INSTRUCCIONES DE CONTROL CONTENIDOS 1. Introducción a las sentencias de control. 2. Instrucciones o sentencias condicionales: IF, IF-ELSE, SWITCH. 3. Instrucciones o sentencias repetitivas o iterativas:
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
Laboratorio de Arquitectura de Redes. Datos en lenguaje C
Laboratorio de Arquitectura de Redes Datos en lenguaje C Datos en lenguaje C Introducción Tipos de datos básicos y modificadores Tipos de datos enteros Tipos de datos reales Tamaño y rango de los datos
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
El lenguaje C. if (a>3) { printf("hola"); // bloque printf("%d",a); // de getch(); //código } Partes de un programa en C.
El lenguaje C El lenguaje C es uno de los lenguajes de programación estructurada más utilizados en nuestros días. El principal componente estructural de C es la función. En C, las funciones son bloques
Algoritmo, Estructuras y Programación I Ing. Marglorie Colina
Unidad II: Fundamentos de la Programación Estructurada Algoritmo, Estructuras y Programación I Ing. Marglorie Colina Estructura General de un Programa Zona de ficheros de cabecera de las librerías Zona
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
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-76 a 767 3.4E-3 a 3.4E+3 1.7E-30 a 1.7E+30 sin valores TIPO ANCHO EN BIT RANGO
Los 7 elementos básicos de la programación de PIC en C
Estructura básica de un programa en Lenguaje C Todos los programas (código fuente) de microcontroladores PIC en C tienen una estructura básica, a partir de la cual se desarrolla cualquier aplicación del
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?
TUTORIAL II parte A. Observemos el diagrama de pines del microcontrolador 16F877A:
1 TUTORIAL II parte A OBJETIVOS Conocer el manejo de puertos del microcontrolador 16F877A, registros TRIS y PORT. Familiarizarse con las principales instrucciones del lenguaje y la estructura de un programa
Datos y tipos de datos
Datos y tipos de datos Dato Representación formal de hechos, conceptos o instrucciones adecuada para su comunicación, interpretación y procesamiento por seres humanos o medios automáticos. Tipo de dato
Lección 3 Sentencias de control
3.1. INTRODUCCIÓN - Hasta aquí: ejecución secuencial de los programas. - Aquí vamos a ver: Lección 3 Sentencias de control Sentencias de control Sentencias condicionales: if- y switch-case Sirven para
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...
Lenguajes de programación
Lenguajes de programación Un computador solo entiende lenguaje binario Un procesador tiene un conjunto finito de operaciones binarias Un programa de computador es una secuencia de estas instrucciones Etapas
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
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
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
Empieza con // y termina con la siguiente línea de código. Son ignorados por el programa y no ocupan espacio en memoria.
/* */ Los bloques de comentarios o comentarios multilíneas son áreas de texto ignoradas por el programa y se usan para describir códigos o comentarios que ayudan a otras personas a entender parte del programa.
TEMA 5 LA MEMORIA DE DATOS MEMORIA RAM D.P.E. DESARROLLO DE PROYECTOS 1
TEMA 5 LA MEMORIA DE DATOS MEMORIA RAM D.P.E. DESARROLLO DE PROYECTOS 1 Estructura De La Memoria Ram (1) La memoria de datos RAM está dividida en dos partes diferenciadas: 1.- Zona SFR o zona de Registros
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
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
Tema 3 Constantes, Variables y Tipos
Tema 3 Constantes, Variables y Tipos Contenidos 1. Definiciones. 1.1 Variables y Constantes. 1.2 Identificadores. 2. Declaración de Variables en un Programa en C. 3. Tipos de Datos. 3.1 Clasificación.
Funciones Definición de función
Funciones Definición de función Una función es un bloque de código que realiza una tarea específica. Una función es una porción de programa, identificable mediante un nombre, que realiza determinadas tareas
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
3. Tipos primitivos de dato
Programación orientada a objetos con Java 31 3. Tipos primitivos de dato Objetivos: a) Describir los tipos de datos primitivos (numéricos, booleano y de tipo carácter) en el lenguaje de programación Java
CAPITULO 2: VARIABLES Y CONSTANTES
CAPITULO 2: VARIABLES Y CONSTANTES 1. TIPOS DE DATOS. Existen cinco tipos de datos atómicos en C; char: carácter, int: entero, float: real coma flotante, double: real de doble precisión y void: sin valor.
Lenguaje de Programación: C++ Repaso de Material C++
UG Lenguaje de Programación: C++ Repaso de Material C++ Universidad de Guanajuato Octubre 2010 Variables Tipos de Variables Operadores Variable Para poder leer algo, necesitamos un lugar donde poner lo
Programación I Teoría I.
Programación I Teoría I http://proguno.unsl.edu.ar Horarios Teorías: Jueves 8:00 10:00; aula 58 (Bloque 2) Prácticas: Comisión 1: Licenciatura Martes de 10 a 13 en sala 7, bloque 2 jueves de 10 a 13 en
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
Una expresión es una combinación de uno o más operandos y operadores para obtener un resultado.
1.6. EXPRESIONES CONCEPTO: Una expresión es una combinación de uno o más operandos y operadores para obtener un resultado. Los operandos pueden ser constantes, variables, otras expresiones e incluso funciones.
MICROCONTROLADORES. 1. El PIC 16F84A es un microcontrolador de: a) 16 bits b) 8 bits c) 4 bits d) 32 bits e) 64 bits
1. El PIC 16F84A es un microcontrolador de: a) 16 bits b) 8 bits c) 4 bits d) 32 bits e) 64 bits MICROCONTROLADORES 2. La memoria de programa del PIC 16F84A es de tipo: a) ROM b) OTP c) RAM d) EPROM e)
Tema 4. Control de flujo. Programación Programación - Tema 4: Control de Flujo
Tema 4 Control de flujo Programación 2015-2016 Programación - Tema 4: Control de Flujo 1 Tema 4. Control de flujo Introducción. Estructuras condicionales. Estructuras de repetición. Programación - Tema
Informática PRÀCTICA 9 Curs Práctica Nº 9: Rango y precisión de representación de números en el ordenador.
Departamento de Práctica Nº 9: Rango y precisión de representación de números en el ordenador. Uso de punteros Objetivos de la práctica: - Entender la representación de números (enteros y reales) en el
Tema 3. Estructuras de control
Tema 3. Estructuras de control 3.1. Secuencial 3.2. Selección 3.3. Repetición 2 Objetivos Objetivos del tema: Conocer y saber la utilidad de las tres estructuras de control (secuencial, alternativa y repetitiva)
Microprocesadores. Introducción al Lenguaje C - Parte III. Prof. Luis Araujo. Universidad de Los Andes
Introducción al Lenguaje C - Parte III Universidad de Los Andes Sentencia Repita Mientras (WHILE) La sentencia while (repita mientras) es una estructura de repetición, para ejecutar la sentencias varias
Sintaxis de los aspectos generales de un lenguaje de programación
Sintaxis de los aspectos generales de un lenguaje de programación por Iván Cruz Un lenguaje de programación cuenta con una estructura y sintaxis que debe ser utilizada exactamente como se indique para
Cuales son los tipos de instrucciones que se utilizan en la programación?
EXAMEN NIVEL PREUNI/UNI Cuales son los tipos de instrucciones que se utilizan en la programación? a) Instrucciones afirmativas e instrucciones negativas b) Instrucciones entrada, instrucciones afirmativas
Tipos de variables. Lenguaje C. Departamento de Electrónica. Tipos de datos, variables y constantes. Fundación San Valero
Lenguaje C Tipos de variables Departamento de Electrónica Fundación San Valero Tipos de datos, Cinco tipos de datos básicos: Carácter (char): 8 bits -128 a 127. Entero (int): 32 bits -2.147.483.648 a 2.147.483.647.
Microprocesadores. Introducción al Lenguaje C - Parte IV. Prof. Luis Araujo. Universidad de Los Andes
Introducción al Lenguaje C - Parte IV Universidad de Los Andes Funciones Las funciones son porciones de código que devuelven un valor y permiten descomponer el programa en módulos que se llaman entre ellos
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
Estructura de datos y Programación
Estructura de datos y Programación Tema: Conceptos Básicos- Estructuras de control - Arreglos Ing. Analia Méndez Ing. Raquel Zarco Año: 2012 ELEMENTOS DE UN PROGRAMA EN JAVA El programa Java consta de
PIC MICRO ESTUDIO Reloj en tiempo real RTCU2 Clave: 719 www.electronicaestudio.com
PIC MICRO ESTUDIO Reloj en tiempo real RTCU2 Clave: 719 www.electronicaestudio.com Guía de Operación Reloj en tiempo real Modulo: RTCU2iempo real Clave: 719 El modulo 719 Reloj en tiempo real- utiliza
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
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º 6 Cuáles son las estructuras básicas de C? Estas estructuras son las que le dan inteligencia
JavaScript Básico. Elementos Básicos: Comentarios: Literales: Valores que puede tomar una variable o una constante.
Javascript (II) 1 Elementos Básicos: Comentarios: Para una línea // Esto es un Comentario Para un bloque /*......... */ Literales: Valores que puede tomar una variable o una constante. Ejemplos: "Soy una
TEMA 2. LENGUAJE C. CONCEPTOS BÁSICOS Y PROGRAMACIÓN ELEMENTAL.
Tema 2. TEMA 2. LENGUAJE C. CONCEPTOS BÁSICOS Y PROGRAMACIÓN ELEMENTAL. PARTE : VARIABLES, OPERADORES Y CONSTANTES.. INTRODUCCIÓN AL LENGUAJE C 2. PROGRAMAS BÁSICOS EN LENGUAJE C 3. DATOS EN LENGUAJE C
Programación n Orientada a Objetos Sentencias Java Parte I. Ing. Julio Ernesto Carreño o Vargas MsC.
Programación n Orientada a Objetos Sentencias Java Parte I Ing. Julio Ernesto Carreño o Vargas MsC. Variables y expresiones aritméticas Variables Conceptos de Memoria Una variable es un espacio en la memoria
MANUAL BÁSICO DEL LENGUAJE SQL
MANUAL BÁSICO DEL LENGUAJE SQL INTRODUCCIÓN A continuación se presentan lo que son comandos DLL y DML, las clausulas, lo operadores (lógicos y de comparación), funciones de agregado, consultas, tipos de
abril de 2017 Desarrollo de aplicaciones en Java Tipos de datos primitivos Tipos de datos Elementos de aplicaciones simples
Desarrollo de aplicaciones en Java Generación de código fuente Compilación Ejecución Elementos de aplicaciones simples EII147-01-02 Introducción a las tecnologías de información Escuela de Ingeniería Industrial
Expresión, Operador, Operando, Asignación, Prioridad
4. EXPRESIONES Y OPERADORES Conceptos: Resumen: Expresión, Operador, Operando, Asignación, Prioridad En este tema se presentan los siguientes elementos de la programación: las expresiones y los operadores.
Tema 05: Elementos de un programa en C
Tema 05: Elementos de un programa 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
PROGRAMACIÓN ORIENTADA A OBJETOS (L40629) Sabino Miranda-Jiménez
PROGRAMACIÓN ORIENTADA A OBJETOS (L40629) Sabino Miranda-Jiménez Elementos de lenguaje: Identificadores Tipos de datos 2 Tipos de datos primitivos 3 Tipos de datos referenciados Clases Interfaces Arrays
Tema 2 Anexo: Aspectos básicos
Apuntes de Java Tema 2 Anexo: Aspectos básicos de Java Uploaded by Ingteleco http://ingteleco.webcindario.com [email protected] La dirección URL puede sufrir modificaciones en el futuro. Si no funciona
TEMA 02 TIPOS, OPERADORES Y EXPRESIONES
TEMA 02 TIPOS, OPERADORES Y EXPRESIONES 2.1.- Introducción. 2.2.- Datos. 2.3.- Entrada y salida básica. 2.4.- Modificadores. 2.5.- Cadenas de caracteres. 2.6.- Operadores. 2.7.- Precedencia de operadores.
Lenguaje C, segundo bloque: Sentencias de control
Lenguaje C, segundo bloque: Sentencias de control José Otero 1 Departmento de informática Universidad de Oviedo 23 de octubre de 2007 Índice 1 Sentencia if 2 Sentencia if-else 3 if e if-else anidados 4
UNIDAD 2 Descripción de un programa
Descripción de un programa Estructura general de un programa. Elementos básicos. Tipos de datos simples: enteros, reales y carácter. Representación de datos en memoria. Operaciones sobre tipos de datos
Operadores aritméticos. / División operando enteros o reales si operandos son entero resultado es entero. Resto de caso resultado real
7.1 Operadores aritméticos Operadores aritméticos operadores Operación + Suma operandos pueden ser enteros o reales - Resta operandos pueden ser enteros o reales * Multiplicación operando enteros o reales
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
La siguiente función configura el puerto como entrada y realiza su lectura: input_x( )
Laboratorio 2: Puertos de Entrada y Salida. 2.1 Objetivo. Familiarizarse con los Puertos de Entrada y Salida mediante la implementación práctica del ejemplo LED y Botones y el ejemplo Pantalla LCD. 2.2
Centro Asociado Palma de Mallorca. Antonio Rivero Cuesta
Centro Asociado Palma de Mallorca Antonio Rivero Cuesta La Sintaxis de Java II... 6 Estructuras de control... 7 Estructuras de selección... 8 Sentencia if... 9 Sentencia if - else... 12 Operador condicional...
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á
Programación Orientada a Objetos Sentencias Java Parte I Ing. Julio Ernesto Carreño Vargas MsC.
Sentencias Java Parte I Ing. Julio Ernesto Carreño Vargas MsC. Variables Conceptos de Memoria Una variable es un espacio en la memoria del PC Cada variable tiene un nombre, un tipo, un tamaño y un valor
Lenguaje C, tercer bloque: Funciones
Lenguaje C, tercer bloque: Funciones José Otero 1 Departamento de informática Universidad de Oviedo 28 de noviembre de 2007 Índice 1 Tipo puntero Concepto de puntero Operador dirección Operador indirección
Java Avanzado. Guía 1. Java Avanzado Facultad de Ingeniería. Escuela de computación.
Java Avanzado. Guía 1 Java Avanzado Facultad de Ingeniería. Escuela de computación. Java Avanzado. Guía 2 Introducción Este manual ha sido elaborado para orientar al estudiante de Java Avanzado en el desarrollo
Una función es un miniprograma dentro de un programa. Las funciones contienen varias
TEMA 6. FUNCIONES. Una función es un miniprograma dentro de un programa. Las funciones contienen varias sentencias bajo un solo nombre, que un programa puede utilizar una o más veces para ejecutar dichas
Repaso Lenguaje C Área de Servicios Programación (Ing. Elect. y Prof. Tec.), Programación I (TUG y TUR) y Electrónica programable (TUE)
Repaso Lenguaje C OBJETOS Variables Constantes Variable: objeto del ambiente cuyo contenido puede cambiar. Constante: objeto cuyo contenido no puede cambiar. Variables: - un nombre que la identifica. Deben
TEMA 7: Ficheros. TEMA 7: Ficheros. 7.1.-Concepto de fichero
TEMA 7: Ficheros 7.1.-Concepto de fichero Todas las estructuras de datos que hemos visto hasta ahora utilizan memoria principal. Esto tiene dos limitaciones importantes: 1. Los datos desaparecen cuando
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
Operadores. Java es un lenguaje rico en operadores, que son casi idénticos a los de C/C++.
Operadores Java es un lenguaje rico en operadores, que son casi idénticos a los de C/C++. Operadores aritméticos Son operadores binarios (requieren siempre dos operandos) que realizan las operaciones aritméticas
Estructura de un programa en Java. Tipos de datos básicos. class miprimerprograma{ // comentario, no es parte del programa
Contenido Estructura de un programa en Java... 2 Tipos de datos básicos... 2 Operadores... 3 Literales... 4 Entrada / Salida... 4 Sentencias condicionales... 5 Funciones... 5 Ejercicios... 6 Variables,
Laboratorio de Arquitectura de Redes. Sentencias de control en lenguaje C
Laboratorio de Arquitectura de Redes Sentencias de control en lenguaje C Sentencias de control en lenguaje C Introducción Sentencia if-else Sentencia switch Sentencia while Sentencia do-while Sentencia
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
FUNDAMENTOS PARA LA CONSTRUCCIÓN DEL CÓDIGO A PARTIR DEL ALGORITMO
FUNDAMENTOS PARA LA CONSTRUCCIÓN DEL CÓDIGO A PARTIR DEL ALGORITMO 3.2 Variables, tipos, expresiones y asignación 3.3 Estructuras de control condicional e iterativo. MODIFICADORES DE ALCANCE CONST Y STATIC
Manejo de Entrada-Salida. Arquitectura de Computadoras
Manejo de Entrada-Salida Arquitectura de Computadoras Agenda 1.2.3.1Módulos de entrada/salida. 1.2.3.2Entrada/salida programada. 1.2.3.3Entrada/salida mediante interrupciones. 1.2.3.4Acceso directo a memoria.
UNIVERSIDAD CARLOS III DE MADRID DEPARTAMENTO DE INFORMÁTICA GRADO EN INGENIERÍA INFORMÁTICA. ESTRUCTURA DE COMPUTADORES
Ejercicio 1 Los siguientes números se encuentran representados en complemento a dos utilizando 6 bits. Indique su correspondiente valor decimal: a) 010011 b) 100111 Ejercicio 3 Dada la siguiente expresión
ORGANIZACIÓN INTERNA + INTRODUCCIÓN AL ENSAMBLADOR
ORGANIZACIÓN INTERNA + INTRODUCCIÓN AL ENSAMBLADOR ORGANIZACIÓN de la MEMORIA Dentro del PIC16F877 se distinguen tres bloques de memoria. Memoria de programa En sus 8192 posiciones (8K) contiene el programa
Programación Estructurada. Sesión 2:El lenguaje de programación C
Programación Estructurada Sesión 2:El lenguaje de programación C Contextualización Una parte importante del lenguaje C son las palabras reservadas, son identificadores con un significado predefinido. Estas
1. Detalle de los Comandos:
1. Detalle de los Comandos: Este es un resumen puede servir como guía rápida para consultas, para mas detalles remitirse a la Ayuda de PSeInt. Observar que cada línea que termina una sentencia debe tener
