Qué tal buenas tardes!! Voy comenzando en esto de la programación de microcontroladores, y no sé o no entiendo muy bien el cambiar la justificación de los bits de salida. Estoy realizando un ADC con el 18f2550, AN0 es mi entrada con un potenciometro, y el puerto B es mi salida, son 8 bits, y son leds. Lo que no sé realizar es cambiar la justificación del puerto B completo, ya que con unos switch, si uno está activado los leds deberán comenzar a contar en binario para un lado, y con el otro switch deberán contar hacia el otro lado. O sea, en un caso B0 es mi bit más significativo y B7 es el menos, y en el otro caso es lo contrario, B7 es el más y B0 el menos. Agradecería mucho como resolver esto!
El programa que llevo es este, si tengo algo de más es que no sé muy bien programar aún, una disculpa! Jajajaja
#Include <18F2550.h>
#include <stdio.h>
#include <stdlib.h>
#Fuses INTRC,NOMCLR,NOBROWNOUT
#Use delay (internal=8M)
int x;
void main()
{
output_b(0);
setup_adc(adc_clock_internal);
set_adc_channel(0);
While(True)
{
x=read_adc();
delay_us(50);
if(input(PIN_A1)==1 && input(PIN_A2)==0)
{
x=ADRESH;
output_b(x);
}
if(input(PIN_A1)==0 && input(PIN_A2)==1)
{
x=ADRESL;
output_b(x);
}
if(input(PIN_A1)==1 && input(PIN_A2)==1)
{
output_b(0);
}
if(input(PIN_A1)==0 && input(PIN_A2)==0)
{
output_b(0);
}
}
}