Microprocesadores. Introducción al Lenguaje C - Parte V. Prof. Luis Araujo. Universidad de Los Andes

Documentos relacionados
INTRODUCCIÓN AL TIPO COMPUESTO CADENA CONTENIDOS

Microprocesadores. Introducción al Lenguaje C - Parte III. Prof. Luis Araujo. Universidad de Los Andes

Instituto Tecnológico de Celaya

Tema 2: La clase string

Tema 7 Vectores y cadenas de caracteres. Fundamentos de Informática

EXAMEN PARCIAL TRABAJO INTEGRADOR (TI) EVALUACIÓN CONTINUA PESO PORCENTUAL PESO PORCENTUAL 1 30% 06-MAY-14 30% 03-MAY-14 20% 20%

Esquema de un programa en C: bloques básicos

Elementos de un programa en C

FUNDAMENTOS DE INFORMÁTICA 1º Ingeniería Industrial

Tema 8 Vectores y Matrices

PROGRAMACION / Clave: 11214

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

Reglas básicas de la programación en lenguaje C

Funciones y paso de parámetros

Programación. Test Autoevaluación Tema 3

Arrays y Cadenas en C

Aprendiendo a programar Microcontroladores PIC en Lenguaje C con CCS

Algoritmos y Programación I

TEMA 8: ESTRUCTURAS DE DATOS COMPLEJAS 1 VECTORES ESTÁTICOS 2 2 CADENAS O VECTORES DE CARACTERES 6 3 PASO DE CADENAS Y ARRAYS A FUNCIONES 8

Introducción a los Computadores

Cadena de caracteres. 1. Fundamentos de cadenas y caracteres

Informática II Vectores y Matrices

El lenguaje C: Elementos básicos del lenguaje

CAPITULO 4: ENTRADA Y SALIDA DE DATOS.

TEMA 3: EL LENGUAJE C: PRESENTACIÓN

Tema: Sobrecarga de Operadores.

TEMA 2. EL LENGUAJE C. ELEMENTOS BÁSICOS

El lenguaje C. #define MAX LINEA 1000 /* maximo tamanio de linea de entrada */

Universidad de Pamplona Materia: Programación 1 Docente: Ing. Lusbin Raúl Vargas LENGUAJE C ESTRUCTURA DE UN PROGRAMA EN C

Ejercicio 1 (2 puntos. Tiempo: 25 minutos)

TEMA 4. ELEMENTOS BÁSICOS DE PROGRAMACIÓN

Lenguaje de programación C. Introducción

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

DOCUMENTACIÓN PARA EL TRABAJO CON LA PLATAFORMA GUADALBOT

Contenido. Capítulo 1. Introducción a lenguaje C 1

Introducción al tipo de dato ARRAY

Lenguajes de programación LPSI EUI UPM CADENAS DE CARACTERES

ELEMENTOS BÁSICOS DE PROGRAMACIÓN C. 1.1 Uso del editor de Borland C++ Capítulo 1

Introducción a C++ y Code::Blocks

Programación en Lenguaje C

Curso 0 de Informática

EDITRAN/TR. Windows/Unix. Manual de referencia

1. Funciones genéricas 2. Clases genéricas

Tema 10: Tipos de datos definidos por el usuario

Características. Recordando C. Generación de un programa ejecutable cabeceras. Estructura general de un programa. Elementos de programación.

Lenguajes de programación

En un arreglo x de n elementos los elementos del arreglo son: El número de índices determina la dimensionalidad del arreglo.

PROGRAMACIÓN N C++ CONSTRUCTORES PROG.C++ L11 CONSTRUCTORES DEL LENGUAJE

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

1 Estructura básica de un programa C++

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

Cadenas de Caracteres

Apuntadores (Punteros)

ARCHIVOS. 1. Introducción. 2. Definición de archivo. 3. Archivos de acceso secuencial. 4. Gestión de un archivo secuencial de estructuras

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

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

Guía práctica de estudio 11: Funciones

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

LENGUAJE. Tema 1 - Introducción

LENGUAJE ANSI C Guía de referencia

#include <fstream.h> ifstream descriptor ( nombre.extensión ); ofstream descriptor ( nombre.extensión );

TALLER DE PROGRAMACION I

Tema 5: Diseño modular. Índice. Notas. Programación 2. Curso Notas. Ejemplo. La herramienta make. 1 Diseño modular.

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

