Мелкие вопросы по МК и ПЛИС.

Если ваш вопрос не влез ни в одну из вышеперечисленных тем, вам сюда.
Аватара пользователя
БАТАРЕЙКУС
Потрогал лапой паяльник
Сообщения: 346
Зарегистрирован: Сб фев 07, 2009 19:21:25

Re: Мелкие вопросы по МК и ПЛИС.

Сообщение БАТАРЕЙКУС »

доброе время суток, мужики а скажите или киньте на хорошие ресурсы, как и по каким алгаритмом можно научить МК распозновать голосовые команды.
Мечтатель - не тот, кто сидит на диване и думает о несбыточном, а тот, кто всеми силами стремится воплотить несбыточное в реальность.
maxfox04
Потрогал лапой паяльник
Сообщения: 331
Зарегистрирован: Ср фев 09, 2011 00:49:43
Откуда: Таллинн, Эстония

Re: Мелкие вопросы по МК и ПЛИС.

Сообщение maxfox04 »

Скажите, пожалуйста, МК pic16c58a одноразово программируемый?
Фанат SMD
Казалось бы, зачем контроллеру контроллер контроллера...
Аватара пользователя
КРАМ
Друг Кота
Сообщения: 25149
Зарегистрирован: Чт янв 10, 2008 22:01:02
Откуда: Московская область, Фрязино

Re: Мелкие вопросы по МК и ПЛИС.

Сообщение КРАМ »

Да, однократно (one time programming) - буква С. Многократно программируемые имеют букву F (для 10, 12, 16, 18 ПИКов)
Аватара пользователя
cbb
Открыл глаза
Сообщения: 45
Зарегистрирован: Вт мар 29, 2011 12:48:46

Re: Мелкие вопросы по МК и ПЛИС.

Сообщение cbb »

Голосовые команды требуют уйму памяти и весьма развесистую программу, т.е. опять память. Ограничься хлопками :) Потом добавь гармонический голос (анализ одноголосной мелодии). На большее МК, ск.всего, не хватит.
Аватара пользователя
БАТАРЕЙКУС
Потрогал лапой паяльник
Сообщения: 346
Зарегистрирован: Сб фев 07, 2009 19:21:25

Re: Мелкие вопросы по МК и ПЛИС.

Сообщение БАТАРЕЙКУС »

cbb писал(а):Голосовые команды требуют уйму памяти и весьма развесистую программу, т.е. опять память. Ограничься хлопками :) Потом добавь гармонический голос (анализ одноголосной мелодии). На большее МК, ск.всего, не хватит.

а я гдето видел в сети ктото на мега8 собрал подобную вещицу, а щас найти немогу. :o
Мечтатель - не тот, кто сидит на диване и думает о несбыточном, а тот, кто всеми силами стремится воплотить несбыточное в реальность.
Аватара пользователя
FreshMan
Друг Кота
Сообщения: 6296
Зарегистрирован: Пн ноя 22, 2010 00:57:15
Откуда: Ukraine

Re: Мелкие вопросы по МК и ПЛИС.

Сообщение FreshMan »

вопрос по пикам:
обьясните пожалуйста максимально доступно.................., есть такое понятие как вычисляемый переход............., я читал что при этом переходе можна принудительно изменить счетчик и перейти на другую строчку............., у меня возникает резонный вопрос, а зачем это делать когда есть простая команда goto metka с помощью которой можна отправится куда угодно.......? :write: :dont_know: :write:
Tell Me The Truth
Аватара пользователя
КРАМ
Друг Кота
Сообщения: 25149
Зарегистрирован: Чт янв 10, 2008 22:01:02
Откуда: Московская область, Фрязино

Re: Мелкие вопросы по МК и ПЛИС.

Сообщение КРАМ »

Вычисляемый переход реализуется с помощью ДВУХ регистров: младшего байта программного счетчика (PCL) и ЗАЩЕЛКИ старшего байта того же счетчика адреса программной памяти (PCLATH).
Сначала производят запись в старший байт (защелку), а затем в младший. Таким образом, в момент записи в младший, старший из защелки будет одновременно переписан в старший байт самого программного счетчика. И программа перескочит по этому 13-разрядному адресу (старший байт содержит только 5 значащих разряядов).
Итого, вычисляете адрес перехода (обычно так адресуют таблицу констант) и переходите в два приема на адрес в таблице, где записана команда retlw XX - возврат из подпрограммы с константой ХХ в аккумуляторе.

