Требуется программист в Зеленограде
- обработка данных с датчиков; ColdFire; 40 тыс. e-mail:jobsmp@pochta.ru |
Раньше было что-то такое
Hand_Timer3:
; проверки повторности вхождения, стека,
; сбросы флагов прерываний, watchdog-а,
; проталкивание в стек регистров
lcall Call_RetI ; разрешение новых прерываний
; ввод данных с АЦП, счетных (внешних импульсов) входов в буфер
; управление выходами с точностью 0,5 мсек (например
; фазовое управление тиристорами)
; отсчет задержек в 0,5 мсек
inc c50msec
CJNE c50msec,#100,End_Interrupt ; 50 мсек
mov c50msec,#0
; проверка повторного вхождения на этот уровень
; первичная обработка введенных данных (фильтрация), управление
; медленными устройствами (модуляция ЖКИ, пускатели),
; обработка дребезга кнопок и тому подобное
; вычисления управляющих воздействий регуляторов (ПИ,ПИД)
; отсчет задержек в 50 мсек
inc cSecond
CJNE cSecond,#20,End_Interrupt ; 1 sec
mov cSecond,#0 ;
; проверка повторного вхождения на этот уровень
; отсчет времени, отсчет задержек в секундах
End_Interrupt:
; восстановление регистров из стека
ret
Call_RetI:
RetI ; разрешение повторных прерываний