roboforum.ru

Технический форум по робототехнике.

МикроКонтроллер AVR начинающим - общие вопросы

Re: МикроКонтроллер AVR начинающим - общие вопросы

ALHIMIK » 22 окт 2009, 19:14

а это идея... :roll:
правда прога основного чуток усложнится...

Re: МикроКонтроллер AVR начинающим - общие вопросы

Webspider » 10 ноя 2009, 23:25

подскажите, как на меге 8ой, реализовать ручную регулировку частоты импульсов на выходе одного из пинов?

думаю напряжение с питания через переменник подать на АЦП и в обработчике прерывания поместить результат преобразования в какую нибудь переменную, которой в майне потом задать длительность делэя на выходе одного из пинов:
main(){
While(1) {

PORTB.2++;
Delay_ms(переменная);
}
}
так можно?
Можт аппноуты есть какие по этой теме, не подскажите, или посоветуйте что-нибудь по коду?
Последний раз редактировалось Webspider 10 ноя 2009, 23:29, всего редактировалось 1 раз.

Re: МикроКонтроллер AVR начинающим - общие вопросы

galex1981 » 10 ноя 2009, 23:28

А не проще ли организовать обычный ШИМ: время исполнения сигнала/время задержек

Re: МикроКонтроллер AVR начинающим - общие вопросы

Duhas » 10 ноя 2009, 23:30

нужна регулировка частоты... если МК больше ничего не делает то можно и в мэйне.. а можно и таймером.. поразному можно )

Re: МикроКонтроллер AVR начинающим - общие вопросы

MiBBiM » 10 ноя 2009, 23:47

да, можно. имхо стоит почитать про шим, ибо это скорее всего то, что наиболее подходит для решения вашей задачи (регулирование яркости светодиода, да?)

Re: МикроКонтроллер AVR начинающим - общие вопросы

Webspider » 11 ноя 2009, 13:38

нет. переменная -именно частота моргания того же светодиода. Длительность при заданной частоте =const.

Re: МикроКонтроллер AVR начинающим - общие вопросы

MiBBiM » 11 ноя 2009, 13:41

ну на нет и суда нет. только вот переменная никак не будет частотой :)

Re: МикроКонтроллер AVR начинающим - общие вопросы

ALHIMIK » 11 ноя 2009, 20:38

есть же частотная модуляция
для таймера 1
в качестве верхнего счёта выбираем OCR1A и всё
по переполнению счётчика обновляем занчение
а за скважность отвечает OCR1B(вроде)

Re: МикроКонтроллер AVR начинающим - общие вопросы

SSG » 12 ноя 2009, 15:39

Неа. OCR1B - регистр сравнения второго канала. При генерации ШИМ сигнал можно гнать просто или неинвертированный, или инвертированный независимо по каждому каналу.
Частота импульсов при изменении регистра сравнения в режиме генерации ШИМ меняться не будет, будет меняться длительность нуля или единицы на выводе ОС.
Частоту можно регулировать используя режим сброс при совпадении (СТС). Тогда частота возникновения прерывания от таймера по переполнению будет зависеть от содержимого регистра сравнения.

Re: МикроКонтроллер AVR начинающим - общие вопросы

Duhas » 12 ноя 2009, 15:44

на сколько показала практика нелинейно )

Re: МикроКонтроллер AVR начинающим - общие вопросы

ALHIMIK » 12 ноя 2009, 19:47

ещё один недочёт евстифееву :bad:

Re: МикроКонтроллер AVR начинающим - общие вопросы

Duhas » 12 ноя 2009, 19:50

читать надо не трудно выговариваемые фамилии. а даташиты )

Re: МикроКонтроллер AVR начинающим - общие вопросы

SSG » 12 ноя 2009, 20:32

А чем Евстифеев-то не угодил? :)

Re: МикроКонтроллер AVR начинающим - общие вопросы

milkpower » 20 ноя 2009, 11:33

прошу помощи разобраться с таймерами, для начала пытаюсь запустить на 50гЦ, Set OC0 при сравнении.
Код: Выделить всёРазвернуть
.def   temp   = r16
.ORG $0
   rjmp RESET       
.ORG $06
   rjmp timer0
.ORG $1C
timer0:

   push temp
   clr temp
   out TCNT0,temp
   nop
   nop
   nop
   nop
   nop
   nop
   nop
   nop
   nop
   nop
   nop
   out portB,temp
   pop temp
   reti

reset:  ;init 8-bit timer on 50hz
   ldi temp,$ff
   out ddrB,temp
   ldi temp,144
   out OCR0,temp
   ldi temp,(1<OCIE0)
   out TIMSK,temp
   ldi temp,(1<COM00)|(1<COM01)|(1<CS02)|(1<CS00) ;set OC0, prescale=1024
   out TCCR0,temp
mloop:
   rjmp mloop


на пине нет никаких признаков жизни :(

ps. мк mega16
Последний раз редактировалось milkpower 20 ноя 2009, 11:54, всего редактировалось 1 раз.

Re: МикроКонтроллер AVR начинающим - общие вопросы

=DeaD= » 20 ноя 2009, 11:34

2milkpower: Переходите уже на ARV Studio + WinAVR, мы вам быстренько поможем всё сделать, асм ужасен для таких задач :) да и можно будет взять с ORFA часть работающих вещей уже.


cron
Rambler\'s Top100 Mail.ru counter