Микроконтроллеры, АЦП, память и т.д Темы касающиеся микроконтроллеров разных производителей, памяти, АЦП/ЦАП, периферийных модулей... |
30.04.2006, 22:46
|
|
Частый гость
Регистрация: 07.10.2005
Сообщений: 39
Сказал спасибо: 0
Сказали Спасибо 0 раз(а) в 0 сообщении(ях)
|
Timer1 на меге
Привет всем!!! У меня проблема самоя жлементарная. Не могу сделать прерывание на Таймер1 Меги16. Работал со всем: УАРТ, ТВИ, с ЛСД, а с таймером не могу догнать что и куда. Нужно просто самое элементраное: через каждые промежутки времени выполнять какоето действие. Пишу на АСМе. Плз кто может скажите что к чему. У меня он просто не пашет. В чем проблема не зна. Может кто то не полениться пару строчек накатать. Наверняка у многих есть Коды по Таймер1. ПЛЗ. Проект горит.
|
|
|
|
02.05.2006, 13:31
|
|
Частый гость
Регистрация: 02.05.2006
Сообщений: 17
Сказал спасибо: 0
Сказали Спасибо 0 раз(а) в 0 сообщении(ях)
|
Код:
|
.org 0
rjmp reset
.org OC1Aaddr
rjmp my_t1_handler
...
reset:
ldi r30,HIGH(RAMEND)
out SPH,r30
ldi r30,LOW(RAMEND)
out SPL,r30
ldi r30,(1 ‹‹ WGM12)+0x01
out TCCR1B,r30
ldi r30,(1 ‹‹ OCIE1A)
out TIMSK,r30
ldi r30,HIGH(12345)
out OCR1AH,r30
ldi r30,LOW(12345)
out OCR1AL,r30
sei
...
my_t1_handler:
;что-то делаем
reti |
|
|
|
|
02.05.2006, 16:25
|
|
Частый гость
Регистрация: 07.10.2005
Сообщений: 39
Сказал спасибо: 0
Сказали Спасибо 0 раз(а) в 0 сообщении(ях)
|
.include ‹m16def.inc›
.def temp = r16
.org 0
rjmp reset
.org OC1Aaddr
rjmp my_t1_handler
reset:
ldi temp,HIGH(RAMEND)
out SPH,temp
ldi temp,LOW(RAMEND)
out SPL,temp
ser temp
out DDRA, temp
out DDRB, temp
out DDRC, temp
out DDRD, temp
clr temp
out PORTA, temp
out PORTB, temp
out PORTC, temp
out PORTD, temp
ldi temp, (0 ‹‹ WGM13) | (1 ‹‹ WGM12) ; CTC
out TCCR1B, temp
ldi temp, (1 ‹‹ OCIE1A) ; прерывание разрешено по переполнению
out TIMSK, temp
ldi temp, (1 ‹‹ CS10) | (0 ‹‹ CS11) | (0 ‹‹ CS12) ; делитель 1
out TCCR1B, temp
ldi temp, HIGH(200) ; от балды время
out OCR1AH, temp
ldi temp, LOW(200) ; от балды время
out OCR1AL, temp
clr temp
ldi r17, 0
sei
MAIN:
wdr
rjmp main
my_t1_handler:
Out PORTA, temp
out TCNT1L, r17
out TCNT1H, r17
inc temp
reti
Первый раз с таймером работаю подскажите что не так?
|
|
|
|
02.05.2006, 17:17
|
|
Супер-модератор
Регистрация: 13.03.2004
Адрес: Minsk
Сообщений: 2,378
Сказал спасибо: 1,956
Сказали Спасибо 1,328 раз(а) в 578 сообщении(ях)
|
Сообщение от Limit
|
Первый раз с таймером работаю подскажите что не так?
|
Думаю, все дело в том, что вы дважды пишете в TCCR1B. После второй записи режим CTC будет сброшен
А так криминала на первый взглян нету. Едиснственное, о чем потом не забудьте - сохранять-восстанавливать в прерывании SREG и что еще портить будете. Пока MAIN цикл пустой это не критично, а вот потом...
|
|
|
|
02.05.2006, 22:40
|
|
Частый гость
Регистрация: 02.05.2006
Сообщений: 17
Сказал спасибо: 0
Сказали Спасибо 0 раз(а) в 0 сообщении(ях)
|
Ну, и TCNT1 обнулять в прерывании смысла нет, т.к. там уже ноль. Режим такой.
|
|
|
|
03.05.2006, 12:54
|
|
Частый гость
Регистрация: 07.10.2005
Сообщений: 39
Сказал спасибо: 0
Сказали Спасибо 0 раз(а) в 0 сообщении(ях)
|
Цитата:
|
Ну, и TCNT1 обнулять в прерывании смысла нет, т.к. там уже ноль. Режим такой.
|
а тут я не согласен, потому что в симуляторе смотрел то счет продолжается. Честное слово!
|
|
|
|
03.05.2006, 16:04
|
|
Супер-модератор
Регистрация: 13.03.2004
Адрес: Minsk
Сообщений: 2,378
Сказал спасибо: 1,956
Сказали Спасибо 1,328 раз(а) в 578 сообщении(ях)
|
Сообщение от Limit
|
Цитата:
|
Ну, и TCNT1 обнулять в прерывании смысла нет, т.к. там уже ноль. Режим такой.
|
а тут я не согласен, потому что в симуляторе смотрел то счет продолжается. Честное слово!
|
Не доверяйте симуляторам. Врут как белорусское ТВ Доверять можно только даташиту.
|
|
|
|
03.05.2006, 18:26
|
|
Частый гость
Регистрация: 07.10.2005
Сообщений: 39
Сказал спасибо: 0
Сказали Спасибо 0 раз(а) в 0 сообщении(ях)
|
Сообщение от nml
|
Не доверяйте симуляторам. Врут как белорусское ТВ Доверять можно только даташиту.
|
Вот так и поступлю. Спасибо все за помощь! Удачи
|
|
|
|
Ваши права в разделе
|
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения
HTML код Выкл.
|
|
|
Часовой пояс GMT +4, время: 16:27.
|
|