ATmega32 как вывести на ножки число от 0 до 9999

Обсуждаем контроллеры компании Atmel.
Ответить
son313
Родился
Сообщения: 4
Зарегистрирован: Чт фев 09, 2023 07:56:59

ATmega32 как вывести на ножки число от 0 до 9999

Сообщение son313 »

Добрый день! Для вывода числа к примеру 250 достаточно одного порта 8 бит. А как быть если число 999 где уже для вывода нужно 10 ножек? Я так понимаю беру 8 ножек к примеру порта А и две ножки из порта B и каждой ножке через массив переменной назначаю выход на контакт или как это реализовать? В целом у меня задача вывести на 7 сегментные индикаторы число от 0 до 9999 и при этом что бы значение числа еще и на ножках в виде двоичного кода появлялось.
Реклама
Аватара пользователя
JackSmith
Потрогал лапой паяльник
Сообщения: 332
Зарегистрирован: Ср мар 09, 2016 08:07:41

Re: ATmega32 как вывести на ножки число от 0 до 9999

Сообщение JackSmith »

[uquote="son313",url="/forum/viewtopic.php?p=4409798#p4409798"]В целом у меня задача вывести на 7 сегментные индикаторы число от 0 до 9999 и при этом что бы значение числа еще и на ножках в виде двоичного кода появлялось.[/uquote]


разные задачи. первая решается применением сдвигового регистра 74HC595. по одной микросхеме на один разряд. для "9999" нужно четыре микросхемы. но можно использовать и динамическую индикацию. тогда хватит двух.
Реклама
son313
Родился
Сообщения: 4
Зарегистрирован: Чт фев 09, 2023 07:56:59

Re: ATmega32 как вывести на ножки число от 0 до 9999

Сообщение son313 »

[uquote="JackSmith",url="/forum/viewtopic.php?p=4409805#p4409805"][uquote="son313",url="/forum/viewtopic.php?p=4409798#p4409798"]В целом у меня задача вывести на 7 сегментные индикаторы число от 0 до 9999 и при этом что бы значение числа еще и на ножках в виде двоичного кода появлялось.[/uquote]


разные задачи. первая решается применением сдвигового регистра 74HC595. по одной микросхеме на один разряд. для "9999" нужно четыре микросхемы. но можно использовать и динамическую индикацию. тогда хватит двух.[/uquote]

С выводом на индикатор это второй вопрос. Там вроди бы все понятно. Как вывести число на порты если разрядность числа больше 8? Вот допустим число 999. Это в двоичной 1111100111 то есть 10 разрядов. Как мне вывести это на ножки микроконтроллера?
Аватара пользователя
JackSmith
Потрогал лапой паяльник
Сообщения: 332
Зарегистрирован: Ср мар 09, 2016 08:07:41

Re: ATmega32 как вывести на ножки число от 0 до 9999

Сообщение JackSmith »

да теми же 74HC595
Реклама
Эиком - электронные компоненты и радиодетали
veso74
Поставщик валерьянки для Кота
Сообщения: 1906
Зарегистрирован: Сб май 05, 2012 20:24:52
Откуда: KN34PC, Болгария
Контактная информация:

Re: ATmega32 как вывести на ножки число от 0 до 9999

Сообщение veso74 »

Код: Выделить всё

  uint16_t c = 9999;

  DDRC = 0x3F;
  DDRD = 0xFF;

  PORTC = (uint8_t)((c >> 8) & 0x00FF);
  PORTD = (uint8_t)(c & 0x00FF);
Последний раз редактировалось veso74 Вт май 02, 2023 11:02:29, всего редактировалось 2 раза.
Реклама
Аватара пользователя
Jack_A
Друг Кота
Сообщения: 6307
Зарегистрирован: Вт апр 24, 2007 07:45:40
Откуда: Minsk

Re: ATmega32 как вывести на ножки число от 0 до 9999

Сообщение Jack_A »

А сказано, что вывод д. быть параллельным? Если в последовательном коде, то хоть до миллиона, достаточно 3 пин: ВЫБОР, ДАННЫЕ и СТРОБ. Как в SPI.
Изображение
Реклама
son313
Родился
Сообщения: 4
Зарегистрирован: Чт фев 09, 2023 07:56:59

Re: ATmega32 как вывести на ножки число от 0 до 9999

Сообщение son313 »

[uquote="Jack_A",url="/forum/viewtopic.php?p=4409815#p4409815"]А сказано, что вывод д. быть параллельным? Если в последовательном коде, то хоть до миллиона, достаточно 3 пин: ВЫБОР, ДАННЫЕ и СТРОБ. Как в SPI.[/uquote]

Да нужен именно параллельный вывод чисел от 0 до 9999.
roman.com
Друг Кота
Сообщения: 9147
Зарегистрирован: Вт мар 13, 2012 12:16:13
Откуда: .ru

Re: ATmega32 как вывести на ножки число от 0 до 9999

Сообщение roman.com »

unsigned int x = 999; // 11 1110 0111

PORTD=x; // .. 1110 0111
PORTC=(x>>8); // 11 .... ....
Ответить

Вернуться в «AVR»