Advertisement
Guest User

Untitled

a guest
May 19th, 2019
86
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 1.30 KB | None | 0 0
  1. #include <reg515.sfr>
  2. #include <lcd.h>
  3. unsigned char x;
  4. unsigned int var = 50, delta;
  5. void opoznienie(int x) {
  6.     int j;
  7.     for (j = 1; j < x; j++);
  8. }
  9. int main() {
  10.     init();
  11.     T2R1 = 1;
  12.     T2I0 = 1;
  13.     CRCH = 0xFF;
  14.     CRCL = 0x00;
  15.     CCH1 = 0xFF;
  16.     CCL1 = var; // odpowiedź regulatora inicjowana początkową wartością prędkości
  17.     CCEN = 8;
  18.     CLK = 1;
  19.     P3_5 = 0;
  20.     while (1) {
  21.         int a, b;
  22.         x = get_char();
  23.         if (x == 'g') {         // spr. czy wciśnięto strzałkę w górę
  24.             if (var < 250)              // spr. czy wartość prędkości jest mniejsza od max. dopuszczalnej
  25.                 CCL1 = ++var;           // jeśli, to zwiekszenie odpowiedzi regulatora
  26.             put_instr(0x02);
  27.             delta = CCL1 * 100 / 255;           // wyliczanie wspołczynnika wypełnienia
  28.             a = delta / 10;         // wyłuskanie wartości dziesiątnych
  29.             b = delta % 10;         // wyłuskanie wartości jedności
  30.             put_char(a + 48);
  31.             put_char(b + 48);
  32.             opoznienie(2000);
  33.         }
  34.         if (x == 'd') {         // spr. czy wciśnięto strzałkę w dół
  35.             if (var > 0)                // spr. czy wartość prędkości jest większa od 0
  36.                 CCL1 = --var;           // jeśli, to zmniejszenie odpowiedzi regulatora
  37.             put_instr(0x02);
  38.             delta = CCL1 * 100 / 255;
  39.             a = delta / 10;
  40.             b = delta % 10;
  41.             opoznienie(2000);
  42.             put_char(a + 48);
  43.             put_char(b + 48);
  44.         }
  45.     }
  46.     opoznienie(2000);
  47.     return 0;
  48. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement