Autor Tema: Encender un led por el puerto RA0 de un pic 16F84A  (Leído 16050 veces)

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

Desconectado eliotronic

  • PIC10
  • *
  • Mensajes: 12
Encender un led por el puerto RA0 de un pic 16F84A
« en: 22 de Junio de 2009, 00:57:59 »
Hola amantes de los pic.
Soy nuevo en el foro y espero aprender a hacer proyectos grosos con pic, ¡¡¡¡algun dia¡¡¡¡ aja jaaj.
Mi problema es que no puedo hacer encender un led por el puerto RA0 de un microcontrolador 16F84A, al programa lo hice en assembler en MPLAB v8.3 y lo simulé con el ISIS Proteus V7.4 SP3, y no pasa nada. (El programa .HEX si lo cargué en el pic antes de simularlo).
De ser posible necesitaria que me corrijan los archivos que adjunto aqui, la verdad no se que es lo que hice mal. Disculpen mi ignorancia.
Gracias
« Última modificación: 22 de Junio de 2009, 01:20:29 por eliotronic »

Desconectado BLACKPIC

  • Colaborador
  • PIC16
  • *****
  • Mensajes: 129
Re: Encender un led por el puerto RA0 de un pic 16F84A
« Respuesta #1 en: 22 de Junio de 2009, 01:15:20 »
amigo bienbenido a esta comunidad de pic-maniacos y te voy a dejar un linc que pertenece al mismo foro para que le des una miradita...
http://www.todopic.com.ar/foros/index.php?topic=24720.0
aqui en contraras vastante inf para soluccionar tu error y descuida que estamos para ayudar....
Saludo desde Rep.Dom ( BLACKPIC )..
La ciencia es el arte del ensayo y el error, su producto más importante es la razón...

Desconectado eliotronic

  • PIC10
  • *
  • Mensajes: 12
Re: Encender un led por el puerto RA0 de un pic 16F84A
« Respuesta #2 en: 22 de Junio de 2009, 01:23:36 »
Agradezco bastante tu ayuda, y voy a entrar al link que me diste para ver si me saco la duda.
Gracias  :lol:

Desconectado jhozate

  • Colaborador
  • PIC24H
  • *****
  • Mensajes: 1698
Re: Encender un led por el puerto RA0 de un pic 16F84A
« Respuesta #3 en: 22 de Junio de 2009, 01:28:05 »
bueno no simule tu programa, pero como yo siempre empezaria  la cabezera de programa es

LIST    P=16F84A
#INCLUDE "P16F84A.INC"

cuando escribes esto no es necesario declarar los registros como el puerto, el trisx, el status
los puertos quedan como entrada digital cuando le cargas "1" y salida cuando le cargas "0", en tu programa el unico bit de salida es el RA4 y tu quieres encender un led por RA0. Asi que como esta tu programa estarias sacando un "1" por un pin configurado como entrada
hasta donde tengo entendido los programa nunca deben llegar al END.

seria algo asi el programa
Código: ASM
  1. BSF STATUS,5             ;BANCO1
  2.                      CLRF TRISA                 ;PUERTOA COMO SALIDA
  3.                      BCF STATUS,5             ;BANCO0
  4.                      CLRF PORTA                ;LIMPIO EL PORTA
  5.     PRENDE     BSF PORTA,0                ;PRENDO LED
  6.                      GOTO PRENDE             ;CICLO INFINITO
  7.  
  8.                      END
Ser Colombiano es un Premio, Saludos desde CALI-COLOMBIA

Desconectado eliotronic

  • PIC10
  • *
  • Mensajes: 12
Re: Encender un led por el puerto RA0 de un pic 16F84A
« Respuesta #4 en: 22 de Junio de 2009, 15:13:29 »
Ok gracias jhozate, lo estaré probando asi como tu dices y te cuento.
Gracias por responder y tomarte el trabajo de revisarlo.

Desconectado eliotronic

  • PIC10
  • *
  • Mensajes: 12
Re: Encender un led por el puerto RA0 de un pic 16F84A
« Respuesta #5 en: 22 de Junio de 2009, 21:55:34 »
Haber si entendi como tiene que quedar mi programa.

