pic 16f877a y lenguaje c

23
  Lic. Braulio Parizaca Puma Fundamentos de Lenguaje C para PIC 16F877A

Upload: braulio-parizaca-p

Post on 11-Jul-2015

2.182 views

Category:

Documents


11 download

TRANSCRIPT

Page 1: PIC 16F877A y Lenguaje C

5112018 PIC 16F877A y Lenguaje C - slidepdfcom

httpslidepdfcomreaderfullpic-16f877a-y-lenguaje-c 123

Lic Braulio Parizaca Puma

Fundamentos de Lenguaje C para PIC 16F877A

5112018 PIC 16F877A y Lenguaje C - slidepdfcom

httpslidepdfcomreaderfullpic-16f877a-y-lenguaje-c 223

Caracteriacutesticas Velocidad de operacioacuten hasta 20 MHz de

reloj

8K x 14 bits por palabra de memoria deprograma FLASH

368 x 8 bytes de memoria de datos (RAM)

256 x 8 bytes de memoria de datosEEPROM

14 fuentes de interrupciones

Fundamentos de Lenguaje C para PICs

5112018 PIC 16F877A y Lenguaje C - slidepdfcom

httpslidepdfcomreaderfullpic-16f877a-y-lenguaje-c 323

Puertos de entrada y salida PORTA ( RA5 RA4 RA3

RA2 RA1 RA0 )

PORTB ( RB7 RB6 RB5RB4 RB3 RB2 RB1 RB0 )

PORTC ( RC7 RC6 RC5RC4 RC3 RC2 RC1 RC0 )

PORTD ( RD7 RD6 RD5RD4 RD3 RD2 RD1 RD0 )

PORTE ( RE2 RE1 RE0 )

Fundamentos de Lenguaje C para PICs

5112018 PIC 16F877A y Lenguaje C - slidepdfcom

httpslidepdfcomreaderfullpic-16f877a-y-lenguaje-c 423

Arquitectura interna

Arquitectura HARVARD

Buses separados (datos e instrucciones)

Memoria de programa 14 bits

Memoria de datos 8 bits

Recursos mapeados en memoria de datos

Fundamentos de Lenguaje C para PICs

5112018 PIC 16F877A y Lenguaje C - slidepdfcom

httpslidepdfcomreaderfullpic-16f877a-y-lenguaje-c 523

P U E R T O S

Puerto funciones Funciones

PORTA 3 Entradas digital

Salidas digital

Entradas analoacutegicas

PORTB 2 Entradas digital

Salidas digital

PORTC 3 Entradas digital

Salidas digital

Medios de comunicacioacuten

PORTD 3 Entradas digital

Salidas digital

Puerto paralelo esclavo

PORTE 4 Entradas digital

Salidas digital

Entradas analoacutegicas

Control del puerto paralelo esclavo

Fundamentos de Lenguaje C para PICs

5112018 PIC 16F877A y Lenguaje C - slidepdfcom

httpslidepdfcomreaderfullpic-16f877a-y-lenguaje-c 623

Fundamentos de Lenguaje C para PICs

5112018 PIC 16F877A y Lenguaje C - slidepdfcom

httpslidepdfcomreaderfullpic-16f877a-y-lenguaje-c 723

Fundamentos de Lenguaje C para PICs

5112018 PIC 16F877A y Lenguaje C - slidepdfcom

httpslidepdfcomreaderfullpic-16f877a-y-lenguaje-c 823

Fundamentos de Lenguaje C para PICs

5112018 PIC 16F877A y Lenguaje C - slidepdfcom

httpslidepdfcomreaderfullpic-16f877a-y-lenguaje-c 923

Fundamentos de Lenguaje C para PICs

5112018 PIC 16F877A y Lenguaje C - slidepdfcom

httpslidepdfcomreaderfullpic-16f877a-y-lenguaje-c 1023

Fundamentos de Lenguaje C para PICs

FUNCIONES

int suma(int aint bint c)

return(a + b - c)

PROGRAMA

void main(void)

int c

c = suma(151)

output_b(c)

Ejemplo de Funciones

5112018 PIC 16F877A y Lenguaje C - slidepdfcom

httpslidepdfcomreaderfullpic-16f877a-y-lenguaje-c 1123

Fundamentos de Lenguaje C para PICs

5112018 PIC 16F877A y Lenguaje C - slidepdfcom

httpslidepdfcomreaderfullpic-16f877a-y-lenguaje-c 1223

PROGRAMA

void main(void)

while(1)

if(input(PIN_B0))

output_bit(PIN_C00)

else

output_bit(PIN_C01)

Ejemplo de sentencia if-else

Fundamentos de Lenguaje C para PICs

5112018 PIC 16F877A y Lenguaje C - slidepdfcom

httpslidepdfcomreaderfullpic-16f877a-y-lenguaje-c 1323

Fundamentos de Lenguaje C para PICs

5112018 PIC 16F877A y Lenguaje C - slidepdfcom

httpslidepdfcomreaderfullpic-16f877a-y-lenguaje-c 1423

Fundamentos de Lenguaje C para PICs

Ejemplo de sentencia switch

VARIABLES int numero PROGRAMAvoid main(void)

while(1)

numero = input_b() switch(numero)

case 1

output_c(1) break

case 2 output_c(2) break

case 3 output_c(4)

break

case 4 output_c(8) break

case 5 output_c(16)

break case 6 output_c(32) break

case 7 output_c(64) break

case 8 output_c(128) break

default output_c(0)

5112018 PIC 16F877A y Lenguaje C - slidepdfcom

httpslidepdfcomreaderfullpic-16f877a-y-lenguaje-c 1523

Fundamentos de Lenguaje C para PICs

Ejemplo de sentencia switch VARIABLES int numero PROGRAMAvoid main(void)

while(1)

numero = input_b() switch(numero)

case 6 output_c(32)break

5112018 PIC 16F877A y Lenguaje C - slidepdfcom

httpslidepdfcomreaderfullpic-16f877a-y-lenguaje-c 1623

Fundamentos de Lenguaje C para PICs

5112018 PIC 16F877A y Lenguaje C - slidepdfcom

httpslidepdfcomreaderfullpic-16f877a-y-lenguaje-c 1723

Estructura de un programa en C( ciclo for )

Definicioacuten de variables globales

Definicioacuten de funciones

void main(void)

Definicioacuten de variables locales

Configuracioacuten de registros (recursos y puertos)

ciclo infinitofor ( )

Programa de usuario

5112018 PIC 16F877A y Lenguaje C - slidepdfcom

httpslidepdfcomreaderfullpic-16f877a-y-lenguaje-c 1823

Fundamentos de Lenguaje C para PICs

Ejemplo de sentencia for VARIABLES int icont variables definidas

PROGRAMAvoid main(void)

do bucle

cont=1 inicializarfor(i=1ilt8i++)leds on derecha

output_b(cont) ilumino led correspondientedelay_ms(100)cont=cont2

for(i=1ilt8i++) output_b(cont) ilumino led correspondientedelay_ms(100)cont=cont2

while(TRUE) infinito

Lic Braulio Parizaca Puma

5112018 PIC 16F877A y Lenguaje C - slidepdfcom

httpslidepdfcomreaderfullpic-16f877a-y-lenguaje-c 1923

Fundamentos de Lenguaje C para PICs

5112018 PIC 16F877A y Lenguaje C - slidepdfcom

httpslidepdfcomreaderfullpic-16f877a-y-lenguaje-c 2023

Estructura de un programa en C( ciclo while )

Definicioacuten de variables globales

Definicioacuten de funciones

void main(void)

Definicioacuten de variables locales

Configuracioacuten de registros (recursos y puertos)

ciclo infinitowhile ( 1 )

Programa de usuario

5112018 PIC 16F877A y Lenguaje C - slidepdfcom

httpslidepdfcomreaderfullpic-16f877a-y-lenguaje-c 2123

PROGRAMA

void main(void)

while(1)

if(input(PIN_B0))

output_bit(PIN_C00)

else

output_bit(PIN_C01)

Ejemplo de sentencia while

Fundamentos de Lenguaje C para PICs

5112018 PIC 16F877A y Lenguaje C - slidepdfcom

httpslidepdfcomreaderfullpic-16f877a-y-lenguaje-c 2223

Estructura de un programa en C( ciclo do - while )

Definicioacuten de variables globales

Definicioacuten de funciones

void main(void)

Definicioacuten de variables locales

Configuracioacuten de registros (recursos y puertos)

ciclo infinitodo

Programa de usuario

while ( 1 )

5112018 PIC 16F877A y Lenguaje C - slidepdfcom

httpslidepdfcomreaderfullpic-16f877a-y-lenguaje-c 2323

Fundamentos de Lenguaje C para PICs

Ejemplo de sentencia do-while VARIABLES int icont variables definidas

PROGRAMAvoid main(void)

do bucle

cont=1 inicializarfor(i=1ilt8i++)leds on derecha

output_b(cont) ilumino led correspondientedelay_ms(100)cont=cont2

for(i=1ilt8i++)

output_b(cont) ilumino led correspondientedelay_ms(100)cont=cont2

while(TRUE) infinito

Lic Braulio Parizaca Puma

Page 2: PIC 16F877A y Lenguaje C

5112018 PIC 16F877A y Lenguaje C - slidepdfcom

httpslidepdfcomreaderfullpic-16f877a-y-lenguaje-c 223

Caracteriacutesticas Velocidad de operacioacuten hasta 20 MHz de

reloj

8K x 14 bits por palabra de memoria deprograma FLASH

368 x 8 bytes de memoria de datos (RAM)

256 x 8 bytes de memoria de datosEEPROM

14 fuentes de interrupciones

Fundamentos de Lenguaje C para PICs

5112018 PIC 16F877A y Lenguaje C - slidepdfcom

httpslidepdfcomreaderfullpic-16f877a-y-lenguaje-c 323

Puertos de entrada y salida PORTA ( RA5 RA4 RA3

RA2 RA1 RA0 )

PORTB ( RB7 RB6 RB5RB4 RB3 RB2 RB1 RB0 )

PORTC ( RC7 RC6 RC5RC4 RC3 RC2 RC1 RC0 )

PORTD ( RD7 RD6 RD5RD4 RD3 RD2 RD1 RD0 )

PORTE ( RE2 RE1 RE0 )

Fundamentos de Lenguaje C para PICs

5112018 PIC 16F877A y Lenguaje C - slidepdfcom

httpslidepdfcomreaderfullpic-16f877a-y-lenguaje-c 423

Arquitectura interna

Arquitectura HARVARD

Buses separados (datos e instrucciones)

Memoria de programa 14 bits

Memoria de datos 8 bits

Recursos mapeados en memoria de datos

Fundamentos de Lenguaje C para PICs

5112018 PIC 16F877A y Lenguaje C - slidepdfcom

httpslidepdfcomreaderfullpic-16f877a-y-lenguaje-c 523

P U E R T O S

Puerto funciones Funciones

PORTA 3 Entradas digital

Salidas digital

Entradas analoacutegicas

PORTB 2 Entradas digital

Salidas digital

PORTC 3 Entradas digital

Salidas digital

Medios de comunicacioacuten

PORTD 3 Entradas digital

Salidas digital

Puerto paralelo esclavo

PORTE 4 Entradas digital

Salidas digital

Entradas analoacutegicas

Control del puerto paralelo esclavo

Fundamentos de Lenguaje C para PICs

5112018 PIC 16F877A y Lenguaje C - slidepdfcom

httpslidepdfcomreaderfullpic-16f877a-y-lenguaje-c 623

Fundamentos de Lenguaje C para PICs

5112018 PIC 16F877A y Lenguaje C - slidepdfcom

httpslidepdfcomreaderfullpic-16f877a-y-lenguaje-c 723

Fundamentos de Lenguaje C para PICs

5112018 PIC 16F877A y Lenguaje C - slidepdfcom

httpslidepdfcomreaderfullpic-16f877a-y-lenguaje-c 823

Fundamentos de Lenguaje C para PICs

5112018 PIC 16F877A y Lenguaje C - slidepdfcom

httpslidepdfcomreaderfullpic-16f877a-y-lenguaje-c 923

Fundamentos de Lenguaje C para PICs

5112018 PIC 16F877A y Lenguaje C - slidepdfcom

httpslidepdfcomreaderfullpic-16f877a-y-lenguaje-c 1023

Fundamentos de Lenguaje C para PICs

FUNCIONES

int suma(int aint bint c)

return(a + b - c)

PROGRAMA

void main(void)

int c

c = suma(151)

output_b(c)

Ejemplo de Funciones

5112018 PIC 16F877A y Lenguaje C - slidepdfcom

httpslidepdfcomreaderfullpic-16f877a-y-lenguaje-c 1123

Fundamentos de Lenguaje C para PICs

5112018 PIC 16F877A y Lenguaje C - slidepdfcom

httpslidepdfcomreaderfullpic-16f877a-y-lenguaje-c 1223

PROGRAMA

void main(void)

while(1)

if(input(PIN_B0))

output_bit(PIN_C00)

else

output_bit(PIN_C01)

Ejemplo de sentencia if-else

Fundamentos de Lenguaje C para PICs

5112018 PIC 16F877A y Lenguaje C - slidepdfcom

httpslidepdfcomreaderfullpic-16f877a-y-lenguaje-c 1323

Fundamentos de Lenguaje C para PICs

5112018 PIC 16F877A y Lenguaje C - slidepdfcom

httpslidepdfcomreaderfullpic-16f877a-y-lenguaje-c 1423

Fundamentos de Lenguaje C para PICs

Ejemplo de sentencia switch

VARIABLES int numero PROGRAMAvoid main(void)

while(1)

numero = input_b() switch(numero)

case 1

output_c(1) break

