0 / 0 / 0
Регистрация: 14.04.2013
Сообщений: 24
1

Прерывание по переполнению таймера-счетчика ATmega8535 (ASM, AVR Studio 4)

01.12.2014, 15:59. Показов 3727. Ответов 1
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Система прерываний на примере прерывания по переполнению встроенного таймера-счётчика AVR-микроконтроллера.
Никак не пойму, что делать, чтобы запустилось без ошибок. Работа в AVR Studio 4. МК ATmega8535.
Задание вот такое вот:
Дополнить программу необходимыми директивами и командами. В подпрограмму обработки прерывания по таймеру-счётчику Т/С0 поместить команду загрузки числа в РОН.

Какими директивами дополнить и какими командами? Вот та программа, которую нужно дополнить. Заранее благодарю за помощь.

Assembler
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
 ; область векторов прерываний
   .org $0000
      RJMP  RESET         ; переход к основной программе
   .org INT0addr
      RJMP  EXT_INT0          ; внешнее прерывание INT0
   .org OVF0addr
      RJMP  TMR0_INT          ; прерывание по таймеру Т/С0
 
   ; подпрограмма обработки внешнего прерывания INT0
   EXT_INT0:
      ; ...
      RETI                ; возврат
 
   ; подпрограмма обработки прерывания по таймеру T/C0
   TMR0_INT:
      ; ...
      RETI                ; возврат
 
   RESET:                 ; основная программа
 
      ; инициализация стека
      ; ...
 
      ; инициализация внешнего прерывания INT0
      LDI   R16, (1<<ISC01)|(1<<ISC00)
      OUT   MCUCR, R16    ; по положительному фронту
 
      LDI   R16, (1<<INTF1)|(1<<INTF0)
      OUT   GIFR, R16      ; очистка флагов внешних прерываний
 
      LDI   R16, 1<<INT0
      OUT   GICR, R16     ; разрешение внешнего прерывания INT0
 
      ; инициализация прерывания по таймеру T/C0
      LDI   R16, 1<<CS00
      OUT   TCCR0, R16    ; деления частоты нет
 
      LDI   R16, 1<<TOIE0
      OUT   TIMSK, R16    ; разрешение прерывания по таймеру Т/С0
 
      SEI                 ; общее разрешение прерываний
 
   forever:
      NOP                 ; пустая команда (no operation)
      RJMP  forever       ; бесконечный цикл
 
      ; ...
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
01.12.2014, 15:59
Ответы с готовыми решениями:

Как реализовать прерывание по переполнению таймера atmega32a в Atmel Studio 4
Здравствуйте! Пытаюсь постигнуть таймеры. Но что-то не получается даже простенькое и понять не...

Вычитание двухбайтных чисел в AtMega8535 на ASM (AVR Studio 4)
Составить программу вычитания двухбайтных чисел. Уменьшаемое содержится в регистровой паре R3:R2,...

Прерывание по переполнению таймера на Ардуино
Не пойму это ардуина с прерываниями не работает или я туплю? #define led 5 void setup() { ...

Почему не срабатывает прерывание по переполнению таймера Timer/Counter0
Добрый день! В чем грабли, почему не запускается подпрограмма обработки прерывания по переполнению...

Работа таймера/счетчика AVR
Для чего 2 регистра OCR0A и OCR0B? Если счетчик достиг 1-го зачения записанного в одном из этих...

1
1176 / 653 / 111
Регистрация: 15.05.2012
Сообщений: 4,013
01.12.2014, 21:09 2
А вы пробовали запускать?
0
01.12.2014, 21:09
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
01.12.2014, 21:09
Помогаю со студенческими работами здесь

Копирование массива из ОЗУ в ATMega8535 (AVR Studio 4)
Составить программу копирования массива. Адрес массива-источника - находится в ячейке ОЗУ с адресом...

ASM + AVR Studio
Осваиваю AVR+ASM, необходимо сделать цикл N число раз, N считывается из порта C. Как считать N в...

Вопрос к пишущим на asm в AVR Studio 4-5-6
Собственно хотелось бы услышать какая версия наименее глючная и удобная в этом ключе. Какие глюки...

Не происходит возврат из подпрограммы (AVR Studio 4, Asm)
Доброго времени суток. Пишу мигающий светодиод на Avr ассемблере под Atmega16, среда AVR Studio 4. ...

Инкрементация числа до переполнения на ASM в AVR Studio
1 задача. Ввести число. В цикле инкрементировать его до переполнения. Вывести в порт вывода...

AVR Studio (ASM). Поменять местами тетрады в данных
№16 Задание делается в AVR Studio Помогите, буду очень признателен, задание сделать надо к...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru