PDA

Просмотр полной версии : Микроконтроллер'щики обьединяйтесь!!!


grinay
16.09.2005, 03:53
Создал тему для людей увлеченных программированием микроконтроллеров...
И есле такие есть давайте создадим свой офтоп где будем обьщаться...
И вот мой первый вопрос по этой теме..
Короче кто разбираеться с таймер/счетчик в микроконтроллерах avr просьба помочь открыть глаза на эту тему немогу разобраться...
Вот к примеру надо зделать определенную задержку и несколько тактов тоесть все должно идти примерно 15 часов..Но такчтобы цикл while(1) бесконечный тоесть за это все время прошол всего одник раз..
Разработку введу на C в CodeVisionAvr вот тут мне и надо зделать..

Morse
04.09.2009, 16:33
Hi. Ну типа я немного юзаю МК, но я больше электронщик чем програмист. На какой AVRке таймеры надо раскопать и какие. Они там разные есть.

FireFenix
04.09.2009, 17:23
ты археолог.... 2005 год однако

POS_troi
04.09.2009, 17:29
Он то археолог но темка всеже нужная..

Модеры - плиз перенесите её в Электронику - думаю ей там место =)

kot_polosatik
07.09.2009, 17:20
для начала надо знать частоту кварца - при 16MHz ATMega надо сделать так

// здесь пишем время в часах
#define YOU_HOUR_VALUE 18
// расчетное значение будет 61,274509803921568627450980392157 прерываний в секунду =)) округляем до 61, без часового кварца точности не будет.
#define TIMER_COUNTER 61
#define MAX_COUNTER TIMER_COUNTER*60*60*YOU_HOUR_VALUE

int counter = 0;

void timer0_interrupt(void)
{
counter++;
if (counter > MAX_COUNTER)
{
counter = 0;
_moya_funkcia_01();
}
}

void _moya_funkcia_01(void)
{
// your code here
}

void main(void)
{
TCCR0 = 0b00000101; // (16 000 000 / 1024)
TCNT0 = 0x00;
OCR0 = 0xFF; // ((16 000 000 / 1024) / 255) = 61 Hz
TIMSK = 0b00000011;

while(1)
{
// your code here
}
};


регистры могут быть неточно указаны, лень ща копать ДШ =)

Morse
08.09.2009, 18:10
Современные МК обладают не плохим набором переферии. Предлогаю расказать кто что интересного делает на МК. У меня, к примеру, есть дистанционное управление по GSM-телефону. Схема построена на AtMega48.

ghostwizard
09.09.2009, 14:19
Современные МК обладают не плохим набором переферии. Предлогаю расказать кто что интересного делает на МК. У меня, к примеру, есть дистанционное управление по GSM-телефону. Схема построена на AtMega48.

Интересно. Выложишь схемку с описанием?

Morse
10.09.2009, 19:17
ок. разгребусь с делами, сделаю новую тему.