ATtiny24a.asm 2.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136
  1. ; Автор: shilow@ukr.net
  2. ; Дата:
  3. ; Название:
  4. ; Версия:
  5. ; Имя файла:
  6. ; Для AVR: ATtiny24A
  7. ; Тактовая частота:
  8. ; Выполняемые функции:
  9. ;
  10. ; Шаблон для ATtiny24A
  11. ;
  12. .listmac ; развернём макросы
  13. ;******************************
  14. ; инклуды
  15. .nolist
  16. .include "tn24Adef.inc"
  17. .list
  18. ;******************************
  19. ; опредления
  20. .def temp = r16 ; рабочая переменная
  21. ;******************************
  22. ; константы
  23. .equ a = 0 ; sample
  24. ;******************************
  25. ; ячейки в СОЗУ
  26. .DSEG
  27. ;.ORG SRAM_START
  28. Sample: .byte 30
  29. ;******************************
  30. ; константы в EEPROM
  31. .ESEG
  32. smpl1: .DW 0x0000 ; sample 1
  33. smpl2: .DB 0x05 ; sample 2
  34. ;******************************
  35. ; память программ
  36. .CSEG
  37. .ORG 0
  38. ;******************************
  39. ; Таблица векторов прерываний
  40. rjmp RESET ; Reset Handler
  41. rjmp INT0 ; IRQ0 Handler
  42. rjmp PCINT0 ; PCINT0 Handler
  43. rjmp PCINT1 ; PCINT1 Handler
  44. rjmp WDT ; Watchdog Interrupt Handler
  45. rjmp TIM1_CAPT ; Timer1 Capture Handler
  46. rjmp TIM1_COMPA ; Timer1 Compare A Handler
  47. rjmp TIM1_COMPB ; Timer1 Compare B Handler
  48. rjmp TIM1_OVF ; Timer1 Overflow Handler
  49. rjmp TIM0_COMPA ; Timer0 Compare A Handler
  50. rjmp TIM0_COMPB ; Timer0 Compare B Handler
  51. rjmp TIM0_OVF ; Timer0 Overflow Handler
  52. rjmp ANA_COMP ; Analog Comparator Handler
  53. rjmp ADCC ; ADC Conversion Handler
  54. rjmp EE_RDY ; EEPROM Ready Handler
  55. rjmp USI_STR ; USI STart Handler
  56. rjmp USI_OVF ; USI Overflow Handler
  57. ;******************************
  58. ;;;;; Первичная инициализация
  59. RESET: ldi r16,high(RAMEND); Main program start
  60. out SPH,r16 ; Set Stack Pointer to top of RAM
  61. ldi r16,low(RAMEND)
  62. out SPL,r16
  63. ; выкл. аналог, компаратор
  64. ldi temp,1<<ACD
  65. out ACSR,temp
  66. ; Enable interrupts
  67. sei
  68. ;******************************
  69. ;;;;; Основная программа
  70. BEGIN:
  71. ;;;;
  72. rjmp BEGIN
  73. ;******************************
  74. ;;;;; Подпрограммы
  75. ;******************************
  76. ;;;;; Обработчики прерываний
  77. INT0: ; IRQ0 Handler
  78. reti
  79. PCINT0: ; PCINT0 Handler
  80. reti
  81. PCINT1: ; PCINT1 Handler
  82. reti
  83. WDT: ; Watchdog Interrupt Handler
  84. reti
  85. TIM1_CAPT: ; Timer1 Capture Handler
  86. reti
  87. TIM1_COMPA: ; Timer1 Compare A Handler
  88. reti
  89. TIM1_COMPB: ; Timer1 Compare B Handler
  90. reti
  91. TIM1_OVF: ; Timer1 Overflow Handler
  92. reti
  93. TIM0_COMPA: ; Timer0 Compare A Handler
  94. reti
  95. TIM0_COMPB: ; Timer0 Compare B Handler
  96. reti
  97. TIM0_OVF: ; Timer0 Overflow Handler
  98. reti
  99. ANA_COMP: ; Analog Comparator Handler
  100. reti
  101. ADCC: ; ADC Conversion Handler
  102. reti
  103. EE_RDY: ; EEPROM Ready Handler
  104. reti
  105. USI_STR: ; USI STart Handler
  106. reti
  107. USI_OVF: ; USI Overflow Handler
  108. reti
  109. ;
  110. .exit