Обсуждаем контроллеры компании Atmel.
Ответить

Re: Первое знакомство. Первые грабли. Светофор на Attiny13A

Пн окт 01, 2018 16:03:36

Ого :shock: какая дискуссия :)))

Поправил схему:

В целом-то прошивка оказалась рабочей... это я, по собственной неосмотрительности, забыл в макетку подтягивающие резисторы на 2 и 3 ноги МК.
Собственно, как тут и сказано было:
akl писал(а):Думаю, все чудеса от некорректного включения кнопок.


Конечно же мелкие баги присутствуют. Не всегда чётко отрабатывает переход из режима ручного переключения в автоматический. Щас будем поглядеть, где в коде собака кота напугала.
Кстати, спасибо за тестовую прошивку! Пригодится.

Re: Первое знакомство. Первые грабли. Светофор на Attiny13A

Пн окт 01, 2018 16:03:46

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

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

Re: Первое знакомство. Первые грабли. Светофор на Attiny13A

Пн окт 01, 2018 18:34:29

В целом-то прошивка оказалась рабочей...
Добавьте переменный резистор на вход АЦП чтобы скорость работы менять.

Re: Первое знакомство. Первые грабли. Светофор на Attiny13A

Пн окт 01, 2018 19:18:12

...Добавьте ...

Выводы посчитал?

Re: Первое знакомство. Первые грабли. Светофор на Attiny13A

Пн окт 01, 2018 19:29:42

Выводы посчитал?
Давай я сделаю гроссмейстерскую паузу, а ты подумаешь как :)

Re: Первое знакомство. Первые грабли. Светофор на Attiny13A

Пн окт 01, 2018 21:23:19

а ты подумаешь как :)

Новичку на ассемблере? Да когда он его сделает, его ребёнок своих детей родит)

Re: Первое знакомство. Первые грабли. Светофор на Attiny13A

Вт окт 02, 2018 01:24:39

Добавьте переменный резистор на вход АЦП чтобы скорость работы менять.

Было бы можно, но в целевом "устройстве" под него нет места, да и переменников лишних нет, на те что есть - другие планы.
А с АЦП другая задача вырисовывается: планируется сопряжение кнопок руля авто с головным аудиоустройством JVC, при чём тоже на Attiny13.

Re: Первое знакомство. Первые грабли. Светофор на Attiny13A

Вт окт 02, 2018 05:02:01

Вот тебе и ход конём.

Re: Первое знакомство. Первые грабли. Светофор на Attiny13A

Вт окт 02, 2018 06:33:23

Лениво весь пост читать.
В головном сообщении нужно было написать задачу, чтобы участники не тратили свое время на чтение портянки, дабы размотать ТЗ и что требуется автору.

Программа начинается с постановки задачи. ТЗ.
Тренировка на учебных примерах это прекрасно, но не стоит браться за сложный проект, пока не освоил азы. Пример первый. У вас используются кнопки. У физических контактов есть так называемый дребезг контактов. При соприкосновении контактов и разрыве возникает дребезг. Пачка импульсов. У вас нет программной обработки дребезга, поэтому неадекватное поведение программы. В протеусе это ессно не будет показано. Потому что протеус это симулятор идеальных процессов. Для него контакт это всегда замкнуто или разомнуто.

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

При обработке дребезга нужно будет отмерять временные интервалы. Параллельно мигать светодиодами.

Вывод второй. Программные таймеры.

И вывод третий - параллелить процессы. Осваивать автоматное программирование, использовать конечные автоматы.

Используя то, что я написал, вся ваша программа пишется левой пяткой, покуривая сигарету... Хоть на ассемблере, хоть на бейсике, хоть на си.

Re: Первое знакомство. Первые грабли. Светофор на Attiny13A

Вт окт 02, 2018 06:40:25

Лениво весь пост читать.
Клинический случай "чукчи не читателя, чукчи писателя". ТС уже видео работающего образца показал.

