Advertisement
Guest User

Untitled

a guest
Oct 13th, 2016
96
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1.  
  2. .set DDRB_o, 0x4
  3. .equ PORTB_o, 0x5
  4. PORTD_o = 0x0b
  5. DDRD_o = 0x0a
  6. OCR0A_o = 0x27
  7. TCCR0B_o  = 0x25
  8. TCCR0A_o = 0x24
  9.  
  10. .global main
  11.  
  12. waitabit:    ldi r19, 41        
  13. wait3:    ldi r18, 0xFF
  14. wait2:    ldi r17, 0xFF
  15. wait1:    subi r17, 0x01
  16.         brne wait1
  17.         subi r18, 0x01
  18.         brne wait2
  19.         subi r19, 0x01
  20.         brne wait3
  21. ret
  22.  
  23. main:           ldi r16, 0b01000010  
  24.                 out TCCR0A_o, r16 /* Es prepara OCR0A per comparar y el clock es posa en mode CTC */
  25.         ldi r16, 0b0000011
  26.         out TCCR0B_o, r16 /* Es divideix el clock per 64 */
  27.         ldi r16, 125
  28.         out OCR0A_o, r16  /* Es posa el comparador a 125 */
  29.         ldi r16, 0b01000000
  30.         out DDRD_o, r16  /* Es posa la pota 6 com input */
  31.         /* En total el clock a la pota 6 és: 16000000/64/125 = 2000 */
  32.        
  33. loop:    call waitabit
  34.             ldi r16, 0b00000000 /* No surt res per la pota 6 */
  35.             out DDRD_o, r16
  36.             call waitbait
  37. ldi r16, 0b01000000 /* Per la pota 6 surt un clock de 2000 */
  38. out DDRD_o, r16
  39.     rjmp loop
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement