Например TDA7294

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





Текущее время: Пт апр 26, 2024 02:45:18

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


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



Начать новую тему Ответить на тему  [ Сообщений: 7597 ]     ... , , , 299, , , ...  
Автор Сообщение
Не в сети
 Заголовок сообщения: Re: Ассемблер (ASM) для AVR в вопросах и ответах
СообщениеДобавлено: Пн фев 13, 2017 09:13:48 
Встал на лапы

Карма: 3
Рейтинг сообщений: 7
Зарегистрирован: Чт сен 10, 2015 06:59:03
Сообщений: 106
Откуда: Гродно, BY
Рейтинг сообщения: 1
Поменяй строки местами
out OCR1AL, temp
out OCR1AH, temp


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Ассемблер (ASM) для AVR в вопросах и ответах
СообщениеДобавлено: Пн фев 13, 2017 09:59:24 
Друг Кота

Карма: 64
Рейтинг сообщений: 966
Зарегистрирован: Пт мар 07, 2008 06:54:43
Сообщений: 4221
Откуда: Ижевск
Рейтинг сообщения: 1
Запись в 16 разрядные регистры периферии старший-младший, чтение наоборот.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Ассемблер (ASM) для AVR в вопросах и ответах
СообщениеДобавлено: Пн фев 13, 2017 10:01:19 
Друг Кота
Аватар пользователя

Карма: 93
Рейтинг сообщений: 1351
Зарегистрирован: Вт мар 16, 2010 22:02:27
Сообщений: 14074
Откуда: ДОНЕЦК
Рейтинг сообщения: 1
neoneon писал(а):
Доброго времени суток :) Небольшая загвоздка с таймером1 в меге8 :) Значит, установил режим СТС, разрешил прерывания таймера по совпадению с OCR1A, загрузил числа в OCR1A. По прерыванию инвертируем состояние портаB. В avrstudio4 работает нормально, в протеусе и железе - почему-то частота инвертирования порта не зависит от OCR1AH, т.е. все происходит только по младшему регистру. :dont_know:

...


1. Читаем правила обращения к 16 разрядным регистрам таймер-счетчиков.
2. загрузка начального значения OCR1A должна производится ДО установки режима работы таймера


Вернуться наверх
 
PCBWay - всего $5 за 10 печатных плат, первый заказ для новых клиентов БЕСПЛАТЕН

Сборка печатных плат от $30 + БЕСПЛАТНАЯ доставка по всему миру + трафарет

Онлайн просмотровщик Gerber-файлов от PCBWay + Услуги 3D печати
Не в сети
 Заголовок сообщения: Re: Ассемблер (ASM) для AVR в вопросах и ответах
СообщениеДобавлено: Пн фев 13, 2017 10:11:31 
Встал на лапы
Аватар пользователя

Карма: 2
Рейтинг сообщений: 2
Зарегистрирован: Ср окт 22, 2014 07:39:26
Сообщений: 115
Откуда: Омск
Рейтинг сообщения: 0
Всем спасибо, заработало :))
BOB51 писал(а):
2. загрузка начального значения OCR1A должна производится ДО установки режима работы таймера
Что-то может быть "не так", если, например, счетчик тактируется с большим делителем, а сразу после установки режима записать значение OCR1A?

_________________
Полный чайник.


Вернуться наверх
 
Выбираем схему BMS для заряда литий-железофосфатных (LiFePO4) аккумуляторов

Обязательным условием долгой и стабильной работы Li-FePO4-аккумуляторов, в том числе и производства EVE Energy, является применение специализированных BMS-микросхем. Литий-железофосфатные АКБ отличаются такими характеристиками, как высокая многократность циклов заряда-разряда, безопасность, возможность быстрой зарядки, устойчивость к буферному режиму работы и приемлемая стоимость. Но для этих АКБ очень важен контроль процесса заряда и разряда для избегания воздействия внешнего зарядного напряжения после достижения 100% заряда. Инженеры КОМПЭЛ подготовили список таких решений от разных производителей.

Подробнее>>
Не в сети
 Заголовок сообщения: Re: Ассемблер (ASM) для AVR в вопросах и ответах
СообщениеДобавлено: Пн фев 13, 2017 10:15:59 
Друг Кота
Аватар пользователя

