Programa 4: Luces del Auto Fantastico

Programa 3: mover led de izquierda a derecha y viceversa, usando todos los puertos. Luces del auto fantastico.. o por lo menos parecido XD



Solucion:
/*kid luces de autito negro XD*/

#include <16F84A.h>

#FUSES NOWDT                    //No Watch Dog Timer
#FUSES XT                       //Crystal osc <= 4mhz for PCM/PCH , 3mhz to 10 mhz for PCD
#FUSES NOPUT                    //No Power Up Timer
#FUSES PROTECT                  //Code protected from reads

#use delay(clock=4000000)

#byte port_a=0x05
#byte port_b=0x06

void main()
{
set_tris_a(0b00000000);
set_tris_b(0b00000000);

int8 aux1=0b00000001;
int8 aux2=0b00010000;
int8 aux3=0b00010000;
int8 aux4=0b00000001;
int8 var;

do
{
   do
      {
      port_b=aux1;
      port_a=aux2;
      delay_ms(60);
      aux1=aux1<<1;
      aux2=aux2>>1;
      }
      while(aux2!=0);

port_a=0b00000000;

if(port_b==0b00010000)
   {port_b=0b10100000;
   delay_ms(60);}
if(port_b==0b10100000)
   {port_b=0b01000000;
   delay_ms(60);}
if(port_b==0b01000000)
   {port_b=0b10100000;
   delay_ms(60);}
   do
      {
      port_b=aux3;
      port_a=aux4;
      delay_ms(60);
      aux3=aux3>>1;
      aux4=aux4<<1;
      }
      while(aux4!=0b00010000);
aux1=0b00000001;
aux2=0b00010000;
aux3=0b00010000;
aux4=0b00000001;
}
while(true);                
}

comentarios: cada vez vamos subiendo un poco mas el nivel de programacion. este programa aunque  un pokitin largo. pues aun no utilizamos el pic ni al  20% asi que el codigo basura que veas ahi, es aceptable. Pero mas adelantte en aplicaciones mas largas.. pues tendremos que minimizar codigo, y hacerlo mas eficas. pero or el moment nos quedamos aca.
comentarios2: tratare de hacer programas de digi, tanto en vhdl como para uControl. asi que ojala el tiempo de..