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..