Страница 1 из 1
кнопки к разрядам динамической индикации attiny2313
Добавлено: Чт апр 01, 2010 11:28:19
MTF
Всем привет !!!! В целях экономии выводов , я решил подключить кнопки к 4 разрядам индикатора пока без диодов и к выводу portd4 (кнопочный вход ) , пишу на ASM !!!
Обратился за помощью т.к. не могу придумать как сделать , пробовал делать с переключение portb как вход.
Вопрос:
Можно ли сделать так, допустим происходит опрос кнопочного входа – если там низкий уровень, значит, нажата кнопка, подключенная к соответствующему pos катода.
Код: Выделить всё
in tmp , pind
swap tmp
andi tmp, 0b00000001
tst tmp
Как нибудь можно определить какой вывод portb соединен c входом pd4 ???? или прямая дорога делать через переключение как вход portb.
Re: кнопки к разрядам динамической индикации attiny2313
Добавлено: Чт апр 01, 2010 11:59:19
ooogo
Я ж писал уже: две кнопки нажаты одновременно => ???
и что? считали портБ, наложили маску и дальше делаем анализ кнопок, зачем диоды и пд4?
Re: кнопки к разрядам динамической индикации attiny2313
Добавлено: Чт апр 01, 2010 12:07:04
ooogo
момент в другом, надо подключить кнопки и индикаторы так, что бы если нажимаешь на кнопку (на ноль) при выводе цифры , кнопка не закорачивала на землю выход порта, т.е. другими словами те выводы мк которые используешь под кнопки должны быть источниками тока, а не напряжения.
Re: кнопки к разрядам динамической индикации attiny2313
Добавлено: Чт апр 01, 2010 12:25:51
MTF
To
_noise
кнопки к 4 разрядам индикатора пока без диодов ( надо купить в выходные , даже не откуда выпаять , эксперементировать можно пока и без них, не нажимая две или все одновременно)
про диоды я давно понял , еще когда ты написал 3 дня назад , нужны 100% я полностью согласен!!!!
Кнопки не к плюсу, а к нулю.
резистор посоветовал
GP1 , может я его не правильно понял
Не понял, зачем дополнительный регистр микросхем.
а как еще , выводов и так не хватает (на схеме не все , в реальности весь portd занят кроме INT2) !!!
алгоритм я твой понял , примерно так и делал даже теперь понял почему не работал

