El auto fantástico
INTEGRANTES:
CESAR AUGUSTO ESPAÑA CODIGO:2011170045
DIANA MILENA ROJAS.CODIGO:2011170038
HECTOR ANDRES MESA.CODIGO:2011170044
Materiales:
*8 leds.
*8 resistencias de 330ohm 1/4w
*Pic18f4550
*Pcb de desarrollo
*Protoboard
Metodología:
Para implementar este laboratorio cablemamos el puerto D desde la pcb de desarrollo hasta la protoboard, en esta ultima ubicamos los leds para
la visualizacion y luego estructuramos el codigo en C18 de la siguiente manera:
*Incluimos la libreria del pic y la de retardos.
*Configuramos los bits necesarios para este proyecto.
*Configuramos el puerto D como salida.
*Dentro de un ciclo infinito prendemos y apagamos el puerto consecutivamente desde RD0 hasta RD7 haciendo un retardo entre cada uno de 5 mili segundos
este tiempo lo calculamos con la formula:
Finalmente, programamos el pic y alimentamos la pcb de desarrollo por el puerto usb.
//***********************************Directivas*************************************************************
#include <p18f4550.h> //libreria del microcontrolador
#include <delays.h> //libreria de retardo de tiempo
//Configuracion de bits
#pragma config FOSC=INTOSC_EC //Configuracion de oscilador interno
#pragma config WDT=OFF //Configuracion del watchdog deshabilitado
#pragma config MCLRE=OFF //Configuracion clear deshabilitado
#pragma config LVP = OFF //Configuracion del lvp deshabilitado
#pragma config PBADEN=OFF //Configuaracion de puertos digitales deshabilitado
unsigned int i;
void main(void){
TRISD = 0X00; //Configura el puerto d como salida
while(1){ //Ciclo infinito
LATB= 0x01; //prendemos RD0
Delay10KTCYx(1); //retardo de 5 mili segundos
LATB= 0x02; //prendemos RD1
Delay10KTCYx(1);
//retardo de 5 mili segundos
LATB= 0x04;
//prendemos RD2
Delay10KTCYx(1);
//retardo de 5 mili segundos
LATB= 0x08;
//prendemos RD3
Delay10KTCYx(1);
//retardo de 5 mili segundos
LATB= 0x10;
//prendemos RD4
Delay10KTCYx(1);
//retardo de 5 mili segundos
LATB= 0x20;
//prendemos RD5
Delay10KTCYx(1);
//retardo de 5 mili segundos
LATB= 0x40;
//prendemos RD6
Delay10KTCYx(1);
//retardo de 5 mili segundos
LATB= 0x80;
//prendemos RD7
Delay10KTCYx(1);
//retardo de 5 mili segundos
LATB= 0x40;
//prendemos RD6
Delay10KTCYx(1);
//retardo de 5 mili segundos
LATB= 0x20;
//prendemos RD5
Delay10KTCYx(1);
//retardo de 5 mili segundos
LATB= 0x10;
//prendemos RD4
Delay10KTCYx(1);
//retardo de 5 mili segundos
LATB= 0x08;
//prendemos RD3
Delay10KTCYx(1);
//retardo de 5 mili segundos
LATB= 0x04;
//prendemos RD2
Delay10KTCYx(1);
//retardo de 5 mili segundos
LATB= 0x02;
//prendemos RD1
Delay10KTCYx(1);
//retardo de 5 mili segundos
}
}