Всем привет, подключил регистр сдвига 74HC164 к меге8535, но никак не удаётся управлять им....мучаюсь уже 3тий день..... подключал как сдесь

только вместо индикатора у меня табло 8х8
проблема в том что не наблюдаю никаких изменений, а иногда регистр ведет себя странно, вписывает левые значения) привожу текст проги :
Код
#include <MEGA8535.h>
char i;
void main(void)
{
DDRA = 0b11111111;
PORTA = 0b11111111; //тут висят + матрицы (плюсы включают строки)
DDRB = 0x00000011;
PORTB = 0b00000010; //PORTB.0 - C1, PORTB.1 - Data (регистр)
for (i = 0; i<= 7; i++) { //очищаем регистр (записываем во все выводы 1)
PORTB.0 = 0;
PORTB.0 = 1;
};
while (1)
{
PORTB.1 = 0; //включаем первый столбец
PORTB.0 = 0;
PORTB.0 = 1;
delay_ms(100);
PORTB.1 = 1;
for (i = 0; i<= 6; i++) { //как-бы выводим каждый раз новый столбец матрицы справа налево
PORTB.0 = 0;
PORTB.0 = 1;
delay_ms(100);
};
}
}
помогите пожалуста!