TODOPIC
Microcontroladores PIC => Primeros pasos - Iniciación a los microcontroladores => Mensaje iniciado por: olga en 18 de Junio de 2007, 16:26:23
-
Cómo puedo leer los pulsadores (4) del puerto A, sumarle 50 y mostrar el resultado en binario a través de 8 leds del puerto B.
Alguien me puede ayudar? soy nueva en esto y no se cómo debo hacerlo.
Gracias
-
HOla
Saludos!!
Esto si lo haces en ensamblador
Supongo ya tienes configurado tu pic, si no es asi , asegurate de configuarar los pines como entrada digital , ya que por inicio estan como entrada analoga.
Esto lo puedes hacer de la siguiente manera :
;CONFIGURACION
BCF STATUS,RP0
MOVLW 0x07 ; desactivamos comparadores
MOVWF CMCON
; Nos ubicamos en el banco donde se encuentre el registro PORTA
CLRF PORTA ; Inicializamos el puerto
CLRF PORTB
BANKSEL ANSEL ; Seleccionamos el banco donde se encuentre el registro ANSEL (este se encarga de cofigurar los pines como Analógo/DIgital)
MOVLW 0x00 ; Configuramos los pines como digitales
MOVWF ANSEL
MOVLW 0x0F ; Configuramos los pines de RA0 a RA3 como entrada
MOVWF TRISA ; RA4 a RA7 configurados como salida
CLRF TRISB
Esto lo puedes ver en la hoja de especificaciones del micro en la seccion de PORTS I/O
;-------------------------------------
;Leer puerto
BCF STATUS,RP0
Leer
MOVF PORTA,W ; PORTA---> W ya tenemos el estado del puerto en W
ADDLW .50 ; 50+W=W suma W con el valor y se guarda en W
MOVWF PORTB ; MOvemos el contenido de W al PORTB
GOTO Leer
Checa el set de intrucciones y un buen vistazo por el foro , seguro encontraras lo que necesites.
-
Gracias, me será de mucha ayuda.