17

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++; 

  }

 }

Report Page