contador con pic16f84

Hola: soy nuevo en la programacion de pics por lo que estoy buscando circuitos que contengan al pic16f84. En esta ocasion necesito el circuito y el programa de un contador de 0 a 999 con tres displays, ( que incluya un reset ) la entrada es con un sensor que entrega pulsos positivos.
Si alguien puede ayudarme se lo agradesco.
 
En esta ocasion necesito el circuito y el programa de un contador de 0 a 999 con tres displays

Otro!! que quiere que le hagan todo (te lo armamos tambien), yo cuando soy nuevo en algo (como muchos) estudio el problema empieso a trabajar en el y solo voy consultando sobre problemas que van apareciendo y no que me hagan el trabajo desde cero. :x

Ser nuevo en algo significa estudio,trabajo,pruebas y no haganme por pavor el trabajo.
 
Antes que nada un Saludo

Aprovecho este tema del pic16f84 para evitar crear otro.

El motivo es que comienzo a penas a utilizar este pic, en realidad es un pic16f84a. Estoy comenzando con un programa sencillo, es el siguiente:

Código:
LIST		P=16F84A
RADIX		HEX


;*******************************		DEFINICIÓN DE VARIABLES

W			EQU			0
F			EQU			1
PUERTOA		EQU			0X05
PUERTOB		EQU			0X06

;*******************************		MAIN

ORG			0
GOTO		INICIO

ORG			5
INICIO
BSF			ESTADO,5
CLRF		PUERTOB
MOVLW		0XFF
MOVWF		PUERTOA
BCF			ESTADO,5


BUCLE
MOVF		PUERTOA,W
COMF		PUERTOA,W
MOVWF		PUERTOB
GOTO		BUCLE

END

Ya escrito, lo guardo como .asm y ahora trato de pasarlo a .Hex, e ahi el problema, en el mpasm elijo las opciones como en la siguiente imágen:

Dibujoa.jpg


Pero al darle en Assemble me aparece este cuadro y no cra ningún .hex

Dibujoe.jpg


Dudo que el código este mal escrito, a que se deben esos errores que me aparecen?????

Saludos y de antemano muchas gracias por su atención

EDIT************************
Esto es lo que me aparece en el archivo de error pero no le encuentro sentido

Warning[205] D:\DOCUMENTOS\PIC\INTERRUPLEDS.ASM 1 : Found directive in column 1. (LIST)
Warning[205] D:\DOCUMENTOS\PIC\INTERRUPLEDS.ASM 2 : Found directive in column 1. (RADIX)
Warning[205] D:\DOCUMENTOS\PIC\INTERRUPLEDS.ASM 14 : Found directive in column 1. (ORG)
Warning[203] D:\DOCUMENTOS\PIC\INTERRUPLEDS.ASM 15 : Found opcode in column 1. (GOTO)
Warning[205] D:\DOCUMENTOS\PIC\INTERRUPLEDS.ASM 17 : Found directive in column 1. (ORG)
Warning[203] D:\DOCUMENTOS\PIC\INTERRUPLEDS.ASM 19 : Found opcode in column 1. (BSF)
Error[113] D:\DOCUMENTOS\PIC\INTERRUPLEDS.ASM 19 : Symbol not previously defined (ESTADO)
Warning[203] D:\DOCUMENTOS\PIC\INTERRUPLEDS.ASM 20 : Found opcode in column 1. (CLRF)
Warning[203] D:\DOCUMENTOS\PIC\INTERRUPLEDS.ASM 21 : Found opcode in column 1. (MOVLW)
Warning[203] D:\DOCUMENTOS\PIC\INTERRUPLEDS.ASM 22 : Found opcode in column 1. (MOVWF)
Warning[203] D:\DOCUMENTOS\PIC\INTERRUPLEDS.ASM 23 : Found opcode in column 1. (BCF)
Error[113] D:\DOCUMENTOS\PIC\INTERRUPLEDS.ASM 23 : Symbol not previously defined (ESTADO)
Warning[203] D:\DOCUMENTOS\PIC\INTERRUPLEDS.ASM 27 : Found opcode in column 1. (MOVF)
Warning[203] D:\DOCUMENTOS\PIC\INTERRUPLEDS.ASM 28 : Found opcode in column 1. (COMF)
Warning[203] D:\DOCUMENTOS\PIC\INTERRUPLEDS.ASM 29 : Found opcode in column 1. (MOVWF)
Warning[203] D:\DOCUMENTOS\PIC\INTERRUPLEDS.ASM 30 : Found opcode in column 1. (GOTO)
Warning[205] D:\DOCUMENTOS\PIC\INTERRUPLEDS.ASM 32 : Found directive in column 1. (END)
 
