Advertisement
elektronek

Mirda se učí LEDky na AVR

Sep 26th, 2019
298
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 0.84 KB | None | 0 0
  1. /*
  2.  * Mirda-M32A-Led1.c
  3.  *
  4.  * Created: 26. 9. 2019 23:16:37
  5.  * Author : martin
  6.  */
  7.  
  8. #define F_CPU 8000000ul
  9. #include <avr/io.h>
  10. #include <util/delay.h>
  11.  
  12. uint16_t cislo=1;   // Cislo posilame na port 0 - 255 ale m8me vetsi skry plne rozsviceni
  13. uint8_t smer=0;     // 0 doprava 1 doleva
  14.  
  15. int main(void)
  16. {
  17.     DDRD  = 0xff;   // Na port d vsechny vystupy
  18.     PORTD = 0xff;   // Na port d 11111111 - zhasneme vse
  19.  
  20.     while (1)
  21.     {
  22.         PORTD ^= cislo; // Na port davame bitove prevracenou hodnotu
  23.  
  24.         _delay_ms(200);
  25.  
  26.         if (smer==0) cislo=(cislo<<1);  // Pokud smer doleva, rotujeme smerem doleva
  27.                 else cislo=(cislo>>1);  // Pokud smer doprava, rotujeme smerem doprava
  28.  
  29.         if (cislo==256) smer=1;         // Pokud dosahneme maxima, zmenime smer
  30.         if (cislo==0) {smer=0; cislo=1;} // Pokud dosahneme minima nastavime bit 1 a zmenime smer
  31.     }
  32. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement