 


Piny na PIC 18F452-I/P   jsou obsazené:

RA0 – světelný okruh č.1
RA1 – 2
RA2 – 3
RA3 – 4	

RE0 – 5
RE1 – 6
RE2 – 7

RC0 – 8
RC1 – 9
RC2 – 10
RC3 – 11 	

RD0 – 12
RD2 – 13
RD3 – 14

ostatní podle schématu dříve nakresleného.


Program pro postupné zapínání a vypínání (svítí vždy jen jeden okruh) s náročnějším finále:




void main()
{
unsigned char Pattern, J = 0;
unsigned char *text;

TRISC = 0; // PORTC outputs
TRISA = 0;
TRISE = 0;
TRISB = 1; // RB0 input
PORTC = 0; 
PORTD = 0;                      
PORTA = 0;
PORTE = 0;
TRISD = 0;

for(;;) // Endless loop
  {
  
    

//Tlačítko na RB0
// STISK 1
     if(Button(&PORTB, 0, 1, 0) && J==0) // Is switch pressed ?
    {  Delay_ms(200); PORTA = 1; PORTE = 0; PORTC = 0 ; PORTD = 0; Delay_ms(200);
          J=1;
              };

// STISK 2
       if(Button(&PORTB, 0, 1, 0) && J==1)
     {Delay_ms(200); PORTA = 2; PORTE = 0; PORTC = 0 ; PORTD = 0; Delay_ms(200);
           J=2;
              };

  // STISK 3
  
     if(Button(&PORTB, 0, 1, 0) && J==2) // Is switch pressed ?
    {Delay_ms(200);  PORTA = 4; PORTE = 0; PORTC = 0 ; PORTD = 0; Delay_ms(200);
          J=3;
              };

 // STISK 4
       if(Button(&PORTB, 0, 1, 0) && J==3)
     {Delay_ms(200);  PORTA = 8; PORTE = 0; PORTC = 0 ; PORTD = 0; Delay_ms(200);
           J=4;
              };

// STISK 5
     if(Button(&PORTB, 0, 1, 0) && J==4) // Is switch pressed ?
    { Delay_ms(200);  PORTA = 0; PORTE = 1; PORTC = 0 ; PORTD = 0; Delay_ms(200);
           J=5;
              };

// STISK 6
     if(Button(&PORTB, 0, 1, 0) && J==5)
    { Delay_ms(200); PORTA = 0; PORTE = 2; PORTC = 0 ; PORTD = 0; Delay_ms(200);
          J=6;
              };

// STISK 7
      if(Button(&PORTB, 0, 1, 0) && J==6)
    { Delay_ms(200); PORTA = 0; PORTE = 4; PORTC = 0 ; PORTD = 0; Delay_ms(200);
           J=7;
              };
              
// STISK 8
     if(Button(&PORTB, 0, 1, 0) && J==7)
    {Delay_ms(200); PORTA = 0; PORTE = 0; PORTC = 1 ; PORTD = 0; Delay_ms(200);
           J=8;
              };

// STISK 9
     if(Button(&PORTB, 0, 1, 0) && J==8)
    { Delay_ms(200); PORTA = 0; PORTE = 0; PORTC = 2 ; PORTD = 0; Delay_ms(200);
           J=9;
              };
// STISK 10
      if(Button(&PORTB, 0, 1, 0) && J==9)
    { Delay_ms(200); PORTA = 0; PORTE = 0; PORTC = 4 ; PORTD = 0; Delay_ms(200);
           J=10;
              };
// STISK 11
      if(Button(&PORTB, 0, 1, 0) && J==10)
    { Delay_ms(200); PORTA = 0; PORTE = 0; PORTC = 8 ; PORTD = 0; Delay_ms(200);
           J=11;
           };
// STISK 12
      if(Button(&PORTB, 0, 1, 0) && J==11)
    { Delay_ms(200); PORTA = 0; PORTE = 0; PORTC = 0 ; PORTD = 1; Delay_ms(200);
           J=12;
             };
// STISK 13
      if(Button(&PORTB, 0, 1, 0) && J==12)
    { Delay_ms(200); PORTA = 0; PORTE = 0; PORTC = 0 ; PORTD = 4; Delay_ms(200);
           J=13;
              };

// STISK 14
      if(Button(&PORTB, 0, 1, 0) && J==13)
    { Delay_ms(200); PORTA = 0; PORTE = 0; PORTC = 0 ; PORTD = 8; Delay_ms(200);
           J=14;
              };

 // STISK 15
      if(Button(&PORTB, 0, 1, 0) && J==14)
    { Delay_ms(200);
                 PORTA = 0; PORTE = 0; PORTC = 2; PORTD = 0;  Delay_ms(350);
                 PORTA = 0; PORTE = 0; PORTC = 6; PORTD = 0;  Delay_ms(350);
                 PORTA = 0; PORTE = 0; PORTC = 14; PORTD = 0;  Delay_ms(350);
                 PORTA = 0; PORTE = 0; PORTC = 12; PORTD = 1;  Delay_ms(350);
                 PORTA = 0; PORTE = 0; PORTC = 8; PORTD = 4;  Delay_ms(350);
                 PORTA = 0; PORTE = 0; PORTC = 0; PORTD = 13;  Delay_ms(350);
                 PORTA = 0; PORTE = 0; PORTC = 0; PORTD = 12;  Delay_ms(400);
                 PORTA = 0; PORTE = 0; PORTC = 0; PORTD = 0;  Delay_ms(700);

                 PORTA = 0; PORTE = 2; PORTC = 0; PORTD = 0;  Delay_ms(350);
                 PORTA = 8; PORTE = 2; PORTC = 0; PORTD = 0;  Delay_ms(350);
                 PORTA = 12; PORTE = 2; PORTC = 0; PORTD = 0;  Delay_ms(350);
                 PORTA = 12; PORTE = 0; PORTC = 0; PORTD = 0;  Delay_ms(350);
                 PORTA = 4; PORTE = 0; PORTC = 0; PORTD = 0;  Delay_ms(400);
                 PORTA = 0; PORTE = 0; PORTC = 0; PORTD = 0;  Delay_ms(700);

                 PORTA = 0; PORTE = 0; PORTC = 1; PORTD = 0;  Delay_ms(350);
                 PORTA = 0; PORTE = 4; PORTC = 0; PORTD = 0;  Delay_ms(350);
                 PORTA = 0; PORTE = 0; PORTC = 1; PORTD = 0;  Delay_ms(350);
                 PORTA = 0; PORTE = 4; PORTC = 2; PORTD = 0;  Delay_ms(350);
                 PORTA = 0; PORTE = 0; PORTC = 7; PORTD = 0;  Delay_ms(350);
                 PORTA = 0; PORTE = 0; PORTC = 14; PORTD = 0;  Delay_ms(350);
                 PORTA = 1; PORTE = 0; PORTC = 12; PORTD = 0;  Delay_ms(350);
                 PORTA = 1; PORTE = 0; PORTC = 8; PORTD = 0;  Delay_ms(350);
                 PORTA = 1; PORTE = 0; PORTC = 0; PORTD = 0;  Delay_ms(400);
                 PORTA = 0; PORTE = 0; PORTC = 0; PORTD = 0;  Delay_ms(700);

                 PORTA = 4; PORTE = 0; PORTC = 0; PORTD = 0;  Delay_ms(350);
                 PORTA = 6; PORTE = 0; PORTC = 0; PORTD = 0;  Delay_ms(350);
                 PORTA = 6; PORTE = 0; PORTC = 8; PORTD = 0;  Delay_ms(350);
                 PORTA = 4; PORTE = 2; PORTC = 8; PORTD = 0;  Delay_ms(350);
                 PORTA = 0; PORTE = 2; PORTC = 8; PORTD = 0;  Delay_ms(350);
                 PORTA = 0; PORTE = 2; PORTC = 0; PORTD = 0;  Delay_ms(400);
                 PORTA = 0; PORTE = 0; PORTC = 0; PORTD = 0;  Delay_ms(700);

                 PORTA = 1; PORTE = 0; PORTC = 0; PORTD = 0;  Delay_ms(350);
                 PORTA = 3; PORTE = 0; PORTC = 0; PORTD = 0;  Delay_ms(350);
                 PORTA = 7; PORTE = 0; PORTC = 0; PORTD = 0;  Delay_ms(350);
                 PORTA = 14; PORTE = 0; PORTC = 0; PORTD = 0;  Delay_ms(350);
                 PORTA = 12; PORTE = 2; PORTC = 0; PORTD = 0;  Delay_ms(350);
                 PORTA = 8; PORTE = 6; PORTC = 0; PORTD = 0;  Delay_ms(350);
                 PORTA = 0; PORTE = 2; PORTC = 3; PORTD = 0;  Delay_ms(350);
                 PORTA = 0; PORTE = 4; PORTC = 6; PORTD = 0;  Delay_ms(350);
                 PORTA = 0; PORTE = 0; PORTC = 6; PORTD = 1;  Delay_ms(350);
                 PORTA = 0; PORTE = 0; PORTC = 4; PORTD = 12;  Delay_ms(350);
                 PORTA = 0; PORTE = 2; PORTC = 0; PORTD = 9;  Delay_ms(350);
                 PORTA = 8; PORTE = 2; PORTC = 0; PORTD = 8;  Delay_ms(350);
                 PORTA = 12; PORTE = 2; PORTC = 0; PORTD = 0;  Delay_ms(350);
                 PORTA = 14; PORTE = 0; PORTC = 0; PORTD = 0;  Delay_ms(350);
                 PORTA = 7; PORTE = 0; PORTC = 0; PORTD = 0;  Delay_ms(350);
                 PORTA = 3; PORTE = 0; PORTC = 0; PORTD = 0;  Delay_ms(350);
                 PORTA = 1; PORTE = 0; PORTC = 0; PORTD = 0;  Delay_ms(350);
                 PORTA = 7; PORTE = 0; PORTC = 2; PORTD = 0;  Delay_ms(350);
                 PORTA = 0; PORTE = 2; PORTC = 0; PORTD = 0;  Delay_ms(350);
                 PORTA = 7; PORTE = 0; PORTC = 2; PORTD = 0;  Delay_ms(350);
                 PORTA = 0; PORTE = 2; PORTC = 0; PORTD = 0;  Delay_ms(350);
                 PORTA = 7; PORTE = 0; PORTC = 2; PORTD = 0;  Delay_ms(5000);
                 PORTA = 0; PORTE = 0; PORTC = 0; PORTD = 0;  Delay_ms(200);

           J=15;
              };

        };
 }
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   


