Реклама на сайте DatasheetsDatasheets

KAZUS.RUN - Электронный портал. Принципиальные схемы, Datasheets, Форум по электронике

Новости электроники Новости Литература, электронные книги Литература Документация, даташиты Документация Поиск даташитов (datasheets)Поиск PDF
  От производителей
Новости поставщиков
В мире электроники

  Сборник статей
Книги и журналы
FAQ по электронике

  Datasheets
Поиск SMD
Онлайн справочник

Принципиальные схемы Схемы Каталоги программ, сайтов Каталоги Общение, форум Общение Ваш аккаунтАккаунт
  Каталог схем
Схемы и проекты
Принципиальные схемы
  Программы
Каталог сайтов
Калькуляторы
  Форумы по электронике
Помощь проекту

Микроконтроллеры, АЦП, память и т.д Темы касающиеся микроконтроллеров разных производителей, памяти, АЦП/ЦАП, периферийных модулей...

 
Опции темы

Посегментная динамическая индикация

Непрочитано 17.10.2012, 17:27  
3ann
Временная регистрация
 
Регистрация: 21.11.2006
Сообщений: 96
Сказал спасибо: 9
Сказали Спасибо 6 раз(а) в 6 сообщении(ях)
3ann на пути к лучшему
По умолчанию Посегментная динамическая индикация

Листая журнал РадиоЛоцман-июль июль 2011 г. стр. 51 http://www.rlocman.ru/forum/krfilesm...e&dlfileid=105
нашел очень интересную схему индикации с выводом информации на восьмиразрядный семисегментный индикатор с использованием всего 8 выводом микроконтроллера. Там есть ссылка на программу на ассемблере. Но я пытаюсь осваивать программирование PIC на Си. Мне реально хотелось бы вывести информацию с АЦП PICа на четырехразрядный семисегментный индикатор. Программу для порязрядной динамической индикации я на Си написал и реализовал в "железе" и в ПРОТЕУСе. А вот с посегментной индикацией что-то не соображу. Подскажите с кодом на Си. Или хотя-бы со словесным алгоритмом - как пооптимальнее перебирать сегменты.
Миниатюры:
Нажмите на изображение для увеличения
Название: 2Посегментная динамическая индикация.png
Просмотров: 331
Размер:	132.8 Кб
ID:	39616  
Реклама:
3ann вне форума  
Непрочитано 17.10.2012, 18:01  
ut1wpr
Почётный гражданин KAZUS.RUN
 
Аватар для ut1wpr
 
Регистрация: 19.08.2006
Адрес: Львов
Сообщений: 1,613
Сказал спасибо: 65
Сказали Спасибо 315 раз(а) в 264 сообщении(ях)
ut1wpr на пути к лучшему
По умолчанию Re: Посегментная динамическая индикация

Сообщение от 3ann Посмотреть сообщение
Листая журнал РадиоЛоцман-июль июль 2011 г. стр. 51 http://www.rlocman.ru/forum/krfilesm...e&dlfileid=105
нашел очень интересную схему индикации с выводом информации на восьмиразрядный семисегментный индикатор с использованием всего 8 выводом микроконтроллера. Там есть ссылка на программу на ассемблере. Но я пытаюсь осваивать программирование PIC на Си. Мне реально хотелось бы вывести информацию с АЦП PICа на четырехразрядный семисегментный индикатор. Программу для порязрядной динамической индикации я на Си написал и реализовал в "железе" и в ПРОТЕУСе. А вот с посегментной индикацией что-то не соображу. Подскажите с кодом на Си. Или хотя-бы со словесным алгоритмом - как пооптимальнее перебирать сегменты.
Ничего нового. Классическое применение метода Чарлиплексинга с расширением до Гугаплексинга.. В моих поделках с большим к-вом элементов индикации я часто его применяю. Поиск по Гуглу по ключу Charlieplexing. В тексте статьи написано открытым текстом.
В двух словах. Имея N выводов МК можно динамически включать N x (N-1) светодиодов. Скажем, имея 8 выводов можно управлять 8 х (8-1) = 56 светодиодами. Не стоит обольщаться кажущейся выгодой. Не следует забывать о стробоскопии и скважности. С увеличением к-ва элементов растет и скважность импульса включения, т.к. в момент времени может быть включен только один элемент. Это вызывает необходимость увеличение тока через элемент. Т.е. все те же требования к увеличению тока, как и в обычной мультиплексированной индикации.
Лучше Интернета никто не расскажет. Ключевое слово я уже привел. И на русском и на английском. С примерами, с формулами и схемами.
__________________
С уважением,
Vic / ut1wpr

Последний раз редактировалось ut1wpr; 17.10.2012 в 18:08.
ut1wpr вне форума  
Непрочитано 18.10.2012, 09:39  
3ann
Временная регистрация
 
Регистрация: 21.11.2006
Сообщений: 96
Сказал спасибо: 9
Сказали Спасибо 6 раз(а) в 6 сообщении(ях)
3ann на пути к лучшему
По умолчанию Re: Посегментная динамическая индикация

Попытался следуя совету "погуглить". Как и ожидал на русском языке ничего не нашел. На английском ссылок море. Но увы, ссылки как на русском та и на английском про индикацию на светодиодах. Да и с английским большая проблема - учил в немецкий.
А по поводу "В двух словах. Имея N выводов МК можно динамически включать N x (N-1) светодиодов. Скажем, имея 8 выводов можно управлять 8 х (8-1) = 56 светодиодами" . Я вроде не об этом спрашивая об этом - это вроде бы и без этого комментария достаточно прозрачно и вряд ли может вызывать вопросы. Суть вопроса еще раз повторюсь :
"... с посегментной индикацией... Подскажите с кодом на Си. Или хотя-бы со словесным алгоритмом - как пооптимальнее перебирать сегменты".
Т.е. интересует написание кода на Си для нескольких (достаточно четырех) семисегментных индикаторов.
3ann вне форума  
Непрочитано 18.10.2012, 10:23  
dosikus
Гуру портала
 
Аватар для dosikus
 
Регистрация: 20.11.2004
Сообщений: 9,979
Сказал спасибо: 928
Сказали Спасибо 2,261 раз(а) в 1,557 сообщении(ях)
dosikus на пути к лучшему
По умолчанию Re: Посегментная динамическая индикация

3ann, Для 4х разрядов еще более менее терпимо.
Для 8, скорей всего, чревато снижением яркости.
__________________
Осторожно , злой кот
dosikus вне форума  
Непрочитано 18.10.2012, 12:08  
omercury
Почётный гражданин KAZUS.RUN
 
Аватар для omercury
 
Регистрация: 25.05.2010
Адрес: г. Королёв
Сообщений: 8,487
Сказал спасибо: 30
Сказали Спасибо 3,070 раз(а) в 2,011 сообщении(ях)
omercury на пути к лучшему
По умолчанию Re: Посегментная динамическая индикация

Сообщение от 3ann Посмотреть сообщение
Как и ожидал на русском языке ничего не нашел.
Прямо первой строкой,
Второй,
Третьей...
...и общий поиск...
omercury вне форума  
Непрочитано 18.10.2012, 12:18  
Easyrider83
Гуру портала
 
Аватар для Easyrider83
 
Регистрация: 27.10.2008
Адрес: ЕС
Сообщений: 10,821
Сказал спасибо: 919
Сказали Спасибо 4,289 раз(а) в 2,570 сообщении(ях)
Easyrider83 на пути к лучшему
По умолчанию Re: Посегментная динамическая индикация

Сообщение от dosikus Посмотреть сообщение
3ann, Для 4х разрядов еще более менее терпимо.
Для 8, скорей всего, чревато снижением яркости.
Сильно от диодов и драйверов зависит. Есть такие индикаторы, что ими ночью дорогу освещать можно. Нормально там скважность 1/100 будет видна.
Easyrider83 вне форума  
Непрочитано 18.10.2012, 13:49  
Yurkin2007
Заблокирован
 
Регистрация: 27.03.2007
Сообщений: 1,327
Сказал спасибо: 12
Сказали Спасибо 576 раз(а) в 460 сообщении(ях)
Yurkin2007 на пути к лучшему
По умолчанию Re: Посегментная динамическая индикация

Сообщение от 3ann Посмотреть сообщение
Подскажите с кодом на Си.
Тут принцип следующий: один из битов порта В соединён с общим анодом и через него питается весь разряд. То есть, если на остальные сегментные выводы порта подать нолики, то загорится циферка в этом разряде. При этом надо учесть, что подавать на сегментные выходы можно только 0, единички нельзя. Иначе зажгутся другие разряды. Вместо единичек соответствующие биты делаем входами, т.е. высокоимпедансными, тогда и наш сегмент не горит и на соседний разряд напряжения не хватает.
Ну, и для вывода информации на разряд нужно её сдвигать по кругу, т.к. сегменты сдвинуты.
Код:
char arr[8]={1,8,1,0,2,0,1,2};
int tmp;

  while(1)
  {

     for(int i=0;i‹8;i++)
    {
          tmp = CharTo7Seg(arr[i]); // преобразуем цифру в 7-ми сегментный код
 	  tmp &= 0x7f;      // старший бит в 0, т.к. будет выход для общего анода
	
	  tmp‹‹=(8-i);                // сдвигаем по кругу направо так, как сегменты сдвинуты
	  tmp|=(tmp››8) & 0xff; // возвращаем уехавшую в старший байт часть назад
	
	  TRISB = tmp; // Устанавливаем направление битов порта В, бит = 0 - выход, = 1 - вход
	  tmp |= 0x80››i;  // устанавливаем 1 в бит, который на общий анод
	  PORTB = tmp; // выводим на сегменты
	
	  delay(10);
    }	
  }

