Здравейте!
Аз като абслютно начинаещ в областта на Микроконтролерите, се опитвам да си изясня нещата относно организацията им.
И за това ми е нужно малко помощ от вас
Става дума за начина на работа с таймерите ( в частност ПИК-овете 16F877, 18F458).
Ще кажа какво съм разбрал , вие кажете къде греша:
(За пример вземам Таймер 1 и CCS )
1. setup_timer_1( T1_INTERNAL | T1_DIV_BY_1 );
Таймера брой от 65536 до 0 и като приключи почва от начало.
Времето за едно отброяване зависи от честотата на външния кварц
( примерно 20MHz , ако има такъв #use delay(clock=2000000 ) )
времето за едно отброяване е = 1 / ( 20 000 000 / (4*1)) =
0.2 usес
Когато таймера изброи 65536 пъти х 0,2 мксек , се генерира прекъсване .
Т.е на всеки 0.0131072 секунди има прекъсване
Ако в даден момент искам да знам до къде е стигнал таймера го взимам с
time = get_timer1(); , примерно time =2456;
Това 2456 предполагам е стойността на брояча на таймера, а времето ще го сметна като :
2456 х 0.2 usec = 0.0004912 [sec]
2. Тези сметки по горе влияят ли се от честотата на процесора ( примерно 4 Mhz ) или само от външния кварц. И как в CCS се променя тази честота .
Правя си някой експерименти с протеуса , а там честотата на пика може да се задава от него .
За сега това се сещам да питам , и много Благодаря предварително