PROGRAMA DE ASIGNATURA DE PROGRAMACIÓN I

EJEMPLOS DE PROGRAMACIÓN DE FUNCIONES EN C: Página 1 de 5

Introducción a Lenguaje C. Jornadas de Octubre 2009 Grupo de Usuarios de Linux Universidad Carlos III Tania Pérez

CURSO de C++ Ignacio López

TIPOS DE DATOS BASICOS EN LENGUAJE C

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

Presentación. Programación I. Conceptos Avanzados de Programación. :: Prof. Yeniffer Peña

Lección 2 Introducción al lenguaje C

Bloque 4. La descomposición funcional y el diseño descendente

En este artículo vamos a conocer los tipos de datos que podemos manejar programando en C.

REPRESENTACIÓN DE DATOS

Funciones en Lenguaje C.

Tema 9. Vectores y Matrices

CONCEPTOS BASICOS DEL LENGUAJE JAVA

Estructuración del programa en partes más pequeñas y sencillas

Un puntero no es más que una variable estática cuyo contenido es una dirección de memoria.

Práctica 7e: Uso de estructuras en C.

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

Programación En Lenguaje C

Caracteres y Cadenas Conversión de Datos Funciones y procedimientos Archivos cabecera. Fundamentos de programación

Operaciones de E/S en ANSI C

Tema: FUNCIONES, PROCEDIMIENTOS Y RECURSIVIDAD.

UNIVERSIDAD DE PAMPLONA - PROGRAMACION I

Estructuras de Datos Declaraciones Tipos de Datos

LENGUAJE. Tema 3 Elementos de un programa II

Laboratorio de Arquitectura de Redes. Punteros en lenguaje C

Curso de Programación Avanzada en C

Funciones Tipos de funciones y Recursividad

DATOS GENERALES 60 HORAS 3 HORAS

GESTION DE UN LCD USANDO CCS COMPILER (PICC)

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

Sistemas Operativos Práctica 3

GUÍA BÁSICA DE SCHEME v.4

UNIVERSIDAD AUTÓNOMA DE BAJA CALIFORNIA FACULTAD DE CIENCIAS PRACTICA DE PROCESOS HERRAMIENTAS

MIA RICARDO GONZALEZ LOZANO APLICACIONES EN LENGUAJE C

Examen Principios de Programación Febrero 2012

Transcripción:

Introducción al Lenguaje C - Parte V Universidad de Los Andes

Librería de Funciones Las funciones que se usan comúnmente en varios programas se deben agrupar en librerías, Las librerías de funciones usan dos archivos: Archivo con las declaraciones y prototipos de las funciones (archivo.h) y Archivo con el desarrollo de las funciones archivo.c cuando es publico el desarrollo de las funciones y archivo.lib cuando no es público el desarrollo de las funciones

Archivo.h Sintaxis: # ifndef NOMBRE_LIBRERIA # define NOMBRE_LIBRERIA // declaraciones // Prototipos # endif

Archivo.c Sintaxis: # include <xc.h> # include " archivo.h" // Desarrollo de las Funciones

Ejercicio 14 (E14)

lcd 4bit.h # ifndef LCD_4BIT_H # define LCD_4BIT_H # define _XTAL_FREQ 4000000 # define LCD_ RS LD2 # define LCD_ EN LD3 # define LCD_DATA LATD # define LCD_RS_TRIS TRISD2 # define LCD_EN_TRIS TRISD3 # define LCD_DATA_TRIS TRISD

lcd 4bit.h void LCD_init ( void ); void LCD_write_4bits ( char, char ); void LCD_write (char, char ); void LCD_clear ( void ); void LCD_putc ( char ); void LCD_puts ( const char *); void LCD_gotoxy ( char, char ); # endif

lcd 4bit.c # include <xc.h> # include " lcd_4bit.h" void LCD_init ( void ) { LCD_RS_TRIS = 0; LCD_EN_TRIS = 0; LCD_DATA_TRIS &= 0 x0f ; LCD_ RS = 0; LCD_ EN = 0;

E14.c # include <xc.h> # include " lcd_4bit.h" // Palabras de CONFIGURACION void main ( void ) { LCD_init (); LCD_clear (); LCD_gotoxy (4,0); LCD_puts ("* LCD *"); LCD_gotoxy (0,1); LCD_puts (" Microcontrolador "); } while (1) continue ;

