употреба на таймерите в пик процесорите – тест с процесор 16F1829
урок за настройване и управление на таймерните блокове във пик процесорите с примерен софтуер и диаграми
таймерите както във всички процесори, така и във пиковете са отделни хардуерни модули, които са самостоятелни като управление и действие от процесорното ядро.
В по ниските класове процесори са свързани към общата шина за данни, но в някои процесори може да се види, че са свързани към шината на процеорното ядро и/или на отделна самостоятелна шина за таймерите, където има арбитърен хардуер за управление на приоритети, прекъсвания и други функции. В различните конфигурации на процесорните кристали могат да се срещнат различни хардуерни варианти на таймерни структури и/или на таймерни хардуерни конфигурации.
за пример ще вземем таймерните блокове на пик процесора 16F1829.
В описанието на процесора таймерните блокове са няколко на брой като се различават по номер и брой битове на таймерите. Имаме няколко 8 битови таймера и няколко 16 битови таймера
8 битовите таймери са с възможност на броене до 255, както знаете максимум на стойността, която може да запишете във 8 битова клетка е 255 числова стойност, но възможните комбинации са 256 защото 0 също е вариант за запис на 8 битовият регистър/клетка.
16 битовите таймери са двубайтови като максимум стойноста може да бъде до 65535 числова стойност, като прибавим и вариант 0 стават 65536 варианта.
Тези стойности са границите на препълване на таймерите, като те са важни да ги знаем за да можем да настройм таймерите да работят правилно и да знаем кога ще се случи прекъсването за да се увеличи стойността на таймера и така до препълването му и започването от начало на броенето. По време на това броене могат да бъдат използвани функции за определяне на различни входящи и/или изходящи параметри от и/или към процесорите.
Таймерите са широко използвани за измерване на различни променливи във времето величини, като това могат да бъдат обороти на двигатели, измерване на силата на поток на дадени течности в различни тръбни конструкции, задаване на честоти за управление на обороти, организиране на часовници за реално време, изобщо всякакви времеви променливи могат да бъдат измерени или зададени към всеки един вход или изход на процесора, като на този вход или изход мога да бъдат свързани всякакви двигатели, помпи, лампи, светодиоди, високо или ниско волтови датчици или товари за управление.
Можете да си направите таймер който примерно през определено време да следи температурата на аналогов датчик, като след това процесора следи за стойността на тази температура и взема решение спрямо вашата настройка в софтура дали да включи вентилатора, реотан, или да ги изключи, колко време да изчака когато веднъж ги е включил, или колко време да изчака след като е изключени преди да се включат, изобщо всякакви възможности могат да бъдат постигнати с таймерното управление.
Таймерите също така са важни за постигане на различни честоти при употреба в различни работни процеси. С таймер можете да направите даден изход на процесора да мига с определена честота ако иската да имате някакъв честотен генератор на правоъгълни импулси.
Можете също с таймер и със аналоговия изход на процесора да направите честотен генератор не само на правоъгълни ами и на всякакви импулси, като определяте честотата, периода, амплитудата на сигнала, също и коефициента на запълване на импулса /duty cycle/, когато ползвате ШИМ модулация или така наречения PWM сигнал за управление на мощността на различни товари.
Схема на таймерите които ще разгледаме във този урок. И двата таймера са с почти еднакво софтуерно управление, което ще разгледаме след като обясним показаните графики.