Насчет умножения частот-модуляции попробовал в протеусе такое:
Код
while(1){
if((PINB.1)&&(PINB.3)) {
PORTC.5 = 1;
}
else
PORTC.5 = 0;
};
вроде сработало....По крайней мере пачки импульсов идут. ТОлько мой старенький комп повисает на пару минут...
Вот интересно будет на железе проверить..
Нет, прерываниями не пойдет,
там у меня 5 несущих и две модулирующих,..можно ведь все в МК сделать...
Не получается у меня пока стройный алгоритм опроса..
маленький Цикл while() убрал...Частоты Fнем и Fмод. выводятся теперь одновременно.
Код
if (!PINB.4) { //PD0 12Hz
TCCR1A=0b01000000;
TCCR1B=0b00001101;
OCR1AL=0x28;
};
if (!PIND.1) { //PD0 420Hz
TCCR2=0b00011010;
OCR2=0x94;
};
Так теперь перед включением у-ва придется заранее устанавливать ключи (т.е. неоперативно и неудобно), а чтобы изменить частоту придется или reset жать или включать-выключать, что также не совсем удобно...
Как мне устроить периодический опрос?...в принципе у меня раз в сек. или даже больше опросил и хватит, чаще не обязательно...
нужно чтобы процессорное время сильно не отнималось (похоже ему тяжело дается умножение)
По еще одному 8-разрядному таймеру в прерывании опрос что-ли?
Сообщение отредактировал MakFatum - Mar 26 2006, 16:33