Сообщение от stri
|
ну правильно, bnk в прерывании увеличивается, но в порт Б не копируется. надо метку WAIT передвинуть.
Код:
|
WAIT
rlncf bnk,w
movwf PORTB
CLRWDT
goto WAIT |
ЗЫ: подключите протеус в MPLAB, если еще не сделали, там такие вещи за 5 минут вылавливаются
|
Спасибо! Но еще вопрос Вам мешаю:
Мне надо определить состояние выхода генератора и отображать его на порт Б после того как происходил пререывание от CLKOUT генератора. Но у меня не получилось.
Большое Спасибо!
list p=18f242
include ‹P18f242.INC›
bnk equ 0x14
w_temp equ 0x15
STATUS_TEMP equ 0x16
BSR_TEMP equ 0x17
org 0x000 ;вектор сброса процессора
goto main ;переход на начало основной программы
;___________начало обработки прерывания_______________
org 0x0008 ;вектор прерывания
movwf w_temp ;сохранение текущего значения аккумулятора W
movff STATUS, STATUS_TEMP ;перенос значения регистра STATUS в W
movff BSR, BSR_TEMP ;сохранение значения регистра STATUS
;___________определить иф.бит _______________
movf PORTA,w ;читение PORTA
andlw b'00000001';обнуляем все биты W кроме инф.бита
movwf bnk
movff BSR_TEMP, BSR ;перенос копии регистра STATUS в W
movf w_temp, w ;восстановление прежнего значения STATUS
movff STATUS_TEMP, STATUS
bcf INTCON,INT0IF ;сброс флага прерывания по RB0/INT0
retfie ;возврат из прерывания
;___________окочание обработки прерывания_______________
main clrf PORTA
clrf LATA
movlw b'00000001' ;настроили на ввод
movwf TRISA ;RA0 на ввод, остальные на вывод
clrf PORTB
clrf LATB
movlw b'00000001' ;настроили порт B
movwf TRISB ;RB0 на ввод, остальные на вывод
movlw b'00111111' ;включаем подтягивающие резисторы(NOT_RBPU)
movwf INTCON2 ;и прерывание по спаду уровня(NOT_INTEDG0)
movlw b'10010000' ;разрешаем прерывание по входу
movwf INTCON ;RB0/INT0(GIE,INT0IE),остальные прерывания запрещаем
clrf BSR
WAIT rlncf bnk,w
movwf PORTB
CLRWDT
goto WAIT
end
‹center›
-- Прилагается рисунок: --
‹IFRAME src = "nuke/users_images/07082007/9146790.jpg" frameborder="0" name="fr154454" scrolling="yes" width="470" height="633" align="bottom"›[img]nuke/users_images/07082007/9146790.jpg[/img]
‹font color=red›Рисунок не умещается на странице и поэтому сжат!‹/font›
Для того, чтобы просмотреть его полностью, щелкните здесь.
‹/IFRAME›
‹/center›