Мелкие вопросы по МК и ПЛИС.
- БАТАРЕЙКУС
- Потрогал лапой паяльник
- Сообщения: 346
- Зарегистрирован: Сб фев 07, 2009 19:21:25
Re: Мелкие вопросы по МК и ПЛИС.
доброе время суток, мужики а скажите или киньте на хорошие ресурсы, как и по каким алгаритмом можно научить МК распозновать голосовые команды.
Мечтатель - не тот, кто сидит на диване и думает о несбыточном, а тот, кто всеми силами стремится воплотить несбыточное в реальность.
-
maxfox04
- Потрогал лапой паяльник
- Сообщения: 331
- Зарегистрирован: Ср фев 09, 2011 00:49:43
- Откуда: Таллинн, Эстония
Re: Мелкие вопросы по МК и ПЛИС.
Скажите, пожалуйста, МК pic16c58a одноразово программируемый?
Фанат SMD
Казалось бы, зачем контроллеру контроллер контроллера...
Казалось бы, зачем контроллеру контроллер контроллера...
- КРАМ
- Друг Кота
- Сообщения: 25149
- Зарегистрирован: Чт янв 10, 2008 22:01:02
- Откуда: Московская область, Фрязино
Re: Мелкие вопросы по МК и ПЛИС.
Да, однократно (one time programming) - буква С. Многократно программируемые имеют букву F (для 10, 12, 16, 18 ПИКов)
Re: Мелкие вопросы по МК и ПЛИС.
Голосовые команды требуют уйму памяти и весьма развесистую программу, т.е. опять память. Ограничься хлопками
Потом добавь гармонический голос (анализ одноголосной мелодии). На большее МК, ск.всего, не хватит.
- БАТАРЕЙКУС
- Потрогал лапой паяльник
- Сообщения: 346
- Зарегистрирован: Сб фев 07, 2009 19:21:25
Re: Мелкие вопросы по МК и ПЛИС.
cbb писал(а):Голосовые команды требуют уйму памяти и весьма развесистую программу, т.е. опять память. Ограничься хлопкамиПотом добавь гармонический голос (анализ одноголосной мелодии). На большее МК, ск.всего, не хватит.
а я гдето видел в сети ктото на мега8 собрал подобную вещицу, а щас найти немогу.
Мечтатель - не тот, кто сидит на диване и думает о несбыточном, а тот, кто всеми силами стремится воплотить несбыточное в реальность.
Re: Мелкие вопросы по МК и ПЛИС.
вопрос по пикам:
обьясните пожалуйста максимально доступно.................., есть такое понятие как вычисляемый переход............., я читал что при этом переходе можна принудительно изменить счетчик и перейти на другую строчку............., у меня возникает резонный вопрос, а зачем это делать когда есть простая команда goto metka с помощью которой можна отправится куда угодно.......?
обьясните пожалуйста максимально доступно.................., есть такое понятие как вычисляемый переход............., я читал что при этом переходе можна принудительно изменить счетчик и перейти на другую строчку............., у меня возникает резонный вопрос, а зачем это делать когда есть простая команда goto metka с помощью которой можна отправится куда угодно.......?
Tell Me The Truth
- КРАМ
- Друг Кота
- Сообщения: 25149
- Зарегистрирован: Чт янв 10, 2008 22:01:02
- Откуда: Московская область, Фрязино
Re: Мелкие вопросы по МК и ПЛИС.
Вычисляемый переход реализуется с помощью ДВУХ регистров: младшего байта программного счетчика (PCL) и ЗАЩЕЛКИ старшего байта того же счетчика адреса программной памяти (PCLATH).
Сначала производят запись в старший байт (защелку), а затем в младший. Таким образом, в момент записи в младший, старший из защелки будет одновременно переписан в старший байт самого программного счетчика. И программа перескочит по этому 13-разрядному адресу (старший байт содержит только 5 значащих разряядов).
Итого, вычисляете адрес перехода (обычно так адресуют таблицу констант) и переходите в два приема на адрес в таблице, где записана команда retlw XX - возврат из подпрограммы с константой ХХ в аккумуляторе.
Сначала производят запись в старший байт (защелку), а затем в младший. Таким образом, в момент записи в младший, старший из защелки будет одновременно переписан в старший байт самого программного счетчика. И программа перескочит по этому 13-разрядному адресу (старший байт содержит только 5 значащих разряядов).
Итого, вычисляете адрес перехода (обычно так адресуют таблицу констант) и переходите в два приема на адрес в таблице, где записана команда retlw XX - возврат из подпрограммы с константой ХХ в аккумуляторе.
Код: Выделить всё
бла-бла-бла
movlw <адрес в таблице>
call table
тут имеем табличное значение в аккумуляторе
бла-бла-бла
table:
addwf PCL, f
retlw ...
retlw ...
retlw ...
retlw ...
retlw ...
retlw ...
retlw ...Re: Мелкие вопросы по МК и ПЛИС.
КРАМ, спасибо за ответ............, правда я половину всего не понял..................., но главный вопрос остается, зачем это делать когда есть простая команда goto metka с помощью которой можна отправится куда угодно.......?
Tell Me The Truth
- КРАМ
- Друг Кота
- Сообщения: 25149
- Зарегистрирован: Чт янв 10, 2008 22:01:02
- Откуда: Московская область, Фрязино
Re: Мелкие вопросы по МК и ПЛИС.
При табличном пересчете (например таблица семисегментного дешифратора) есть ВХОДНОЙ аргумент - цифра на индикацию. И есть ВЫХОДНАЯ функция - горящие и погашеные сегменты. Т.е. нужно указать адрес в таблице с помощью ПЕРЕМЕННОЙ, а не константы. В 10, 12, 16 и 18-х пиках в команде goto можно прописать только ФИКСИРОВАННЫЙ адрес перехода (константу). А нужно разный, в зависимости от значения в аккумуляторе.
Команда вычисляемого безусловного перехода типа bra Wn есть только в PIC24/dsPIC33.
Команда вычисляемого безусловного перехода типа bra Wn есть только в PIC24/dsPIC33.
- ChipKiller
- Сверлит текстолит когтями
- Сообщения: 1163
- Зарегистрирован: Ср янв 05, 2011 16:25:15
Re: Мелкие вопросы по МК и ПЛИС.
... вычисляемый переход - более гибкий ... часто с его помощью можно либо съэкономить память, либо выиграть в быстродействии.....FreshMan писал(а):у меня возникает резонный вопрос, а зачем это делать когда есть простая команда goto metka с помощью которой можна отправится куда угодно.......?
- dr.doc
- Это не хвост, это антенна
- Сообщения: 1368
- Зарегистрирован: Вс мар 28, 2010 12:52:22
- Откуда: Беларусь
Re: Мелкие вопросы по МК и ПЛИС.
КРАМ ведь привел ответ в примере. Вам нужно вывести в порт В значение цифры 5. Семисегментный код которой в двоичном формате: B'01011011'. Поставив это значение в ПЯТУЮ строку таблицы Table, и совершив вычисляемый переход, попадаете на эту строку. При этом значение за командой retlw B'01011011' помещается в аккумулятор, затем происходит возврат в основную программу.
«Еще я хотел бы, чтобы наши ученые изобрели какой-то новый источник энергии, чтобы мы на коленях не ползали даже перед нашими братьями, умоляя их и выпрашивая тонну нефти или кубометр газа», — рассказал белорусский президент.
-
Chettuser
Re: Мелкие вопросы по МК и ПЛИС.
Прошу прощения если не туда - тем плодить не хочется...
Заинтересовался microC для PIC, написал простенький код:
однако строчки пропускаются компилятором в режиме отладки, как будто их нет. И ещё: в окошке Watch Values нет переменных A, B и C.
Что я не так сделал? Переменные неправильно описал?
Спасибо.
Заинтересовался 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;Что я не так сделал? Переменные неправильно описал?
Спасибо.
Re: Мелкие вопросы по МК и ПЛИС.
умный компилер выкинул неиспользующиеся переменные. объявите их с модификатором volatile/
-
Chettuser
Re: Мелкие вопросы по МК и ПЛИС.
Век живи - век учись...
Так просто оказалось, аж неудобно стало за вопрос 
Тогда получается, что я так и не увижу в WATCH переменные даже если задействую их в порту?
PS: Нашёлся ответ - уровень оптимизации выставлен не на ZERO - поэтому и подрезает переменные... как всё просто
Тогда получается, что я так и не увижу в WATCH переменные даже если задействую их в порту?
PS: Нашёлся ответ - уровень оптимизации выставлен не на ZERO - поэтому и подрезает переменные... как всё просто
Re: Мелкие вопросы по МК и ПЛИС.
вопрос по пикам:
как тут понимать коэффициент деления ?
Предделитель это последовательная цепочка из 8-ми триггеров, каждый из которых делит
на 2. Максимальный коэффициент деления предделителя = 256
как тут понимать коэффициент деления ?

