мега8 дип

Dmitry, ты ещё здесь сидишь?

Воскресенье Январь 29 2006 09:13, Dmitry Orlov wrote to George Shepelev:

GS>>>>>> Именно поэтому совмещать выводы, отвечающие за опрос GS>>>>>> клавиатуры и выдачу сигналов на ЖКИ есть _ОЧЕHЬ_ плохой тон! DO>>>>> Можно диодами развязаться и все сделать честно. GS>>>> Hельзя, Дима. Если сигнал (пусть и через диод) может попасть GS>>>> на вывод (а он _должен_ на него попасть!), то он и до вывода GS>>>> ЖКИ дойдёт (пусть опять через диод)... DO>>> Hу и что? GS>> Видимо то, что развязки с использованием только диодов, у тебя GS>> так и не получилось ;) DO> У меня как раз получилась,

Ерунда у тебя получилась.

DO> выходы-то индикатора (даже если он все время выбран), только вниз DO> тянуть умеют, вверх пуллапы стоят.

Вниз ещё кнопки тянуть умеют. С ними-то и возникают конфликты, их ты и собирался развязывать ;)

Георгий

Reply to
George Shepelev
Loading thread data ...

Anton, ты ещё здесь сидишь?

Воскресенье Январь 29 2006 18:26, Anton Fedorov wrote to George Shepelev:

Разумеется надо писать аккуратно. Hо если схема спроектирована безграмотно, программой эти глюки вряд-ли исправишь...

AF> и ловить не придется ни чего.

Пробуй внимательней анализировать работу схем.

AF> Все ведь синхронное.

Ага, ага. Параметры LCD-чипа глядел? После снятия сигнала выборки требуется удерживать сигналы на шыне данных ещё десяток нс. При этом линии шины данных управляющего контроллера, естественно, должны быть запрограммированы на вывод! И только потом переведены на ввод. И всё это время в твоей схемке возможны конфликты с клавиатурой...

AF> Обычная практика, объединять ШД LCD и клавиши.

Практика-то обычная, только сигналы в схеме нужно формировать так, чтобы конфликтов не было!

Георгий

Reply to
George Shepelev

Пpивет George! George Shepelev --> Pavel Grishin ( Thu Jan 26 2034, 22:37 )

PG>> У меня "типа АЛС318" висит без pезистоpов на двyх поpтах PG>> в 8515 yже втоpой год. Полёт ноpмальный. PG>> P.S. "Спецы", спокойно! Я знаю что если захотеть, то... :))

GS> Кстати, знаешь, почему подобные pешения называются GS> "pадиолюбительскими"? Потому что ни о каких гаpантиях паpаметpов GS> pечи быть не может.

Еpyнда это всё. :) Я пpовеpял на живyчесть годами и остался доволен.

А так беpy счас пpи +5 pезистоpы 270R = ток 20мА. А в экстpиме по 100R и ненадолго их включаю.

-= Бpест. Павел Гpишин =-

Reply to
Pavel Grishin

Hello, George Shepelev! You wrote in conference fido7.ru.embedded to Dmitry Orlov on Mon, 30 Jan

2006 17:40:01 +0300:

GS>>>>>>> Именно поэтому совмещать выводы, отвечающие за опрос GS>>>>>>> клавиатуры и выдачу сигналов на ЖКИ есть _ОЧЕHЬ_ плохой тон! DO>>>>>> Можно диодами развязаться и все сделать честно. GS>>>>> Hельзя, Дима. Если сигнал (пусть и через диод) может попасть на GS>>>>> вывод (а он _должен_ на него попасть!), то он и до вывода GS>>>>> ЖКИ дойдёт (пусть опять через диод)... DO>>>> Hу и что? GS>>> Видимо то, что развязки с использованием только диодов, у тебя GS>>> так и не получилось ;) DO>> У меня как раз получилась,

GS> Ерунда у тебя получилась.

Ерунда получилась у тебя.

DO>> выходы-то индикатора (даже если он все время выбран), только вниз DO>> тянуть умеют, вверх пуллапы стоят.

GS> Вниз ещё кнопки тянуть умеют. С ними-то и возникают конфликты, их GS> ты и собирался развязывать ;)

Конфликты чего именно с кнопками?

dima

Reply to
Dmitry Orlov

Ага, ага. А посчитать слабо? 20MHz-овом клоке процессора один такт занимает 50 нс, что в пять раз больше 10 нс. Достаточно снять сигнал выборки и следующим тактом можно переводить шину на чтение. А т.к. вы не можете за один такт поменять и PORT и DDR, то это вообще произойдет само собой...

Конечно нужно, кто бы спорил, что эмбедед-программирование требует определенной аккуратности и внимательности, но это не значит что если есть место для потенциальных ошибок, то надо схемотехнику менять. Программировать надо аккуратно.

А в этом месте и ошибку-то сделать очень не просто.

Reply to
Anton Fedorov

Пpивет, Anton!

*** 31 Jan 06 14:24, Anton Fedorov wrote to George Shepelev:

AF> Ага, ага. А посчитать слабо? 20MHz-овом клоке процессора один такт AF> занимает 50 нс, что в пять раз больше 10 нс. Достаточно снять сигнал

AF> Конечно нужно, кто бы спорил, что эмбедед-программирование требует AF> определенной аккуратности и внимательности, но это не значит что если AF> есть место для потенциальных ошибок, то надо схемотехнику менять. AF> Программировать надо аккуратно.

AF> А в этом месте и ошибку-то сделать очень не просто.

Это кто работал и работает с LCD, исхитриться и ошибиться в этом месте практически невозможно, даже если очень постараться (на эти грабли можно наступить только если работаешь через расширитель, буферизирующий сразу и данные и управление). А тем, кто теоретизирует по даташиту, всюду мерещатся "конфликты". Так что не обращай внимания...

с уважением Владислав

Reply to
Vladislav Baliasov

Dmitry, ты ещё здесь сидишь?

Вторник Январь 31 2006 09:27, Dmitry Orlov wrote to George Shepelev:

GS>>>>>>>> Именно поэтому совмещать выводы, отвечающие за опрос GS>>>>>>>> клавиатуры и выдачу сигналов на ЖКИ есть _ОЧЕHЬ_ плохой GS>>>>>>>> тон! DO>>>>>>> Можно диодами развязаться и все сделать честно. GS>>>>>> Hельзя, Дима. Если сигнал (пусть и через диод) может попасть GS>>>>>> на вывод (а он _должен_ на него попасть!), то он и до вывода GS>>>>>> ЖКИ дойдёт (пусть опять через диод)... DO>>>>> Hу и что? GS>>>> Видимо то, что развязки с использованием только диодов, у тебя GS>>>> так и не получилось ;) DO>>> У меня как раз получилась, GS>> Ерунда у тебя получилась. DO> Ерунда получилась у тебя.

Вот только не надо валить с больной головы на здоровую! Сказал глупость, теперь признай, что ошибался.

DO>>> выходы-то индикатора (даже если он все время выбран), только DO>>> вниз тянуть умеют, вверх пуллапы стоят. GS>> Вниз ещё кнопки тянуть умеют. С ними-то и возникают конфликты, GS>> их ты и собирался развязывать ;) DO> Конфликты чего именно с кнопками?

В дурочку решил поиграть? Боюсь, это место в эхе уже зарезервировано ;) Речь с самого начала шла про конфликты кнопок с шиной контроллера, управляющего LCD. Ты обещал избавиться от них с помощью диодов, так?

Георгий

Reply to
George Shepelev

Anton, ты ещё здесь сидишь?

Вторник Январь 31 2006 14:24, Anton Fedorov wrote to George Shepelev:

Что тут считать? Конфликты в предложенной схеме неизбежны, как не считай.

AF> 20MHz-овом клоке процессора один такт занимает 50 нс, что в пять раз AF> больше 10 нс. Достаточно снять сигнал выборки и следующим тактом можно AF> переводить шину на чтение.

Вот между этими операциями и будет конфликт!

AF> А т.к. вы не можете за один такт поменять и PORT и DDR, то это вообще AF> произойдет само собой...

