Форум программистов, компьютерный форум, киберфорум
Наши страницы
Микроконтроллеры Atmega AVR
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.50/10: Рейтинг темы: голосов - 10, средняя оценка - 4.50
pretty
0 / 0 / 0
Регистрация: 14.04.2013
Сообщений: 24
1

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

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

Система прерываний на примере прерывания по переполнению встроенного таймера-счётчика 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
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
01.12.2014, 15:59
Ответы с готовыми решениями:

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

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

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

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

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

1
pyzhman
791 / 485 / 66
Регистрация: 15.05.2012
Сообщений: 2,749
01.12.2014, 21:09 2
А вы пробовали запускать?
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
01.12.2014, 21:09

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

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

Обращение к регистрам через адреса (ASM, AVR Studio)
Здравствуйте, есть такой вопрос: к примеру у меня в SRAM хранятся реальные адреса регистров общего...


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

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

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2019, vBulletin Solutions, Inc.
Рейтинг@Mail.ru