![](https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgq2dOhPvBYF39c1Dz-naaESOY_chgZwKjQZZhRX_ni2qhTIAx70AFqZmJXcuh8BnfBZEg39-kNWGK-fpQsjm1GHKB2PhYO7PsZwvEWtakH1WOWk_o49N-lYuaDVmic9Ap0FyoSE4Yq9YY/s320/PCB.png)
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
![](https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi4F7fcVIvTniRQ3MLh30lpQp8pvuqx_1kivUN1HE7ffeEDhbL5axUlKxmDRT7xe12Up4Cw3K0zdJP1qnw6b3belbWgn6znElWTEnThcAJQg6j3sIDpjofySVjG3v2p5L_fgP3pXm_-4L0/s320/IMG_20130227_143343%5B1%5D.jpg)
Después de realizar el diseño de la PCB ahora ya tenemos nuestra tarjeta de prueba para el PIC18F4550
![](https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgOK8DiM7cZhSkgvW8x5Ffw4q556CoIDdQu6Sgro4TeK0UfCKuPANGnGCuATxVwhFruLkUbI2QKVK_BmooyTHO9ffN5Fm-RZeNSV2B90Rn4oVlt2lGqYoB8aeoMPgH9SJ8rPp7-47WWlfg/s320/IMG_20130302_104731.jpg)
Recorrido leds Auto fantastico en Lenguaje C18:
Fotografía del montaje
![](https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiMlsz5wvD1AwofgOvSlxZyYJYM4A_yABsVa_OOSYI2zz__QJm1RB9_LrHejPi5D6GI8tmpSIjiO__UBWf8KVSy8aplDhh_SwJK6j0x-JPZ3IBLjnHPFrUIc72TNPN_B4psXbv-rhkxjEc/s320/2013-03-09+12.29.17.jpg)
Simulación en Proteus
![](https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhjffcbT7077vZuOL90X6JzM_1lq7bLHkWsj-Lv-9Uf6RqcLcWbf7lv_P6D6jySttNVqaO6gQ0e4eLAbEmk_3Y6_nNg1tW823o7yoGzo8AgSUi8YZb0vZ2RtcHICORD-Jy6SO0Vv_rNvmw/s320/Auto.png)
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
![](https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh0N05Z649lyb_ntPFX80CQ0Ddg3Ldyaw4mzMLtOqg6rO2HCTIgPAcFXhEVFSC92L-EVVi27ECLBjoOE3am_fbpwBvz3SeZxxD6U7XXLCxIXKYzx_6llHg97xzgLpIjnJ_owwyDIuvxSdw/s320/2013-03-09+12.21.28.jpg)
Simulación en Proteus
![](https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg5cBevQ2dOvQR10SQqvPxeF3qYD4UKsQ5MHyKTgYqp3X19RfyBRMRM4h3WQCRYwGSHbtluweGA35OuSLjQYjygraxfcEeIHkneHk53zqCw1GSe_aDEGp_8ebQBhGO7f5vKp1bj8MVZ0jA/s320/Display.png)
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;
}
}