Совершенно верно, в предложенной схеме конфликт произойдёт "сам собой" ;)

Именно так. Теперь настало время перейти от теории к практике ;)

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

Георгий

Reply to
George Shepelev

Vladislav, ты ещё здесь сидишь?

Вторник Январь 31 2006 15:00, Vladislav Baliasov wrote to Anton Fedorov:

AF>> А в этом месте и ошибку-то сделать очень не просто. VB> Это кто работал и работает с LCD, исхитриться и ошибиться в этом месте VB> практически невозможно, даже если очень постараться (на эти грабли

Смешно! Кто анализировал _чужие_ программы, прекрасно знает, что в них частенько бывают подобные ошибки, которые не всегда приводят к неработоспособности изделия. Часто устройство просто получается "капризным" или отличается неэффективностью, и виноват в этом разработчик "кривого" железа или корявого софта...

VB> А тем, кто теоретизирует по даташиту, всюду мерещатся "конфликты". VB> Так что не обращай внимания...

Левши нашего времени продолжают под лозунгом "авось" подковывать "аглицкие нимфозории", не обращая внимания, что они потом плясать перестают ;)

- А что же это, - спрашивают, - за книга в России "Полусонник"? - Это, говорит, - книга, к тому относящаяся, что если в Псалтире что-нибудь насчет гаданья царь Давид неясно открыл, то в Полусоннике угдывают дополнение. Они говорят: - Это жалко, лучше бы, если вы из арифметики по крайности хоть четыре правила сложения знали, то бы вам было гораздо пользительнее, чем весь Полусонник. Тогда бы вы могли сообразить, что в каждой машине расчет силы есть, а то вот хоша вы очень в руках искусны, а не сообразили, что такая малая машинка, как нимфозории, на самую аккуратную точность рассчитана и ее подковок несть не может. Через это теперь нимфозория и не прыгает и дансе не танцует.

Георгий

Reply to
George Shepelev

Hello, George Shepelev! You wrote in conference fido7.ru.embedded to Dmitry Orlov on Wed, 01 Feb 2006 12:42:43

+0300:

GS>>>>>>>>> Именно поэтому совмещать выводы, отвечающие за опрос GS>>>>>>>>> клавиатуры и выдачу сигналов на ЖКИ есть _ОЧЕHЬ_ GS>>>>>>>>> плохой тон! DO>>>>>>>> Можно диодами развязаться и все сделать честно. GS>>>>>>> Hельзя, Дима. Если сигнал (пусть и через диод) может GS>>>>>>> попасть на вывод (а он _должен_ на него попасть!), то он GS>>>>>>> и до вывода GS>>>>>>> ЖКИ дойдёт (пусть опять через диод)... DO>>>>>> Hу и что? GS>>>>> Видимо то, что развязки с использованием только диодов, у GS>>>>> тебя так и не получилось ;) DO>>>> У меня как раз получилась, GS>>> Ерунда у тебя получилась. DO>> Ерунда получилась у тебя.

GS> Вот только не надо валить с больной головы на здоровую!

Вот и не вали. Не умеешь элементарные вещи проектировать, сиди и молчи в тряпочку.

GS> Сказал глупость, теперь признай, что ошибался.

DO>>>> выходы-то индикатора (даже если он все время выбран), DO>>>> только вниз тянуть умеют, вверх пуллапы стоят. GS>>> Вниз ещё кнопки тянуть умеют. С ними-то и возникают GS>>> конфликты, их ты и собирался развязывать ;) DO>> Конфликты чего именно с кнопками?

GS> В дурочку решил поиграть? Боюсь, это место в эхе уже зарезервировано ;)

Тобой...

GS> Речь с самого начала шла про конфликты кнопок с шиной GS> контроллера, управляющего LCD. Ты обещал избавиться от них с GS> помощью диодов, так?

И избавился. Причем много лет назад. Учитывая, что обмен по этой шине инициирует только контроллер, который и кнопки опрашивает, никаких конфликтов не возникает ни при каких обстоятельствах.

dima

formatting link

Reply to
Dmitry Orlov

Hello, George Shepelev! You wrote in conference fido7.ru.embedded to Anton Fedorov on Wed, 01 Feb 2006 12:44:07

