реклама на сайте
подробности

 
 
> ATmega16 + PT2322 + PT2323, Пишем программу в Code Vision AVR...
Дмитрий(846)
сообщение Mar 4 2013, 21:59
Сообщение #1


Участник
*

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



Здравствуйте я ученик, и ничего не понимаю в написание программы для ATmega16. Надеюсь здесь я найду людей которые мне смогут помочь.
Суть такова у меня есть печатка приложил ниже. (уже сделана, распаяна)

Помогите начать с нуля, написать прошивку.

Сперва надо сказать то, что будет делать программа и собственно ATmega:
-Управлять аудио процессорами по интерфейсу I2C. (Аудио процессоры PT-2322 + PT2323)
-Выводить состояние параметров и управления на LCD Winstar 16x2.
-Сигнализировать свечением диодов о выбранных параметрах.
-Управляться пультом по протоколу RC-5
-Управляться 5 кнопками (Sesect, 2.1, 5.1, AC-3, StandBy).

C чего начать я даже и не знаю.

Ниже приложил материалы которые у меня есть.(включая исходник готовой прошивки но с пультом в котором работают только три кнопки, нет регулировки тембром, и физических кнопок.
Эскизы прикрепленных изображений
Прикрепленное изображение
 

Прикрепленные файлы
Прикрепленный файл  Home_Sinema_1.6.rar ( 230.64 килобайт ) Кол-во скачиваний: 110
Прикрепленный файл  _____.txt ( 1.06 килобайт ) Кол-во скачиваний: 134
Прикрепленный файл  ________lay.rar ( 91.77 килобайт ) Кол-во скачиваний: 83
 
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
artkam
сообщение Mar 19 2013, 21:50
Сообщение #2


Частый гость
**

Группа: Участник
Сообщений: 182
Регистрация: 14-09-10
Из: Уфа
Пользователь №: 59 479



CODE
void Tone_Controll(void)
{
i2c_start();
i2c_write(ADDR_2322);
i2c_write(ACK);
i2c_write(TONE_CONTROLL_Treble);
i2c_write(TONE_CONTROLL_Middle);
i2c_write(TONE_CONTROLL_Bass);
i2c_stop();
}


Вот эту функцию Вы сами писали? Спрашиваю, ибо в документации рекомендуется передача данных к звуковому процессору с использованием бита подтверждения. Либо необходимо выжидать 1 такт (шины i2c).
Go to the top of the page
 
+Quote Post
Дмитрий(846)
сообщение Mar 20 2013, 10:34
Сообщение #3


Участник
*

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



Да писал сам.!!!
Есть замечания, подправьте, буду только рад.
Go to the top of the page
 
+Quote Post
Дмитрий(846)
сообщение Mar 20 2013, 20:07
Сообщение #4


Участник
*

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



Решил попробовать так, но звук не меняется


Код
#define Bass14DAWN 0b10010000    
#define Bass12DAWN 0b10010001    
#define Bass10DAWN 0b10010010    
#define Bass8DAWN  0b10010011    
#define Bass6DAWN  0b10010100      
#define Bass4DAWN  0b10010101    
#define Bass2DAWN  0b10010110    
#define Bass0DAWN  0b10010111    
#define Bass0UP    0b10011111      
#define Bass2UP    0b10011110      
#define Bass4UP    0b10011101      
#define Bass6UP    0b10011100    
#define Bass8UP    0b10011011      
#define Bass10UP   0b10011010    
#define Bass12UP   0b10011001    
#define Bass14UP   0b10011000    

#define Middle14DAWN 0b10100000    
#define Middle12DAWN 0b10100001    
#define Middle10DAWN 0b10100010    
#define Middle8DAWN  0b10100011    
#define Middle6DAWN  0b10100100      
#define Middle4DAWN  0b10100101    
#define Middle2DAWN  0b10100110    
#define Middle0DAWN  0b10100111    
#define Middle0UP    0b10101111      
#define Middle2UP    0b10101110      
#define Middle4UP    0b10101101      
#define Middle6UP    0b10101100    
#define Middle8UP    0b10101011      
#define Middle10UP   0b10101010    
#define Middle12UP   0b10101001    
#define Middle14UP   0b10101000

#define Treble14DAWN 0b10110000    
#define Treble12DAWN 0b10110001    
#define Treble10DAWN 0b10110010    
#define Treble8DAWN  0b10110011    
#define Treble6DAWN  0b10110100      
#define Treble4DAWN  0b10110101    
#define Treble2DAWN  0b10110110    
#define Treble0DAWN  0b10110111    
#define Treble0UP    0b10111111      
#define Treble2UP    0b10111110      
#define Treble4UP    0b10111101      
#define Treble6UP    0b10111100    
#define Treble8UP    0b10111011      
#define Treble10UP   0b10111010    
#define Treble12UP   0b10111001    
#define Treble14UP   0b10111000
//Регулировка басс
void Tone_Change_Bass(void)
{
switch(Tone_Change_Bass_Switch)
  {    
  case 1:                      
     i2c_start();
     i2c_write(ADDR_2322);
     i2c_write(ACK);
     i2c_write(Bass14DAWN);
     i2c_write(ACK);
     i2c_stop();
     lcd_gotoxy(13,0);
     lcd_putsf("-14");
     delay_ms(600);                        
    break;
  case 2:                      
     i2c_start();
     i2c_write(ADDR_2322);
     i2c_write(ACK);  
     i2c_write(Bass12DAWN);
     i2c_write(ACK);
     i2c_stop();
     lcd_gotoxy(13,0);
     lcd_putsf("-12");
     delay_ms(600);                        
    break;
  case 3:                      
     i2c_start();
     i2c_write(ADDR_2322);
     i2c_write(ACK);
     i2c_write(Bass10DAWN);
     i2c_write(ACK);
     i2c_stop();
     lcd_gotoxy(13,0);
     lcd_putsf("-10");
     delay_ms(600);                        
    break;
  case 4:                      
     i2c_start();
     i2c_write(ADDR_2322);
     i2c_write(ACK);
     i2c_write(Bass8DAWN);
     i2c_write(ACK);
     i2c_stop();
     lcd_gotoxy(13,0);
     lcd_putsf("-8");
     delay_ms(600);                        
    break;
  case 5:                      
     i2c_start();
     i2c_write(ADDR_2322);
     i2c_write(ACK);  
     i2c_write(Bass6DAWN);
     i2c_write(ACK);
     i2c_stop();
     lcd_gotoxy(13,0);
     lcd_putsf("-6");
     delay_ms(600);                        
    break;
  case 6:                      
     i2c_start();
     i2c_write(ADDR_2322);
     i2c_write(ACK);      
     i2c_write(Bass4DAWN);
     i2c_write(ACK);
     i2c_stop();
     lcd_gotoxy(13,0);
     lcd_putsf("-4");
     delay_ms(600);                        
    break;
  case 7:                      
     i2c_start();
     i2c_write(ADDR_2322);
     i2c_write(ACK);      
     i2c_write(Bass2DAWN);
     i2c_write(ACK);
     i2c_stop();
     lcd_gotoxy(13,0);
     lcd_putsf("-2");
     delay_ms(600);                        
    break;
  case 8:                      
     i2c_start();
     i2c_write(ADDR_2322);
     i2c_write(ACK);    
     i2c_write(Bass0DAWN);
     i2c_write(ACK);
     i2c_stop();
     lcd_gotoxy(13,0);
     lcd_putsf("-0");
     delay_ms(600);                        
    break;
  case 9:                      
     i2c_start();
     i2c_write(ADDR_2322);
     i2c_write(ACK);    
     i2c_write(Bass0UP);
     i2c_write(ACK);
     i2c_stop();
     lcd_gotoxy(0,1);
     lcd_putsf("+0");
     delay_ms(600);                        
    break;
  case 10:                      
     i2c_start();
     i2c_write(ADDR_2322);
     i2c_write(ACK);    
     i2c_write(Bass2UP);
     i2c_write(ACK);
     i2c_stop();
     lcd_gotoxy(0,1);
     lcd_putsf("+2");
     delay_ms(600);                        
    break;  
  case 11:                      
     i2c_start();
     i2c_write(ADDR_2322);
     i2c_write(ACK);  
     i2c_write(Bass4UP);
     i2c_write(ACK);
     i2c_stop();
     lcd_gotoxy(0,1);
     lcd_putsf("+4");
     delay_ms(600);                        
    break;  
  case 12:                      
     i2c_start();
     i2c_write(ADDR_2322);
     i2c_write(ACK);  
     i2c_write(Bass6UP);
     i2c_write(ACK);
     i2c_stop();
     lcd_gotoxy(0,1);
     lcd_putsf("+6");
     delay_ms(600);                        
    break;
  case 13:                      
     i2c_start();
     i2c_write(ADDR_2322);
     i2c_write(ACK);    
     i2c_write(Bass8UP);
     i2c_write(ACK);
     i2c_stop();
     lcd_gotoxy(0,1);
     lcd_putsf("+8");
     delay_ms(600);                        
    break;
  case 14:                      
     i2c_start();
     i2c_write(ADDR_2322);
     i2c_write(ACK);
     i2c_write(Bass10UP);
     i2c_write(ACK);
     i2c_stop();
     lcd_gotoxy(0,1);
     lcd_putsf("+10");
     delay_ms(600);                        
    break;  
  case 15:                      
     i2c_start();
     i2c_write(ADDR_2322);
     i2c_write(ACK);
     i2c_write(Bass12UP);    
     i2c_write(ACK);
     i2c_stop();
     lcd_gotoxy(0,1);
     lcd_putsf("+12");
     delay_ms(600);                        
    break;  
  case 16:                      
     i2c_start();
     i2c_write(ADDR_2322);
     i2c_write(ACK);
     i2c_write(Bass14UP);
     i2c_write(ACK);
     i2c_stop();
     lcd_gotoxy(0,1);
     lcd_putsf("+14");
     delay_ms(600);                        
    break;
    }
  }
Go to the top of the page
 
+Quote Post
Дмитрий(846)
сообщение Mar 21 2013, 18:09
Сообщение #5


Участник
*

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



Подсказали через массив функций бахнуть, а результат 0, звук не меняется
Прикрепленные файлы
Прикрепленный файл  System_Sound.rar ( 373.32 килобайт ) Кол-во скачиваний: 13
 
Go to the top of the page
 
+Quote Post

Сообщений в этой теме
- Дмитрий(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
- - 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
- - 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


Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 9th August 2025 - 04:45
Рейтинг@Mail.ru


Страница сгенерированна за 0.01551 секунд с 7
ELECTRONIX ©2004-2016