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

 
 
6 страниц V   1 2 3 > »   
Reply to this topicStart new topic
> 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
kovigor
сообщение Mar 4 2013, 22:26
Сообщение #2


Гуру
******

Группа: Свой
Сообщений: 5 273
Регистрация: 30-03-10
Пользователь №: 56 295



Цитата(Дмитрий(846) @ Mar 5 2013, 01:59) *
C чего начать я даже и не знаю.

Это учебная задача ? Тогда начните с того, что в CodeVision есть готовая библиотека для работы с I2C - устройствами (ваш МК - мастер шины). Есть также готовая библиотека для работы с LCD. затем начните с малого - напишите простую программку, которая выводит на LCD "Hello, world !". Будут вопросы - пишите. Разбираться в чижих исходниках, часто весьма неудачных - нет, увольте ...
P.S. Бегло просмотрел исходник. Нет, разбираться в нем я не вижу смысла - слишком все сложно и объемно. Проще написать прошивку самому ...
Go to the top of the page
 
+Quote Post
Дмитрий(846)
сообщение Mar 5 2013, 06:42
Сообщение #3


Участник
*

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



Спасибо что отозвался помочь!!!
Это не учебная задача, а проявление интереса и к тому же у меня акустика 5.1, это для нее!
С выводом, текста и подключением библиотек понял, подключу и отпишусь.
Go to the top of the page
 
+Quote Post
kovigor
сообщение Mar 5 2013, 09:23
Сообщение #4


Гуру
******

Группа: Свой
Сообщений: 5 273
Регистрация: 30-03-10
Пользователь №: 56 295



Цитата(Дмитрий(846) @ Mar 5 2013, 10:42) *
С выводом, текста и подключением библиотек понял, подключу и отпишусь.

ОК, ждем-с sm.gif. См. мануал на CodeVision, там все достаточно подробно расписано ...
Go to the top of the page
 
+Quote Post
Дмитрий(846)
сообщение Mar 5 2013, 17:19
Сообщение #5


Участник
*

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



Цитата(kovigor @ Mar 5 2013, 11:23) *
ОК, ждем-с sm.gif. См. мануал на 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сек
}

Кстати прикрепил датащиты процессоров
Прикрепленные файлы
Прикрепленный файл  System_Sound.rar ( 85.66 килобайт ) Кол-во скачиваний: 55
Прикрепленный файл  PT2322.pdf ( 353.67 килобайт ) Кол-во скачиваний: 130
Прикрепленный файл  PT2323.pdf ( 503.24 килобайт ) Кол-во скачиваний: 72
 
Go to the top of the page
 
+Quote Post
kovigor
сообщение Mar 5 2013, 19:03
Сообщение #6


Гуру
******

Группа: Свой
Сообщений: 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' !". А потом займетесь аудиопроцессорами ...
Go to the top of the page
 
+Quote Post
Дмитрий(846)
сообщение Mar 5 2013, 19:55
Сообщение #7


Участник
*

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



Ну а как реализовать пять кнопок??? на ноге 37??
кнопки последовательно соединены резисторами 4.7К Ом
Go to the top of the page
 
+Quote Post
kovigor
сообщение Mar 5 2013, 21:36
Сообщение #8


Гуру
******

Группа: Свой
Сообщений: 5 273
Регистрация: 30-03-10
Пользователь №: 56 295



Цитата(Дмитрий(846) @ Mar 5 2013, 23:55) *
Ну а как реализовать пять кнопок??? на ноге 37??
кнопки последовательно соединены резисторами 4.7К Ом

Да кто ж его знает ? Вы бы хоть схемку от руки набросали, а то вообще непонятно, как подключены кнопки ...
Go to the top of the page
 
+Quote Post
Дмитрий(846)
сообщение Mar 5 2013, 22:27
Сообщение #9


Участник
*

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



Вот, а вообще я ж печатку выложил
Эскизы прикрепленных изображений
Прикрепленное изображение
 
Go to the top of the page
 
+Quote Post
kovigor
сообщение Mar 5 2013, 22:33
Сообщение #10


Гуру
******

Группа: Свой
Сообщений: 5 273
Регистрация: 30-03-10
Пользователь №: 56 295



Цитата(Дмитрий(846) @ Mar 6 2013, 01:27) *
Вот, а вообще я ж печатку выложил

На схеме ошибка - не Ом, а КОм. а так все просто. Это делитель напряжения. Верхнее плечо - горизонтально расположенный резистор (подключите его правую ножку к источнику питания), а нижнее образовано оставшимися сопротивлениями и может меняться в зависимости от того, какие кнопки нажаты. Вам нужно подать сигнал с делителя на вход любого из имеющихся в МК АЦП (например, на PA3 (конечно, можно подать на любой из входов PA0 ... PA7)) ...
Go to the top of the page
 
+Quote Post
Дмитрий(846)
сообщение Mar 6 2013, 13:20
Сообщение #11


Участник
*

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



да это понятно, да там 4.7 кОм как в моем коде это отобразить
Go to the top of the page
 
+Quote Post
kovigor
сообщение Mar 6 2013, 14:10
Сообщение #12


Гуру
******

Группа: Свой
Сообщений: 5 273
Регистрация: 30-03-10
Пользователь №: 56 295



Цитата(Дмитрий(846) @ Mar 6 2013, 17:20) *
да это понятно, да там 4.7 кОм как в моем коде это отобразить

Я же говорю, оцифровывайте сигнал с делителя посредством АЦП. Как задействовать АЦП ? Читайте даташит, там нет ничего сложного ...
Go to the top of the page
 
+Quote Post
Дмитрий(846)
сообщение Mar 6 2013, 14:46
Сообщение #13


Участник
*

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



Вообще ничего не понял.
Go to the top of the page
 
+Quote Post
kovigor
сообщение Mar 6 2013, 14:53
Сообщение #14


Гуру
******

Группа: Свой
Сообщений: 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 микроконтроллеров"

Думаю, пока хватит ...
Go to the top of the page
 
+Quote Post
artkam
сообщение Mar 6 2013, 15:48
Сообщение #15


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

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



Вот здесь про обработку нажатия клавиш при помощи АЦП очень подробно расписано, даже приведены примеры кода: http://chipenable.ru/index.php/programming...du-chast-1.html
Go to the top of the page
 
+Quote Post

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

 


RSS Текстовая версия Сейчас: 18th July 2025 - 20:25
Рейтинг@Mail.ru


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