Re: Первое знакомство. Первые грабли. Светофор на Attiny13A

Вт окт 02, 2018 06:45:07

Клинический случай "чукчи не читателя, чукчи писателя". ТС уже видео работающего образца показал.

И шо?

Re: Первое знакомство. Первые грабли. Светофор на Attiny13A

Вт окт 02, 2018 07:17:40

Пиши изчо.

Re: Первое знакомство. Первые грабли. Светофор на Attiny13A

Вт окт 02, 2018 07:18:33

Программа начинается с постановки задачи. ТЗ.

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

Понятие о дребезге имею. Не стал тревожить старожил форума по данному вопросу. Не маленький ведь, читать и искать умею. Да и потому что подобные вопросы стойко приводят к ответам типа: "учите матчасть", "воспользуйтесь поиском по форуму", "гугл в помощь", "смотрите даташит".
Вопрос с дребезгом решил превентивными мерами, по-дедовски. Программную реализацию сего момента отложу до следующего проекта. В этом же и конденсаторов достаточно будет, не критично для данного устройства. Да и чтобы "горшочек" не переварил каши: для первого раза вполне достаточно информации для осознания.
И вывод третий - параллелить процессы.

Честно говоря, слабо себе представляю, насколько возможно такое в тиньке.

Re: Первое знакомство. Первые грабли. Светофор на Attiny13A

Вт окт 02, 2018 07:19:57

Пиши изчо.

Поясняю. ТС задумал следующий проект. Но у него в ТЕКУЩЕМ проекте нет перечисленных мной принципов.

Re: Первое знакомство. Первые грабли. Светофор на Attiny13A

Вт окт 02, 2018 07:48:35

Честно говоря, слабо себе представляю, насколько возможно такое в тиньке.

На тини13 можно использовать простенький диспетчер задач:
Диспетчер задач обеспечивает независимый (паралельный) запуск Задач в соответствии с их парамерами (Period_Task период запуска - может быть 1-255)
Для основной программы диспетчер "невидим" - не затрагивает стека, не изменяет регистров.
Диспетчер необходимо периодически вызываеть с постоянной установленной частотой (это можно делать по таймеру или даже по W.Dog-таймеру)

тут пример, правда ассемблер специфический:
http://www.getchip.net/posts/079-ir-udl ... -attiny13/
голый пример мигания двух светодиодов с диспетчером, забирает немного ресурсов:
Изображение

Re: Первое знакомство. Первые грабли. Светофор на Attiny13A

Вт окт 02, 2018 08:14:14

На тини13 можно использовать простенький диспетчер задач:

Не сносите мозг новичкам диспетчерами задач. Автоматное программирование охватывает большой диапазон задач и проектов.

Re: Первое знакомство. Первые грабли. Светофор на Attiny13A

Вт окт 02, 2018 08:15:20

тут пример, правда ассемблер специфический:

Спасибо за намётку. Но там даже не ассемблер, это какая-то программа по визуальному программированию, где-то видел что-то подобное, там из визуальных блоков составляется проект: полуалгоритм, полублок-схема, а на выходе - hex-код.

Re: Первое знакомство. Первые грабли. Светофор на Attiny13A

Вт окт 02, 2018 08:19:41

Спасибо за намётку. Но там даже не ассемблер, это какая-то программа по визуальному программированию, где-то видел что-то подобное, там из визуальных блоков составляется проект: полуалгоритм, полублок-схема, а на выходе - hex-код.

Не советовал бы тратить на это время.

Re: Первое знакомство. Первые грабли. Светофор на Attiny13A

Вт окт 02, 2018 09:03:30

Спасибо за намётку. Но там даже не ассемблер

просто почитать:
http://we.easyelectronics.ru/AVR/avrasm ... ya-os.html

Re: Первое знакомство. Первые грабли. Светофор на Attiny13A

Вт окт 02, 2018 09:16:07


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