|
|
  |
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 микроконтроллеров" Думаю, пока хватит ...
|
|
|
|
|
  |
4 чел. читают эту тему (гостей: 4, скрытых пользователей: 0)
Пользователей: 0
|
|
|