Configurar puertos pic 18f4550

Hola espero puedan ayudarme tengo un problema con el pic18f4550 estoy configurando el puerto a como salida pero cuando mando datos por este puerto en ra4 no me saca nada paresiera que no funciona y en los demas si obtengo lo que quiero esto es un pequeño ejemplo (en el puerto d meto puro 1 y quiero sacar los mismos datos por el puerto a pero en ra4 no pasa nada )

list p=18f4550
#include<p18f4550.inc>

org 00h

movlw b'11111111' ;declaro entradas del puerto b
movwf trisb
clrf trisa ; declaro puerto a como salida

movlw 0eh
movwf adcon1

movf portb,0 ; mueve lo que tiene el puerto b al acomulador
movwf pora ;mueve lo que tiene el acomulador al puerto a
end



espero me puedan ayudar
 
Hola Richardgame

Mira lo que veo en tu programa es que no configuras los fuces... tampoco configuras los comparadores ni el conversor analógico digital ni el bus USB...

Yo tengo el mismo problema que vos, pero yo trabajo en MiKroc, con el mismo programa ya configure los fuces para que tenga oscilación interna y desabilite el MCLR...

Te paso mi programa, para que veas como configuro los registros del Osilador interno, Comparador, Conversor y bus USB....

De todas formas tampoco tengo la solucion.! ya que este programa hace titilar diodos leds en la salida de los puertos A, B y C PERO EL RA4 NO FUNCIONA...

Bueno... si llegas a encontrar la solucion comenta como lo hiciste... Saludoss.!!


Programa:

void main() {

OSCCON = 0b01110111; // Osilador Interno 8 MHz
CCP1CON = 0b00000000; // Capure/Compare/PWM Apagado
ADCON1 = 0X07; // Puerto A Como i/o Digital
CMCON = 0X07; // Desabilito Comparador Purto A i/o Digital
T0CON = 0X00; // Desabilito los timers
UCON = 0X00; // Desabilito USB
ADCON0.F0 = 0 ; // Desabilito el Modulo ADC


TRISA = 0x00; // set direction to be output
LATA = 0X00;
TRISB = 0x00; // set direction to be output
TRISC = 0x00; // set direction to be output

while(1) {

PORTA = 0x00; // Turn OFF LEDs on PORTA
PORTB = 0x00; // Turn OFF LEDs on PORTB
PORTC = 0x00; // Turn OFF LEDs on PORTC

Delay_ms(1000); // 1 second delay

PORTA = 0xFF; // Turn ON LEDs on PORTA
PORTB = 0xFF; // Turn ON LEDs on PORTB
PORTC = 0xFF; // Turn ON LEDs on PORTC

Delay_ms(1000); // 1 second delay

}

}
 
Atrás
Arriba