Я бы хотел отобразить 2 номера usig двух сдвиговых регистров 4094, некоторые 7-сегментные светодиоды и ATmega 328p. Мой curent код:7-сегментный светодиод + 4094
uint8_t LED[10]={0b11111100,0b01100000,0b011011010,0b011110010,0b01100110,0b10110110,0b10111110,0b111000000,0b11111110,0b11110110};
int j =Led; //input from the main
uint8_t num_1=Led/10;
uint8_t num_2=Led%10;
Strobe=0;
uint8_t mask=0x80;
for(uint8_t i=0; i<8; i++)
{
mask=mask>>1;
if((LED[num_1] & mask) ==1)
{
DATA= 1;
}
else
{
DATA= 0;
}
pulse();
}
mask=0x80;
for(uint8_t i=0; i<8; i++)
{
mask=mask>>1;
;
if((LED[num_2] & mask)==1)
{
DATA= 1;
}
else
{
DATA= 0;
}
pulse();
}
Но, конечно, это не работает должным образом. Он генерирует только 0. Можете ли вы указать мне в правильном направлении? EDIT: Я использую Atmel студию 6. Цель кода для генерации число от 00 до 16.
Просьба предоставить более подробную информацию. Цель состоит в том, чтобы сгенерировать некоторый битовый шаблон или последовательность битовых шаблонов? Код выглядит как C, на самом деле C? – Codor
4094 требует дополнительного сигнала для хранения сдвинутых значений в свой внутренний регистр, который сохраняет свой вывод. Я не вижу, чтобы вы заботились об этом (между смещением двух цифр). – Cactus
Если вы показываете код, вы должны пометить язык. Помимо помощи людям в поиске вопроса, это также влияет на подсветку синтаксиса. – crashmstr