TODOPIC

Microcontroladores PIC => Primeros pasos - Iniciación a los microcontroladores => Mensaje iniciado por: eldrak en 11 de Marzo de 2012, 22:35:52

Título: Problema Configurando puertos
Publicado por: eldrak en 11 de Marzo de 2012, 22:35:52
Hola que tal, recien retomo la programacion en pics y me encuentro realizando un programa en ensamblador para el 16f627a pero tengo un problema al momento de configurar los puertos, al momento de configurarlos no se modifican los registros
el codigo que tengo es el siguiente:

STATUS   EQU   0x03
PORTB   EQU   0X06
PORTA   EQU   0X05
TRISA   EQU   0X85
TRISB   EQU   0X86
;--------------------------
;   Configurando puertos

      org      0x00
      goto    inicio
      org      0x05

inicio           bsf      STATUS,5

      MOVLW   b'11111111'
      MOVWF   TRISA     ;PORTA como entrada   

      
      MOVLW   b'00000000'   
      MOVWF   TRISB         ;PORTB como salida

      bcf      STATUS,5
;--------------------------
;   Programa Pincipal
aqui           movf    PORTA,W
      movwf   PORTB
      goto   aqui
END


el problema es cuando hago movwf trisa
no me configura totalmente el registro
y cuando hago:
movf PORTA,W no carga nada al registro W
Me podrian ayudar o decir en que estoy mal, que me hace falta, se los agradeceria mucho
Título: Re: Problema Configurando puertos
Publicado por: AngelGris en 12 de Marzo de 2012, 00:19:16
  ¿Cómo estás configurando el PIC?

   Otro punto a tener en cuenta es que dicho PIC tiene comparadores en los pines A0, A1, A2 y A3 y por defecto los comparadores están activados y por lo tanto dichos pines serán entradas analógicas y no digitales. Para desactivar los comparadores debes trabajar con el registro CMCON. Al desactivarlos, las entradas serán digitales.
Título: Re: Problema Configurando puertos
Publicado por: jorsss en 20 de Marzo de 2012, 07:25:23
Hola eldrak como va?? como bien dice aki AngelGris tu problema es el comparador... agrega esto antes de configurar los puertos

INICIO    
              MOVLW  0x007
              MOVWF  CMCON
              BSF       STATUS, RP0
              BCF       STATUS, RP1
              MOVLW  .....
              MOVWF  TRISA
              ......
              ......

esto apagara el comparador y te permitira trabajar en modo digital con el puerto A

Espero te sea util. Saludos!!!