+0300:

GS> Что тут считать? Конфликты в предложенной схеме неизбежны, GS> как не считай.

Только в твоих кривых руках.

AF>> 20MHz-овом клоке процессора один такт занимает 50 нс, что в AF>> пять раз больше 10 нс. Достаточно снять сигнал выборки и AF>> следующим тактом можно переводить шину на чтение.

GS> Вот между этими операциями и будет конфликт!

Не будет, если развязаться диодами.

GS> Именно так. Теперь настало время перейти от теории к практике GS> ;)

Вот именно.

GS> Конфликты на шине приводят к перегрузке буферов и повышенному GS> потреблению, что в ряде эхотажных применений недопустимо. GS> Также есть небольшая вероятность, что конфликты приведут к GS> искажению данных, записываемых в индикатор...

Только в твоих кривых руках.

dima

formatting link

Reply to
Dmitry Orlov

Hello, George! GS>>>>> Видимо то, что развязки с использованием только диодов, у тебя GS>>>>> так и не получилось ;) DO>>>> У меня как раз получилась, GS>>> Ерунда у тебя получилась. DO>> Ерунда получилась у тебя.

GS> Вот только не надо валить с больной головы на здоровую! Сказал GS> глупость, теперь признай, что ошибался.

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

DO>>>> выходы-то индикатора (даже если он все время выбран), только DO>>>> вниз тянуть умеют, вверх пуллапы стоят. GS>>> Вниз ещё кнопки тянуть умеют. С ними-то и возникают конфликты, их GS>>> ты и собирался развязывать ;) DO>> Конфликты чего именно с кнопками?

GS> В дурочку решил поиграть? Боюсь, это место в эхе уже GS> зарезервировано ;)

Это точно, но тот, кто его занял - не признается, не правда ли ?

GS> Речь с самого начала шла про конфликты кнопок с шиной контроллера, GS> управляющего LCD. Ты обещал избавиться от них с помощью диодов, так?

Именно так. Если кто из "народных академиков" опять "теоризирует по даташиту" (надо же показать, что наконец стал их читать. а не как раньше) - пусть себе теоризирует, к действительности это ведь отношения не имеет.

With best regards, Alex Torres.

[ Бомжей любить - не эхи модерить! ]

2:461/28, E-mail: snipped-for-privacy@yahoo.com

formatting link

Reply to
Alex Torres

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

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

Reply to
Anton Fedorov

Ну, "к практике", так "к практике"...

formatting link
Вот фрагмент схемы, из которого становится понятно как имнно все должно быть сделано. Это только один из многих возможных выриантов.

Итак: ========================================================= /* Это исходное состояние перед сканированием */ E = 0; R/W = 0; PB4 = 1; Шина (PB0-PB3) на чтение, pull-up-ы выключены. /* Любые операции с LCD должны оставить все именно в этом состоянии. */ . . .

/* Собственно чтение кнопок */ PORTB |= 0x0f; /* Pull-up включить */ PORTB &= ~0x10; /* Разрешить кнопкам тянуть к земле */ kb = PINB; /* Прочитать кнопки */ PORTB |= 0x10; /* Запретить кнопкам тянуть к земле */ PORTB &= ~0x0f; /* Pull-up выключить */

=========================================================

Reply to
Anton Fedorov

Пpивет, Anton!

*** 02 Feb 06 15:07, Anton Fedorov wrote to George Shepelev:

AF> Hу, "к практике", так "к практике"...

AF>

formatting link
AF> Вот фрагмент схемы, из которого становится понятно как имнно все AF> должно быть сделано. Это только один из многих возможных выриантов.

И, кстати, не самый лучший. При 5-вольтовом питании еще более-менее, при меньших - использование обычных кремниевых диодов уже выводит напряжения "0" за рамки максимального для надежного считывания "нуля" (0.2 Vcc, у старых кристаллов было 0.3 Vcc). Увеличение тока pull-up, повышенное контактное сопротивление контакта ("резиновая" кнопка, особенно поработавшая) - и уже возможны проблемы. Или производитель в очередной раз изменит спецификации, опустит порог. Простейшая резисторная развязка, без всякой коммутации - гораздо надежнее (при правильном выборе номиналов)...

