Advertisement
pabloducato

WorkObiekt

Jun 1st, 2019
353
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 2.49 KB | None | 0 0
  1. #include "WorkObiekt.h" // Definicje zmiennych i prototypy funkcji SP841
  2. #include "SchematA.h"
  3. #include "Zadania.h"
  4.  
  5. //#include "Zadania.h" // Zadania użytkownika
  6. void inicjuj(void) // Inicjowanie programu (jednorazowo przy starcie)
  7. {
  8. }
  9. void oblicz(void) // Kod użytkownika - wykonywany co wCykl [ms]
  10. {   // Stan diody LED = Stan klawisza
  11.     L1 = aK1; L2 = aK2; L3 = aK3; L4 = aK4; L5 = aK5; L6 = aK6;
  12.     Zbiornik(); //wywołanie funkcji sterowania 3 zbiornikami
  13.     //sterowanie wyświetlaczem LCD
  14.     switch (mode_4) {
  15.     case 1:
  16.         sprintf(buf, "ACTUAL MODE:  %d", (int)mode); //wypis tekstu na ekran LCD
  17.         LCD_xy(1, 1);
  18.         LCD_puts(buf);
  19.         LCD_xy(1, 2);
  20.         if (mode == 0) LCD_puts("___AUTOMATIC___"); //wypis tekstu na ekran LCD
  21.         else LCD_puts("___MANUAL___"); //wypis tekstu na ekran LCD
  22.         if (aK1&&mode == 1)
  23.         {
  24.             mode_4 = 2;
  25.             tim4 = 2 * SEC;
  26.             i = 0;
  27.         }
  28.         if (aK2)
  29.         {
  30.             mode_4 = 3;
  31.             tim4 = 2 * SEC;
  32.             zmienna = mode;
  33.         }
  34.         break;
  35.     case 2:
  36.         LCD_xy(1, 1);
  37.         LCD_puts(buf2); //wypis tekstu na ekran LCD
  38.         sprintf(buf, "TIME[%d]= %.2f  ", (int)i, (float)((float)TimManual[i] / 250));
  39.         LCD_xy(1, 2);
  40.         LCD_puts(buf);
  41.         if (aK1 && !tim4)
  42.         {
  43.             mode_4 = 1;
  44.             Change();
  45.         }
  46.         if (aK2&&TimManual[i] > BottomLimiter[i]) TimManual[i] -= 125; //zmiana wartości timera co 0.5
  47.         if (aK3&&TimManual[i] < TopLimiter[i]) TimManual[i] += 125; //zmiana wartości timera co 0.5
  48.         if (aK4&&i > 0) i--; //zmiana timera, który chcemy ustawić
  49.         if (aK5&&i < 4) i++; //zmiana timera, który chcemy ustawić
  50.         break;
  51.     case 3:
  52.         sprintf(buf, "CHANGE MODE:  %d", (int)zmienna); //wypis tekstu na ekran LCD
  53.         LCD_xy(1, 1);
  54.         LCD_puts(buf);
  55.         sprintf(buf, "ACTUAL MODE:  %d", (int)mode); //wypis tekstu na ekran LCD
  56.         LCD_xy(1, 2);
  57.         LCD_puts(buf);
  58.         if (aK1 && !tim4)mode_4 = 1;
  59.         if (aK2 && !tim4)
  60.         {
  61.             mode_4 = 1;
  62.             mode = zmienna;
  63.             Change();
  64.         }
  65.         if (aK3&&zmienna > 0) zmienna--; //zmiana
  66.         if (aK4&&zmienna < 1) zmienna++; //zmiana
  67.         break;
  68.     }
  69.     //generowanie opisów czasów
  70.     switch (i)
  71.     {
  72.     case 0: sprintf(buf2, "CHANGE TIME - 0"); break;
  73.     case 1: sprintf(buf2, "CHANGE TIME - 1"); break;
  74.     case 2: sprintf(buf2, "CHANGE TIME - 2"); break;
  75.     case 3: sprintf(buf2, "CHANGE TIME - 3"); break;
  76.     case 4: sprintf(buf2, "CHANGE TIME - 4"); break;
  77.     }
  78. }
  79. void int_T0(void) // Przerwanie od T0/T1/T2 wywoływane tIntr [ms]
  80. {
  81.     if (tim1) --tim1;
  82.     if (tim2) --tim2;
  83.     if (tim3) --tim3;
  84.     if (tim4) --tim4;
  85. }
  86. void WykresyPC() // Opisy/wartości wykresów i zmiennych pomocniczych
  87. {
  88. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement