Страница 208 из 628
Re: Мелкие вопросы по МК и ПЛИС.
Добавлено: Вт авг 02, 2011 00:48:26
БАТАРЕЙКУС
доброе время суток, мужики а скажите или киньте на хорошие ресурсы, как и по каким алгаритмом можно научить МК распозновать голосовые команды.
Re: Мелкие вопросы по МК и ПЛИС.
Добавлено: Ср авг 03, 2011 08:26:52
maxfox04
Скажите, пожалуйста, МК pic16c58a одноразово программируемый?
Re: Мелкие вопросы по МК и ПЛИС.
Добавлено: Ср авг 03, 2011 08:49:12
КРАМ
Да, однократно (one time programming) - буква С. Многократно программируемые имеют букву F (для 10, 12, 16, 18 ПИКов)
Re: Мелкие вопросы по МК и ПЛИС.
Добавлено: Ср авг 03, 2011 08:58:51
cbb
Голосовые команды требуют уйму памяти и весьма развесистую программу, т.е. опять память. Ограничься хлопками

Потом добавь гармонический голос (анализ одноголосной мелодии). На большее МК, ск.всего, не хватит.
Re: Мелкие вопросы по МК и ПЛИС.
Добавлено: Ср авг 03, 2011 14:17:07
БАТАРЕЙКУС
cbb писал(а):Голосовые команды требуют уйму памяти и весьма развесистую программу, т.е. опять память. Ограничься хлопками

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

Re: Мелкие вопросы по МК и ПЛИС.
Добавлено: Ср авг 03, 2011 16:29:31
FreshMan
вопрос по пикам:
обьясните пожалуйста максимально доступно.................., есть такое понятие как вычисляемый переход............., я читал что при этом переходе можна принудительно изменить счетчик и перейти на другую строчку............., у меня возникает резонный вопрос, а зачем это делать когда есть простая команда goto metka с помощью которой можна отправится куда угодно.......?
Re: Мелкие вопросы по МК и ПЛИС.
Добавлено: Ср авг 03, 2011 17:04:35
КРАМ
Вычисляемый переход реализуется с помощью ДВУХ регистров: младшего байта программного счетчика (PCL) и ЗАЩЕЛКИ старшего байта того же счетчика адреса программной памяти (PCLATH).
Сначала производят запись в старший байт (защелку), а затем в младший. Таким образом, в момент записи в младший, старший из защелки будет одновременно переписан в старший байт самого программного счетчика. И программа перескочит по этому 13-разрядному адресу (старший байт содержит только 5 значащих разряядов).
Итого, вычисляете адрес перехода (обычно так адресуют таблицу констант) и переходите в два приема на адрес в таблице, где записана команда retlw XX - возврат из подпрограммы с константой ХХ в аккумуляторе.
Код: Выделить всё
бла-бла-бла
movlw <адрес в таблице>
call table
тут имеем табличное значение в аккумуляторе
бла-бла-бла
table:
addwf PCL, f
retlw ...
retlw ...
retlw ...
retlw ...
retlw ...
retlw ...
retlw ...
Re: Мелкие вопросы по МК и ПЛИС.
Добавлено: Ср авг 03, 2011 17:10:00
FreshMan
КРАМ, спасибо за ответ............, правда я половину всего не понял..................., но главный вопрос остается, зачем это делать когда есть простая команда goto metka с помощью которой можна отправится куда угодно.......?
Re: Мелкие вопросы по МК и ПЛИС.
Добавлено: Ср авг 03, 2011 17:15:15
КРАМ
При табличном пересчете (например таблица семисегментного дешифратора) есть ВХОДНОЙ аргумент - цифра на индикацию. И есть ВЫХОДНАЯ функция - горящие и погашеные сегменты. Т.е. нужно указать адрес в таблице с помощью ПЕРЕМЕННОЙ, а не константы. В 10, 12, 16 и 18-х пиках в команде goto можно прописать только ФИКСИРОВАННЫЙ адрес перехода (константу). А нужно разный, в зависимости от значения в аккумуляторе.
Команда вычисляемого безусловного перехода типа bra Wn есть только в PIC24/dsPIC33.
Re: Мелкие вопросы по МК и ПЛИС.
Добавлено: Ср авг 03, 2011 19:33:02
ChipKiller
FreshMan писал(а):у меня возникает резонный вопрос, а зачем это делать когда есть простая команда goto metka с помощью которой можна отправится куда угодно.......?
... вычисляемый переход - более гибкий ... часто с его помощью можно либо съэкономить память, либо выиграть в быстродействии.....
Re: Мелкие вопросы по МК и ПЛИС.
Добавлено: Ср авг 03, 2011 21:53:12
dr.doc
КРАМ ведь привел ответ в примере. Вам нужно вывести в порт В значение цифры 5. Семисегментный код которой в двоичном формате: B'01011011'. Поставив это значение в ПЯТУЮ строку таблицы Table, и совершив вычисляемый переход, попадаете на эту строку. При этом значение за командой retlw B'01011011' помещается в аккумулятор, затем происходит возврат в основную программу.
Re: Мелкие вопросы по МК и ПЛИС.
Добавлено: Чт авг 04, 2011 18:49:17
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;
}
}
однако строчки
пропускаются компилятором в режиме отладки, как будто их нет. И ещё: в окошке
Watch Values нет переменных
A,
B и
C.
Что я не так сделал? Переменные неправильно описал?
Спасибо.
Re: Мелкие вопросы по МК и ПЛИС.
Добавлено: Чт авг 04, 2011 19:41:40
lix
умный компилер выкинул неиспользующиеся переменные. объявите их с модификатором volatile/
Re: Мелкие вопросы по МК и ПЛИС.
Добавлено: Чт авг 04, 2011 19:46:48
Chettuser
Век живи - век учись...

Так просто оказалось, аж неудобно стало за вопрос

Тогда получается, что я так и не увижу в
WATCH переменные даже если задействую их в порту?
PS: Нашёлся ответ - уровень оптимизации выставлен не на
ZERO - поэтому и подрезает переменные... как всё просто

Re: Мелкие вопросы по МК и ПЛИС.
Добавлено: Чт авг 04, 2011 22:19:40
FreshMan
вопрос по пикам:
Предделитель это последовательная цепочка из 8-ми триггеров, каждый из которых делит
на 2. Максимальный коэффициент деления предделителя = 256
как тут понимать коэффициент деления ? 
Re: Мелкие вопросы по МК и ПЛИС.
Добавлено: Пт авг 05, 2011 01:49:46
Arlleex
В данном случае это максимальное число, на которое может делиться входной сигнал.
К примеру - на вход предделителя поступает сигнал с частотой 256Гц.
Соответственно, коэффициент деления первого триггера будет равен 1, второго триггера 2, третьего - 4, и тд.
И, естественно, на выходе первого триггера мы получим сигнал частотой 256Гц, на выходе второго триггера - 128, дальше 64, 32, 16, 8, 4, 2, 1(Гц).
Там где 1Гц (выход последнего триггера) - там коэффициент деления соответственно 256, т.е. максимальный, поскольку триггеров больше нет в цепочке.
Упростил как смог

И в заключение - там не цепочка триггеров а обычный двоичный счетчик.
Re: Мелкие вопросы по МК и ПЛИС.
Добавлено: Пт авг 05, 2011 05:33:48
Chettuser
Arlleex писал(а):... коэффициент деления первого триггера будет равен 1, ...
Бррр... а разве там не стоит обычный D-триггер, делящий на 2?
Re: Мелкие вопросы по МК и ПЛИС.
Добавлено: Пт авг 05, 2011 10:18:30
Jack_A
Chettuser писал(а):
Бррр... а разве там не стоит обычный D-триггер, делящий на 2?
Не буквоедства ради а токмо истины для : на 2 делит Т-триггер. D-триггер - просто защелка. Чтобы ему делить на 2 ( стать Т-триггером ), нужно на D подать инверсный выход.
А так все правильно.
Re: Мелкие вопросы по МК и ПЛИС.
Добавлено: Пт авг 05, 2011 15:40:42
Arlleex
Ну, возможно что и так, счетчик по сути тоже является набором триггеров.
Re: Мелкие вопросы по МК и ПЛИС.
Добавлено: Пт авг 05, 2011 17:37:07
Бен ладен
Подумываю о своём первом проекте на МК.
Собираюсь склепать ИК радар приставку к ПК. Действием 5-10М
Посоветуйте микроконтроллер смесевая AVR
В ATmega8 8 каналов АЦП. Я не довольно картавый программист и нуждаюсь в советах знающего языки кота.
