C Program do 2 zbiorników LCD

Jak napisać program w C do 2 zbiorników LCD w C Programming Language ?


Solution:
  1. //---------------------- Początek deklaracji użytkownika --------------------------------
  2. int tim1,tim2;
  3. char stan1=1,stan2=5,stanLCD=1;
  4. int T1=30,T2=10,T3=150;
  5.         //-------------- Początek kodu użytkownika --------------------------------------
  6.                
  7.                 switch(stan1){
  8.                 case 1: Z1=1; if (X2){stan1=2;tim1=T1;}
  9.                 break;
  10.                 case 2: Z1=1; if (X1){stan1=4;}
  11.                                  else if (!X2){stan1=1;}
  12.                                  else if (!tim1){stan1=3;tim1=T2;}
  13.                 break;
  14.                 case 3: Z1=0; if(!X2){stan1=1;}
  15.                                  else if (!tim1){stan1=2;tim1=T1;}      
  16.                
  17.                 break;
  18.                 case 4: Z1=0; if(!X2){stan1=1;}
  19.                 break;
  20.                 }
  21.  
  22.                 switch(stan2){
  23.                 case 5: Z3=1;Z5=0;M=0; if (X7){stan2=6;tim2=T3;}
  24.                 break;
  25.                 case 6: Z3=1;Z5=0;M=0;if (X5||!tim2){stan2=7;tim2=50;}
  26.  
  27.                 break;
  28.                 case 7: Z3=0;Z5=0;M=1; if(!tim2){stan2=8;}     
  29.                
  30.                 break;
  31.                 case 8: Z3=0;Z5=1;M=0; if(!X7){stan2=1;}
  32.                 break;}
  33.  
  34.                 if (tim1) --tim1;
  35.                 if (tim2) --tim2;
  36.         //-------------- Wyświetlacz LCD --------------
  37.                 switch (stanLCD){
  38.                 case 1:LCD_xy(0,0);LCD_puts("Sterownik        "); if (aK1)stanLCD=2;break;
  39.                 case 2:LCD_xy(0,0);LCD_puts("Timer            ");
  40.                         sprintf(buf,"T1=%dT2=%dT3=%d",(int)T1,(int)T2,(int)T3);
  41.                            LCD_xy(0,1);LCD_puts(buf);
  42.                            if(aK1)stanLCD=3;
  43.                            else if (aK2) stanLCD=4;
  44.                            else if (aK3) stanLCD=5;
  45.                            break;
  46.                 case 3: LCD_xy(0,0);LCD_puts("T1                ");
  47.                                 sprintf(buf,"%d  - +                 ",(int)T1);
  48.                         LCD_xy(0,1);LCD_puts(buf);
  49.                         if(aK1)++T1;
  50.                         if(aK2)--T1;
  51.                         if(aK4) stanLCD=2;
  52.                         break;
  53.                 case 4: LCD_xy(0,0);LCD_puts("T2                    ");
  54.                                 sprintf(buf,"%d  - +              ",(int)T2);
  55.                         LCD_xy(0,1);LCD_puts(buf);
  56.                         if(aK1)++T2;
  57.                         if(aK2)--T2;
  58.                         if(aK4) stanLCD=2;
  59.                         break;
  60.                 case 5: LCD_xy(0,0);LCD_puts("T3                 ");
  61.                                 sprintf(buf,"%d  - +              ",(int)T3);
  62.                         LCD_xy(0,1);LCD_puts(buf);
  63.                         if(aK1)++T3;
  64.                         if(aK2)--T3;
  65.                         if(aK4) stanLCD=2;
  66.                         break;                                         
  67.                         }


Learn More :