Например TDA7294

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

Текущее время: Пн июл 28, 2025 01:33:24

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


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



Начать новую тему Ответить на тему  [ Сообщений: 7956 ]     ... , , , 387, , , ...  
Автор Сообщение
Не в сети
 Заголовок сообщения: Re: Ассемблер (ASM) для AVR в вопросах и ответах
СообщениеДобавлено: Пт ноя 29, 2024 08:39:29 
Мучитель микросхем

Зарегистрирован: Вт окт 01, 2024 15:22:33
Сообщений: 428
Рейтинг сообщения: 2
зачем мне опрашивать "+" и "-" чаще, если промежуточные опросы не несут никакой информации?

Затем чтобы нажатия этих "+" и "-" не пропустить. Как вы комповой клавиатурой пользуетесь? Не мешает ведь то, что она быстро на нажатия реагирует и эти нажатия не пропускает? Видимо нет, т.е. можно сделать все так, что будет работать хорошо для всех, а не только для тех, кто нажимает кнопку и держит до тех пор пока на экране что-то там не обновится. Тем более, как я говорил, опрашивать кнопки 10 раз в сек ничуть не сложнее, чем 3.


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

Карма: 1
Рейтинг сообщений: 23
Зарегистрирован: Чт авг 21, 2014 11:11:48
Сообщений: 1205
Откуда: краснодарский край
Рейтинг сообщения: 0
Может эту задачу решает проще аналоговая вычислительная машина,то есть конденсатор и резистор на кнопке(интегратор),вместо кучи транзисторов в МК и кодов для них?

Чтобы не плодить сущности.


Последний раз редактировалось главный колбасист Пт ноя 29, 2024 11:30:09, всего редактировалось 1 раз.

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

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

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


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Ассемблер (ASM) для AVR в вопросах и ответах
СообщениеДобавлено: Пт ноя 29, 2024 09:24:36 
Мучитель микросхем
Аватар пользователя

Карма: 1
Рейтинг сообщений: 38
Зарегистрирован: Ср янв 11, 2012 18:20:26
Сообщений: 473
Рейтинг сообщения: 0
Starichok51 писал(а):
так что, кнопки у меня работают хорошо для всех,
тут ошибочка логическая)

кнопки работают хорошо, только для всех кто собрал :)
что дааалеко не для всех))


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Ассемблер (ASM) для AVR в вопросах и ответах
СообщениеДобавлено: Пт ноя 29, 2024 10:33:38 
Модератор
Аватар пользователя

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

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


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Ассемблер (ASM) для AVR в вопросах и ответах
СообщениеДобавлено: Пт ноя 29, 2024 10:56:29 
Мучитель микросхем
Аватар пользователя

Карма: 10
Рейтинг сообщений: 155
Зарегистрирован: Ср июн 29, 2022 16:25:45
Сообщений: 469
Рейтинг сообщения: 1
Для тех, кто не собрал - они вообще не работают!!! :))

А антидребезг нужен, когда обработчик быстрый. Что б одно нажатие "+" не превратилось в 100500 инкрементов.

Большой период опроса - тоже алгоритм антидребезга. И под этот период опроса нужно заводить отдельный таймер. Либо все процессы, если позволяет алгоритм, вязать к этому периоду.
А если периоды опроса разные - 3 раза в сек и 100 раз в сек - то нужно делать таймеры индивидуально под каждый период. Все зависит от общего алгоритма программы и концепции обработки событий, внешних и внутренних.
(Здесь под таймерами я имею ввиду не Т0/1/2/..., а программные счетчики, базирующиеся на каком то опорном временОм событии.)

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

_________________
Белая и Пушистая


Вернуться наверх
 
Распродажа паяльного оборудования ATTEN!
Паяльные станции, паяльники и аксессуары по самой выгодной цене.

По промокоду radiokot скидка 10%
Не в сети
 Заголовок сообщения: Re: Ассемблер (ASM) для AVR в вопросах и ответах
