таймер в pic12

Jun 21, 2004 9 Replies

Hi All!



знатоки пиков, подскажите. Я правильно понимаю что единственная возможность использовать таймер для задержки это вот такой кусок:



movlw count_val movwf trm0 movlw b'хх000ххх' option



loop: movf trm0,0 btfss status,2 goto loop



при этом пределитель должен быть как минимум 1:4.



Или есть более грамотное решение?



Slav.


SM> loop: SM> movf trm0,0 SM> btfss status,2 SM> goto loop

попробуй запустить в прерываниях - лови флаг таймерный

Hi Rifkat!

22 Jun 04 09:28, Rifkat Abdulin wrote to Slav Matveev:

SM>> loop: SM>> movf trm0,0 SM>> btfss status,2 SM>> goto loop

RA> попробуй запустить в прерываниях - лови флаг таймерный

можно мне пальцем ткнуть где на 12-м пике прерывания и где флаг таймерный? Да, в русском переводе на диаграмме есть указатель на некий бит, вздергивающийся при переполнении таймера. но вот только я сильно подозреваю что диаграмма скопирована из другого мануала. Потому что ни в status'е, ни в английском варианте нет никакого бита таймера.

Slav.

RA>> попробуй запустить в прерываниях - лови флаг таймерный

SM> можно мне пальцем ткнуть где на 12-м пике прерывания и SM> где флаг таймерный? SM> Да, в русском переводе на диаграмме есть указатель на SM> некий бит, вздергивающийся при переполнении таймера. SM> но вот только я сильно подозреваю что диаграмма скопирована SM> из другого мануала. Потому что ни в status'е, ни в английском SM> варианте нет никакого бита таймера.

Да - посмотрел и вах, вах - дествительно нету ;-) Младше 16х не работал, сорри

В табличке есть ссылка на pic12c671,c672,ce673,ce674 - вроде бы есть какие-то прерывания. Особенно не стал смотреть.

А что мешает перейти хотя бы на 16е?

SM> Или есть более грамотное решение?

Рассчитать всю программу по тактам.

Hi Rifkat!

22 Jun 04 17:50, Rifkat Abdulin wrote to Slav Matveev:

RA> В табличке есть ссылка на pic12c671,c672,ce673,ce674 - вроде бы есть RA> какие-то прерывания. Особенно не стал смотреть.

RA> А что мешает перейти хотя бы на 16е?

габариты, цена и фичи. :)

для моих потребностей 12-го пика выше крыши. Хотелось сделать задержку более красиво чем for( i=W1;i;i--) {do_yet_another_for; }

но знать не судьба, но это для моей поделки совершенно не критично. будет критично - возьму что-нибудь еще. Тем более архитектруа пик12 мне не понравилась, особенно в плане реализации call. :)

Slav.

Slav, ты ещё здесь сидишь?

Вторник Июнь 22 2004 16:11, Slav Matveev wrote to Rifkat Abdulin:

SM> можно мне пальцем ткнуть где на 12-м пике прерывания и SM> где флаг таймерный? SM> Да, в русском переводе на диаграмме есть указатель на SM> некий бит, вздергивающийся при переполнении таймера.

Hарод, вы о _каком именно_ pic'е спорите? Среди pic12 есть как "огрызки" с 12-битными командами, так и вполне пристойные 14-битки, где всё нормально работает. Как насчёт чипов из этого списка?

PIC12C671 PIC12C672 PIC12CE673 PIC12CE674 PIC12F629 PIC12F675

Лично мне "флэшевые" очень понравились, уже работают в паре проектов...

Георгий

Hi Slav, hope you are having a nice day!

22 Июн 04, Slav Matveev wrote to Rifkat Abdulin:

SM>>> loop: SM>>> movf trm0,0 SM>>> btfss status,2 SM>>> goto loop

RA>> попробуй запустить в прерываниях - лови флаг таймерный

SM> можно мне пальцем ткнуть где на 12-м пике прерывания и SM> где флаг таймерный?

А в чем, собственно, смысл использования таймера для такой задержки? Если таймер тактируется от встроенного генератора, то проще делать задержку в цикле.

WBR, AVB

Hi Alexey!

23 Jun 04 23:01, Alexey V Bugrov wrote to Slav Matveev:

SM>> можно мне пальцем ткнуть где на 12-м пике прерывания и SM>> где флаг таймерный?

AB> А в чем, собственно, смысл использования таймера для такой задержки? AB> Если таймер тактируется от встроенного генератора, то проще делать AB> задержку в цикле.

таймер тактируется от встроенного генератора, смысл - обойтись одним циклом вместо двух вложенных. Заодно понять как таймер работает. :)

Slav.

Hello, George!

Сpд Июн 23 2004, George Shepelev писал к Slav Matveev по поводу "таймер в pic12." GS> Лично мне "флэшевые" очень понравились, уже работают в паре GS> проектов... У меня 12f675 рулит как ацп с интерфейсом общей шины для телеметрии, причем сколько каналов мне надо - столько соотв штук я их и пихаю. Еще для них у меня есть приемопередатчик FSK и умный выключатель с функцией заряда АКБ в устройстве. А на 12f629 уже проектов 8 крутятся, конвертеры протоколов, электронные ключи... GS> Георгий WBR! Maxim Polyanskiy.

Join the Discussion

Have something to add? Share your thoughts — no account required.

Didn't find your answer?

Ask the community — no account required