LENGUAJE C PARA PICS PIC 18F4550 1. LENGUAJE C. TIPOS DE DATOS. El compilador CCS acepta los...

44
LENGUAJE C PARA PICS PIC 18F4550 1

Transcript of LENGUAJE C PARA PICS PIC 18F4550 1. LENGUAJE C. TIPOS DE DATOS. El compilador CCS acepta los...

Page 1: LENGUAJE C PARA PICS PIC 18F4550 1. LENGUAJE C. TIPOS DE DATOS. El compilador CCS acepta los siguientes tipos de variables: EspecificaciónSignificadoTamañoRango.

1

LENGUAJE C PARA PICS

PIC 18F4550

Page 2: LENGUAJE C PARA PICS PIC 18F4550 1. LENGUAJE C. TIPOS DE DATOS. El compilador CCS acepta los siguientes tipos de variables: EspecificaciónSignificadoTamañoRango.

2

LENGUAJE C. TIPOS DE DATOS.El compilador CCS acepta los siguientes tipos de variables: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 Entero de 1 bit 1 bit 0 a 1

int8 Entero de 8 bits 8 bits 0 a 255 (sin signo)

int16 Entero de 16 bits 16 bits 0 a 65535

int32 Entero de 32 bits 32 bits 0 a (232-1)

Short Entero de 1 bit 1 bit 0 a 1

long Entero de 16 bits 16 bits 0 a 65535 (sin signo)

Page 3: LENGUAJE C PARA PICS PIC 18F4550 1. LENGUAJE C. TIPOS DE DATOS. El compilador CCS acepta los siguientes tipos de variables: EspecificaciónSignificadoTamañoRango.

3

LENGUAJE C. TIPOS DE DATOS 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 recogido en la siguiente tabla.

Los números 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.

Especificación Significado Tamaño Rango

Signed char carácter con signo

8 bits -128 a 128

Signed int Entero con signo 8 bits -128 a 128

Signed long Coma flotante 16 bits -32768 a 32768

Page 4: LENGUAJE C PARA PICS PIC 18F4550 1. LENGUAJE C. TIPOS DE DATOS. El compilador CCS acepta los siguientes tipos de variables: EspecificaciónSignificadoTamañoRango.

4

LENGUAJE C. CONSTANTES

Page 5: LENGUAJE C PARA PICS PIC 18F4550 1. LENGUAJE C. TIPOS DE DATOS. El compilador CCS acepta los siguientes tipos de variables: EspecificaciónSignificadoTamañoRango.

5

OPERADORES ARITMÉTICOS

OPERADORES RELACIONALES

!=

Page 6: LENGUAJE C PARA PICS PIC 18F4550 1. LENGUAJE C. TIPOS DE DATOS. El compilador CCS acepta los siguientes tipos de variables: EspecificaciónSignificadoTamañoRango.

6

OPERADORES LÓGICOS

OPERADORES A NIVEL DE BITS

Page 7: LENGUAJE C PARA PICS PIC 18F4550 1. LENGUAJE C. TIPOS DE DATOS. El compilador CCS acepta los siguientes tipos de variables: EspecificaciónSignificadoTamañoRango.

7

OPERADORES DE INCREMENTO Y DECREMENTO

OPERADORES DE CORRIMIENTO

Page 8: LENGUAJE C PARA PICS PIC 18F4550 1. LENGUAJE C. TIPOS DE DATOS. El compilador CCS acepta los siguientes tipos de variables: EspecificaciónSignificadoTamañoRango.

8

VARIABLES Las variables se utilizan para nombrar posiciones de

memoria RAM; se deben declarar, obligatoriamente, antes de utilizarlas; para ello se debe indicar el nombre y el tipo de dato que se manejará. Se definen de la siguiente forma:

TIPO NOMBRE_VARIABLE[=VALOR INICIAL] TIPO hace referencia a cualquiera de los tipos de datos NOMBRE_VARIABLE puede ser cualquiera y el valor inicial es

