Средства разработки для PICMICRO - Средства разработки для PICMICRO

movf „status, w ; Восстановить контекстные регистры

movwf STATUS

swapf _w

swapf _w, w

retfie

При переполнении таймера данный программный код осуществляет сброс флага прерывания и увеличивает на 64К содержимое 24-разрядного счетчика (регистры FracI - РгасЗ). Когда пройдет по меньшей мере секунда (то есть установится в I бит 2 в регистре РгасЗ, показывая, что обработчик прерывания был выполнен около четырех раз, и в 24-разрядном счетчике содержится, по меньшей мере, число 250000, что соответствует ЮОО тактов или одной секунде), в основном коде программы будет произведено вычитание 250000 из содержимого 24-разрядного счетчика и модифицировано состояние секундного счетчика.

При использовании такого обработчика прерываний генерация запроса возникает всегда через один и тот же промежуток времени (через 65536 командных циклов), причем если запрос не может быть обслужен немедленно, то таймер и предделитель продолжают работу и после возникновения переполнения. Если гарантировать, что прерывание будет обслужено до того, как возникнет следующее переполнение счетчика, то можно не беспокоится о том, что какое-то время будет потеряно.

Go to Top