Mega16 и hef4094
- Сообщения: 145
- Зарегистрирован: Пн дек 07, 2009 19:29:29
Пытаюсь подключить к Atmega16 сдвиговый регистр hef4094. прошивку взял от 74HC595. В протеусе 74HC595 работает как надо. заливаю в МК эту прошивку. подключаю HEF4094 и она молчит... может я забыл чтото учесть есть различия?????
- Реклама
Это не одно и тоже. Как минимум в протеусе их поведение различается.
Вероятно ваша прошивка не учитывает иное поведение сигнала STROB.
Вероятно ваша прошивка не учитывает иное поведение сигнала STROB.
- Вложения
-
- 4094.PNG
- (21.85 КБ) 365 скачиваний
- Сообщения: 145
- Зарегистрирован: Пн дек 07, 2009 19:29:29
то есть strob должен быть инверсным? странно в протеусе параллельно 74HC595 подсоединяю hef4094. оба работают одинаково
вот код
for(i=0;i<8;i++)
{
PORTB.1=1; //data
PORTB.0=1;//clock
delay_ms(10);
PORTB.1=0;//data
PORTB.0=0; //clock
delay_ms(10);
}
PORTB.2=1;//защелка
delay_ms(10);
PORTB.2=0; //защелка
while(1){}
вот код
for(i=0;i<8;i++)
{
PORTB.1=1; //data
PORTB.0=1;//clock
delay_ms(10);
PORTB.1=0;//data
PORTB.0=0; //clock
delay_ms(10);
}
PORTB.2=1;//защелка
delay_ms(10);
PORTB.2=0; //защелка
while(1){}
По идее так должно нормально работать.
Единственное - это если мега работает на достаточно высоких частотах, то может потребоваться добавить задержку между переключением сигналов на 1-2мкс. Это связано с тем что 4000-я серия довольно медлительная.
Единственное - это если мега работает на достаточно высоких частотах, то может потребоваться добавить задержку между переключением сигналов на 1-2мкс. Это связано с тем что 4000-я серия довольно медлительная.
- Сообщения: 145
- Зарегистрирован: Пн дек 07, 2009 19:29:29
Типа того???? поставил 1мсек
for(i=0;i<8;i++)
{
PORTB.1=1; //data
delay_ms(1);
PORTB.0=1;//clock
delay_ms(10);
PORTB.1=0;//data
delay_ms(1);
PORTB.0=0; //clock
delay_ms(10);
}
PORTB.2=1;//защелка
delay_ms(10);
PORTB.2=0; //защелка
while(1){}
for(i=0;i<8;i++)
{
PORTB.1=1; //data
delay_ms(1);
PORTB.0=1;//clock
delay_ms(10);
PORTB.1=0;//data
delay_ms(1);
PORTB.0=0; //clock
delay_ms(10);
}
PORTB.2=1;//защелка
delay_ms(10);
PORTB.2=0; //защелка
while(1){}
- Реклама
Так а ничего , что на входы регистру приходят сигналы 5В уровня, а питается он от 12?
1/2 - 2/3 U пит у кмдп порог "1".
1/2 - 2/3 U пит у кмдп порог "1".
- Сообщения: 145
- Зарегистрирован: Пн дек 07, 2009 19:29:29


