Перейти к содержанию
bbh_blocked_dnftl

Dx Portal Не работают прерывания по изменению GPIO, мк PIC12F683


Рекомендуемые сообщения

Добрый день. Пытаюсь сделать прерывания по изменению GP0. Ставлю GP0 на вход, разрешаю прерывания по изменению GPIO, разрешаю глобальные прерывания, ставлю бит IOC0 в 1. Но при изменении GP0 прерывание не срабатывает. Прерывание по переполнению таймера срабатывает отлично. Что я делаю не так? Прикладываю код программы. Если этого недостаточно, чтобы понять проблему, приложил полный код программы файлом.

 

 

 

list p=12f683

#include "p12f683.inc"

 

__config 0x3FF4

W_TEMP EQU 0x40

STATUS_TEMP EQU 0x41

flag EQU 0x42

 

org 0

goto start

;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

org 0x04

 

MOVWF W_TEMP

SWAPF STATUS,W

MOVWF STATUS_TEMP

 

;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

;программа обработки прерываний

;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

 

SWAPF STATUS_TEMP,W

MOVWF STATUS

SWAPF W_TEMP,F

SWAPF W_TEMP,W

 

retfie

 

;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

 

start clrf GPIO

movlw 0x07

movwf CMCON0

bsf STATUS,RP0 ;1 bank

movlw b'00001001'

movwf TRISIO

movlw b'10000001'

movwf OPTION_REG

bcf INTCON,T0IF

bsf INTCON,T0IE

movf GPIO,w

bcf INTCON,GPIF

bsf INTCON,GPIE

bsf INTCON,GIE

movlw b'00000001'

movwf IOC

bcf STATUS,RP0 ;0 bank

movlw .0

movwf TMR0

 

ask btfss flag,4 ;данный бит устанавливается в программе обработки прерываний

goto ask

bcf flag,4

call indicate ;подпрограмма indicate выводит значение, полученное в результате

;обработки прерывания, на индикаторы

goto ask

 

 

 

 

 

 

reciever1.asm

 

Читать дальше

Ссылка на комментарий
Поделиться на другие сайты

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

Загрузка...
×
×
  • Создать...