Перейти к содержанию

РТ2322 + РТ2323 Пишем прошивку - шестиканальный регулятор громкости и селектор входов


Рекомендуемые сообщения

Доброго времени Датагорцы!

Интересно, почему все лепят регуляторы громкости только на TDAшках. Есть пара тайских микросхем РТ2323 и РТ2322, они стоят в некоторых домашних кинотеатрах ВВК.

Искажения 0,005%. Пока что запустил РТ2323, так как она самая простая в управлении. Звук очень понравился.

 

Теперь бы разобраться с регулировками РТ2322. Сразу пишу что моих знаний не достаточно для написания программы так как надо. Как превратить децибельные значения в биты управления не смог понять, поэтому думаю сделать так:

при нажатии кнопки минус прибавлять единицу к

значению управляющего бита единиц децибел;

когда значение децибел переходит с единиц в десяток,

то прибавляем единицу к биту управления десятками децибел;

для отображения уровня хотел сделать так: так как -70db равно числу 231(min), а 0db 224(max) - то результат управляющего бита сдвинуть в лево на 231 и результат отобразить в разряд десятков не отображая знак. И так же с единицами децибел.

Возможен ли такой вариант или никто не понял что я хотел?

 

Вот здесь ссылки на полные даташиты этих микросхем:

-moemesto.ru/BIYON_DEGREYV/link/9691529

-moemesto.ru/BIYON_DEGREYV/link/9691585

post-2789-1292257670_thumb.jpg

Изменено пользователем химик
Ссылка на комментарий
Поделиться на другие сайты

  • Ответов 96
  • Создана
  • Последний ответ

Вот здесь мне помогали писать программу: https://forum.datagor.ru/index.php?showtopic=5930 , там же находится схема управляющего устройства на АТмега16.

Есть вопрос, как правильно сдвинуть число в лево

peremennaja<<213;

если переменная была равна 213, то будет ли она после операции равна 0, или так не правильно?

Ссылка на комментарий
Поделиться на другие сайты

Вот здесь мне помогали писать программу -forum.datagor.ru/index.php?showtopic=5930 , там же находится схема управляющего устройства на АТмега16.

Есть вопрос, как правильно сдвинуть число в лево

peremennaja<<213;

если переменная была равна 213, то будет ли она после операции равна 0, или так не правильно?

Не совсем понял Ваше последнее предложение. Я сдвигал так - peremennaja<<=1; либо так - peremennaja=peremennaja<<1;

Единица здесь показывает на сколько разрядов нужно сдвинуть.

А вот будет ли переменная после подобной операции равна нулю или нет, зависит от начального значения переменной, и от того, на сколько её сдвинуть.

213 в двоичной системе 11010101, чтобы она стала равна нулю нужно сдвинуть её на 8 разрядов влево...

Изменено пользователем Алексей (ohmjke)
Ссылка на комментарий
Поделиться на другие сайты

Не совсем понял Ваше последнее предложение. Я сдвигал так - peremennaja<<=1; либо так - peremennaja=peremennaja<<1;

Единица здесь показывает на сколько разрядов нужно сдвинуть.

А вот будет ли переменная после подобной операции равна нулю или нет, зависит от начального значения переменной, и от того, на сколько её сдвинуть.

213 в двоичной системе 11010101, чтобы она стала равна нулю нужно сдвинуть её на 8 разрядов влево...

Теперь понял что не правильно.

Изменено пользователем химик
Ссылка на комментарий
Поделиться на другие сайты

Теперь понял что не правильно. Сделал вот так как в файле, но теперь по очереди выскакивают три окна с ошибками, после чего файлы закрываются.

После переустановки windows компилятор начал показывать где ошибка. Оказалось что в функции Mute();. Пока что убрал ее.

Изменено пользователем химик
Ссылка на комментарий
Поделиться на другие сайты

как с доставаемостью у этих микросхем ?

 

прицепить ЖКИ, валкодер, пульт и пару кнопок.

Ну как на счет составаемости не знаю, я заказывал в интернете. Цену писал в первом посте, но Игорь удалил, значит нельзя это писать.

Схема ниже, исходники какие есть на данный момент

 

Схема изменена - поменял местами вывода PORTD.1 и PORTD.3.

:smile:

post-2789-1295109199_thumb.gif

Изменено пользователем химик
Ссылка на комментарий
Поделиться на другие сайты

Ну как на счет составаемости не знаю, я заказывал в интернете. Цену писал в первом посте, но Игорь удалил, значит нельзя это писать.

Схема ниже, исходники какие есть на данный момент

в процессе разработка подобного устройства на PIC (разлюбил я atmel) ... вот еще бы spdif :smile: микросхемке...

а зачем lm75 ? или полный усилитель будет ?

индикатор бы OLED приобрести. а то обычные уже приелись и глаз не радуют, я вообще в последнее время смотрю в сторону светодиодных семисегментников со статичным режимом

Изменено пользователем mskip
Ссылка на комментарий
Поделиться на другие сайты

в процессе разработка подобного устройства на PIC (разлюбил я atmel) ... вот еще бы spdif :smile: микросхемке...

а зачем lm75 ? или полный усилитель будет ?

индикатор бы OLED приобрести. а то обычные уже приелись и глаз не радуют, я вообще в последнее время смотрю в сторону светодиодных семисегментников со статичным режимом

LM75 у меня просто показывает температуру в комнате, помоему он не лишний. Я зимой постоянно слежу за температурой. Усилители уже все собраны, отлажены и радуют меня.

Сейчас задача разобраться с регулировками громкости. Тембра отключены за ненадобностью. На счет дисплея, поставил то что есть.

 

Если кто смотрел - в моем исходнике функции Master Volume() и Volume LCD(), скажите будет ли так работать?

Ну и по возможности подскажите как будет лучше.

Я ни как не разберу, как функция возвращает значение. Если кто поможет, то наверное функции будут выглядеть лучше чем сейчас.

Ссылка на комментарий
Поделиться на другие сайты

  • 2 недели спустя...

:smile:

Товарищи выручайте. В архиве то что есть на данный момент. Компилируется нормально, есть куча вонингов. Пожалуйста объясните почему.

И при построении проекта опять ошибка при асемблировании. ПОЖАЛУЙСТА ПОМОГИТЕ!!!

Ссылка на комментарий
Поделиться на другие сайты

:smile:

Товарищи выручайте. В архиве то что есть на данный момент. Компилируется нормально, есть куча вонингов. Пожалуйста объясните почему.

И при построении проекта опять ошибка при асемблировании. ПОЖАЛУЙСТА ПОМОГИТЕ!!!

Warnings это значить есть что то заявленое но не используемое, папример делаешь функцию, но не используешь ее, вот тебе и Warnings.

Ссылка на комментарий
Поделиться на другие сайты

Warnings это значить есть что то заявленое но не используемое, папример делаешь функцию, но не используешь ее, вот тебе и Warnings.

Привет Сергей, с наступившим!

Я хотел узнать, почему они именно там где есть.

А именно при сравнении значений (пишет что бесполезные сравнения), и еще указывает на оператор case

Ссылка на комментарий
Поделиться на другие сайты

Для публикации сообщений создайте учётную запись или авторизуйтесь

Вы должны быть пользователем, чтобы оставить комментарий

Создать учетную запись

Зарегистрируйте новую учётную запись в нашем сообществе. Это очень просто!

Регистрация нового пользователя

Войти

Уже есть аккаунт? Войти в систему.

Войти
  • Последние посетители   0 пользователей онлайн

    • Ни одного зарегистрированного пользователя не просматривает данную страницу

×
×
  • Создать...