Кусок кода обработчика прерываний
(«Телесистемы»: Конференция 'Микроконтроллеры и их применение')

миниатюрный аудио-видеорекордер mAVR

Отправлено prcoder 15 апреля 2004 г. 21:30
В ответ на: И всеже может есть какие-нибудь еще идеи про чудеса с 12F675 ? отправлено prcoder 15 апреля 2004 г. 21:27

ORG 0x004 ; interrupt vector
movwf w_temp ; save W and
movf STATUS ,w ; STATUS
movwf status_temp ; registers
bcf STATUS, RP0 ; bank0

btfsc INTCON, T0IF ; check if timer0 owerflow interrupt
goto int_t0
btfsc PIR1, TMR1IF ; check if timer1 owerflow interrupt
goto int_t1
btfsc INTCON, GPIF ; check if GPIO change interrupt
goto int_gpio

goto int_leave ; otherwise leave routine
....
....
....

int_gpio:
btfsc GPIO, BUT ; check if button released
goto int_gpio_leave

movlw MAX_TIME ; load ring durance
movwf timer_v ; in timer counter

movlw 0xFF
movwf s_enable ; unmute sound

int_gpio_leave:
bcf INTCON, GPIF ; clear GPIO change occurence flag
goto int_leave

int_leave:
movf status_temp, w
movwf STATUS
swapf w_temp, f
swapf w_temp, w
retfie

Составить ответ  |||  Конференция  |||  Архив

Ответы



Перейти к списку ответов  |||  Конференция  |||  Архив  |||  Главная страница  |||  Содержание  |||  Без кадра

E-mail: info@telesys.ru