opcional.Ejemplos:

byte k = 5;byte const SEMANAS = 52;

float temp_limit=500.0;char k, kant=‘0’;int x,y,z;

Page 9: LENGUAJE C PARA PICS PIC 18F4550 1. LENGUAJE C. TIPOS DE DATOS. El compilador CCS acepta los siguientes tipos de variables: EspecificaciónSignificadoTamañoRango.

9

VARIABLES Las variables pueden ser de tipo LOCAL o

GLOBAL. Las variables locales sólo se utilizan en la

función donde se encuentran declaradas; las variables globales se pueden utilizar en todas las funciones del programa. Ambas deben declararse antes de ser utilizadas y las globales deben declararse antes de cualquier función y fuera de ellas. Las variables globales son puestas a cero cuando se inicia la función principal main().

Page 10: LENGUAJE C PARA PICS PIC 18F4550 1. LENGUAJE C. TIPOS DE DATOS. El compilador CCS acepta los siguientes tipos de variables: EspecificaciónSignificadoTamañoRango.

10

EJEMPLO DE VARIABLES LOCALES Y GLOBALES

int16 counter; //Variable global

Void FUNCION ( ){

int dato1, dato2=34; //Variables locales

}void main(){

int8 suma; //Variable local}

Page 11: LENGUAJE C PARA PICS PIC 18F4550 1. LENGUAJE C. TIPOS DE DATOS. El compilador CCS acepta los siguientes tipos de variables: EspecificaciónSignificadoTamañoRango.

11

FUNCIONESLas funciones son los bloques constructivos fundamentales en C.Todas las sentencias deben encontrarse dentro de funciones.Las funciones deben ser definidas antes de ser utilizadas.Formato general de definición de una función:

Tipo_dato nombre_función (tipo param1, tipo param2, …){

cuerpo de la función (sentencias);}

El tipo de dato devuelto se indica mediante tipo_dato. Si no se indica nada, se entiende que devuelve un entero. Si no devuelve nada debe incluirse una especificación tipo void.

Page 12: LENGUAJE C PARA PICS PIC 18F4550 1. LENGUAJE C. TIPOS DE DATOS. El compilador CCS acepta los siguientes tipos de variables: EspecificaciónSignificadoTamañoRango.

12

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.

Page 13: LENGUAJE C PARA PICS PIC 18F4550 1. LENGUAJE C. TIPOS DE DATOS. El compilador CCS acepta los siguientes tipos de variables: EspecificaciónSignificadoTamañoRango.

13

Además de devolver valores, una función también puede recibir parámetros (denominados argumentos) según se indicó en su definición.Por ejemplo:

int suma(int a, int b){

return(a+b);}main(){

int c;c= suma(10 , 23);

}Los argumentos se pueden pasar a las funciones por

valor o por referencia.La llamada por valor copia el argumento de llamada en

el parámetro formal de la función y no modifica su valor en la función de partida.

Parámetros formales

Argumentos de llamada

Page 14: LENGUAJE C PARA PICS PIC 18F4550 1. LENGUAJE C. TIPOS DE DATOS. El compilador CCS acepta los siguientes tipos de variables: EspecificaciónSignificadoTamañoRango.

14

DECLARACIONES DE CONTROL

If – else:if (expresión)

sentencia1;else

sentencia2;

If – else:if (expresión) {

sentencia1;}else {

sentencia2;}

If-elseCuando la expresión evaluada es verdadera, Las

instrucciones de la sentencia 1 son ejecutadas. Si la expresión es falsa, las instrucciones de la sentencia 2 son ejecutadas. La expresión debe ser evaluada a un valor entero. Los paréntesis que encierra la expresión son obligatorios.La palabra especial “else sentencia 2” es opcional.

Page 15: LENGUAJE C PARA PICS PIC 18F4550 1. LENGUAJE C. TIPOS DE DATOS. El compilador CCS acepta los siguientes tipos de variables: EspecificaciónSignificadoTamañoRango.

15

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) ó if (expresión=sentencia)