СообщениеДобавлено: Пт ноя 29, 2024 11:19:21 
Мучитель микросхем
Аватар пользователя

Карма: 1
Рейтинг сообщений: 38
Зарегистрирован: Ср янв 11, 2012 18:20:26
Сообщений: 473
Рейтинг сообщения: 0
Just_Fluffy писал(а):
А антидребезг нужен, когда обработчик быстрый. Что б одно нажатие "+" не превратилось в 100500 инкрементов.
Just_Fluffy, согласен. Именно ради инкрементов.
Я выше рисовал график дребезга и обработку в своём понимании)

Для меня проще оказалось ввести задержку перед возвращением в опрос. Задержка нужна что бы пронаблюдать и осмыслить изменения которые произошли (на дисплее или ещё как система отреагировала).
И однажды я понял, что использую эти задержки вместе с антидребезгом. Поэтому от антидребезга и отказался.

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


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Ассемблер (ASM) для AVR в вопросах и ответах
СообщениеДобавлено: Пт ноя 29, 2024 11:37:53 
Мучитель микросхем
Аватар пользователя

Карма: 10
Рейтинг сообщений: 155
Зарегистрирован: Ср июн 29, 2022 16:25:45
Сообщений: 469
Рейтинг сообщения: 4
shonty, если алгоритм основной программы разрешает задержки - то можно и так.
Но в моем понимании антидребезг нужен не только как устранение собственно дребезга, а и как защита от помех и рандомных коротких нажатий сторонними предметами ...
Ибо в моем понимании человек не может нажать кнопку на 2-5-7 мс. Соответственно, если нажатие длится менее какого то времени - это не нажатие. А в вашем случае будет сработка....

_________________
Белая и Пушистая


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Ассемблер (ASM) для AVR в вопросах и ответах
СообщениеДобавлено: Пт ноя 29, 2024 11:47:55 
Говорящий с текстолитом

Карма: 25
Рейтинг сообщений: 450
Зарегистрирован: Сб май 05, 2012 20:24:52
Сообщений: 1636
Откуда: KN34PC, Болгария
Рейтинг сообщения: 0
Для медленных систем /режим МК без генератора, МК только как управление/ всегда использую простой метод: кнопка/и: цифровое чтение (в LOW), пауза, цифровое чтение (в LOW). Если второе чтение "Да" - выполняем. Пауза 20 или 30 ms. Не занимает места в памятья, исключены любые проблемы bounce, MK работают примерно в 10 см от мощных электромагнитных полей (напр. около УМ 4*ГУ-50, МК на сантиметрах от П-фильтра). Отдавна принял активный "LOW" - гораздо более помехоустойчив, по крайней мере на столе с TRX и любых сигналах на проводах и в ефире вокруг МК.

В прошлом напр. протестировал 5-7 способов. Таймеры, специальные функции, много способов. В последнее время изпользую только простой метод. Почти всегда без едного конденсатора на шине. Иногда даже с внурт. pull-up из MK. Правда, с одной кнопкой, используемой в течение длительного периода, проводил исследование, было интересно. Bounce импульсы былы более 50 ms, много "иголок". Конечно кнопка: в корзину, но бывают и такие случаи. (частично пользуюсь переводчиком БГ->РУ)


Последний раз редактировалось veso74 Пт ноя 29, 2024 11:55:46, всего редактировалось 3 раз(а).

Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Ассемблер (ASM) для AVR в вопросах и ответах
СообщениеДобавлено: Пт ноя 29, 2024 13:06:56 
Мучитель микросхем
Аватар пользователя

Карма: 1
Рейтинг сообщений: 38
Зарегистрирован: Ср янв 11, 2012 18:20:26
Сообщений: 473
Рейтинг сообщения: 0
Just_Fluffy писал(а):
А в вашем случае будет сработка..
Just_Fluffy, да, в моём случае сработает. Подобно триггеру.
Вы писали про алгоритмы, а я пишу про концепцию :)

