miércoles, 19 de junio de 2013

LABORATORIO 2



GRUPO Nº

DESCRIPCIÓN DEL LABORATORIO:
Implementación de un circuito que conforman una serie de LED's con sus respectivas resistencias, conectados al puerto B del PIC18f2550, este, alimentado con un voltaje de 5Vdc. La función de este circuito es encender los LED's en un orden ascendente o descendente, cada LED debe encenderse durante 100ms, apagarse, y el siguiente debe encenderse y apagarse al igual que el anterior, así, con todos los led del circuito (para este ejercicio 8 LED's), seguido a esto el orden de encendido y apagado de cada led cambia de direccion, es decir, en este orden: led1, led2, led3, led4, led5, led6, led7, led8, led7, led6, led5, led4, led3, led2, led1... infinitas veces.


CODIGO EN C:



#include <18f2550.h>                                                     //libreria para pic18f2550
#fuses HS,NOWDT,NOPROTECT,NOLVP,USBDIV,PLL3,CPUDIV1,VREGEN        //configuracion de bits
#use delay (clock=12000000)
#use fast_IO(B)
//#device retardo delay_ms(100)

void main()
{
set_tris_b(0x00)    ;                      //todo el puerto B como salida


while(true){
output_high(PIN_B0);                      //RB0 = 1
delay_ms(100);
output_low(PIN_B0);                      //RB0 = 0
output_high(PIN_B1);                      //RB1 = 1
delay_ms(100);
output_low(PIN_B1);                      //RB1 = 0
output_high(PIN_B2);                      //RB2 = 1
delay_ms(100);
output_low(PIN_B2);                      //RB2 = 0
output_high(PIN_B3);                      //RB3 = 1
delay_ms(100);
output_low(PIN_B3);                      //RB3 = 0
output_high(PIN_B4);                      //RB4 = 1
delay_ms(100);
output_low(PIN_B4);                      //RB4 = 0
output_high(PIN_B5);                      //RB5 = 1
delay_ms(100);
output_low(PIN_B5);                      //RB5 = 0
output_high(PIN_B6);                      //RB6 = 1
delay_ms(100);
output_low(PIN_B6);                      //RB6 = 0
output_high(PIN_B7);                      //RB7 = 1
delay_ms(100);
output_low(PIN_B7);                      //RB7= 0

output_high(PIN_B6);                      //RB6= 1
delay_ms(100);
output_low(PIN_B6);                      //RB6= 0
output_high(PIN_B5);                      //RB5= 1
delay_ms(100);
output_low(PIN_B5);                      //RB5= 0
output_high(PIN_B4);                      //RB4= 1
delay_ms(100);
output_low(PIN_B4);                      //RB4 = 0
output_high(PIN_B3);                      //RB3 = 1
delay_ms(100);
output_low(PIN_B3);                      //RB3 = 0
output_high(PIN_B2);                      //RB2 = 1
delay_ms(100);
output_low(PIN_B2);                      //RB2 = 0
output_high(PIN_B1);                      //RB1 = 1
delay_ms(100);
output_low(PIN_B1);                      //RB1 = 0
output_high(PIN_B0);                      //RB0 = 1
delay_ms(100);
output_low(PIN_B0);                      //RB0 = 0
delay_ms(100);

}
}

No hay comentarios:

Publicar un comentario