Свежие обсуждения
Микроконтроллеры

семисегментный индикатор с микросхемой=минимум ног МК.

1 3

Приветсвую! Тут у меня проблемка возникла, стенд для PIC контроллеров доделываю, а у P16f84a, мало ног. Но для изучения студентами терубется именно P16f84a, никакой другой, так как студенты ща ленивые стали, им хотя бы это изучить. Дак вот проблемка: подрубил двух разрядный 7 сегментный индикатор через микросхемы 74AHC595, и вместе с микросхемой и индикатором, на МК идёт 3 ноги: данные, синхронизация, защёлка. Даташит изучил, впрямом смысле слова "до дыр в мониторе". Собрал, но в реальности не работает. Соответсвенно там был сброс по низкому уровню, сделал по высокому, то же ничё. С МК импульсы идут. Монтаж проверил на десять раз. Мож кто знает подключение МК PIC, с минимумом ног через другие сикросхемы?

 

zakonnik, не мучайтесь, соединяйте последовательно 2 шт ИР8 (аналог, если не вру, 74хх193). Хватит двух ног. Защелка здесь совершенно ни к чему, от того что индикатор чуть-суть подсветится при загрузке данных, никому не холодно и не жарко.

 

Max_Pinchuk, блин я бы с удовольствием воткнул 876, но мне учитель строго настрого запретил ставить другие пики, так что приходиться выкручиваться! Так а вот по микросхамкам учтём!!

chav1961: zakonnik, не мучайтесь, соединяйте последовательно 2 шт ИР8 (аналог, если не вру, 74хх193). Хватит двух ног. Защелка здесь совершенно ни к чему, от того что индикатор чуть-суть подсветится при загрузке данных, никому не холодно и не жарко.
Ага, будем подбирать!!!

 

ИМХО, 595 - очень хорошая микросхема.
Вот кусок кода для записи в неё:


// запись байта в одну 595
void sr_w(unsigned char ch )
{
unsigned char counter = 8;

SR_LATCH = LOW;
SR_CLK = LOW;

while (counter--)
{

SR_CLK = LOW;

// write bit
if ( ch & 0x80 )
SR_DATA = HIGH;
else
SR_DATA = LOW;

_nop_ ();

SR_CLK = HIGH;

ch <<= 1; // сдвиг влево
}

SR_LATCH = HIGH; // защёлкнем

}

// запись в несколько 595 (к-во = cnt)
void sr_write_array(unsigned char *ch, unsigned char cnt)
{

unsigned char counter;
unsigned char byte;

SR_LATCH = LOW;
SR_CLK = LOW;

while (cnt--)
{
byte = *ch++;
counter = 8;
while (counter--)
{

SR_CLK = LOW;

if (byte & 0x80)
SR_DATA = HIGH;
else
SR_DATA = LOW;

_nop_ ();

SR_CLK = HIGH;

byte <<= 1; // сдвиг влево
}
}
SR_LATCH = HIGH; // защёлкнем
}

Названия ног, я думаю, понятны.

 

Блин! Может кто подкинет ссылочку на дадашит ИР8?
АНТОХА, я думаю что отличная, но и сложная, ИР8 мне кажеться будут по легче с конструктивной точки зрения.

 

zakonnik: я думаю что отличная, но и сложная, ИР8 мне кажеться будут по легче с конструктивной точки зрения.

Единственное отличие - это защёлка. То есть, у ИР8 данные сразу появляются на ножках, а у 595 - по команде (по фронту на LATCH)

 

АНТОХА, отличие понятно. Но на ИР8 ,блин, даташит найти в поисковике не могу!

 

zakonnik: Но на ИР8 ,блин, даташит найти в поисковике не могу!
Горе-то какое, а?
Что и у Пинчука нету?

 

незнаю, может МАХ надыбает где нибудь, он умеет искать инфу!!!

 

ВО! Макс, выручил!!!! Благодарю!!!!!!!