Например TDA7294

Форум РадиоКот • Просмотр темы - несоответствие времени в avr studio и реале
Форум РадиоКот
Здесь можно немножко помяукать :)

Текущее время: Ср янв 07, 2026 10:09:58

Часовой пояс: UTC + 3 часа


ПРЯМО СЕЙЧАС:



Форум закрыт Эта тема закрыта, Вы не можете редактировать и оставлять сообщения в ней.  [ Сообщений: 9 ] 
Автор Сообщение
Не в сети
 Заголовок сообщения: несоответствие времени в avr studio и реале
СообщениеДобавлено: Пт фев 18, 2011 15:05:27 
Открыл глаза
Аватар пользователя

Зарегистрирован: Чт июл 03, 2008 13:09:52
Сообщений: 42
Рейтинг сообщения: 0
Постараюсь покороче:
ATMega16 + код (без таблицы прерываний). Кварц 10Мгц
По идее (что и показывает студия) портС должен моргать в режиме SOS с периодом точки - 1 сек,
тире - 2 сек, пауза между ними - 2 сек что задается в массиве и умножением значения задержки на 98. В реале же порт моргает гораздо чаще. Переключения порта еле заметны глазом. Подскажите пожалуйста в чем я ошибся.

Код:
.include "m16def.inc"

.def temp=R16
.def time=R20
.def stage=R21
.def sign=R17

.DSEG
.CSEG

         .ORG $000        ; (RESET)
         RJMP   Reset
   
Reset:
;èíèöèàëèçèðóåì ñòåê
LDI R16, low(RAMEND)
out SPL, R16
LDI R16, high(RAMEND)
out SPH, R16

;nastroyka portov
ldi R16, 0b11111111
out DDRC, R16
;out DDRA, R16
;out DDRB, R16

;ïåðâè÷íûé íàñòðîéêà è çàïóñê òàéìåðà

ldi ZH, high(array*2)
ldi ZL, low(array*2)

lpm

out OCR1AL, R0

ldi temp, 0
out TCNT1H, temp
out TCNT1L, temp

ldi temp, 1<<2|1<<0
;ldi temp, 1<<0
out TCCR1B, temp
ldi temp, 1<<4
out TIMSK, temp

sei

ldi temp, 1
add ZL, temp
ldi temp, 0
adc ZH, temp
lpm
mov sign, R0

;îáíóëÿåì âðåìÿ ÷òîáû ïðîãðàììà çàãðóçèëà ñëåäóþùåå çíà÷åíèå âðåìåíè
ldi time, 0

ldi stage, 2



ldi R16, 0b11111111
out PORTA, R16
ldi R16, 0b00000000
out PORTB, R16


Main:
rcall tststage
cpi sign, 1
brne offsignal
ldi R16, 0b11111111
out PORTC, R16
rjmp oute

offsignal:
ldi R16, 0b00000000
out PORTC, R16

oute:

rjmp Main

array:
.db 100, 1, 200, 0
.db 100, 1, 200, 0
.db 100, 1, 200, 0
.db 200, 1, 200, 0
.db 200, 1, 200, 0
.db 200, 1, 200, 0
.db 100, 1, 200, 0
.db 100, 1, 200, 0
.db 100, 1, 200, 0



;*********************************************************************
;ïîäïðîãðàììû
tststage:
push temp
cpi time, 0
brne out1
cpi stage, 36
brne okstage
ldi stage, 0
okstage:
ldi ZH, high(array*2)
ldi ZL, low(array*2)
mov temp, stage
add ZL, temp
ldi temp, 0
adc ZH, temp
lpm

mov time, R0
ldi temp, 1
add ZL, temp
ldi temp, 0
adc ZH, temp
lpm
mov sign, R0

ldi temp, 2
add stage, temp
out1:
pop temp
ret

;********************************************************************
;ïðåðûâàíèÿ

tim1a:
push temp
push R1
push R0
ldi temp, 0
out TCNT1H, temp
out TCNT1L, temp
ldi temp, 98
mul time, temp
out OCR1AL, R0
out OCR1AH, R1
ldi time, 0
pop R0
pop R1
pop temp
reti

_________________
не выдрючивайся, да не выдрючен будешь ...


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: несоответствие времени в avr studio и реале
СообщениеДобавлено: Пт фев 18, 2011 18:56:13 
Сверлит текстолит когтями
Аватар пользователя

Карма: 4
Рейтинг сообщений: 30
Зарегистрирован: Ср янв 05, 2011 16:25:15
Сообщений: 1163
Рейтинг сообщения: 0
Razor писал(а):
Подскажите пожалуйста в чем я ошибся.
.. либо в коде, либо в настройках симулятора Аvr Studio - все должно работать нормально.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: несоответствие времени в avr studio и реале
СообщениеДобавлено: Пт фев 18, 2011 21:51:35 
Потрогал лапой паяльник

Карма: 1
Рейтинг сообщений: 1
Зарегистрирован: Пн окт 18, 2010 21:18:21
Сообщений: 321
Рейтинг сообщения: 0
студия достаточно точно симулирует временные интервалы, скорее всего проблема в настройках.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: несоответствие времени в avr studio и реале
СообщениеДобавлено: Сб фев 19, 2011 06:55:40 
Открыл глаза
Аватар пользователя

Зарегистрирован: Чт июл 03, 2008 13:09:52
Сообщений: 42
Рейтинг сообщения: 0
А по коду что скажете? Я правильно настроил таймер? По идее при максимальном значении в регистре сравнения таймера пауза должна быть около 6 секунд. На деле светодиод мигает на частоте 10-20 герц.

_________________
не выдрючивайся, да не выдрючен будешь ...


Вернуться наверх
 
Эиком - электронные компоненты и радиодетали
Не в сети
 Заголовок сообщения: Re: несоответствие времени в avr studio и реале
СообщениеДобавлено: Сб фев 19, 2011 08:10:15 
Сверлит текстолит когтями
Аватар пользователя

Карма: 4
Рейтинг сообщений: 30
Зарегистрирован: Ср янв 05, 2011 16:25:15
Сообщений: 1163
Рейтинг сообщения: 0
Razor писал(а):
По идее (что и показывает студия) портС должен моргать в режиме SOS...
... не знаю, что там "показывает студия", но программа будет делать именно то, что написано Вами. В чем могут быть ошибки - уже писал. Не обладая возможностью телепата - не могу знать, правильно ли заданы параметры симулятора. Что касается кода - то
Razor писал(а):
Код:
;

;********************************************************************
;ïðåðûâàíèÿ

tim1a:
push temp
push R1
push R0
ldi temp, 0
out TCNT1H, temp
out TCNT1L, temp
ldi temp, 98
mul time, temp
out OCR1AL, R0
out OCR1AH, R1
ldi time, 0
pop R0
pop R1
pop temp
reti
... никогда не получит управления, потому что
Razor писал(а):
Код:
.CSEG

         .ORG $000        ; (RESET)
         RJMP   Reset
   
Reset:
... нет RJMP tim1a


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: несоответствие времени в avr studio и реале
СообщениеДобавлено: Сб фев 19, 2011 08:59:31 
Открыл глаза
Аватар пользователя

Зарегистрирован: Чт июл 03, 2008 13:09:52
Сообщений: 42
Рейтинг сообщения: 0
Цитата:
... никогда не получит управления, потому что

Как я сказал выше таблица прерываний убрана для краткости.

_________________
не выдрючивайся, да не выдрючен будешь ...


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: несоответствие времени в avr studio и реале
СообщениеДобавлено: Сб фев 19, 2011 11:19:23 
Друг Кота

Карма: 64
Рейтинг сообщений: 1023
Зарегистрирован: Пт мар 07, 2008 06:54:43
Сообщений: 4378
Откуда: Ижевск
Рейтинг сообщения: 0
Может быть из-за этого? Ну и, естественно, JTAG должен быть отключен.
Код:
;*************************************************
   OUT OCR1AH, R1
   OUT OCR1AL, R0
;out OCR1AL, R0
;out OCR1AH, R1
;*************************************************


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: несоответствие времени в avr studio и реале
СообщениеДобавлено: Сб фев 19, 2011 11:55:36 
Открыл глаза
Аватар пользователя

Зарегистрирован: Чт июл 03, 2008 13:09:52
Сообщений: 42
Рейтинг сообщения: 0
akl :-))))
Только что сам нашел это и хотел написать что проблема решена.

Проблема была именно из за этого. Так как протеус показывал результаты схожие с реалом начал отслеживать различия между протеусом и студией пошагово. Оказалось что если сначала загружать данные в OCR1AL то число в OCR1AH почему то не загружается.

В связи с этим вопрос : это баг или фича и почему студия этого не учитывает?

_________________
не выдрючивайся, да не выдрючен будешь ...


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: несоответствие времени в avr studio и реале
СообщениеДобавлено: Сб фев 19, 2011 12:30:27 
Друг Кота

Карма: 64
Рейтинг сообщений: 1023
Зарегистрирован: Пт мар 07, 2008 06:54:43
Сообщений: 4378
Откуда: Ижевск
Рейтинг сообщения: 0
Razor писал(а):
это баг или фича и почему студия этого не учитывает?
Порядок записи и чтения 16-разрядных регистров объявлен DS на AVR
To do a 16-bit write, the High byte must be written before the Low byte. For a 16-bit read, the Low byte must be read before the High byte.
Почему студия не учитывает этот факт. Фиг его знает.


Вернуться наверх
 
Показать сообщения за:  Сортировать по:  Вернуться наверх
Форум закрыт Эта тема закрыта, Вы не можете редактировать и оставлять сообщения в ней.  [ Сообщений: 9 ] 

Часовой пояс: UTC + 3 часа


Кто сейчас на форуме

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 17


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти:  


Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
Русская поддержка phpBB
Extended by Karma MOD © 2007—2012 m157y
Extended by Topic Tags MOD © 2012 m157y