Перейти к содержанию

Рекомендуемые сообщения

Написать программу Асм атмега 1284.

Фрагмент: после команды считать рабочий регистр (в котором может появиться число от 1 до 50) каждому числу  соответствует 4 значения  (это таблица) их нужно загрузить в четыре рабочих регистра для дальнейшей обработки)

 Где лучше хранить таблицу?

Пример: считали 48  числа 5; 8; 21; 25

                Считали 31 числа 4;  9; 11; 35

 

Ссылка на комментарий
Поделиться на другие сайты

Реклама: ООО ТД Промэлектроника, ИНН: 6659197470, Тел: 8 (800) 1000-321

Таблицу лучше хранить в памяти программ. Хотя для упомянутого микроконтроллера, да еще и "на асме" таблицу и в ОЗУ хранить можно. Просторно же...

Если забанить всех, кто набрался смелости думать независимо, здорово будет на форуме - как на кладбище: тишина, птички поют...

Ссылка на комментарий
Поделиться на другие сайты

20% скидка на весь каталог электронных компонентов в ТМ Электроникс!

Акция "Лето ближе - цены ниже", успей сделать выгодные покупки!

Плюс весь апрель действует скидка 10% по промокоду APREL24 + 15% кэшбэк и бесплатная доставка!

Перейти на страницу акции

Реклама: ООО ТМ ЭЛЕКТРОНИКС, ИНН: 7806548420, info@tmelectronics.ru, +7(812)4094849

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

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

Реклама: АО КОМПЭЛ, ИНН: 7713005406, ОГРН: 1027700032161

Храните в памяти программ. Чтобы загрузить таблицу в ОЗУ, ее надо будет прочитать откуда-то, опять же из памяти программ.

Тем паче, если требуется один раз (только при включении), то решается как "два пальца об асфальт"...

Вам кусок кода нужен или вся программа?

Изменено пользователем Геннадий
Ссылка на комментарий
Поделиться на другие сайты

В 16.05.2017 в 15:01, солар сказал:

Хранить, конечно же, во флеш. Вытягивать LPM. Обращайтесь, напишу.

Думаю, нужно написать пять программ.

1) Приём  сигналов с геркона  по сложному алгоритму. Эта прога должна активироваться при появлении перепада на герконе. 

 После приёма этого сигнала в Регистре ввода появляются значения от 1-50

 2)  - Прога это значение (дергает затвор полевика) выдаёт на виброзвонок 

Вибро звонки есть двух типов мотор и эл. Магнит.  Я полагаю применить эл. Магнит, т.е. выдавать меандр на затвор.

Потом запускается 3-я прога,  

за ней 4-я и  5-я   (они аналогичные) в них и нужны табличные соответствия.

Первое время 2-я прога выдает данные с результатов 3-й проги,  после 20 приемов сигнала Регистра ввода, данные с результатов 4 - й выводятся  на виброзвонок (посредством 2-й проги) после 50 приемов сигнала результаты выводятся с 5-й проги. и в SLEEP.

Пробуждение либо от геркона, либо кнопки тогда повтор последней выдачи сигналов.

Получается три таблицы  (к 3;4 и 5 проги) ко всем нужно будет обращаться, поочерёдно при выполнении.

Ссылка на комментарий
Поделиться на другие сайты

20 часов назад, 55nlo сказал:

Приём  сигналов с геркона  по сложному алгоритму.

Геркон дает либо 0, либо 1. Сложного здесь ничего нет.

Я не раздаю удочки. Я продаю рыбу.

Ссылка на комментарий
Поделиться на другие сайты

1 час назад, солар сказал:

Геркон дает либо 0, либо 1. Сложного здесь ничего нет.

Да , Вы описали  простой алгоритм!   А сложный к примеру: азбука морзе.

У меня другой ранее  задавался вопрос:

Есть рабочий регистр  ввода Rввода в нём появляется некое число (1-40)

