Например TDA7294

Форум РадиоКот • Просмотр темы - Ассемблер (ASM) для AVR в вопросах и ответах
Форум РадиоКот
Здесь можно немножко помяукать :)

Текущее время: Вт янв 20, 2026 21:09:38

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


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



Начать новую тему Ответить на тему  [ Сообщений: 7961 ]     ... , , , 151, , , ...  
Автор Сообщение
Не в сети
 Заголовок сообщения: Re: Ассемблер (ASM) для AVR в вопросах и ответах
СообщениеДобавлено: Пн сен 03, 2012 22:54:10 
Друг Кота

Карма: 28
Рейтинг сообщений: 568
Зарегистрирован: Чт май 05, 2011 21:26:34
Сообщений: 4550
Откуда: Украина, Славутич
Рейтинг сообщения: 0
директива ORG означает что в этом месте адресация начинается с указанного адреса. первый ORG 0 не играет роли поскольку там код и так начинается с нуля. а следующий ORG устанавливает адрес вектора прерывания, если ты убираешь его то компилятор тулит код в следующую ячейку, а не туда куда нужно. В результате вектор прерывания от таймера указывает куда-то в середину подпрограммы обработки прерывания, поскольку та начала располагаться сразу по первому вектору, сразу за вектором сброса. Если бы ты определил(зарезервировал) место для каждого прерывания, хотябы заглушкой из команд IRET или NOP то и вторая ORG не понадобилась бы.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Ассемблер (ASM) для AVR в вопросах и ответах
СообщениеДобавлено: Вт сен 04, 2012 10:31:10 
Опытный кот
Аватар пользователя

Карма: 1
Рейтинг сообщений: 22
Зарегистрирован: Ср ноя 18, 2009 12:50:31
Сообщений: 780
Откуда: ковров
Рейтинг сообщения: 0
необходимо сделать регулируемый генератор прямоугольных сигналов в диапазоне частот от 1 кГЦ до 100 кГц.
1 - 30 кГц с шагом 0.05 кГц
30 - 100 кГц с шагом 5 кГц
сделать программо не проблема, но хотелось бы аппаратно. желательно на TINY13.

_________________
R5VCH
Хотелки:
СпойлерАналоговый осциллограф С1-112, С1-118, другие
не/рабочие модули от комплекса ОДА-102
всё что касается AVR, arduino, raspberry
всё что касается КВ-УКВ-радиосвязи, mashtastic


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Ассемблер (ASM) для AVR в вопросах и ответах
СообщениеДобавлено: Вт сен 04, 2012 10:49:22 
Друг Кота
Аватар пользователя

Карма: 67
Рейтинг сообщений: 1066
Зарегистрирован: Чт сен 18, 2008 12:27:21
Сообщений: 20029
Откуда: Столица Мира Санкт-Петербург
Рейтинг сообщения: 0
Медали: 1
Получил миской по аватаре (1)
xkp писал(а):
хотелось бы аппаратно. желательно на TINY13.

Таймер/счётчик в режиме генератора. На счёт шага сетки частот сходу не скажу.

_________________
[ Всё дело не столько в вашей глупости, сколько в моей гениальности ] [ Правильно заданный вопрос содержит в себе половину ответа ]


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Ассемблер (ASM) для AVR в вопросах и ответах
СообщениеДобавлено: Вт сен 04, 2012 12:42:28 
Друг Кота
Аватар пользователя

Карма: 139
Рейтинг сообщений: 2922
Зарегистрирован: Чт янв 10, 2008 22:01:02
Сообщений: 24713
Откуда: Московская область, Фрязино
Рейтинг сообщения: 0
xkp писал(а):
необходимо сделать регулируемый генератор прямоугольных сигналов в диапазоне частот от 1 кГЦ до 100 кГц.
1 - 30 кГц с шагом 0.05 кГц
30 - 100 кГц с шагом 5 кГц
сделать программо не проблема, но хотелось бы аппаратно. желательно на TINY13.

Для реализации первого диапазона потребуется системная частота МК не менее 18 МГц, а лучше порядка 50 МГц, иначе шаги будут с большой погрешностью.


Вернуться наверх
 