{sentencia 1;sentencia 2;…}

Sentencia if - elseSe 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;else

sentencia 2;

NOTA: Se pueden combinar varios if - else para establecer múltiples caminos de decisión

Page 16: LENGUAJE C PARA PICS PIC 18F4550 1. LENGUAJE C. TIPOS DE DATOS. El compilador CCS acepta los siguientes tipos de variables: EspecificaciónSignificadoTamañoRango.

16

A=0? C=5

B=10

If (A==0) B=10;Else C=5;

If (A!=1) B=10;Else C=5;

NO

SI

Page 17: LENGUAJE C PARA PICS PIC 18F4550 1. LENGUAJE C. TIPOS DE DATOS. El compilador CCS acepta los siguientes tipos de variables: EspecificaciónSignificadoTamañoRango.

17

A>20? B=15

B=5

If (A>10) {IF(A>20) B=5; Else B=15;}NO

SI

A>10?

SI

NO

Page 18: LENGUAJE C PARA PICS PIC 18F4550 1. LENGUAJE C. TIPOS DE DATOS. El compilador CCS acepta los siguientes tipos de variables: EspecificaciónSignificadoTamañoRango.

18

A>20? B=15

B=5

if (A>10) {IF(A>20) B=15;}else B=5;

SI

NO

A>10?

SI

NO

Page 19: LENGUAJE C PARA PICS PIC 18F4550 1. LENGUAJE C. TIPOS DE DATOS. El compilador CCS acepta los siguientes tipos de variables: EspecificaciónSignificadoTamañoRango.

19

Sentencia switchSustituye 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 de sentencias;break;

case constante 2:grupo de sentencias;break;

…default:

grupo n de sentencias;

}

No puede haber dos 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.

Nota: break es opcional. Si no aparece se sigue con el case siguiente.

Page 20: LENGUAJE C PARA PICS PIC 18F4550 1. LENGUAJE C. TIPOS DE DATOS. El compilador CCS acepta los siguientes tipos de variables: EspecificaciónSignificadoTamañoRango.

20

A=2? B=2SI

A=0?

NO

A=3? B=3SI

NO

NO

B=1SI

switch (A){ case 0:

B=1;break;case 2:B=2;break;case 3:B=3;break;default: break;

}

Page 21: LENGUAJE C PARA PICS PIC 18F4550 1. LENGUAJE C. TIPOS DE DATOS. El compilador CCS acepta los siguientes tipos de variables: EspecificaciónSignificadoTamañoRango.

21

Sentencia de ciclo 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.

Page 22: LENGUAJE C PARA PICS PIC 18F4550 1. LENGUAJE C. TIPOS DE DATOS. El compilador CCS acepta los siguientes tipos de variables: EspecificaciónSignificadoTamañoRango.

22

N<=10?

NO

NO

IMPRIMIR NN=N+1 SI

SI

NO

N=1

for(N=1;N<=10;N++){

Printf(“%u”, N);}

Page 23: LENGUAJE C PARA PICS PIC 18F4550 1. LENGUAJE C. TIPOS DE DATOS. El compilador CCS acepta los siguientes tipos de variables: EspecificaciónSignificadoTamañoRango.

23

Sentencia de ciclo 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 ciclo 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.

Page 24: LENGUAJE C PARA PICS PIC 18F4550 1. LENGUAJE C. TIPOS DE DATOS. El compilador CCS acepta los siguientes tipos de variables: EspecificaciónSignificadoTamañoRango.

24

COMENTARIOS

Los comentarios se incluyen en el código fuente para documentar y orientar al programador sobre el código que se diseña. Son ignorados por el compilador y no afectan a la longitud ni rapidez de ejecución del código final. Un comentario se puede colocar en cualquier lugar del programa y pueden tener la longitud y el número de líneas que se quiera.

Hay dos formatos posibles para los comentarios:Formato 1. Empiezan por // y llegan hasta el final de la línea.

// Esto es un comentario.Formato 2. Empiezan por /* y finalizan por */. No es posible anidar

comentarios con este formato. Ejemplos:/*Esto también es un comentario*//*Pero esto que /*parece un comentario válido*/ no lo es*/

Page 25: LENGUAJE C PARA PICS PIC 18F4550 1. LENGUAJE C. TIPOS DE DATOS. El compilador CCS acepta los siguientes tipos de variables: EspecificaciónSignificadoTamañoRango.

25

OTRAS SENTENCIAS Return: se emplea para devolver datos en

las funciones. Break: permite salir de un bucle, se utiliza

para While, For, Do y Switch. Goto: provoca un salto incondicional.

Page 26: LENGUAJE C PARA PICS PIC 18F4550 1. LENGUAJE C. TIPOS DE DATOS. El compilador CCS acepta los siguientes tipos de variables: EspecificaciónSignificadoTamañoRango.

26

DIRECTIVAS

Las directivas de pre-procesado comienzan con el símbolo # y continúan con un comando específico. La sintaxis depende del comando. Algunos comandos no permiten otros elementos sintácticos en la misma expresión.

Page 27: LENGUAJE C PARA PICS PIC 18F4550 1. LENGUAJE C. TIPOS DE DATOS. El compilador CCS acepta los siguientes tipos de variables: EspecificaciónSignificadoTamañoRango.

27

DIRECTIVAS DE INTERÉS# DEVICE chip: permite definir el PIC con el que se

realizará la compilación. Ejemplo:

#device PIC16F877

#FUSES options: permite definir la palabra de configuración para programar un PIC. Ejemplo:

#fuses XT,NOWDT,PUT,NOPROTECT, NOLVP

#INCLUDE <archivo>: permite incluir un fichero en el programa. Ejemplo:

#INCLUDE <16f877.h>

Page 28: LENGUAJE C PARA PICS PIC 18F4550 1. LENGUAJE C. TIPOS DE DATOS. El compilador CCS acepta los siguientes tipos de variables: EspecificaciónSignificadoTamañoRango.

28

DIRECTIVAS DE INTERÉS

#USE DELAY (CLOCK=SPEED): permite definir las frecuencias del oscilador del PIC, el compilador lo utiliza para realizar cálculos de tiempo. Se puede utilizar M, MHZ, K y KHZ para definir la frecuencia. Ejemplo:

#use delay(clock=4000000)

Luego de definida en las declaraciones se pueden utilizar las funciones:

delay_ms(tiempo en milisegundos)delay_us(tiempo en microsegundos)delay_cycles(tiempo en base a los ciclos de

máquina)

Page 29: LENGUAJE C PARA PICS PIC 18F4550 1. LENGUAJE C. TIPOS DE DATOS. El compilador CCS acepta los siguientes tipos de variables: EspecificaciónSignificadoTamañoRango.

29

FUNCIONES El compilador CCS suministra una serie

de funciones predefinidas para acceder y utilizar el PIC y sus periféricos. Estas funciones facilitan la configuración del PIC sin entrar en el nivel de los registros especiales.

Page 30: LENGUAJE C PARA PICS PIC 18F4550 1. LENGUAJE C. TIPOS DE DATOS. El compilador CCS acepta los siguientes tipos de variables: EspecificaciónSignificadoTamañoRango.

30

MANEJO DE LOS PUERTOS En lenguaje C se pueden gestionar los

puertos de dos formas:

Se declaran los registros TRISX y PORTX definiendo su posición en la memoria RAM como variables de C.

