Телесистемы
 Разработка, производство и продажа радиоэлектронной аппаратуры
На главную   | Карта сайта | Пишите нам | В избранное
Требуется программист в Зеленограде
- обработка данных с датчиков; ColdFire; 40 тыс.
e-mail:jobsmp@pochta.ru

Телесистемы | Электроника | Конференция «Микроконтроллеры и их применение»

У меня всегда в приоритете красивая разводка платы, поэтому индикаторы (да и всё остальное) всегда сидят на разных портах. А хитрые LCD действительно есть, например, TIC47

Отправлено Леонид Иванович (87.252.227.56) 15 декабря 2010, г. 16:11
В ответ на: Разве что памяти совсем в обрез (строки во флеш напрямую с 7-сегм. кодах набивать)... А насчет "кроссировки" выводов, то часто-ли такое надо? Мне не часто :) Посему для вывода просто набросаю функцию, наподобие вот этой (для заказного 7-сегментника на 5 знакомест). Там длинный сдвиговый регистр на все сегменты и служебные значки, произвольно разбросанные по всему регистру... Оттого вот такой изврат (который для ничего другого точно не пригодится): отправлено Гудвин 15 декабря 2010, г. 15:42


SEG_POS[7, 5] =
{
{ 7, 18, 27, 35, 44 }, //позиции сегментов A из datasheet
{ 8, 19, 28, 36, 45 }, //позиции сегментов B из datasheet
{ 13, 20, 29, 38, 46 }, //позиции сегментов C из datasheet
{ 3, 14, 22, 30, 39 }, //позиции сегментов D из datasheet
{ 4, 15, 23, 32, 40 }, //позиции сегментов E из datasheet
{ 6, 17, 25, 34, 42 }, //позиции сегментов F из datasheet
{ 5, 16, 24, 33, 41 } //позиции сегментов G из datasheet
}

Conv(char Dig, char Code) //номер разряда, выводимая цифра
{
char n; //индекс номера разряда
char m; //маска сегмента
char s = Font[Code]; //таблица знакогенератора должна иметь ABC.. подряд
for(char i = 0; i < 7; i++)
{
n = (SEG_POS[i, Dig] - 1) / 8;
m = 1 << (SEG_POS[i, Dig] - 1) % 8
if(s & (1 << i)) SegCopy[n] | m;
else SegCopy[n] & ~m;
}
}


Составить ответ | Вернуться на конференцию

Ответы


Отправка ответа
Имя*: 
Пароль: 
E-mail: 
Тема*:

Сообщение:

Ссылка на URL: 
URL изображения: 

если вы незарегистрированный на форуме пользователь, то
для успешного добавления сообщения заполните поле, как указано ниже:
введите число 234:

Перейти к списку ответов | Конференция | Раздел "Электроника" | Главная страница | Карта сайта

Rambler's Top100 Рейтинг@Mail.ru
 
Web telesys.ru