Cadenas de caracteres No existe un tipo predefinido para manipular cadenas, Se declaran como vectores tipo char Sintaxis: char cadena [ num_elementos ]; Toda cadena ha de terminar con el carácter especial 0 (cero).

Inicializar Cadenas de caracteres En la declaración: char cad [4] = " abc "; NO se puede hacer una asignación de ese tipo en una sentencia: cad = " xyz "; /* ERROR */

Inicializar Cadenas de caracteres Formas equivalentes de inicializar una cadena: char cad [4] = " abc "; char cad [4] = { a, b, c, \0 }; void main ( void ) { char cad [4]; cad [0] = a ; cad [1] = b ; cad [2] = c ; cad [3] = \0 ; }

Manejo de cadenas con librería string.h Sintaxis: (algunas funciones) # include <string.h> strcpy ( c1, c2 ); // Copia c2 en c1 strcat ( c1, c2 ); // A~nade c2 al final // de c1 int strlen ( cadena ); // Devuelve la longitud int strcmp ( c1, c2 ); // Devuelve cero si c1 // es igual a c2; // no - cero en caso // contrario

Manejo de cadenas con librería string.h Ejemplo: # include <string.h> char comp [42], nom [20] = " Luis ", ape [20] = " Araujo ", tam ; void main ( void ) { strcpy (comp, nom ); // comp = " Luis " strcat (comp, " "); // comp = " Luis " strcat ( comp, ape ); // comp = " Luis Araujo " tam = strlen ( comp ); // tam = 11 }

Manejo de cadenas con librería stdio.h la función sprintf se utiliza para manipular cadenas, Sintaxis: sprintf ( cadena, " CadenaFormato ", arg1, arg2,... argn ); CadenaFormato: %d Entero %c Carácter %f Punto flotante %s Cadena

Manejo de cadenas con librería stdio.h Ejemplos: %5d Entero decimal alineado a la izquierda, ocupando cinco espacios %02u Entero decimal ocupando dos espacios, y rellenando de ceros a la izquierda si hace falta %3.2f Punto Flotante con tres dígitos, dos en la parte fraccionaria %4s Cadena de caracteres ocupando cuatro espacios

Manejo de cadenas con librería stdio.h Ejemplo: # include <stdio.h> char T [20]; sprintf (T, " Hora : %d: %d: %d", h, m, s); sprintf (T, "a= %f a*a= %.2f", 2.3, 2.3*2.3); sprintf (T, " nom %s edad %d", cad2, edad ); sprintf (T, "d= %d c= %c", 50, 50); // d =50 c=2

Ejercicio 15 (E15)

Ejercicio 15 (E15)

Ejercicio 15 (E15) # include <xc.h> # include <stdio.h> # include <string.h> # include " lcd_4bit.h" // Palabra de CONFIGURACION void Delay_Seg ( char ); void main ( void ) { }

Ejercicio 15 (E15) char hor = 0, min = 0, seg = 0, n = 0; char texto1 [17] = "** Cronometro **"; char texto2 [17]; texto2 [0] = \0 ; OSCCON = 0 x68 ; LCD_init (); LCD_clear (); LCD_puts ( texto1 ); sprintf ( texto2, " %02d: %02d: %02d", hor, min, seg ); LCD_gotoxy (4,1); LCD_puts ( texto2 );

Ejercicio 15 (E15) while (1) { while ( PORTCbits. RC0 == 1) continue ; Delay_Seg (1); if(seg == 59) { seg = 0; if(min == 59) { min = 0; if( hor == 23) hor = 0; else hor ++; } else min ++; } else seg ++; //... }

Ejercicio 15 (E15) LCD_gotoxy (0,0); if( strlen ( texto1 ) == 16) { LCD_puts (" "); texto1 [0] = \0 ; } else { strcat ( texto1, "*"); LCD_puts ( texto1 ); } sprintf ( texto2, " %02d: %02d: %02d", hor, min, seg ); LCD_gotoxy (4,1); LCD_puts ( texto2 );

Ejercicio 15 (E15) void Delay_Seg ( char s) { char i; while (s > 0) { for ( i = 0; i < 10; i ++) delay_ms (100); s - -; } }