Последний раз редактировалось Yurkin2007; 18.10.2012 в 14:42.
Yurkin2007 вне форума  
Непрочитано 18.10.2012, 13:50  
ut1wpr
Почётный гражданин KAZUS.RUN
 
Аватар для ut1wpr
 
Регистрация: 19.08.2006
Адрес: Львов
Сообщений: 1,613
Сказал спасибо: 65
Сказали Спасибо 315 раз(а) в 264 сообщении(ях)
ut1wpr на пути к лучшему
По умолчанию Re: Посегментная динамическая индикация

Сообщение от 3ann Посмотреть сообщение
ссылки как на русском та и на английском про индикацию на светодиодах. Да и с английским большая проблема - учил в немецкий.
Постарайтесь не ссылаться на незнание языков. Эту проблему вы в состоянии и должны решить сами. Форум тут ни при чем.
Цитата:
А по поводу "В двух словах. Имея N выводов МК можно динамически включать N x (N-1) светодиодов. Скажем, имея 8 выводов можно управлять 8 х (8-1) = 56 светодиодами" . Я вроде не об этом спрашивая об этом - это вроде бы и без этого комментария достаточно прозрачно и вряд ли может вызывать вопросы. Суть вопроса еще раз повторюсь :
"... с посегментной индикацией...
Чем сегмент отличается от светодиода?
Цитата:
Подскажите с кодом на Си. Или хотя-бы со словесным алгоритмом - как пооптимальнее перебирать сегменты".
Т.е. интересует написание кода на Си для нескольких (достаточно четырех) семисегментных индикаторов.
Оптимальное написание кода произойдет тогда, когда вы сами поймете, реализуете, напишите и оптимизируете алгоритм управления именно светодиодами. Если действительно есть желание разобраться и понять, а не просто получить готовый код - напишите мне на ut1wpr [барбос] nemwail [точка] ru
Я вам попробую помочь.
Предварительно е условие, попробуйте хотя бы со словарем разобраться в принципах Чарлиплексинга. Ну очень уж там несложно.
__________________
С уважением,
Vic / ut1wpr
ut1wpr вне форума  
Непрочитано 18.10.2012, 14:25  
3ann
Временная регистрация
 
Регистрация: 21.11.2006
Сообщений: 96
Сказал спасибо: 9
Сказали Спасибо 6 раз(а) в 6 сообщении(ях)
3ann на пути к лучшему
По умолчанию Re: Посегментная динамическая индикация

C яркостью свечения семисегментных светодиодных индикаторов для меня проблема уже давно решена. Например вот эти SC56-11SRWA при токе 1-2 миллиампера светят так, что в комнате при дневном освещении, даже в солнечную погоду видно все без проблем
Добросовестно посмотрел все ссылки:
"Прямо первой строкой,
Второй,
Третьей...
...и общий поиск...."
Много всего есть, но вокруг да около. Но еще раз повторюсь меня «… интересует написание кода на Си для нескольких (достаточно четырех) семисегментных индикаторов». Ну нет там в ссылках такого кода!!!!

Последний раз редактировалось 3ann; 18.10.2012 в 14:39. Причина: уточнение
3ann вне форума  
Непрочитано 18.10.2012, 15:25  
ut1wpr
Почётный гражданин KAZUS.RUN
 
Аватар для ut1wpr
 
Регистрация: 19.08.2006
Адрес: Львов
Сообщений: 1,613
Сказал спасибо: 65
Сказали Спасибо 315 раз(а) в 264 сообщении(ях)
ut1wpr на пути к лучшему
По умолчанию Re: Посегментная динамическая индикация

Сообщение от 3ann Посмотреть сообщение
Но еще раз повторюсь меня «… интересует написание кода на Си для нескольких (достаточно четырех) семисегментных индикаторов». Ну нет там в ссылках такого кода!!!!
Ну что поделаешь, тупые мы! Раз уж вы так настойчиво требуете, постарайтесь объяснить, какой смысл вы вкладываете в "интересует написание кода"? Т.е. написать вам код? Я могу написать. Но что вы будете делать с ним, если он не совпадет по пинам с вашей схемой? Переписать не понимая принципа вы не сможете. Снова будете на нас сердиться за нежелание "написать вам код"?
__________________
С уважением,
Vic / ut1wpr
ut1wpr вне форума  
 
Опции темы

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

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Динамическая индикация putmannn Микроконтроллеры, АЦП, память и т.д 58 16.05.2012 12:45
Динамическая индикация EKuzmich TTL и CMOS логика 16 05.08.2011 08:18
Динамическая индикация mironov Микроконтроллеры, АЦП, память и т.д 4 02.07.2010 17:37
Динамическая индикация dosikus Микроконтроллеры, АЦП, память и т.д 3 16.02.2008 19:09
Динамическая индикация на ЖК dion310 Микроконтроллеры, АЦП, память и т.д 4 27.11.2007 10:39


Часовой пояс GMT +4, время: 03:37.


Powered by vBulletin® Version 3.8.4
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.