Добавлено after 1 hour 14 minutes 29 seconds:
Кстати, поинтересовался, есть ли антидребезг в клавиатурном контроллере типа tm1637:
из ДШ, пишут что 键扫描(8×2bit), 增强型抗干扰按键识别电路 (Сканирование ключей (8×2 бит), улучшенная схема распознавания ключей с защитой от помех)
Аппаратно наверное Изображение


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

Карма: 153
Рейтинг сообщений: 2917
Зарегистрирован: Сб авг 14, 2010 15:05:51
Сообщений: 18741
Откуда: г. Озерск, Челябинская обл.
Рейтинг сообщения: 0
Медали: 1
Лучший человек Форума 2017 (1)
Just_Fluffy писал(а):
А если периоды опроса разные - 3 раза в сек и 100 раз в сек - то нужно делать таймеры индивидуально под каждый период.
у меня в вышеописанном случае есть программный таймер по 10 мс. и есть счетчик по 10 мс.
каждые 10 мс опрашивается кнопка Пуск/Стоп и другой счетчик считает число "нажатых" опросов этой кнопки.
состояния счетчика по 10 мс разбиваются на 3 интервала - 33 (330 мс), 66 (660 мс) и 100 (1 сек), состояние счетчика 100 сбрасывает его на ноль. вот в эти 3 интервала происходит опрос кнопок + и -.
и если тебе угодно, счетчик по 10 мс можешь называть тоже программным таймером, так как он в итоге отмеряет 1 секунду.

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


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

Зарегистрирован: Сб июл 30, 2011 21:00:24
Сообщений: 111
Рейтинг сообщения: 0
Защита от дребезга – простая задача.
Надо дождаться, когда дребезг закончиться, тогда можно считывать положения кнопок.
Я использовал простой вариант – программа считывает порт с кнопками 3 раза с интервалом 30 миллисекунд в 3 регистра РОН, например, r20, r21 и r22. Если r21 не равно r20, то начинаю считывать сначала. Когда все 3 регистра равны, то дребезг закончился, это реальное состояние кнопок.
Плюсы такого решения.
- Программа простейшая, можно написать за несколько минут. Не нужно никаких таймеров, независимых, параллельных, сквозных, вертикальных, горизонтальных и перпендикулярных счётчиков.
- Всегда быстрая реакция на кнопки. В ассемблере обычно программа крутиться по кругу и довольно быстро, скажем, 10 мс, получается время реакции около 0,1 секунды, неплохо. Если круг длительный, можно вставить несколько команд считывания кнопок, время реакции сократиться. Командой называю строчку вызова программы считывания кнопок.
- Можно считывать нажатие нескольких кнопок, это нередко бывает необходимо.

А если серьёзно, то мелкие кнопки совсем дребезжащие. Да и изнашиваются. Вон, в данный момент на мышке правая кнопка все нервы портит в Протеусе.(

Замените кнопку, она стоит копейки, берегите нервы.


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

Карма: 1
Рейтинг сообщений: 38
Зарегистрирован: Ср янв 11, 2012 18:20:26
Сообщений: 473
Рейтинг сообщения: 0
А кто-нибудь пробовал подсчитать процент неудачных срабатываний?

Добавлено after 3 minutes 45 seconds:
Думаю что целесообразность борьбы с дребезгом должна вытекать из статистики ))


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

Зарегистрирован: Сб июл 30, 2011 21:00:24
Сообщений: 111
Рейтинг сообщения: 0
А кто-нибудь пробовал подсчитать процент неудачных срабатываний?

Добавлено after 3 minutes 45 seconds:
Думаю что целесообразность борьбы с дребезгом должна вытекать из статистики ))

