Sistemas Basados en    MicroprocesadoresProgramación en C para PIC’s
Lenguaje de programación C Es un lenguaje orientado a la implementación de sistemas operativos.    Es muy apreciado por ...
Conceptos en C: tipos de datos Los    tipos de datos especifican los diferentes tamaños de valores para..    Constantes:...
Conceptos en C: tipos de datos (continuación...)Tipo                               Tamaño         Mínimo      Máximochar, ...
Conceptos en C: variables Lasvariables deben ser declaradas en las rutinas antes de utilizarse.    Siempre al principio ...
Conceptos en C: variables (continuación...) Matrices    de datos en ROM (arrays)       const rom char *dataarray = “Press...
Conceptos en C: variables (continuación...) Espacio      de la variables:    Global: declaradas fuera de la función main...
Conceptos en C: variables (continuación...) Acceder     a datos de memoria:    Por su nombre:       int a;       a = 17;...
Conceptos en C: estructuras Condicionales:       if (expresión)       {             sentencias       }       else       {...
Conceptos en C: estructuras (continuación...) Bucles:                                   for (expr1;expr2;expr3)       whi...
Conceptos en C: estructuras (continuación...) Selección:     switch (expresión)     {          case valor1:              ...
Conceptos en C: operadores Operadores       aritméticos:    + suma    - resta    * multiplicación    / división    %...
Conceptos en C: operadores (continuación...) Operadores       lógicos y de desplazamiento:    & and    | or    ^ xor ...
Conceptos en C: operadores (continuación...) Operadores       de comparación y lógicos:    == igual    != no iguales  ...
Conceptos en C: funciones Ellenguaje C está diseñado para el uso de funciones (conjunto de instrucciones que realizan una...
C y los microcontroladores PIC Referencia      a los registros del µcontrolador:    Los registros del microcontrolador s...
C y los microcontroladores PIC (continuación…) Se debe indicar cuales son las funciones de interrupción por medio de la s...
Ejemplo de programa en C#include <p18F4520.h> /*Para las declaraciones de TRISB y                      PORTB*/int counter;...
Upcoming SlideShare
Loading in …5
×

P03.Programación en c para pics

3,013 views

Published on

0 Comments
1 Like
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
3,013
On SlideShare
0
From Embeds
0
Number of Embeds
2
Actions
Shares
0
Downloads
201
Comments
0
Likes
1
Embeds 0
No embeds

No notes for slide

P03.Programación en c para pics

  1. 1. Sistemas Basados en MicroprocesadoresProgramación en C para PIC’s
  2. 2. Lenguaje de programación C Es un lenguaje orientado a la implementación de sistemas operativos.  Es muy apreciado por la eficiencia del código que produce. Esun lenguaje de medio nivel con muchas características de bajo nivel.  Dispone de estructuras típicas de alto nivel,  pero a la vez permite un control del sistema a muy bajo nivel. Permite incluir código ensamblador en código C http://paginaspersonales.deusto.es/jonathan.garibay/
  3. 3. Conceptos en C: tipos de datos Los tipos de datos especifican los diferentes tamaños de valores para..  Constantes: valor de cualquier tipo que nunca cambia.  Variables: una variables es una forma de referirnos a una posición de memoria utilizada en un programa.  Puntero: tipo especial de variable en C que contiene la dirección en memoria de otra variable. http://paginaspersonales.deusto.es/jonathan.garibay/
  4. 4. Conceptos en C: tipos de datos (continuación...)Tipo Tamaño Mínimo Máximochar, signed char 8 bits -128 127unsigned char 8 bits 0 255int, short 16 bits -32768 32767unsigned int, unsigned short 16 bits 0 65535short long 24 bits -8388608 8388607unsigned short long 24 bits 0 16777215long 32 bits -2147483648 2147483647unsigned long 32 bits 0 4294967295 http://paginaspersonales.deusto.es/jonathan.garibay/
  5. 5. Conceptos en C: variables Lasvariables deben ser declaradas en las rutinas antes de utilizarse.  Siempre al principio de la función. La declaración debe especificar:  Tipo de la variable.  Denominación de la variable. Enel momento de su declaración, las variables pueden ser inicializadas. int a = 0 http://paginaspersonales.deusto.es/jonathan.garibay/
  6. 6. Conceptos en C: variables (continuación...) Matrices de datos en ROM (arrays) const rom char *dataarray = “Press button to select...” const rom char tunes[] = {“Press”,”button”,”to”} Etiquetas en C  parecidas a las constantes #define LightsON 0x01100110 #define LED PORTAbits.RA5 http://paginaspersonales.deusto.es/jonathan.garibay/
  7. 7. Conceptos en C: variables (continuación...) Espacio de la variables:  Global: declaradas fuera de la función main.  Son accesibles desde cualquier punto del programa y su vida útil es mientras que se ejecute el programa.  Local: declaradas dentro de una función.  Son accesibles sólo dentro de la función donde se declaran y su vida útil es mientras que esa función se ejecuta.  Si al programador le interesa mantener el valor de variable para llamadas posteriores de la función, debe ser declarada como estática (static). http://paginaspersonales.deusto.es/jonathan.garibay/
  8. 8. Conceptos en C: variables (continuación...) Acceder a datos de memoria:  Por su nombre: int a; a = 17;  Por su dirección (a través de punteros): int *bk, a; bk = &a; http://paginaspersonales.deusto.es/jonathan.garibay/
  9. 9. Conceptos en C: estructuras Condicionales: if (expresión) { sentencias } else { sentencias } http://paginaspersonales.deusto.es/jonathan.garibay/
  10. 10. Conceptos en C: estructuras (continuación...) Bucles: for (expr1;expr2;expr3) while (expresión) { { sentencias sentencias } } do { sentencias } while (expresión); http://paginaspersonales.deusto.es/jonathan.garibay/
  11. 11. Conceptos en C: estructuras (continuación...) Selección: switch (expresión) { case valor1: sentencias break; case valor2: sentencias break; ... default: sentencias break; } http://paginaspersonales.deusto.es/jonathan.garibay/
  12. 12. Conceptos en C: operadores Operadores aritméticos:  + suma  - resta  * multiplicación  / división  % resto  ++ incremento  -- decremento http://paginaspersonales.deusto.es/jonathan.garibay/
  13. 13. Conceptos en C: operadores (continuación...) Operadores lógicos y de desplazamiento:  & and  | or  ^ xor  ~ not  >> desplazamiento a derecha PORTA = PORTA >> 4  << desplazamiento a izquierda http://paginaspersonales.deusto.es/jonathan.garibay/
  14. 14. Conceptos en C: operadores (continuación...) Operadores de comparación y lógicos:  == igual  != no iguales  > mayor que  >= mayor o igual que  < menor que  <= menor o igual que  && and No es lo mismo el  || or operador & que el &&. ¿Cuál es la diferencia?  ! not http://paginaspersonales.deusto.es/jonathan.garibay/
  15. 15. Conceptos en C: funciones Ellenguaje C está diseñado para el uso de funciones (conjunto de instrucciones que realizan una operación concreta), que se combinan para dar lugar a un programa.  Programación estructurada. Lasvariables se pasan de una función a otra en forma de parámetros.  Por defecto, el paso de parámetros es por valor. La primera función que se ejecutará será la Main. Es necesario definir una función antes de poder utilizarla.  Funciones prototipo. http://paginaspersonales.deusto.es/jonathan.garibay/
  16. 16. C y los microcontroladores PIC Referencia a los registros del µcontrolador:  Los registros del microcontrolador son direccionables en memoria como variables. Incluyendo el archivo de PORTA = LightsON; cabecera <p18fxxxx.h>  Se puede hacer referencia a los bits individuales: TRISBbits.TRISB3 = 0; PORTBbits.RB4 = 1; #pragma statements  Específican detalles del microcontrolador que utilizamos (palabra de configuración). #pragma config OSC=XT, WDT=OFF http://paginaspersonales.deusto.es/jonathan.garibay/
  17. 17. C y los microcontroladores PIC (continuación…) Se debe indicar cuales son las funciones de interrupción por medio de la siguiente directiva: http://paginaspersonales.deusto.es/jonathan.garibay/
  18. 18. Ejemplo de programa en C#include <p18F4520.h> /*Para las declaraciones de TRISB y PORTB*/int counter; //variable globalvoid main(void){ counter=1; TRISB=0; //configuración de PORTB while (counter <=15) { PORTB = counter; //mostrar el valor de counter counter++; }} http://paginaspersonales.deusto.es/jonathan.garibay/

×