Asi me quedó el programa.

------------------------------------------------------

;*****ENCABEZADO*****

list p=16f84a
#INCLUDE "P16F84A.INC"

;*****CONFIGURACION DE PUERTOS*****

ORG 0X00;
Bsf STATUS,5; BANCO 1
Clrf TRISA; PUERTO A COMO SALIDA
Bcf STATUS,5; BANCO 0
Clrf PORTA; LIMPIO PORT A

;*****ENCIENDE LED*****

PRENDE Bsf PORTA,0;
GOTO PRENDE; CICLO INFINITO
end;

-------------------------------------------------------

Lo cargué en el pic en proteus y no pasa nada, no se que es lo que estoy haciendo mal.

Aca te lo adjunto para que lo revises. Te agradecere tu ayuda.

Desconectado jhozate

  • Colaborador
  • PIC24H
  • *****
  • Mensajes: 1698
Re: Encender un led por el puerto RA0 de un pic 16F84A
« Respuesta #6 en: 22 de Junio de 2009, 22:33:22 »
a mi si me funciona.
como configuras mplab? tenes q asegurarte de que tenes seleccionado el pic16f84a, eso lo haces en configure/select devices
si trabajas con cristal de 4mhz, en el menu configure/configuration bit desmarca una casilla q dice "configuration bits set in code" y en donde dice oscilator escoges XT y en watchdog timer lo pones en off.
tambien en el menu debugger/settings en la pestaña "osc/trace" escribes 4 y eliges Mhz..con eso deberia funcionar.
Ser Colombiano es un Premio, Saludos desde CALI-COLOMBIA

Desconectado eliotronic

  • PIC10
  • *
  • Mensajes: 12
Re: Encender un led por el puerto RA0 de un pic 16F84A
« Respuesta #7 en: 22 de Junio de 2009, 23:15:12 »
HOLA
Ya Configure, como me indicaste. Como me doy cuenta que esta bien en la simulacion.
Talvez tendre mal configurado el Proteus por que no lo se usar bien.
Te paso un comprimido con el archivo en proteus para que los simules. Quiero ver si te da bien a vos.
Gracias

Desconectado jhozate

  • Colaborador
  • PIC24H
  • *****
  • Mensajes: 1698
Re: Encender un led por el puerto RA0 de un pic 16F84A
« Respuesta #8 en: 23 de Junio de 2009, 00:18:08 »
psss si debe pasar algo extraño con tu compilacion porque yo copié y pegué el asm, compile, armé en proteus y funciona.

la verdad no se me ocurre q puede estar pasando, otra cosa la resistencia para los led suelen ser de 220 a 330ohm, para simular en proteus no es necesario ponerle el cristal y los condensadores solo es necesario especificarle al pic la frecuencia de trabajo en la misma ventanan donde le cargas el .hex

ahi te adjunto mi compilacion..pruebalo y me cuentas
Ser Colombiano es un Premio, Saludos desde CALI-COLOMBIA

Desconectado eliotronic

  • PIC10
  • *
  • Mensajes: 12
Re: Encender un led por el puerto RA0 de un pic 16F84A
« Respuesta #9 en: 23 de Junio de 2009, 14:23:19 »
Hola jhozate
Ya "resolví" el problema de la simulacion.
Te cuento: "Lo que estaba mal era el *.HEX, yo lo exportaba desde maplab, pero tenia que ejecutar en projet/build o algo asi para obtener el *.HEX".
Gracias por todo, fuiste de gran ayuda. Te estare agradecido siempre. :lol: :)



No es que lo descubri yo he. Entré al subforo de ISIS y el colaborador "suky" me dio una mano.

Desconectado jhozate

  • Colaborador
  • PIC24H
  • *****
  • Mensajes: 1698
Re: Encender un led por el puerto RA0 de un pic 16F84A
« Respuesta #10 en: 23 de Junio de 2009, 14:32:53 »
ya, q bueno... :-/ ...seria bueno q te leyeras el post "ASM desde cero" esta en el Almacen del assembler..y el del link que te paso BLACKPIC...son muy buenos post para empezar en este cuento.


saludos
Ser Colombiano es un Premio, Saludos desde CALI-COLOMBIA