Re: кнопки к разрядам динамической индикации attiny2313
Добавлено: Чт апр 01, 2010 12:38:02
MTF
Нашел кусок кода , подключка через portd pd4 , я конечно не очень силен в ASM но хоть убей не пойму как происходит чтение кнопок в этом примере ???
Код: Выделить всё
;--------------- BUTTONS Capture ----------------------
in r16,PIND ;Read BUTTONS state
swap r16
andi r16,0b00000001 ;Get BUTTON Pressed/Not pressed
tst r16 ;
brne TK12 ;
sec ;
rjmp TK13 ;
TK12: clc ;
TK13: ror r19 ;KEY state creating
sts KEY_SHIFT,r19 ;Store IND_COUNT to RAM
cpi r18,4 ;Compare IND_COUNT & 4 (number of digits displayed)
brne TK14 ;If NOT goto TK14
mov r20,r19 ;
swap r20 ;
and r20,r19 ;
andi r20,0x0F ;
mov KEY,r20 ;KEY creating (antidebezg & mask including)
TK14:
Re: кнопки к разрядам динамической индикации attiny2313
Добавлено: Чт апр 01, 2010 12:55:16
akl
Здравствуйте. Если применен индикатор с общим катодом, то можно опрос кнопок сделать так.
-Наличие диодов анодами к кнопкам обязательно
-PD4 настроен на вход
-в течение низкого уровня на PB0 (вывод на индикатор 4 знакоместа) опросить и занести в рабочий регистр состояние PD4 по 0 виту
-и так при выводе всех знакомест дополнительно вести опрос кнопок
Код: Выделить всё
TEST_KEY0:
CLR R16
SBIC PIND,4
RJMP TEST_KEY0_OUT
SBR R16,$01
STS RAM_KEY,R16
TEST_KEY0_OUT:
Re:
Добавлено: Чт апр 01, 2010 13:44:58
ooogo
_noise писал(а):И замкнули между собой два выхода с портаБ. На которых разные уровни.
замкнем их на минус(может мы о разном говорим?), как в этом помогут диоды? для этого и написал следующее сообщение...
как вариант резисторы, что бы если на выводе +4,5 В и мы нажимаем на кнопку, не было КЗ, через порт.
Тебе помочь найти кнопку ПРАВКА в чате?
Спасибо не надо, и так знаю.
Re: кнопки к разрядам динамической индикации attiny2313
Добавлено: Чт апр 01, 2010 13:53:59
ooogo
MTF
1. Зачем такая хитрая обвязка управления реле?
2. Советую сделать обвязку ИК приемника по даташиту.
3. Мое личное мнени, в этой схеме можно работать от внутреннего генератора 4МГц, кварц не нужен.
4. Зачем вообще эта схема? если только для вывода информации, то проще сделать вывод по RS232 на комп.
Re: кнопки к разрядам динамической индикации attiny2313
Добавлено: Чт апр 01, 2010 15:13:03
kip96
Я подобную программу писал на баскоме, там вообще проблем небыло:
если на Portd.4=0 то оправляем на подпрограмму, в которой проверяем - если PortB.7=0 ( или любой другой)то , к примеру, увеличить час на 1, после задержка в 200 мс. Ес-но индикаторы с общим катодом.
Re: кнопки к разрядам динамической индикации attiny2313
Добавлено: Чт апр 01, 2010 15:32:50
ooogo
Re: Re:
Добавлено: Чт апр 01, 2010 16:36:07
GP1
ooogo писал(а):
замкнем их на минус(может мы о разном говорим?), как в этом помогут диоды?
нарисуй схемку и погоняй 0-1 по выводам может поймешь
_noise прав без диодов здесь не обойтись.
резистор посоветовал GP1 , может я его не правильно понял
резистор нужен если на ПД4 будешь "1" выдавать, что логичнее для индикатора с ОК, и включать его надо между ПД4 и общей точкой кнопок, для ограничения тока, но можно и без него.
Re: кнопки к разрядам динамической индикации attiny2313
Добавлено: Чт апр 01, 2010 16:54:57
ooogo
нарисуй схемку и погоняй 0-1 по выводам может поймешь
ну чего-то я совсем Вас перестал понимать, с самого начала:
ставим кнопку на землю другой конец через резистор в 2 КОм на ножку МК, которая используеться для динамической индикации. Нажимаем на кнопку, предположим порт на выход логическая единица, через резистор протекает ток 2,5 мА, ничего страшного не происходит? при этом в момент нажатия соответственно либо загорается либо тухнет сегмент или цифра. закончили индикацию порты на вход с подтяжкой, прочитали порт наложили маску обработали. диоды нужны будут только если нам нужно задействовать и сегментные выводы и общие анод/катод,тогда может возникнуть ситуаци "нажитя двух кнопок", а если использовать только порт который идет на сегменты или общие катоды/аноды, то диоды зачем?
Re: кнопки к разрядам динамической индикации attiny2313
Добавлено: Чт апр 01, 2010 17:04:25
GP1
ooogo писал(а): с самого начала:
ставим кнопку на землю другой конец через резистор в 2 КОм на ножку МК, которая используеться для динамической индикации. Нажимаем на кнопку, предположим порт на выход логическая единица, через резистор протекает ток 2,5 мА, ничего страшного не происходит?
Кто бы был против, я всегда говорю - каждый рисует схемы в меру своей испорченности (всмысле загубленности знаниями и опытом), каждый видит схемную реализацию как ему удобней/привычней.
У меня только вызывает сомнение что на 2к можно будет получить 0.
Re: кнопки к разрядам динамической индикации attiny2313
Добавлено: Чт апр 01, 2010 18:24:24
ooogo
GP1 писал(а):
У меня только вызывает сомнение что на 2к можно будет получить 0.
Почему? Резистор подтяжки примерно 40 КОм, соответственно имеем резистивный делитель, на 2 КОм получаем напряжение (при питании 5 В) менее 0,23 В, при данном питании все что ниже 1,8 В логический ноль.
Ближе к конкретной схеме, у
MТF общие катоды, набросал схемку.
алгоритм проверки нажатия кнопок примерно такой:
1. устанавливаем PORD -> выход ноль;
2. PORTB устанавливаем на вход с подтяжкой;
3. читаем PINB и обрабатываем.
Объясните когда в данном алгоритме может возникнуть критическая или неопределенная ситуация!?
А если убрать кварц, то портов хватит с запасом подключить индикаторы напрямую.
Re: кнопки к разрядам динамической индикации attiny2313
Добавлено: Пт апр 02, 2010 00:56:45
MTF
Зачем такая хитрая обвязка управления реле?
диод понятно зачем !!! , а вот про цепочку C14 и R23 прочитал на
http://easyelectronics.ru/upravlenie-mo ... ast-1.html
вот и решил в целях экономии тока сделать так , да к тому же у меня блок питания на конденсаторе.
в этой схеме можно работать от внутреннего генератора 4МГц, кварц не нужен.
схема и плата была сделана давно еще под at90s2313 , тот сдох вставил attiny2313 , сейчас просто улучшаю на старой плате, в данный момент работает от внутр генер.
Зачем вообще эта схема? если только для вывода информации, то проще сделать вывод по RS232 на комп.
это был простой таймер на at90s2313 , потом решил сделать таймер для включения мотора (вентиляции в вентканале ) через определенное время и сколько проработает минут , реле для включения мини насоса для обогрева ванной комнаты , просто на схеме нет детектора 0 на PC814 к int0, и оптопары MOC3052 + BTA08 фазовая регулировка мощности
Все хочу запихнуть в сдвойнный автомат , в щитке в коридоре , пульт так ради боловства
ooogo все таки почему не нравятся на диодах (с pd4 мы 100% отключаем при индикации цифр если держать кнопку) , по идеи преимущество твоей схемы в том что не нужен pd4 , в принципе попробовать можно все равно диодов пока нет !!
Re: кнопки к разрядам динамической индикации attiny2313
Добавлено: Пт апр 02, 2010 08:28:22
ooogo
все таки почему не нравятся на диодах (с pd4 мы 100% отключаем при индикации цифр если держать кнопку) , по идеи преимущество твоей схемы в том что не нужен pd4 , в принципе попробовать можно все равно диодов пока нет !!
не то что бы не нравилась, просто предложил вариант проще с меншим количеством деталей, потому что печатки, лично я, делаю с болшим трудом, а так потребуется один резистор и все.
Re: кнопки к разрядам динамической индикации attiny2313
Добавлено: Пт апр 02, 2010 23:20:22
MTF
ooogo я тоже люблю поменьше деталей , я попробую твой вариант на резисторах , диодов все равно пока нет !!!