Карма: 93
Рейтинг сообщений: 1351
Зарегистрирован: Вт мар 16, 2010 22:02:27
Сообщений: 14074
Откуда: ДОНЕЦК
Рейтинг сообщения: 0
Старт режима будет с предшествующим произвольным значением содержимого регистров.
Перенос значения в момент времени в соответствии с заданным режимом.
8)


Вернуться наверх
 
Новый аккумулятор EVE серии PLM для GSM-трекеров, работающих в жёстких условиях (до -40°С)

Компания EVE выпустила новый аккумулятор серии PLM, сочетающий в себе высокую безопасность, длительный срок службы, широкий температурный диапазон и высокую токоотдачу даже при отрицательной температуре. Эти аккумуляторы поддерживают заряд при температуре от -40/-20°С (сниженным значением тока), безопасны (не воспламеняются и не взрываются) при механическом повреждении (протыкание и сдавливание), устойчивы к вибрации. Они могут применяться как для автотранспорта (трекеры, маячки, сигнализация), так и для промышленных устройств мониторинга, IoT-устройств.

Подробнее>>
Не в сети
 Заголовок сообщения: Re: Ассемблер (ASM) для AVR в вопросах и ответах
СообщениеДобавлено: Пн фев 13, 2017 10:23:05 
Друг Кота

Карма: 64
Рейтинг сообщений: 966
Зарегистрирован: Пт мар 07, 2008 06:54:43
Сообщений: 4221
Откуда: Ижевск
Рейтинг сообщения: 0
Для полноты картины, сбрасывать флаг(и)
Спойлер
Код:
;таймер
      ser temp                                           ; устанавливаем числа, с которыми будет сравниваться таймер
      out OCR1AH, temp
      out OCR1AL, temp
;      out OCR1AH, temp
      clr temp         
      out TCCR1A, temp                             ; ОС1А отключен

      ldi temp, (1<<OCIE1A)
      out TIMSK, temp                                ; разрешаем прерывания по совпадению
      out TIFR, temp                                ; Cброс флага OCF1A
      ldi temp, 0b00001001
      out TCCR1B, temp            ; режим СТС :1
      sei


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Ассемблер (ASM) для AVR в вопросах и ответах
СообщениеДобавлено: Пн фев 13, 2017 10:51:22 
Встал на лапы
Аватар пользователя

Карма: 2
Рейтинг сообщений: 2
Зарегистрирован: Ср окт 22, 2014 07:39:26
Сообщений: 115
Откуда: Омск
Рейтинг сообщения: 0
BOB51 писал(а):
Старт режима будет с предшествующим произвольным значением содержимого регистров.
Я к тому, что при больших делителях это некритично; таймер не успеет единичку отсчитать, а у нас уже записано верное значение OCR1A. :)
akl, да, точно, я не подумал о сбросе флага, благодарю :)

_________________
Полный чайник.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Ассемблер (ASM) для AVR в вопросах и ответах
СообщениеДобавлено: Пн фев 20, 2017 09:03:12 
Модератор
Аватар пользователя

Карма: 153
Рейтинг сообщений: 2808
Зарегистрирован: Сб авг 14, 2010 15:05:51
Сообщений: 18100
Откуда: г. Озерск, Челябинская обл.
Рейтинг сообщения: 0
Медали: 1
Лучший человек Форума 2017 (1)
при такой последовательности

ldi R16, 159
out OCR1AH, ZH ; ZH (R31) = 0
out OCR1AL, R16
ldi R16, 0b00000000 ; таймер1, Normal port operation, OC1A/OC1B disconnected
out TCCR1A, R16
ldi R16, 0b00001010 ; таймер1, Compare Match, предделитель 8
out TCCR1B, R16

флаг в TIFR не устанавливается, поэтому и сбрасывать его не надо.

_________________
Мудрость приходит вместе с импотенцией...
Когда на русском форуме переходят на Вы, в реальной жизни начинают бить морду.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Ассемблер (ASM) для AVR в вопросах и ответах
СообщениеДобавлено: Пн фев 20, 2017 11:26:18 
Друг Кота

