Dudas sobre funcionamiento circuito

Hola!
Estoy empezando con la programacion de Pic's, y me he encontrado ante un circuito que no entiendo muy bien como funciona.

Este ejemplo que os comento, y del que adjunto su diagrama en proteus, parece muy sencillo, pero no entiendo muy bien el funcionamiento de los componentes electronicos basicos.

Lo que pretendo, es generar una interrupcion a traves de la patilla Rbo/Int del micro, provocada cuando la entrada Rb1 se activa. Es la activacion de esta entrada la que me genera las dudas.

Os escribo el codigo de la interrupcion (uso el compilador CCS):

void EXT_isr(void){
if (RB1)//Si el interruptor de desactivación está abierto
{
RB7=1;// activa la alarma conectada en RB7
while(RB1); //mientras el RB1=1 bucle infinito
RB7=0; //cuando RB1=0, se desacactiva la alarma
}

Rb1 se activa cuando el interruptor esta abierto, lo que no entiendo, pues lo logico es que cuando se encuentre abierto, se produzca un corto, no??

He probado a eliminar la tierra, y poner una fuente de tension en el lugar donde se encuentra la tierra, para forzar a que cuando el interruptor este cerrado, pase la tension y el pin Rb1 se ponga a 1, pero asi no funciona.

¿Podeis ayudarme a entender esto?

Os remito tambien el diagrama del circuito en Proteus:
2wgtyr4.jpg



Gracias a todos, y espero vuestras respuestas
Un saludo
 
Hola, no entiendo bien cual es el problema.
No hay corto bajo ninguna situacion, el funcionamiento es el siguiente, cuando presionas 'sensor de alarma' se activa el rele SOLO SI recibe un 1 en el pic RB1, para recibir un 1 el interruptor debe estar abierto.
Si esta cerrado no hay corto ya que la corriente circula a traves de la resistencia.

Era esa tu duda?
 
Mi duda es la siguiente:

¿Por que cuando esta abierto el activador/desactivador de alarma recibe un 1, y cuando esta cerrado un 0?

Cuando esta cerrado se supone que debe recibir un 1 por que la tension circula por el circuito porque como tu bien has dicho, no hay ningun corto, ¿no?

Gracias
 
Entendi tu duda.
Es simplemente porque 'activador/desactivador' es un interruptor conectado a GND y que la entrada a donde esta conectado tiene un pull up y
'sensor de alarma' es un interrupor conectado a Vcc y la enrada a donde esta conectado tiene un pull down.

O sea,
'activador/desactivador' cierra el circuito a GND
'sensor de alarma' lo cierra a Vcc.
Es solo por eso

Saludos
 
Haber si he entendido bien...el que proporcione tension depende de si la resistencia es pull-down o pull-up??
La resistencia pull-up que hace? que deja pasar la tension solo si el circuito no cierra a tierra, y la pull-down a la inversa?

Te agradezco muxo tus respuestas
 
Hola,
No, no es asi. La resistencia de pull up hace que la entrada del circuito lea un 1 y la de pull down hace que lea un 0.
una entrada puede tener 2 estados, 1 o 0. En el caso de un pull down, la resistencaia tierra hace que lea un 0 pero tambien queremos que en determinadas circunstancias lea un 1. Cuando se presiona el interruptor peera un 1. Si en vez de la resistencia habira un cable, las presionar el interruptor si habria un cortoricuito desde Vcc a GND, lo que no es permitido.
Si no hay resistencia no hay un valor definido en la entrada y lee unos y ceros todo el tiempo.
 
hola, bueno tengo un problemilla con una diagrama que acabo de hacer en proteus ( el cual por primera vez lo uso) y bueno no se como se hace para que ejecute para asi saber si esta bien o mal lo que eh hecho. Bueno aca les dejo el archivo, si asi con su ayuda puedo descartar los errores de mi circuito implementado en este prog.

Posd:
como se hace para los displays que uso tb se muestren en Ares.
Y yo uso displays de anodo comun y pues no se cual de todos es el que debo usar...
 

Adjuntos

  • Termo2.zip
    24.5 KB · Visitas: 7
Última edición:
Atrás
Arriba