case 2 output_c(2) break

case 3 output_c(4)

break

case 4 output_c(8) break

case 5 output_c(16)

break case 6 output_c(32) break

case 7 output_c(64) break

case 8 output_c(128) break

default output_c(0)

5112018 PIC 16F877A y Lenguaje C - slidepdfcom

httpslidepdfcomreaderfullpic-16f877a-y-lenguaje-c 1523

Fundamentos de Lenguaje C para PICs

Ejemplo de sentencia switch VARIABLES int numero PROGRAMAvoid main(void)

while(1)

numero = input_b() switch(numero)

case 6 output_c(32)break

5112018 PIC 16F877A y Lenguaje C - slidepdfcom

httpslidepdfcomreaderfullpic-16f877a-y-lenguaje-c 1623

Fundamentos de Lenguaje C para PICs

5112018 PIC 16F877A y Lenguaje C - slidepdfcom

httpslidepdfcomreaderfullpic-16f877a-y-lenguaje-c 1723

Estructura de un programa en C( ciclo for )

Definicioacuten de variables globales

Definicioacuten de funciones

void main(void)

Definicioacuten de variables locales

Configuracioacuten de registros (recursos y puertos)

ciclo infinitofor ( )

Programa de usuario

5112018 PIC 16F877A y Lenguaje C - slidepdfcom

httpslidepdfcomreaderfullpic-16f877a-y-lenguaje-c 1823

Fundamentos de Lenguaje C para PICs

Ejemplo de sentencia for VARIABLES int icont variables definidas

PROGRAMAvoid main(void)

do bucle

cont=1 inicializarfor(i=1ilt8i++)leds on derecha

output_b(cont) ilumino led correspondientedelay_ms(100)cont=cont2

for(i=1ilt8i++) output_b(cont) ilumino led correspondientedelay_ms(100)cont=cont2

while(TRUE) infinito

Lic Braulio Parizaca Puma

5112018 PIC 16F877A y Lenguaje C - slidepdfcom

httpslidepdfcomreaderfullpic-16f877a-y-lenguaje-c 1923

Fundamentos de Lenguaje C para PICs

5112018 PIC 16F877A y Lenguaje C - slidepdfcom

httpslidepdfcomreaderfullpic-16f877a-y-lenguaje-c 2023

Estructura de un programa en C( ciclo while )

Definicioacuten de variables globales

Definicioacuten de funciones

void main(void)

Definicioacuten de variables locales

Configuracioacuten de registros (recursos y puertos)

ciclo infinitowhile ( 1 )

Programa de usuario

5112018 PIC 16F877A y Lenguaje C - slidepdfcom

httpslidepdfcomreaderfullpic-16f877a-y-lenguaje-c 2123

PROGRAMA

void main(void)

while(1)

if(input(PIN_B0))

output_bit(PIN_C00)

else

output_bit(PIN_C01)

Ejemplo de sentencia while

Fundamentos de Lenguaje C para PICs

5112018 PIC 16F877A y Lenguaje C - slidepdfcom

httpslidepdfcomreaderfullpic-16f877a-y-lenguaje-c 2223

Estructura de un programa en C( ciclo do - while )

Definicioacuten de variables globales

Definicioacuten de funciones

void main(void)

Definicioacuten de variables locales

Configuracioacuten de registros (recursos y puertos)

ciclo infinitodo

Programa de usuario

while ( 1 )

5112018 PIC 16F877A y Lenguaje C - slidepdfcom

httpslidepdfcomreaderfullpic-16f877a-y-lenguaje-c 2323

Fundamentos de Lenguaje C para PICs

Ejemplo de sentencia do-while VARIABLES int icont variables definidas

PROGRAMAvoid main(void)

do bucle

cont=1 inicializarfor(i=1ilt8i++)leds on derecha

output_b(cont) ilumino led correspondientedelay_ms(100)cont=cont2

for(i=1ilt8i++)

output_b(cont) ilumino led correspondientedelay_ms(100)cont=cont2

while(TRUE) infinito

Lic Braulio Parizaca Puma

Page 3: PIC 16F877A y Lenguaje C

5112018 PIC 16F877A y Lenguaje C - slidepdfcom

httpslidepdfcomreaderfullpic-16f877a-y-lenguaje-c 323

Puertos de entrada y salida PORTA ( RA5 RA4 RA3

RA2 RA1 RA0 )

PORTB ( RB7 RB6 RB5RB4 RB3 RB2 RB1 RB0 )

PORTC ( RC7 RC6 RC5RC4 RC3 RC2 RC1 RC0 )

PORTD ( RD7 RD6 RD5RD4 RD3 RD2 RD1 RD0 )

PORTE ( RE2 RE1 RE0 )

Fundamentos de Lenguaje C para PICs

5112018 PIC 16F877A y Lenguaje C - slidepdfcom

httpslidepdfcomreaderfullpic-16f877a-y-lenguaje-c 423

Arquitectura interna

Arquitectura HARVARD

Buses separados (datos e instrucciones)

Memoria de programa 14 bits

Memoria de datos 8 bits

Recursos mapeados en memoria de datos

Fundamentos de Lenguaje C para PICs

5112018 PIC 16F877A y Lenguaje C - slidepdfcom

httpslidepdfcomreaderfullpic-16f877a-y-lenguaje-c 523

P U E R T O S

Puerto funciones Funciones

PORTA 3 Entradas digital

Salidas digital

Entradas analoacutegicas

PORTB 2 Entradas digital

Salidas digital

PORTC 3 Entradas digital

Salidas digital

Medios de comunicacioacuten

PORTD 3 Entradas digital

Salidas digital

Puerto paralelo esclavo

PORTE 4 Entradas digital

Salidas digital

Entradas analoacutegicas

Control del puerto paralelo esclavo

Fundamentos de Lenguaje C para PICs

5112018 PIC 16F877A y Lenguaje C - slidepdfcom

httpslidepdfcomreaderfullpic-16f877a-y-lenguaje-c 623

Fundamentos de Lenguaje C para PICs

5112018 PIC 16F877A y Lenguaje C - slidepdfcom

httpslidepdfcomreaderfullpic-16f877a-y-lenguaje-c 723

Fundamentos de Lenguaje C para PICs

5112018 PIC 16F877A y Lenguaje C - slidepdfcom

httpslidepdfcomreaderfullpic-16f877a-y-lenguaje-c 823

Fundamentos de Lenguaje C para PICs

5112018 PIC 16F877A y Lenguaje C - slidepdfcom

httpslidepdfcomreaderfullpic-16f877a-y-lenguaje-c 923

Fundamentos de Lenguaje C para PICs

5112018 PIC 16F877A y Lenguaje C - slidepdfcom

httpslidepdfcomreaderfullpic-16f877a-y-lenguaje-c 1023

Fundamentos de Lenguaje C para PICs

FUNCIONES

int suma(int aint bint c)

return(a + b - c)

PROGRAMA

void main(void)

int c

c = suma(151)

output_b(c)

Ejemplo de Funciones

5112018 PIC 16F877A y Lenguaje C - slidepdfcom

httpslidepdfcomreaderfullpic-16f877a-y-lenguaje-c 1123

Fundamentos de Lenguaje C para PICs

5112018 PIC 16F877A y Lenguaje C - slidepdfcom

httpslidepdfcomreaderfullpic-16f877a-y-lenguaje-c 1223

PROGRAMA

void main(void)

while(1)

if(input(PIN_B0))

output_bit(PIN_C00)

else

output_bit(PIN_C01)

Ejemplo de sentencia if-else

Fundamentos de Lenguaje C para PICs

5112018 PIC 16F877A y Lenguaje C - slidepdfcom

httpslidepdfcomreaderfullpic-16f877a-y-lenguaje-c 1323

Fundamentos de Lenguaje C para PICs

5112018 PIC 16F877A y Lenguaje C - slidepdfcom

httpslidepdfcomreaderfullpic-16f877a-y-lenguaje-c 1423

Fundamentos de Lenguaje C para PICs

Ejemplo de sentencia switch

VARIABLES int numero PROGRAMAvoid main(void)

while(1)

numero = input_b() switch(numero)

case 1

output_c(1) break

case 2 output_c(2) break

case 3 output_c(4)

break

case 4 output_c(8) break

case 5 output_c(16)

break case 6 output_c(32) break

case 7 output_c(64) break

case 8 output_c(128) break

default output_c(0)

5112018 PIC 16F877A y Lenguaje C - slidepdfcom

httpslidepdfcomreaderfullpic-16f877a-y-lenguaje-c 1523

Fundamentos de Lenguaje C para PICs

Ejemplo de sentencia switch VARIABLES int numero PROGRAMAvoid main(void)

while(1)

numero = input_b() switch(numero)

case 6 output_c(32)break

5112018 PIC 16F877A y Lenguaje C - slidepdfcom

httpslidepdfcomreaderfullpic-16f877a-y-lenguaje-c 1623

Fundamentos de Lenguaje C para PICs

5112018 PIC 16F877A y Lenguaje C - slidepdfcom

httpslidepdfcomreaderfullpic-16f877a-y-lenguaje-c 1723

Estructura de un programa en C( ciclo for )

Definicioacuten de variables globales

Definicioacuten de funciones

void main(void)

Definicioacuten de variables locales

Configuracioacuten de registros (recursos y puertos)

ciclo infinitofor ( )

Programa de usuario

5112018 PIC 16F877A y Lenguaje C - slidepdfcom

httpslidepdfcomreaderfullpic-16f877a-y-lenguaje-c 1823

Fundamentos de Lenguaje C para PICs

Ejemplo de sentencia for VARIABLES int icont variables definidas

PROGRAMAvoid main(void)

do bucle

cont=1 inicializarfor(i=1ilt8i++)leds on derecha

output_b(cont) ilumino led correspondientedelay_ms(100)cont=cont2

for(i=1ilt8i++) output_b(cont) ilumino led correspondientedelay_ms(100)cont=cont2

while(TRUE) infinito

Lic Braulio Parizaca Puma

5112018 PIC 16F877A y Lenguaje C - slidepdfcom

httpslidepdfcomreaderfullpic-16f877a-y-lenguaje-c 1923

Fundamentos de Lenguaje C para PICs

5112018 PIC 16F877A y Lenguaje C - slidepdfcom

httpslidepdfcomreaderfullpic-16f877a-y-lenguaje-c 2023

Estructura de un programa en C( ciclo while )

Definicioacuten de variables globales

Definicioacuten de funciones

void main(void)

Definicioacuten de variables locales

Configuracioacuten de registros (recursos y puertos)

ciclo infinitowhile ( 1 )

Programa de usuario

5112018 PIC 16F877A y Lenguaje C - slidepdfcom

httpslidepdfcomreaderfullpic-16f877a-y-lenguaje-c 2123

PROGRAMA

void main(void)

while(1)

if(input(PIN_B0))

output_bit(PIN_C00)

else

output_bit(PIN_C01)

Ejemplo de sentencia while

Fundamentos de Lenguaje C para PICs

5112018 PIC 16F877A y Lenguaje C - slidepdfcom

httpslidepdfcomreaderfullpic-16f877a-y-lenguaje-c 2223

Estructura de un programa en C( ciclo do - while )

Definicioacuten de variables globales

Definicioacuten de funciones

void main(void)

Definicioacuten de variables locales

Configuracioacuten de registros (recursos y puertos)

ciclo infinitodo

Programa de usuario

while ( 1 )

5112018 PIC 16F877A y Lenguaje C - slidepdfcom

httpslidepdfcomreaderfullpic-16f877a-y-lenguaje-c 2323

Fundamentos de Lenguaje C para PICs

Ejemplo de sentencia do-while VARIABLES int icont variables definidas

PROGRAMAvoid main(void)

do bucle

cont=1 inicializarfor(i=1ilt8i++)leds on derecha

output_b(cont) ilumino led correspondientedelay_ms(100)cont=cont2

for(i=1ilt8i++)

output_b(cont) ilumino led correspondientedelay_ms(100)cont=cont2

while(TRUE) infinito

Lic Braulio Parizaca Puma

Page 4: PIC 16F877A y Lenguaje C

5112018 PIC 16F877A y Lenguaje C - slidepdfcom

httpslidepdfcomreaderfullpic-16f877a-y-lenguaje-c 423

Arquitectura interna

Arquitectura HARVARD

Buses separados (datos e instrucciones)

Memoria de programa 14 bits

Memoria de datos 8 bits

Recursos mapeados en memoria de datos

Fundamentos de Lenguaje C para PICs

5112018 PIC 16F877A y Lenguaje C - slidepdfcom

httpslidepdfcomreaderfullpic-16f877a-y-lenguaje-c 523

P U E R T O S

Puerto funciones Funciones

PORTA 3 Entradas digital

Salidas digital

Entradas analoacutegicas

PORTB 2 Entradas digital

Salidas digital

PORTC 3 Entradas digital

Salidas digital

Medios de comunicacioacuten

PORTD 3 Entradas digital

Salidas digital

Puerto paralelo esclavo

PORTE 4 Entradas digital

Salidas digital

Entradas analoacutegicas

Control del puerto paralelo esclavo

Fundamentos de Lenguaje C para PICs

5112018 PIC 16F877A y Lenguaje C - slidepdfcom

httpslidepdfcomreaderfullpic-16f877a-y-lenguaje-c 623

Fundamentos de Lenguaje C para PICs

5112018 PIC 16F877A y Lenguaje C - slidepdfcom

httpslidepdfcomreaderfullpic-16f877a-y-lenguaje-c 723

Fundamentos de Lenguaje C para PICs

5112018 PIC 16F877A y Lenguaje C - slidepdfcom

httpslidepdfcomreaderfullpic-16f877a-y-lenguaje-c 823

