Advertisement
Guest User

Untitled

a guest
Oct 7th, 2015
85
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.10 KB | None | 0 0
  1. ; ******************************************************
  2. ; BASIC .ASM template file for AVR
  3. ; ******************************************************
  4.  
  5. .include "D:\EEET22~1\TEACHI~1\Tools\VMLab\include\m32def.inc"
  6. .DEF TEMP = R16 ;GENERAL PURPOSE ACCUMULATOR
  7. .ORG $0000 ;STARTUP VECTOR
  8.  
  9. .ORG $0006 ;COMPARE MATCH VECTOR
  10. .CSEG
  11.  
  12. ;------ Reset and interrupt vectors ------------------------------
  13. ;
  14. .ORG 0x00
  15. START:
  16. rjmp RESET ; Reset vector
  17. reti
  18. reti
  19. reti
  20. reti
  21. reti
  22. reti
  23. reti
  24. reti
  25. reti
  26. reti
  27. reti
  28. reti
  29. reti
  30. reti
  31. RESET:
  32. clr R0 ; use as zero value
  33. ldi TEMP, low(RAMEND) ; Init stack pointer
  34. out SPL, TEMP ; RAMEND defined in M32DEF.INC
  35. ldi TEMP, high(RAMEND)
  36. out SPH, TEMP
  37.  
  38. ON_RESET:
  39.  
  40. LDI TEMP, 0xFF
  41. OUT DDRB, TEMP
  42. LDI TEMP,0b01001011 ;PWM MODE 3
  43. OUT TCCR0, TEMP
  44. LDI TEMP,0b00000010 ;ENABLE COMPARE INTERUPT
  45. OUT TIMSK,TEMP
  46. LDI TEMP, 0xFF
  47. OUT OCR0,TEMP
  48.  
  49. SEI ;ENABLE INTERUPTS GLOBALLY
  50.  
  51. MAIN_LOOP:
  52. RJMP MAIN_LOOP;TEMP DO-NOTHING LOOP
  53.  
  54. TIM0_COMPA:
  55. IN TEMP,OCR0
  56. DEC TEMP
  57. OUT OCR0,TEMP
  58. RETI
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement