Форум АНТИЧАТ

Форум АНТИЧАТ (https://forum.antichat.xyz/index.php)
-   Схемы и программы (https://forum.antichat.xyz/forumdisplay.php?f=61)
-   -   Микроконтроллер'щики обьединяйтесь!!! (https://forum.antichat.xyz/showthread.php?t=9482)

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

Цитата:

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

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

Morse 10.09.2009 19:17

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


Время: 14:39