Advertisement
Guest User

Untitled

a guest
Jul 27th, 2017
63
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 0.56 KB | None | 0 0
  1. #include <avr/io.h>
  2.  
  3. void shift(char data);
  4. char cnt = 0;
  5.  
  6. int main()
  7. {
  8.     DDRB = 0xFF;
  9.     PORTB = 0xFF;
  10.  
  11.     TCCR0B |= (1 << CS00) | (1 << CS02);
  12.  
  13.     for(;;)
  14.     {
  15.        
  16.         if (TCNT0 > 200)
  17.         {
  18.             cnt++;
  19.             shift(cnt);
  20.             TCNT0 = 0;
  21.         }
  22.         if (cnt > 254)
  23.         {
  24.             cnt = 0;
  25.         }
  26.    
  27.     }
  28. return 0;
  29. }
  30.  
  31.  
  32.  
  33. void shift(char data)
  34.     {
  35.         PORTB &= ~(1 << PB2);
  36.         for (int i = 0; i < (8); i++)
  37.         {  
  38.             PORTB &= ~(1 << PB1);
  39.             PORTB |= (((data&(0x01<<i))>>i) << PB0 );
  40.             PORTB |= (1 << PB1);
  41.             PORTB &= ~(((data&(0x01<<i))>>i) << PB0 );
  42.         }
  43.     PORTB |= (1 << PB2);
  44. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement