ATmega8535.asm 3.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151
  1. ; Автор: shilow@ukr.net
  2. ; Дата:
  3. ; Название:
  4. ; Версия:
  5. ; Имя файла:
  6. ; Для AVR: ATmega8535
  7. ; Тактовая частота:
  8. ; Выполняемые функции:
  9. ;
  10. ;
  11. ;******************************
  12. .listmac ; развернём макросы
  13. ; инклуды
  14. .nolist
  15. .include "m8535def.inc"
  16. .list
  17. ;******************************
  18. ; опредления
  19. .def temp = r16 ; рабочая переменная
  20. ;******************************
  21. ; константы
  22. .equ a = 0 ; sample
  23. ;******************************
  24. ; ячейки в СОЗУ
  25. .DSEG
  26. ;.ORG SRAM_START
  27. Sample: .byte 30
  28. ;******************************
  29. ; константы в EEPROM
  30. .ESEG
  31. smpl1: .DW 0x0000 ; sample 1
  32. smpl2: .DB 0x05 ; sample 2
  33. ;******************************
  34. ; память программ
  35. .CSEG
  36. .ORG 0
  37. ;******************************
  38. ; Таблица векторов прерываний
  39. rjmp RESET ; Reset Handler
  40. rjmp EXT_INT0 ; IRQ0 Handler
  41. rjmp EXT_INT1 ; IRQ1 Handler
  42. rjmp TIM2_COMP ; Timer2 Compare Handler
  43. rjmp TIM2_OVF ; Timer2 Overflow Handler
  44. rjmp TIM1_CAPT ; Timer1 Capture Handler
  45. rjmp TIM1_COMPA ; Timer1 Compare A Handler
  46. rjmp TIM1_COMPB ; Timer1 Compare B Handler
  47. rjmp TIM1_OVF ; Timer1 Overflow Handler
  48. rjmp TIM0_OVF ; Timer0 Overflow Handler
  49. rjmp SPI_STC ; SPI Transfer Complete Handler
  50. rjmp USART_RXC ; USART RX Complete Handler
  51. rjmp USART_UDRE ; UDR Empty Handler
  52. rjmp USART_TXC ; USART TX Complete Handler
  53. rjmp ADCC ; ADC Conversion Complete Handler
  54. rjmp EE_RDY ; EEPROM Ready Handler
  55. rjmp ANA_COMP ; Analog Comparator Handler
  56. rjmp TWSI ; Two-wire Serial Interface Handler
  57. rjmp EXT_INT2 ; IRQ2 Handler
  58. rjmp TIM0_COMP ; Timer0 Compare Handler
  59. rjmp SPM_RDY ; Store Program Memory Ready Handler
  60. ;******************************
  61. ;;;;; Первичная инициализация
  62. RESET:
  63. ; Set Stack Pointer to top of RAM
  64. ldi temp,high(RAMEND)
  65. out SPH,temp
  66. ldi temp,low(RAMEND)
  67. out SPL,temp
  68. ; выкл. аналог, компаратор
  69. ldi temp,1<<ACD
  70. out ACSR,temp
  71. ; Enable interrupts
  72. sei
  73. ;******************************
  74. ;;;;; Основная программа
  75. BEGIN:
  76. rjmp BEGIN
  77. ;******************************
  78. ;;;;; Подпрограммы
  79. ;******************************
  80. ;;;;; Обработчики прерываний
  81. EXT_INT0: ; IRQ0 Handler
  82. reti
  83. EXT_INT1: ; IRQ1 Handler
  84. reti
  85. TIM2_COMP: ; Timer2 Compare Handler
  86. reti
  87. TIM2_OVF: ; Timer2 Overflow Handler
  88. reti
  89. TIM1_CAPT: ; Timer1 Capture Handler
  90. reti
  91. TIM1_COMPA: ; Timer1 Compare A Handler
  92. reti
  93. TIM1_COMPB: ; Timer1 Compare B Handler
  94. reti
  95. TIM1_OVF: ; Timer1 Overflow Handler
  96. reti
  97. TIM0_OVF: ; Timer0 Overflow Handler
  98. reti
  99. SPI_STC: ; SPI Transfer Complete Handler
  100. reti
  101. USART_RXC: ; USART RX Complete Handler
  102. reti
  103. USART_UDRE: ; UDR Empty Handler
  104. reti
  105. USART_TXC: ; USART TX Complete Handler
  106. reti
  107. ADCC: ; ADC Conversion Complete Handler
  108. reti
  109. EE_RDY: ; EEPROM Ready Handler
  110. reti
  111. ANA_COMP: ; Analog Comparator Handler
  112. reti
  113. TWSI: ; Two-wire Serial Interface Handler
  114. reti
  115. EXT_INT2: ; IRQ2 Handler
  116. reti
  117. TIM0_COMP: ; Timer0 Compare Handler
  118. reti
  119. SPM_RDY: ; Store Program Memory Ready Handler
  120. reti
  121. .exit