ATmega32 как вывести на ножки число от 0 до 9999
ATmega32 как вывести на ножки число от 0 до 9999
Добрый день! Для вывода числа к примеру 250 достаточно одного порта 8 бит. А как быть если число 999 где уже для вывода нужно 10 ножек? Я так понимаю беру 8 ножек к примеру порта А и две ножки из порта B и каждой ножке через массив переменной назначаю выход на контакт или как это реализовать? В целом у меня задача вывести на 7 сегментные индикаторы число от 0 до 9999 и при этом что бы значение числа еще и на ножках в виде двоичного кода появлялось.
- Реклама
Re: ATmega32 как вывести на ножки число от 0 до 9999
[uquote="son313",url="/forum/viewtopic.php?p=4409798#p4409798"]В целом у меня задача вывести на 7 сегментные индикаторы число от 0 до 9999 и при этом что бы значение числа еще и на ножках в виде двоичного кода появлялось.[/uquote]
разные задачи. первая решается применением сдвигового регистра 74HC595. по одной микросхеме на один разряд. для "9999" нужно четыре микросхемы. но можно использовать и динамическую индикацию. тогда хватит двух.
разные задачи. первая решается применением сдвигового регистра 74HC595. по одной микросхеме на один разряд. для "9999" нужно четыре микросхемы. но можно использовать и динамическую индикацию. тогда хватит двух.
Re: ATmega32 как вывести на ножки число от 0 до 9999
[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 разрядов. Как мне вывести это на ножки микроконтроллера?
разные задачи. первая решается применением сдвигового регистра 74HC595. по одной микросхеме на один разряд. для "9999" нужно четыре микросхемы. но можно использовать и динамическую индикацию. тогда хватит двух.[/uquote]
С выводом на индикатор это второй вопрос. Там вроди бы все понятно. Как вывести число на порты если разрядность числа больше 8? Вот допустим число 999. Это в двоичной 1111100111 то есть 10 разрядов. Как мне вывести это на ножки микроконтроллера?
Re: ATmega32 как вывести на ножки число от 0 до 9999
да теми же 74HC595
-
veso74
- Поставщик валерьянки для Кота
- Сообщения: 1906
- Зарегистрирован: Сб май 05, 2012 20:24:52
- Откуда: KN34PC, Болгария
- Контактная информация:
Re: ATmega32 как вывести на ножки число от 0 до 9999
Код: Выделить всё
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 раза.
- Реклама
Re: ATmega32 как вывести на ножки число от 0 до 9999
А сказано, что вывод д. быть параллельным? Если в последовательном коде, то хоть до миллиона, достаточно 3 пин: ВЫБОР, ДАННЫЕ и СТРОБ. Как в SPI.
Re: ATmega32 как вывести на ножки число от 0 до 9999
[uquote="Jack_A",url="/forum/viewtopic.php?p=4409815#p4409815"]А сказано, что вывод д. быть параллельным? Если в последовательном коде, то хоть до миллиона, достаточно 3 пин: ВЫБОР, ДАННЫЕ и СТРОБ. Как в SPI.[/uquote]
Да нужен именно параллельный вывод чисел от 0 до 9999.
Да нужен именно параллельный вывод чисел от 0 до 9999.
Re: ATmega32 как вывести на ножки число от 0 до 9999
unsigned int x = 999; // 11 1110 0111
PORTD=x; // .. 1110 0111
PORTC=(x>>8); // 11 .... ....
PORTD=x; // .. 1110 0111
PORTC=(x>>8); // 11 .... ....