Tell Me The Truth
Re: Мелкие вопросы по МК и ПЛИС.
В данном случае это максимальное число, на которое может делиться входной сигнал.
К примеру - на вход предделителя поступает сигнал с частотой 256Гц.
Соответственно, коэффициент деления первого триггера будет равен 1, второго триггера 2, третьего - 4, и тд.
И, естественно, на выходе первого триггера мы получим сигнал частотой 256Гц, на выходе второго триггера - 128, дальше 64, 32, 16, 8, 4, 2, 1(Гц).
Там где 1Гц (выход последнего триггера) - там коэффициент деления соответственно 256, т.е. максимальный, поскольку триггеров больше нет в цепочке.
Упростил как смог
И в заключение - там не цепочка триггеров а обычный двоичный счетчик.
К примеру - на вход предделителя поступает сигнал с частотой 256Гц.
Соответственно, коэффициент деления первого триггера будет равен 1, второго триггера 2, третьего - 4, и тд.
И, естественно, на выходе первого триггера мы получим сигнал частотой 256Гц, на выходе второго триггера - 128, дальше 64, 32, 16, 8, 4, 2, 1(Гц).
Там где 1Гц (выход последнего триггера) - там коэффициент деления соответственно 256, т.е. максимальный, поскольку триггеров больше нет в цепочке.
Упростил как смог
И в заключение - там не цепочка триггеров а обычный двоичный счетчик.
Не умеешь - не берись, но не взявшись не научишься...
-
Chettuser
Re: Мелкие вопросы по МК и ПЛИС.
Arlleex писал(а):... коэффициент деления первого триггера будет равен 1, ...
Бррр... а разве там не стоит обычный D-триггер, делящий на 2?
Re: Мелкие вопросы по МК и ПЛИС.
Chettuser писал(а):Бррр... а разве там не стоит обычный D-триггер, делящий на 2?
Не буквоедства ради а токмо истины для : на 2 делит Т-триггер. D-триггер - просто защелка. Чтобы ему делить на 2 ( стать Т-триггером ), нужно на D подать инверсный выход.
А так все правильно.
Re: Мелкие вопросы по МК и ПЛИС.
Ну, возможно что и так, счетчик по сути тоже является набором триггеров.
Не умеешь - не берись, но не взявшись не научишься...
Re: Мелкие вопросы по МК и ПЛИС.
Подумываю о своём первом проекте на МК.
Собираюсь склепать ИК радар приставку к ПК. Действием 5-10М
Посоветуйте микроконтроллер смесевая AVR
В ATmega8 8 каналов АЦП. Я не довольно картавый программист и нуждаюсь в советах знающего языки кота.
Собираюсь склепать ИК радар приставку к ПК. Действием 5-10М
Посоветуйте микроконтроллер смесевая AVR
В ATmega8 8 каналов АЦП. Я не довольно картавый программист и нуждаюсь в советах знающего языки кота.