TODOPIC

Microcontroladores PIC => Lenguaje Basic para microcontroladores PIC => Mensaje iniciado por: juanez en 12 de Febrero de 2007, 16:27:33

Título: Interrupcion externa
Publicado por: juanez en 12 de Febrero de 2007, 16:27:33
Hola me gustaria saber si se puede programar una interrupcion externa que no sean RB0 NI RB4-RB7.

Estoy usando un pic16f870 , EL puerto B lo tengo conectado al LCD y el puerto C a unos pulsadores, como el puerto B ya lo tengo conectado, lo que necesito es poder provocar una interrupcion a traves de un pulsador del puerto C o del A.

¿Es posible esto?

Salu2.
Título: Re: Interrupcion externa
Publicado por: elreypic2 en 12 de Febrero de 2007, 16:34:37
Que tal Juanez,

Lo que tu necesitas no es posible, debido a que las interrupciones internas dependen del hardware del microcontrolador y estas estan en el puerto B, asi que si no usas esos pines para dicha funcion, no es posible hacer una interrupcion externa en otro pin.

Saludos.

Elreypic
Título: Re: Interrupcion externa
Publicado por: Nocturno en 12 de Febrero de 2007, 18:09:10
Desconozco si ese micro dispone de periférico CCP (Capture/Compare/PWM) porque también se puede gestionar mediante interrupción externa.
Título: Re: Interrupcion externa
Publicado por: electronando en 12 de Febrero de 2007, 18:18:03
puedes hacer una cuasi interrupcion aprovechando los retardos ,supongamois q eligas un pulsadro en el porta.0

veasmos en un retardo que ingreses en tu programa de 2 segundos lo aprovechas par que por poleo te detecte la pulñsacion en caso se active cuando este en nivel cero:

for j=1 to 200
 
if porta.0=0 then ejecuto
pause 10
next j

ese bucle dura 2 segundos pèro a la vez te esta sensando el puertoa.0 y si presionas te mandsa a la rutina de interrupcion q seria ejecuto es la unica forma pues en la vida podras hacer algo semejante si el pin no tiene interrupcionj por hardware  :mrgreen:
Título: Re: Interrupcion externa
Publicado por: Mario en 12 de Febrero de 2007, 23:17:44
Si es posible mueve el LCD al puerto C, y mueve lo del C al B.

Si no te es posible, ¿porqué no utilizas el puerto A y parte del puerto B para los pulsadores?

Como Nocturno lo señala, puedes utilizar el CCP del puerto C pero habrá que ver si no estás ocupando esas terminales en el puerto (RC2 creo).