Реклама на сайте English version  DatasheetsDatasheets

KAZUS.RU - Электронный портал. Принципиальные схемы, Datasheets, Форум по электронике

Новости электроники Новости Литература, электронные книги Литература Документация, даташиты Документация Поиск даташитов (datasheets)Поиск PDF
  От производителей
Новости поставщиков
В мире электроники

  Сборник статей
Электронные книги
FAQ по электронике

  Datasheets
Поиск SMD
Он-лайн справочник

Принципиальные схемы Схемы Каталоги программ, сайтов Каталоги Общение, форум Общение Ваш аккаунтАккаунт
  Каталог схем
Избранные схемы
FAQ по электронике
  Программы
Каталог сайтов
Производители электроники
  Форумы по электронике
Помощь проекту

AVR Раздел по микроконтроллерам компании Atmel - AVR / ATtiny / ATmega / ATMega128 / ATxmega, вопросы по программированию в AVR studio и все, относящееся к AVR...

 
Опции темы
Непрочитано 27.10.2021, 12:33  
JUSTBUFFY
Прохожий
 
Регистрация: 27.10.2021
Сообщений: 5
Сказал спасибо: 1
Сказали Спасибо 0 раз(а) в 0 сообщении(ях)
JUSTBUFFY на пути к лучшему
По умолчанию Работа с битам CVAVR

Доброго времени суток. На вашем форуме, как и в работе с CVAVR я пока новичок. Сдаю семестровую работу по учебе с интересным и не понятным заданием.

У меня есть переменная NUM = 0b10101010

Необходимо вывести её на семисегментный индикатор (8 ячеек)

Т.е. чтобы в 1 ячейке была 1, во второй 0 и т.д.

Динамическую индикацию я уже сделал, а как вот сам вывод настроить я не пойму.

Надеюсь на помощь.
Реклама:
JUSTBUFFY вне форума  
Непрочитано 27.10.2021, 13:17  
Yuri222
Почётный гражданин KAZUS.RU
 
Регистрация: 08.02.2005
Адрес: Минск, Беларусь
Сообщений: 7,765
Сказал спасибо: 2,667
Сказали Спасибо 2,634 раз(а) в 1,947 сообщении(ях)
Yuri222 на пути к лучшему
По умолчанию Re: Работа с битам CVAVR

JUSTBUFFY, как я понимаю - каждый бит преобразовать в десятичное (шестнадцатеричное) число - получите количество переменных (или массив) по числу разрядов - в данном случае у Вас байт (8 переменных).
Потом по очереди в соответствии с алгоритмом динамической индикации и порядком подачи напряжения питания на разряды индикатора выводите эти переменные в порт.
Yuri222 вне форума  
Сказали "Спасибо" Yuri222
JUSTBUFFY (27.10.2021)
Непрочитано 27.10.2021, 13:23  
JUSTBUFFY
Прохожий
 
Регистрация: 27.10.2021
Сообщений: 5
Сказал спасибо: 1
Сказали Спасибо 0 раз(а) в 0 сообщении(ях)
JUSTBUFFY на пути к лучшему
По умолчанию

Сообщение от Yuri222 Посмотреть сообщение
Покопался в сети и нашел рабочий вариант.
num2 = (num ›› 0) & 1;

0 - номер бита
num - само значение
num2 - вывод

Есть еще один вопрос. Мне, допустим, надо, используя один лишь порт для кнопок, совершать битовые операции.

Ввел на одной половине 0101
На второй 1101

И хочу например сложить их и вывести. Как это сделать?

Последний раз редактировалось mike-y-k; 27.10.2021 в 23:14. Причина: 6.6, 7.15
JUSTBUFFY вне форума  
Непрочитано 27.10.2021, 13:40  
Yuri222
Почётный гражданин KAZUS.RU
 
Регистрация: 08.02.2005
Адрес: Минск, Беларусь
Сообщений: 7,765
Сказал спасибо: 2,667
Сказали Спасибо 2,634 раз(а) в 1,947 сообщении(ях)
Yuri222 на пути к лучшему
По умолчанию Re: Работа с битам CVAVR

Сообщение от JUSTBUFFY Посмотреть сообщение
Покопался в сети и нашел рабочий вариант.
num2 = (num ›› 0) & 1;
Дешифратор (для зажигания нужных сегментов) уже встроен в индикатор?
Или контролер должен все же сам выдавать правильный набор бит для зажигания соответствующих сегментов, отображающих нужное число?
Yuri222 вне форума  
Непрочитано 27.10.2021, 15:03  
JUSTBUFFY
Прохожий
 
Регистрация: 27.10.2021
Сообщений: 5
Сказал спасибо: 1
Сказали Спасибо 0 раз(а) в 0 сообщении(ях)
JUSTBUFFY на пути к лучшему
По умолчанию Re: Работа с битам CVAVR