Эиком - электронные компоненты и радиодетали
Не в сети
 Заголовок сообщения: Re: Ассемблер (ASM) для AVR в вопросах и ответах
СообщениеДобавлено: Вт сен 04, 2012 12:44:01 
Опытный кот
Аватар пользователя

Карма: 1
Рейтинг сообщений: 22
Зарегистрирован: Ср ноя 18, 2009 12:50:31
Сообщений: 780
Откуда: ковров
Рейтинг сообщения: 0
а конкректнее? какой режим таймер-счетчика выбирать? какие регистры и для чего включать? что касаемо частоты МК, можно взять TINY85 - 20мГЦ

_________________
R5VCH
Хотелки:
СпойлерАналоговый осциллограф С1-112, С1-118, другие
не/рабочие модули от комплекса ОДА-102
всё что касается AVR, arduino, raspberry
всё что касается КВ-УКВ-радиосвязи, mashtastic


Последний раз редактировалось xkp Вт сен 04, 2012 12:46:06, всего редактировалось 1 раз.

Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Ассемблер (ASM) для AVR в вопросах и ответах
СообщениеДобавлено: Вт сен 04, 2012 12:44:36 
Друг Кота
Аватар пользователя

Карма: 67
Рейтинг сообщений: 1066
Зарегистрирован: Чт сен 18, 2008 12:27:21
Сообщений: 20029
Откуда: Столица Мира Санкт-Петербург
Рейтинг сообщения: 0
Медали: 1
Получил миской по аватаре (1)
xkp писал(а):
какой режим таймер-счетчика выбирать? какие регистры и для чего включать?

Даташит и Студия вам в помощь :)

_________________
[ Всё дело не столько в вашей глупости, сколько в моей гениальности ] [ Правильно заданный вопрос содержит в себе половину ответа ]


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Ассемблер (ASM) для AVR в вопросах и ответах
СообщениеДобавлено: Вт сен 04, 2012 12:48:51 
Опытный кот
Аватар пользователя

Карма: 1
Рейтинг сообщений: 22
Зарегистрирован: Ср ноя 18, 2009 12:50:31
Сообщений: 780
Откуда: ковров
Рейтинг сообщения: 0
даташит и студия... было бы все так просто я бы к вам не обратился за помощью. не получается у меня ибо слабые познания английского

_________________
R5VCH
Хотелки:
СпойлерАналоговый осциллограф С1-112, С1-118, другие
не/рабочие модули от комплекса ОДА-102
всё что касается AVR, arduino, raspberry
всё что касается КВ-УКВ-радиосвязи, mashtastic


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Ассемблер (ASM) для AVR в вопросах и ответах
СообщениеДобавлено: Вт сен 04, 2012 13:56:08 
Держит паяльник хвостом
Аватар пользователя

Карма: 15
Рейтинг сообщений: 70
Зарегистрирован: Ср мар 28, 2012 21:45:24
Сообщений: 906
Откуда: ВО
Рейтинг сообщения: 0
xkp писал(а):
...было бы все так просто я бы к вам не обратился ...

Микроконтроллеры AVR семейства Mega А.В.Евстифеев, 2007
Микроконтроллеры AVR семейства Tiny А.В.Евстифеев, , а ещё есть и тини и мега вместе. И целая тема на форуме по работе в AVR-STUDIO на русском


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Ассемблер (ASM) для AVR в вопросах и ответах
СообщениеДобавлено: Вт сен 04, 2012 14:12:53 
Опытный кот
Аватар пользователя