Не нужна статистика. Исправные кнопки должны работать чётко и стабильно.
Если это не так, то, похоже, разработчик выбрал излишне сложный алгоритм и запутался в «горизонтальных и вертикальных» счётчиках.
Если ли всё же интересует статистика, то ведь есть клавиатура и мышка, там кнопки стоят и используются интенсивно. За много лет работы не помню ни одного сбоя кнопок – вот и вся статистика.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Ассемблер (ASM) для AVR в вопросах и ответах
СообщениеДобавлено: Пт дек 06, 2024 17:12:16 
Мучитель микросхем
Аватар пользователя

Карма: 10
Рейтинг сообщений: 155
Зарегистрирован: Ср июн 29, 2022 16:25:45
Сообщений: 469
Рейтинг сообщения: 0
чет тема про ассемблер в оффтоп скатывается...
Давайте лучше такой микроконкурс объявим:
минимальный код на асме AVR , что б поменять порядок следования бит в двухбайтовой переменной (АБВГ ДЕЖЗ ИЙКЛ МНОП --> ПОНМ ЛКЙИ ЗЖЕД ГВБА)
Или вот такой - определить, что в байте единичный только 1 бит, все остальные в нуле.

_________________
Белая и Пушистая


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Ассемблер (ASM) для AVR в вопросах и ответах
СообщениеДобавлено: Пт дек 06, 2024 18:00:21 
Друг Кота
Аватар пользователя

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

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


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Ассемблер (ASM) для AVR в вопросах и ответах
СообщениеДобавлено: Пт дек 06, 2024 18:16:15 
Мучитель микросхем
Аватар пользователя

Карма: 10
Рейтинг сообщений: 155
Зарегистрирован: Ср июн 29, 2022 16:25:45
Сообщений: 469
Рейтинг сообщения: 0
Gudd-Head, нет, не открыла. Просто 2 страницы обсуждаем алгоритмы, а не ассемблер. Поэтому захотелось разбавить оффтоп ассемблером )))))

_________________
Белая и Пушистая


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

Карма: 153
Рейтинг сообщений: 2917
Зарегистрирован: Сб авг 14, 2010 15:05:51
Сообщений: 18741
Откуда: г. Озерск, Челябинская обл.
Рейтинг сообщения: 0
Медали: 1
Лучший человек Форума 2017 (1)
Just_Fluffy писал(а):
минимальный код на асме AVR , что б поменять порядок следования бит в двухбайтовой переменной (АБВГ ДЕЖЗ ИЙКЛ МНОП --> ПОНМ ЛКЙИ ЗЖЕД ГВБА)
элементарно, Ватсон!
сдвигаем эту пару регистров вправо, а потом из переноса в другую пару регистров влево. и копируем вторую пару в первую.

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


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Ассемблер (ASM) для AVR в вопросах и ответах
СообщениеДобавлено: Пт дек 06, 2024 19:33:44 
Собутыльник Кота
Аватар пользователя

Карма: 38
Рейтинг сообщений: 292
Зарегистрирован: Пт сен 07, 2018 20:20:02
Сообщений: 2594
Откуда: деревня в Тульской губернии
Рейтинг сообщения: 0
Медали: 1
Получил миской по аватаре (1)
Just_Fluffy писал(а):
минимальный код на асме AVR , что б поменять порядок следования бит в двухбайтовой переменной (АБВГ ДЕЖЗ ИЙКЛ МНОП --> ПОНМ ЛКЙИ ЗЖЕД ГВБА)
элементарно, Ватсон!
сдвигаем эту пару регистров вправо, а потом из переноса в другую пару регистров влево. и копируем вторую пару в первую.

Медленно. Даже совсем в лоб, через 256 байтную таблицу получится намного быстрее.

Добавлено after 10 minutes 27 seconds:
Или вот такой - определить, что в байте единичный только 1 бит, все остальные в нуле.

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


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

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

А зря (или пиздишь).
Изображение

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


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

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


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

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 10


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

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


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