Помогите с таймерами 2313

Вопросы настройки, программирования, прошивки микроконтроллеров и микросхем программируемой логики
Закрыто
timo13
Открыл глаза
Сообщения: 40
Зарегистрирован: Вс апр 18, 2010 11:31:55

Помогите с таймерами 2313

Сообщение timo13 »

Делаю длинную задержку из двух таймеров Attiny2313 по рекомендации AVR133. Моделирую в Proteus 7.7, переключаются порты PB.1 и PB.2, задержка для теста 10,8 сек. Так вот первое переключение происходит сразу после запуска, второе через 10,8 сек., как и задумано, а вот третье переключение происходит через 1,78 сек., потом все идет по плану, через 10,8. Откуда берется 1,78 сек.? Заранее спасибо.
start: ldi R16, RAMEND
out SPL, R16

ldi r17, 0b00000110 ; Register init

ldi r16, 0b11111111 ; Program OC1A and PORTB as an output
out DDRB, r16

ldi r16, $40 ; Program TCCR1A to toggle
out TCCR1A, r16 ; OC1A on each compare match

ldi r16, $6D ; Program the output compare
out OCR1AH, r16 ; register for a division
ldi r16, $DD ; ratio of 28125
out OCR1AL, r16

ldi r16, $20 ; Configure sleep mode
out MCUCR, r16

ldi r16, $02 ; Enable T/C0 interrupt
out TIMSK, r16

sei

; Infinite loop ------------------------------------------------

loop: rcall main ; Call the main routine

ldi r16, $FA ; Reload counter 0 for a division
out TCNT0, r16 ; ratio of 6

ldi r16, $06 ; Start counter 0 for
out TCCR0B, r16 ; external pin T0 source

ldi r16, $00 ; Reset timer 1 value
out TCNT1H, r16
ldi r16, $00
out TCNT1L, r16

ldi R16, $0C ; Start timer 1 for a prescale
out TCCR1B, r16 ; ratio of 256

sleep ; Wait for delay

ldi r16, $00 ; Stop timer 1
out TCCR1B, r16

ldi r16, $00 ; Stop timer 0
out TCCR0B, r16

rjmp loop

main: in r16, PORTB
eor r16, r17
out PORTB, r16
ret
Последний раз редактировалось timo13 Ср фев 16, 2011 16:46:30, всего редактировалось 3 раза.
Реклама
Аватара пользователя
shurikss123
Грызет канифоль
Сообщения: 271
Зарегистрирован: Пн окт 25, 2010 20:47:04
Откуда: Казахстан, Астана

Re: Помогите с таймерами 2313

Сообщение shurikss123 »

пробывал отрубить sleepmode?
Изображение
Мастер на все руки, кручу, кручу, кручу и матерюсь
Повелитель паяльной станции, лома, и пинцета!!!
Реклама
timo13
Открыл глаза
Сообщения: 40
Зарегистрирован: Вс апр 18, 2010 11:31:55

Re: Помогите с таймерами 2313

Сообщение timo13 »

shurikss123 писал(а):пробывал отрубить sleepmode?
если отключить нарушится логика программы
Аватара пользователя
ChipKiller
Сверлит текстолит когтями
Сообщения: 1163
Зарегистрирован: Ср янв 05, 2011 16:25:15

Re: Помогите с таймерами 2313

Сообщение ChipKiller »

timo13 писал(а):второе через 10,8 сек., как и задумано, а вот второе переключение происходит через 1,78 сек.
... ???
Реклама
Эиком - электронные компоненты и радиодетали
timo13
Открыл глаза
Сообщения: 40
Зарегистрирован: Вс апр 18, 2010 11:31:55

Re: Помогите с таймерами 2313

Сообщение timo13 »

ChipKiller писал(а):
timo13 писал(а):второе через 10,8 сек., как и задумано, а вот второе переключение происходит через 1,78 сек.
... ???
очепятка, исправил
Реклама
Закрыто

Вернуться в «Микроконтроллеры и ПЛИС»