[Proteus8] Fallo en la señal entrada pin-micro utilizando OR

Esta señal puede llegar de otros 2 micros //los 3 son 18f452

para evitar :
if(!Input(PIN_B1) && !Input(PIN_B2))//estas son señales que evitan la entrada a if si los otros 2 le mandan un 1

E puesto :

if(!Input(PIN_D5))
//La entrada D5 es la salida de una OR cuyas 2 entradas tienen la salida que debe anular el if
//si cualquiera de las 2 entradas OR esta a 1 debido al correspondiente salida individual de los otros 2 micros

Pero tengo que sustituir la OR por dos diodos, no entiendo porque esto solo funciona en el puerto_D al que le e cambiado
la libre D5 por entrada ya que este atiende la alimentacion standar de un LCD 16x2 (si utilizo otro puerto no me vale recomprobado I/O)

Aunque esto funciona solo con diodos y solo en D5 Tampoco deberia. Cuando una entrada es 1(rojo) la salida que era 0(azul)
pasa a nada(gris) pero internamente Proteus8 lo atiende como flanco alto(lo que deberia ser) siempre que utilize los diodos
en vez de OR

Es un Bug de proteus, se puede realmente cambiar el set_tris 0x87 por 0x88, que diferencia hay en utizar diodos a una or ordinaria???
 
me mareo tu explicación, ¿puedes poner el diagrama?
Nota: como no veo diagrama no se, pero recuerda poner pull-down en el terminal ya que cuando el voltaje sea LOW los diodos no van a dar salida LOW si no tienen una resistencia que haga bajar el voltaje.
 
Última edición:
Esto es teniendo en cuenta que S1 y S2 son las salidas individuales de otros 2 micros influyentes en el portD5 del otro

En mi caso la OR es la "simple 2 INput OR Gate" la primera y unica que me da proteus sin especificar nada mas

Los diodos son "DEVICE Generic diode"

Y aunque funciona con los diodos, ambos casos estan dando el mismo error visual-neutro
 

Adjuntos

  • Foto1651[1].jpg
    Foto1651[1].jpg
    11.4 KB · Visitas: 4
Mira, cuando esta una terminal en estado alto, fluye el voltaje por el diodo y el otro extremo también es alto (menos el Vf del diodo) pero cuando esta bajo, solo se bloquea, del otro extremo si no hay nada que lo polarice y la entrada es de alta impedancia (CMOS) puede terminar fluctuando el voltaje por cargas parasitas y fugas, tienes que poner una resistencia a tierra en la salida o el estado sera Z (alta impedancia, cuando no hay flujo de corriente y es indeterminado) ene lugar de L (bajo), por lo que si no la tienes, es normal que se marque como desconectada.
Sin título.png
 
Las pull-down de las que hablais hacen referencia a un desacoplo a masa. No me sirve no es un problema de LOW Todo lo contrario la masa se mantiene pero cuando un anodo recive HOLT toda salida queda neutra. Un desacoplo capacitivo+ tampoco a si como esta el anodo no permite pasar LOW. Esta bien que Proteus tenga en cuenta esto ya me ocurria cuando montaba circuitos hay que llevar a masa con una resistencia considerable un receptor que pueda acumular W, lineas en placas que dan tantas vueltas que crean inductancias sin querer.
Pero en esta ocasion me da que es Proteus. No me esplico como esta funcionando en un solo caso con el mismo resultado visual.
Ya me la a hecho antes. Asta hace poco copie y pegue una serie de puertas aunque proteus les dio nombres diferentes y cambie las etiquetas-terminales, una nand empezo a comportarse de forma anomala al parecer lio la copia de esta con la original. Lo unico que hize es borrarla sustityendo por otra nand identica y todo volvio a funcionar sin cambiar nada mas.
Creo que seria un desacoplo capacitivo, invirtiendo a su vez los diodos catodo LOW entrada
pero como el error solo es visual no lo e vuelto a tocar.
Saludos.
 
Atrás
Arriba