Страница 1 из 1
Atmega8, не пойму по даташиту
Добавлено: Вт июн 09, 2009 18:32:08
Twen
Здравствуйте, извините за банальный вопрос, у Atmega8 есть предделитель тактовой частоты(которого можно изменять, например я установил битами конфиг. внутренный генератор на 8МГц, я могу предделителем ее уменьшить??).Просто розбираюсь в чужой проге и не пойму как там реализована задержка.
Добавлено: Вт июн 09, 2009 18:33:06
Twen
Или только для таймеров есть предделители?
Re: Atmega8, не пойму по даташиту
Добавлено: Вт июн 09, 2009 18:43:44
Shuriks
Twen писал(а):... например я установил битами конфиг. внутренный генератор на 8МГц, я могу предделителем ее уменьшить??
Нет .. Частота тактового генератора устанавливается только FUSE-битами.
На таймерах есть предделитель - возможные значения : 1 (т.е. без деления) , 8 , 64 , 256, 1024 .
Добавлено: Вт июн 09, 2009 18:48:38
Twen
Как можно обьяснить задержку,если fтакт=8МГц
delay1us: ; #
; задержка в 1 микросекунду (максимально достижимой точности!!!) #
; учитывается длительность RCALL и RET #
; НЕ ДОЛЖНА ИСПОЛЬЗОВАТЬ НИ ОДНОГО РЕГИСТРА !!!! #
; для низкой тактовой частоты, возможно, придется заменить на макрос из NOP-ов #
nop ; #
ret ;
Добавлено: Ср июн 10, 2009 19:17:49
SeamaNCOS
предделителем делиш частоту для таимеров.(помотри блок схему)
КОД
ldi Temp1,0b00000011
out Tccr1b,Temp1 ;тактовый сигнал /64
0b00000001=1 0b00000010=8 0b00000011=64 0b00000100=256 0b00000101=1024
выложил бы код delay а то искать (ХЗ)
Добавлено: Ср июн 10, 2009 23:02:27
Twen
Да нет вопрос был не в том, я просто не мог понять почему задержка в программе написаной не мною, была 1 мкс ,стоило мне внимательно посмотреть количество тактов определенных команд и стало все ясно, банальная проблема была...,главное быть внимательным!!!