Есть ещё четыре рабочих регистра R1;R2;R3;R4

Объяснить и написать программу (фрагмент),  которая вносила в четыре регистра значения (от 1 до 63) на каждое значение R ввода своё табличное значение.

Условный пример:

Rвв = 1, тогда   R1=18;  R2=6;  R3=47;  R4=60

Rвв = 2, тогда   R1=11;  R2=61;  R3=4;  R4=50

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

Rвв = 40, тогда   R1=33;  R2=26;  R3=7;  R4=6

Указать стоимость.

13 часа назад, mcuprog сказал:

Берите большой лист бумаги и рисуйте блок-схему алгоритма.

Пожалуйста нарисуйте блок-схему алгоритма:

Объяснить и написать программу (фрагмент),  которая вносила в четыре регистра значения (от 1 до 63) на каждое значение R ввода своё табличное значение.

Условный пример:

Rвв = 1, тогда   R1=18;  R2=6;  R3=47;  R4=60

Rвв = 2, тогда   R1=11;  R2=61;  R3=4;  R4=50

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

Rвв = 40, тогда   R1=33;  R2=26;  R3=7;  R4=6

Ссылка на комментарий
Поделиться на другие сайты

9 часов назад, 55nlo сказал:

Пожалуйста нарисуйте блок-схему алгоритма:

Объяснить и написать программу (фрагмент),  которая вносила в четыре регистра значения (от 1 до 63) на каждое значение R ввода своё табличное значение.

Условный пример:

Rвв = 1, тогда   R1=18;  R2=6;  R3=47;  R4=60

Rвв = 2, тогда   R1=11;  R2=61;  R3=4;  R4=50

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

Rвв = 40, тогда   R1=33;  R2=26;  R3=7;  R4=6

Пожалуйста. Именно этот фрагмент изображается в виде мааленького прямоугольничка с надписью:

вход: Rвв

выход: R1,R2,R3,R4

 

Ссылка на комментарий
Поделиться на другие сайты

Ответил в личку.

17 часов назад, 55nlo сказал:

А сложный к примеру: азбука морзе.

ИК светодиод тоже имеет два состояния - излучает/не излучает. Ничего сложного. Посылка для того же телека, например, смесь 0 и 1. Ничего сверхестественного.

И приемник ИК излучения имеет на выходе либо 0, либо 1. Расшифровать посылку от пульта управления - тоже ничего сверхестественного.

Изменено пользователем солар

Я не раздаю удочки. Я продаю рыбу.

Ссылка на комментарий
Поделиться на другие сайты

24 минуты назад, солар сказал:

Ответил в личку.

ИК светодиод тоже имеет два состояния - излучает/не излучает. Ничего сложного. Посылка для того же телека, например, смесь 0 и 1. Ничего сверхестественного.

И приемник ИК излучения имеет на выходе либо 0, либо 1. Расшифровать посылку от пульта управления - тоже ничего сверхестественного.

Действительно всё наглядно и просто! Но азбуку морзе не воспринимает.

Ссылка на комментарий
Поделиться на другие сайты

Азбуку Морзе воспринимает программа, написанная для приёма азбуки Морзе, а не программа, которая

В 16.05.2017 в 12:58, 55nlo сказал:

после команды считать рабочий регистр (в котором может появиться число от 1 до 50) каждому числу  соответствует 4 значения  (это таблица) их нужно загрузить в четыре рабочих регистра для дальнейшей обработки)

 

Я не раздаю удочки. Я продаю рыбу.

Ссылка на комментарий
Поделиться на другие сайты

8 часов назад, 55nlo сказал:

проверенные

Проверенные описаны в даташите. РВ5 - MOSI, РВ6 - MISO, РВ7 - SCK. Само собой /RESET и питание.

Я не раздаю удочки. Я продаю рыбу.

Ссылка на комментарий
Поделиться на другие сайты

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.
Примечание: Ваш пост будет проверен модератором, прежде чем станет видимым.