Fundamentos de Lenguaje C para PICs

5112018 PIC 16F877A y Lenguaje C - slidepdfcom

httpslidepdfcomreaderfullpic-16f877a-y-lenguaje-c 923

Fundamentos de Lenguaje C para PICs

5112018 PIC 16F877A y Lenguaje C - slidepdfcom

httpslidepdfcomreaderfullpic-16f877a-y-lenguaje-c 1023

Fundamentos de Lenguaje C para PICs

FUNCIONES

int suma(int aint bint c)

return(a + b - c)

PROGRAMA

void main(void)

int c

c = suma(151)

output_b(c)

Ejemplo de Funciones

5112018 PIC 16F877A y Lenguaje C - slidepdfcom

httpslidepdfcomreaderfullpic-16f877a-y-lenguaje-c 1123

Fundamentos de Lenguaje C para PICs

5112018 PIC 16F877A y Lenguaje C - slidepdfcom

httpslidepdfcomreaderfullpic-16f877a-y-lenguaje-c 1223

PROGRAMA

void main(void)

while(1)

if(input(PIN_B0))

output_bit(PIN_C00)

else

output_bit(PIN_C01)

Ejemplo de sentencia if-else

Fundamentos de Lenguaje C para PICs

5112018 PIC 16F877A y Lenguaje C - slidepdfcom

httpslidepdfcomreaderfullpic-16f877a-y-lenguaje-c 1323

Fundamentos de Lenguaje C para PICs

5112018 PIC 16F877A y Lenguaje C - slidepdfcom

httpslidepdfcomreaderfullpic-16f877a-y-lenguaje-c 1423

Fundamentos de Lenguaje C para PICs

Ejemplo de sentencia switch

VARIABLES int numero PROGRAMAvoid main(void)

while(1)

numero = input_b() switch(numero)

case 1

output_c(1) break

case 2 output_c(2) break

case 3 output_c(4)

break

case 4 output_c(8) break

case 5 output_c(16)

break case 6 output_c(32) break

case 7 output_c(64) break

case 8 output_c(128) break

default output_c(0)

5112018 PIC 16F877A y Lenguaje C - slidepdfcom

httpslidepdfcomreaderfullpic-16f877a-y-lenguaje-c 1523

Fundamentos de Lenguaje C para PICs

Ejemplo de sentencia switch VARIABLES int numero PROGRAMAvoid main(void)

while(1)

numero = input_b() switch(numero)

case 6 output_c(32)break

5112018 PIC 16F877A y Lenguaje C - slidepdfcom

httpslidepdfcomreaderfullpic-16f877a-y-lenguaje-c 1623

Fundamentos de Lenguaje C para PICs

5112018 PIC 16F877A y Lenguaje C - slidepdfcom

httpslidepdfcomreaderfullpic-16f877a-y-lenguaje-c 1723

Estructura de un programa en C( ciclo for )

Definicioacuten de variables globales

Definicioacuten de funciones

void main(void)

Definicioacuten de variables locales

Configuracioacuten de registros (recursos y puertos)

ciclo infinitofor ( )

Programa de usuario

5112018 PIC 16F877A y Lenguaje C - slidepdfcom

httpslidepdfcomreaderfullpic-16f877a-y-lenguaje-c 1823

Fundamentos de Lenguaje C para PICs

Ejemplo de sentencia for VARIABLES int icont variables definidas

PROGRAMAvoid main(void)

do bucle

cont=1 inicializarfor(i=1ilt8i++)leds on derecha

output_b(cont) ilumino led correspondientedelay_ms(100)cont=cont2

for(i=1ilt8i++) output_b(cont) ilumino led correspondientedelay_ms(100)cont=cont2

while(TRUE) infinito

Lic Braulio Parizaca Puma

5112018 PIC 16F877A y Lenguaje C - slidepdfcom

httpslidepdfcomreaderfullpic-16f877a-y-lenguaje-c 1923

Fundamentos de Lenguaje C para PICs

5112018 PIC 16F877A y Lenguaje C - slidepdfcom

httpslidepdfcomreaderfullpic-16f877a-y-lenguaje-c 2023

Estructura de un programa en C( ciclo while )

Definicioacuten de variables globales

Definicioacuten de funciones

void main(void)

Definicioacuten de variables locales

Configuracioacuten de registros (recursos y puertos)

ciclo infinitowhile ( 1 )

Programa de usuario

5112018 PIC 16F877A y Lenguaje C - slidepdfcom

httpslidepdfcomreaderfullpic-16f877a-y-lenguaje-c 2123

PROGRAMA

void main(void)

while(1)

if(input(PIN_B0))

output_bit(PIN_C00)

else

output_bit(PIN_C01)

Ejemplo de sentencia while

Fundamentos de Lenguaje C para PICs

5112018 PIC 16F877A y Lenguaje C - slidepdfcom

httpslidepdfcomreaderfullpic-16f877a-y-lenguaje-c 2223

Estructura de un programa en C( ciclo do - while )

Definicioacuten de variables globales

Definicioacuten de funciones

void main(void)

Definicioacuten de variables locales

Configuracioacuten de registros (recursos y puertos)

ciclo infinitodo

Programa de usuario

while ( 1 )

5112018 PIC 16F877A y Lenguaje C - slidepdfcom

httpslidepdfcomreaderfullpic-16f877a-y-lenguaje-c 2323

Fundamentos de Lenguaje C para PICs

Ejemplo de sentencia do-while VARIABLES int icont variables definidas

PROGRAMAvoid main(void)

do bucle

cont=1 inicializarfor(i=1ilt8i++)leds on derecha

output_b(cont) ilumino led correspondientedelay_ms(100)cont=cont2

for(i=1ilt8i++)

output_b(cont) ilumino led correspondientedelay_ms(100)cont=cont2

while(TRUE) infinito

Lic Braulio Parizaca Puma

Page 5: PIC 16F877A y Lenguaje C

5112018 PIC 16F877A y Lenguaje C - slidepdfcom

httpslidepdfcomreaderfullpic-16f877a-y-lenguaje-c 523

P U E R T O S

Puerto funciones Funciones

PORTA 3 Entradas digital

Salidas digital

Entradas analoacutegicas

PORTB 2 Entradas digital

Salidas digital

PORTC 3 Entradas digital

Salidas digital

Medios de comunicacioacuten

PORTD 3 Entradas digital

Salidas digital

Puerto paralelo esclavo

PORTE 4 Entradas digital

Salidas digital

Entradas analoacutegicas

Control del puerto paralelo esclavo

Fundamentos de Lenguaje C para PICs

5112018 PIC 16F877A y Lenguaje C - slidepdfcom

httpslidepdfcomreaderfullpic-16f877a-y-lenguaje-c 623

Fundamentos de Lenguaje C para PICs

5112018 PIC 16F877A y Lenguaje C - slidepdfcom

httpslidepdfcomreaderfullpic-16f877a-y-lenguaje-c 723

Fundamentos de Lenguaje C para PICs

5112018 PIC 16F877A y Lenguaje C - slidepdfcom

httpslidepdfcomreaderfullpic-16f877a-y-lenguaje-c 823

Fundamentos de Lenguaje C para PICs

5112018 PIC 16F877A y Lenguaje C - slidepdfcom

httpslidepdfcomreaderfullpic-16f877a-y-lenguaje-c 923

Fundamentos de Lenguaje C para PICs

5112018 PIC 16F877A y Lenguaje C - slidepdfcom

httpslidepdfcomreaderfullpic-16f877a-y-lenguaje-c 1023

Fundamentos de Lenguaje C para PICs

FUNCIONES

int suma(int aint bint c)

return(a + b - c)

PROGRAMA

void main(void)

int c

c = suma(151)

output_b(c)

Ejemplo de Funciones

5112018 PIC 16F877A y Lenguaje C - slidepdfcom

httpslidepdfcomreaderfullpic-16f877a-y-lenguaje-c 1123

Fundamentos de Lenguaje C para PICs

5112018 PIC 16F877A y Lenguaje C - slidepdfcom

httpslidepdfcomreaderfullpic-16f877a-y-lenguaje-c 1223

PROGRAMA

void main(void)

while(1)

if(input(PIN_B0))

output_bit(PIN_C00)

else

output_bit(PIN_C01)

Ejemplo de sentencia if-else

Fundamentos de Lenguaje C para PICs

5112018 PIC 16F877A y Lenguaje C - slidepdfcom

httpslidepdfcomreaderfullpic-16f877a-y-lenguaje-c 1323

Fundamentos de Lenguaje C para PICs

5112018 PIC 16F877A y Lenguaje C - slidepdfcom

httpslidepdfcomreaderfullpic-16f877a-y-lenguaje-c 1423

Fundamentos de Lenguaje C para PICs

Ejemplo de sentencia switch

VARIABLES int numero PROGRAMAvoid main(void)

while(1)

numero = input_b() switch(numero)

case 1

output_c(1) break

case 2 output_c(2) break

case 3 output_c(4)

break

case 4 output_c(8) break

case 5 output_c(16)

break case 6 output_c(32) break

case 7 output_c(64) break

case 8 output_c(128) break

default output_c(0)

5112018 PIC 16F877A y Lenguaje C - slidepdfcom

httpslidepdfcomreaderfullpic-16f877a-y-lenguaje-c 1523

Fundamentos de Lenguaje C para PICs

Ejemplo de sentencia switch VARIABLES int numero PROGRAMAvoid main(void)

while(1)

numero = input_b() switch(numero)

case 6 output_c(32)break

5112018 PIC 16F877A y Lenguaje C - slidepdfcom

httpslidepdfcomreaderfullpic-16f877a-y-lenguaje-c 1623

Fundamentos de Lenguaje C para PICs

5112018 PIC 16F877A y Lenguaje C - slidepdfcom

httpslidepdfcomreaderfullpic-16f877a-y-lenguaje-c 1723

Estructura de un programa en C( ciclo for )

Definicioacuten de variables globales

Definicioacuten de funciones

void main(void)

Definicioacuten de variables locales

Configuracioacuten de registros (recursos y puertos)

ciclo infinitofor ( )

Programa de usuario

5112018 PIC 16F877A y Lenguaje C - slidepdfcom

httpslidepdfcomreaderfullpic-16f877a-y-lenguaje-c 1823

Fundamentos de Lenguaje C para PICs

Ejemplo de sentencia for VARIABLES int icont variables definidas

PROGRAMAvoid main(void)

do bucle

cont=1 inicializarfor(i=1ilt8i++)leds on derecha

output_b(cont) ilumino led correspondientedelay_ms(100)cont=cont2

for(i=1ilt8i++) output_b(cont) ilumino led correspondientedelay_ms(100)cont=cont2

while(TRUE) infinito

Lic Braulio Parizaca Puma

5112018 PIC 16F877A y Lenguaje C - slidepdfcom

httpslidepdfcomreaderfullpic-16f877a-y-lenguaje-c 1923

Fundamentos de Lenguaje C para PICs

5112018 PIC 16F877A y Lenguaje C - slidepdfcom

httpslidepdfcomreaderfullpic-16f877a-y-lenguaje-c 2023

Estructura de un programa en C( ciclo while )

Definicioacuten de variables globales

Definicioacuten de funciones

void main(void)

Definicioacuten de variables locales

Configuracioacuten de registros (recursos y puertos)

ciclo infinitowhile ( 1 )

Programa de usuario

5112018 PIC 16F877A y Lenguaje C - slidepdfcom

httpslidepdfcomreaderfullpic-16f877a-y-lenguaje-c 2123

PROGRAMA

void main(void)

while(1)

if(input(PIN_B0))

output_bit(PIN_C00)

else

output_bit(PIN_C01)

Ejemplo de sentencia while

Fundamentos de Lenguaje C para PICs

5112018 PIC 16F877A y Lenguaje C - slidepdfcom

httpslidepdfcomreaderfullpic-16f877a-y-lenguaje-c 2223

Estructura de un programa en C( ciclo do - while )

Definicioacuten de variables globales

Definicioacuten de funciones

void main(void)

Definicioacuten de variables locales

Configuracioacuten de registros (recursos y puertos)

ciclo infinitodo

Programa de usuario

while ( 1 )

5112018 PIC 16F877A y Lenguaje C - slidepdfcom

httpslidepdfcomreaderfullpic-16f877a-y-lenguaje-c 2323

Fundamentos de Lenguaje C para PICs

Ejemplo de sentencia do-while VARIABLES int icont variables definidas

PROGRAMAvoid main(void)

do bucle

cont=1 inicializarfor(i=1ilt8i++)leds on derecha

output_b(cont) ilumino led correspondientedelay_ms(100)cont=cont2

for(i=1ilt8i++)

output_b(cont) ilumino led correspondientedelay_ms(100)cont=cont2

while(TRUE) infinito

Lic Braulio Parizaca Puma

Page 6: PIC 16F877A y Lenguaje C

5112018 PIC 16F877A y Lenguaje C - slidepdfcom

httpslidepdfcomreaderfullpic-16f877a-y-lenguaje-c 623

Fundamentos de Lenguaje C para PICs

5112018 PIC 16F877A y Lenguaje C - slidepdfcom

httpslidepdfcomreaderfullpic-16f877a-y-lenguaje-c 723

Fundamentos de Lenguaje C para PICs

5112018 PIC 16F877A y Lenguaje C - slidepdfcom

httpslidepdfcomreaderfullpic-16f877a-y-lenguaje-c 823

Fundamentos de Lenguaje C para PICs

5112018 PIC 16F877A y Lenguaje C - slidepdfcom

httpslidepdfcomreaderfullpic-16f877a-y-lenguaje-c 923

Fundamentos de Lenguaje C para PICs

5112018 PIC 16F877A y Lenguaje C - slidepdfcom

httpslidepdfcomreaderfullpic-16f877a-y-lenguaje-c 1023

Fundamentos de Lenguaje C para PICs

FUNCIONES

int suma(int aint bint c)

return(a + b - c)

PROGRAMA

void main(void)

int c

c = suma(151)

output_b(c)

Ejemplo de Funciones

5112018 PIC 16F877A y Lenguaje C - slidepdfcom

httpslidepdfcomreaderfullpic-16f877a-y-lenguaje-c 1123

Fundamentos de Lenguaje C para PICs

5112018 PIC 16F877A y Lenguaje C - slidepdfcom

httpslidepdfcomreaderfullpic-16f877a-y-lenguaje-c 1223

PROGRAMA

void main(void)

while(1)

if(input(PIN_B0))

output_bit(PIN_C00)

else

output_bit(PIN_C01)

Ejemplo de sentencia if-else

Fundamentos de Lenguaje C para PICs

5112018 PIC 16F877A y Lenguaje C - slidepdfcom

httpslidepdfcomreaderfullpic-16f877a-y-lenguaje-c 1323

Fundamentos de Lenguaje C para PICs

5112018 PIC 16F877A y Lenguaje C - slidepdfcom

httpslidepdfcomreaderfullpic-16f877a-y-lenguaje-c 1423

Fundamentos de Lenguaje C para PICs

Ejemplo de sentencia switch

VARIABLES int numero PROGRAMAvoid main(void)

while(1)

numero = input_b() switch(numero)

case 1

output_c(1) break

case 2 output_c(2) break

case 3 output_c(4)

break

case 4 output_c(8) break

case 5 output_c(16)

break case 6 output_c(32) break

case 7 output_c(64) break

case 8 output_c(128) break

default output_c(0)

5112018 PIC 16F877A y Lenguaje C - slidepdfcom

httpslidepdfcomreaderfullpic-16f877a-y-lenguaje-c 1523

Fundamentos de Lenguaje C para PICs

Ejemplo de sentencia switch VARIABLES int numero PROGRAMAvoid main(void)

while(1)

numero = input_b() switch(numero)

case 6 output_c(32)break

5112018 PIC 16F877A y Lenguaje C - slidepdfcom

httpslidepdfcomreaderfullpic-16f877a-y-lenguaje-c 1623

Fundamentos de Lenguaje C para PICs

5112018 PIC 16F877A y Lenguaje C - slidepdfcom

httpslidepdfcomreaderfullpic-16f877a-y-lenguaje-c 1723

Estructura de un programa en C( ciclo for )

Definicioacuten de variables globales

Definicioacuten de funciones

void main(void)

Definicioacuten de variables locales

Configuracioacuten de registros (recursos y puertos)

ciclo infinitofor ( )

Programa de usuario

5112018 PIC 16F877A y Lenguaje C - slidepdfcom

httpslidepdfcomreaderfullpic-16f877a-y-lenguaje-c 1823

Fundamentos de Lenguaje C para PICs

Ejemplo de sentencia for VARIABLES int icont variables definidas

PROGRAMAvoid main(void)

do bucle

cont=1 inicializarfor(i=1ilt8i++)leds on derecha

output_b(cont) ilumino led correspondientedelay_ms(100)cont=cont2

for(i=1ilt8i++) output_b(cont) ilumino led correspondientedelay_ms(100)cont=cont2

while(TRUE) infinito

Lic Braulio Parizaca Puma

5112018 PIC 16F877A y Lenguaje C - slidepdfcom

httpslidepdfcomreaderfullpic-16f877a-y-lenguaje-c 1923

Fundamentos de Lenguaje C para PICs

5112018 PIC 16F877A y Lenguaje C - slidepdfcom

httpslidepdfcomreaderfullpic-16f877a-y-lenguaje-c 2023

Estructura de un programa en C( ciclo while )

Definicioacuten de variables globales

Definicioacuten de funciones

void main(void)

Definicioacuten de variables locales

Configuracioacuten de registros (recursos y puertos)

ciclo infinitowhile ( 1 )

Programa de usuario

5112018 PIC 16F877A y Lenguaje C - slidepdfcom

httpslidepdfcomreaderfullpic-16f877a-y-lenguaje-c 2123

PROGRAMA

void main(void)

while(1)

if(input(PIN_B0))

output_bit(PIN_C00)

else

output_bit(PIN_C01)

Ejemplo de sentencia while

Fundamentos de Lenguaje C para PICs

5112018 PIC 16F877A y Lenguaje C - slidepdfcom

httpslidepdfcomreaderfullpic-16f877a-y-lenguaje-c 2223

Estructura de un programa en C( ciclo do - while )

Definicioacuten de variables globales

Definicioacuten de funciones

void main(void)

Definicioacuten de variables locales

Configuracioacuten de registros (recursos y puertos)

ciclo infinitodo

Programa de usuario

while ( 1 )

5112018 PIC 16F877A y Lenguaje C - slidepdfcom

httpslidepdfcomreaderfullpic-16f877a-y-lenguaje-c 2323

Fundamentos de Lenguaje C para PICs

Ejemplo de sentencia do-while VARIABLES int icont variables definidas

PROGRAMAvoid main(void)

do bucle

cont=1 inicializarfor(i=1ilt8i++)leds on derecha

output_b(cont) ilumino led correspondientedelay_ms(100)cont=cont2

for(i=1ilt8i++)

output_b(cont) ilumino led correspondientedelay_ms(100)cont=cont2

while(TRUE) infinito

Lic Braulio Parizaca Puma

Page 7: PIC 16F877A y Lenguaje C

5112018 PIC 16F877A y Lenguaje C - slidepdfcom

httpslidepdfcomreaderfullpic-16f877a-y-lenguaje-c 723

Fundamentos de Lenguaje C para PICs

5112018 PIC 16F877A y Lenguaje C - slidepdfcom

httpslidepdfcomreaderfullpic-16f877a-y-lenguaje-c 823

Fundamentos de Lenguaje C para PICs

5112018 PIC 16F877A y Lenguaje C - slidepdfcom

httpslidepdfcomreaderfullpic-16f877a-y-lenguaje-c 923

Fundamentos de Lenguaje C para PICs

5112018 PIC 16F877A y Lenguaje C - slidepdfcom

httpslidepdfcomreaderfullpic-16f877a-y-lenguaje-c 1023

Fundamentos de Lenguaje C para PICs

FUNCIONES

int suma(int aint bint c)

return(a + b - c)

PROGRAMA

void main(void)

int c

c = suma(151)

output_b(c)

Ejemplo de Funciones

5112018 PIC 16F877A y Lenguaje C - slidepdfcom

httpslidepdfcomreaderfullpic-16f877a-y-lenguaje-c 1123

Fundamentos de Lenguaje C para PICs

5112018 PIC 16F877A y Lenguaje C - slidepdfcom

httpslidepdfcomreaderfullpic-16f877a-y-lenguaje-c 1223

PROGRAMA

void main(void)

while(1)

if(input(PIN_B0))

output_bit(PIN_C00)

else

output_bit(PIN_C01)

Ejemplo de sentencia if-else

Fundamentos de Lenguaje C para PICs

5112018 PIC 16F877A y Lenguaje C - slidepdfcom

httpslidepdfcomreaderfullpic-16f877a-y-lenguaje-c 1323

Fundamentos de Lenguaje C para PICs

5112018 PIC 16F877A y Lenguaje C - slidepdfcom

httpslidepdfcomreaderfullpic-16f877a-y-lenguaje-c 1423

Fundamentos de Lenguaje C para PICs

Ejemplo de sentencia switch

VARIABLES int numero PROGRAMAvoid main(void)

while(1)

numero = input_b() switch(numero)

case 1

output_c(1) break

case 2 output_c(2) break

case 3 output_c(4)

break

case 4 output_c(8) break

case 5 output_c(16)

break case 6 output_c(32) break

case 7 output_c(64) break

case 8 output_c(128) break

default output_c(0)

5112018 PIC 16F877A y Lenguaje C - slidepdfcom

httpslidepdfcomreaderfullpic-16f877a-y-lenguaje-c 1523

Fundamentos de Lenguaje C para PICs

Ejemplo de sentencia switch VARIABLES int numero PROGRAMAvoid main(void)

while(1)

numero = input_b() switch(numero)

case 6 output_c(32)break

5112018 PIC 16F877A y Lenguaje C - slidepdfcom

httpslidepdfcomreaderfullpic-16f877a-y-lenguaje-c 1623

Fundamentos de Lenguaje C para PICs

5112018 PIC 16F877A y Lenguaje C - slidepdfcom

httpslidepdfcomreaderfullpic-16f877a-y-lenguaje-c 1723

Estructura de un programa en C( ciclo for )

Definicioacuten de variables globales

Definicioacuten de funciones

void main(void)

Definicioacuten de variables locales

Configuracioacuten de registros (recursos y puertos)

ciclo infinitofor ( )

Programa de usuario

5112018 PIC 16F877A y Lenguaje C - slidepdfcom

httpslidepdfcomreaderfullpic-16f877a-y-lenguaje-c 1823

Fundamentos de Lenguaje C para PICs

Ejemplo de sentencia for VARIABLES int icont variables definidas

PROGRAMAvoid main(void)

do bucle

cont=1 inicializarfor(i=1ilt8i++)leds on derecha

output_b(cont) ilumino led correspondientedelay_ms(100)cont=cont2

for(i=1ilt8i++) output_b(cont) ilumino led correspondientedelay_ms(100)cont=cont2

while(TRUE) infinito

Lic Braulio Parizaca Puma

5112018 PIC 16F877A y Lenguaje C - slidepdfcom

httpslidepdfcomreaderfullpic-16f877a-y-lenguaje-c 1923

Fundamentos de Lenguaje C para PICs

5112018 PIC 16F877A y Lenguaje C - slidepdfcom

httpslidepdfcomreaderfullpic-16f877a-y-lenguaje-c 2023

Estructura de un programa en C( ciclo while )

Definicioacuten de variables globales

Definicioacuten de funciones

void main(void)

Definicioacuten de variables locales

Configuracioacuten de registros (recursos y puertos)

ciclo infinitowhile ( 1 )

Programa de usuario

5112018 PIC 16F877A y Lenguaje C - slidepdfcom

httpslidepdfcomreaderfullpic-16f877a-y-lenguaje-c 2123

PROGRAMA

void main(void)

while(1)

if(input(PIN_B0))

output_bit(PIN_C00)

else

output_bit(PIN_C01)

Ejemplo de sentencia while

Fundamentos de Lenguaje C para PICs

5112018 PIC 16F877A y Lenguaje C - slidepdfcom

httpslidepdfcomreaderfullpic-16f877a-y-lenguaje-c 2223

Estructura de un programa en C( ciclo do - while )

Definicioacuten de variables globales

Definicioacuten de funciones

void main(void)

Definicioacuten de variables locales

Configuracioacuten de registros (recursos y puertos)

ciclo infinitodo

Programa de usuario

while ( 1 )

5112018 PIC 16F877A y Lenguaje C - slidepdfcom

httpslidepdfcomreaderfullpic-16f877a-y-lenguaje-c 2323

Fundamentos de Lenguaje C para PICs

Ejemplo de sentencia do-while VARIABLES int icont variables definidas

PROGRAMAvoid main(void)

do bucle

cont=1 inicializarfor(i=1ilt8i++)leds on derecha

output_b(cont) ilumino led correspondientedelay_ms(100)cont=cont2

for(i=1ilt8i++)

output_b(cont) ilumino led correspondientedelay_ms(100)cont=cont2

while(TRUE) infinito

Lic Braulio Parizaca Puma

Page 8: PIC 16F877A y Lenguaje C

5112018 PIC 16F877A y Lenguaje C - slidepdfcom

httpslidepdfcomreaderfullpic-16f877a-y-lenguaje-c 823

Fundamentos de Lenguaje C para PICs

5112018 PIC 16F877A y Lenguaje C - slidepdfcom

httpslidepdfcomreaderfullpic-16f877a-y-lenguaje-c 923

Fundamentos de Lenguaje C para PICs

5112018 PIC 16F877A y Lenguaje C - slidepdfcom

httpslidepdfcomreaderfullpic-16f877a-y-lenguaje-c 1023

Fundamentos de Lenguaje C para PICs

FUNCIONES

int suma(int aint bint c)

return(a + b - c)

PROGRAMA

void main(void)

int c

c = suma(151)

output_b(c)

Ejemplo de Funciones

5112018 PIC 16F877A y Lenguaje C - slidepdfcom

httpslidepdfcomreaderfullpic-16f877a-y-lenguaje-c 1123

Fundamentos de Lenguaje C para PICs

5112018 PIC 16F877A y Lenguaje C - slidepdfcom

httpslidepdfcomreaderfullpic-16f877a-y-lenguaje-c 1223

PROGRAMA

void main(void)

while(1)

if(input(PIN_B0))

output_bit(PIN_C00)

else

output_bit(PIN_C01)

Ejemplo de sentencia if-else

Fundamentos de Lenguaje C para PICs

5112018 PIC 16F877A y Lenguaje C - slidepdfcom

httpslidepdfcomreaderfullpic-16f877a-y-lenguaje-c 1323

Fundamentos de Lenguaje C para PICs

5112018 PIC 16F877A y Lenguaje C - slidepdfcom

httpslidepdfcomreaderfullpic-16f877a-y-lenguaje-c 1423

Fundamentos de Lenguaje C para PICs

Ejemplo de sentencia switch

VARIABLES int numero PROGRAMAvoid main(void)

while(1)

numero = input_b() switch(numero)

case 1

output_c(1) break

case 2 output_c(2) break

case 3 output_c(4)

break

case 4 output_c(8) break

case 5 output_c(16)

