17
1#include <xc.h>
__PROG_CONFIG(1,0x3FE4);
__PROG_CONFIG(2,0x1EFF);
char v[10]={0x03, 0x9F, 0x25, 0x0D, 0x99, 0x49, 0x41, 0x1F, 0x01, 0x09};
unsigned char a=0,m=0, c1=0,c2=1,c3=2,c4=3;
void interrupt etti();
void init();
void main(void)
{
init();
while (1)
{
if(a>=20)
{
a=0;
if(m<6)
{
PORTA=v[c1++];
PORTB=v[c2++];
PORTC=v[c3++];
PORTD=v[c4++];
}
m++;
if(m>6)
{
PORTA=v[c1--];
PORTB=v[c2--];
PORTC=v[c3--];
PORTD=v[c4--];
}
if(m>11)
{
m=0;
}
}
}
}
void init()
{
OSCCON=0x73;
T1CON=0x11;
PEIE=1;
GIE=1;
TMR1IE=1;
TMR1H=0x3C;
TMR1L=0xAF;
TRISA=0x00;
ANSELA=0x00;
PORTA=0xFF;
TRISB=0x00;
ANSELB=0x00;
PORTB=0xFF;
TRISC=0x00;
PORTC=0xFF;
TRISD=0x00;
ANSELD=0x00;
PORTD=0xFF;
}
void interrupt etti()
{
if(TMR1IF)
{
TMR1IF=0;
TMR1H=0x3C;
TMR1L=0xAF;
a++;
}
}