Карма: 1
Рейтинг сообщений: 22
Зарегистрирован: Ср ноя 18, 2009 12:50:31
Сообщений: 780
Откуда: ковров
Рейтинг сообщения: 0
ясно. помощи не ждать... :( спасибо и на этом
PS. я даже в школе не умел учиться по книгам! хотя и был отличником по точным предметам.

_________________
R5VCH
Хотелки:
СпойлерАналоговый осциллограф С1-112, С1-118, другие
не/рабочие модули от комплекса ОДА-102
всё что касается AVR, arduino, raspberry
всё что касается КВ-УКВ-радиосвязи, mashtastic


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Ассемблер (ASM) для AVR в вопросах и ответах
СообщениеДобавлено: Вт сен 04, 2012 14:24:46 
Друг Кота
Аватар пользователя

Карма: 67
Рейтинг сообщений: 1066
Зарегистрирован: Чт сен 18, 2008 12:27:21
Сообщений: 20029
Откуда: Столица Мира Санкт-Петербург
Рейтинг сообщения: 0
Медали: 1
Получил миской по аватаре (1)
xkp писал(а):
ясно. помощи не ждать...

Ну почему же... Просто вы немного ошиблись темой — ваш вопрос построения генератора имеет к ассемблеру весьма отдалённое отношение, тут скорее требуется понимание работы таймера/счётчика МК.
Заведите отдельную тему, там и можно будет спокойно пообсуждать кому не лень. Например, я могу присоединиться к обсуждению.

_________________
[ Всё дело не столько в вашей глупости, сколько в моей гениальности ] [ Правильно заданный вопрос содержит в себе половину ответа ]


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Ассемблер (ASM) для AVR в вопросах и ответах
СообщениеДобавлено: Вт сен 04, 2012 14:43:09 
Опытный кот
Аватар пользователя

Карма: 1
Рейтинг сообщений: 22
Зарегистрирован: Ср ноя 18, 2009 12:50:31
Сообщений: 780
Откуда: ковров
Рейтинг сообщения: 0
тема уже быллапрограмирование AVR на АСЕМБЛЕРЕ для чайников. её закрыли, сказали обсуждать тут.

_________________
R5VCH
Хотелки:
СпойлерАналоговый осциллограф С1-112, С1-118, другие
не/рабочие модули от комплекса ОДА-102
всё что касается AVR, arduino, raspberry
всё что касается КВ-УКВ-радиосвязи, mashtastic


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Ассемблер (ASM) для AVR в вопросах и ответах
СообщениеДобавлено: Вт сен 04, 2012 14:45:47 
Друг Кота
Аватар пользователя

Карма: 67
Рейтинг сообщений: 1066
Зарегистрирован: Чт сен 18, 2008 12:27:21
Сообщений: 20029
Откуда: Столица Мира Санкт-Петербург
Рейтинг сообщения: 0
Медали: 1
Получил миской по аватаре (1)
:facepalm:
Дело-то не в АСМе, а в непонимании периферии.

_________________
[ Всё дело не столько в вашей глупости, сколько в моей гениальности ] [ Правильно заданный вопрос содержит в себе половину ответа ]


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Ассемблер (ASM) для AVR в вопросах и ответах
СообщениеДобавлено: Вт сен 04, 2012 18:12:05 
Опытный кот
Аватар пользователя

Карма: 1
Рейтинг сообщений: 22
Зарегистрирован: Ср ноя 18, 2009 12:50:31
Сообщений: 780
Откуда: ковров
Рейтинг сообщения: 0
возможно. но все же как замяукать аппаратный генератор?

_________________
R5VCH
Хотелки:
СпойлерАналоговый осциллограф С1-112, С1-118, другие
не/рабочие модули от комплекса ОДА-102
всё что касается AVR, arduino, raspberry
всё что касается КВ-УКВ-радиосвязи, mashtastic


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Ассемблер (ASM) для AVR в вопросах и ответах
СообщениеДобавлено: Вт сен 04, 2012 19:02:02 
Держит паяльник хвостом
Аватар пользователя

Зарегистрирован: Сб янв 16, 2010 15:34:57
Сообщений: 920
Откуда: Sevsk/Moscow
Рейтинг сообщения: 0
Alexeyslav, спасибо за информативный ответ :)

_________________
:idea:


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Ассемблер (ASM) для AVR в вопросах и ответах
СообщениеДобавлено: Вт сен 04, 2012 20:24:35 
Держит паяльник хвостом
Аватар пользователя