с уважением Владислав

Reply to
Vladislav Baliasov

При 3 вольтах поставим шотку, делов то... Мой вариант позволяет опрашивать не только 4 кнопки, но и матрицу 4xN

Reply to
Anton Fedorov

Пpивет, Anton!

*** 02 Feb 06 17:24, Anton Fedorov wrote to Vladislav Baliasov:

AF> При 3 вольтах поставим шотку, делов то... Мой вариант позволяет AF> опрашивать не только 4 кнопки, но и матрицу 4xN

Правильнее тогда будет использовать шину данных как источник опроса ("бегущая

1"), развязать линии (а, при необходимости, и индивидуально кнопки) диодами, а выход - на pull-down (с внешними резисторами) входы.

с уважением Владислав

Reply to
Vladislav Baliasov

Hi, George!

26 Jan 06, George Shepelev writes to Nickita A Startcev:

NS>> хех. Есть мега8, кварц, надо 3 канала АЦП-термометрии, 6 каналов NS>> "сухой контакт", ЖК дисплейчик и 4 кнопки управления. Что с чем NS>> мультиплексировать предлагаешь?

GS> Простейшее решение - повесить последовательный регистр для выдачи GS> сигналов на формирователи "сухих контактов". Куча ножек освободятся ;) GS> Само-собой, это не единственный возможный вариант, просто самый GS> напрашивающийся...

BTW - данные на LCD тоже можно выгонять через сдвиговый регистр. Тогда бонусом можно использовать 8-битный обмен. а вот чтение из LCD - нафиг оно вообще кому нужно??

With best wishes - Andrey Khristov

Reply to
Andrey Khristov

Pavel, ты ещё здесь сидишь?

Понедельник Январь 30 2006 23:30, Pavel Grishin wrote to George Shepelev:

GS>> Кстати, знаешь, почему подобные pешения называются GS>> "pадиолюбительскими"? Потому что ни о каких гаpантиях паpаметpов GS>> pечи быть не может. PG> Еpyнда это всё. :) PG> Я пpовеpял на живyчесть годами и остался доволен.

Халтурщики из ЖЭКа десятилетиями заколачивают шурупы молотком и тоже считают, что так и надо делать...

PG> А так беpy счас пpи +5 pезистоpы 270R = ток 20мА.

Арифметика в объёме младших классов школы.

Hа светодиоде падает вольта полтора, посему ток будет около 13 мА.

Георгий

Reply to
George Shepelev

Dmitry, ты ещё здесь сидишь?

Четверг Февраль 02 2006 09:08, Dmitry Orlov wrote to George Shepelev:

GS>>>>>>>>>> Именно поэтому совмещать выводы, отвечающие за опрос GS>>>>>>>>>> клавиатуры и выдачу сигналов на ЖКИ есть _ОЧЕHЬ_ GS>>>>>>>>>> плохой тон! DO>>>>>>>>> Можно диодами развязаться и все сделать честно. GS>>>>>>>> Hельзя, Дима. Если сигнал (пусть и через диод) может GS>>>>>>>> попасть на вывод (а он _должен_ на него попасть!), то он GS>>>>>>>> и до вывода GS>>>>>>>> ЖКИ дойдёт (пусть опять через диод)... DO>>>>>>> Hу и что? GS>>>>>> Видимо то, что развязки с использованием только диодов, у GS>>>>>> тебя так и не получилось ;) DO>>>>> У меня как раз получилась, GS>>>> Ерунда у тебя получилась. DO>>> Ерунда получилась у тебя. GS>> Вот только не надо валить с больной головы на здоровую! DO> Вот и не вали.

Валишь ты, так что адресуй это к себе.

DO> Hе умеешь элементарные вещи проектировать, сиди и молчи в тряпочку.

Самокритикой решил заняться? Похвально ;)

Георгий

Reply to
George Shepelev

ElectronDepot website is not affiliated with any of the manufacturers or service providers discussed here. All logos and trade names are the property of their respective owners.