#include<p18f452.h>
#include<delays.h>
unsigned char apuntador=0;
unsigned char letras[231]={0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x08,0x08,0x2A,0x1C,0x08,0x00,0x7E,0x09,0x09,0x09,0x7E,0x00,0x3E,0x04,0x08,0x3E,0x00,0x3E,0x22,0x1C,0x00,0x3E,0x0A,0x36,0x00,0x3E,0x2A,0x22,0x00,0x2E,0x2A,0x3A,0x00,0x00,0x3E,0x41,0x41,0x41,0x41,0x00,0x3C,0x0A,0x0A,0x3C,0x00,0x3E,0x04,0x08,0x04,0x3E,0x00,0x22,0x3E,0x22,0x00,0x3E,0x20,0x20,0x00,0x1C,0x22,0x22,0x1C,0x00,0x00,0x21,0x41,0x3F,0x01,0x01,0x1C,0x22,0x22,0x1C,0x00,0x3E,0x0A,0x34,0x00,0x3C,0x0A,0x0A,0x3C,0x00,0x3E,0x04,0x08,0x04,0x3E,0x00,0x00,0x7F,0x09,0x19,0x29,0x46,0x00,0x3C,0x0A,0x0A,0x3C,0x00,0x3E,0x04,0x08,0x04,0x3E,0x00,0x22,0x3E,0x22,0x00,0x3E,0x0A,0x34,0x00,0x3E,0x2A,0x22,0x00,0x32,0x2A,0x26,0x00,0x00,0x3F,0x02,0x04,0x02,0x3F,0x00,0x3E,0x2A,0x22,0x00,0x3E,0x0A,0x34,0x00,0x1C,0x22,0x22,0x00,0x3E,0x08,0x3E,0x00,0x3C,0x0A,0x0A,0x3C,0x00,0x3E,0x04,0x08,0x3E,0x00,0x00,0x22,0x26,0x1A,0x00,0x22,0x12,0x0E,0x00,0x0E,0x08,0x3E,0x00,0x22,0x26,0x1A,0x00,0x34,0x2A,0x24};
unsigned char rotar[8]={0xFE,0xFD,0xFB,0xF7,0xEF,0xDF,0xBF,0x7F};
int t,a=0,c=0,d=0,e=0,ti=0,barrido=0;
void subrutina()
{
PORTB=letras[apuntador];
apuntador++;
if(barrido==200)
{
barrido=0;
apuntador=0;
}
}
void main (void)
{
ADCON1=0x07;
TRISA=0x00;
TRISB=0x00;
TRISC=0x00;
TRISD=0x00;
TRISE=0x00;
while(1)
{
t=2;
PORTB=0xFF;
while(a<6)
{
subrutina();
PORTA=rotar[a];
Delay1KTCYx(t);
PORTA=0xFF;
a++;
PORTC=0xFF;
PORTD=0xFF;
PORTE=0xFF;
}
while(c<8)
{
subrutina();
PORTC=rotar[c];
Delay1KTCYx(t);
PORTC=0xFF;
c++;
PORTA=0xFF;
PORTD=0xFF;
PORTE=0xFF;
}
while(d<8)
{
subrutina();
PORTD=rotar[d];
Delay1KTCYx(t);
PORTD=0xFF;
d++;
PORTC=0xFF;
PORTA=0xFF;
PORTE=0xFF;
}
while(e<3)
{
subrutina();
PORTE=rotar[e];
Delay1KTCYx(t);
PORTE=0xFF;
e++;
PORTC=0xFF;
PORTD=0xFF;
PORTA=0xFF;
}
a=0;
c=0;
d=0;
e=0;
apuntador=apuntador-24;
barrido++;
}
}