Hola EinSoldiatGott, tu problema se debe a que no has declarado correctamente la cabecera, hazlo de esta forma:

Código:
list      p=16F84A            
#include <p16F84A.inc>

...
 
Muchas Gracias pror la respuesta Compañero Li-ion, pero no me funcionó :(

Mi asm quedó así:

Código:
LIST		P=16F84A
#include	<p16f84A.inc>
RADIX		HEX

							;DEFINICIÓN DE VARIABLES
W		         EQU			0
F		         EQU			1
PUERTOA		EQU			0X05
PUERTOB		EQU			0X06
							;MAIN

ORG		         0
GOTO		         INICIO

ORG		         5

INICIO
BSF		        ESTADO,5
CLRF		        PUERTOB
MOVLW	        0XFF
MOVWF	        PUERTOA
BCF		        ESTADO,5


BUCLE
MOVF		       PUERTOA,W
COMF		       PUERTOA,W
MOVWF	       PUERTOB
GOTO	                BUCLE

END


Y el registro de errores es el siguiente:

La adjunté

Sospecho que es configuración de software, creo que estoy omitiendo algún paso o no???

Saludos y muchas gracias
 

Adjuntos

  • interrupleds_201.txt
    6.3 KB · Visitas: 92
Siiiiiiiiiiiiii, JAJA, mucísimas gracias Mr. Li-ion, pero sospecho que se le escapó un detallilo de la dirección que debería ser 0x03.

Le estoy muy agradecido y cualquier cosa en la que humildemente pueda ayudarle me pongo a sus servicios.

Saludos desde México
 
Bueno pues ahora tengo otro problema relacionado con pics, resulta que me puse a aramar el programador JDM, segú yo esta todo bien armado, tuve que reemplazar los BC237 por BC319 pero no creo que sea el problema.

No comprendo el diagrama al 100%, pero entiendo que se estan utilizando los transistores como simples interruptores, así que dudo que la Beta sea algo importante. Las patillas las coloqué bien, no vi el datasheet del transistor por que se me hace más seguro probarlos en el multímetro.

Bueno la cosa es que abro el icprog y le doy que borre el PIC y no hay problema, que lo Lea y lo hace aunque el PIC esta en blanco es nuevo, pero me muestra puros 0000 y no aparecen errores, pero a la hora de decirle que lo programe, me bota un error de la dirección 0000h.

Con el multímetro verifiqué las tensiones y mientras no esta grabando de la MCLR a Vss hay 400mV y al darle cualquier instrcciones de leer programar o borrar la tensión cambia a 13.2v máximo, nunca alcanza los 14v. Es esto el motivo del error??? Y de ser así como puedo aumentar el voltaje???

Saludos y gracias de antemano
 

Adjuntos

  • erros_direcci_n_000h_859.jpg
    erros_direcci_n_000h_859.jpg
    122.5 KB · Visitas: 1,099
  • esquema01_small_724.gif
    esquema01_small_724.gif
    8 KB · Visitas: 3,481
Li-ion dijo:
Hola EinSoldiatGott, de casualidad ya te leiste este tema:

https://www.forosdeelectronica.com/about281.htm

No compañero ese no lo había visto, habia leido otros pero este es diferente, por ejemplo en lo otros decía que activara PWRT, en comunicacion nada, y hay diferencias lo voy a probar ahora y espero que por fin funcione :)

Saludos y muchas gracias pro la respuesta y por el tutorial que se tomo la molestia de hacer.

**************
EDIT

Pues ya le hice todo lo que usted sugiere.
Baje la Velocidad del Puerto
Invertí Vcc
Desactivé PWRT
Intenté on oscilador Xt y RC

Dudo que sea el cableel problema mide alrrededor de metro y medio y no creo que sea eso ya que con el voltímetro comprobe que si hay las tensiones necesarias.

Creo que lo mejor será comprar todo el mterial y rearmarlo :( es que ya lo chequé y puedo asegurar que todo esta perfecto.

Saludos y gracias
 
Atrás
Arriba