Advertisement
Guest User

Untitled

a guest
Jul 27th, 2017
43
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.07 KB | None | 0 0
  1. /**********************************************************
  2. Project : oma tekemä
  3. Hardware: PV-M32 + PV-LEDIT on PORTB ja on PORTA
  4. Software: WinAVR-20071221
  5. Date : 07.01.2008
  6. Author : pva
  7. Comments: bittien siirto vasemmalta oikealle
  8. ja oikealta vasemmalle
  9. **********************************************************/
  10. #include <avr/io.h>
  11. #include <util/delay.h>
  12. #define WAIT(time) for(uint16_t i=0;i<2000;i++)_delay_loop_2(time);
  13. int main(void)
  14. {
  15. DDRB = 0xFF;
  16. DDRD = 0xFF;
  17. uint8_t bitti = 0x80; // 1000 0000 bin
  18. PORTB = bitti;
  19.  
  20. while (1)
  21. {
  22. while(1) // oikealle
  23. {
  24. bitti = bitti >> 1; // siirretään bittejä 1 askel oikealle
  25. // tulos asetetaan bitti-muuttujan uudeksi arvoksi
  26. PORTB = bitti;
  27. WAIT(2);
  28. PORTD = bitti;
  29. WAIT(2);
  30. if(bitti==0)break; // kun nolla, hypätään silmukasta ulos
  31. }
  32. bitti = 0x01;
  33. PORTB = bitti;
  34. PORTD = bitti;
  35. WAIT(2);
  36.  
  37. while(1) // vasemmalle
  38. {
  39.  
  40. PORTD = 1<<bitti;
  41. WAIT(2);
  42. PORTB = 1<<bitti; // siirto vasemmalle
  43.  
  44.  
  45. WAIT(2);
  46. bitti++;
  47. if(bitti>8)break;
  48. }
  49. bitti = 1<<7;
  50. PORTB = bitti;
  51. PORTD = bitti;
  52.  
  53.  
  54. // aloitetaan alusta
  55. }
  56. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement