PIC 16F877A y Lenguaje C
-
Upload
braulio-parizaca-p -
Category
Documents
-
view
2.192 -
download
11
Transcript of 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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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