roboforum.ru

Технический форум по робототехнике.
Текущее время: 04 июн 2025, 21:32

Часовой пояс: UTC + 4 часа




Начать новую тему Ответить на тему  [ 1 сообщение ] 
Автор Сообщение
 Заголовок сообщения: гуляет время отчёта на мега48 с кварцем
СообщениеДобавлено: 12 фев 2008, 22:29 
Не в сети
Аватара пользователя

Зарегистрирован: 04 фев 2008, 13:18
Сообщения: 1060
Откуда: Москва
прог. языки: PHP
Здравствуйте.

Собрал контроллер на МК atmega48 схема внизу.

Прошил программу эту:

Код:
#include <mega48.h>

unsigned long int timen = 0;//повышаю разрешение таймера

// Timer 2 output compare interrupt service routine
interrupt [TIM2_COMPA] void timer2_compa_isr(void)
{
timen++;
}

main() {

unsigned char sw = 0;

// Crystal Oscillator division factor: 1
#pragma optsize-
CLKPR=0x80;
CLKPR=0x00;
#ifdef _OPTIMIZE_SIZE_
#pragma optsize+
#endif

DDRC=0b111000;//
PORTC.2 = 1;//

DDRD=0b11111100;//

// Timer/Counter 2 initialization
// Clock source: System Clock
// Clock value: 31,250 kHz
// Mode: CTC top=OCR0A
// OC2A output: Disconnected
// OC2B output: Disconnected
ASSR=0x00;
TCCR2A=0x02;
TCCR2B=0x05;
TCNT2=0x00;
OCR2A = 15;//1000 Гц
OCR2B=0x00;


// Timer/Counter 2 Interrupt(s) initialization
TIMSK2=0x02;

// Global enable interrupts
#asm("sei")

while(1)
        {

if(timen > 20000) {PORTC.5++; timen = 0;}
if(PINC.2 == 0 && timen > 50) {PORTC.4++; timen = 0;}

}

Внизу фотка Фусе битов.

Считал делители по формуле ДШ на мега48
Формула: Ф = Фклк/2*N*(1+OCR2A)
Ф - нужная частота, Фклк тактирование таймера.

Поставил отчёт времени по 20 сек и переключение светодиода.
В результате замеров вышло следующее:
1 отчёт) 25 сек
2 отчёт) 42 сек
3 отчёт) 33 сек

Конечно я фиксировал с точностью 1 +-1 сек, но разброс заметно больше.

Подскажите пожалуйста, что не так ?


Вложения:
Untitled-1.jpg
Untitled-1.jpg [ 10.99 КиБ | Просмотров: 1583 ]
plata1.gif
plata1.gif [ 21.05 КиБ | Просмотров: 1488 ]


Последний раз редактировалось Myp 12 фев 2008, 22:34, всего редактировалось 1 раз.
учимся использовать ТЕГИ!!!
Вернуться к началу
 Профиль  
 
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ 1 сообщение ] 

Часовой пояс: UTC + 4 часа


Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 9


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти:  
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
Русская поддержка phpBB
phpBB SEO