кнопки к разрядам динамической индикации attiny2313

Вопросы настройки, программирования, прошивки микроконтроллеров и микросхем программируемой логики
Закрыто
MTF
Нашел транзистор. Понюхал.
Аватара пользователя
Сообщения: 179
Зарегистрирован: Чт янв 07, 2010 11:25:12
Откуда: Москва

Сообщение MTF »

Всем привет !!!! В целях экономии выводов , я решил подключить кнопки к 4 разрядам индикатора пока без диодов и к выводу portd4 (кнопочный вход ) , пишу на ASM !!!

Обратился за помощью т.к. не могу придумать как сделать , пробовал делать с переключение portb как вход.

Вопрос:
Можно ли сделать так, допустим происходит опрос кнопочного входа – если там низкий уровень, значит, нажата кнопка, подключенная к соответствующему pos катода.

Код: Выделить всё

in          tmp , pind
swap      tmp
andi       tmp, 0b00000001
tst         tmp              
Как нибудь можно определить какой вывод portb соединен c входом pd4 ???? или прямая дорога делать через переключение как вход portb.
Вложения
knopki.JPG
(53.14 КБ) 592 скачивания
Последний раз редактировалось MTF Чт апр 01, 2010 12:31:16, всего редактировалось 1 раз.
Реклама
Это не хвост, это антенна
Аватара пользователя
Сообщения: 1306
Зарегистрирован: Вс янв 18, 2009 20:51:02

Сообщение ooogo »

Я ж писал уже: две кнопки нажаты одновременно => ???
и что? считали портБ, наложили маску и дальше делаем анализ кнопок, зачем диоды и пд4?
Реклама
Это не хвост, это антенна
Аватара пользователя
Сообщения: 1306
Зарегистрирован: Вс янв 18, 2009 20:51:02

Сообщение ooogo »

момент в другом, надо подключить кнопки и индикаторы так, что бы если нажимаешь на кнопку (на ноль) при выводе цифры , кнопка не закорачивала на землю выход порта, т.е. другими словами те выводы мк которые используешь под кнопки должны быть источниками тока, а не напряжения.
MTF
Нашел транзистор. Понюхал.
Аватара пользователя
Сообщения: 179
Зарегистрирован: Чт янв 07, 2010 11:25:12
Откуда: Москва

Сообщение MTF »

To _noise
кнопки к 4 разрядам индикатора пока без диодов ( надо купить в выходные , даже не откуда выпаять , эксперементировать можно пока и без них, не нажимая две или все одновременно)
про диоды я давно понял , еще когда ты написал 3 дня назад , нужны 100% я полностью согласен!!!!
Кнопки не к плюсу, а к нулю.
резистор посоветовал GP1 , может я его не правильно понял :?

Не понял, зачем дополнительный регистр микросхем.
а как еще , выводов и так не хватает (на схеме не все , в реальности весь portd занят кроме INT2) !!!

алгоритм я твой понял , примерно так и делал даже теперь понял почему не работал :oops:
Реклама
Эиком - электронные компоненты и радиодетали
MTF
Нашел транзистор. Понюхал.
Аватара пользователя
Сообщения: 179
Зарегистрирован: Чт янв 07, 2010 11:25:12
Откуда: Москва

Сообщение 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:
Реклама
akl
Друг Кота
Сообщения: 4476
Зарегистрирован: Пт мар 07, 2008 06:54:43
Откуда: Ижевск

Сообщение 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:
Реклама
Это не хвост, это антенна
Аватара пользователя
Сообщения: 1306
Зарегистрирован: Вс янв 18, 2009 20:51:02
Re:

Сообщение ooogo »

_noise писал(а):И замкнули между собой два выхода с портаБ. На которых разные уровни.
замкнем их на минус(может мы о разном говорим?), как в этом помогут диоды? для этого и написал следующее сообщение...
как вариант резисторы, что бы если на выводе +4,5 В и мы нажимаем на кнопку, не было КЗ, через порт.
Тебе помочь найти кнопку ПРАВКА в чате?
Спасибо не надо, и так знаю.
Это не хвост, это антенна
Аватара пользователя
Сообщения: 1306
Зарегистрирован: Вс янв 18, 2009 20:51:02

Сообщение ooogo »

MTF
1. Зачем такая хитрая обвязка управления реле?
2. Советую сделать обвязку ИК приемника по даташиту.
3. Мое личное мнени, в этой схеме можно работать от внутреннего генератора 4МГц, кварц не нужен.
4. Зачем вообще эта схема? если только для вывода информации, то проще сделать вывод по RS232 на комп.
Держит паяльник хвостом
Аватара пользователя
Сообщения: 968
Зарегистрирован: Ср авг 26, 2009 08:24:50
Откуда: 1300км от Пупа

Сообщение kip96 »

Я подобную программу писал на баскоме, там вообще проблем небыло:
если на Portd.4=0 то оправляем на подпрограмму, в которой проверяем - если PortB.7=0 ( или любой другой)то , к примеру, увеличить час на 1, после задержка в 200 мс. Ес-но индикаторы с общим катодом.
Все делают ошибки, только мудрецы - новые, а дураки - старые.
Это не хвост, это антенна
Аватара пользователя
Сообщения: 1306
Зарегистрирован: Вс янв 18, 2009 20:51:02

Сообщение ooogo »

GP1
Поставщик валерьянки для Кота
Аватара пользователя
Сообщения: 2401
Зарегистрирован: Пт май 23, 2008 19:32:22
Откуда: Россия, Волгоград

Сообщение GP1 »

ooogo писал(а): замкнем их на минус(может мы о разном говорим?), как в этом помогут диоды?
нарисуй схемку и погоняй 0-1 по выводам может поймешь :wink:
_noise прав без диодов здесь не обойтись.
резистор посоветовал GP1 , может я его не правильно понял
резистор нужен если на ПД4 будешь "1" выдавать, что логичнее для индикатора с ОК, и включать его надо между ПД4 и общей точкой кнопок, для ограничения тока, но можно и без него.
Чем дальше, тем больше становлюсь занудой...
Изображение
Контактная информация:
Это не хвост, это антенна
Аватара пользователя
Сообщения: 1306
Зарегистрирован: Вс янв 18, 2009 20:51:02

Сообщение ooogo »

нарисуй схемку и погоняй 0-1 по выводам может поймешь
ну чего-то я совсем Вас перестал понимать, с самого начала:
ставим кнопку на землю другой конец через резистор в 2 КОм на ножку МК, которая используеться для динамической индикации. Нажимаем на кнопку, предположим порт на выход логическая единица, через резистор протекает ток 2,5 мА, ничего страшного не происходит? при этом в момент нажатия соответственно либо загорается либо тухнет сегмент или цифра. закончили индикацию порты на вход с подтяжкой, прочитали порт наложили маску обработали. диоды нужны будут только если нам нужно задействовать и сегментные выводы и общие анод/катод,тогда может возникнуть ситуаци "нажитя двух кнопок", а если использовать только порт который идет на сегменты или общие катоды/аноды, то диоды зачем?
GP1
Поставщик валерьянки для Кота
Аватара пользователя
Сообщения: 2401
Зарегистрирован: Пт май 23, 2008 19:32:22
Откуда: Россия, Волгоград

Сообщение GP1 »

ooogo писал(а): с самого начала:
ставим кнопку на землю другой конец через резистор в 2 КОм на ножку МК, которая используеться для динамической индикации. Нажимаем на кнопку, предположим порт на выход логическая единица, через резистор протекает ток 2,5 мА, ничего страшного не происходит?
Кто бы был против, я всегда говорю - каждый рисует схемы в меру своей испорченности (всмысле загубленности знаниями и опытом), каждый видит схемную реализацию как ему удобней/привычней.
У меня только вызывает сомнение что на 2к можно будет получить 0.
Чем дальше, тем больше становлюсь занудой...
Изображение
Контактная информация:
Это не хвост, это антенна
Аватара пользователя
Сообщения: 1306
Зарегистрирован: Вс янв 18, 2009 20:51:02

Сообщение ooogo »

GP1 писал(а): У меня только вызывает сомнение что на 2к можно будет получить 0.
Почему? Резистор подтяжки примерно 40 КОм, соответственно имеем резистивный делитель, на 2 КОм получаем напряжение (при питании 5 В) менее 0,23 В, при данном питании все что ниже 1,8 В логический ноль.
Ближе к конкретной схеме, у MТF общие катоды, набросал схемку.
алгоритм проверки нажатия кнопок примерно такой:
1. устанавливаем PORD -> выход ноль;
2. PORTB устанавливаем на вход с подтяжкой;
3. читаем PINB и обрабатываем.
Объясните когда в данном алгоритме может возникнуть критическая или неопределенная ситуация!?
А если убрать кварц, то портов хватит с запасом подключить индикаторы напрямую.
Вложения
КНОПКИ.GIF
схемка
(5.53 КБ) 708 скачиваний
MTF
Нашел транзистор. Понюхал.
Аватара пользователя
Сообщения: 179
Зарегистрирован: Чт янв 07, 2010 11:25:12
Откуда: Москва

Сообщение 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 , в принципе попробовать можно все равно диодов пока нет !!
Это не хвост, это антенна
Аватара пользователя
Сообщения: 1306
Зарегистрирован: Вс янв 18, 2009 20:51:02

Сообщение ooogo »

все таки почему не нравятся на диодах (с pd4 мы 100% отключаем при индикации цифр если держать кнопку) , по идеи преимущество твоей схемы в том что не нужен pd4 , в принципе попробовать можно все равно диодов пока нет !!

не то что бы не нравилась, просто предложил вариант проще с меншим количеством деталей, потому что печатки, лично я, делаю с болшим трудом, а так потребуется один резистор и все.
MTF
Нашел транзистор. Понюхал.
Аватара пользователя
Сообщения: 179
Зарегистрирован: Чт янв 07, 2010 11:25:12
Откуда: Москва

Сообщение MTF »

ooogo я тоже люблю поменьше деталей , я попробую твой вариант на резисторах , диодов все равно пока нет !!!
Закрыто

Вернуться в «Микроконтроллеры и ПЛИС»