|
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 5 2013, 06:42
|
Участник

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

|
Спасибо что отозвался помочь!!! Это не учебная задача, а проявление интереса и к тому же у меня акустика 5.1, это для нее! С выводом, текста и подключением библиотек понял, подключу и отпишусь.
|
|
|
|
|
Mar 5 2013, 17:19
|
Участник

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

|
Цитата(kovigor @ Mar 5 2013, 11:23)  ОК, ждем-с  . См. мануал на CodeVision, там все достаточно подробно расписано ... Все получилось вот исходник, что дальше? опишем контакты на атмега?? как? Код /******************************************************************************** *************** Project : System Sound Version : 0.1beta Start Date : 5.03.2013 Complite Date : 5.03.2013 Author : Oberemok D.M. and kovigor Company : Home Comments: Пpoeкт шecтикaнaльнoгo peгyлятopa гpoмкocти и ceлeктopa вxoдoв нa микpocxeмax PT2322 и PT2323 Chip type : ATmega16 Program type : Application AVR Core Clock frequency: 8,000000 MHz ******************************************************************************** *****************/ #include <mega16.h> //библиотека для работы с ATmega16
#asm .equ __i2c_port=0x15;PORTC //указываем порт i2c .equ __sda_bit=1 //ножка SDA на 23 PIN PDIP .equ __scl_bit=0 //ножка SCL на 23 PIN PDIP .equ __lcd_port=0x1B;PORTA // Указываем расположение LCD #endasm #include <i2c.h> //Подключение библиотеки i2c #include <lcd.h> //Подключение библиотеки LCD #include <stdio.h> #include <delay.h> //Подключение библиотеки задержки
void main(void) { lcd_init(16); //Обнаружение LCD lcd_clear(); //Очистить LCD lcd_gotoxy(1,2); //указываю место последующего вывода текста lcd_putsf("Syetem Sound"); //выводим lcd_gotoxy(2,2); //указываю место последующего вывода текста lcd_putsf("Ver: 0.1Beta"); //выводим delay_ms(3000); //задержка 3сек } Кстати прикрепил датащиты процессоров
|
|
|
|
|
Mar 5 2013, 19:03
|
Гуру
     
Группа: Свой
Сообщений: 5 273
Регистрация: 30-03-10
Пользователь №: 56 295

|
Цитата(Дмитрий(846) @ Mar 5 2013, 20:19)  Все получилось вот исходник, что дальше? опишем контакты на атмега?? как? Молодец, поздравляю ! Вы сгенерили проект, CV сгенерил вам шаблон Си - кода, из которого вы выкинули почти все и остаток привели здесь. Естественно, в том, что вы выкинули, эти самые контакты и описаны. Описания корректируются вами же, когда вы инструктируете CV, рассказывая ему, как генерить .c - шаблон. Я уже сегодня давал ссылку: http://atmel.moy.su/publ/1-1-0-3Разберитесь и действуйте. В аудиопроцессоры я вникать не буду. План работы примерно такой. Берете самую простую функцию оного аудиопроцессора, которую вам нужно реализовать у себя в системе, и реализуете. Например, попробуйте посредством программирования/настройки (или как там это называется) аудиопроцессора сгенерить на его выходе простую синусоиду ... P.S. попытайтесь разбить вашу задачу на маленькие кусочки, и реализуйте их, от самых простых к более сложным. Статья про RC5 вот (а вообще, их довольно много): http://www.platan.ru/shem/pdf/prim.pdfМожете пойти другим путем - для начала сделайте декодер RC5, а декодированные значения отображайте на индикаторе. Например, нажали "пятерку" на пульте, приняли ее в МК, декодировали и написали на индикаторе: "RC5 code received: '5' !". А потом займетесь аудиопроцессорами ...
|
|
|
|
|
Mar 5 2013, 19:55
|
Участник

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

|
Ну а как реализовать пять кнопок??? на ноге 37?? кнопки последовательно соединены резисторами 4.7К Ом
|
|
|
|
|
Mar 5 2013, 22:27
|
Участник

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

|
Вот, а вообще я ж печатку выложил
Эскизы прикрепленных изображений
|
|
|
|
|
Mar 6 2013, 13:20
|
Участник

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

|
да это понятно, да там 4.7 кОм как в моем коде это отобразить
|
|
|
|
|
Mar 6 2013, 14:46
|
Участник

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

|
Вообще ничего не понял.
|
|
|
|
|
Mar 6 2013, 14:53
|
Гуру
     
Группа: Свой
Сообщений: 5 273
Регистрация: 30-03-10
Пользователь №: 56 295

|
Цитата(Дмитрий(846) @ Mar 6 2013, 18:46)  Вообще ничего не понял. Я говорю, внутри МК есть такой узел, как АЦП. Вот на его вход (pin 37) вам и нужно подать сигнал с делителя, образованного резисторами и кнопками, с целью измерения напряжения, приходящего от делителя. Понятно ? Вот книжки на русском: http://lord-n.narod.ru/download/books/wall.../atmelbook.djvuДальше вот сюда зайдите: http://lord-n.narod.ru/walla.htmlЕвстифеев "Микроконтроллеры AVR семейств Tiny и Mega фирмы Atmel" Трамперт "Измерение, управление и регулирование с помощью AVR микроконтроллеров" Думаю, пока хватит ...
|
|
|
|
Сообщений в этой теме
Дмитрий(846) ATmega16 + PT2322 + PT2323 Mar 4 2013, 21:59 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 artkam Как-то уж слишком мудрено у Вас... Предлагаю приве... Mar 19 2013, 14:21 Дмитрий(846) Цитата(artkam @ Mar 19 2013, 16:21) Как-т... Mar 19 2013, 15:12  kovigor Цитата(Дмитрий(846) @ Mar 19 2013, 18... Mar 19 2013, 15:46   Дмитрий(846) Цитата(kovigor @ Mar 19 2013, 17:46) Для ... Mar 19 2013, 17:41    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
|
|
|