Advertisement
Guest User

Untitled

a guest
Sep 28th, 2016
87
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.83 KB | None | 0 0
  1. #define CLOCK_MHZ 16UL
  2. #define DELAY_LENGTH_MS 1000UL
  3. #define DELAY_VALUE (uint32_t)((CLOCK_MHZ * 1000UL * DELAY_LENGTH_MS) / 5UL)
  4.  
  5. void setup() {
  6. asm volatile (
  7. "sbi %0, %1 \n" //pinMode(13, OUTPUT);
  8. : : "I" (_SFR_IO_ADDR(DDRB)), "I" (DDB5)
  9. );
  10. }
  11.  
  12. void loop() {
  13. asm volatile (
  14. "mov r18, %D2 \n" //delay
  15. "mov r20, %C2 \n"
  16. "mov r21, %B2 \n"
  17.  
  18. "sbi %0, %1 \n" //liga led
  19.  
  20. "1: \n" //delay 1 segundo
  21. "subi %A2, 1 \n"
  22. "sbci %B2, 0 \n"
  23. "sbci %C2, 0 \n"
  24. "brcc 1b \n"
  25.  
  26. "cbi %0, %1 \n" //desliga led
  27.  
  28. "2: \n" //delay 1 segundo
  29. "subi r18, 1 \n"
  30. "sbci r19, 0 \n"
  31. "sbci r20, 0 \n"
  32. "brcc 2b \n"
  33.  
  34. : : "I" (_SFR_IO_ADDR(PORTB)), "I" (PORTB5), "r" (DELAY_VALUE) : "r18", "r19", "r20"
  35. );
  36. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement