Форум myROBOT.ru » Шаг за шагом » Программирование микроконтроллеров » Управление сдвиговым регистром...

Страниц (1): [1]
 

1. LED - 25 Февраля, 2013 - 22:14:15 - перейти к сообщению
Привет..имеестя МК Атмега8 ,также есть 8 сдвиговых регистров 74HC164, на выходы сдвиговых регистров прицеплены светодиоды(64 шт)Для полноты понимания скажу, решил собрать 3Д ЛЕД ГЛОБУС....Принцип управления сдвиговыми регистрами знаю на отлично=))Использую3 порта с МК 1)это data(причем на сд.регистре есть 2 входая их соеденяю в один) 2)это -reset..3)это -clock///но вот с программной частью ничего неполучается..кто понимает в этом, можете мне написать обрывок кода.. которым управляеся сдвиговой регистр...Буду благодарен,Заранее спс.
2. Predator - 25 Февраля, 2013 - 22:29:34 - перейти к сообщению
допустим вам надо загнать туда переменную Dbyte разрядностью 8 бит, старшим вперед тогда примерно так:
CODE:


RESETPORT=1;
for(i=0; i<8;i++)
{
if ((Dbyte<<i)&0x80==0)
{DATAPORT=0;
CLKPORT=1;
CLKPORT=0;
}
else
{DATAPORT=1;
CLKPORT=1;
CLKPORT=0;
};
}

и есть варианты... много....
кстати, а зачем вам там сброс впринципе?
3. LED - 26 Февраля, 2013 - 00:21:59 - перейти к сообщению
спасибо...а что reset там ненужен?..
4. Predator - 26 Февраля, 2013 - 10:04:42 - перейти к сообщению
ну только если в один момент нужно очень резко потушить все светодиоды...
5. Artem - 26 Февраля, 2013 - 19:40:20 - перейти к сообщению
А можно поинтересоваться, что это за язык? вроде на СИ похож, но только надпись смущает: CLKPORT=1; Просветите меня в этом вопросе Улыбка
6. Predator - 26 Февраля, 2013 - 21:41:49 - перейти к сообщению
это С, а CLKPORT - нужно заменить на нужный порт, или вообще обьявить сие как константу.
7. LED - 27 Февраля, 2013 - 01:12:25 - перейти к сообщению
Спасибо...все заработало..остается только сделать из этого развертку материков=))..есть еще несколько вопросов ,но это неотносится к программированию)
8. Artem - 27 Февраля, 2013 - 11:32:53 - перейти к сообщению
А всё, понял, спасибо Улыбка