Зарегистрирован: Сб янв 16, 2010 15:34:57
Сообщений: 920
Откуда: Sevsk/Moscow
Рейтинг сообщения: 0
Переделал в такой код:
Спойлер
Код:
.def Temp=R16
.def Temp2=R17
.def Temp3=R18
.def Temp4=R19
.def Temp5=R20
.def ResCnt=R21
.cseg
.org 0
rjmp RESET ; Reset Handler
reti ; IRQ0 Handler
reti ; IRQ1 Handler
reti ; Timer2 Compare Handler
reti ; Timer2 Overflow Handler
reti ; Timer1 Capture Handler
rjmp TIM1_COMPA ; Timer1 CompareA Handler
reti ; Timer1 CompareB Handler
reti ; Timer1 Overflow Handler
reti ; Timer0 Overflow Handler
reti ; SPI Transfer Complete Handler
reti ; USART RX Complete Handler
reti ; UDR Empty Handler
reti ; USART TX Complete Handler
reti ; ADC Conversion Complete Handler
reti ; EEPROM Ready Handler
reti ; Analog Comparator Handler
reti ; Two-wire Serial Interface
reti ; Store Program Memory Ready
Reset:
   ldi Temp2,0
   ldi Temp3,0
l_res:
   dec Temp2
   brne l_res
   dec Temp3
   brne l_res
   inc ResCnt
   ldi Temp, 0b11111111
   out DDRB, Temp
   ldi Temp, 0b00010001
   out TIMSK, Temp
   ldi Temp, 0b00000011
   out TCCR1B, Temp
   ldi Temp, 0x23
   out OCR1AH, Temp
   ldi Temp, 0x28
   out OCR1AL, Temp
   ldi Temp,low(RamEnd)   ;[1]Спросить про неполную таюлицу прерываний. Разобраться со СТЕКом до конца.
    out SPL,Temp         ;
    ldi Temp,high(RamEnd)   ;СТЕК - разобраться - пошерстить даташит
    out SPH,Temp         ;Такая структура работает (в связи с особенностями Меги 8-ой), но прога не пашет. Разобраться! (Разобрался [1])
   ldi Temp2, 0b00000001
   ldi Temp, 0
   out TCNT1H, Temp
   out TCNT1L, Temp
   sei
Inf: rjmp Inf
TIM1_CompA:
   ldi Temp,0
   out TCNT1H, Temp
   out TCNT1L, Temp
SelectArray:                    ;выбор массива

         andi ResCnt,0b00000011 ;отсечка лишних разрядов сч. сбросов

         cpi ResCnt,0           ;сравнение счетчика сбросов с конст.
         brne Tst1              ;если не равно - след. проверка
         ldi ZH,High(Array0*2)  ;загрузка начального адреса массива
         ldi ZL,Low(Array0*2)
         rjmp ReadArray

Tst1:    cpi ResCnt,1
         brne Tst2
         ldi ZH,High(Array1*2)
         ldi ZL,Low(Array1*2)
         rjmp ReadArray

Tst2:    cpi ResCnt,2
         brne Tst3
         ldi ZH,High(Array2*2)
         ldi ZL,Low(Array2*2)
         rjmp ReadArray

Tst3:    ldi ZH,High(Array3*2)
         ldi ZL,Low(Array3*2)
         rjmp ReadArray


ReadArray:

         ldi Temp,0            ;прибавление относит. адреса
         add ZL,Temp2
         adc ZH,Temp

         lpm                   ;загрузка из ПЗУ

         mov Temp,R0           ;копирование в РОН
         cpi Temp,0            ;пороверка на нулевой элемент
         breq Init             ;если нулевой - в начало
         inc Temp2             ;увеличение относит адреса на 1

         rjmp Output           ;перейти на вывод в порт

Init:    ldi Temp2,0           ;загрузить нач. значение
         rjmp SelectArray

Output:  out PortB,Temp        ;вывод в порт
         reti                  ;выход из обработчика


Array0:
.db  0b10000000,0b01000000
.db  0b00100000,0b00010000
.db  0b00001000,0b00000100
.db  0b00000010,0b00000001
.db  0,0

Array1:
.db  0b00000001,0b00000010
.db  0b00000100,0b00001000
.db  0b00010000,0b00100000
.db  0b01000000,0b10000000
.db  0,0

Array2:
.db  0b10000001,0b01000010
.db  0b00100100,0b00011000
.db  0b00100100,0b01000010
.db  0,0

Array3:
.db  0b10000000,0b01000000,0b00100000,0b00010000
.db  0b00001000,0b00000100,0b00000010,0b00000001
.db  0b00000010,0b00000100,0b00001000,0b00010000
.db  0b00100000,0b01000000
.db  0,0

