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

Вопросы от начинающих по МК


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

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

  • Ответов
  • Создана
  • Последний ответ

Топ авторов темы

Вот молодёжь упёртая пошла!...

В третий раз говорю - не считает!!!

константы нижних адресов определены для команды OUT, чтобы их использовать с STS нужно добавлять смещение, поскольку адреса портов в общем адресном пространстве начинаются не с нуля.

Никогда не спорьте с дураком - люди могут не заметить между вами разницы

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

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

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

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

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

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

Hongfa для различных применений в Компэл. Большой выбор в наличии!

Компания HONGFA - это не только крупнейший в мире производитель электромеханических реле, но также производитель конденсаторов, вакуумных прерывателей, трансформаторов и низковольтного коммутационного оборудования. На складе КОМПЭЛ регулярно поддерживаются около 100 самых популярных позиций электромеханических реле. Реле Hongfa могут заместить многие изделия производства недоступных брендов. Подробнее>>

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

Использовали бы макрос, проблем бы не было. И наглядней.

Регистрам можно имена присваивать через директиву .def <идентификатор> = <регистр>

Учение - изучение правил. Опыт - изучение исключений.

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

Тренды и лучшие решения для разработки зарядных станций в России

К 2029 году в России прогнозируется увеличение числа зарядных станций до 40 000. При этом отечественный рынок электротранспорта имеет климатические, потребительские и географические особенности. Для успешной разработки и построения инфраструктуры станций заряда в России идеальным вариантом является использование решений и электронных компонентов китайских производителей – лидеров индустрии электротранспорта и возобновляемой энергетики, которые уже представлены в КОМПЭЛ. Подробнее>>

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

Вот так Ваше прерывание будет компактнее:

tim0ovf:
 in r5,SREG
 push r16
 dec r17
 brne exit_tim0ovf
 inc r18
 out PORTC,r18
 ldi r17,3
exit_tim0ovf:
 pop r16
 out SREG,r5
reti

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

Секреты депассивации литиевых батареек FANSO EVE Energy

Самыми лучшими параметрами по энергоемкости, сроку хранения, температурному диапазону и номинальному напряжению обладают батарейки литий-тионилхлоридной электрохимической системы. Но при длительном хранении происходит процесс пассивации. Разберем в чем плюсы и минусы, как можно ее избежать или уменьшить последствия и как проводить депассивацию батареек на примере продукции и рекомендаций компании FANSO EVE Energy. Подробнее>>

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

Макрос или подпрограмма были бы удобнее, но и так потыкаться тоже полезно, можно узнать кое что новое)

С помощью r16 сохраняется SREG, чтобы его нельзя было изменить в прерывании. Хотя в данном случае по-моему это не обязательно.

Собирал розетку-таймер, где использовал 2 таймера. На одном прерывания, на другом два режима сравнения, действия inc и dec и нигде не сохранял/извлекал SREG. Все работает как часы)

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

Хотя в данном случае по-моему это не обязательно.

Собирал розетку-таймер......Все работает как часы)

Вероятность сбоя основного цикла при модификации SREG в прерывании не слишком велика. Далеко не все команды изменяют флаги и уж совсем редко вызов прерывания происходит между установкой флага и его проверкой.

НО ИЗ ЭТОГО НЕ СЛЕДУЕТ, что нужно упорно создавать себе потенциальные проблемы ради странной экономии пары строк кода в обработчике.

Баги связанные с контекстом проявляются относительно редко, но если проявляются, то найти их практически не возможно. Ну если не знать, что дело в контексте, конечно....

戦う前に相手のベルトの色に注目

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

В данном варианте прерывания, влияние на SREG оказывают команды inc и dec. Если программа не будет иметь дальнейшего развития, то можно обойтись без сохранения регистра статуса. А насчет сохранения R16-го, как подметил Григорий Т., этот баг я пропустил (оставил как в оригинале, забыл удалить). Конечно же он не нужен, если сохранять регистр статуса не в стек, а в неиспользуемый регистр.

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

Макрос или подпрограмма были бы удобнее, но и так потыкаться тоже полезно, можно узнать кое что новое

Так ты новое точно не узнаешь, а только запутаешься. Макрос закрывает собой рутинные действия, делает программу более наглядной, очевидной и компактной.

Точно так же как и присвоение имён регистрам.