Сообщение от Yuri222 Посмотреть сообщение
Дешифратор (для зажигания нужных сегментов) уже встроен в индикатор?
Или контролер должен все же сам выдавать правильный набор бит для зажигания соответствующих сегментов, отображающих нужное число?
Контроллер сам выдает правильный набор бит, мне не нужно добавлять слишком много компонентов, т.к. этот код не для реального МК, только симуляция.
JUSTBUFFY вне форума  
Непрочитано 27.10.2021, 15:07  
parovoZZ
Почётный гражданин KAZUS.RU
 
Регистрация: 15.11.2010
Сообщений: 2,378
Сказал спасибо: 338
Сказали Спасибо 328 раз(а) в 253 сообщении(ях)
parovoZZ на пути к лучшему
По умолчанию Re: Работа с битам CVAVR

Сообщение от JUSTBUFFY Посмотреть сообщение
И хочу например сложить их и вывести. Как это сделать?
может, учебник по булевой алгебре почитать, а не просить нас его пересказывать?
parovoZZ вне форума  
Непрочитано 27.10.2021, 15:14  
JUSTBUFFY
Прохожий
 
Регистрация: 27.10.2021
Сообщений: 5
Сказал спасибо: 1
Сказали Спасибо 0 раз(а) в 0 сообщении(ях)
JUSTBUFFY на пути к лучшему
По умолчанию Re: Работа с битам CVAVR

Сообщение от parovoZZ Посмотреть сообщение
может, учебник по булевой алгебре почитать, а не просить нас его пересказывать?
Я не прошу рассказать как складывать и умножать)
Я прошу рассказать как разделить вход.
Нужно, например, 01101100 разделить на две части, т.е. 0110 и 1100 и уже отдельно взаимодействовать.
JUSTBUFFY вне форума  
Непрочитано 27.10.2021, 15:21  
Yuri222
Почётный гражданин KAZUS.RU
 
Регистрация: 08.02.2005
Адрес: Минск, Беларусь
Сообщений: 7,765
Сказал спасибо: 2,667
Сказали Спасибо 2,634 раз(а) в 1,947 сообщении(ях)
Yuri222 на пути к лучшему
По умолчанию Re: Работа с битам CVAVR

Сообщение от JUSTBUFFY Посмотреть сообщение
01101100 разделить на две части, т.е. 0110 и 1100 и уже отдельно взаимодействовать
Так введите внутрь котроллера все значение с этого порта, а потом уже делите на две части (две переменных) - ну, например, сдвигами и маскированием лишних разрядов.
Или сразу вводите с одного порта два раза соответствующие половинки.
Yuri222 вне форума  
Непрочитано 27.10.2021, 15:32  
JUSTBUFFY
Прохожий
 
Регистрация: 27.10.2021
Сообщений: 5
Сказал спасибо: 1
Сказали Спасибо 0 раз(а) в 0 сообщении(ях)
JUSTBUFFY на пути к лучшему
По умолчанию Re: Работа с битам CVAVR

Сообщение от Yuri222 Посмотреть сообщение
Или сразу вводите с одного порта два раза соответствующие половинки.
Это как? Просто не особо понимаю.
JUSTBUFFY вне форума  
Непрочитано 27.10.2021, 15:38  
parovoZZ
Почётный гражданин KAZUS.RU
 
Регистрация: 15.11.2010
Сообщений: 2,378
Сказал спасибо: 338
Сказали Спасибо 328 раз(а) в 253 сообщении(ях)
parovoZZ на пути к лучшему
По умолчанию

Сообщение от JUSTBUFFY Посмотреть сообщение
Я не прошу рассказать как складывать и умножать)
а вот если бы почитал, то и не писал бы этот бред.
Булева алгебра - это не только сложение и умножение, а много чего ещё.

кстати, а на хер здесь вообще симулятор? Всё можно сделать в speedcrunch ну или даже в виндовом кранкукуляторе из десятки.

Последний раз редактировалось mike-y-k; 27.10.2021 в 23:14. Причина: 6.6
parovoZZ вне форума  
 

Закладки
Опции темы

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Возможна ли установка нескольких версий CVAVR ? begun AVR 7 24.04.2019 13:33
Ищу гуру STM32 (работа за деньги!) xakez ARM 1 07.07.2016 13:44
Attiny13\2313 и генератор импульсов на CVAVR deeman30rus AVR 31 22.11.2012 19:20
Работа с отдельными битами в CVAVR wellcom Микроконтроллеры, АЦП, память и т.д 7 17.03.2011 18:00
Напряжённая работа Roshens Отвлекитесь, эмбеддеры! 8 01.09.2010 23:08


Часовой пояс GMT +4, время: 20:26.


Powered by vBulletin® Version 3.8.4
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd. Перевод: zCarot