|
ATmega16 + PT2322 + PT2323, Пишем программу в Code Vision AVR... |
|
|
|
Mar 4 2013, 21:59
|
Участник

Группа: Участник
Сообщений: 45
Регистрация: 4-03-13
Из: Украина / Харьков
Пользователь №: 75 894

|
Здравствуйте я ученик, и ничего не понимаю в написание программы для ATmega16. Надеюсь здесь я найду людей которые мне смогут помочь. Суть такова у меня есть печатка приложил ниже. (уже сделана, распаяна) Помогите начать с нуля, написать прошивку. Сперва надо сказать то, что будет делать программа и собственно ATmega: -Управлять аудио процессорами по интерфейсу I 2C. (Аудио процессоры PT-2322 + PT2323) -Выводить состояние параметров и управления на LCD Winstar 16x2. -Сигнализировать свечением диодов о выбранных параметрах. -Управляться пультом по протоколу RC-5 -Управляться 5 кнопками (Sesect, 2.1, 5.1, AC-3, StandBy). C чего начать я даже и не знаю. Ниже приложил материалы которые у меня есть.(включая исходник готовой прошивки но с пультом в котором работают только три кнопки, нет регулировки тембром, и физических кнопок.
Эскизы прикрепленных изображений
|
|
|
|
|
 |
Ответов
|
Mar 19 2013, 14:21
|
Частый гость
 
Группа: Участник
Сообщений: 182
Регистрация: 14-09-10
Из: Уфа
Пользователь №: 59 479

|
Как-то уж слишком мудрено у Вас... Предлагаю привести схему к виду, как в приложенном файле, тогда о уровнях напряжения на входе АЦП можно будет просто догадаться, не прибегая даже к закону имени Ома ))))
Эскизы прикрепленных изображений
|
|
|
|
|
Mar 19 2013, 15:12
|
Участник

Группа: Участник
Сообщений: 45
Регистрация: 4-03-13
Из: Украина / Харьков
Пользователь №: 75 894

|
Цитата(artkam @ Mar 19 2013, 16:21)  Как-то уж слишком мудрено у Вас... Предлагаю привести схему к виду, как в приложенном файле, тогда о уровнях напряжения на входе АЦП можно будет просто догадаться, не прибегая даже к закону имени Ома )))) НУ я замерял напряжение на своей схеме: 0,9 \ 1,52 \ 2,00 \ 2,35 \ 2,64 как в адц перевести??? Еще подскажите как организовать сдвиг бита для регулировки тона. Исходник привел ниже. Биты регулировки в коде Код 0b1001 G3 G2 G1 G0 Bass tone control 0b1010 K3 K2 K1 K0 Middle tone control 0b1011 H3 H2 H1 H0 Treble tone control
TONE CONTROL BITS G3/K3/H3 G2/K2/H2 G1/K1/H1 G0/K0/H0 Attenuation (dB) 0 0 0 0 -14 0 0 0 1 -12 0 0 1 0 -10 0 0 1 1 -8 0 1 0 0 -6 0 1 0 1 -4 0 1 1 0 -2 0 1 1 1 0 1 0 0 0 +14 1 0 0 1 +12 1 0 1 0 +10 1 0 1 1 +8 1 1 0 0 +6 1 1 0 1 +4 1 1 1 0 +2 1 1 1 1 0 Note: G=Bass, K=Middle, H=Treble
Сообщение отредактировал Дмитрий(846) - Mar 19 2013, 15:25
|
|
|
|
|
Mar 19 2013, 15:46
|
Гуру
     
Группа: Свой
Сообщений: 5 273
Регистрация: 30-03-10
Пользователь №: 56 295

|
Цитата(Дмитрий(846) @ Mar 19 2013, 18:12)  НУ я замерял напряжение на своей схеме: 0,9 \ 1,52 \ 2,00 \ 2,35 \ 2,64 как в адц перевести??? Для этого придется-таки хоть чуть-чуть подумать и вспомнить пропорции, их учат примерно классе в четвертом. Если АЦП 10-разрядный, и на его вход подано его полное опорное напряжение, например, AVCC=5В (я не знаю, какое опорное напряжение вы выбрали для АЦП), то из его регистра будет считано число 1023. Числа для остальных напряжений рассчитайте сами.
|
|
|
|
|
Mar 19 2013, 17:41
|
Участник

Группа: Участник
Сообщений: 45
Регистрация: 4-03-13
Из: Украина / Харьков
Пользователь №: 75 894

|
Цитата(kovigor @ Mar 19 2013, 17:46)  Для этого придется-таки хоть чуть-чуть подумать и вспомнить пропорции, их учат примерно классе в четвертом. Если АЦП 10-разрядный, и на его вход подано его полное опорное напряжение, например, AVCC=5В (я не знаю, какое опорное напряжение вы выбрали для АЦП), то из его регистра будет считано число 1023. Числа для остальных напряжений рассчитайте сами. Спасибо с кнопками разобрался, перепаял резистор на +5 на 10кОм, а не 4,7кОм. Все работает вот результат. Код unsigned char read_key(void) { unsigned char key_adc; key_adc=read_adc(3); //3 if (key_adc <= 3) return KEY_STANDBY; if ((key_adc >= 20) && (key_adc <= 60)) return KEY_MUTE; //45//100-148 = 1000 Om if ((key_adc >= 70) && (key_adc <= 85)) return KEY_INPUTAC3; //77//130-178 = 2000 Om if ((key_adc >= 90) && (key_adc <= 118)) return KEY_INPUT1; //102//180-198 = 3000 Om if ((key_adc >= 120) && (key_adc <= 144)) return KEY_MODE; //119//200-248 = 4000 Om if ((key_adc >= 150) && (key_adc <= 190)) return KEY_INDICATE_PLUS; //134//200-248 = 5000 Om } Теперь нужна помощь с регулировкой тона
|
|
|
|
Сообщений в этой теме
Дмитрий(846) ATmega16 + PT2322 + PT2323 Mar 4 2013, 21:59 kovigor Цитата(Дмитрий(846) @ Mar 5 2013, 01... Mar 4 2013, 22:26 Дмитрий(846) Спасибо что отозвался помочь!!!
Это н... Mar 5 2013, 06:42  kovigor Цитата(Дмитрий(846) @ Mar 5 2013, 10... Mar 5 2013, 09:23   Дмитрий(846) Цитата(kovigor @ Mar 5 2013, 11:23) ОК, ж... Mar 5 2013, 17:19    kovigor Цитата(Дмитрий(846) @ Mar 5 2013, 20... Mar 5 2013, 19:03     Дмитрий(846) Ну а как реализовать пять кнопок??? на ноге 37??
к... Mar 5 2013, 19:55      kovigor Цитата(Дмитрий(846) @ Mar 5 2013, 23... Mar 5 2013, 21:36       Дмитрий(846) Вот, а вообще я ж печатку выложил Mar 5 2013, 22:27        kovigor Цитата(Дмитрий(846) @ Mar 6 2013, 01... Mar 5 2013, 22:33         Дмитрий(846) да это понятно, да там 4.7 кОм как в моем коде это... Mar 6 2013, 13:20          kovigor Цитата(Дмитрий(846) @ Mar 6 2013, 17... Mar 6 2013, 14:10           Дмитрий(846) Вообще ничего не понял. Mar 6 2013, 14:46            kovigor Цитата(Дмитрий(846) @ Mar 6 2013, 18... Mar 6 2013, 14:53 artkam Вот здесь про обработку нажатия клавиш при помощи ... Mar 6 2013, 15:48 Mik174 Озвученная задача - не для того, кто "я учени... Mar 6 2013, 19:42  Дмитрий(846) Код/**********************************************... Mar 8 2013, 15:39   _Артём_ Этот код вызывает сомнения, так как не находится в... Mar 8 2013, 15:51    Дмитрий(846) Код/**********************************************... Mar 8 2013, 16:24     _Артём_ Цитата(Дмитрий(846) @ Mar 8 2013, 18... Mar 8 2013, 16:41      Дмитрий(846) Помогите поправить синтаксис.
При выводе Volume на... Mar 12 2013, 16:20       kovigor Цитата(Дмитрий(846) @ Mar 12 2013, 20... Mar 12 2013, 17:13        Дмитрий(846) За распознавание энкодера не понял зачем там defau... Mar 12 2013, 19:03         kovigor Цитата(Дмитрий(846) @ Mar 12 2013, 23... Mar 12 2013, 19:34          Дмитрий(846) Цитата(kovigor @ Mar 12 2013, 21:34) Мало... Mar 12 2013, 19:58           kovigor Цитата(Дмитрий(846) @ Mar 12 2013, 22... Mar 12 2013, 20:04            Дмитрий(846) Спасибо реализовал break, а там посмотрим.
Посмотр... Mar 12 2013, 20:14             kovigor Цитата(Дмитрий(846) @ Mar 13 2013, 00... Mar 12 2013, 20:27              Дмитрий(846) Цитата(kovigor @ Mar 12 2013, 22:27) Код ... Mar 12 2013, 20:31               kovigor Цитата(Дмитрий(846) @ Mar 13 2013, 00... Mar 12 2013, 20:36                Дмитрий(846) ("state machine") - вообще не понимаю... Mar 13 2013, 17:10                 kovigor Цитата(Дмитрий(846) @ Mar 13 2013, 20... Mar 13 2013, 17:29                  Дмитрий(846) Честно говоря я уже запутанный.
Я понял что ничег... Mar 13 2013, 18:33                   kovigor Цитата(Дмитрий(846) @ Mar 13 2013, 22... Mar 13 2013, 18:55                    Дмитрий(846) Но зачем?
Ведь есть уже готовое, осталось только п... Mar 13 2013, 19:17                     kovigor Цитата(Дмитрий(846) @ Mar 13 2013, 23... Mar 13 2013, 22:52                      Дмитрий(846) Цитата(kovigor @ Mar 14 2013, 00:52) Да н... Mar 14 2013, 18:59 XVR Во первых маловат массив text (и пишут в него из п... Mar 15 2013, 07:18 Дмитрий(846) Цитата(XVR @ Mar 15 2013, 09:18) Во первы... Mar 15 2013, 17:19  Дмитрий(846) Подскажите после нажатия кнопки на пульте Power, а... Mar 15 2013, 22:18   Дмитрий(846) Подскажите значения, не могу рассчитать значения д... Mar 18 2013, 14:19    muravei Цитата(Дмитрий(846) @ Mar 18 2013, 17... Mar 19 2013, 08:24 artkam Приведите, пожалуйста, схему... Mar 18 2013, 18:35 Дмитрий(846) Спасибо за помощь Mar 18 2013, 21:18    kovigor Цитата(Дмитрий(846) @ Mar 19 2013, 21... Mar 19 2013, 18:05     Дмитрий(846) Очень благодарен за помощь. Но это я понимаю.
Но м... Mar 19 2013, 20:24 artkam CODEvoid Tone_Controll(void)
{... Mar 19 2013, 21:50 Дмитрий(846) Да писал сам.!!!
Есть замечания, подпр... Mar 20 2013, 10:34  Дмитрий(846) Решил попробовать так, но звук не меняется
Код#d... Mar 20 2013, 20:07   Дмитрий(846) Подсказали через массив функций бахнуть, а результ... Mar 21 2013, 18:09 artkam В приложенном документе подробно расписана процеду... Mar 21 2013, 18:22 Дмитрий(846) Цитата(artkam @ Mar 21 2013, 20:22) В при... Mar 21 2013, 18:31 artkam Попробуйте, в качестве эксперимента, в функции заг... Mar 21 2013, 19:38 Дмитрий(846) Пробовал, но я писал только
CODE
i2c_start();... Mar 21 2013, 19:46 artkam Вот здесь:
unsigned char Array2[][16] = {"-1... Mar 21 2013, 19:55 Дмитрий(846) Вы имеете ввиду
Код i2c_start();
i2c... Mar 21 2013, 19:57  artkam Цитата(Дмитрий(846) @ Mar 22 2013, 00... Mar 21 2013, 20:38   Дмитрий(846) Цитата(artkam @ Mar 21 2013, 22:38) Присм... Mar 21 2013, 20:42    Дмитрий(846) Попробовал звук не меняется. Mar 23 2013, 16:55 artkam Я что-то не понял... Вы предложенный мной исходник... Mar 21 2013, 20:03 Дмитрий(846) Я в каждом после выкладываю свежий, с исправлением... Mar 21 2013, 20:04 artkam Так в нем нет исправлений, которые внес я... Повер... Mar 21 2013, 20:06 Дмитрий(846) Цитата(artkam @ Mar 21 2013, 22:06) Так в... Mar 21 2013, 20:16 artkam Прикрепляю снова... Mar 21 2013, 20:19 Дмитрий(846) Вы имеете ввиду
КодКод
i2c_start();
i2c... Mar 21 2013, 20:35 artkam А при нажатии на кнопку Mute, что-то происходит? Mar 23 2013, 17:18 Дмитрий(846) Цитата(artkam @ Mar 23 2013, 19:18) А при... Mar 23 2013, 18:00 artkam Внес изменения в Function_3D(). Обратите внимание... Mar 23 2013, 18:47 Дмитрий(846) Цитата(artkam @ Mar 23 2013, 20:47) Внес ... Mar 23 2013, 20:12 artkam Темброблок-то ожил?? Mar 23 2013, 20:14 Дмитрий(846) Да, но где то блокируются два канала F.R. и F.L. Mar 23 2013, 20:21 artkam У вас ошибка в Load_Options()... Сами прочитаете д... Mar 23 2013, 20:25 Дмитрий(846) Цитата(artkam @ Mar 23 2013, 22:25) У вас... Mar 23 2013, 20:32 artkam Внимание надо обратить на раздел "даташита... Mar 23 2013, 20:38 Дмитрий(846) Цитата(artkam @ Mar 23 2013, 22:38) Внима... Mar 23 2013, 20:54 artkam Так пробуйте уже записать прошивку в процессор, же... Mar 23 2013, 20:58 Дмитрий(846) Цитата(artkam @ Mar 23 2013, 22:58) Так п... Mar 23 2013, 21:13  Дмитрий(846) Свежий исходник Mar 23 2013, 22:50   Дмитрий(846) в принципе разобрался и сам с регулировкой кроме о... Mar 24 2013, 10:12 Дмитрий(846) Всем огромное спасибо, пока во всем практически ра... Oct 20 2013, 18:34
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|