Всем привет!
Помогите, пожалуйста, с таким заданием.
К порту D микроконтроллера подключены кнопки (7 шт). Нажатие кнопки должно обеспечить "высвечивание" её номера (начиная от единицы) в двоичном коде на цепочке светодиодов, подключённых к порту B.
void main()
{
DDRB=0b01111111; // настроен на выход
DDRD=0; // на вход, но можно было и не писать
while(1)
{
PORTB=PIND; // считаем из D порта и скопируем в B порт
}
}
void main()
{
DDRB=0b01111111; // настроен на выход
DDRD=0; // на вход, но можно было и не писать
while(1)
{
PORTB=PIND; // считаем из D порта и скопируем в B порт
}
}
жестоко
если рассматривать человека снизу, покажется, что мозг у него глубоко в жопе
при взгляде на многих сверху ничего не меняется...
void main()
{
DDRB=0b01111111; // настроен на выход
DDRD=0; // на вход, но можно было и не писать
while(1)
{
PORTB=PIND; // считаем из D порта и скопируем в B порт
}
}
Неправильно. Нужно же номер кнопки в двоичном коде. И было бы логично кнопки на корпус.
void main()
{
DDRB=0b01111111; // настроен на выход
DDRD=0; // на вход, но можно было и не писать
while(1)
{
PORTB=PIND; // считаем из D порта и скопируем в B порт
}
}
Неправильно. Нужно же номер кнопки в двоичном коде. И было бы логично кнопки на корпус.
Не нажимается "+", идет загрузка и все на этом....
Добавлено after 2 minutes 14 seconds:
oleg110592 писал(а):
evgen_kz писал(а):графически в Algorithm Builder
Спасибо за помощь.
Еще такой вопрос, а как сделать если не нажата кнопка, чтобы и светодиод не горел, т.к. горит последняя нажатая комбинация?
И необходимо, чтобы порт D был включен в режим ввода.
Последний раз редактировалось evgen_kz Сб ноя 12, 2016 11:40:13, всего редактировалось 1 раз.
не '+' на клаве, а кнопка '+' в соответствующем сообщении
билдеровскими протезами никогда не пользовался, но по смыслу "если D = 0хFF, то 0 -> PORTB" - добавить еще одно условие.