Autor Tema: Consulta sobre interrupciones  (Leído 2136 veces)

0 Usuarios y 1 Visitante están viendo este tema.

Desconectado bloxons

  • PIC10
  • *
  • Mensajes: 15
Consulta sobre interrupciones
« en: 02 de Septiembre de 2016, 10:04:14 »
Buenas estoy trabajando con el pic18f4550 y me surgieron un par de dudas.
Las interrupciones reconocen cualquier cambio en el pin que designes? es decir, reconoce tanto si esta el pin todo el tiempo en alto y baja o solo cuando esta en nivel bajo y sube el nivel? Es decir reconoce un cambio en el pin.
En este contexto cuales seria los niveles entre los cuales reconoce las interrupciones es decir, cual serian los valores entre los cuales se reconoce siempre pensando que esta alimentado con 5 V
Y por ultimo en que parte del datasheet me dice cuales pines puedo utilizar para reconocer las interrupciones.

Desde ya muchas gracias. Siempre me ayudan tanto.

Saluda atte Luciano

Desconectado KILLERJC

  • Colaborador
  • DsPIC33
  • *****
  • Mensajes: 8242
Re:Consulta sobre interrupciones
« Respuesta #1 en: 02 de Septiembre de 2016, 14:53:17 »
En el PIC18F4550 tenes interrupciones de los puertos:

Interrupcion por flanco: RB0, RB1 y RB3 , esos cada uno pueden habilitarse o deshabilitarse, aca configuras el flanco, si queres que se dispare cuando tenes un flanco ascendente o descendente.

Interupciones por nivel: RB4 a RB7, Una interrupcion para todas esas, ahi tenes que que cuando cambian de nivel, es decir si cualquiera pasa de 0 a 1 o de 1 a 0 se dispara, no hay discriminacion entre las entradas como es la que nombre antes, es decir no podes habilitar RB4,  RB5  y las demas no. Siempre TODAS. Y tampoco podes elegir flanco.

En el datasheet lo tenes en el Puerto B, cada pin dice que cosas puede hacer.

Desconectado Somag!

  • PIC10
  • *
  • Mensajes: 12
Re:Consulta sobre interrupciones
« Respuesta #2 en: 13 de Diciembre de 2016, 00:26:06 »
Las interrupciones por cambio de estado en un pin tu lo puedes programar si lo quieres por flanco ascendente o descendente
Y lo de que interrupciones que puede tener un pic, en el archivo de cabecera (.h) del programa PIC C COMPILER se puede ver cuales interrupciones posee el pic y ya tu en la hoja de datos ves en que pin se encuentra, ya sea la del TMR0,RB,ADC..etc.
Los archivos de cabecera se encuentran en:
C:\Program Files\PICC\Devices
y ya ahí abres el archivo y vez sus tipos de interruciones que esta hasta el final
El nivel de detección de cambio de estado es preferible que sea 0V o 5V ya que son señales TTL(0-1), cualquier otro valor el pic lo puede tomar como algo aleatorio.

#define L_TO_H              0x40
#define H_TO_L                 0
// Constants used in ENABLE/DISABLE_INTERRUPTS() are:
#define GLOBAL                    0xF2C0
#define PERIPH                    0xF240
#define INT_RTCC                  0x00F220
#define INT_TIMER0                0x00F220
#define INT_TIMER1                0x009D01
#define INT_TIMER2                0x009D02
#define INT_TIMER3                0x00A002
#define INT_EXT_L2H               0x5000F210
#define INT_EXT_H2L               0x6000F210
#define INT_EXT                   0x00F210
#define INT_EXT1_L2H              0x5001F008
#define INT_EXT1_H2L              0x6001F008
#define INT_EXT1                  0x00F008
#define INT_EXT2_L2H              0x5002F010
#define INT_EXT2_H2L              0x6002F010
#define INT_EXT2                  0x00F010
#define INT_RB                    0x00FFF208
#define INT_AD                    0x009D40
#define INT_RDA                   0x009D20
#define INT_TBE                   0x009D10
#define INT_SSP                   0x009D08
#define INT_CCP1                  0x009D04
#define INT_CCP2                  0x00A001
#define INT_BUSCOL                0x00A008
#define INT_LOWVOLT               0x00A004
#define INT_COMP                  0x00A040
#define INT_EEPROM                0x00A010
#define INT_OSCF                  0x00A080
#define INT_SPP                   0x009D80
#define INT_USB                   0x00A020


 

anything