Utilizando las directivas específicas del compilador (#USE FAST_IO,#USE STANDARD_IO)

Page 31: LENGUAJE C PARA PICS PIC 18F4550 1. LENGUAJE C. TIPOS DE DATOS. El compilador CCS acepta los siguientes tipos de variables: EspecificaciónSignificadoTamañoRango.

31

MANEJO DE LOS PUERTOS A través de la RAM:#BYTE variable=constante. Ejemplo:#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#BYTE TRISC=0x87 //variable TRISC en 87h#BYTE PORTC=0x07 //variable PORTC en 07h

Page 32: LENGUAJE C PARA PICS PIC 18F4550 1. LENGUAJE C. TIPOS DE DATOS. El compilador CCS acepta los siguientes tipos de variables: EspecificaciónSignificadoTamañoRango.

32

MANEJO DE LOS PUERTOS Una vez definidas estas variables se pueden

configurar y controlar los puertos a través de los comandos de asignación.

TRISA= 0xFF;TRISB= 0x00;TRISC=0x0F;

Escritura en los puertos:PORTC=0x0A; Lectura de puertos:dato=PORTA; // Asigna el valor del puerto A a

la // variable dato.

Page 33: LENGUAJE C PARA PICS PIC 18F4550 1. LENGUAJE C. TIPOS DE DATOS. El compilador CCS acepta los siguientes tipos de variables: EspecificaciónSignificadoTamañoRango.

33

MANEJO DE LOS PUERTOS

Existen unas funciones de C que permiten trabajar bit a bit con los registros o variables definidas previamente. Estas funciones son las siguientes:

bit_clear(var,bit);

bit_set(var,bit);

Bit_test(var,bit);

Swap(var);

Ejemplos:

bit_set(PORTC,4);

If (bit_test(PORTB,0)==1) bit_clear(PORTB,1);

Page 34: LENGUAJE C PARA PICS PIC 18F4550 1. LENGUAJE C. TIPOS DE DATOS. El compilador CCS acepta los siguientes tipos de variables: EspecificaciónSignificadoTamañoRango.

34

MANEJO DE LOS PUERTOS

Se puede declarar un bit de un registro mediante la directiva #BIT, lo que permite trabajar directamente con el terminal:

#BIT nombre = posición.bit. Ejemplo:#BIT RB4=0x06.4 //PORTB=0x06RB4=0;

Page 35: LENGUAJE C PARA PICS PIC 18F4550 1. LENGUAJE C. TIPOS DE DATOS. El compilador CCS acepta los siguientes tipos de variables: EspecificaciónSignificadoTamañoRango.

35

MANEJO DE LOS PUERTOS#include <16F877.h>#fuses XT,NOWDT,NOLVP#use delay (clock=4000000)

#BYTE TRISB=0x86#BYTE PORTB=0x06#BYTE OPTION_REG=0x81

void main ( ) {bit_clear (OPTION_REG,7);bit_set (TRISB,0);bit_clear (TRISB,1);bit_clear (PORTB,1);while (1){

if (bit_test(PORTB,0)==1)bit_clear(PORTB,1);

elsebit_set(PORTB,1);

}}

Page 36: LENGUAJE C PARA PICS PIC 18F4550 1. LENGUAJE C. TIPOS DE DATOS. El compilador CCS acepta los siguientes tipos de variables: EspecificaciónSignificadoTamañoRango.

36

MANEJO DE PUERTOS

A través de las directivas

El compilador ofrece funciones predefinidas para trabajar con los puertos. Estas funciones son:

output_X(valor);

input_X( );

set_tris_X(valor);

port_b_pullups (valor); //True o FALSE

get_tris( );

Ejemplo:

output_A(0xFF);

valor=input_B( );

set_tris_C(0x0F);

Page 37: LENGUAJE C PARA PICS PIC 18F4550 1. LENGUAJE C. TIPOS DE DATOS. El compilador CCS acepta los siguientes tipos de variables: EspecificaciónSignificadoTamañoRango.

37

MANEJO DE PUERTOS Existen una serie de funciones asociadas a un pin*. El

parámetro pin se define en el fichero include 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

Las funciones son:

output_low (pin*);

output_high (pin*);

output_bit (pin*,valor);

output_toggle (pin*);

output_float (pin*); // pin de entrada a tensión flotante

input_state (pin*);

Input (pin*);

Page 38: LENGUAJE C PARA PICS PIC 18F4550 1. LENGUAJE C. TIPOS DE DATOS. El compilador CCS acepta los siguientes tipos de variables: EspecificaciónSignificadoTamañoRango.

38

MANEJO DE PUERTOS

Las funciones output_x() e input_x() dependen de la directiva tipo #USE_IO que esté activa. Directivas:

#USE FAST_IO(PUERTO)Con la función output_x() se saca el valor al puerto y con la función input_x() se lee el puerto. La directiva no modifica previamente el registro TRIS correspondiente.

Page 39: LENGUAJE C PARA PICS PIC 18F4550 1. LENGUAJE C. TIPOS DE DATOS. El compilador CCS acepta los siguientes tipos de variables: EspecificaciónSignificadoTamañoRango.

39

MANEJO DE PUERTOS

#include <16F877.h>#fuses XT,NOWDT,NOLVP#use delay (clock=4000000)#use fast_io(B)void main ( ) {

port_B_pullups (TRUE);set_tris_B(0x01);output_low(PIN_B1);while (1){

if (input(PIN_B0)==1)output_low(PIN_B1);

elseoutput_high (PIN_B1);

}}

