0% encontró este documento útil (0 votos)
43 vistas63 páginas

Codigo Emerson

Este documento describe el código para mostrar letras en un registro de desplazamiento. Define funciones para enviar unos y ceros al registro y mostrar las letras almacenadas en tablas mediante ciclos anidados.

Cargado por

Emerson Kleem
Derechos de autor
© Attribution Non-Commercial (BY-NC)
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como DOCX, PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
43 vistas63 páginas

Codigo Emerson

Este documento describe el código para mostrar letras en un registro de desplazamiento. Define funciones para enviar unos y ceros al registro y mostrar las letras almacenadas en tablas mediante ciclos anidados.

Cargado por

Emerson Kleem
Derechos de autor
© Attribution Non-Commercial (BY-NC)
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como DOCX, PDF, TXT o lee en línea desde Scribd

#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

También podría gustarte