Autor Tema: pregunta sobre el MPLAB...  (Leído 3084 veces)

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

Desconectado escorpion151177

  • PIC12
  • **
  • Mensajes: 61
pregunta sobre el MPLAB...
« en: 27 de Abril de 2004, 21:46:00 »
estoy aprendiendo a usar el MPLAB,  pero me desconcierta. hago un programa en assembler y quiero ver como se comportan el PORTA, PORTB y PORTC a medida que corre el programa y no pasa nada.. se mantiene siempre en cero y no encuentro el motivo.
algo debo estar pasando por alto, hago un programita sencillo de manejo de estos puertos y ni asi los veo cambiar.
tal vez ustedes hayan pasado por esta experiencia y me puedan ayudar.
nada mas.....

Desconectado Nocturno

  • Administrador
  • DsPIC33
  • *******
  • Mensajes: 18310
    • MicroPIC
RE: pregunta sobre el MPLAB...
« Respuesta #1 en: 28 de Abril de 2004, 02:53:00 »
Pon aquí el programa para que le echemos un vistazo.

Desconectado escorpion151177

  • PIC12
  • **
  • Mensajes: 61
RE: pregunta sobre el MPLAB...
« Respuesta #2 en: 28 de Abril de 2004, 06:54:00 »
mira, no creo qeu sea el programa, llegue a hacer algo tan sencillo como esto;

                  titulo "pic16f870"
                  list=   p16f870, R=Hex
                  #include <p16f870.inc>

              ORG  0
              goto inicio

              ORG  5

inicio    movlw  0x1f
            movwf  PORTA
            movlw  0x20
            movwf  PORTB
            movlw  0x21
            movwf  PORTC
            end


OBVIAMENTE HABIA ARRANCADO CON EL PROGRAMA QUE REALMENTE QUIERO PERO EL VER QUE NO HABIAN CAMBIOS EN LOS REGISTROS PORTX LO FUI REDUCIENDO Y LLEGUE A ESTO. CON LO QUE TAMPOCO PUEDO VER ESOS DATOS CARGADOS EN LOS PUERTOS.
TENGO UN PAR DE PROGRAMAS DANDO VUELTA EN LOS QEU SI SE VE TODO, ESO TAMBIEN ES RARO.
TAL VEZ HAYA ALGO CLAVE EN EL MPLAB QUE NO LO ESTOY TENIENDO  EN CUENTA.
BUENO NADA MAS POR AHORA....

Desconectado elreypic

  • PIC12
  • **
  • Mensajes: 79
RE: pregunta sobre el MPLAB...
« Respuesta #3 en: 28 de Abril de 2004, 11:15:00 »
Que tal escorpion.

Pues efectivamente, tu código tiene errores de lógica.

Pero no te apures eso le pasa a cualquiera que comienza con esto de los PICs.

Cuando uss un microcontrolador de PIC, sus puertos por default estan como entradas y si quieres modificar su estado a salida, se tienen que configurar los puertos como salidas. Y esto se logra modificando los registros TRISX.

Debes agregar a tu código lo siguiente:

INICIO     BSF STATUS,RP0
                CLRF TRISA
                CLRF TRISB
                CLRF TRISC
                BCF STATUS,RP0

Con las setencias anteriores le dices al micro que configure todos y cada uno de los pines de cada puerto como salida. Es decir si al pin lo quieres de salida se le coloca un cero al bit correspondiente a su registro TRIS y si lo quieres de entrada se le coloca un "1" al bit correspondiente a su registro TRIS.

Desconectado Nocturno

  • Administrador
  • DsPIC33
  • *******
  • Mensajes: 18310
    • MicroPIC
RE: pregunta sobre el MPLAB...
« Respuesta #4 en: 28 de Abril de 2004, 14:57:00 »
Efectivamente, primero has de configurar los puertos con los registros TRISx

Desconectado escorpion151177

  • PIC12
  • **
  • Mensajes: 61
RE: pregunta sobre el MPLAB...
« Respuesta #5 en: 29 de Abril de 2004, 18:37:00 »
EFECTIVAMENTE USTEDES TENIAN RAZON CON RESPECTO A LO DE CONFIGURAR LOS PUERTOS ANTES DE UTILIZARLOS COMO SALIDA.

PERO APARECIO OTRA COSITA, A PESAR DE HABER HECHO ESO, LOS DEMAS PUERTOS DABAN RESPUESTA EXCEPTO EL PUERTO A. DESPUES DE BUSCAR EN LAS HOJAS DE DATOS DEL PIC, ENCONTRE QUE HAY QUE CONFIGURAR TAMBIEN EL REGISTRO ADCON1

                      MOVLW   0x06      
         MOVWF   ADCON1


PARECE QUE PONIENDO LOS BITS 1 Y 2 DEL REGISTRO PROVOCA QUE EL PUERTO A SE COMPORTE COMO DIGITAL...... Y SI SE PONE 0X00 LO HACE DE FORMA ANALOGICA...

AHORA LA PREGUNTA MIA ES.. USTEDES SABEN A QUE SE REFIERE CON ESO?? EN QUE CASO SE USA UNA U OTRA?




Desconectado Fer_TACA

  • Moderadores
  • DsPIC33
  • *****
  • Mensajes: 4154
RE: pregunta sobre el MPLAB...
« Respuesta #6 en: 30 de Abril de 2004, 00:27:00 »
Hopla escorpion
Mira el  ADcon1 se configura con 0x06 cuando los pines del puerto A se necesitan utilizar como entradas y salidas analogicas. La otra opcion es cuando quieres utilizar los pines del puerto A como entrada (s) analogicas.
Para programarlo correctamente debes ver como se hace consultando el data sheet del Micro, pues depende del numero de entadas analogicas y ademas tambien puedes utilizar unas como analogica y otras como digitales.
fermin
Todos los días se aprende algo nuevo.

Desconectado pocher

  • Moderador Local
  • DsPIC30
  • *****
  • Mensajes: 2569
RE: pregunta sobre el MPLAB...
« Respuesta #7 en: 30 de Abril de 2004, 00:44:00 »
Solo es necesario hacer lo del ADCON1 en ensamblador en el caso de tener un PIC con entradas analógicas ... para el 16F84 por ejemplo no sería necesario.

Je, je ... en C sea cual sea el micro no es necesario decir nada.

Un saludo


 

anything