Page 40: LENGUAJE C PARA PICS PIC 18F4550 1. LENGUAJE C. TIPOS DE DATOS. El compilador CCS acepta los siguientes tipos de variables: EspecificaciónSignificadoTamañoRango.

40

MANEJO DE PUERTOS

#USE STANDARD_IO(PUERTO) Con la función output_x() el compilador se

asegura de que el terminal, o terminales correspondientes sean de salida mediante la modificación del TRIS correspondiente. Con la función input_x() ocurre lo mismo pero asegurando el terminal o terminales como entrada. Es la directiva por defecto. Entonces, el ejemplo anterior quedaría:

Page 41: LENGUAJE C PARA PICS PIC 18F4550 1. LENGUAJE C. TIPOS DE DATOS. El compilador CCS acepta los siguientes tipos de variables: EspecificaciónSignificadoTamañoRango.

41

MANEJO DE PUERTOS

#include <16F877.h>#fuses XT,NOWDT,NOLVP#use delay (clock=4000000)#use standard_io(B)void main ( ) {

port_b_pullups (TRUE);output_low(PIN_B1);while (1){

if (input(PIN_B0)==1)output_low(PIN_B1);

elseoutput_high (PIN_B1);

}}

Page 42: LENGUAJE C PARA PICS PIC 18F4550 1. LENGUAJE C. TIPOS DE DATOS. El compilador CCS acepta los siguientes tipos de variables: EspecificaciónSignificadoTamañoRango.

42

ESTRUCTURA DE UN PROGRAMA EN C( CICLO WHILE )

// Definición de variables globales

// Definición de funciones

void main(void){ // Definición de variables locales

// Configuración de registros (recursos y puertos)

// ciclo infinito while ( 1 )

{

// Programa de usuario

}}

Page 43: LENGUAJE C PARA PICS PIC 18F4550 1. LENGUAJE C. TIPOS DE DATOS. El compilador CCS acepta los siguientes tipos de variables: EspecificaciónSignificadoTamañoRango.

43

ESTRUCTURA DE UN PROGRAMA EN C ( CICLO FOR )// Definición de variables globales

// Definición de funciones

void main(void){ // Definición de variables locales

// Configuración de registros (recursos y puertos)

// ciclo infinito for ( ; ; )

{

// Programa de usuario

}}

Page 44: LENGUAJE C PARA PICS PIC 18F4550 1. LENGUAJE C. TIPOS DE DATOS. El compilador CCS acepta los siguientes tipos de variables: EspecificaciónSignificadoTamañoRango.

44

ESTRUCTURA DE UN PROGRAMA EN C ( CICLO DO - WHILE )// Definición de variables globales

// Definición de funciones

void main(void){ // Definición de variables locales

// Configuración de registros (recursos y puertos)

// ciclo infinito do

{

// Programa de usuario

} while ( 1 ) ;}