Исходники, алгоритмы.

Кружок юных, и не только, радиолюбителей

Сообщение lizard66 » 18 апр 2016, 08:24

AlekseiKO писал(а):В меню выбираю значение "частоту" и начинаю ее повышать или уменьшать. Но при нажатии на кнопку значение прыгает через 1 и даже больше. (Пример: 20, 23, 25, 27, 30)
И если быстро быстро, резко резко , нажать на кнопку то только тогда как положено на 1 деление переключается.

Так вот вопрос. Время нажатия на кнопку чем определятся ? В коде программы? Или же номиналами деталей какими то?

Спасибо

С дребезгом можно бороться как программно, так и аппаратно, чаще программно. В данном случае его побороли плохо, либо кнопки убитые.
Схему покажите.
Аватара пользователя
lizard66
 
Сообщения: 151
Зарегистрирован: 11 фев 2011, 17:59
Благодарил (а): 4 раз.
Поблагодарили: 6 раз.

Сообщение AlekseiKO » 18 апр 2016, 12:23

Кнопки вроде нормальные. пробывал ставить другую. так же было.
схемку накидал почти от руки,на скоряк. За исключение некоторых мелочей стандартных.
Вложения
Вот.jpg
AlekseiKO
 
Сообщения: 34
Зарегистрирован: 11 янв 2011, 09:50
Благодарил (а): 5 раз.
Поблагодарили: 1 раз.

Сообщение slav0n » 18 апр 2016, 13:12

Самое простое, если писатель прошивки не забыл включить встроенные в мегу подтягивающие резисторы, то внешние на 1к можно вообще убрать, а параллельно кнопкам поставить конденсаторы. Если же внутренние подтяжки не задействованы, то внешние надо поставить на 20-50к, чтобы не завышать емкость сглаживающих кондеров. Эту емкость подобрать экспериментально, начиная примерно от 0.01мкФ.
while(1||!1);
slav0n
Site Admin
 
Сообщения: 4323
Зарегистрирован: 15 ноя 2009, 18:43
Благодарил (а): 24 раз.
Поблагодарили: 383 раз.

Re: Исходники, алгоритмы.

Сообщение lizard66 » 18 апр 2016, 14:56

Ну, аппаратным антидребезгом тут не пахнет, а на PORTC автор мог и АЦП с медлинным тактом задействовать в качестве борьбы с дребезгом. Тут либо с софтом копаться, либо на каждую кнопку по Шмидту или RS-триггеру и кнопки с трехконтактные (с перемыканием), либо как Славка рекомендует емкости подобрать
Аватара пользователя
lizard66
 
Сообщения: 151
Зарегистрирован: 11 фев 2011, 17:59
Благодарил (а): 4 раз.
Поблагодарили: 6 раз.

Сообщение slav0n » 18 апр 2016, 16:34

lizard66 писал(а):а на PORTC автор мог и АЦП с медлинным тактом задействовать в качестве борьбы с дребезгом.

обычно делаем счетчик итераций главного цикла.
При нажатии на кнопку счетчик запускается, при отпускании - сбрасывается.
В зависимости от содержимого счетчика решаем что делать.
Например код на сях
Код: Выделить всё
while(1)
   {
      if(btn_prs)//проверяем кнопку
      {
         if(cnt ==10 ||//первое нажатие, антидребезг 10 циклов
            ( cnt >= 70 && (cnt % 20)==10 ))//длительность паузы перед автоповтором (70)
//и  период автоповтора (20)
         {
            //здесь исполняем нажатие
            
         }
         
         cnt++;//инкремент счетчика
      }
      else cnt=0;//сброс счетчика
   
      //бла-бла
   }
while(1||!1);
slav0n
Site Admin
 
Сообщения: 4323
Зарегистрирован: 15 ноя 2009, 18:43
Благодарил (а): 24 раз.
Поблагодарили: 383 раз.

Re: Исходники, алгоритмы.

Сообщение AlekseiKO » 19 апр 2016, 01:11

Попробывал еще одну кнопку от мышки. Такая же хня...
Попробывал поставить сначало :
кондер 0.01- без изменений
Выпаял 1к - без изм.
Впаял 27к -без изм.
Поменял кондер 0.1-без изм.

Я так понимаю автар прошивки решил поглумиться...
AlekseiKO
 
Сообщения: 34
Зарегистрирован: 11 янв 2011, 09:50
Благодарил (а): 5 раз.
Поблагодарили: 1 раз.

Сообщение slav0n » 19 апр 2016, 03:56

AlekseiKO писал(а):Я так понимаю автар прошивки решил поглумиться...

возможно просто сбацал по-быстрому в протеусе и всё
while(1||!1);
slav0n
Site Admin
 
Сообщения: 4323
Зарегистрирован: 15 ноя 2009, 18:43
Благодарил (а): 24 раз.
Поблагодарили: 383 раз.

Re: Исходники, алгоритмы.

Сообщение AlekseiKO » 19 апр 2016, 05:25

Кстати в архиве есть фаил протеуса. Только я в нем ни разу не работал!
Он своего рода исходник?
AlekseiKO
 
Сообщения: 34
Зарегистрирован: 11 янв 2011, 09:50
Благодарил (а): 5 раз.
Поблагодарили: 1 раз.

Re: Исходники, алгоритмы.

Сообщение slav0n » 19 апр 2016, 07:00

AlekseiKO писал(а):Он своего рода исходник?

нет
while(1||!1);
slav0n
Site Admin
 
Сообщения: 4323
Зарегистрирован: 15 ноя 2009, 18:43
Благодарил (а): 24 раз.
Поблагодарили: 383 раз.

Пред.

Вернуться в Я не волшебник, я только учусь...

Кто сейчас на конференции

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

cron