Haz una pregunta
  Foros de Electrónica » Diseño digital » Microcontroladores y sistemas embebidos
Foros Registrarse ¿Olvidaste tu contraseña?

Temas similares

31/03/2011 #1


Ayuda para programa en C + inside
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:
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
Respuesta
¿Tienes una mejor respuesta a este tema? ¿Quieres hacerle una pregunta a nuestra comunidad y sus expertos? Registrate

Foros de Electrónica » Diseño digital » Microcontroladores y sistemas embebidos

Powered by vBulletin® Version 3.8.4
Copyright ©2000 - 2017, Jelsoft Enterprises Ltd.
Search Engine Optimization by vBSEO ©2011, Crawlability, Inc.