Autor Tema: duda puertos  (Leído 1308 veces)

0 Usuarios y 1 Visitante están viendo este tema.

Desconectado martos_iii

  • PIC10
  • *
  • Mensajes: 26
duda puertos
« en: 27 de Noviembre de 2004, 12:33:00 »
hola, estoy iniciandome con la programación de pics, y estoy haciendo un programa muy sencillo que consiste en recoger los datos de unos pulsadores conectados al puerto A, y encender unos leds conectados al puertoB de un 16f876A. Cuando intento configurar los puertos como entrada y como salida, se actualiza bien el trisB pero no se actualiza el tirsA y hago lo mismo exactamente que con el B, y no se de que peude ser. Bueno pongo el programa a ver si me podeis echar una mano. Supongo que sera un fallo muy tonto pq aun no tengo mucha idea, muchas gracias de antemano

   List   p=16f876a                ; Se usa el PIC16f876
   include   "p16F876a.inc"      ;archivo con los registros definidos.



; COMIENZO DEL PROGRAMA -----------------------------------------------------------------

   org    0      ; El programa comienza en la direcci¢n 0 (Vector Reset)
   goto   inicio      ; Se salta a la etiqueta “inicio”
   org   5      ; Se asigna la direcci¢n 5 a la siguiente instrucci¢n


inicio   
   bsf     STATUS,5   
   movlw   0x00       
   movwf   TRISB      
          movlw   0xFF      
   movwf   TRISA      
   bcf   STATUS,5   
bucle
   movf    PORTA,w    ;llevamos a W las pulsaciones introducidas
   movwf    PORTB      ;llevamos de W al puertob
   goto    bucle         ; Se crea un bucle cerrado e infinito

   end              ; Fin del programa

Desconectado Fer_TACA

  • Moderadores
  • DsPIC33
  • *****
  • Mensajes: 4069
RE: duda puertos
« Respuesta #1 en: 27 de Noviembre de 2004, 15:31:00 »
Hola Martos:
Creo que lo que te falta  es que para configurar la puerta A como IO digital tienes que programar el registro ADCON1 con el valor =00000110.
Esto lo tienes que incluir antes de configurar la puerta A. El programa te quedaria asi:



movlw   b"00000110"
movwf   ADCON1      ;Puerta A E/S digitales
movlw      b"00000000"   ;Puerta B se configura como salida
movlw   b"00011111"      
movwf   TRISA      ;Puerta A se configura como entrada
bcf   STATUS,RP0   ;Selecciona banco 0

bucle
........


ESpero que te sirva
Fermin
Todos los días se aprende algo nuevo.

Desconectado martos_iii

  • PIC10
  • *
  • Mensajes: 26
RE: duda puertos
« Respuesta #2 en: 28 de Noviembre de 2004, 06:59:00 »
muchas gracias fer_taca, era eso (a parte de otro fallo que tenia al programar el trisa), ya me va bien Giño. Gracias por todo