[an error occurred while processing this directive]
Определение частоты генерируемого сигнала в режиме СТС, сброс при совпадении (AVR ATmega)
(«Телесистемы»: Конференция «Микроконтроллеры и их применение»)

миниатюрный аудио-видеорекордер mAVR

Отправлено maksim 23 марта 2006 г. 13:13

..Начинающий,
пишу в COdeVisionAVR и эмулирую в протеусе...
В Евстифееве дана такая формула для определения частоты генерируемого сигнала в режиме СТС (сброс при совпадении):
Focn=fclk/2*N(1+OCRn)
Вообще простая формула, но может константы не так подставляю?..
fclk=10^6/1024 (тактовую на кдел.)
N=1024 (N-коэф. деления предделителя)
Ну и в ОCRn - заношу const.

Допустим заношу ff в OCRn (2-й таймер, 8 разрядов), протеус показывает 15 Гц...
А если 01 то 1953 Гц...ПОчему?

Точно что-то не так считаю.....а что не так?

Спасибо!

...может в программе дело?

#include

// Declare your global variables here

void main(void)
{
// Input/Output Ports initialization
// Port B initialization
State0=T
PORTB=0x00;
DDRB=0b00001010;

// Port C initialization

PORTC=0x00;
DDRC=0xb00000100;

// Port D initialization
State0=T
PORTD=0x00;
DDRD=0x00;

// Timer/Counter 0 initialization
// Clock source: System Clock
// Clock value: Timer 0 Stopped
TCCR0=0x00;
TCNT0=0x00;

// Timer/Counter 1 initialization
// Clock source: System Clock
// Clock value: 0,977 kHz
// Mode: CTC top=OCR1A
// OC1A output: Discon.
// OC1B output: Discon.
// Noise Canceler: Off
// Input Capture on Falling Edge
TCCR1A=0b01010000;
TCCR1B=0b00001101;
TCNT1H=0x00;
TCNT1L=0x00;
ICR1H=0x00;
ICR1L=0x00;
OCR1AH=0x00;
OCR1AL=0x25;
OCR1BH=0x00;
OCR1BL=0x00;

// Timer/Counter 2 initialization
// Clock source: System Clock
// Clock value: 0,977 kHz
// Mode: CTC top=OCR2
// OC2 output: Disconnected
ASSR=0x00;
TCCR2=0b00011101;
TCNT2=0x00;
OCR2=0x7;

// External Interrupt(s) initialization
// INT0: Off
// INT1: Off
MCUCR=0x00;

// Timer(s)/Counter(s) Interrupt(s) initialization
TIMSK=0x00;

// Analog Comparator initialization
// Analog Comparator: Off
// Analog Comparator Input Capture by Timer/Counter 1: Off
ACSR=0x80;
SFIOR=0x00;

while (1)
{

};
}

Составить ответ  |||  Конференция  |||  Архив

Ответы


Отправка ответа

Имя (обязательно): 
Пароль: 
E-mail: 
NoIX ключ Запомнить

Тема (обязательно):
Сообщение:

Ссылка на URL: 
Название ссылки: 

URL изображения: 


Rambler's Top100 Рейтинг@Mail.ru
Перейти к списку ответов  |||  Конференция  |||  Архив  |||  Главная страница  |||  Содержание

E-mail: info@telesys.ru