Теперь все работает без дополнительных адресов :)
Можно ли написать код в ТАКОМ виде? Или существует более правильный/рациональный вид?

_________________
:idea:


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Ассемблер (ASM) для AVR в вопросах и ответах
СообщениеДобавлено: Вт сен 04, 2012 20:33:14 
Открыл глаза
Аватар пользователя

Зарегистрирован: Пт янв 01, 2010 20:43:32
Сообщений: 61
Откуда: cccp
Рейтинг сообщения: 0
Подскажите плиз начинающему как выйти из прерывания
в нужное место кода по условию , т.е. условие выполнено
выходим на определенное место, не выполнено возвращаемся
из прерывания как обычно...
возможно ли такое вообще?


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Ассемблер (ASM) для AVR в вопросах и ответах
СообщениеДобавлено: Вт сен 04, 2012 20:36:18 
Модератор
Аватар пользователя

Карма: 90
Рейтинг сообщений: 1432
Зарегистрирован: Чт мар 18, 2010 23:09:57
Сообщений: 4601
Откуда: Планета Земля
Рейтинг сообщения: 0
Медали: 1
Получил миской по аватаре (1)
xkp писал(а):
возможно. но все же как замяукать аппаратный генератор?
Использовать таймер с компаратором. Меняя значение компаратора, будете менять период следования прерываний от таймера, соответственно - частоту. В обработчике тупо дёргаем ногой и получаем меандр.
Всё очень просто )

Цитата:
возможно ли такое вообще?
Возможно, если есть доступ к стеку возврата. Только я бы не советовал делать подобные манипуляции, т.к. глюк обеспечен на 99.9%.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Ассемблер (ASM) для AVR в вопросах и ответах
СообщениеДобавлено: Вт сен 04, 2012 20:43:51 
Держит паяльник хвостом
Аватар пользователя

Карма: 15
Рейтинг сообщений: 70
Зарегистрирован: Ср мар 28, 2012 21:45:24
Сообщений: 906
Откуда: ВО
Рейтинг сообщения: 0
Код:
brne MET1
   ldi temp,RAMEND возвращаем вершину стека ( это для 2313)
    out SPL,temp     
    push ZL             Сохраняем адрес подпрограммы (обычно ее метку)  в которую хотим попасть
    push ZH
    reti                   Попадаем , да и обратите внимание на SREG , возможно его надо будет почисть если Ваша программа начинается с команд проверяющие флаги
MET1:
   reti


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Ассемблер (ASM) для AVR в вопросах и ответах
СообщениеДобавлено: Вт сен 04, 2012 20:43:51 
Опытный кот
Аватар пользователя

Карма: 1
Рейтинг сообщений: 22
Зарегистрирован: Ср ноя 18, 2009 12:50:31
Сообщений: 780
Откуда: ковров
Рейтинг сообщения: 0
алекс, я пока не совсем коректно понял, а это обеспечит достаточно точные показания частоты? нужно от 1 кГц до 30 кГц с шагом 50 Гц

_________________
R5VCH
Хотелки:
СпойлерАналоговый осциллограф С1-112, С1-118, другие
не/рабочие модули от комплекса ОДА-102
всё что касается AVR, arduino, raspberry
всё что касается КВ-УКВ-радиосвязи, mashtastic


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Ассемблер (ASM) для AVR в вопросах и ответах
СообщениеДобавлено: Вт сен 04, 2012 20:55:40 
Модератор
Аватар пользователя

Карма: 90
Рейтинг сообщений: 1432
Зарегистрирован: Чт мар 18, 2010 23:09:57
Сообщений: 4601
Откуда: Планета Земля
Рейтинг сообщения: 0
Медали: 1
Получил миской по аватаре (1)
Точность, как Вам уже сказали выше, будет зависеть от частоты тактирования таймера, которым реализуете частоту. Чем выше частота - тем выше точность.


Вернуться наверх
 
Показать сообщения за:  Сортировать по:  Вернуться наверх
Начать новую тему Ответить на тему  [ Сообщений: 7961 ]     ... , , , 151, , , ...  

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


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

Сейчас этот форум просматривают: Satyr7 и гости: 32


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

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


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