Карма: 64
Рейтинг сообщений: 966
Зарегистрирован: Пт мар 07, 2008 06:54:43
Сообщений: 4221
Откуда: Ижевск
Рейтинг сообщения: 0
Starichok51 писал(а):
...флаг в TIFR не устанавливается, поэтому и сбрасывать его не надо.
Да, флаг не устанавливается, если нет предистории. Если она есть и связана с другими режимами работы Т1, сбрасывать обязательно. Например, генерация 1 секунды без сброса флага
Вложение:
COMPA1_NO_TIFR.PNG [26.57 KiB]
Скачиваний: 278

И генерация того же ,но со сбросом флага
Вложение:
COMPA1_TIFR.PNG [28.33 KiB]
Скачиваний: 282


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Ассемблер (ASM) для AVR в вопросах и ответах
СообщениеДобавлено: Пн фев 20, 2017 13:01:14 
Модератор
Аватар пользователя

Карма: 153
Рейтинг сообщений: 2808
Зарегистрирован: Сб авг 14, 2010 15:05:51
Сообщений: 18100
Откуда: г. Озерск, Челябинская обл.
Рейтинг сообщения: 0
Медали: 1
Лучший человек Форума 2017 (1)
я имел в виду без предыстории...
а что, если в первом случае еще покрутить отладчик, разве потом не установится ровно 1с?

_________________
Мудрость приходит вместе с импотенцией...
Когда на русском форуме переходят на Вы, в реальной жизни начинают бить морду.


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

Карма: 64
Рейтинг сообщений: 966
Зарегистрирован: Пт мар 07, 2008 06:54:43
Сообщений: 4221
Откуда: Ижевск
Рейтинг сообщения: 0
А это как раз не первый, а последующий(е) периоды, так же как и на картинке со сбросом флага.
Вложение:
COMPA1_FLAG.ASM [840 байт]
Скачиваний: 288


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

Карма: 4
Рейтинг сообщений: 4
Зарегистрирован: Ср окт 15, 2014 12:45:46
Сообщений: 117
Откуда: Анапа
Рейтинг сообщения: 0
Помогите разобраться. есть вот такой код:
Спойлер;==============
; Main.asm file generated by New Project wizard
;
; Created: Пн фев 27 2017
; Processor: ATtiny13
; Compiler: AVRASM (Proteus)
;==============

; предделители и частоты
; рабочая частота 128 кГц
; делитель на 8 выкл.
; предделитель 1024
; сброс при совпадении
; регистр сравнения = 125-1
; результат = прерывание 1 сек
;
;==============
; DEFINITIONS
;==============

;==============
; VARIABLES
;==============
.def Temp=r20
.def Temp1=r21
.def Second=r22
.def Minutes=r23
;==============
; вектора прерываний
;==============

.cseg
.org 0
rjmp Reset
.org 6
rjmp T0_COMPA ;Timer/Counter0 Compare Match A



rjmp Start

Reset: ldi Temp,0b11111111
out DDRB,Temp

ldi temp, low(RAMEND) ; инициализацыя стека
out SPL,temp

ldi Temp,0
out TCNT0,Temp ;обнуляем счетный регистр

ldi Temp,124 ;регистр сравнения
out OCR0A,Temp

ldi Temp,0b00000100 ;разрешить прерывание по совпадению таймера/счетчика 0
out TIMSK0,Temp

ldi Temp,0b00000100 ;Флаг наступления прерывания по совпадению
out TIFR0,Temp

ldi Temp,0b00000101 ;тактовый сигнал = CK/1024
out TCCR0B,Temp

ldi Temp,0b00000010 ;
out TCCR0A,Temp



ldi Temp1,0
clr Second
clr Minutes

sei

rjmp Start


T0_COMPA:
inc Second
cpi Second,60
brne Exit_compa
ldi Second,0
inc Minutes
Exit_compa:
reti
;==============
Start: out PortB,Minutes

rjmp Start


По идее на 5й ноге должен изменятся сигнал каждую минуту (60 сек), но в реальности это происходит каждые 69 сек. Proteus 8,5 моделирует красиво, прошитый контроллер считает криво.

программа прошивки: progisp 1,7
програматор: USBasp

_________________
Если я чего-то не знаю, это не говорит о моем невежестве, а только о том, что раньше этот вопрос лежал вне сферы моих интересов.


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

