ATtiny13A.asm 2.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105
  1. ; Автор: shilow@ukr.net
  2. ; Дата:
  3. ; Название:
  4. ; Версия:
  5. ; Имя файла:
  6. ; Для AVR: ATTiny13A
  7. ; Тактовая частота: 9.6/8 МГц, внутренняя
  8. ; Выполняемые функции:
  9. ;
  10. .listmac ; развернём макросы
  11. ;******************************
  12. ; инклуды
  13. .nolist
  14. .include "tn13Adef.inc"
  15. .list
  16. ;******************************
  17. ; опредления
  18. .def temp = r16 ; рабочая переменная
  19. .equ a = 0 ; sample
  20. ;******************************
  21. ; ячейки в СОЗУ
  22. .DSEG
  23. ;.ORG SRAM_START
  24. Sample: .byte 30
  25. ;******************************
  26. ; константы в EEPROM
  27. .ESEG
  28. smpl1: .DW 0x0000 ; sample 1
  29. smpl2: .DB 0x05 ; sample 2
  30. ;******************************
  31. ; память программ
  32. .CSEG
  33. .ORG 0
  34. ;******************************
  35. ; Таблица векторов прерываний
  36. rjmp RESET ; Reset Handler
  37. rjmp EXT_INT0 ; IRQ0 Handler
  38. rjmp PCINT ; PCINT0 Handler
  39. rjmp TIM0_OVF ; Timer0 Overflow Handler
  40. rjmp EE_RDY ; EEPROM Ready Handler
  41. rjmp ANA_COMP ; Analog Comparator Handler
  42. rjmp TIM0_COMPA ; Timer0 CompareA Handler
  43. rjmp TIM0_COMPB ; Timer0 CompareB Handler
  44. rjmp WATCHDOG ; Watchdog Interrupt Handler
  45. rjmp ADCC ; ADC Conversion Handler
  46. ;******************************
  47. ;;;;; Первичная инициализация
  48. RESET: ; Set Stack Pointer to top of RAM
  49. ldi temp,low(RAMEND)
  50. out SPL,temp
  51. ; выкл. аналог, компаратор
  52. ldi temp,1<<ACD
  53. out ACSR,temp
  54. ; Enable interrupts
  55. sei
  56. ;******************************
  57. ;;;;; Основная программа
  58. BEGIN:
  59. ;;;;
  60. rjmp BEGIN
  61. ;******************************
  62. ;;;;; Подпрограммы
  63. ;******************************
  64. ;;;;; Обработчики прерываний
  65. ; IRQ0 Handler
  66. EXT_INT0:
  67. reti
  68. ; PCINT0 Handler
  69. PCINT:
  70. reti
  71. ; Timer0 Overflow Handler
  72. TIM0_OVF:
  73. reti
  74. ; EEPROM Ready Handler
  75. EE_RDY:
  76. reti
  77. ; Analog Comparator Handler
  78. ANA_COMP:
  79. reti
  80. ; Timer0 CompareA Handler
  81. TIM0_COMPA:
  82. reti
  83. ; Timer0 CompareB Handler
  84. TIM0_COMPB:
  85. reti
  86. ; Watchdog Interrupt Handler
  87. WATCHDOG:
  88. reti
  89. ; ADC Conversion Handler
  90. ADCC:
  91. reti
  92. .exit