break case 6 output_c(32) break

case 7 output_c(64) break

case 8 output_c(128) break

default output_c(0)

5112018 PIC 16F877A y Lenguaje C - slidepdfcom

httpslidepdfcomreaderfullpic-16f877a-y-lenguaje-c 1523

Fundamentos de Lenguaje C para PICs

Ejemplo de sentencia switch VARIABLES int numero PROGRAMAvoid main(void)

while(1)

numero = input_b() switch(numero)

case 6 output_c(32)break

5112018 PIC 16F877A y Lenguaje C - slidepdfcom

httpslidepdfcomreaderfullpic-16f877a-y-lenguaje-c 1623

Fundamentos de Lenguaje C para PICs

5112018 PIC 16F877A y Lenguaje C - slidepdfcom

httpslidepdfcomreaderfullpic-16f877a-y-lenguaje-c 1723

Estructura de un programa en C( ciclo for )

Definicioacuten de variables globales

Definicioacuten de funciones

void main(void)

Definicioacuten de variables locales

Configuracioacuten de registros (recursos y puertos)

ciclo infinitofor ( )

Programa de usuario

5112018 PIC 16F877A y Lenguaje C - slidepdfcom

httpslidepdfcomreaderfullpic-16f877a-y-lenguaje-c 1823

Fundamentos de Lenguaje C para PICs

Ejemplo de sentencia for VARIABLES int icont variables definidas

PROGRAMAvoid main(void)

do bucle

cont=1 inicializarfor(i=1ilt8i++)leds on derecha

output_b(cont) ilumino led correspondientedelay_ms(100)cont=cont2

for(i=1ilt8i++) output_b(cont) ilumino led correspondientedelay_ms(100)cont=cont2

while(TRUE) infinito

Lic Braulio Parizaca Puma

5112018 PIC 16F877A y Lenguaje C - slidepdfcom

httpslidepdfcomreaderfullpic-16f877a-y-lenguaje-c 1923

Fundamentos de Lenguaje C para PICs

5112018 PIC 16F877A y Lenguaje C - slidepdfcom

httpslidepdfcomreaderfullpic-16f877a-y-lenguaje-c 2023

Estructura de un programa en C( ciclo while )

Definicioacuten de variables globales

Definicioacuten de funciones

void main(void)

Definicioacuten de variables locales

Configuracioacuten de registros (recursos y puertos)

ciclo infinitowhile ( 1 )

Programa de usuario

5112018 PIC 16F877A y Lenguaje C - slidepdfcom

httpslidepdfcomreaderfullpic-16f877a-y-lenguaje-c 2123

PROGRAMA

void main(void)

while(1)

if(input(PIN_B0))

output_bit(PIN_C00)

else

output_bit(PIN_C01)

Ejemplo de sentencia while

Fundamentos de Lenguaje C para PICs

5112018 PIC 16F877A y Lenguaje C - slidepdfcom

httpslidepdfcomreaderfullpic-16f877a-y-lenguaje-c 2223

Estructura de un programa en C( ciclo do - while )

Definicioacuten de variables globales

Definicioacuten de funciones

void main(void)

Definicioacuten de variables locales

Configuracioacuten de registros (recursos y puertos)

ciclo infinitodo

Programa de usuario

while ( 1 )

5112018 PIC 16F877A y Lenguaje C - slidepdfcom

httpslidepdfcomreaderfullpic-16f877a-y-lenguaje-c 2323

Fundamentos de Lenguaje C para PICs

Ejemplo de sentencia do-while VARIABLES int icont variables definidas

PROGRAMAvoid main(void)

do bucle

cont=1 inicializarfor(i=1ilt8i++)leds on derecha

output_b(cont) ilumino led correspondientedelay_ms(100)cont=cont2

for(i=1ilt8i++)

output_b(cont) ilumino led correspondientedelay_ms(100)cont=cont2

while(TRUE) infinito

Lic Braulio Parizaca Puma

Page 9: PIC 16F877A y Lenguaje C

5112018 PIC 16F877A y Lenguaje C - slidepdfcom

httpslidepdfcomreaderfullpic-16f877a-y-lenguaje-c 923

Fundamentos de Lenguaje C para PICs

5112018 PIC 16F877A y Lenguaje C - slidepdfcom

httpslidepdfcomreaderfullpic-16f877a-y-lenguaje-c 1023

Fundamentos de Lenguaje C para PICs

FUNCIONES

int suma(int aint bint c)

return(a + b - c)

PROGRAMA

void main(void)

int c

c = suma(151)

output_b(c)

Ejemplo de Funciones

5112018 PIC 16F877A y Lenguaje C - slidepdfcom

httpslidepdfcomreaderfullpic-16f877a-y-lenguaje-c 1123

Fundamentos de Lenguaje C para PICs

5112018 PIC 16F877A y Lenguaje C - slidepdfcom

httpslidepdfcomreaderfullpic-16f877a-y-lenguaje-c 1223

PROGRAMA

void main(void)

while(1)

if(input(PIN_B0))

output_bit(PIN_C00)

else

output_bit(PIN_C01)

Ejemplo de sentencia if-else

Fundamentos de Lenguaje C para PICs

5112018 PIC 16F877A y Lenguaje C - slidepdfcom

httpslidepdfcomreaderfullpic-16f877a-y-lenguaje-c 1323

Fundamentos de Lenguaje C para PICs

5112018 PIC 16F877A y Lenguaje C - slidepdfcom

httpslidepdfcomreaderfullpic-16f877a-y-lenguaje-c 1423

Fundamentos de Lenguaje C para PICs

Ejemplo de sentencia switch

VARIABLES int numero PROGRAMAvoid main(void)

while(1)

numero = input_b() switch(numero)

case 1

output_c(1) break

case 2 output_c(2) break

case 3 output_c(4)

break

case 4 output_c(8) break

case 5 output_c(16)

break case 6 output_c(32) break

case 7 output_c(64) break

case 8 output_c(128) break

default output_c(0)

5112018 PIC 16F877A y Lenguaje C - slidepdfcom

httpslidepdfcomreaderfullpic-16f877a-y-lenguaje-c 1523

Fundamentos de Lenguaje C para PICs

Ejemplo de sentencia switch VARIABLES int numero PROGRAMAvoid main(void)

while(1)

numero = input_b() switch(numero)

case 6 output_c(32)break

5112018 PIC 16F877A y Lenguaje C - slidepdfcom

httpslidepdfcomreaderfullpic-16f877a-y-lenguaje-c 1623

Fundamentos de Lenguaje C para PICs

5112018 PIC 16F877A y Lenguaje C - slidepdfcom

httpslidepdfcomreaderfullpic-16f877a-y-lenguaje-c 1723

Estructura de un programa en C( ciclo for )

Definicioacuten de variables globales

Definicioacuten de funciones

void main(void)

Definicioacuten de variables locales

Configuracioacuten de registros (recursos y puertos)

ciclo infinitofor ( )

Programa de usuario

5112018 PIC 16F877A y Lenguaje C - slidepdfcom

httpslidepdfcomreaderfullpic-16f877a-y-lenguaje-c 1823

Fundamentos de Lenguaje C para PICs

Ejemplo de sentencia for VARIABLES int icont variables definidas

PROGRAMAvoid main(void)

do bucle

cont=1 inicializarfor(i=1ilt8i++)leds on derecha

output_b(cont) ilumino led correspondientedelay_ms(100)cont=cont2

for(i=1ilt8i++) output_b(cont) ilumino led correspondientedelay_ms(100)cont=cont2

while(TRUE) infinito

Lic Braulio Parizaca Puma

5112018 PIC 16F877A y Lenguaje C - slidepdfcom

httpslidepdfcomreaderfullpic-16f877a-y-lenguaje-c 1923

Fundamentos de Lenguaje C para PICs

5112018 PIC 16F877A y Lenguaje C - slidepdfcom

httpslidepdfcomreaderfullpic-16f877a-y-lenguaje-c 2023

Estructura de un programa en C( ciclo while )

Definicioacuten de variables globales

Definicioacuten de funciones

void main(void)

Definicioacuten de variables locales

Configuracioacuten de registros (recursos y puertos)

ciclo infinitowhile ( 1 )

Programa de usuario

5112018 PIC 16F877A y Lenguaje C - slidepdfcom

httpslidepdfcomreaderfullpic-16f877a-y-lenguaje-c 2123

PROGRAMA

void main(void)

while(1)

if(input(PIN_B0))

output_bit(PIN_C00)

else

output_bit(PIN_C01)

Ejemplo de sentencia while

Fundamentos de Lenguaje C para PICs

5112018 PIC 16F877A y Lenguaje C - slidepdfcom

httpslidepdfcomreaderfullpic-16f877a-y-lenguaje-c 2223

Estructura de un programa en C( ciclo do - while )

Definicioacuten de variables globales

Definicioacuten de funciones

void main(void)

Definicioacuten de variables locales

Configuracioacuten de registros (recursos y puertos)

ciclo infinitodo

Programa de usuario

while ( 1 )

5112018 PIC 16F877A y Lenguaje C - slidepdfcom

httpslidepdfcomreaderfullpic-16f877a-y-lenguaje-c 2323

Fundamentos de Lenguaje C para PICs

Ejemplo de sentencia do-while VARIABLES int icont variables definidas

PROGRAMAvoid main(void)

do bucle

cont=1 inicializarfor(i=1ilt8i++)leds on derecha

output_b(cont) ilumino led correspondientedelay_ms(100)cont=cont2

for(i=1ilt8i++)

output_b(cont) ilumino led correspondientedelay_ms(100)cont=cont2

while(TRUE) infinito

Lic Braulio Parizaca Puma

Page 10: PIC 16F877A y Lenguaje C

5112018 PIC 16F877A y Lenguaje C - slidepdfcom

httpslidepdfcomreaderfullpic-16f877a-y-lenguaje-c 1023

Fundamentos de Lenguaje C para PICs

FUNCIONES

int suma(int aint bint c)

return(a + b - c)

PROGRAMA

void main(void)

int c

c = suma(151)

output_b(c)

Ejemplo de Funciones

5112018 PIC 16F877A y Lenguaje C - slidepdfcom

httpslidepdfcomreaderfullpic-16f877a-y-lenguaje-c 1123

Fundamentos de Lenguaje C para PICs

5112018 PIC 16F877A y Lenguaje C - slidepdfcom

httpslidepdfcomreaderfullpic-16f877a-y-lenguaje-c 1223

PROGRAMA

void main(void)

while(1)

if(input(PIN_B0))

output_bit(PIN_C00)

else

output_bit(PIN_C01)

Ejemplo de sentencia if-else

Fundamentos de Lenguaje C para PICs

5112018 PIC 16F877A y Lenguaje C - slidepdfcom

httpslidepdfcomreaderfullpic-16f877a-y-lenguaje-c 1323

Fundamentos de Lenguaje C para PICs

5112018 PIC 16F877A y Lenguaje C - slidepdfcom

httpslidepdfcomreaderfullpic-16f877a-y-lenguaje-c 1423

Fundamentos de Lenguaje C para PICs

Ejemplo de sentencia switch

VARIABLES int numero PROGRAMAvoid main(void)

while(1)

numero = input_b() switch(numero)

case 1

output_c(1) break

case 2 output_c(2) break

case 3 output_c(4)

break

case 4 output_c(8) break

case 5 output_c(16)

break case 6 output_c(32) break

case 7 output_c(64) break

case 8 output_c(128) break

default output_c(0)

5112018 PIC 16F877A y Lenguaje C - slidepdfcom

httpslidepdfcomreaderfullpic-16f877a-y-lenguaje-c 1523

Fundamentos de Lenguaje C para PICs

Ejemplo de sentencia switch VARIABLES int numero PROGRAMAvoid main(void)

while(1)

numero = input_b() switch(numero)

case 6 output_c(32)break

5112018 PIC 16F877A y Lenguaje C - slidepdfcom

httpslidepdfcomreaderfullpic-16f877a-y-lenguaje-c 1623

Fundamentos de Lenguaje C para PICs

5112018 PIC 16F877A y Lenguaje C - slidepdfcom

httpslidepdfcomreaderfullpic-16f877a-y-lenguaje-c 1723

Estructura de un programa en C( ciclo for )

Definicioacuten de variables globales

Definicioacuten de funciones

void main(void)

Definicioacuten de variables locales

Configuracioacuten de registros (recursos y puertos)

ciclo infinitofor ( )

Programa de usuario

5112018 PIC 16F877A y Lenguaje C - slidepdfcom

httpslidepdfcomreaderfullpic-16f877a-y-lenguaje-c 1823

Fundamentos de Lenguaje C para PICs

Ejemplo de sentencia for VARIABLES int icont variables definidas

PROGRAMAvoid main(void)

do bucle

cont=1 inicializarfor(i=1ilt8i++)leds on derecha

output_b(cont) ilumino led correspondientedelay_ms(100)cont=cont2

for(i=1ilt8i++) output_b(cont) ilumino led correspondientedelay_ms(100)cont=cont2

while(TRUE) infinito

Lic Braulio Parizaca Puma

5112018 PIC 16F877A y Lenguaje C - slidepdfcom

httpslidepdfcomreaderfullpic-16f877a-y-lenguaje-c 1923

Fundamentos de Lenguaje C para PICs

5112018 PIC 16F877A y Lenguaje C - slidepdfcom

httpslidepdfcomreaderfullpic-16f877a-y-lenguaje-c 2023

Estructura de un programa en C( ciclo while )

Definicioacuten de variables globales

Definicioacuten de funciones

void main(void)

Definicioacuten de variables locales

Configuracioacuten de registros (recursos y puertos)

ciclo infinitowhile ( 1 )

Programa de usuario

5112018 PIC 16F877A y Lenguaje C - slidepdfcom