Код: Выделить всё

бла-бла-бла
movlw  <адрес в таблице>
call  table
тут имеем табличное значение в аккумуляторе
бла-бла-бла



table:
addwf  PCL, f
retlw  ...
retlw  ...
retlw  ...
retlw  ...
retlw  ...
retlw  ...
retlw  ...
Аватара пользователя
FreshMan
Друг Кота
Сообщения: 6296
Зарегистрирован: Пн ноя 22, 2010 00:57:15
Откуда: Ukraine

Re: Мелкие вопросы по МК и ПЛИС.

Сообщение FreshMan »

КРАМ, спасибо за ответ............, правда я половину всего не понял..................., но главный вопрос остается, зачем это делать когда есть простая команда goto metka с помощью которой можна отправится куда угодно.......?
Tell Me The Truth
Аватара пользователя
КРАМ
Друг Кота
Сообщения: 25149
Зарегистрирован: Чт янв 10, 2008 22:01:02
Откуда: Московская область, Фрязино

Re: Мелкие вопросы по МК и ПЛИС.

Сообщение КРАМ »

При табличном пересчете (например таблица семисегментного дешифратора) есть ВХОДНОЙ аргумент - цифра на индикацию. И есть ВЫХОДНАЯ функция - горящие и погашеные сегменты. Т.е. нужно указать адрес в таблице с помощью ПЕРЕМЕННОЙ, а не константы. В 10, 12, 16 и 18-х пиках в команде goto можно прописать только ФИКСИРОВАННЫЙ адрес перехода (константу). А нужно разный, в зависимости от значения в аккумуляторе.
Команда вычисляемого безусловного перехода типа bra Wn есть только в PIC24/dsPIC33.
Аватара пользователя
ChipKiller
Сверлит текстолит когтями
Сообщения: 1163
Зарегистрирован: Ср янв 05, 2011 16:25:15

Re: Мелкие вопросы по МК и ПЛИС.

Сообщение ChipKiller »

FreshMan писал(а):у меня возникает резонный вопрос, а зачем это делать когда есть простая команда goto metka с помощью которой можна отправится куда угодно.......?
... вычисляемый переход - более гибкий ... часто с его помощью можно либо съэкономить память, либо выиграть в быстродействии.....
Аватара пользователя
dr.doc
Это не хвост, это антенна
Сообщения: 1368
Зарегистрирован: Вс мар 28, 2010 12:52:22
Откуда: Беларусь

Re: Мелкие вопросы по МК и ПЛИС.

Сообщение dr.doc »

КРАМ ведь привел ответ в примере. Вам нужно вывести в порт В значение цифры 5. Семисегментный код которой в двоичном формате: B'01011011'. Поставив это значение в ПЯТУЮ строку таблицы Table, и совершив вычисляемый переход, попадаете на эту строку. При этом значение за командой retlw B'01011011' помещается в аккумулятор, затем происходит возврат в основную программу.
«Еще я хотел бы, чтобы наши ученые изобрели какой-то новый источник энергии, чтобы мы на коленях не ползали даже перед нашими братьями, умоляя их и выпрашивая тонну нефти или кубометр газа», — рассказал белорусский президент.
Chettuser

Re: Мелкие вопросы по МК и ПЛИС.

Сообщение Chettuser »

Прошу прощения если не туда - тем плодить не хочется...
Заинтересовался microC для PIC, написал простенький код:

Код: Выделить всё

void main() {
int A, B, C;

while(1){
     TRISA = 0;
     PORTA = 1;
     delay_ms(50);
     PORTA = 0;

     B = 1;
     C = 4;
     
     A = B + C;
     }
}

однако строчки

Код: Выделить всё

int A, B, C;
     A = B + C;
пропускаются компилятором в режиме отладки, как будто их нет. И ещё: в окошке Watch Values нет переменных A, B и C.
Что я не так сделал? Переменные неправильно описал?
Спасибо.
lix
Опытный кот
Сообщения: 703
Зарегистрирован: Вс янв 17, 2010 15:32:19
Откуда: Курган

Re: Мелкие вопросы по МК и ПЛИС.

Сообщение lix »

умный компилер выкинул неиспользующиеся переменные. объявите их с модификатором volatile/
Chettuser

Re: Мелкие вопросы по МК и ПЛИС.

Сообщение Chettuser »

Век живи - век учись... :))) Так просто оказалось, аж неудобно стало за вопрос :oops:
Тогда получается, что я так и не увижу в WATCH переменные даже если задействую их в порту?
PS: Нашёлся ответ - уровень оптимизации выставлен не на ZERO - поэтому и подрезает переменные... как всё просто :)))
Аватара пользователя
FreshMan
Друг Кота
Сообщения: 6296
Зарегистрирован: Пн ноя 22, 2010 00:57:15
Откуда: Ukraine

Re: Мелкие вопросы по МК и ПЛИС.

Сообщение FreshMan »

вопрос по пикам:
Предделитель это последовательная цепочка из 8-ми триггеров, каждый из которых делит
на 2. Максимальный коэффициент деления предделителя = 256

как тут понимать коэффициент деления ? :write:
Tell Me The Truth
Arlleex
Друг Кота
Сообщения: 4435
Зарегистрирован: Сб мар 07, 2009 20:44:36

Re: Мелкие вопросы по МК и ПЛИС.

Сообщение Arlleex »

В данном случае это максимальное число, на которое может делиться входной сигнал.
К примеру - на вход предделителя поступает сигнал с частотой 256Гц.
Соответственно, коэффициент деления первого триггера будет равен 1, второго триггера 2, третьего - 4, и тд.
И, естественно, на выходе первого триггера мы получим сигнал частотой 256Гц, на выходе второго триггера - 128, дальше 64, 32, 16, 8, 4, 2, 1(Гц).
Там где 1Гц (выход последнего триггера) - там коэффициент деления соответственно 256, т.е. максимальный, поскольку триггеров больше нет в цепочке.
Упростил как смог :)
И в заключение - там не цепочка триггеров а обычный двоичный счетчик.
Не умеешь - не берись, но не взявшись не научишься...
Chettuser

Re: Мелкие вопросы по МК и ПЛИС.

Сообщение Chettuser »

Arlleex писал(а):... коэффициент деления первого триггера будет равен 1, ...

Бррр... а разве там не стоит обычный D-триггер, делящий на 2?
Аватара пользователя
Jack_A
Друг Кота
Сообщения: 6307
Зарегистрирован: Вт апр 24, 2007 07:45:40
Откуда: Minsk

Re: Мелкие вопросы по МК и ПЛИС.

Сообщение Jack_A »

Chettuser писал(а):Бррр... а разве там не стоит обычный D-триггер, делящий на 2?


Не буквоедства ради а токмо истины для : на 2 делит Т-триггер. D-триггер - просто защелка. Чтобы ему делить на 2 ( стать Т-триггером ), нужно на D подать инверсный выход.
А так все правильно.
Arlleex
Друг Кота
Сообщения: 4435
Зарегистрирован: Сб мар 07, 2009 20:44:36

Re: Мелкие вопросы по МК и ПЛИС.

Сообщение Arlleex »

Ну, возможно что и так, счетчик по сути тоже является набором триггеров.
Не умеешь - не берись, но не взявшись не научишься...
Бен ладен
Родился
Сообщения: 7
Зарегистрирован: Пт авг 05, 2011 14:32:45

Re: Мелкие вопросы по МК и ПЛИС.

Сообщение Бен ладен »

Подумываю о своём первом проекте на МК. :solder:
Собираюсь склепать ИК радар приставку к ПК. Действием 5-10М
Посоветуйте микроконтроллер смесевая AVR :solder:
В ATmega8 8 каналов АЦП. Я не довольно картавый программист и нуждаюсь в советах знающего языки кота. :idea:
Ответить

Вернуться в «Разные вопросы по МК»