Ребята, может кто поможет чем сможет?!
Уже месяца два борюсь с 74HC595. вот прихожу к выводу что нужно больше ног и достаю из пакетика эту микросхему.
к Q0-Q7 подключаю диоды(через резистор) к земле.
далее питалку(Vcc на +), землю на землю.
Ds вешаю на PB0 (в коде DataPin)
OE на землю
ST_CP на PB1 (в коде RunPin)
SH_CP на PB2 (в коде ClockPin)
MR на +
Q7' весит в воздухе.
Код: Выделить всё
#include <tiny2313.h>
#include <delay.h>
#define DataPin PORTB.0
#define ClockPin PORTB.2
#define RunPin PORTB.1
#define wait delay_ms(1)
void main(void) {
PORTB=0x00;
DDRB=0x00;
while (1) {
wait; RunPin = 1; wait; RunPin = 0; wait;
delay_ms(300);
DataPin = 0;
wait; ClockPin = 1; wait; ClockPin = 0; wait;
DataPin = 1;
wait; ClockPin = 1; wait; ClockPin = 0; wait;
DataPin = 0;
wait; ClockPin = 1; wait; ClockPin = 0; wait;
DataPin = 1;
wait; ClockPin = 1; wait; ClockPin = 0; wait;
DataPin = 0;
wait; ClockPin = 1; wait; ClockPin = 0; wait;
DataPin = 1;
wait; ClockPin = 1; wait; ClockPin = 0; wait;
DataPin = 0;
wait; ClockPin = 1; wait; ClockPin = 0; wait;
DataPin = 1;
wait; ClockPin = 1; wait; ClockPin = 0; wait;
wait; RunPin = 1; wait; RunPin = 0; wait;
}
}
Далее загоняю код в контроллер, и ничего не работает.
иногда загораются рандомные диоды, но чаще всего вообще ничего не происходит, а если дёрнуть проводки то загорятся все.
Пробовал вешать 0.1мкф на RunPin но ничего не дало.
До этого пытался делать на кнопках(вместо контролера) -ничего не вышло.

Требуется срочно увеличить число выводов на контроллере.
З.Ы. Облазил кучу форумов конечно. то ли я такой тупой то ли микросхемы палёные но не пашет.
Я так понял что когда состояние ноги часов меняется с 0 на 1 она считывает состояние даты, так делаешь 8 раз и потом переводишь RunPin в 1?