viernes, 31 de agosto de 2012

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
}

}




No hay comentarios:

Publicar un comentario