#include <16F877A.
h>
#include <MATH.h>
#FUSES NOWDT //No Watch Dog Timer
#FUSES XT
#FUSES NOPUT //No Power Up Timer
#FUSES NOPROTECT //Code not protected from reading
#FUSES NOBROWNOUT //No brownout reset
#FUSES NOLVP //No low voltage prgming, B3(PIC16) or B5(PIC18) used for I/O
#FUSES NOCPD //No EE protection
#use delay(clock=4000000)
//Defines--------------------------------------#BYTE PORTA = 0x05//direcciones
#BYTE PORTB = 0x06//the same
#BYTE PORTA_TRIS = 0x85// the same
#BYTE PORTB_TRIS = 0x86// the same
#DEFINE RDD_DATA PIN_A1// solo define los pines con otro nombre
#DEFINE RDD_CLOCK PIN_A0//solo define los pines con otro nombre
//#DEFINE EEPROM_SCL PIN_A2 //solo define los pines con otro nombre
//#DEFINE EEPROM_SDA PIN_A3// the same
//void fConfigurar_puertos(void);
void fRDD_send_data0(void){
output_low(RDD_DATA);
//delay_us(2);
output_low(RDD_CLOCK);
//delay_us(2);
output_high(RDD_CLOCK);
//---Envia un 1 al registro de desplazamiento:
void fRDD_send_data1(void){
output_high(RDD_DATA);
//delay_us(2);
output_low(RDD_CLOCK);
//delay_us(2);
output_high(RDD_CLOCK);
mandar_veces_1(int j,int y,int z){
int a;
//........................
if(y==0){
for(a=1;a<(j+z-3);a++)
{fRDD_send_data0();}
}
//.....................
if(y==1){
for(a=1;a<(j+z-2);a++)
{fRDD_send_data0();}
}
//......................
if(y==2){
for(a=1;a<(j+z-1);a++)
{fRDD_send_data0();}
}
//.....................
if(y==3){
for(a=1;a<(j+z);a++)
{fRDD_send_data0();}
}
//..................
}//aqui termina mandar_veces
mandar_veces(int j,int l){
int b,c;
c=j+l-1;
if(c==0){delay_ms(0);}
else {
for(b=1;b<=c;b++){
fRDD_send_data0();
}
}
}
void main(){
int CONST R[4]={ 0b11111111,// al parecer siempre tiene k aparecer un par de ceros para k se
puedan activar los leds
0b00010001,
0b00011111,
0b11100000,
};
int CONST O[4]={ 0b11111111,
0b10000001,
0b11111111,
0b00000000,
};
int CONST B[4]={ 0b11111111,
0b10001001,
0b10001001,
0b01110110,
};
int CONST q[4]={ 0b00000000,
0b10000001,
0b11111111,
0b10000001,
};
int CONST N[4]={ 0b11111111,
0b00001000,
0b00010000,
0b11111111,
};
output_low(RDD_CLOCK); //RELOJ = Bajo
output_low(RDD_DATA);// dato en bajo
PORTA_TRIS = 0b00000000; //1=ENTRADA, 0=SALIDA(ojo con esto se puso a los pines A0 y A1
como entradas pero los cambie)
PORTB_TRIS = 0b00000000; //1=ENTRADA, 0=SALIDA
setup_timer_0(RTCC_INTERNAL|RTCC_DIV_1);// deshabilitar timer0 y al parecer se tabajo con rtcc
setup_timer_1(T1_DISABLED);//deshabilitado timer 1
setup_timer_2(T2_DISABLED,0,1);//deshabilitar timer 2
setup_comparator(NC_NC_NC_NC);//deshabilitados comparadores
setup_vref(FALSE);//voltajes de referencia desactivados
bit_set(PORTA,2);
PORTB=0b00000000;
for(;;){
int8 i,j,l,y,z,t,w;
for(j=1;j<=28;j++){// donde x es el nmero (por asi decirlo) de columnas
if(j==1){
for(y=0;y<=3;y++){//primera parte de mandar 3 , 2 3 , 1 2 3, ...
for(i=0;i<=20;i++){//repite 20 veces cada instruccin aciendo parecer la letra esttica
for(z=(3-y);z<=3;z++){//segundo parte de mandar 3, 2 3 , 1 2 3 , ...
fRDD_send_data1();
mandar_veces_1(j,y,z);//aqui debe ir lo del for para mandar los data 0
output_b(N[z]);
delay_us(300);
PORTB=0b00000000;
bit_clear(PORTA,2);
bit_set(PORTA,2);
} // esto termina el for de la lz
}//termina el for del i
}//termina el for de la y
delay_ms(5);
}//termina el if de 1
else{
// se puede empezar a muetsrear la sgte palabra a partir de j=3
for(i=0;i<=28;i++){
for(l=0;l<=3;l++){
fRDD_send_data1();
mandar_veces(j,l);//aqui debe ir lo del for para mandar los data 0
output_b(N[l]);
delay_us(300);
PORTB=0b00000000;
bit_clear(PORTA,2);
bit_set(PORTA,2);
if(j>=7){
fRDD_send_data1();
mandar_veces(j-5,l);//aqui debe ir lo del for para mandar los data 0
output_b(q[l]);
delay_us(300);
PORTB=0b00000000;
bit_clear(PORTA,2);
bit_set(PORTA,2);
}
if(j>=11){
fRDD_send_data1();
mandar_veces(j-9,l);//aqui debe ir lo del for para mandar los data 0
output_b(b[l]);
delay_us(300);
PORTB=0b00000000;
bit_clear(PORTA,2);
bit_set(PORTA,2);
}
if(j>=15){
fRDD_send_data1();
mandar_veces(j-13,l);//aqui debe ir lo del for para mandar los data 0
output_b(o[l]);
delay_us(300);
PORTB=0b00000000;
bit_clear(PORTA,2);
bit_set(PORTA,2);
}
if(j>=20){
fRDD_send_data1();
mandar_veces(j-18,l);//aqui debe ir lo del for para mandar los data 0
output_b(r[l]);
delay_us(300);
PORTB=0b00000000;
bit_clear(PORTA,2);
bit_set(PORTA,2);
}
}// este for de l manda las filas de b necesarias para la letra
//.............................................
if(j==3){
fRDD_send_data1();
output_b(q[3]);
delay_us(300);
PORTB=0b00000000;
bit_clear(PORTA,2);
bit_set(PORTA,2);
if(j==4){
fRDD_send_data1();
mandar_veces_1(1,y,z);//aqui debe ir lo del for para mandar los data 0
output_b(q[2]);
delay_us(300);
PORTB=0b00000000;
bit_clear(PORTA,2);
bit_set(PORTA,2);
fRDD_send_data1();
fRDD_send_data0();
mandar_veces_1(j,y,z);//aqui debe ir lo del for para mandar los data 0
output_b(q[3]);
delay_us(300);
PORTB=0b00000000;
bit_clear(PORTA,2);
bit_set(PORTA,2);
if(j==5){
fRDD_send_data1();
output_b(q[1]);
delay_us(300);
PORTB=0b00000000;
bit_clear(PORTA,2);
bit_set(PORTA,2);
fRDD_send_data1();
fRDD_send_data0();
output_b(q[2]);
delay_us(300);
PORTB=0b00000000;
bit_clear(PORTA,2);
bit_set(PORTA,2);
fRDD_send_data1();
fRDD_send_data0();
fRDD_send_data0();
output_b(q[3]);
delay_us(300);
PORTB=0b00000000;
bit_clear(PORTA,2);
bit_set(PORTA,2);
if(j==6){
fRDD_send_data1();
output_b(q[0]);
delay_us(300);
PORTB=0b00000000;
bit_clear(PORTA,2);
bit_set(PORTA,2);
fRDD_send_data1();
fRDD_send_data0();
output_b(q[1]);
delay_us(300);
PORTB=0b00000000;
bit_clear(PORTA,2);
bit_set(PORTA,2);
fRDD_send_data1();
fRDD_send_data0();
fRDD_send_data0();
output_b(q[2]);
delay_us(300);
PORTB=0b00000000;
bit_clear(PORTA,2);
bit_set(PORTA,2);
fRDD_send_data1();
fRDD_send_data0();
fRDD_send_data0();
fRDD_send_data0();
output_b(q[3]);
delay_us(300);
PORTB=0b00000000;
bit_clear(PORTA,2);
bit_set(PORTA,2);
}
//..............................................
if(j==7){
fRDD_send_data1();
output_b(B[3]);
delay_us(300);
PORTB=0b00000000;
bit_clear(PORTA,2);
bit_set(PORTA,2);
if(j==8){
fRDD_send_data1();
mandar_veces_1(1,y,z);//aqui debe ir lo del for para mandar los data 0
output_b(B[2]);
delay_us(300);
PORTB=0b00000000;
bit_clear(PORTA,2);
bit_set(PORTA,2);
fRDD_send_data1();
fRDD_send_data0();
mandar_veces_1(j,y,z);//aqui debe ir lo del for para mandar los data 0
output_b(B[3]);
delay_us(300);
PORTB=0b00000000;
bit_clear(PORTA,2);
bit_set(PORTA,2);
if(j==9){
fRDD_send_data1();
output_b(B[1]);
delay_us(300);
PORTB=0b00000000;
bit_clear(PORTA,2);
bit_set(PORTA,2);
fRDD_send_data1();
fRDD_send_data0();
output_b(B[2]);
delay_us(300);
PORTB=0b00000000;
bit_clear(PORTA,2);
bit_set(PORTA,2);
fRDD_send_data1();
fRDD_send_data0();
fRDD_send_data0();
output_b(B[3]);
delay_us(300);
PORTB=0b00000000;
bit_clear(PORTA,2);
bit_set(PORTA,2);
if(j==10){
fRDD_send_data1();
output_b(B[0]);
delay_us(300);
PORTB=0b00000000;
bit_clear(PORTA,2);
bit_set(PORTA,2);
fRDD_send_data1();
fRDD_send_data0();
output_b(B[1]);
delay_us(300);
PORTB=0b00000000;
bit_clear(PORTA,2);
bit_set(PORTA,2);
fRDD_send_data1();
fRDD_send_data0();
fRDD_send_data0();
output_b(B[2]);
delay_us(300);
PORTB=0b00000000;
bit_clear(PORTA,2);
bit_set(PORTA,2);
fRDD_send_data1();
fRDD_send_data0();
fRDD_send_data0();
fRDD_send_data0();
output_b(B[3]);
delay_us(300);
PORTB=0b00000000;
bit_clear(PORTA,2);
bit_set(PORTA,2);
}
//...........................
if(j==11){
fRDD_send_data1();
output_b(o[3]);
delay_us(300);
PORTB=0b00000000;
bit_clear(PORTA,2);
bit_set(PORTA,2);
if(j==12){
fRDD_send_data1();
mandar_veces_1(1,y,z);//aqui debe ir lo del for para mandar los data 0
output_b(o[2]);
delay_us(300);
PORTB=0b00000000;
bit_clear(PORTA,2);
bit_set(PORTA,2);
fRDD_send_data1();
fRDD_send_data0();
mandar_veces_1(j,y,z);//aqui debe ir lo del for para mandar los data 0
output_b(o[3]);
delay_us(300);
PORTB=0b00000000;
bit_clear(PORTA,2);
bit_set(PORTA,2);
if(j==13){
fRDD_send_data1();
output_b(o[1]);
delay_us(300);
PORTB=0b00000000;
bit_clear(PORTA,2);
bit_set(PORTA,2);
fRDD_send_data1();
fRDD_send_data0();
output_b(o[2]);
delay_us(300);
PORTB=0b00000000;
bit_clear(PORTA,2);
bit_set(PORTA,2);
fRDD_send_data1();
fRDD_send_data0();
fRDD_send_data0();
output_b(o[3]);
delay_us(300);
PORTB=0b00000000;
bit_clear(PORTA,2);
bit_set(PORTA,2);
if(j==14){
fRDD_send_data1();
output_b(o[0]);
delay_us(300);
PORTB=0b00000000;
bit_clear(PORTA,2);
bit_set(PORTA,2);
fRDD_send_data1();
fRDD_send_data0();
output_b(o[1]);
delay_us(300);
PORTB=0b00000000;
bit_clear(PORTA,2);
bit_set(PORTA,2);
fRDD_send_data1();
fRDD_send_data0();
fRDD_send_data0();
output_b(o[2]);
delay_us(300);
PORTB=0b00000000;
bit_clear(PORTA,2);
bit_set(PORTA,2);
fRDD_send_data1();
fRDD_send_data0();
fRDD_send_data0();
fRDD_send_data0();
output_b(o[3]);
delay_us(300);
PORTB=0b00000000;
bit_clear(PORTA,2);
bit_set(PORTA,2);
}
//.......................
if(j==16){
fRDD_send_data1();
output_b(R[3]);
delay_us(300);
PORTB=0b00000000;
bit_clear(PORTA,2);
bit_set(PORTA,2);
if(j==17){
fRDD_send_data1();
mandar_veces_1(1,y,z);//aqui debe ir lo del for para mandar los data 0
output_b(R[2]);
delay_us(300);
PORTB=0b00000000;
bit_clear(PORTA,2);
bit_set(PORTA,2);
fRDD_send_data1();
fRDD_send_data0();
mandar_veces_1(j,y,z);//aqui debe ir lo del for para mandar los data 0
output_b(R[3]);
delay_us(300);
PORTB=0b00000000;
bit_clear(PORTA,2);
bit_set(PORTA,2);
if(j==18){
fRDD_send_data1();
output_b(R[1]);
delay_us(300);
PORTB=0b00000000;
bit_clear(PORTA,2);
bit_set(PORTA,2);
fRDD_send_data1();
fRDD_send_data0();
output_b(R[2]);
delay_us(300);
PORTB=0b00000000;
bit_clear(PORTA,2);
bit_set(PORTA,2);
fRDD_send_data1();
fRDD_send_data0();
fRDD_send_data0();
output_b(R[3]);
delay_us(300);
PORTB=0b00000000;
bit_clear(PORTA,2);
bit_set(PORTA,2);
if(j==19){
fRDD_send_data1();
output_b(R[0]);
delay_us(300);
PORTB=0b00000000;
bit_clear(PORTA,2);
bit_set(PORTA,2);
fRDD_send_data1();
fRDD_send_data0();
output_b(R[1]);
delay_us(300);
PORTB=0b00000000;
bit_clear(PORTA,2);
bit_set(PORTA,2);
fRDD_send_data1();
fRDD_send_data0();
fRDD_send_data0();
output_b(R[2]);
delay_us(300);
PORTB=0b00000000;
bit_clear(PORTA,2);
bit_set(PORTA,2);
fRDD_send_data1();
fRDD_send_data0();
fRDD_send_data0();
fRDD_send_data0();
output_b(R[3]);
delay_us(300);
PORTB=0b00000000;
bit_clear(PORTA,2);
bit_set(PORTA,2);
}
//................................................
delay_ms(5);
}//este termina el for de la i este es el que repite varias veces en su mismo lugar
delay_ms(5); //esto retrasara para k se pueda ver en distinto tiempo osea k se este moviendo
}//fin del else
}// termina el for de la j
}// termina el bucle de for
}// termina el main
Emerson en matris
#include <16F877A.h>
#include <MATH.h>
#FUSES NOWDT //No Watch Dog Timer
#FUSES XT
#FUSES NOPUT //No Power Up Timer
#FUSES NOPROTECT //Code not protected from reading
#FUSES NOBROWNOUT //No brownout reset
#FUSES NOLVP //No low voltage prgming, B3(PIC16) or B5(PIC18) used for I/O
#FUSES NOCPD //No EE protection
#use delay(clock=20M)
//Defines--------------------------------------#BYTE PORTA = 0x05//direcciones
#BYTE PORTB = 0x06//the same
#BYTE PORTA_TRIS = 0x85// the same
#BYTE PORTB_TRIS = 0x86// the same
#DEFINE RDD_DATA PIN_A1// solo define los pines con otro nombre
#DEFINE RDD_CLOCK PIN_A0//solo define los pines con otro nombre
//#DEFINE EEPROM_SCL PIN_A2 //solo define los pines con otro nombre
//#DEFINE EEPROM_SDA PIN_A3// the same
//void fConfigurar_puertos(void);
void fRDD_send_data0(void){
output_low(RDD_DATA);
//delay_us(2);
output_low(RDD_CLOCK);
//delay_us(2);
output_high(RDD_CLOCK);
//---Envia un 1 al registro de desplazamiento:
void fRDD_send_data1(void){
output_high(RDD_DATA);
//delay_us(2);
output_low(RDD_CLOCK);
//delay_us(2);
output_high(RDD_CLOCK);
mandar_veces_1(int j,int y,int z){
int a;
//........................
if(y==0){
for(a=1;a<(j+z-3);a++)
{fRDD_send_data0();}
}
//.....................
if(y==1){
for(a=1;a<(j+z-2);a++)
{fRDD_send_data0();}
}
//......................
if(y==2){
for(a=1;a<(j+z-1);a++)
{fRDD_send_data0();}
}
//.....................
if(y==3){
for(a=1;a<(j+z);a++)
{fRDD_send_data0();}
}
//..................
}//aqui termina mandar_veces
mandar_veces(int j,int l){
int b,c;
c=j+l-1;
if(c==0){delay_ms(0);}
else {
for(b=1;b<=c;b++){
fRDD_send_data0();
}
}
}
void main(){
int CONST E[4]={ 0b01111110,// al parecer siempre tiene k aparecer un par de ceros para k se
puedan activar los leds
0b01001010,
0b01001010,
0b01001010,
};
int CONST M[4]={ 0b01111110,
0b00001100,
0b00001100,
0b01111110,
};
int CONST E1[4]={ 0b01111110,
0b01001010,
0b01001010,
0b01001010,
};
int CONST R[4]={ 0b01111110,
0b00010010,
0b00011110,
0b01100000,
};
int CONST S[4]={ 0b01001110,
0b01001010,
0b01010010,
0b01110010,
};
int CONST O[4]={ 0b01111110,
0b01000010,
0b01000010,
0b01111110,
};
int CONST N[4]={ 0b01111110,
0b00001100,
0b00110000,
0b01111110,
};
output_low(RDD_CLOCK); //RELOJ = Bajo
output_low(RDD_DATA);// dato en bajo
PORTA_TRIS = 0b00000000; //1=ENTRADA, 0=SALIDA(ojo con esto se puso a los pines A0 y A1
como entradas pero los cambie)
PORTB_TRIS = 0b00000000; //1=ENTRADA, 0=SALIDA
setup_timer_0(RTCC_INTERNAL|RTCC_DIV_1);// deshabilitar timer0 y al parecer se tabajo con rtcc
setup_timer_1(T1_DISABLED);//deshabilitado timer 1
setup_timer_2(T2_DISABLED,0,1);//deshabilitar timer 2
setup_comparator(NC_NC_NC_NC);//deshabilitados comparadores
setup_vref(FALSE);//voltajes de referencia desactivados
bit_set(PORTA,2);
PORTB=0b00000000;
for(;;){
int8 i,j,l,y,z,t,w;
for(j=1;j<=28;j++){// donde x es el nmero (por asi decirlo) de columnas
if(j==1){
for(y=0;y<=3;y++){//primera parte de mandar 3 , 2 3 , 1 2 3, ...
for(i=0;i<=20;i++){//repite 20 veces cada instruccin aciendo parecer la letra esttica
for(z=(3-y);z<=3;z++){//segundo parte de mandar 3, 2 3 , 1 2 3 , ...
fRDD_send_data1();
mandar_veces_1(j,y,z);//aqui debe ir lo del for para mandar los data 0
output_b(N[z]);
delay_us(300);
PORTB=0b00000000;
bit_clear(PORTA,2);
bit_set(PORTA,2);
} // esto termina el for de la lz
}//termina el for del i
}//termina el for de la y
delay_ms(5);
}//termina el if de 1
else{
// se puede empezar a muetsrear la sgte palabra a partir de j=3
for(i=0;i<=28;i++){
for(l=0;l<=3;l++){
fRDD_send_data1();
mandar_veces(j,l);//aqui debe ir lo del for para mandar los data 0
output_b(N[l]);
delay_us(300);
PORTB=0b00000000;
bit_clear(PORTA,2);
bit_set(PORTA,2);
if(j>=7){
fRDD_send_data1();
mandar_veces(j-5,l);//aqui debe ir lo del for para mandar los data 0
output_b(O[l]);
delay_us(300);
PORTB=0b00000000;
bit_clear(PORTA,2);
bit_set(PORTA,2);
}
if(j>=11){
fRDD_send_data1();
mandar_veces(j-9,l);//aqui debe ir lo del for para mandar los data 0
output_b(S[l]);
delay_us(300);
PORTB=0b00000000;
bit_clear(PORTA,2);
bit_set(PORTA,2);
}
if(j>=15){
fRDD_send_data1();
mandar_veces(j-13,l);//aqui debe ir lo del for para mandar los data 0
output_b(R[l]);
delay_us(300);
PORTB=0b00000000;
bit_clear(PORTA,2);
bit_set(PORTA,2);
}
if(j>=19){
fRDD_send_data1();
mandar_veces(j-17,l);//aqui debe ir lo del for para mandar los data 0
output_b(E1[l]);
delay_us(300);
PORTB=0b00000000;
bit_clear(PORTA,2);
bit_set(PORTA,2);
}
if(j>=23){
fRDD_send_data1();
mandar_veces(j-21,l);//aqui debe ir lo del for para mandar los data 0
output_b(M[l]);
delay_us(300);
PORTB=0b00000000;
bit_clear(PORTA,2);
bit_set(PORTA,2);
}
if(j>=28){
fRDD_send_data1();
mandar_veces(j-26,l);//aqui debe ir lo del for para mandar los data 0
output_b(E[l]);
delay_us(300);
PORTB=0b00000000;
bit_clear(PORTA,2);
bit_set(PORTA,2);
}
}// este for de l manda las filas de b necesarias para la letra
//.............................................
if(j==3){
fRDD_send_data1();
output_b(O[3]);
delay_us(300);
PORTB=0b00000000;
bit_clear(PORTA,2);
bit_set(PORTA,2);
if(j==4){
fRDD_send_data1();
mandar_veces_1(1,y,z);//aqui debe ir lo del for para mandar los data 0
output_b(O[2]);
delay_us(300);
PORTB=0b00000000;
bit_clear(PORTA,2);
bit_set(PORTA,2);
fRDD_send_data1();
fRDD_send_data0();
mandar_veces_1(j,y,z);//aqui debe ir lo del for para mandar los data 0
output_b(O[3]);
delay_us(300);
PORTB=0b00000000;
bit_clear(PORTA,2);
bit_set(PORTA,2);
if(j==5){
fRDD_send_data1();
output_b(O[1]);
delay_us(300);
PORTB=0b00000000;
bit_clear(PORTA,2);
bit_set(PORTA,2);
fRDD_send_data1();
fRDD_send_data0();
output_b(O[2]);
delay_us(300);
PORTB=0b00000000;
bit_clear(PORTA,2);
bit_set(PORTA,2);
fRDD_send_data1();
fRDD_send_data0();
fRDD_send_data0();
output_b(O[3]);
delay_us(300);
PORTB=0b00000000;
bit_clear(PORTA,2);
bit_set(PORTA,2);
if(j==6){
fRDD_send_data1();
output_b(O[0]);
delay_us(300);
PORTB=0b00000000;
bit_clear(PORTA,2);
bit_set(PORTA,2);
fRDD_send_data1();
fRDD_send_data0();
output_b(O[1]);
delay_us(300);
PORTB=0b00000000;
bit_clear(PORTA,2);
bit_set(PORTA,2);
fRDD_send_data1();
fRDD_send_data0();
fRDD_send_data0();
output_b(O[2]);
delay_us(300);
PORTB=0b00000000;
bit_clear(PORTA,2);
bit_set(PORTA,2);
fRDD_send_data1();
fRDD_send_data0();
fRDD_send_data0();
fRDD_send_data0();
output_b(O[3]);
delay_us(300);
PORTB=0b00000000;
bit_clear(PORTA,2);
bit_set(PORTA,2);
}
//..............................................
if(j==7){
fRDD_send_data1();
output_b(S[3]);
delay_us(300);
PORTB=0b00000000;
bit_clear(PORTA,2);
bit_set(PORTA,2);
if(j==8){
fRDD_send_data1();
mandar_veces_1(1,y,z);//aqui debe ir lo del for para mandar los data 0
output_b(S[2]);
delay_us(300);
PORTB=0b00000000;
bit_clear(PORTA,2);
bit_set(PORTA,2);
fRDD_send_data1();
fRDD_send_data0();
mandar_veces_1(j,y,z);//aqui debe ir lo del for para mandar los data 0
output_b(S[3]);
delay_us(300);
PORTB=0b00000000;
bit_clear(PORTA,2);
bit_set(PORTA,2);
if(j==9){
fRDD_send_data1();
output_b(S[1]);
delay_us(300);
PORTB=0b00000000;
bit_clear(PORTA,2);
bit_set(PORTA,2);
fRDD_send_data1();
fRDD_send_data0();
output_b(S[2]);
delay_us(300);
PORTB=0b00000000;
bit_clear(PORTA,2);
bit_set(PORTA,2);
fRDD_send_data1();
fRDD_send_data0();
fRDD_send_data0();
output_b(S[3]);
delay_us(300);
PORTB=0b00000000;
bit_clear(PORTA,2);
bit_set(PORTA,2);
if(j==10){
fRDD_send_data1();
output_b(S[0]);
delay_us(300);
PORTB=0b00000000;
bit_clear(PORTA,2);
bit_set(PORTA,2);
fRDD_send_data1();
fRDD_send_data0();
output_b(S[1]);
delay_us(300);
PORTB=0b00000000;
bit_clear(PORTA,2);
bit_set(PORTA,2);
fRDD_send_data1();
fRDD_send_data0();
fRDD_send_data0();
output_b(S[2]);
delay_us(300);
PORTB=0b00000000;
bit_clear(PORTA,2);
bit_set(PORTA,2);
fRDD_send_data1();
fRDD_send_data0();
fRDD_send_data0();
fRDD_send_data0();
output_b(S[3]);
delay_us(300);
PORTB=0b00000000;
bit_clear(PORTA,2);
bit_set(PORTA,2);
}
//...........................
if(j==11){
fRDD_send_data1();
output_b(R[3]);
delay_us(300);
PORTB=0b00000000;
bit_clear(PORTA,2);
bit_set(PORTA,2);
if(j==12){
fRDD_send_data1();
mandar_veces_1(1,y,z);//aqui debe ir lo del for para mandar los data 0
output_b(R[2]);
delay_us(300);
PORTB=0b00000000;
bit_clear(PORTA,2);
bit_set(PORTA,2);
fRDD_send_data1();
fRDD_send_data0();
mandar_veces_1(j,y,z);//aqui debe ir lo del for para mandar los data 0
output_b(R[3]);
delay_us(300);
PORTB=0b00000000;
bit_clear(PORTA,2);
bit_set(PORTA,2);
if(j==13){
fRDD_send_data1();
output_b(R[1]);
delay_us(300);
PORTB=0b00000000;
bit_clear(PORTA,2);
bit_set(PORTA,2);
fRDD_send_data1();
fRDD_send_data0();
output_b(R[2]);
delay_us(300);
PORTB=0b00000000;
bit_clear(PORTA,2);
bit_set(PORTA,2);
fRDD_send_data1();
fRDD_send_data0();
fRDD_send_data0();
output_b(R[3]);
delay_us(300);
PORTB=0b00000000;
bit_clear(PORTA,2);
bit_set(PORTA,2);
if(j==14){
fRDD_send_data1();
output_b(R[0]);
delay_us(300);
PORTB=0b00000000;
bit_clear(PORTA,2);
bit_set(PORTA,2);
fRDD_send_data1();
fRDD_send_data0();
output_b(R[1]);
delay_us(300);
PORTB=0b00000000;
bit_clear(PORTA,2);
bit_set(PORTA,2);
fRDD_send_data1();
fRDD_send_data0();
fRDD_send_data0();
output_b(R[2]);
delay_us(300);
PORTB=0b00000000;
bit_clear(PORTA,2);
bit_set(PORTA,2);
fRDD_send_data1();
fRDD_send_data0();
fRDD_send_data0();
fRDD_send_data0();
output_b(R[3]);
delay_us(300);
PORTB=0b00000000;
bit_clear(PORTA,2);
bit_set(PORTA,2);
}
//.......................
if(j==16){
fRDD_send_data1();
output_b(E1[3]);
delay_us(300);
PORTB=0b00000000;
bit_clear(PORTA,2);
bit_set(PORTA,2);
if(j==17){
fRDD_send_data1();
mandar_veces_1(1,y,z);//aqui debe ir lo del for para mandar los data 0
output_b(E1[2]);
delay_us(300);
PORTB=0b00000000;
bit_clear(PORTA,2);
bit_set(PORTA,2);
fRDD_send_data1();
fRDD_send_data0();
mandar_veces_1(j,y,z);//aqui debe ir lo del for para mandar los data 0
output_b(E1[3]);
delay_us(300);
PORTB=0b00000000;
bit_clear(PORTA,2);
bit_set(PORTA,2);
if(j==18){
fRDD_send_data1();
output_b(E1[1]);
delay_us(300);
PORTB=0b00000000;
bit_clear(PORTA,2);
bit_set(PORTA,2);
fRDD_send_data1();
fRDD_send_data0();
output_b(E1[2]);
delay_us(300);
PORTB=0b00000000;
bit_clear(PORTA,2);
bit_set(PORTA,2);
fRDD_send_data1();
fRDD_send_data0();
fRDD_send_data0();
output_b(E1[3]);
delay_us(300);
PORTB=0b00000000;
bit_clear(PORTA,2);
bit_set(PORTA,2);
if(j==19){
fRDD_send_data1();
output_b(E1[0]);
delay_us(300);
PORTB=0b00000000;
bit_clear(PORTA,2);
bit_set(PORTA,2);
fRDD_send_data1();
fRDD_send_data0();
output_b(E1[1]);
delay_us(300);
PORTB=0b00000000;
bit_clear(PORTA,2);
bit_set(PORTA,2);
fRDD_send_data1();
fRDD_send_data0();
fRDD_send_data0();
output_b(E1[2]);
delay_us(300);
PORTB=0b00000000;
bit_clear(PORTA,2);
bit_set(PORTA,2);
fRDD_send_data1();
fRDD_send_data0();
fRDD_send_data0();
fRDD_send_data0();
output_b(E1[3]);
delay_us(300);
PORTB=0b00000000;
bit_clear(PORTA,2);
bit_set(PORTA,2);
}
if(j==20){
fRDD_send_data1();
output_b(M[3]);
delay_us(300);
PORTB=0b00000000;
bit_clear(PORTA,2);
bit_set(PORTA,2);
if(j==21){
fRDD_send_data1();
mandar_veces_1(1,y,z);//aqui debe ir lo del for para mandar los data 0
output_b(M[2]);
delay_us(300);
PORTB=0b00000000;
bit_clear(PORTA,2);
bit_set(PORTA,2);
fRDD_send_data1();
fRDD_send_data0();
mandar_veces_1(j,y,z);//aqui debe ir lo del for para mandar los data 0
output_b(M[3]);
delay_us(300);
PORTB=0b00000000;
bit_clear(PORTA,2);
bit_set(PORTA,2);
if(j==22){
fRDD_send_data1();
output_b(M[1]);
delay_us(300);
PORTB=0b00000000;
bit_clear(PORTA,2);
bit_set(PORTA,2);
fRDD_send_data1();
fRDD_send_data0();
output_b(M[2]);
delay_us(300);
PORTB=0b00000000;
bit_clear(PORTA,2);
bit_set(PORTA,2);
fRDD_send_data1();
fRDD_send_data0();
fRDD_send_data0();
output_b(M[3]);
delay_us(300);
PORTB=0b00000000;
bit_clear(PORTA,2);
bit_set(PORTA,2);
if(j==23){
fRDD_send_data1();
output_b(M[0]);
delay_us(300);
PORTB=0b00000000;
bit_clear(PORTA,2);
bit_set(PORTA,2);
fRDD_send_data1();
fRDD_send_data0();
output_b(M[1]);
delay_us(300);
PORTB=0b00000000;
bit_clear(PORTA,2);
bit_set(PORTA,2);
fRDD_send_data1();
fRDD_send_data0();
fRDD_send_data0();
output_b(M[2]);
delay_us(300);
PORTB=0b00000000;
bit_clear(PORTA,2);
bit_set(PORTA,2);
fRDD_send_data1();
fRDD_send_data0();
fRDD_send_data0();
fRDD_send_data0();
output_b(M[3]);
delay_us(300);
PORTB=0b00000000;
bit_clear(PORTA,2);
bit_set(PORTA,2);
}
if(j==24){
fRDD_send_data1();
output_b(E[3]);
delay_us(300);
PORTB=0b00000000;
bit_clear(PORTA,2);
bit_set(PORTA,2);
if(j==25){
fRDD_send_data1();
mandar_veces_1(1,y,z);//aqui debe ir lo del for para mandar los data 0
output_b(E[2]);
delay_us(300);
PORTB=0b00000000;
bit_clear(PORTA,2);
bit_set(PORTA,2);
fRDD_send_data1();
fRDD_send_data0();
mandar_veces_1(j,y,z);//aqui debe ir lo del for para mandar los data 0
output_b(E[3]);
delay_us(300);
PORTB=0b00000000;
bit_clear(PORTA,2);
bit_set(PORTA,2);
if(j==26){
fRDD_send_data1();
output_b(E[1]);
delay_us(300);
PORTB=0b00000000;
bit_clear(PORTA,2);
bit_set(PORTA,2);
fRDD_send_data1();
fRDD_send_data0();
output_b(E[2]);
delay_us(300);
PORTB=0b00000000;
bit_clear(PORTA,2);
bit_set(PORTA,2);
fRDD_send_data1();
fRDD_send_data0();
fRDD_send_data0();
output_b(E[3]);
delay_us(300);
PORTB=0b00000000;
bit_clear(PORTA,2);
bit_set(PORTA,2);
if(j==27){
fRDD_send_data1();
output_b(E[0]);
delay_us(300);
PORTB=0b00000000;
bit_clear(PORTA,2);
bit_set(PORTA,2);
fRDD_send_data1();
fRDD_send_data0();
output_b(E[1]);
delay_us(300);
PORTB=0b00000000;
bit_clear(PORTA,2);
bit_set(PORTA,2);
fRDD_send_data1();
fRDD_send_data0();
fRDD_send_data0();
output_b(E[2]);
delay_us(300);
PORTB=0b00000000;
bit_clear(PORTA,2);
bit_set(PORTA,2);
fRDD_send_data1();
fRDD_send_data0();
fRDD_send_data0();
fRDD_send_data0();
output_b(E[3]);
delay_us(300);
PORTB=0b00000000;
bit_clear(PORTA,2);
bit_set(PORTA,2);
}
//................................................
delay_ms(5);
}//este termina el for de la i este es el que repite varias veces en su mismo lugar
delay_ms(5); //esto retrasara para k se pueda ver en distinto tiempo osea k se este moviendo
}//fin del else
}// termina el for de la j
}// termina el bucle de for
}// termina el main