Hola,
estoy desarrollando un programa para un PIC 16F84, lo que quiero es que cuando en las entradas RB0,RB1,RB2,RB3 haya un 1, me salga un 1 por la patilla RB7, es decir hasya que no haya 1111 en esas patillas no se me salga ese 1.
He probado con la instrucción:
pero no me funciona, se me activa la salida RB7 en cuanto haya un 1 es cualquiera de esas entradas.
mi codigo es el siguiente:
Gracias
estoy desarrollando un programa para un PIC 16F84, lo que quiero es que cuando en las entradas RB0,RB1,RB2,RB3 haya un 1, me salga un 1 por la patilla RB7, es decir hasya que no haya 1111 en esas patillas no se me salga ese 1.
He probado con la instrucción:
Código:
if (PORTB & 0x0F) PORTB |= 0x80;
pero no me funciona, se me activa la salida RB7 en cuanto haya un 1 es cualquiera de esas entradas.
mi codigo es el siguiente:
Código:
#include <16f84a.h>
#fuses XT,NOWDT,NOPROTECT,PUT
#use delay (clock=4000000) // relog a 4 MHz
#BYTE TRISB = 0x86 // variable TRISB en 86h
#BYTE PORTB = 0x06 // variable PORTB en 06h
#BYTE OPTION_REG = 0x81 // variable OPTION_REG en 81h
void main ()
{ bit_clear (OPTION_REG,7) ; // habilitación pull-up. OPTION_REG.7=0
TRISB =0x0F; // Puerto B= B0,B1,B2,B3,B4,B5,B6 Entradas, B7 Salida
output_bit(pin_B7,0);
output_bit(pin_B6,0);
output_bit(pin_B5,0);
output_bit(pin_B4,0);
while (true)
{
if (PORTB & 0x0F) PORTB |= 0xA0;
delay_ms(1000);
output_bit(pin_B6,1);
}
}
Gracias