Карма: 3
Рейтинг сообщений: 7
Зарегистрирован: Чт сен 10, 2015 06:59:03
Сообщений: 106
Откуда: Гродно, BY
Рейтинг сообщения: 0
А какая точность установки частоты 128 кГц?


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

Карма: 4
Рейтинг сообщений: 4
Зарегистрирован: Ср окт 15, 2014 12:45:46
Сообщений: 117
Откуда: Анапа
Рейтинг сообщения: 0
trofim2 писал(а):
А какая точность установки частоты 128 кГц?


простите не понял вопрос.

установка фьюзов:
СпойлерИзображение

_________________
Если я чего-то не знаю, это не говорит о моем невежестве, а только о том, что раньше этот вопрос лежал вне сферы моих интересов.


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

Карма: 3
Рейтинг сообщений: 7
Зарегистрирован: Чт сен 10, 2015 06:59:03
Сообщений: 106
Откуда: Гродно, BY
Рейтинг сообщения: 0
Я спросил какое ДЕЙСТВИТЕЛЬНО значение частоты встроенного генератора 128 кГц.
Можно открыть описание:
Figure 19-52. 128 kHz Watchdog Oscillator Frequency vs. VCC;
Figure 19-53. 128 kHz Watchdog Oscillator Frequency vs. Temperature.
Изучай матчасть.


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

Карма: 4
Рейтинг сообщений: 4
Зарегистрирован: Ср окт 15, 2014 12:45:46
Сообщений: 117
Откуда: Анапа
Рейтинг сообщения: 0
trofim2 писал(а):
Изучай матчасть.

...
все равно что google тебе в помощь

Если бы все знали мат часть, то зачем тогда форумы?
И да, спасибо за подсказку.

_________________
Если я чего-то не знаю, это не говорит о моем невежестве, а только о том, что раньше этот вопрос лежал вне сферы моих интересов.


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

Карма: -8
Рейтинг сообщений: 49
Зарегистрирован: Вс дек 28, 2014 21:54:05
Сообщений: 615
Рейтинг сообщения: 0
А почему Вы выбрали 128 кГц? Чем неугодил internal RC,скажем, 9,6 МГц?

_________________
Я всё-всё узнAю и стану профессором.


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

Карма: 4
Рейтинг сообщений: 4
Зарегистрирован: Ср окт 15, 2014 12:45:46
Сообщений: 117
Откуда: Анапа
Рейтинг сообщения: 0
Просто на 4,8 и 9,6 МГц я не сразу нашел целых делителей так что бы считать одним регистром, так как 16ти битного регистра в 13 нету, а морочится с ними программным путем - лень.
И судя по графикам, внутренний генератор на любых частотах в ней кривоватый, и нужно пересчитывать с поправками.

_________________
Если я чего-то не знаю, это не говорит о моем невежестве, а только о том, что раньше этот вопрос лежал вне сферы моих интересов.


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

Карма: 93
Рейтинг сообщений: 1351
Зарегистрирован: Вт мар 16, 2010 22:02:27
Сообщений: 14074
Откуда: ДОНЕЦК
Рейтинг сообщения: 0
Подобрать коэффициенты всегда можно (ежли немножко пошевилить мозгами :wink: ).
У 13-й предделителей море-мореванное...
8)


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

Карма: 4
Рейтинг сообщений: 4
Зарегистрирован: Ср окт 15, 2014 12:45:46
Сообщений: 117
Откуда: Анапа
Рейтинг сообщения: 0
9.6 МГц / 8 / 1024 = 1171,875
9,6 МГц / 1024 = 9375
4,8 МГц / 8 / 1024 = 585,9375
4,8 МГц / 1024 = 4687
128 Кгц / 8 /1024 = 15,625
128 КГц / 8 / 256 = 65,2
128 Кгц / 8 / 64 = 250
128 Кгц / 1024 = 125
128 Кгц / 256 = 500
какой из вариантов можно посчитать одним регистром и без десятичной части??

А так действительно вариантов море, а точнее 30:
СпойлерИзображение

_________________
Если я чего-то не знаю, это не говорит о моем невежестве, а только о том, что раньше этот вопрос лежал вне сферы моих интересов.


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

Часовой пояс: 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