martes, 26 de febrero de 2013

Información Principal

Laboratorio I
Diseño de la PCB - PIC18F4550

Integrantes:
Jorge Sandoval
Código: 20012270012
Correo: jorgeesand@gmail.com

Juan Solorzano
Código: 2011270070
Correo: ing.camilosolorzano@yahoo.es

Carlos Vega
Código: 2010270413
Correo: carlosgvegac@hotmail.com



Después de realizar el diseño de la PCB ahora ya tenemos nuestra tarjeta de prueba para el PIC18F4550




Recorrido leds Auto fantastico en Lenguaje C18:

Fotografía del montaje


Simulación en Proteus



Código Recorrido leds Auto fantastico en Lenguaje C18:

#include < p18f4550.h >
#include < delays.h > //libreria de retardo
#include < math.h >

//configuracion de bits
#pragma config FOSC=INTOSC_EC //CONFIGURACION DEL OSCILADOR
#pragma config WDT=OFF //configuracion de Watchdog "desabilitado"
#pragma config MCLRE=OFF //configuracion del MCLRE "desabilitado"
#pragma config LVP=OFF //configuracion del single supply "desabilitado"
#pragma config PBADEN=OFF //configuracion del puerto I/O digitales PORTB<0:4>

void main (void){
//inicio del programa
TRISB=0x00; //DEFINE EL PUERTO B COMO SALIDA
while(1){
LATB= 0x01;
//Prende PINB0
Delay1KTCYx(42); //Retardo

LATB= 0x02; //Prende PINB0
Delay1KTCYx(42); //Retardo

LATB= 0x04; //Prende PINB0
Delay1KTCYx(42); //Retardo

LATB= 0x08; //Prende PINB0
Delay1KTCYx(42); //Retardo

LATB= 0x10; //Prende PINB0
Delay1KTCYx(42); //Retardo

LATB= 0x20; //Prende PINB0
Delay1KTCYx(42); //Retardo

LATB= 0x40; //Prende PINB0
Delay1KTCYx(42); //Retardo

LATB= 0x80; //Prende PINB0
Delay1KTCYx(42); //Retardo

LATB= 0x40; //Prende PINB0
Delay1KTCYx(42); //Retardo

LATB= 0x20; //Prende PINB0
Delay1KTCYx(42); //Retardo

LATB= 0x10; //Prende PINB0
Delay1KTCYx(42); //Retardo

LATB= 0x08; //Prende PINB0
Delay1KTCYx(42); //Retardo

LATB= 0x04; //Prende PINB0
Delay1KTCYx(42); //Retardo

LATB= 0x02; //Prende PINB0
Delay1KTCYx(42); //Retardo

LATB= 0x01; //Prende PINB0
Delay1KTCYx(42); //Retardo

}
}




Conteo con Display 7 segmentos, ascendente y descendente


Fotografía del montaje

Simulación en Proteus



Código contador ascendente-descendente Lenguaje C18:


#include < p18f4550.h >
#include < delays.h >
//libreria de retardo #include < math.h >

//configuracion de bits
#pragma config FOSC=INTOSC_EC //CONFIGURACION DEL OSCILADOR
#pragma config WDT=OFF //configuracion de Watchdog "desabilitado"
#pragma config MCLRE=OFF //configuracion del MCLRE "desabilitado"
#pragma config LVP=OFF //configuracion del single supply "desabilitado"
#pragma config PBADEN=OFF //configuracion del puerto I/O digitales PORTB<0:4>

int u;

void main (void){
//inicio del programa
TRISB=0x00; //DEFINE EL PUERTO B COMO SALIDA

TRISC=0x00; //DEFINE EL PUERTO C COMO ENTRADA

u=0;

if(u==0){
LATC=0x10;
LATB=0x03;
goto inicio;
}

while(1){

while(1){
inicio:
if(PORTD==0x01){
u++;
Delay1KTCYx(42);
goto unidades;
}

if(PORTD==0x02){
u--;
Delay1KTCYx(42);
goto unidades;
}

}

unidades:

if(u<0){
LATC=0x10;
LATB=0x19;
u=9;
goto inicio;
}

if(u==0){
LATC=0x10;
LATB=0x03;
goto inicio;
}

if(u==1){
LATC=0x10;
LATB=0x9F;
goto inicio;
}

if(u==2){
LATC=0x10;
LATB=0x25;
goto inicio;
}

if(u==3){
LATC=0x10;
LATB=0x0D;
goto inicio;
}

if(u==4){
LATC=0x10;
LATB=0x99;
goto inicio;
}

if(u==5){
LATC=0x10;
LATB=0x49;
goto inicio;
}

if(u==6){
LATC=0x10;
LATB=0x41;
goto inicio;
}

if(u==7){
LATC=0x10;
LATB=0x1F;
goto inicio;
}

if(u==8){
LATC=0x10;
LATB=0x01;
goto inicio;
}

if(u==9){
LATC=0x10;
LATB=0x19;
goto inicio;
}

if(u==10){
u=0;
LATC=0x10;
LATB=0x03;
}
goto inicio;
}
}

No hay comentarios:

Publicar un comentario