httpslidepdfcomreaderfullpic-16f877a-y-lenguaje-c 2123

PROGRAMA

void main(void)

while(1)

if(input(PIN_B0))

output_bit(PIN_C00)

else

output_bit(PIN_C01)

Ejemplo de sentencia while

Fundamentos de Lenguaje C para PICs

5112018 PIC 16F877A y Lenguaje C - slidepdfcom

httpslidepdfcomreaderfullpic-16f877a-y-lenguaje-c 2223

Estructura de un programa en C( ciclo do - while )

Definicioacuten de variables globales

Definicioacuten de funciones

void main(void)

Definicioacuten de variables locales

Configuracioacuten de registros (recursos y puertos)

ciclo infinitodo

Programa de usuario

while ( 1 )

5112018 PIC 16F877A y Lenguaje C - slidepdfcom

httpslidepdfcomreaderfullpic-16f877a-y-lenguaje-c 2323

Fundamentos de Lenguaje C para PICs

Ejemplo de sentencia do-while VARIABLES int icont variables definidas

PROGRAMAvoid main(void)

do bucle

cont=1 inicializarfor(i=1ilt8i++)leds on derecha

output_b(cont) ilumino led correspondientedelay_ms(100)cont=cont2

for(i=1ilt8i++)

output_b(cont) ilumino led correspondientedelay_ms(100)cont=cont2

while(TRUE) infinito

Lic Braulio Parizaca Puma

Page 11: PIC 16F877A y Lenguaje C

5112018 PIC 16F877A y Lenguaje C - slidepdfcom

httpslidepdfcomreaderfullpic-16f877a-y-lenguaje-c 1123

Fundamentos de Lenguaje C para PICs

5112018 PIC 16F877A y Lenguaje C - slidepdfcom

httpslidepdfcomreaderfullpic-16f877a-y-lenguaje-c 1223

PROGRAMA

void main(void)

while(1)

if(input(PIN_B0))

output_bit(PIN_C00)

else

output_bit(PIN_C01)

Ejemplo de sentencia if-else

Fundamentos de Lenguaje C para PICs

5112018 PIC 16F877A y Lenguaje C - slidepdfcom

httpslidepdfcomreaderfullpic-16f877a-y-lenguaje-c 1323

Fundamentos de Lenguaje C para PICs

5112018 PIC 16F877A y Lenguaje C - slidepdfcom

httpslidepdfcomreaderfullpic-16f877a-y-lenguaje-c 1423

Fundamentos de Lenguaje C para PICs

Ejemplo de sentencia switch

VARIABLES int numero PROGRAMAvoid main(void)

while(1)

numero = input_b() switch(numero)

case 1

output_c(1) break

case 2 output_c(2) break

case 3 output_c(4)

break

case 4 output_c(8) break

case 5 output_c(16)

break case 6 output_c(32) break

case 7 output_c(64) break

case 8 output_c(128) break

default output_c(0)

5112018 PIC 16F877A y Lenguaje C - slidepdfcom

httpslidepdfcomreaderfullpic-16f877a-y-lenguaje-c 1523

Fundamentos de Lenguaje C para PICs

Ejemplo de sentencia switch VARIABLES int numero PROGRAMAvoid main(void)

while(1)

numero = input_b() switch(numero)

case 6 output_c(32)break

5112018 PIC 16F877A y Lenguaje C - slidepdfcom

httpslidepdfcomreaderfullpic-16f877a-y-lenguaje-c 1623

Fundamentos de Lenguaje C para PICs

5112018 PIC 16F877A y Lenguaje C - slidepdfcom

httpslidepdfcomreaderfullpic-16f877a-y-lenguaje-c 1723

Estructura de un programa en C( ciclo for )

Definicioacuten de variables globales

Definicioacuten de funciones

void main(void)

Definicioacuten de variables locales

Configuracioacuten de registros (recursos y puertos)

ciclo infinitofor ( )

Programa de usuario

5112018 PIC 16F877A y Lenguaje C - slidepdfcom

httpslidepdfcomreaderfullpic-16f877a-y-lenguaje-c 1823

Fundamentos de Lenguaje C para PICs

Ejemplo de sentencia for VARIABLES int icont variables definidas

PROGRAMAvoid main(void)

do bucle

cont=1 inicializarfor(i=1ilt8i++)leds on derecha

output_b(cont) ilumino led correspondientedelay_ms(100)cont=cont2

for(i=1ilt8i++) output_b(cont) ilumino led correspondientedelay_ms(100)cont=cont2

while(TRUE) infinito

Lic Braulio Parizaca Puma

5112018 PIC 16F877A y Lenguaje C - slidepdfcom

httpslidepdfcomreaderfullpic-16f877a-y-lenguaje-c 1923

Fundamentos de Lenguaje C para PICs

5112018 PIC 16F877A y Lenguaje C - slidepdfcom

httpslidepdfcomreaderfullpic-16f877a-y-lenguaje-c 2023

Estructura de un programa en C( ciclo while )

Definicioacuten de variables globales

Definicioacuten de funciones

void main(void)

Definicioacuten de variables locales

Configuracioacuten de registros (recursos y puertos)

ciclo infinitowhile ( 1 )

Programa de usuario

5112018 PIC 16F877A y Lenguaje C - slidepdfcom

httpslidepdfcomreaderfullpic-16f877a-y-lenguaje-c 2123

PROGRAMA

void main(void)

while(1)

if(input(PIN_B0))

output_bit(PIN_C00)

else

output_bit(PIN_C01)

Ejemplo de sentencia while

Fundamentos de Lenguaje C para PICs

5112018 PIC 16F877A y Lenguaje C - slidepdfcom

httpslidepdfcomreaderfullpic-16f877a-y-lenguaje-c 2223

Estructura de un programa en C( ciclo do - while )

Definicioacuten de variables globales

Definicioacuten de funciones

void main(void)

Definicioacuten de variables locales

Configuracioacuten de registros (recursos y puertos)

ciclo infinitodo

Programa de usuario

while ( 1 )

5112018 PIC 16F877A y Lenguaje C - slidepdfcom

httpslidepdfcomreaderfullpic-16f877a-y-lenguaje-c 2323

Fundamentos de Lenguaje C para PICs

Ejemplo de sentencia do-while VARIABLES int icont variables definidas

PROGRAMAvoid main(void)

do bucle

cont=1 inicializarfor(i=1ilt8i++)leds on derecha

output_b(cont) ilumino led correspondientedelay_ms(100)cont=cont2

for(i=1ilt8i++)

output_b(cont) ilumino led correspondientedelay_ms(100)cont=cont2

while(TRUE) infinito

Lic Braulio Parizaca Puma

Page 12: PIC 16F877A y Lenguaje C

5112018 PIC 16F877A y Lenguaje C - slidepdfcom

httpslidepdfcomreaderfullpic-16f877a-y-lenguaje-c 1223

PROGRAMA

void main(void)

while(1)

if(input(PIN_B0))

output_bit(PIN_C00)

else

output_bit(PIN_C01)

Ejemplo de sentencia if-else

Fundamentos de Lenguaje C para PICs

5112018 PIC 16F877A y Lenguaje C - slidepdfcom

httpslidepdfcomreaderfullpic-16f877a-y-lenguaje-c 1323

Fundamentos de Lenguaje C para PICs

5112018 PIC 16F877A y Lenguaje C - slidepdfcom

httpslidepdfcomreaderfullpic-16f877a-y-lenguaje-c 1423

Fundamentos de Lenguaje C para PICs

Ejemplo de sentencia switch

VARIABLES int numero PROGRAMAvoid main(void)

while(1)

numero = input_b() switch(numero)

case 1

output_c(1) break

case 2 output_c(2) break

case 3 output_c(4)

break

case 4 output_c(8) break

case 5 output_c(16)

break case 6 output_c(32) break

case 7 output_c(64) break

case 8 output_c(128) break

default output_c(0)

5112018 PIC 16F877A y Lenguaje C - slidepdfcom

httpslidepdfcomreaderfullpic-16f877a-y-lenguaje-c 1523

Fundamentos de Lenguaje C para PICs

Ejemplo de sentencia switch VARIABLES int numero PROGRAMAvoid main(void)

while(1)

numero = input_b() switch(numero)

case 6 output_c(32)break

5112018 PIC 16F877A y Lenguaje C - slidepdfcom

httpslidepdfcomreaderfullpic-16f877a-y-lenguaje-c 1623

Fundamentos de Lenguaje C para PICs

5112018 PIC 16F877A y Lenguaje C - slidepdfcom

httpslidepdfcomreaderfullpic-16f877a-y-lenguaje-c 1723

Estructura de un programa en C( ciclo for )

Definicioacuten de variables globales

Definicioacuten de funciones

void main(void)

Definicioacuten de variables locales

Configuracioacuten de registros (recursos y puertos)

ciclo infinitofor ( )

Programa de usuario

5112018 PIC 16F877A y Lenguaje C - slidepdfcom

httpslidepdfcomreaderfullpic-16f877a-y-lenguaje-c 1823

Fundamentos de Lenguaje C para PICs

Ejemplo de sentencia for VARIABLES int icont variables definidas

PROGRAMAvoid main(void)

do bucle

cont=1 inicializarfor(i=1ilt8i++)leds on derecha

output_b(cont) ilumino led correspondientedelay_ms(100)cont=cont2

for(i=1ilt8i++) output_b(cont) ilumino led correspondientedelay_ms(100)cont=cont2

while(TRUE) infinito

Lic Braulio Parizaca Puma

5112018 PIC 16F877A y Lenguaje C - slidepdfcom

httpslidepdfcomreaderfullpic-16f877a-y-lenguaje-c 1923

Fundamentos de Lenguaje C para PICs

5112018 PIC 16F877A y Lenguaje C - slidepdfcom

httpslidepdfcomreaderfullpic-16f877a-y-lenguaje-c 2023

Estructura de un programa en C( ciclo while )

Definicioacuten de variables globales

Definicioacuten de funciones

void main(void)

Definicioacuten de variables locales

Configuracioacuten de registros (recursos y puertos)

ciclo infinitowhile ( 1 )

Programa de usuario

5112018 PIC 16F877A y Lenguaje C - slidepdfcom

httpslidepdfcomreaderfullpic-16f877a-y-lenguaje-c 2123

PROGRAMA

void main(void)

while(1)

if(input(PIN_B0))

output_bit(PIN_C00)

else

output_bit(PIN_C01)

Ejemplo de sentencia while

Fundamentos de Lenguaje C para PICs

5112018 PIC 16F877A y Lenguaje C - slidepdfcom

httpslidepdfcomreaderfullpic-16f877a-y-lenguaje-c 2223

Estructura de un programa en C( ciclo do - while )

Definicioacuten de variables globales

Definicioacuten de funciones

void main(void)

Definicioacuten de variables locales

Configuracioacuten de registros (recursos y puertos)

ciclo infinitodo

Programa de usuario

while ( 1 )

5112018 PIC 16F877A y Lenguaje C - slidepdfcom

httpslidepdfcomreaderfullpic-16f877a-y-lenguaje-c 2323

Fundamentos de Lenguaje C para PICs

Ejemplo de sentencia do-while VARIABLES int icont variables definidas

PROGRAMAvoid main(void)

do bucle

cont=1 inicializarfor(i=1ilt8i++)leds on derecha

output_b(cont) ilumino led correspondientedelay_ms(100)cont=cont2

for(i=1ilt8i++)

output_b(cont) ilumino led correspondientedelay_ms(100)cont=cont2

while(TRUE) infinito

Lic Braulio Parizaca Puma

Page 13: PIC 16F877A y Lenguaje C

5112018 PIC 16F877A y Lenguaje C - slidepdfcom

httpslidepdfcomreaderfullpic-16f877a-y-lenguaje-c 1323

Fundamentos de Lenguaje C para PICs

5112018 PIC 16F877A y Lenguaje C - slidepdfcom

httpslidepdfcomreaderfullpic-16f877a-y-lenguaje-c 1423

Fundamentos de Lenguaje C para PICs

Ejemplo de sentencia switch

VARIABLES int numero PROGRAMAvoid main(void)

while(1)

numero = input_b() switch(numero)

case 1

output_c(1) break

case 2 output_c(2) break

case 3 output_c(4)

break

case 4 output_c(8) break

case 5 output_c(16)

break case 6 output_c(32) break

case 7 output_c(64) break

case 8 output_c(128) break

default output_c(0)

5112018 PIC 16F877A y Lenguaje C - slidepdfcom

httpslidepdfcomreaderfullpic-16f877a-y-lenguaje-c 1523

Fundamentos de Lenguaje C para PICs

Ejemplo de sentencia switch VARIABLES int numero PROGRAMAvoid main(void)

while(1)

numero = input_b() switch(numero)

case 6 output_c(32)break

5112018 PIC 16F877A y Lenguaje C - slidepdfcom

httpslidepdfcomreaderfullpic-16f877a-y-lenguaje-c 1623

Fundamentos de Lenguaje C para PICs

5112018 PIC 16F877A y Lenguaje C - slidepdfcom

httpslidepdfcomreaderfullpic-16f877a-y-lenguaje-c 1723

Estructura de un programa en C( ciclo for )

Definicioacuten de variables globales

Definicioacuten de funciones

void main(void)

Definicioacuten de variables locales

Configuracioacuten de registros (recursos y puertos)

ciclo infinitofor ( )

Programa de usuario

5112018 PIC 16F877A y Lenguaje C - slidepdfcom

httpslidepdfcomreaderfullpic-16f877a-y-lenguaje-c 1823

Fundamentos de Lenguaje C para PICs

Ejemplo de sentencia for VARIABLES int icont variables definidas

PROGRAMAvoid main(void)

do bucle

cont=1 inicializarfor(i=1ilt8i++)leds on derecha

output_b(cont) ilumino led correspondientedelay_ms(100)cont=cont2

for(i=1ilt8i++) output_b(cont) ilumino led correspondientedelay_ms(100)cont=cont2

while(TRUE) infinito

Lic Braulio Parizaca Puma

5112018 PIC 16F877A y Lenguaje C - slidepdfcom

httpslidepdfcomreaderfullpic-16f877a-y-lenguaje-c 1923

Fundamentos de Lenguaje C para PICs

5112018 PIC 16F877A y Lenguaje C - slidepdfcom

httpslidepdfcomreaderfullpic-16f877a-y-lenguaje-c 2023

Estructura de un programa en C( ciclo while )

Definicioacuten de variables globales

Definicioacuten de funciones

void main(void)

Definicioacuten de variables locales

Configuracioacuten de registros (recursos y puertos)

ciclo infinitowhile ( 1 )

Programa de usuario

5112018 PIC 16F877A y Lenguaje C - slidepdfcom

httpslidepdfcomreaderfullpic-16f877a-y-lenguaje-c 2123

PROGRAMA

void main(void)

while(1)

if(input(PIN_B0))

output_bit(PIN_C00)

else

output_bit(PIN_C01)

Ejemplo de sentencia while

Fundamentos de Lenguaje C para PICs

5112018 PIC 16F877A y Lenguaje C - slidepdfcom

httpslidepdfcomreaderfullpic-16f877a-y-lenguaje-c 2223

Estructura de un programa en C( ciclo do - while )

Definicioacuten de variables globales

Definicioacuten de funciones

void main(void)

Definicioacuten de variables locales

Configuracioacuten de registros (recursos y puertos)

ciclo infinitodo

Programa de usuario

while ( 1 )

5112018 PIC 16F877A y Lenguaje C - slidepdfcom

httpslidepdfcomreaderfullpic-16f877a-y-lenguaje-c 2323

Fundamentos de Lenguaje C para PICs

Ejemplo de sentencia do-while VARIABLES int icont variables definidas

PROGRAMAvoid main(void)

do bucle

cont=1 inicializarfor(i=1ilt8i++)leds on derecha

output_b(cont) ilumino led correspondientedelay_ms(100)cont=cont2

for(i=1ilt8i++)

output_b(cont) ilumino led correspondientedelay_ms(100)cont=cont2

while(TRUE) infinito

Lic Braulio Parizaca Puma

Page 14: PIC 16F877A y Lenguaje C

5112018 PIC 16F877A y Lenguaje C - slidepdfcom

httpslidepdfcomreaderfullpic-16f877a-y-lenguaje-c 1423

Fundamentos de Lenguaje C para PICs

Ejemplo de sentencia switch

VARIABLES int numero PROGRAMAvoid main(void)

while(1)

numero = input_b() switch(numero)

case 1

output_c(1) break

case 2 output_c(2) break

case 3 output_c(4)

break

case 4 output_c(8) break

case 5 output_c(16)

break case 6 output_c(32) break

case 7 output_c(64) break

case 8 output_c(128) break

default output_c(0)

5112018 PIC 16F877A y Lenguaje C - slidepdfcom

httpslidepdfcomreaderfullpic-16f877a-y-lenguaje-c 1523

Fundamentos de Lenguaje C para PICs

Ejemplo de sentencia switch VARIABLES int numero PROGRAMAvoid main(void)

while(1)

numero = input_b() switch(numero)

case 6 output_c(32)break

5112018 PIC 16F877A y Lenguaje C - slidepdfcom

httpslidepdfcomreaderfullpic-16f877a-y-lenguaje-c 1623

Fundamentos de Lenguaje C para PICs

5112018 PIC 16F877A y Lenguaje C - slidepdfcom

httpslidepdfcomreaderfullpic-16f877a-y-lenguaje-c 1723

Estructura de un programa en C( ciclo for )

Definicioacuten de variables globales

Definicioacuten de funciones

void main(void)

Definicioacuten de variables locales

Configuracioacuten de registros (recursos y puertos)

ciclo infinitofor ( )

Programa de usuario

5112018 PIC 16F877A y Lenguaje C - slidepdfcom

httpslidepdfcomreaderfullpic-16f877a-y-lenguaje-c 1823

Fundamentos de Lenguaje C para PICs

Ejemplo de sentencia for VARIABLES int icont variables definidas

PROGRAMAvoid main(void)

do bucle

cont=1 inicializarfor(i=1ilt8i++)leds on derecha

output_b(cont) ilumino led correspondientedelay_ms(100)cont=cont2

for(i=1ilt8i++) output_b(cont) ilumino led correspondientedelay_ms(100)cont=cont2

while(TRUE) infinito

Lic Braulio Parizaca Puma

5112018 PIC 16F877A y Lenguaje C - slidepdfcom

httpslidepdfcomreaderfullpic-16f877a-y-lenguaje-c 1923

Fundamentos de Lenguaje C para PICs

5112018 PIC 16F877A y Lenguaje C - slidepdfcom

httpslidepdfcomreaderfullpic-16f877a-y-lenguaje-c 2023

Estructura de un programa en C( ciclo while )

Definicioacuten de variables globales

Definicioacuten de funciones

void main(void)

Definicioacuten de variables locales

Configuracioacuten de registros (recursos y puertos)

ciclo infinitowhile ( 1 )

Programa de usuario

5112018 PIC 16F877A y Lenguaje C - slidepdfcom

httpslidepdfcomreaderfullpic-16f877a-y-lenguaje-c 2123

PROGRAMA

void main(void)

while(1)

if(input(PIN_B0))

output_bit(PIN_C00)

else

output_bit(PIN_C01)

Ejemplo de sentencia while

Fundamentos de Lenguaje C para PICs

5112018 PIC 16F877A y Lenguaje C - slidepdfcom

httpslidepdfcomreaderfullpic-16f877a-y-lenguaje-c 2223

Estructura de un programa en C( ciclo do - while )

Definicioacuten de variables globales

Definicioacuten de funciones

void main(void)

Definicioacuten de variables locales

Configuracioacuten de registros (recursos y puertos)

ciclo infinitodo

Programa de usuario

while ( 1 )

5112018 PIC 16F877A y Lenguaje C - slidepdfcom

httpslidepdfcomreaderfullpic-16f877a-y-lenguaje-c 2323

Fundamentos de Lenguaje C para PICs

Ejemplo de sentencia do-while VARIABLES int icont variables definidas

PROGRAMAvoid main(void)

do bucle

cont=1 inicializarfor(i=1ilt8i++)leds on derecha

output_b(cont) ilumino led correspondientedelay_ms(100)cont=cont2

for(i=1ilt8i++)

output_b(cont) ilumino led correspondientedelay_ms(100)cont=cont2

while(TRUE) infinito

Lic Braulio Parizaca Puma

Page 15: PIC 16F877A y Lenguaje C

5112018 PIC 16F877A y Lenguaje C - slidepdfcom

httpslidepdfcomreaderfullpic-16f877a-y-lenguaje-c 1523

Fundamentos de Lenguaje C para PICs

Ejemplo de sentencia switch VARIABLES int numero PROGRAMAvoid main(void)

while(1)

numero = input_b() switch(numero)

case 6 output_c(32)break

5112018 PIC 16F877A y Lenguaje C - slidepdfcom

httpslidepdfcomreaderfullpic-16f877a-y-lenguaje-c 1623

Fundamentos de Lenguaje C para PICs

5112018 PIC 16F877A y Lenguaje C - slidepdfcom

httpslidepdfcomreaderfullpic-16f877a-y-lenguaje-c 1723

Estructura de un programa en C( ciclo for )

Definicioacuten de variables globales

Definicioacuten de funciones

void main(void)

Definicioacuten de variables locales

Configuracioacuten de registros (recursos y puertos)

ciclo infinitofor ( )

Programa de usuario

5112018 PIC 16F877A y Lenguaje C - slidepdfcom

httpslidepdfcomreaderfullpic-16f877a-y-lenguaje-c 1823

Fundamentos de Lenguaje C para PICs

Ejemplo de sentencia for VARIABLES int icont variables definidas

PROGRAMAvoid main(void)

do bucle

cont=1 inicializarfor(i=1ilt8i++)leds on derecha

output_b(cont) ilumino led correspondientedelay_ms(100)cont=cont2

for(i=1ilt8i++) output_b(cont) ilumino led correspondientedelay_ms(100)cont=cont2

while(TRUE) infinito

Lic Braulio Parizaca Puma

5112018 PIC 16F877A y Lenguaje C - slidepdfcom

httpslidepdfcomreaderfullpic-16f877a-y-lenguaje-c 1923

Fundamentos de Lenguaje C para PICs

5112018 PIC 16F877A y Lenguaje C - slidepdfcom

httpslidepdfcomreaderfullpic-16f877a-y-lenguaje-c 2023

Estructura de un programa en C( ciclo while )

Definicioacuten de variables globales

Definicioacuten de funciones

void main(void)

Definicioacuten de variables locales

Configuracioacuten de registros (recursos y puertos)

ciclo infinitowhile ( 1 )

Programa de usuario

5112018 PIC 16F877A y Lenguaje C - slidepdfcom

httpslidepdfcomreaderfullpic-16f877a-y-lenguaje-c 2123

PROGRAMA

void main(void)

while(1)

if(input(PIN_B0))

output_bit(PIN_C00)

else

output_bit(PIN_C01)

Ejemplo de sentencia while

Fundamentos de Lenguaje C para PICs

5112018 PIC 16F877A y Lenguaje C - slidepdfcom

httpslidepdfcomreaderfullpic-16f877a-y-lenguaje-c 2223

Estructura de un programa en C( ciclo do - while )

Definicioacuten de variables globales

Definicioacuten de funciones

void main(void)

Definicioacuten de variables locales

Configuracioacuten de registros (recursos y puertos)

ciclo infinitodo

Programa de usuario

while ( 1 )

5112018 PIC 16F877A y Lenguaje C - slidepdfcom

httpslidepdfcomreaderfullpic-16f877a-y-lenguaje-c 2323

Fundamentos de Lenguaje C para PICs

Ejemplo de sentencia do-while VARIABLES int icont variables definidas

PROGRAMAvoid main(void)

do bucle

cont=1 inicializarfor(i=1ilt8i++)leds on derecha

output_b(cont) ilumino led correspondientedelay_ms(100)cont=cont2

for(i=1ilt8i++)

output_b(cont) ilumino led correspondientedelay_ms(100)cont=cont2

while(TRUE) infinito

Lic Braulio Parizaca Puma

Page 16: PIC 16F877A y Lenguaje C

5112018 PIC 16F877A y Lenguaje C - slidepdfcom

httpslidepdfcomreaderfullpic-16f877a-y-lenguaje-c 1623

Fundamentos de Lenguaje C para PICs

5112018 PIC 16F877A y Lenguaje C - slidepdfcom

httpslidepdfcomreaderfullpic-16f877a-y-lenguaje-c 1723

Estructura de un programa en C( ciclo for )

Definicioacuten de variables globales

Definicioacuten de funciones

void main(void)

Definicioacuten de variables locales

Configuracioacuten de registros (recursos y puertos)

ciclo infinitofor ( )

Programa de usuario

5112018 PIC 16F877A y Lenguaje C - slidepdfcom

httpslidepdfcomreaderfullpic-16f877a-y-lenguaje-c 1823

Fundamentos de Lenguaje C para PICs

Ejemplo de sentencia for VARIABLES int icont variables definidas

PROGRAMAvoid main(void)

do bucle

cont=1 inicializarfor(i=1ilt8i++)leds on derecha

output_b(cont) ilumino led correspondientedelay_ms(100)cont=cont2

for(i=1ilt8i++) output_b(cont) ilumino led correspondientedelay_ms(100)cont=cont2

while(TRUE) infinito

Lic Braulio Parizaca Puma

5112018 PIC 16F877A y Lenguaje C - slidepdfcom

httpslidepdfcomreaderfullpic-16f877a-y-lenguaje-c 1923

Fundamentos de Lenguaje C para PICs

5112018 PIC 16F877A y Lenguaje C - slidepdfcom

httpslidepdfcomreaderfullpic-16f877a-y-lenguaje-c 2023

Estructura de un programa en C( ciclo while )

Definicioacuten de variables globales

Definicioacuten de funciones

void main(void)

Definicioacuten de variables locales

Configuracioacuten de registros (recursos y puertos)

ciclo infinitowhile ( 1 )

Programa de usuario

5112018 PIC 16F877A y Lenguaje C - slidepdfcom

httpslidepdfcomreaderfullpic-16f877a-y-lenguaje-c 2123

PROGRAMA

void main(void)

while(1)

if(input(PIN_B0))

output_bit(PIN_C00)

else

output_bit(PIN_C01)

Ejemplo de sentencia while

Fundamentos de Lenguaje C para PICs

5112018 PIC 16F877A y Lenguaje C - slidepdfcom

httpslidepdfcomreaderfullpic-16f877a-y-lenguaje-c 2223

Estructura de un programa en C( ciclo do - while )

Definicioacuten de variables globales

Definicioacuten de funciones

void main(void)

Definicioacuten de variables locales

Configuracioacuten de registros (recursos y puertos)

ciclo infinitodo

Programa de usuario

while ( 1 )

5112018 PIC 16F877A y Lenguaje C - slidepdfcom

httpslidepdfcomreaderfullpic-16f877a-y-lenguaje-c 2323

Fundamentos de Lenguaje C para PICs

Ejemplo de sentencia do-while VARIABLES int icont variables definidas

PROGRAMAvoid main(void)

do bucle

cont=1 inicializarfor(i=1ilt8i++)leds on derecha