Всё это даёт больше шансов написать правильно работающую программу с меньшего количества попыток.

Учение - изучение правил. Опыт - изучение исключений.

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

Всегда присваиваю имена регистрам, просто это тестовая прога, купил новый МК, проверяю) экономлю место, присвоение имён - лишние строчки…

Всем спасибо за помощь

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

присвоение имён - лишние строчки…

эти 'лишние строчки' используются только для работы самого компилятора,и размер конечного файла прошивки не будет зависеть от того, используете ли вы эти мнемоники/дефайны/еку или нет

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

Лишние строчки, зато меньше головняка. Темболее когда показываете код другим для советов - в сложный(запутанный) код желание вникать очень сильно пропадает.

Учение - изучение правил. Опыт - изучение исключений.

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

Подскажите пожалуйста, в даташите на контроллер( ATmega 8515) написано, что максимальный ток одного пина 40мА, вопрос, сможет ли микроконтроллер одновременно включить 12 пинов на 20 мА каждый( то есть подключены для примера, порт А 6 нагрузок по 20 Ма и порт Д 6 нагрузок по 20Ма) ?

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

Подскажите пожалуйста, в даташите на контроллер( ATmega 8515) написано, что максимальный ток одного пина 40мА, вопрос, сможет ли микроконтроллер одновременно включить 12 пинов на 20 мА каждый( то есть подключены для примера, порт А 6 нагрузок по 20 Ма и порт Д 6 нагрузок по 20Ма) ?

В этом же даташите обозначен СУММАРНЫЙ ток через все пины портов. Иногда он обозначается как ток через пин питания и земли, поскольку вытекающие из портов токи суммируются в питающем выводе, а втекающие - в земляном.

戦う前に相手のベルトの色に注目

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

...Тогда лучше...

ULN2004. У нее хотя бы базовые токи меньше. Но! Все сказанное my504 о суммарных токах справедливо и для ULN20XX. Еще один недостаток. Напряжения насыщения открытого канала составляет 1,0В -1,1В (особенность построения каскада). А суммарная мощность рассеиваемая корпусом 1,0 - 1,5Вт. Теперь посчитайте сколько мощности будет выделяться на сборке, если все 7 каналов нагрузить по 500мА. На практике, корпус начинает сильно перегреваться при токе коммутации выше 200мА (при всех открытых каналах).

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

В этом же даташите обозначен СУММАРНЫЙ ток через все пины портов. Иногда он обозначается как ток через пин питания и земли, поскольку вытекающие из портов токи суммируются в питающем выводе, а втекающие - в земляном.

Да, все, увидел, суммарный ток 200 мА

получается многовато

Попробую поэкспериментировать с UNL2004.

А скажите, UNL работает как и порт контроллера, то есть когда лог 1 то на выходе +5 питания, а когда лог 0 то на выходе масса (- питания)?

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

Нет. Посмотрите даташит на неё , все станет ясно. Я когда использую 2003, сигнал приходится инвертировать.

А именно, если на мк на пине 0 то открывается транзистор в 2003ей, и нагрузку коммутирует на землю через 2003ю. Не знаю понятно объяснил или нет?

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

Не знаеш как? Спроси у Google'а !!!

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

ULN200Х - сборка транзисторов. Она и работает как транзистор. Т.е., если на линии порта 0, то нет базового тока - выходной канал закрыт и наоборот, если на линии порта 1, базовый ток открывает выходной канал. Иными словами, как обычный транзисторный ключ.

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

в даташите даже есть схема этого ключика по отдельности. Там вообще-то дарлингтон если что. Но есть одна заковыка там со встроенными диодами. Читайте мелкие буковки в даташите внимательно (технологические диоды)

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

Нужно делать то, что нужно. А то, что не нужно, делать не нужно. (С) Винни Пух

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

ULN2004. …Теперь посчитайте сколько мощности будет выделяться на сборке, если все 7 каналов нагрузить по 500мА

Какая нагрузка столько потребляет?)

Для неё нужно что-то помощнее?

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

Это я к той заметке, что Вы выкладывали выше. Не обольщайтесь параметрами единичного канала. Сразу все (одновременно) не смогут сносно работать при максимально-допустимой нагрузке (500мА на каждый канал).

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

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

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

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

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

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

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

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

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

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

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

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