Регистрация | Последние сообщения | Персональный список | Поиск | Настройка конференции | Личные данные | Правила конференции | Список участников | Top 64 | Статистика раздела | faq | Что нового v.2.3 | Чат
Skunk Forum - Техника, Наука, Общество » Форум разработчиков РЭА »
Подпрограмма для ЖКИ без контроллера

Версия для печати (настроить)

Новая тема | Написать ответ

Подписаться

Автор Тема:   Подпрограмма для ЖКИ без контроллера
ava2
Member

Сообщений: 62
Откуда: Тамбов
Регистрация: Сентябрь 2006

написано 02 Мая 2007 08:39ИнфоПравкаОтветитьIP

Сейчас практически везде есть рекомендации и подробные объяснения о том как составить программу для ЖКИ с контроллером. Это, конечно, хорошо - хорошее подспорье.
Но вот нигде не встречал программы (не говоря уже об объяснениях) для ЖКИ без контроллера. Обычно используют сдвигающие регистры типа CD4015, 74AC164D.
Прошу пояснить принцип работы таких схем и дать ссылку на подпрограмму (или конструкцию) если есть такая возможность.

Добавление от 02 Мая 2007 09:26:

По затратам (кроме программных) это гораздо более выгодно (и ремонтопригодно).

Весельчак У
Moderator

Сообщений: 8758
Откуда: Санктъ-Питербурхъ
Регистрация: Декабрь 2000

написано 02 Мая 2007 13:40ИнфоПравкаОтветитьIP

ЖКИ бывают сильно разные.
Для "однофазных", т.е. с раздельными выводами от каждого сегмента и одним общим для всех, такое сделать можно - надо только подавать сигналы на сегменты в фазе с общим для погашенных сегментов и в противофазе для "засвеченных". Частота смены напряжения - порядка 25..100 Гц, точнее надо смотреть в данных на индикатор.
Для многоуровневых такое не пройдёт, надо применять специальные контроллеры. Проще всего взять готовые МК со встроенным контроллером ЖКИ (Mega169, MSP430x4xx и др.).

ava2
Member

Сообщений: 63
Откуда: Тамбов
Регистрация: Сентябрь 2006

написано 03 Мая 2007 10:11ИнфоПравкаОтветитьIP

Весельчак У
Можно про многоуровневые поподробнее (что это такое и "с чем его едят") или хотя ссылку для ликбеза. Что такое мультиплексирование (проскальзывало где -то, но что и как неясно).
Для "однофазных" если есть готовая программа или кусочек - прошу поделиться. Вообще то именно этот вариант меня сильно интересует.

Весельчак У
Moderator

Сообщений: 8771
Откуда: Санктъ-Питербурхъ
Регистрация: Декабрь 2000

написано 03 Мая 2007 11:25ИнфоПравкаОтветитьIP

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

Для "однофазных" если есть готовая программа или кусочек - прошу поделиться.
Готового нет, но там достаточно очевидно. Что-то вроде:

код:

//используется ATmega128
#include <iom128h>

unsigned char Num[5];

void main (void);

#pragma vector=TIMER0_OVF_vect
__interrupt void TIMER0_OVF(void);

void main(void)
{
//надо запрограммировать таймер на нужную частоту (25..100 Гц), зависит от типа контроллера,
//используемого таймера и тактовой частоты контроллера
while(1);
{
switch (Num[0]) //обработка первого разряда
{
case 0x00:
if (PORTG&0x01) PORTA=~0x3F;
else PORTA=0x3F;
break;
//и так далее...

case 0x0F:
if (PORTG&0x01) PORTA=~0x71;
else PORTA=0x71;
break;
default:
break;
}
//тоже самое для остальных разрядов только с соответствующим портом
}
}

__interrupt void TIMER0_OVF(void)
{
PORTG^=0x01; //инвертирование "общего"
PORTA^=0xFF; //инвертирование сегментов 1-го разряда
PORTB^=0xFF; //инвертирование сегментов 2-го разряда
PORTC^=0xFF; //инвертирование сегментов 3-го разряда
PORTD^=0xFF; //инвертирование сегментов 4-го разряда
PORTE^=0xFF; //инвертирование сегментов 5-го разряда
}


ava2
Member

Сообщений: 64
Откуда: Тамбов
Регистрация: Сентябрь 2006

написано 03 Мая 2007 18:15ИнфоПравкаОтветитьIP

Спасибо

Ваш ответ:

Коды форума
Смайлики


Ник:    Пароль       
Отключить смайлики

Все время MSK

Склеить | Разбить | Закрыть | Переместить | Удалить

Новая тема | Написать ответ
Последние сообщения         
Перейти к:

Свяжитесь с нами | skunksworks.net

Copyright © skunksworks.net, 2000-2018

Разработка и техническая поддержка: skunksworks.net


Рейтинг@Mail.ru Яндекс.Метрика