output_b(cont) ilumino led correspondientedelay_ms(100)cont=cont2

for(i=1ilt8i++)

output_b(cont) ilumino led correspondientedelay_ms(100)cont=cont2

while(TRUE) infinito

Lic Braulio Parizaca Puma

Page 17: PIC 16F877A y Lenguaje C

5112018 PIC 16F877A y Lenguaje C - slidepdfcom

httpslidepdfcomreaderfullpic-16f877a-y-lenguaje-c 1723

Estructura de un programa en C( ciclo for )

Definicioacuten de variables globales

Definicioacuten de funciones

void main(void)

Definicioacuten de variables locales

Configuracioacuten de registros (recursos y puertos)

ciclo infinitofor ( )

Programa de usuario

5112018 PIC 16F877A y Lenguaje C - slidepdfcom

httpslidepdfcomreaderfullpic-16f877a-y-lenguaje-c 1823

Fundamentos de Lenguaje C para PICs

Ejemplo de sentencia for VARIABLES int icont variables definidas

PROGRAMAvoid main(void)

do bucle

cont=1 inicializarfor(i=1ilt8i++)leds on derecha

output_b(cont) ilumino led correspondientedelay_ms(100)cont=cont2

for(i=1ilt8i++) output_b(cont) ilumino led correspondientedelay_ms(100)cont=cont2

while(TRUE) infinito

Lic Braulio Parizaca Puma

5112018 PIC 16F877A y Lenguaje C - slidepdfcom

httpslidepdfcomreaderfullpic-16f877a-y-lenguaje-c 1923

Fundamentos de Lenguaje C para PICs

5112018 PIC 16F877A y Lenguaje C - slidepdfcom

httpslidepdfcomreaderfullpic-16f877a-y-lenguaje-c 2023

Estructura de un programa en C( ciclo while )

Definicioacuten de variables globales

Definicioacuten de funciones

void main(void)

Definicioacuten de variables locales

Configuracioacuten de registros (recursos y puertos)

ciclo infinitowhile ( 1 )

Programa de usuario

5112018 PIC 16F877A y Lenguaje C - slidepdfcom

httpslidepdfcomreaderfullpic-16f877a-y-lenguaje-c 2123

PROGRAMA

void main(void)

while(1)

if(input(PIN_B0))

output_bit(PIN_C00)

else

output_bit(PIN_C01)

Ejemplo de sentencia while

Fundamentos de Lenguaje C para PICs

5112018 PIC 16F877A y Lenguaje C - slidepdfcom

httpslidepdfcomreaderfullpic-16f877a-y-lenguaje-c 2223

Estructura de un programa en C( ciclo do - while )

Definicioacuten de variables globales

Definicioacuten de funciones

void main(void)

Definicioacuten de variables locales

Configuracioacuten de registros (recursos y puertos)

ciclo infinitodo

Programa de usuario

while ( 1 )

5112018 PIC 16F877A y Lenguaje C - slidepdfcom

httpslidepdfcomreaderfullpic-16f877a-y-lenguaje-c 2323

Fundamentos de Lenguaje C para PICs

Ejemplo de sentencia do-while VARIABLES int icont variables definidas

PROGRAMAvoid main(void)

do bucle

cont=1 inicializarfor(i=1ilt8i++)leds on derecha

output_b(cont) ilumino led correspondientedelay_ms(100)cont=cont2

for(i=1ilt8i++)

output_b(cont) ilumino led correspondientedelay_ms(100)cont=cont2

while(TRUE) infinito

Lic Braulio Parizaca Puma

Page 18: PIC 16F877A y Lenguaje C

5112018 PIC 16F877A y Lenguaje C - slidepdfcom

httpslidepdfcomreaderfullpic-16f877a-y-lenguaje-c 1823

Fundamentos de Lenguaje C para PICs

Ejemplo de sentencia for VARIABLES int icont variables definidas

PROGRAMAvoid main(void)

do bucle

cont=1 inicializarfor(i=1ilt8i++)leds on derecha

output_b(cont) ilumino led correspondientedelay_ms(100)cont=cont2

for(i=1ilt8i++) output_b(cont) ilumino led correspondientedelay_ms(100)cont=cont2

while(TRUE) infinito

Lic Braulio Parizaca Puma

5112018 PIC 16F877A y Lenguaje C - slidepdfcom

httpslidepdfcomreaderfullpic-16f877a-y-lenguaje-c 1923

Fundamentos de Lenguaje C para PICs

5112018 PIC 16F877A y Lenguaje C - slidepdfcom

httpslidepdfcomreaderfullpic-16f877a-y-lenguaje-c 2023

Estructura de un programa en C( ciclo while )

Definicioacuten de variables globales

Definicioacuten de funciones

void main(void)

Definicioacuten de variables locales

Configuracioacuten de registros (recursos y puertos)

ciclo infinitowhile ( 1 )

Programa de usuario

5112018 PIC 16F877A y Lenguaje C - slidepdfcom

httpslidepdfcomreaderfullpic-16f877a-y-lenguaje-c 2123

PROGRAMA

void main(void)

while(1)

if(input(PIN_B0))

output_bit(PIN_C00)

else

output_bit(PIN_C01)

Ejemplo de sentencia while

Fundamentos de Lenguaje C para PICs

5112018 PIC 16F877A y Lenguaje C - slidepdfcom

httpslidepdfcomreaderfullpic-16f877a-y-lenguaje-c 2223

Estructura de un programa en C( ciclo do - while )

Definicioacuten de variables globales

Definicioacuten de funciones

void main(void)

Definicioacuten de variables locales

Configuracioacuten de registros (recursos y puertos)

ciclo infinitodo

Programa de usuario

while ( 1 )

5112018 PIC 16F877A y Lenguaje C - slidepdfcom

httpslidepdfcomreaderfullpic-16f877a-y-lenguaje-c 2323

Fundamentos de Lenguaje C para PICs

Ejemplo de sentencia do-while VARIABLES int icont variables definidas

PROGRAMAvoid main(void)

do bucle

cont=1 inicializarfor(i=1ilt8i++)leds on derecha

output_b(cont) ilumino led correspondientedelay_ms(100)cont=cont2

for(i=1ilt8i++)

output_b(cont) ilumino led correspondientedelay_ms(100)cont=cont2

while(TRUE) infinito

Lic Braulio Parizaca Puma

Page 19: PIC 16F877A y Lenguaje C

5112018 PIC 16F877A y Lenguaje C - slidepdfcom

httpslidepdfcomreaderfullpic-16f877a-y-lenguaje-c 1923

Fundamentos de Lenguaje C para PICs

5112018 PIC 16F877A y Lenguaje C - slidepdfcom

httpslidepdfcomreaderfullpic-16f877a-y-lenguaje-c 2023

Estructura de un programa en C( ciclo while )

Definicioacuten de variables globales

Definicioacuten de funciones

void main(void)

Definicioacuten de variables locales

Configuracioacuten de registros (recursos y puertos)

ciclo infinitowhile ( 1 )

Programa de usuario

5112018 PIC 16F877A y Lenguaje C - slidepdfcom

httpslidepdfcomreaderfullpic-16f877a-y-lenguaje-c 2123

PROGRAMA

void main(void)

while(1)

if(input(PIN_B0))

output_bit(PIN_C00)

else

output_bit(PIN_C01)

Ejemplo de sentencia while

Fundamentos de Lenguaje C para PICs

5112018 PIC 16F877A y Lenguaje C - slidepdfcom

httpslidepdfcomreaderfullpic-16f877a-y-lenguaje-c 2223

Estructura de un programa en C( ciclo do - while )

Definicioacuten de variables globales

Definicioacuten de funciones

void main(void)

Definicioacuten de variables locales

Configuracioacuten de registros (recursos y puertos)

ciclo infinitodo

Programa de usuario

while ( 1 )

5112018 PIC 16F877A y Lenguaje C - slidepdfcom

httpslidepdfcomreaderfullpic-16f877a-y-lenguaje-c 2323

Fundamentos de Lenguaje C para PICs

Ejemplo de sentencia do-while VARIABLES int icont variables definidas

PROGRAMAvoid main(void)

do bucle

cont=1 inicializarfor(i=1ilt8i++)leds on derecha

output_b(cont) ilumino led correspondientedelay_ms(100)cont=cont2

for(i=1ilt8i++)

output_b(cont) ilumino led correspondientedelay_ms(100)cont=cont2

while(TRUE) infinito

Lic Braulio Parizaca Puma

Page 20: PIC 16F877A y Lenguaje C

5112018 PIC 16F877A y Lenguaje C - slidepdfcom

httpslidepdfcomreaderfullpic-16f877a-y-lenguaje-c 2023

Estructura de un programa en C( ciclo while )

Definicioacuten de variables globales

Definicioacuten de funciones

void main(void)

Definicioacuten de variables locales

Configuracioacuten de registros (recursos y puertos)

ciclo infinitowhile ( 1 )

Programa de usuario

5112018 PIC 16F877A y Lenguaje C - slidepdfcom

httpslidepdfcomreaderfullpic-16f877a-y-lenguaje-c 2123

PROGRAMA

void main(void)

while(1)

if(input(PIN_B0))

output_bit(PIN_C00)

else

output_bit(PIN_C01)

Ejemplo de sentencia while

Fundamentos de Lenguaje C para PICs

5112018 PIC 16F877A y Lenguaje C - slidepdfcom

httpslidepdfcomreaderfullpic-16f877a-y-lenguaje-c 2223

Estructura de un programa en C( ciclo do - while )

Definicioacuten de variables globales

Definicioacuten de funciones

void main(void)

Definicioacuten de variables locales

Configuracioacuten de registros (recursos y puertos)

ciclo infinitodo

Programa de usuario

while ( 1 )

5112018 PIC 16F877A y Lenguaje C - slidepdfcom

httpslidepdfcomreaderfullpic-16f877a-y-lenguaje-c 2323

Fundamentos de Lenguaje C para PICs

Ejemplo de sentencia do-while VARIABLES int icont variables definidas

PROGRAMAvoid main(void)

do bucle

cont=1 inicializarfor(i=1ilt8i++)leds on derecha

output_b(cont) ilumino led correspondientedelay_ms(100)cont=cont2

for(i=1ilt8i++)

output_b(cont) ilumino led correspondientedelay_ms(100)cont=cont2

while(TRUE) infinito

Lic Braulio Parizaca Puma

Page 21: PIC 16F877A y Lenguaje C

5112018 PIC 16F877A y Lenguaje C - slidepdfcom

httpslidepdfcomreaderfullpic-16f877a-y-lenguaje-c 2123

PROGRAMA

void main(void)

while(1)

if(input(PIN_B0))

output_bit(PIN_C00)

else

output_bit(PIN_C01)

Ejemplo de sentencia while

Fundamentos de Lenguaje C para PICs

5112018 PIC 16F877A y Lenguaje C - slidepdfcom

httpslidepdfcomreaderfullpic-16f877a-y-lenguaje-c 2223

Estructura de un programa en C( ciclo do - while )

Definicioacuten de variables globales

Definicioacuten de funciones

void main(void)

Definicioacuten de variables locales

Configuracioacuten de registros (recursos y puertos)

ciclo infinitodo

Programa de usuario

while ( 1 )

5112018 PIC 16F877A y Lenguaje C - slidepdfcom

httpslidepdfcomreaderfullpic-16f877a-y-lenguaje-c 2323

Fundamentos de Lenguaje C para PICs

Ejemplo de sentencia do-while VARIABLES int icont variables definidas

PROGRAMAvoid main(void)

do bucle

cont=1 inicializarfor(i=1ilt8i++)leds on derecha

output_b(cont) ilumino led correspondientedelay_ms(100)cont=cont2

for(i=1ilt8i++)

output_b(cont) ilumino led correspondientedelay_ms(100)cont=cont2

while(TRUE) infinito

Lic Braulio Parizaca Puma

Page 22: PIC 16F877A y Lenguaje C

5112018 PIC 16F877A y Lenguaje C - slidepdfcom

httpslidepdfcomreaderfullpic-16f877a-y-lenguaje-c 2223

Estructura de un programa en C( ciclo do - while )

Definicioacuten de variables globales

Definicioacuten de funciones

void main(void)

Definicioacuten de variables locales

Configuracioacuten de registros (recursos y puertos)

ciclo infinitodo

Programa de usuario

while ( 1 )

5112018 PIC 16F877A y Lenguaje C - slidepdfcom

httpslidepdfcomreaderfullpic-16f877a-y-lenguaje-c 2323

Fundamentos de Lenguaje C para PICs

Ejemplo de sentencia do-while VARIABLES int icont variables definidas

PROGRAMAvoid main(void)

do bucle

cont=1 inicializarfor(i=1ilt8i++)leds on derecha

output_b(cont) ilumino led correspondientedelay_ms(100)cont=cont2

for(i=1ilt8i++)

output_b(cont) ilumino led correspondientedelay_ms(100)cont=cont2

while(TRUE) infinito

Lic Braulio Parizaca Puma

Page 23: PIC 16F877A y Lenguaje C

5112018 PIC 16F877A y Lenguaje C - slidepdfcom

httpslidepdfcomreaderfullpic-16f877a-y-lenguaje-c 2323

Fundamentos de Lenguaje C para PICs

Ejemplo de sentencia do-while VARIABLES int icont variables definidas

PROGRAMAvoid main(void)

do bucle

cont=1 inicializarfor(i=1ilt8i++)leds on derecha

output_b(cont) ilumino led correspondientedelay_ms(100)cont=cont2

for(i=1ilt8i++)

output_b(cont) ilumino led correspondientedelay_ms(100)cont=cont2

while(TRUE) infinito

Lic Braulio Parizaca Puma