TODOPIC
Microcontroladores PIC => Primeros pasos - Iniciación a los microcontroladores => Mensaje iniciado 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
-
¿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.
-
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!!!