Гость
Unfortunately, your content contains terms that we do not allow. Please edit your content to remove the highlighted words below.
Ответить в этой теме...

×   Вставлено с форматированием.   Восстановить форматирование

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

Загрузка...
  • Последние посетители   0 пользователей онлайн

    • Ни одного зарегистрированного пользователя не просматривает данную страницу
  • Сообщения

    • Если схема совпадает полностью на 100% (а это можно терпеливо проверить по каждой дорожке), то можно использовать и плату Дреда с первой страницы ("подрихтовать" ее под себя). Или же ужать и перерисовать плату оригинала (я бы в любом случае заменил транзистор с "нестандартным" круглым радиатором на что-то более распространенное в корпусе TO-126). Что я заметил в оригинале в журнале, это то, что плата рассчитана как на микросхемы в TO-99 корпусе (а они стоят раз в 10 дороже), так и в DIP8. Проблема этой схемы в основном из-за ограничений по максимальному выходному напряжению трансформатора (из-за максимально допустимого напряжения питания ОУ). Согласно Гуглу, 741 ОУ был разработан еще в 1963 году, с тех пор много воды утекло, можно найти много вариантов замен, и получше. Да и 741 был выпущен многомиллионными типажами. Скажу лишь, что 741 очень часто использовался именно в блоках питания. Лет так 30 назад пришлось ремонтировать немецкий лабораторник сделаный по похожей схемотехнике, на 741 ОУ и 3055 транзисторы на выходе. Класный блок был, но он не выдержал обычного советского брака (иди и знай что промышленном высоковольтном преобразователе выходная обмотка пробьет на первичку, до этого их десятками проверяли (много брака было). А тогда никакого импорта на радиорынке почти не было еще. Пришлость ставить взамен КР140УД708 (или 608, уже не помню точно), и КТ819ГМ в металле взамен 3055. После замены БП продолжал трудиться еще многие годы.
    • Не болтайте чепухой! Ни в компараторе, ни в ОУ НЕТ никакой "внутренней цепи гистерезиса". Гистерезис задается исключительно ОБВЯЗКОЙ. Выход компаратора построен по схеме ОК, т.е., он может только ПРИНИМАТЬ ток, поступающий от шины питания через R5. Следовательно, транзистор открывается током, протекающим через R5, а закрывается закорачиванием его базы выходным транзистором компаратора  на общую шину.  Отсюда следует, что либо постановщик задания - тупарь, не имеющий никакого понятия об особенностях работы компаратора, либо применен не компаратор, а ОУ. В последнем случае был бы нужен R6, а вот R5 был бы совершенно лишним..
    • @Falconist , раз по заданию нужен - обосновать не проблема. И вообще-то про его "нужность" у меня написано. Для особо придирчивых могу обосновать так: R6 применён, чтобы обеспечить на выходе компаратора высокий уровень сигнала, а не ограничивать его напряжением база-эмиттер. Это нужно, чтобы правильно срабатывала имеющаяся внутренняя цепь гистерезиса в компараторе. Ей нужно, чтобы уровень выходного напряжения был достаточный. Иначе будет "звон" при переключении на пологих фронтах. Возражения есть?
    • Коробки должны быть прозрачными, с крышками, и удобно складируемыми. Можно, конечно, круглые, но прямоугольные удобнее.
    • На самом деле - фигня вопрос. R1 - чтобы привязать потенциал входа ОУ к нулю. Определяет требуемое входное сопротивление этого детектора. Берём равным заданному входному сопротивлению, например 10 кОм. R2, R3 - резистивный делитель напряжения, устанавливает порог срабатывания вашего "детектора". Допустим, задан порог срабатывания 1,0 В. Выбираем ток этого делителя. Он должен быть минимум в 50 - 100 раз больше входного тока утечки компаратора, чтобы паразитный ненормированный входной ток не влиял на точность. Допустим, он по справочнику не более 1 мкА. Выбираем ток делителя в 1000 раз больше - 1 мА. Напряжение питания компаратора и этого делителя берём меньше напряжения питания, чтобы работал параметрический стабилизатор на вашем стабилитроне без позиционного обозначения. Выбор примерно 5 В - нормально. И для компаратора напряжение питания в допустимом диапазоне, и на регулировку достаточно остаётся. Итого, стабилитрон на (примерно, с допуском) 5,1 В. На выходе делителя напряжения (на входе компаратора) должно быть 1 В (это порог). Считаем номиналы резисторов: R3 = 1 В / 1 мА = 1 кОм. R2 = (5,1-1)В / 1 мА = 4,1 кОм. Выбираем ближайшие номиналы из ряда заданной точности. Например, из ряда Е96 с 1% точностью это будут номиналы 1,0 кОм и 4,12 кОм. Если нужна точность установки порога лучше, чем может обеспечить стабилитрон, напряжение порога можно подстроить изменяя в небольших пределах сопротивление одного из этих резисторов. Из справочника берём ток потребления компаратора. Например, он 5 мА. Выбираем номинал выходного резистора R7 таким, чтобы обеспечить выдачу 5 В на заданную нагрузку. Допустим, нагрузка 1 кОм. Тогда чтобы на ней напряжение могло быть 5 В, сопротивление R7 должно быть не более 100 Ом (5,1 В / (1+0,1)кОм * 1 кОм = 5,0 В). Ток через R7, когда на выходе 0, будет равен 5,1 В / 0,1 кОм = 51 мА (примерно, напряжение насыщения UБЭ транзистора не учитываем, хотя можно и учесть). Ток через R5 не должен превышать максимально-допустимый выходной ток компаратора (берётся из справочника). Выбираем этот ток вдвое меньше, равным 2 мА. Тогда R5 = (5,1 - UБЭ) / 2 мА = (5,1-0,7)/2 = 2,2 кОм. Итого, от источника будет потребляться ток 5 мА в компаратор, плюс 1 мА в делитель напряжения порога, плюс 51 мА через R7 или 2 мА через R5 плюс ток в стабилитрон. Током в базу транзистора пренебрегаем, хотя можно и учесть. Ток в стабилитрон должен компенсировать изменение тока потребления остальной части схемы, то есть 51 - 2 мА (бывает или один, или второй) = 49 мА. Ток в стабилитрон зададим равным 50 мА, с запасом в 1 мА, чтобы через стабилитрон всегда тёк какой-то ток. Итого, суммарный ток потребления будет постоянным и равным 5 + 1 + 51 + 1 = 58 мА или 5 + 1 + 2 + 50 = 58 мА. Отсюда требуемое сопротивление балластного резистора R4 равно (9 - 5,1)В / 58 мА = 67,2 Ом. Из того же ряда выбираем номинал 66,5 Ом (в сторону уменьшения, "лишний" ток заберёт стабилитрон). Остался резистор R6. В принципе, он в данной схеме действительно не очень нужен (если взять R5 номиналом побольше), но у нас он будет ограничивать ток в базу транзистора, чтобы он не уходил в глубокое насыщение и переключался побыстрее. Ток коллектора транзистора мы знаем - 51 мА. Коэффициент усиления транзистора по току берём из справочника. Берём минимальный, чтобы гарантированно открывался. Например, 100. Ток базы будет 51 мА / 100 = 510 мкА. Чтобы такой ток шёл с +5,1 В, суммарное сопротивление R6 и R5 должно равняться 5,1 В / 510 мкА = 10 кОм. Номинал R6 равен 10 кОм - 2,2 кОм = 7,8 кОм. Из ряда Е96 выбираем ближайший номинал 7,87 кОм. Всё.  
    • Схему ищите в начале темы. Я не занимался изготовлением доктора (только софт), поэтому подсказать Вам в этом вопросе не могу.
  • Похожий контент

×
×
  • Создать...